Class: Google::Apis::StoragetransferV1::ReplicationSpec

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/storagetransfer_v1/classes.rb,
lib/google/apis/storagetransfer_v1/representations.rb,
lib/google/apis/storagetransfer_v1/representations.rb

Overview

Specifies the configuration for a cross-bucket replication job. Cross-bucket replication copies new or updated objects from a source Cloud Storage bucket to a destination Cloud Storage bucket. Existing objects in the source bucket are not copied by a new cross-bucket replication job.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ReplicationSpec

Returns a new instance of ReplicationSpec.



1185
1186
1187
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1185

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#gcs_data_sinkGoogle::Apis::StoragetransferV1::GcsData

In a GcsData resource, an object's name is the Cloud Storage object's name and its "last modification time" refers to the object's updated property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. Corresponds to the JSON property gcsDataSink



1154
1155
1156
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1154

def gcs_data_sink
  @gcs_data_sink
end

#gcs_data_sourceGoogle::Apis::StoragetransferV1::GcsData

In a GcsData resource, an object's name is the Cloud Storage object's name and its "last modification time" refers to the object's updated property of Cloud Storage objects, which changes when the content or the metadata of the object is updated. Corresponds to the JSON property gcsDataSource



1162
1163
1164
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1162

def gcs_data_source
  @gcs_data_source
end

#object_conditionsGoogle::Apis::StoragetransferV1::ObjectConditions

Conditions that determine which objects are transferred. Applies only to Cloud Data Sources such as S3, Azure, and Cloud Storage. The "last modification time" refers to the time of the last change to the object's content or metadata — specifically, this is the updated property of Cloud Storage objects, the LastModified field of S3 objects, and the Last-Modified header of Azure blobs. For S3 objects, the LastModified value is the time the object begins uploading. If the object meets your "last modification time" criteria, but has not finished uploading, the object is not transferred. See Transfer from Amazon S3 to Cloud Storage for more information. Transfers with a PosixFilesystem source or destination don't support ObjectConditions. Corresponds to the JSON property objectConditions



1178
1179
1180
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1178

def object_conditions
  @object_conditions
end

#transfer_optionsGoogle::Apis::StoragetransferV1::TransferOptions

TransferOptions define the actions to be performed on objects in a transfer. Corresponds to the JSON property transferOptions



1183
1184
1185
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1183

def transfer_options
  @transfer_options
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1190
1191
1192
1193
1194
1195
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1190

def update!(**args)
  @gcs_data_sink = args[:gcs_data_sink] if args.key?(:gcs_data_sink)
  @gcs_data_source = args[:gcs_data_source] if args.key?(:gcs_data_source)
  @object_conditions = args[:object_conditions] if args.key?(:object_conditions)
  @transfer_options = args[:transfer_options] if args.key?(:transfer_options)
end