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