1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/managed-by-kcc: "true"
23 cnrm.cloud.google.com/stability-level: stable
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: storagebuckets.storage.cnrm.cloud.google.com
27spec:
28 group: storage.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: StorageBucket
33 plural: storagebuckets
34 shortNames:
35 - gcpstoragebucket
36 - gcpstoragebuckets
37 singular: storagebucket
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1beta1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 autoclass:
75 description: Immutable. The bucket's autoclass configuration.
76 properties:
77 enabled:
78 description: Immutable. While set to true, autoclass automatically
79 transitions objects in your bucket to appropriate storage classes
80 based on each object's access pattern.
81 type: boolean
82 required:
83 - enabled
84 type: object
85 bucketPolicyOnly:
86 description: |-
87 DEPRECATED. Please use the `uniformBucketLevelAccess` field as this field has been renamed by Google. The `uniformBucketLevelAccess` field will supersede this field.
88 Enables Bucket PolicyOnly access to a bucket.
89 type: boolean
90 cors:
91 description: The bucket's Cross-Origin Resource Sharing (CORS) configuration.
92 items:
93 properties:
94 maxAgeSeconds:
95 description: The value, in seconds, to return in the Access-Control-Max-Age
96 header used in preflight responses.
97 type: integer
98 method:
99 description: 'The list of HTTP methods on which to include CORS
100 response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted
101 in the list of methods, and means "any method".'
102 items:
103 type: string
104 type: array
105 origin:
106 description: 'The list of Origins eligible to receive CORS response
107 headers. Note: "*" is permitted in the list of origins, and
108 means "any Origin".'
109 items:
110 type: string
111 type: array
112 responseHeader:
113 description: The list of HTTP headers other than the simple
114 response headers to give permission for the user-agent to
115 share across domains.
116 items:
117 type: string
118 type: array
119 type: object
120 type: array
121 customPlacementConfig:
122 description: The bucket's custom location configuration, which specifies
123 the individual regions that comprise a dual-region bucket. If the
124 bucket is designated a single or multi-region, the parameters are
125 empty.
126 properties:
127 dataLocations:
128 description: 'Immutable. The list of individual regions that comprise
129 a dual-region bucket. See the docs for a list of acceptable
130 regions. Note: If any of the data_locations changes, it will
131 recreate the bucket.'
132 items:
133 type: string
134 type: array
135 required:
136 - dataLocations
137 type: object
138 defaultEventBasedHold:
139 description: Whether or not to automatically apply an eventBasedHold
140 to new objects added to the bucket.
141 type: boolean
142 encryption:
143 description: The bucket's encryption configuration.
144 properties:
145 kmsKeyRef:
146 oneOf:
147 - not:
148 required:
149 - external
150 required:
151 - name
152 - not:
153 anyOf:
154 - required:
155 - name
156 - required:
157 - namespace
158 required:
159 - external
160 properties:
161 external:
162 description: 'Allowed value: The `selfLink` field of a `KMSCryptoKey`
163 resource.'
164 type: string
165 name:
166 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
167 type: string
168 namespace:
169 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
170 type: string
171 type: object
172 required:
173 - kmsKeyRef
174 type: object
175 lifecycleRule:
176 description: The bucket's Lifecycle Rules configuration.
177 items:
178 properties:
179 action:
180 description: The Lifecycle Rule's action configuration. A single
181 block of this type is supported.
182 properties:
183 storageClass:
184 description: 'The target Storage Class of objects affected
185 by this Lifecycle Rule. Supported values include: MULTI_REGIONAL,
186 REGIONAL, NEARLINE, COLDLINE, ARCHIVE.'
187 type: string
188 type:
189 description: 'The type of the action of this Lifecycle Rule.
190 Supported values include: Delete, SetStorageClass and
191 AbortIncompleteMultipartUpload.'
192 type: string
193 required:
194 - type
195 type: object
196 condition:
197 description: The Lifecycle Rule's condition configuration.
198 properties:
199 age:
200 description: Minimum age of an object in days to satisfy
201 this condition.
202 type: integer
203 createdBefore:
204 description: Creation date of an object in RFC 3339 (e.g.
205 2017-06-13) to satisfy this condition.
206 type: string
207 customTimeBefore:
208 description: Creation date of an object in RFC 3339 (e.g.
209 2017-06-13) to satisfy this condition.
210 type: string
211 daysSinceCustomTime:
212 description: Number of days elapsed since the user-specified
213 timestamp set on an object.
214 type: integer
215 daysSinceNoncurrentTime:
216 description: "Number of days elapsed since the noncurrent
217 timestamp of an object. This\n\t\t\t\t\t\t\t\t\t\tcondition
218 is relevant only for versioned objects."
219 type: integer
220 matchesPrefix:
221 description: One or more matching name prefixes to satisfy
222 this condition.
223 items:
224 type: string
225 type: array
226 matchesStorageClass:
227 description: 'Storage Class of objects to satisfy this condition.
228 Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE,
229 COLDLINE, ARCHIVE, STANDARD, DURABLE_REDUCED_AVAILABILITY.'
230 items:
231 type: string
232 type: array
233 matchesSuffix:
234 description: One or more matching name suffixes to satisfy
235 this condition.
236 items:
237 type: string
238 type: array
239 noncurrentTimeBefore:
240 description: Creation date of an object in RFC 3339 (e.g.
241 2017-06-13) to satisfy this condition.
242 type: string
243 numNewerVersions:
244 description: Relevant only for versioned objects. The number
245 of newer versions of an object to satisfy this condition.
246 type: integer
247 withState:
248 description: 'Match to live and/or archived objects. Unversioned
249 buckets have only live objects. Supported values include:
250 "LIVE", "ARCHIVED", "ANY".'
251 type: string
252 type: object
253 required:
254 - action
255 - condition
256 type: object
257 type: array
258 location:
259 default: US
260 description: Immutable. The Google Cloud Storage location.
261 type: string
262 logging:
263 description: The bucket's Access & Storage Logs configuration.
264 properties:
265 logBucket:
266 description: The bucket that will receive log objects.
267 type: string
268 logObjectPrefix:
269 description: The object prefix for log objects. If it's not provided,
270 by default Google Cloud Storage sets this to this bucket's name.
271 type: string
272 required:
273 - logBucket
274 type: object
275 publicAccessPrevention:
276 description: Prevents public access to a bucket.
277 type: string
278 requesterPays:
279 description: Enables Requester Pays on a storage bucket.
280 type: boolean
281 resourceID:
282 description: Immutable. Optional. The name of the resource. Used for
283 creation and acquisition. When unset, the value of `metadata.name`
284 is used as the default.
285 type: string
286 retentionPolicy:
287 description: Configuration of the bucket's data retention policy for
288 how long objects in the bucket should be retained.
289 properties:
290 isLocked:
291 description: 'If set to true, the bucket will be locked and permanently
292 restrict edits to the bucket''s retention policy. Caution:
293 Locking a bucket is an irreversible action.'
294 type: boolean
295 retentionPeriod:
296 description: The period of time, in seconds, that objects in the
297 bucket must be retained and cannot be deleted, overwritten,
298 or archived. The value must be less than 3,155,760,000 seconds.
299 type: integer
300 required:
301 - retentionPeriod
302 type: object
303 storageClass:
304 description: 'The Storage Class of the new bucket. Supported values
305 include: STANDARD, MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE,
306 ARCHIVE.'
307 type: string
308 uniformBucketLevelAccess:
309 description: Enables uniform bucket-level access on a bucket.
310 type: boolean
311 versioning:
312 description: The bucket's Versioning configuration.
313 properties:
314 enabled:
315 description: While set to true, versioning is fully enabled for
316 this bucket.
317 type: boolean
318 required:
319 - enabled
320 type: object
321 website:
322 description: Configuration if the bucket acts as a website.
323 properties:
324 mainPageSuffix:
325 description: Behaves as the bucket's directory index where missing
326 objects are treated as potential directories.
327 type: string
328 notFoundPage:
329 description: The custom object to return when a requested resource
330 is not found.
331 type: string
332 type: object
333 type: object
334 status:
335 properties:
336 conditions:
337 description: Conditions represent the latest available observation
338 of the resource's current state.
339 items:
340 properties:
341 lastTransitionTime:
342 description: Last time the condition transitioned from one status
343 to another.
344 type: string
345 message:
346 description: Human-readable message indicating details about
347 last transition.
348 type: string
349 reason:
350 description: Unique, one-word, CamelCase reason for the condition's
351 last transition.
352 type: string
353 status:
354 description: Status is the status of the condition. Can be True,
355 False, Unknown.
356 type: string
357 type:
358 description: Type is the type of the condition.
359 type: string
360 type: object
361 type: array
362 observedGeneration:
363 description: ObservedGeneration is the generation of the resource
364 that was most recently observed by the Config Connector controller.
365 If this is equal to metadata.generation, then that means that the
366 current reported status reflects the most recent desired state of
367 the resource.
368 type: integer
369 selfLink:
370 description: The URI of the created resource.
371 type: string
372 url:
373 description: The base URL of the bucket, in the format gs://<bucket-name>.
374 type: string
375 type: object
376 type: object
377 served: true
378 storage: true
379 subresources:
380 status: {}
381status:
382 acceptedNames:
383 kind: ""
384 plural: ""
385 conditions: []
386 storedVersions: []
View as plain text