# Copyright 2020 Google LLC # # 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. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: cnrm.cloud.google.com/version: 1.106.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" cnrm.cloud.google.com/stability-level: stable cnrm.cloud.google.com/system: "true" cnrm.cloud.google.com/tf2crd: "true" name: storagetransferjobs.storagetransfer.cnrm.cloud.google.com spec: group: storagetransfer.cnrm.cloud.google.com names: categories: - gcp kind: StorageTransferJob plural: storagetransferjobs shortNames: - gcpstoragetransferjob - gcpstoragetransferjobs singular: storagetransferjob scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date - description: When 'True', the most recent reconcile of the resource succeeded jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready type: string - description: The reason for the value in 'Ready' jsonPath: .status.conditions[?(@.type=='Ready')].reason name: Status type: string - description: The last transition time for the value in 'Status' jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime name: Status Age type: date name: v1beta1 schema: openAPIV3Schema: properties: apiVersion: description: 'apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string kind: description: 'kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object spec: properties: description: description: Unique description to identify the Transfer Job. type: string notificationConfig: description: Notification configuration. properties: eventTypes: description: Event types for which a notification is desired. If empty, send notifications for all event types. The valid types are "TRANSFER_OPERATION_SUCCESS", "TRANSFER_OPERATION_FAILED", "TRANSFER_OPERATION_ABORTED". items: type: string type: array payloadFormat: description: The desired format of the notification message payloads. One of "NONE" or "JSON". type: string topicRef: description: The PubSubTopic to which to publish notifications. oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: string of the format `projects/{{project}}/topics/{{value}}`, where {{value}} is the `name` field of a `PubSubTopic` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object required: - payloadFormat - topicRef type: object resourceID: description: Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource. type: string schedule: description: Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. properties: repeatInterval: description: 'Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by ''s''. Example: "3.5s".' type: string scheduleEndDate: description: The last day the recurring transfer will be run. If schedule_end_date is the same as schedule_start_date, the transfer will be executed only once. properties: day: description: Day of month. Must be from 1 to 31 and valid for the year and month. type: integer month: description: Month of year. Must be from 1 to 12. type: integer year: description: Year of date. Must be from 1 to 9999. type: integer required: - day - month - year type: object scheduleStartDate: description: The first day the recurring transfer is scheduled to run. If schedule_start_date is in the past, the transfer will run for the first time on the following day. properties: day: description: Day of month. Must be from 1 to 31 and valid for the year and month. type: integer month: description: Month of year. Must be from 1 to 12. type: integer year: description: Year of date. Must be from 1 to 9999. type: integer required: - day - month - year type: object startTimeOfDay: description: The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. properties: hours: description: Hours of day in 24 hour format. Should be from 0 to 23. type: integer minutes: description: Minutes of hour of day. Must be from 0 to 59. type: integer nanos: description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. type: integer seconds: description: Seconds of minutes of the time. Must normally be from 0 to 59. type: integer required: - hours - minutes - nanos - seconds type: object required: - scheduleStartDate type: object status: description: 'Status of the job. Default: ENABLED. NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.' type: string transferSpec: description: Transfer specification. properties: awsS3DataSource: description: An AWS S3 data source. properties: awsAccessKey: description: AWS credentials block. properties: accessKeyId: description: AWS Key ID. oneOf: - not: required: - valueFrom required: - value - not: required: - value required: - valueFrom properties: value: description: Value of the field. Cannot be used if 'valueFrom' is specified. type: string valueFrom: description: Source for the field's value. Cannot be used if 'value' is specified. properties: secretKeyRef: description: Reference to a value with the given key in the given Secret in the resource's namespace. properties: key: description: Key that identifies the value to be extracted. type: string name: description: Name of the Secret to extract a value from. type: string required: - name - key type: object type: object type: object secretAccessKey: description: AWS Secret Access Key. oneOf: - not: required: - valueFrom required: - value - not: required: - value required: - valueFrom properties: value: description: Value of the field. Cannot be used if 'valueFrom' is specified. type: string valueFrom: description: Source for the field's value. Cannot be used if 'value' is specified. properties: secretKeyRef: description: Reference to a value with the given key in the given Secret in the resource's namespace. properties: key: description: Key that identifies the value to be extracted. type: string name: description: Name of the Secret to extract a value from. type: string required: - name - key type: object type: object type: object required: - accessKeyId - secretAccessKey type: object bucketName: description: S3 Bucket name. type: string path: description: S3 Bucket path in bucket to transfer. type: string roleArn: description: The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project. type: string required: - bucketName type: object azureBlobStorageDataSource: description: An Azure Blob Storage data source. properties: azureCredentials: description: ' Credentials used to authenticate API requests to Azure.' properties: sasToken: description: Azure shared access signature. oneOf: - not: required: - valueFrom required: - value - not: required: - value required: - valueFrom properties: value: description: Value of the field. Cannot be used if 'valueFrom' is specified. type: string valueFrom: description: Source for the field's value. Cannot be used if 'value' is specified. properties: secretKeyRef: description: Reference to a value with the given key in the given Secret in the resource's namespace. properties: key: description: Key that identifies the value to be extracted. type: string name: description: Name of the Secret to extract a value from. type: string required: - name - key type: object type: object type: object required: - sasToken type: object container: description: The container to transfer from the Azure Storage account. type: string path: description: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'. type: string storageAccount: description: The name of the Azure Storage account. type: string required: - azureCredentials - container - storageAccount type: object gcsDataSink: description: A Google Cloud Storage data sink. properties: bucketRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `name` field of a `StorageBucket` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object path: description: Google Cloud Storage path in bucket to transfer. type: string required: - bucketRef type: object gcsDataSource: description: A Google Cloud Storage data source. properties: bucketRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `name` field of a `StorageBucket` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object path: description: Google Cloud Storage path in bucket to transfer. type: string required: - bucketRef type: object httpDataSource: description: A HTTP URL data source. properties: listUrl: description: The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported. type: string required: - listUrl type: object objectConditions: description: Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' last_modification_time do not exclude objects in a data sink. properties: excludePrefixes: description: exclude_prefixes must follow the requirements described for include_prefixes. items: type: string type: array includePrefixes: description: If include_refixes is specified, objects that satisfy the object conditions must have names that start with one of the include_prefixes and that do not start with any of the exclude_prefixes. If include_prefixes is not specified, all objects except those that have names starting with one of the exclude_prefixes must satisfy the object conditions. items: type: string type: array lastModifiedBefore: description: 'If specified, only objects with a "last modification time" before this timestamp and objects that don''t have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".' type: string lastModifiedSince: description: 'If specified, only objects with a "last modification time" on or after this timestamp and objects that don''t have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".' type: string maxTimeElapsedSinceLastModification: description: 'A duration in seconds with up to nine fractional digits, terminated by ''s''. Example: "3.5s".' type: string minTimeElapsedSinceLastModification: description: 'A duration in seconds with up to nine fractional digits, terminated by ''s''. Example: "3.5s".' type: string type: object posixDataSink: description: A POSIX filesystem data sink. properties: rootDirectory: description: Root directory path to the filesystem. type: string required: - rootDirectory type: object posixDataSource: description: A POSIX filesystem data source. properties: rootDirectory: description: Root directory path to the filesystem. type: string required: - rootDirectory type: object sinkAgentPoolName: description: Immutable. Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used. type: string sourceAgentPoolName: description: Immutable. Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used. type: string transferOptions: description: Characteristics of how to treat files from datasource and sink during job. If the option delete_objects_unique_in_sink is true, object conditions based on objects' last_modification_time are ignored and do not exclude objects in a data source or a data sink. properties: deleteObjectsFromSourceAfterTransfer: description: Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and delete_objects_unique_in_sink are mutually exclusive. type: boolean deleteObjectsUniqueInSink: description: Whether objects that exist only in the sink should be deleted. Note that this option and delete_objects_from_source_after_transfer are mutually exclusive. type: boolean overwriteObjectsAlreadyExistingInSink: description: Whether overwriting objects that already exist in the sink is allowed. type: boolean overwriteWhen: description: When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by overwriteObjectsAlreadyExistingInSink. type: string type: object type: object required: - description - transferSpec type: object status: properties: conditions: description: Conditions represent the latest available observation of the resource's current state. items: properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. type: string message: description: Human-readable message indicating details about last transition. type: string reason: description: Unique, one-word, CamelCase reason for the condition's last transition. type: string status: description: Status is the status of the condition. Can be True, False, Unknown. type: string type: description: Type is the type of the condition. type: string type: object type: array creationTime: description: When the Transfer Job was created. type: string deletionTime: description: When the Transfer Job was deleted. type: string lastModificationTime: description: When the Transfer Job was last modified. type: string name: description: The name of the Transfer Job. type: string observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. type: integer type: object required: - spec type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []