...
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: storagetransferjobs.storagetransfer.cnrm.cloud.google.com
27spec:
28 group: storagetransfer.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: StorageTransferJob
33 plural: storagetransferjobs
34 shortNames:
35 - gcpstoragetransferjob
36 - gcpstoragetransferjobs
37 singular: storagetransferjob
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 description:
75 description: Unique description to identify the Transfer Job.
76 type: string
77 notificationConfig:
78 description: Notification configuration.
79 properties:
80 eventTypes:
81 description: Event types for which a notification is desired.
82 If empty, send notifications for all event types. The valid
83 types are "TRANSFER_OPERATION_SUCCESS", "TRANSFER_OPERATION_FAILED",
84 "TRANSFER_OPERATION_ABORTED".
85 items:
86 type: string
87 type: array
88 payloadFormat:
89 description: The desired format of the notification message payloads.
90 One of "NONE" or "JSON".
91 type: string
92 topicRef:
93 description: The PubSubTopic to which to publish notifications.
94 oneOf:
95 - not:
96 required:
97 - external
98 required:
99 - name
100 - not:
101 anyOf:
102 - required:
103 - name
104 - required:
105 - namespace
106 required:
107 - external
108 properties:
109 external:
110 description: 'Allowed value: string of the format `projects/{{project}}/topics/{{value}}`,
111 where {{value}} is the `name` field of a `PubSubTopic` resource.'
112 type: string
113 name:
114 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
115 type: string
116 namespace:
117 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
118 type: string
119 type: object
120 required:
121 - payloadFormat
122 - topicRef
123 type: object
124 resourceID:
125 description: Immutable. Optional. The service-generated name of the
126 resource. Used for acquisition only. Leave unset to create a new
127 resource.
128 type: string
129 schedule:
130 description: Schedule specification defining when the Transfer Job
131 should be scheduled to start, end and what time to run.
132 properties:
133 repeatInterval:
134 description: 'Interval between the start of each scheduled transfer.
135 If unspecified, the default value is 24 hours. This value may
136 not be less than 1 hour. A duration in seconds with up to nine
137 fractional digits, terminated by ''s''. Example: "3.5s".'
138 type: string
139 scheduleEndDate:
140 description: The last day the recurring transfer will be run.
141 If schedule_end_date is the same as schedule_start_date, the
142 transfer will be executed only once.
143 properties:
144 day:
145 description: Day of month. Must be from 1 to 31 and valid
146 for the year and month.
147 type: integer
148 month:
149 description: Month of year. Must be from 1 to 12.
150 type: integer
151 year:
152 description: Year of date. Must be from 1 to 9999.
153 type: integer
154 required:
155 - day
156 - month
157 - year
158 type: object
159 scheduleStartDate:
160 description: The first day the recurring transfer is scheduled
161 to run. If schedule_start_date is in the past, the transfer
162 will run for the first time on the following day.
163 properties:
164 day:
165 description: Day of month. Must be from 1 to 31 and valid
166 for the year and month.
167 type: integer
168 month:
169 description: Month of year. Must be from 1 to 12.
170 type: integer
171 year:
172 description: Year of date. Must be from 1 to 9999.
173 type: integer
174 required:
175 - day
176 - month
177 - year
178 type: object
179 startTimeOfDay:
180 description: The time in UTC at which the transfer will be scheduled
181 to start in a day. Transfers may start later than this time.
182 If not specified, recurring and one-time transfers that are
183 scheduled to run today will run immediately; recurring transfers
184 that are scheduled to run on a future date will start at approximately
185 midnight UTC on that date. Note that when configuring a transfer
186 with the Cloud Platform Console, the transfer's start time in
187 a day is specified in your local timezone.
188 properties:
189 hours:
190 description: Hours of day in 24 hour format. Should be from
191 0 to 23.
192 type: integer
193 minutes:
194 description: Minutes of hour of day. Must be from 0 to 59.
195 type: integer
196 nanos:
197 description: Fractions of seconds in nanoseconds. Must be
198 from 0 to 999,999,999.
199 type: integer
200 seconds:
201 description: Seconds of minutes of the time. Must normally
202 be from 0 to 59.
203 type: integer
204 required:
205 - hours
206 - minutes
207 - nanos
208 - seconds
209 type: object
210 required:
211 - scheduleStartDate
212 type: object
213 status:
214 description: 'Status of the job. Default: ENABLED. NOTE: The effect
215 of the new job status takes place during a subsequent job run. For
216 example, if you change the job status from ENABLED to DISABLED,
217 and an operation spawned by the transfer is running, the status
218 change would not affect the current operation.'
219 type: string
220 transferSpec:
221 description: Transfer specification.
222 properties:
223 awsS3DataSource:
224 description: An AWS S3 data source.
225 properties:
226 awsAccessKey:
227 description: AWS credentials block.
228 properties:
229 accessKeyId:
230 description: AWS Key ID.
231 oneOf:
232 - not:
233 required:
234 - valueFrom
235 required:
236 - value
237 - not:
238 required:
239 - value
240 required:
241 - valueFrom
242 properties:
243 value:
244 description: Value of the field. Cannot be used if
245 'valueFrom' is specified.
246 type: string
247 valueFrom:
248 description: Source for the field's value. Cannot
249 be used if 'value' is specified.
250 properties:
251 secretKeyRef:
252 description: Reference to a value with the given
253 key in the given Secret in the resource's namespace.
254 properties:
255 key:
256 description: Key that identifies the value
257 to be extracted.
258 type: string
259 name:
260 description: Name of the Secret to extract
261 a value from.
262 type: string
263 required:
264 - name
265 - key
266 type: object
267 type: object
268 type: object
269 secretAccessKey:
270 description: AWS Secret Access Key.
271 oneOf:
272 - not:
273 required:
274 - valueFrom
275 required:
276 - value
277 - not:
278 required:
279 - value
280 required:
281 - valueFrom
282 properties:
283 value:
284 description: Value of the field. Cannot be used if
285 'valueFrom' is specified.
286 type: string
287 valueFrom:
288 description: Source for the field's value. Cannot
289 be used if 'value' is specified.
290 properties:
291 secretKeyRef:
292 description: Reference to a value with the given
293 key in the given Secret in the resource's namespace.
294 properties:
295 key:
296 description: Key that identifies the value
297 to be extracted.
298 type: string
299 name:
300 description: Name of the Secret to extract
301 a value from.
302 type: string
303 required:
304 - name
305 - key
306 type: object
307 type: object
308 type: object
309 required:
310 - accessKeyId
311 - secretAccessKey
312 type: object
313 bucketName:
314 description: S3 Bucket name.
315 type: string
316 path:
317 description: S3 Bucket path in bucket to transfer.
318 type: string
319 roleArn:
320 description: The Amazon Resource Name (ARN) of the role to
321 support temporary credentials via 'AssumeRoleWithWebIdentity'.
322 For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns).
323 When a role ARN is provided, Transfer Service fetches temporary
324 credentials for the session using a 'AssumeRoleWithWebIdentity'
325 call for the provided role using the [GoogleServiceAccount][]
326 for this project.
327 type: string
328 required:
329 - bucketName
330 type: object
331 azureBlobStorageDataSource:
332 description: An Azure Blob Storage data source.
333 properties:
334 azureCredentials:
335 description: ' Credentials used to authenticate API requests
336 to Azure.'
337 properties:
338 sasToken:
339 description: Azure shared access signature.
340 oneOf:
341 - not:
342 required:
343 - valueFrom
344 required:
345 - value
346 - not:
347 required:
348 - value
349 required:
350 - valueFrom
351 properties:
352 value:
353 description: Value of the field. Cannot be used if
354 'valueFrom' is specified.
355 type: string
356 valueFrom:
357 description: Source for the field's value. Cannot
358 be used if 'value' is specified.
359 properties:
360 secretKeyRef:
361 description: Reference to a value with the given
362 key in the given Secret in the resource's namespace.
363 properties:
364 key:
365 description: Key that identifies the value
366 to be extracted.
367 type: string
368 name:
369 description: Name of the Secret to extract
370 a value from.
371 type: string
372 required:
373 - name
374 - key
375 type: object
376 type: object
377 type: object
378 required:
379 - sasToken
380 type: object
381 container:
382 description: The container to transfer from the Azure Storage
383 account.
384 type: string
385 path:
386 description: Root path to transfer objects. Must be an empty
387 string or full path name that ends with a '/'. This field
388 is treated as an object prefix. As such, it should generally
389 not begin with a '/'.
390 type: string
391 storageAccount:
392 description: The name of the Azure Storage account.
393 type: string
394 required:
395 - azureCredentials
396 - container
397 - storageAccount
398 type: object
399 gcsDataSink:
400 description: A Google Cloud Storage data sink.
401 properties:
402 bucketRef:
403 oneOf:
404 - not:
405 required:
406 - external
407 required:
408 - name
409 - not:
410 anyOf:
411 - required:
412 - name
413 - required:
414 - namespace
415 required:
416 - external
417 properties:
418 external:
419 description: 'Allowed value: The `name` field of a `StorageBucket`
420 resource.'
421 type: string
422 name:
423 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
424 type: string
425 namespace:
426 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
427 type: string
428 type: object
429 path:
430 description: Google Cloud Storage path in bucket to transfer.
431 type: string
432 required:
433 - bucketRef
434 type: object
435 gcsDataSource:
436 description: A Google Cloud Storage data source.
437 properties:
438 bucketRef:
439 oneOf:
440 - not:
441 required:
442 - external
443 required:
444 - name
445 - not:
446 anyOf:
447 - required:
448 - name
449 - required:
450 - namespace
451 required:
452 - external
453 properties:
454 external:
455 description: 'Allowed value: The `name` field of a `StorageBucket`
456 resource.'
457 type: string
458 name:
459 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
460 type: string
461 namespace:
462 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
463 type: string
464 type: object
465 path:
466 description: Google Cloud Storage path in bucket to transfer.
467 type: string
468 required:
469 - bucketRef
470 type: object
471 httpDataSource:
472 description: A HTTP URL data source.
473 properties:
474 listUrl:
475 description: The URL that points to the file that stores the
476 object list entries. This file must allow public access.
477 Currently, only URLs with HTTP and HTTPS schemes are supported.
478 type: string
479 required:
480 - listUrl
481 type: object
482 objectConditions:
483 description: Only objects that satisfy these object conditions
484 are included in the set of data source and data sink objects.
485 Object conditions based on objects' last_modification_time do
486 not exclude objects in a data sink.
487 properties:
488 excludePrefixes:
489 description: exclude_prefixes must follow the requirements
490 described for include_prefixes.
491 items:
492 type: string
493 type: array
494 includePrefixes:
495 description: If include_refixes is specified, objects that
496 satisfy the object conditions must have names that start
497 with one of the include_prefixes and that do not start with
498 any of the exclude_prefixes. If include_prefixes is not
499 specified, all objects except those that have names starting
500 with one of the exclude_prefixes must satisfy the object
501 conditions.
502 items:
503 type: string
504 type: array
505 lastModifiedBefore:
506 description: 'If specified, only objects with a "last modification
507 time" before this timestamp and objects that don''t have
508 a "last modification time" are transferred. A timestamp
509 in RFC3339 UTC "Zulu" format, with nanosecond resolution
510 and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z"
511 and "2014-10-02T15:01:23.045123456Z".'
512 type: string
513 lastModifiedSince:
514 description: 'If specified, only objects with a "last modification
515 time" on or after this timestamp and objects that don''t
516 have a "last modification time" are transferred. A timestamp
517 in RFC3339 UTC "Zulu" format, with nanosecond resolution
518 and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z"
519 and "2014-10-02T15:01:23.045123456Z".'
520 type: string
521 maxTimeElapsedSinceLastModification:
522 description: 'A duration in seconds with up to nine fractional
523 digits, terminated by ''s''. Example: "3.5s".'
524 type: string
525 minTimeElapsedSinceLastModification:
526 description: 'A duration in seconds with up to nine fractional
527 digits, terminated by ''s''. Example: "3.5s".'
528 type: string
529 type: object
530 posixDataSink:
531 description: A POSIX filesystem data sink.
532 properties:
533 rootDirectory:
534 description: Root directory path to the filesystem.
535 type: string
536 required:
537 - rootDirectory
538 type: object
539 posixDataSource:
540 description: A POSIX filesystem data source.
541 properties:
542 rootDirectory:
543 description: Root directory path to the filesystem.
544 type: string
545 required:
546 - rootDirectory
547 type: object
548 sinkAgentPoolName:
549 description: Immutable. Specifies the agent pool name associated
550 with the posix data source. When unspecified, the default name
551 is used.
552 type: string
553 sourceAgentPoolName:
554 description: Immutable. Specifies the agent pool name associated
555 with the posix data source. When unspecified, the default name
556 is used.
557 type: string
558 transferOptions:
559 description: Characteristics of how to treat files from datasource
560 and sink during job. If the option delete_objects_unique_in_sink
561 is true, object conditions based on objects' last_modification_time
562 are ignored and do not exclude objects in a data source or a
563 data sink.
564 properties:
565 deleteObjectsFromSourceAfterTransfer:
566 description: Whether objects should be deleted from the source
567 after they are transferred to the sink. Note that this option
568 and delete_objects_unique_in_sink are mutually exclusive.
569 type: boolean
570 deleteObjectsUniqueInSink:
571 description: Whether objects that exist only in the sink should
572 be deleted. Note that this option and delete_objects_from_source_after_transfer
573 are mutually exclusive.
574 type: boolean
575 overwriteObjectsAlreadyExistingInSink:
576 description: Whether overwriting objects that already exist
577 in the sink is allowed.
578 type: boolean
579 overwriteWhen:
580 description: When to overwrite objects that already exist
581 in the sink. If not set, overwrite behavior is determined
582 by overwriteObjectsAlreadyExistingInSink.
583 type: string
584 type: object
585 type: object
586 required:
587 - description
588 - transferSpec
589 type: object
590 status:
591 properties:
592 conditions:
593 description: Conditions represent the latest available observation
594 of the resource's current state.
595 items:
596 properties:
597 lastTransitionTime:
598 description: Last time the condition transitioned from one status
599 to another.
600 type: string
601 message:
602 description: Human-readable message indicating details about
603 last transition.
604 type: string
605 reason:
606 description: Unique, one-word, CamelCase reason for the condition's
607 last transition.
608 type: string
609 status:
610 description: Status is the status of the condition. Can be True,
611 False, Unknown.
612 type: string
613 type:
614 description: Type is the type of the condition.
615 type: string
616 type: object
617 type: array
618 creationTime:
619 description: When the Transfer Job was created.
620 type: string
621 deletionTime:
622 description: When the Transfer Job was deleted.
623 type: string
624 lastModificationTime:
625 description: When the Transfer Job was last modified.
626 type: string
627 name:
628 description: The name of the Transfer Job.
629 type: string
630 observedGeneration:
631 description: ObservedGeneration is the generation of the resource
632 that was most recently observed by the Config Connector controller.
633 If this is equal to metadata.generation, then that means that the
634 current reported status reflects the most recent desired state of
635 the resource.
636 type: integer
637 type: object
638 required:
639 - spec
640 type: object
641 served: true
642 storage: true
643 subresources:
644 status: {}
645status:
646 acceptedNames:
647 kind: ""
648 plural: ""
649 conditions: []
650 storedVersions: []
View as plain text