This product is not supported for your selected Datadog site. ().
このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください

gcp_storagetransfer_transfer_job

ancestors

Type: UNORDERED_LIST_STRING

creation_time

Type: TIMESTAMP
Provider name: creationTime
Description: Output only. The time that the transfer job was created.

deletion_time

Type: TIMESTAMP
Provider name: deletionTime
Description: Output only. The time that the transfer job was deleted.

description

Type: STRING
Provider name: description
Description: A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.

event_stream

Type: STRUCT
Provider name: eventStream
Description: Specifies the event stream for the transfer job for event-driven transfers. When EventStream is specified, the Schedule fields are ignored.

  • event_stream_expiration_time
    Type: TIMESTAMP
    Provider name: eventStreamExpirationTime
    Description: Specifies the data and time at which Storage Transfer Service stops listening for events from this stream. After this time, any transfers in progress will complete, but no new transfers are initiated.
  • event_stream_start_time
    Type: TIMESTAMP
    Provider name: eventStreamStartTime
    Description: Specifies the date and time that Storage Transfer Service starts listening for events from this stream. If no start time is specified or start time is in the past, Storage Transfer Service starts listening immediately.
  • name
    Type: STRING
    Provider name: name
    Description: Required. Specifies a unique name of the resource such as AWS SQS ARN in the form ‘arn:aws:sqs:region:account_id:queue_name’, or Pub/Sub subscription resource name in the form ‘projects/{project}/subscriptions/{sub}’.

gcp_status

Type: STRING
Provider name: status
Description: Status of the job. This value MUST be specified for CreateTransferJobRequests. 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.
Possible values:

  • STATUS_UNSPECIFIED - Zero is an illegal value.
  • ENABLED - New transfers are performed based on the schedule.
  • DISABLED - New transfers are not scheduled.
  • DELETED - This is a soft delete state. After a transfer job is set to this state, the job and all the transfer executions are subject to garbage collection. Transfer jobs become eligible for garbage collection 30 days after their status is set to DELETED.

labels

Type: UNORDERED_LIST_STRING

last_modification_time

Type: TIMESTAMP
Provider name: lastModificationTime
Description: Output only. The time that the transfer job was last modified.

latest_operation_name

Type: STRING
Provider name: latestOperationName
Description: The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.

logging_config

Type: STRUCT
Provider name: loggingConfig
Description: Logging configuration.

  • enable_onprem_gcs_transfer_logs
    Type: BOOLEAN
    Provider name: enableOnpremGcsTransferLogs
    Description: For PosixFilesystem transfers, enables file system transfer logs instead of, or in addition to, Cloud Logging. This option ignores [LoggableAction] and [LoggableActionState]. If these are set, Cloud Logging will also be enabled for this transfer.
  • log_action_states
    Type: UNORDERED_LIST_STRING
    Provider name: logActionStates
    Description: States in which log_actions are logged. If empty, no logs are generated.
  • log_actions
    Type: UNORDERED_LIST_STRING
    Provider name: logActions
    Description: Specifies the actions to be logged. If empty, no logs are generated.

name

Type: STRING
Provider name: name
Description: A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service assigns a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with "transferJobs/" prefix and end with a letter or a number, and should be no more than 128 characters. For transfers involving PosixFilesystem, this name must start with transferJobs/OPI specifically. For all other transfer types, this name must not start with transferJobs/OPI. Non-PosixFilesystem example: "transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$" PosixFilesystem example: "transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$" Applications must not rely on the enforcement of naming requirements involving OPI. Invalid job names fail with an INVALID_ARGUMENT error.

notification_config

Type: STRUCT
Provider name: notificationConfig
Description: Notification configuration.

  • event_types
    Type: UNORDERED_LIST_STRING
    Provider name: eventTypes
    Description: Event types for which a notification is desired. If empty, send notifications for all event types.
  • payload_format
    Type: STRING
    Provider name: payloadFormat
    Description: Required. The desired format of the notification message payloads.
    Possible values:
    • PAYLOAD_FORMAT_UNSPECIFIED - Illegal value, to avoid allowing a default.
    • NONE - No payload is included with the notification.
    • JSON - TransferOperation is formatted as a JSON response, in application/json.
  • pubsub_topic
    Type: STRING
    Provider name: pubsubTopic
    Description: Required. The Topic.name of the Pub/Sub topic to which to publish notifications. Must be of the format: projects/{project}/topics/{topic}. Not matching this format results in an INVALID_ARGUMENT error.

organization_id

Type: STRING

parent

Type: STRING

project_id

Type: STRING

project_number

Type: STRING

replication_spec

