class Google::Apis::StoragetransferV1::TransferJob
This resource represents the configuration of a transfer job that runs periodically.
Attributes
Output only. The time that the transfer job was created. Corresponds to the JSON property `creationTime` @return [String]
Output only. The time that the transfer job was deleted. Corresponds to the JSON property `deletionTime` @return [String]
A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded. Corresponds to the JSON property `description` @return [String]
Output only. The time that the transfer job was last modified. Corresponds to the JSON property `lastModificationTime` @return [String]
The name of the most recently started TransferOperation
of this JobConfig. Present if a TransferOperation
has been created for this JobConfig. Corresponds to the JSON property `latestOperationName` @return [String]
Logging configure. Corresponds to the JSON property `loggingConfig` @return [Google::Apis::StoragetransferV1::LoggingConfig]
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'. 'transferJobs/OPI' is a reserved prefix for PosixFilesystem
transfers. Non-PosixFilesystem example: `“ transferJobs/^(?!OPI)*[A-Za-z0-9]$”` PosixFilesystem
example: `“ transferJobs/OPI^*[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. Corresponds to the JSON property `name` @return [String]
Specification to configure notifications published to Pub/Sub. Notifications are published to the customer-provided topic using the following ` PubsubMessage.attributes`: * `“eventType”`: one of the EventType values * `“ payloadFormat”`: one of the PayloadFormat values * `“projectId”`: the project_id
of the `TransferOperation` * `“transferJobName”`: the transfer_job_name of the `TransferOperation` * `“transferOperationName”`: the name of the `TransferOperation` The `PubsubMessage.data` contains a TransferOperation
resource formatted according to the specified `PayloadFormat` . Corresponds to the JSON property `notificationConfig` @return [Google::Apis::StoragetransferV1::NotificationConfig]
The ID of the Google
Cloud Platform Project that owns the job. Corresponds to the JSON property `projectId` @return [String]
Transfers can be scheduled to recur or to run just once. Corresponds to the JSON property `schedule` @return [Google::Apis::StoragetransferV1::Schedule]
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. Corresponds to the JSON property `status` @return [String]
Configuration for running a transfer. Corresponds to the JSON property `transferSpec` @return [Google::Apis::StoragetransferV1::TransferSpec]
Public Class Methods
# File lib/google/apis/storagetransfer_v1/classes.rb, line 1115 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/storagetransfer_v1/classes.rb, line 1120 def update!(**args) @creation_time = args[:creation_time] if args.key?(:creation_time) @deletion_time = args[:deletion_time] if args.key?(:deletion_time) @description = args[:description] if args.key?(:description) @last_modification_time = args[:last_modification_time] if args.key?(:last_modification_time) @latest_operation_name = args[:latest_operation_name] if args.key?(:latest_operation_name) @logging_config = args[:logging_config] if args.key?(:logging_config) @name = args[:name] if args.key?(:name) @notification_config = args[:notification_config] if args.key?(:notification_config) @project_id = args[:project_id] if args.key?(:project_id) @schedule = args[:schedule] if args.key?(:schedule) @status = args[:status] if args.key?(:status) @transfer_spec = args[:transfer_spec] if args.key?(:transfer_spec) end