-
Notifications
You must be signed in to change notification settings - Fork 64
/
zz_backendbucket_types.go
executable file
·252 lines (196 loc) · 11.1 KB
/
zz_backendbucket_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
/*
Copyright 2021 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type BackendBucketObservation struct {
// Creation timestamp in RFC3339 text format.
CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`
// an identifier for the resource with format projects/{{project}}/global/backendBuckets/{{name}}
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The URI of the created resource.
SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`
}
type BackendBucketParameters struct {
// Cloud Storage bucket name.
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket
// +kubebuilder:validation:Optional
BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"`
// Reference to a Bucket in storage to populate bucketName.
// +kubebuilder:validation:Optional
BucketNameRef *v1.Reference `json:"bucketNameRef,omitempty" tf:"-"`
// Selector for a Bucket in storage to populate bucketName.
// +kubebuilder:validation:Optional
BucketNameSelector *v1.Selector `json:"bucketNameSelector,omitempty" tf:"-"`
// Cloud CDN configuration for this Backend Bucket.
// Structure is documented below.
// +kubebuilder:validation:Optional
CdnPolicy []CdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`
// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
// Possible values are AUTOMATIC and DISABLED.
// +kubebuilder:validation:Optional
CompressionMode *string `json:"compressionMode,omitempty" tf:"compression_mode,omitempty"`
// Headers that the HTTP/S load balancer should add to proxied responses.
// +kubebuilder:validation:Optional
CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"`
// An optional textual description of the resource; provided by the
// client when the resource is created.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// The security policy associated with this backend bucket.
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.SecurityPolicy
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"`
// Reference to a SecurityPolicy in compute to populate edgeSecurityPolicy.
// +kubebuilder:validation:Optional
EdgeSecurityPolicyRef *v1.Reference `json:"edgeSecurityPolicyRef,omitempty" tf:"-"`
// Selector for a SecurityPolicy in compute to populate edgeSecurityPolicy.
// +kubebuilder:validation:Optional
EdgeSecurityPolicySelector *v1.Selector `json:"edgeSecurityPolicySelector,omitempty" tf:"-"`
// If true, enable Cloud CDN for this BackendBucket.
// +kubebuilder:validation:Optional
EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`
// The ID of the project in which the resource belongs.
// If it is not provided, the provider project is used.
// +kubebuilder:validation:Optional
Project *string `json:"project,omitempty" tf:"project,omitempty"`
}
type BypassCacheOnRequestHeadersObservation struct {
}
type BypassCacheOnRequestHeadersParameters struct {
// The header field name to match on when bypassing cache. Values are case-insensitive.
// +kubebuilder:validation:Optional
HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`
}
type CacheKeyPolicyObservation struct {
}
type CacheKeyPolicyParameters struct {
// Allows HTTP request headers (by name) to be used in the
// cache key.
// +kubebuilder:validation:Optional
IncludeHTTPHeaders []*string `json:"includeHttpHeaders,omitempty" tf:"include_http_headers,omitempty"`
// Names of query string parameters to include in cache keys.
// Default parameters are always included. '&' and '=' will
// be percent encoded and not treated as delimiters.
// +kubebuilder:validation:Optional
QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}
type CdnPolicyObservation struct {
}
type CdnPolicyParameters struct {
// Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.
// Structure is documented below.
// +kubebuilder:validation:Optional
BypassCacheOnRequestHeaders []BypassCacheOnRequestHeadersParameters `json:"bypassCacheOnRequestHeaders,omitempty" tf:"bypass_cache_on_request_headers,omitempty"`
// The CacheKeyPolicy for this CdnPolicy.
// Structure is documented below.
// +kubebuilder:validation:Optional
CacheKeyPolicy []CacheKeyPolicyParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`
// Specifies the cache setting for all responses from this backend.
// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
// Possible values are USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, and CACHE_ALL_STATIC.
// +kubebuilder:validation:Optional
CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`
// Specifies the maximum allowed TTL for cached content served by this origin.
// +kubebuilder:validation:Optional
ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`
// Specifies the default TTL for cached content served by this origin for responses
// that do not have an existing valid TTL (max-age or s-max-age).
// +kubebuilder:validation:Optional
DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`
// Specifies the maximum allowed TTL for cached content served by this origin.
// +kubebuilder:validation:Optional
MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`
// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
// +kubebuilder:validation:Optional
NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`
// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
// Structure is documented below.
// +kubebuilder:validation:Optional
NegativeCachingPolicy []NegativeCachingPolicyParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`
// If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.
// +kubebuilder:validation:Optional
RequestCoalescing *bool `json:"requestCoalescing,omitempty" tf:"request_coalescing,omitempty"`
// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
// +kubebuilder:validation:Optional
ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`
// Maximum number of seconds the response to a signed URL request will
// be considered fresh. After this time period,
// the response will be revalidated before being served.
// When serving responses to signed URL requests,
// Cloud CDN will internally behave as though
// all responses from this backend had a "Cache-Control: public,
// max-age=[TTL]" header, regardless of any existing Cache-Control
// header. The actual headers served in responses will not be altered.
// +kubebuilder:validation:Optional
SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}
type NegativeCachingPolicyObservation struct {
}
type NegativeCachingPolicyParameters struct {
// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
// can be specified as values, and you cannot specify a status code more than once.
// +kubebuilder:validation:Optional
Code *float64 `json:"code,omitempty" tf:"code,omitempty"`
// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
// +kubebuilder:validation:Optional
TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"`
}
// BackendBucketSpec defines the desired state of BackendBucket
type BackendBucketSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider BackendBucketParameters `json:"forProvider"`
}
// BackendBucketStatus defines the observed state of BackendBucket.
type BackendBucketStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider BackendBucketObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// BackendBucket is the Schema for the BackendBuckets API. Backend buckets allow you to use Google Cloud Storage buckets with HTTP(S) load balancing.
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}
type BackendBucket struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BackendBucketSpec `json:"spec"`
Status BackendBucketStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// BackendBucketList contains a list of BackendBuckets
type BackendBucketList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BackendBucket `json:"items"`
}
// Repository type metadata.
var (
BackendBucket_Kind = "BackendBucket"
BackendBucket_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BackendBucket_Kind}.String()
BackendBucket_KindAPIVersion = BackendBucket_Kind + "." + CRDGroupVersion.String()
BackendBucket_GroupVersionKind = CRDGroupVersion.WithKind(BackendBucket_Kind)
)
func init() {
SchemeBuilder.Register(&BackendBucket{}, &BackendBucketList{})
}