Type: STRUCT
Provider name: replicationSpec
Description: Replication specification.

  • gcs_data_sink
    Type: STRUCT
    Provider name: gcsDataSink
    Description: The Cloud Storage bucket to which to replicate objects.
    • bucket_name
      Type: STRING
      Provider name: bucketName
      Description: Required. Cloud Storage bucket name. Must meet Bucket Name Requirements.
    • managed_folder_transfer_enabled
      Type: BOOLEAN
      Provider name: managedFolderTransferEnabled
      Description: Preview. Enables the transfer of managed folders between Cloud Storage buckets. Set this option on the gcs_data_source. If set to true: - Managed folders in the source bucket are transferred to the destination bucket. - Managed folders in the destination bucket are overwritten. Other OVERWRITE options are not supported. See Transfer Cloud Storage managed folders.
    • path
      Type: STRING
      Provider name: 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 ‘/’. The root path value must meet Object Name Requirements.
  • gcs_data_source
    Type: STRUCT
    Provider name: gcsDataSource
    Description: The Cloud Storage bucket from which to replicate objects.
    • bucket_name
      Type: STRING
      Provider name: bucketName
      Description: Required. Cloud Storage bucket name. Must meet Bucket Name Requirements.
    • managed_folder_transfer_enabled
      Type: BOOLEAN
      Provider name: managedFolderTransferEnabled
      Description: Preview. Enables the transfer of managed folders between Cloud Storage buckets. Set this option on the gcs_data_source. If set to true: - Managed folders in the source bucket are transferred to the destination bucket. - Managed folders in the destination bucket are overwritten. Other OVERWRITE options are not supported. See Transfer Cloud Storage managed folders.
    • path
      Type: STRING
      Provider name: 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 ‘/’. The root path value must meet Object Name Requirements.
  • object_conditions
    Type: STRUCT
    Provider name: objectConditions
    Description: Object conditions that determine which objects are transferred. For replication jobs, only include_prefixes and exclude_prefixes are supported.
    • exclude_prefixes
      Type: UNORDERED_LIST_STRING
      Provider name: excludePrefixes
      Description: If you specify exclude_prefixes, Storage Transfer Service uses the items in the exclude_prefixes array to determine which objects to exclude from a transfer. Objects must not start with one of the matching exclude_prefixes for inclusion in a transfer. The following are requirements of exclude_prefixes: * Each exclude-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each exclude-prefix must omit the leading slash. For example, to exclude the object s3://my-aws-bucket/logs/y=2015/requests.gz, specify the exclude-prefix as logs/y=2015/requests.gz. * None of the exclude-prefix values can be empty, if specified. * Each exclude-prefix must exclude a distinct portion of the object namespace. No exclude-prefix may be a prefix of another exclude-prefix. * If include_prefixes is specified, then each exclude-prefix must start with the value of a path explicitly included by include_prefixes. The max size of exclude_prefixes is 1000. For more information, see Filtering objects from transfers.
    • include_prefixes
      Type: UNORDERED_LIST_STRING
      Provider name: includePrefixes
      Description: If you specify include_prefixes, Storage Transfer Service uses the items in the include_prefixes array to determine which objects to include in a transfer. Objects must start with one of the matching include_prefixes for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the exclude_prefixes specified for inclusion in the transfer. The following are requirements of include_prefixes: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object s3://my-aws-bucket/logs/y=2015/requests.gz, specify the include-prefix as logs/y=2015/requests.gz. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of include_prefixes is 1000. For more information, see Filtering objects from transfers.
    • last_modified_before
      Type: TIMESTAMP
      Provider name: 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.
    • last_modified_since
      Type: TIMESTAMP
      Provider name: 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. The last_modified_since and last_modified_before fields can be used together for chunked data processing. For example, consider a script that processes each day’s worth of data at a time. For that you’d set each of the fields as follows: * last_modified_since to the start of the day * last_modified_before to the end of the day
    • max_time_elapsed_since_last_modification
      Type: STRING
      Provider name: maxTimeElapsedSinceLastModification
      Description: Ensures that objects are not transferred if a specific maximum time has elapsed since the “last modification time”. When a TransferOperation begins, objects with a “last modification time” are transferred only if the elapsed time between the start_time of the TransferOperationand the “last modification time” of the object is less than the value of max_time_elapsed_since_last_modification`. Objects that do not have a “last modification time” are also transferred.
    • min_time_elapsed_since_last_modification
      Type: STRING
      Provider name: minTimeElapsedSinceLastModification
      Description: Ensures that objects are not transferred until a specific minimum time has elapsed after the “last modification time”. When a TransferOperation begins, objects with a “last modification time” are transferred only if the elapsed time between the start_time of the TransferOperation and the “last modification time” of the object is equal to or greater than the value of min_time_elapsed_since_last_modification`. Objects that do not have a “last modification time” are also transferred.
  • transfer_options
    Type: STRUCT
    Provider name: transferOptions
    Description: Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error.
    • delete_objects_from_source_after_transfer
      Type: BOOLEAN
      Provider name: deleteObjectsFromSourceAfterTransfer
      Description: Whether objects should be deleted from the source after they are transferred to the sink. Note: This option and delete_objects_unique_in_sink are mutually exclusive.
    • delete_objects_unique_in_sink
      Type: BOOLEAN
      Provider name: deleteObjectsUniqueInSink
      Description: Whether objects that exist only in the sink should be deleted. Note: This option and delete_objects_from_source_after_transfer are mutually exclusive.
    • metadata_options
      Type: STRUCT
      Provider name: metadataOptions
      Description: Represents the selected metadata options for a transfer job.
      • acl
        Type: STRING
        Provider name: acl
        Description: Specifies how each object’s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
        Possible values:
        • ACL_UNSPECIFIED - ACL behavior is unspecified.
        • ACL_DESTINATION_BUCKET_DEFAULT - Use the destination bucket’s default object ACLS, if applicable.
        • ACL_PRESERVE - Preserve the object’s original ACLs. This requires the service account to have storage.objects.getIamPolicy permission for the source object. Uniform bucket-level access must not be enabled on either the source or destination buckets.
      • gid
        Type: STRING
        Provider name: gid
        Description: Specifies how each file’s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • GID_UNSPECIFIED - GID behavior is unspecified.
        • GID_SKIP - Do not preserve GID during a transfer job.
        • GID_NUMBER - Preserve GID during a transfer job.
      • kms_key
        Type: STRING
        Provider name: kmsKey
        Description: Specifies how each object’s Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as KMS_KEY_DESTINATION_BUCKET_DEFAULT.
        Possible values:
        • KMS_KEY_UNSPECIFIED - KmsKey behavior is unspecified.
        • KMS_KEY_DESTINATION_BUCKET_DEFAULT - Use the destination bucket’s default encryption settings.
        • KMS_KEY_PRESERVE - Preserve the object’s original Cloud KMS customer-managed encryption key (CMEK) if present. Objects that do not use a Cloud KMS encryption key will be encrypted using the destination bucket’s encryption settings.
      • mode
        Type: STRING
        Provider name: mode
        Description: Specifies how each file’s mode attribute should be handled by the transfer. By default, mode is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • MODE_UNSPECIFIED - Mode behavior is unspecified.
        • MODE_SKIP - Do not preserve mode during a transfer job.
        • MODE_PRESERVE - Preserve mode during a transfer job.
      • storage_class
        Type: STRING
        Provider name: storageClass
        Description: Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets. If unspecified, the default behavior is the same as STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT.
        Possible values:
        • STORAGE_CLASS_UNSPECIFIED - Storage class behavior is unspecified.
        • STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT - Use the destination bucket’s default storage class.
        • STORAGE_CLASS_PRESERVE - Preserve the object’s original storage class. This is only supported for transfers from Google Cloud Storage buckets. REGIONAL and MULTI_REGIONAL storage classes will be mapped to STANDARD to ensure they can be written to the destination bucket.
        • STORAGE_CLASS_STANDARD - Set the storage class to STANDARD.
        • STORAGE_CLASS_NEARLINE - Set the storage class to NEARLINE.
        • STORAGE_CLASS_COLDLINE - Set the storage class to COLDLINE.
        • STORAGE_CLASS_ARCHIVE - Set the storage class to ARCHIVE.
      • symlink
        Type: STRING
        Provider name: symlink
        Description: Specifies how symlinks should be handled by the transfer. By default, symlinks are not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • SYMLINK_UNSPECIFIED - Symlink behavior is unspecified.
        • SYMLINK_SKIP - Do not preserve symlinks during a transfer job.
        • SYMLINK_PRESERVE - Preserve symlinks during a transfer job.
      • temporary_hold
        Type: STRING
        Provider name: temporaryHold
        Description: Specifies how each object’s temporary hold status should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as TEMPORARY_HOLD_PRESERVE.
        Possible values:
        • TEMPORARY_HOLD_UNSPECIFIED - Temporary hold behavior is unspecified.
        • TEMPORARY_HOLD_SKIP - Do not set a temporary hold on the destination object.
        • TEMPORARY_HOLD_PRESERVE - Preserve the object’s original temporary hold status.
      • time_created
        Type: STRING
        Provider name: timeCreated
        Description: Specifies how each object’s timeCreated metadata is preserved for transfers. If unspecified, the default behavior is the same as TIME_CREATED_SKIP. This behavior is supported for transfers to Cloud Storage buckets from Cloud Storage, Amazon S3, S3-compatible storage, and Azure sources.
        Possible values:
        • TIME_CREATED_UNSPECIFIED - TimeCreated behavior is unspecified.
        • TIME_CREATED_SKIP - Do not preserve the timeCreated metadata from the source object.
        • TIME_CREATED_PRESERVE_AS_CUSTOM_TIME - Preserves the source object’s timeCreated or lastModified metadata in the customTime field in the destination object. Note that any value stored in the source object’s customTime field will not be propagated to the destination object.
      • uid
        Type: STRING
        Provider name: uid
        Description: Specifies how each file’s POSIX user ID (UID) attribute should be handled by the transfer. By default, UID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • UID_UNSPECIFIED - UID behavior is unspecified.
        • UID_SKIP - Do not preserve UID during a transfer job.
        • UID_NUMBER - Preserve UID during a transfer job.
    • overwrite_objects_already_existing_in_sink
      Type: BOOLEAN
      Provider name: overwriteObjectsAlreadyExistingInSink
      Description: When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are overwritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
    • overwrite_when
      Type: STRING
      Provider name: overwriteWhen
      Description: When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by overwrite_objects_already_existing_in_sink.
      Possible values:
      • OVERWRITE_WHEN_UNSPECIFIED - Overwrite behavior is unspecified.
      • DIFFERENT - Overwrites destination objects with the source objects, only if the objects have the same name but different HTTP ETags or checksum values.
      • NEVER - Never overwrites a destination object if a source object has the same name. In this case, the source object is not transferred.
      • ALWAYS - Always overwrite the destination object with the source object, even if the HTTP Etags or checksum values are the same.

