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.



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

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



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

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



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

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



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

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



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

def transfer_options
  @transfer_options
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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