class Google::Apis::StoragetransferV1::TransferJob

This resource represents the configuration of a transfer job that runs periodically.

Attributes

creation_time[RW]

Output only. The time that the transfer job was created. Corresponds to the JSON property `creationTime` @return [String]

deletion_time[RW]

Output only. The time that the transfer job was deleted. Corresponds to the JSON property `deletionTime` @return [String]

description[RW]

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]

last_modification_time[RW]

Output only. The time that the transfer job was last modified. Corresponds to the JSON property `lastModificationTime` @return [String]

latest_operation_name[RW]

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_config[RW]

Logging configure. Corresponds to the JSON property `loggingConfig` @return [Google::Apis::StoragetransferV1::LoggingConfig]

name[RW]

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]

notification_config[RW]

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]

project_id[RW]

The ID of the Google Cloud Platform Project that owns the job. Corresponds to the JSON property `projectId` @return [String]

schedule[RW]

Transfers can be scheduled to recur or to run just once. Corresponds to the JSON property `schedule` @return [Google::Apis::StoragetransferV1::Schedule]

status[RW]

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]

transfer_spec[RW]

Configuration for running a transfer. Corresponds to the JSON property `transferSpec` @return [Google::Apis::StoragetransferV1::TransferSpec]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/storagetransfer_v1/classes.rb, line 1115
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

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