resource_name

Type: STRING

schedule

Type: STRUCT
Provider name: schedule
Description: Specifies schedule for the transfer job. This is an optional field. When the field is not set, the job never executes a transfer, unless you invoke RunTransferJob or update the job to have a non-empty schedule.

  • end_time_of_day
    Type: STRUCT
    Provider name: endTimeOfDay
    Description: The time in UTC that no further transfer operations are scheduled. Combined with schedule_end_date, end_time_of_day specifies the end date and time for starting new transfer operations. This field must be greater than or equal to the timestamp corresponding to the combination of schedule_start_date and start_time_of_day, and is subject to the following: * If end_time_of_day is not set and schedule_end_date is set, then a default value of 23:59:59 is used for end_time_of_day. * If end_time_of_day is set and schedule_end_date is not set, then INVALID_ARGUMENT is returned.
    • hours
      Type: INT32
      Provider name: hours
      Description: Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value “24:00:00” for scenarios like business closing time.
    • minutes
      Type: INT32
      Provider name: minutes
      Description: Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
    • nanos
      Type: INT32
      Provider name: nanos
      Description: Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
    • seconds
      Type: INT32
      Provider name: seconds
      Description: Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
  • repeat_interval
    Type: STRING
    Provider name: repeatInterval
    Description: Interval between the start of each scheduled TransferOperation. If unspecified, the default value is 24 hours. This value may not be less than 1 hour.
  • schedule_end_date
    Type: STRUCT
    Provider name: scheduleEndDate
    Description: The last day a transfer runs. Date boundaries are determined relative to UTC time. A job runs once per 24 hours within the following guidelines: * If schedule_end_date and schedule_start_date are the same and in the future relative to UTC, the transfer is executed only one time. * If schedule_end_date is later than schedule_start_date and schedule_end_date is in the future relative to UTC, the job runs each day at start_time_of_day through schedule_end_date.
    • day
      Type: INT32
      Provider name: day
      Description: Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn’t significant.
    • month
      Type: INT32
      Provider name: month
      Description: Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    • year
      Type: INT32
      Provider name: year
      Description: Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
  • schedule_start_date
    Type: STRUCT
    Provider name: scheduleStartDate
    Description: Required. The start date of a transfer. Date boundaries are determined relative to UTC time. If schedule_start_date and start_time_of_day are in the past relative to the job’s creation time, the transfer starts the day after you schedule the transfer request. Note: When starting jobs at or near midnight UTC it is possible that a job starts later than expected. For example, if you send an outbound request on June 1 one millisecond prior to midnight UTC and the Storage Transfer Service server receives the request on June 2, then it creates a TransferJob with schedule_start_date set to June 2 and a start_time_of_day set to midnight UTC. The first scheduled TransferOperation takes place on June 3 at midnight UTC.
    • day
      Type: INT32
      Provider name: day
      Description: Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn’t significant.
    • month
      Type: INT32
      Provider name: month
      Description: Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    • year
      Type: INT32
      Provider name: year
      Description: Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
  • start_time_of_day
    Type: STRUCT
    Provider name: startTimeOfDay
    Description: The time in UTC that a transfer job is scheduled to run. Transfers may start later than this time. If start_time_of_day is not specified: * One-time transfers run immediately. * Recurring transfers run immediately, and each day at midnight UTC, through schedule_end_date. If start_time_of_day is specified: * One-time transfers run at the specified time. * Recurring transfers run at the specified time each day, through schedule_end_date.
    • hours
      Type: INT32
      Provider name: hours
      Description: Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value “24:00:00” for scenarios like business closing time.
    • minutes
      Type: INT32
      Provider name: minutes
      Description: Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
    • nanos
      Type: INT32
      Provider name: nanos
      Description: Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
    • seconds
      Type: INT32
      Provider name: seconds
      Description: Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.

service_account

Type: STRING
Provider name: serviceAccount
Description: Optional. The user-managed service account to which to delegate service agent permissions. You can grant Cloud Storage bucket permissions to this service account instead of to the Transfer Service service agent. Format is projects/-/serviceAccounts/ACCOUNT_EMAIL_OR_UNIQUEID Either the service account email (SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com) or the unique ID (123456789012345678901) are accepted in the string. The - wildcard character is required; replacing it with a project ID is invalid. See https://cloud.google.com//storage-transfer/docs/delegate-service-agent-permissions for required permissions.

tags

Type: UNORDERED_LIST_STRING

transfer_spec

Type: STRUCT
Provider name: transferSpec
Description: Transfer specification.

  • aws_s3_compatible_data_source
    Type: STRUCT
    Provider name: awsS3CompatibleDataSource
    Description: Optional. An AWS S3 compatible data source.
    • bucket_name
      Type: STRING
      Provider name: bucketName
      Description: Required. Specifies the name of the bucket.
    • endpoint
      Type: STRING
      Provider name: endpoint
      Description: Required. Specifies the endpoint of the storage service.
    • path
      Type: STRING
      Provider name: path
      Description: Specifies the 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 ‘/’.
    • region
      Type: STRING
      Provider name: region
      Description: Specifies the region to sign requests with. This can be left blank if requests should be signed with an empty region.
    • s3_metadata
      Type: STRUCT
      Provider name: s3Metadata
      Description: A S3 compatible metadata.
      • auth_method
        Type: STRING
        Provider name: authMethod
        Description: Specifies the authentication and authorization method used by the storage service. When not specified, Transfer Service will attempt to determine right auth method to use.
        Possible values:
        • AUTH_METHOD_UNSPECIFIED - AuthMethod is not specified.
        • AUTH_METHOD_AWS_SIGNATURE_V4 - Auth requests with AWS SigV4.
        • AUTH_METHOD_AWS_SIGNATURE_V2 - Auth requests with AWS SigV2.
      • list_api
        Type: STRING
        Provider name: listApi
        Description: The Listing API to use for discovering objects. When not specified, Transfer Service will attempt to determine the right API to use.
        Possible values:
        • LIST_API_UNSPECIFIED - ListApi is not specified.
        • LIST_OBJECTS_V2 - Perform listing using ListObjectsV2 API.
        • LIST_OBJECTS - Legacy ListObjects API.
      • protocol
        Type: STRING
        Provider name: protocol
        Description: Specifies the network protocol of the agent. When not specified, the default value of NetworkProtocol NETWORK_PROTOCOL_HTTPS is used.
        Possible values:
        • NETWORK_PROTOCOL_UNSPECIFIED - NetworkProtocol is not specified.
        • NETWORK_PROTOCOL_HTTPS - Perform requests using HTTPS.
        • NETWORK_PROTOCOL_HTTP - Not recommended: This sends data in clear-text. This is only appropriate within a closed network or for publicly available data. Perform requests using HTTP.
      • request_model
        Type: STRING
        Provider name: requestModel
        Description: Specifies the API request model used to call the storage service. When not specified, the default value of RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE is used.
        Possible values:
  • aws_s3_data_source
    Type: STRUCT
    Provider name: awsS3DataSource
    Description: Optional. An AWS S3 data source.
    • aws_access_key
      Type: STRUCT
      Provider name: awsAccessKey
      Description: Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see User credentials.
      • access_key_id
        Type: STRING
        Provider name: accessKeyId
        Description: Required. AWS access key ID.
      • secret_access_key
        Type: STRING
        Provider name: secretAccessKey
        Description: Required. AWS secret access key. This field is not returned in RPC responses.
    • bucket_name
      Type: STRING
      Provider name: bucketName
      Description: Required. S3 Bucket name (see Creating a bucket).
    • cloudfront_domain
      Type: STRING
      Provider name: cloudfrontDomain
      Description: Optional. The CloudFront distribution domain name pointing to this bucket, to use when fetching. See Transfer from S3 via CloudFront for more information. Format: https://{id}.cloudfront.net or any valid custom domain. Must begin with https://.
    • credentials_secret
      Type: STRING
      Provider name: credentialsSecret
      Description: Optional. The Resource name of a secret in Secret Manager. AWS credentials must be stored in Secret Manager in JSON format: { “access_key_id”: “ACCESS_KEY_ID”, “secret_access_key”: “SECRET_ACCESS_KEY” } GoogleServiceAccount must be granted roles/secretmanager.secretAccessor for the resource. See [Configure access to a source: Amazon S3] (https://cloud.google.com/storage-transfer/docs/source-amazon-s3#secret_manager) for more information. If credentials_secret is specified, do not specify role_arn or aws_access_key. Format: projects/{project_number}/secrets/{secret_name}
    • managed_private_network
      Type: BOOLEAN
      Provider name: managedPrivateNetwork
      Description: Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
    • path
      Type: STRING
      Provider name: 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 ‘/’.
    • role_arn
      Type: STRING
      Provider name: roleArn
      Description: The Amazon Resource Name (ARN) of the role to support temporary credentials via AssumeRoleWithWebIdentity. For more information about ARNs, see IAM 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.
  • azure_blob_storage_data_source
    Type: STRUCT
    Provider name: azureBlobStorageDataSource
    Description: Optional. An Azure Blob Storage data source.
    • azure_credentials
      Type: STRUCT
      Provider name: azureCredentials
      Description: Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see User credentials.
    • container
      Type: STRING
      Provider name: container
      Description: Required. The container to transfer from the Azure Storage account.
    • credentials_secret
      Type: STRING
      Provider name: credentialsSecret
      Description: Optional. The Resource name of a secret in Secret Manager. The Azure SAS token must be stored in Secret Manager in JSON format: { “sas_token” : “SAS_TOKEN” } GoogleServiceAccount must be granted roles/secretmanager.secretAccessor for the resource. See [Configure access to a source: Microsoft Azure Blob Storage] (https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#secret_manager) for more information. If credentials_secret is specified, do not specify azure_credentials. Format: projects/{project_number}/secrets/{secret_name}
    • federated_identity_config
      Type: STRUCT
      Provider name: federatedIdentityConfig
      Description: Optional. Federated identity config of a user registered Azure application. If federated_identity_config is specified, do not specify azure_credentials or credentials_secret.
      • client_id
        Type: STRING
        Provider name: clientId
        Description: Required. The client (application) ID of the application with federated credentials.
      • tenant_id
        Type: STRING
        Provider name: tenantId
        Description: Required. The tenant (directory) ID of the application with federated credentials.
    • path
      Type: STRING
      Provider name: 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 ‘/’.
    • storage_account
      Type: STRING
      Provider name: storageAccount
      Description: Required. The name of the Azure Storage account.
  • gcs_data_sink
    Type: STRUCT
    Provider name: gcsDataSink
    Description: Optional. A Cloud Storage data sink.
    • bucket_name
      Type: STRING
      Provider name: bucketName
      Description: Required. Cloud Storage bucket name. Must meet Bucket Name Requirements.
    • managed_folder_transfer_enabled
      Type: BOOLEAN
      Provider name: managedFolderTransferEnabled
      Description: Preview. Enables the transfer of managed folders between Cloud Storage buckets. Set this option on the gcs_data_source. If set to true: - Managed folders in the source bucket are transferred to the destination bucket. - Managed folders in the destination bucket are overwritten. Other OVERWRITE options are not supported. See Transfer Cloud Storage managed folders.
    • path
      Type: STRING
      Provider name: 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 ‘/’. The root path value must meet Object Name Requirements.
  • gcs_data_source
    Type: STRUCT
    Provider name: gcsDataSource
    Description: Optional. A Cloud Storage data source.
    • bucket_name
      Type: STRING
      Provider name: bucketName
      Description: Required. Cloud Storage bucket name. Must meet Bucket Name Requirements.
    • managed_folder_transfer_enabled
      Type: BOOLEAN
      Provider name: managedFolderTransferEnabled
      Description: Preview. Enables the transfer of managed folders between Cloud Storage buckets. Set this option on the gcs_data_source. If set to true: - Managed folders in the source bucket are transferred to the destination bucket. - Managed folders in the destination bucket are overwritten. Other OVERWRITE options are not supported. See Transfer Cloud Storage managed folders.
    • path
      Type: STRING
      Provider name: 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 ‘/’. The root path value must meet Object Name Requirements.
  • gcs_intermediate_data_location
    Type: STRUCT
    Provider name: gcsIntermediateDataLocation
    Description: For transfers between file systems, specifies a Cloud Storage bucket to be used as an intermediate location through which to transfer data. See Transfer data between file systems for more information.
    • bucket_name
      Type: STRING
      Provider name: bucketName
      Description: Required. Cloud Storage bucket name. Must meet Bucket Name Requirements.
    • managed_folder_transfer_enabled
      Type: BOOLEAN
      Provider name: managedFolderTransferEnabled
      Description: Preview. Enables the transfer of managed folders between Cloud Storage buckets. Set this option on the gcs_data_source. If set to true: - Managed folders in the source bucket are transferred to the destination bucket. - Managed folders in the destination bucket are overwritten. Other OVERWRITE options are not supported. See Transfer Cloud Storage managed folders.
    • path
      Type: STRING
      Provider name: 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 ‘/’. The root path value must meet Object Name Requirements.
  • hdfs_data_source
    Type: STRUCT
    Provider name: hdfsDataSource
    Description: Optional. An HDFS cluster data source.
    • path
      Type: STRING
      Provider name: path
      Description: Root path to transfer files.
  • http_data_source
    Type: STRUCT
    Provider name: httpDataSource
    Description: Optional. An HTTP URL data source.
    • list_url
      Type: STRING
      Provider name: listUrl
      Description: Required. The URL that points to the file that stores the object list entries. This file must allow public access. The URL is either an HTTP/HTTPS address (e.g. https://example.com/urllist.tsv) or a Cloud Storage path (e.g. gs://my-bucket/urllist.tsv).
  • object_conditions
    Type: STRUCT
    Provider name: 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.
    • exclude_prefixes
      Type: UNORDERED_LIST_STRING
      Provider name: excludePrefixes
      Description: If you specify exclude_prefixes, Storage Transfer Service uses the items in the exclude_prefixes array to determine which objects to exclude from a transfer. Objects must not start with one of the matching exclude_prefixes for inclusion in a transfer. The following are requirements of exclude_prefixes: * Each exclude-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each exclude-prefix must omit the leading slash. For example, to exclude the object s3://my-aws-bucket/logs/y=2015/requests.gz, specify the exclude-prefix as logs/y=2015/requests.gz. * None of the exclude-prefix values can be empty, if specified. * Each exclude-prefix must exclude a distinct portion of the object namespace. No exclude-prefix may be a prefix of another exclude-prefix. * If include_prefixes is specified, then each exclude-prefix must start with the value of a path explicitly included by include_prefixes. The max size of exclude_prefixes is 1000. For more information, see Filtering objects from transfers.
    • include_prefixes
      Type: UNORDERED_LIST_STRING
      Provider name: includePrefixes
      Description: If you specify include_prefixes, Storage Transfer Service uses the items in the include_prefixes array to determine which objects to include in a transfer. Objects must start with one of the matching include_prefixes for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the exclude_prefixes specified for inclusion in the transfer. The following are requirements of include_prefixes: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object s3://my-aws-bucket/logs/y=2015/requests.gz, specify the include-prefix as logs/y=2015/requests.gz. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of include_prefixes is 1000. For more information, see Filtering objects from transfers.
    • last_modified_before
      Type: TIMESTAMP
      Provider name: 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.
    • last_modified_since
      Type: TIMESTAMP
      Provider name: 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. The last_modified_since and last_modified_before fields can be used together for chunked data processing. For example, consider a script that processes each day’s worth of data at a time. For that you’d set each of the fields as follows: * last_modified_since to the start of the day * last_modified_before to the end of the day
    • max_time_elapsed_since_last_modification
      Type: STRING
      Provider name: maxTimeElapsedSinceLastModification
      Description: Ensures that objects are not transferred if a specific maximum time has elapsed since the “last modification time”. When a TransferOperation begins, objects with a “last modification time” are transferred only if the elapsed time between the start_time of the TransferOperationand the “last modification time” of the object is less than the value of max_time_elapsed_since_last_modification`. Objects that do not have a “last modification time” are also transferred.
    • min_time_elapsed_since_last_modification
      Type: STRING
      Provider name: minTimeElapsedSinceLastModification
      Description: Ensures that objects are not transferred until a specific minimum time has elapsed after the “last modification time”. When a TransferOperation begins, objects with a “last modification time” are transferred only if the elapsed time between the start_time of the TransferOperation and the “last modification time” of the object is equal to or greater than the value of min_time_elapsed_since_last_modification`. Objects that do not have a “last modification time” are also transferred.
  • posix_data_sink
    Type: STRUCT
    Provider name: posixDataSink
    Description: Optional. A POSIX Filesystem data sink.
    • root_directory
      Type: STRING
      Provider name: rootDirectory
      Description: Root directory path to the filesystem.
  • posix_data_source
    Type: STRUCT
    Provider name: posixDataSource
    Description: Optional. A POSIX Filesystem data source.
    • root_directory
      Type: STRING
      Provider name: rootDirectory
      Description: Root directory path to the filesystem.
  • sink_agent_pool_name
    Type: STRING
    Provider name: sinkAgentPoolName
    Description: Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.
  • source_agent_pool_name
    Type: STRING
    Provider name: sourceAgentPoolName
    Description: Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.
  • transfer_manifest
    Type: STRUCT
    Provider name: transferManifest
    Description: A manifest file provides a list of objects to be transferred from the data source. This field points to the location of the manifest file. Otherwise, the entire source bucket is used. ObjectConditions still apply.
    • location
      Type: STRING
      Provider name: location
      Description: Specifies the path to the manifest in Cloud Storage. The Google-managed service account for the transfer must have storage.objects.get permission for this object. An example path is gs://bucket_name/path/manifest.csv.
  • transfer_options
    Type: STRUCT
    Provider name: transferOptions
    Description: If the option delete_objects_unique_in_sink is true and time-based object conditions such as ’last modification time’ are specified, the request fails with an INVALID_ARGUMENT error.
    • delete_objects_from_source_after_transfer
      Type: BOOLEAN
      Provider name: deleteObjectsFromSourceAfterTransfer
      Description: Whether objects should be deleted from the source after they are transferred to the sink. Note: This option and delete_objects_unique_in_sink are mutually exclusive.
    • delete_objects_unique_in_sink
      Type: BOOLEAN
      Provider name: deleteObjectsUniqueInSink
      Description: Whether objects that exist only in the sink should be deleted. Note: This option and delete_objects_from_source_after_transfer are mutually exclusive.
    • metadata_options
      Type: STRUCT
      Provider name: metadataOptions
      Description: Represents the selected metadata options for a transfer job.
      • acl
        Type: STRING
        Provider name: acl
        Description: Specifies how each object’s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
        Possible values:
        • ACL_UNSPECIFIED - ACL behavior is unspecified.
        • ACL_DESTINATION_BUCKET_DEFAULT - Use the destination bucket’s default object ACLS, if applicable.
        • ACL_PRESERVE - Preserve the object’s original ACLs. This requires the service account to have storage.objects.getIamPolicy permission for the source object. Uniform bucket-level access must not be enabled on either the source or destination buckets.
      • gid
        Type: STRING
        Provider name: gid
        Description: Specifies how each file’s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • GID_UNSPECIFIED - GID behavior is unspecified.
        • GID_SKIP - Do not preserve GID during a transfer job.
        • GID_NUMBER - Preserve GID during a transfer job.
      • kms_key
        Type: STRING
        Provider name: kmsKey
        Description: Specifies how each object’s Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as KMS_KEY_DESTINATION_BUCKET_DEFAULT.
        Possible values:
        • KMS_KEY_UNSPECIFIED - KmsKey behavior is unspecified.
        • KMS_KEY_DESTINATION_BUCKET_DEFAULT - Use the destination bucket’s default encryption settings.
        • KMS_KEY_PRESERVE - Preserve the object’s original Cloud KMS customer-managed encryption key (CMEK) if present. Objects that do not use a Cloud KMS encryption key will be encrypted using the destination bucket’s encryption settings.
      • mode
        Type: STRING
        Provider name: mode
        Description: Specifies how each file’s mode attribute should be handled by the transfer. By default, mode is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • MODE_UNSPECIFIED - Mode behavior is unspecified.
        • MODE_SKIP - Do not preserve mode during a transfer job.
        • MODE_PRESERVE - Preserve mode during a transfer job.
      • storage_class
        Type: STRING
        Provider name: storageClass
        Description: Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets. If unspecified, the default behavior is the same as STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT.
        Possible values:
        • STORAGE_CLASS_UNSPECIFIED - Storage class behavior is unspecified.
        • STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT - Use the destination bucket’s default storage class.
        • STORAGE_CLASS_PRESERVE - Preserve the object’s original storage class. This is only supported for transfers from Google Cloud Storage buckets. REGIONAL and MULTI_REGIONAL storage classes will be mapped to STANDARD to ensure they can be written to the destination bucket.
        • STORAGE_CLASS_STANDARD - Set the storage class to STANDARD.
        • STORAGE_CLASS_NEARLINE - Set the storage class to NEARLINE.
        • STORAGE_CLASS_COLDLINE - Set the storage class to COLDLINE.
        • STORAGE_CLASS_ARCHIVE - Set the storage class to ARCHIVE.
      • symlink
        Type: STRING
        Provider name: symlink
        Description: Specifies how symlinks should be handled by the transfer. By default, symlinks are not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • SYMLINK_UNSPECIFIED - Symlink behavior is unspecified.
        • SYMLINK_SKIP - Do not preserve symlinks during a transfer job.
        • SYMLINK_PRESERVE - Preserve symlinks during a transfer job.
      • temporary_hold
        Type: STRING
        Provider name: temporaryHold
        Description: Specifies how each object’s temporary hold status should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as TEMPORARY_HOLD_PRESERVE.
        Possible values:
        • TEMPORARY_HOLD_UNSPECIFIED - Temporary hold behavior is unspecified.
        • TEMPORARY_HOLD_SKIP - Do not set a temporary hold on the destination object.
        • TEMPORARY_HOLD_PRESERVE - Preserve the object’s original temporary hold status.
      • time_created
        Type: STRING
        Provider name: timeCreated
        Description: Specifies how each object’s timeCreated metadata is preserved for transfers. If unspecified, the default behavior is the same as TIME_CREATED_SKIP. This behavior is supported for transfers to Cloud Storage buckets from Cloud Storage, Amazon S3, S3-compatible storage, and Azure sources.
        Possible values:
        • TIME_CREATED_UNSPECIFIED - TimeCreated behavior is unspecified.
        • TIME_CREATED_SKIP - Do not preserve the timeCreated metadata from the source object.
        • TIME_CREATED_PRESERVE_AS_CUSTOM_TIME - Preserves the source object’s timeCreated or lastModified metadata in the customTime field in the destination object. Note that any value stored in the source object’s customTime field will not be propagated to the destination object.
      • uid
        Type: STRING
        Provider name: uid
        Description: Specifies how each file’s POSIX user ID (UID) attribute should be handled by the transfer. By default, UID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
        Possible values:
        • UID_UNSPECIFIED - UID behavior is unspecified.
        • UID_SKIP - Do not preserve UID during a transfer job.
        • UID_NUMBER - Preserve UID during a transfer job.
    • overwrite_objects_already_existing_in_sink
      Type: BOOLEAN
      Provider name: overwriteObjectsAlreadyExistingInSink
      Description: When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are overwritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.
    • overwrite_when
      Type: STRING
      Provider name: overwriteWhen
      Description: When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by overwrite_objects_already_existing_in_sink.
      Possible values:
      • OVERWRITE_WHEN_UNSPECIFIED - Overwrite behavior is unspecified.
      • DIFFERENT - Overwrites destination objects with the source objects, only if the objects have the same name but different HTTP ETags or checksum values.
      • NEVER - Never overwrites a destination object if a source object has the same name. In this case, the source object is not transferred.
      • ALWAYS - Always overwrite the destination object with the source object, even if the HTTP Etags or checksum values are the same.