Class: Google::Apis::StoragetransferV1::MetadataOptions

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 metadata options for running a transfer.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MetadataOptions



871
872
873
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 871

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

Instance Attribute Details

#aclString

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. Corresponds to the JSON property acl



811
812
813
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 811

def acl
  @acl
end

#gidString

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. Corresponds to the JSON property gid



818
819
820
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 818

def gid
  @gid
end

#kms_keyString

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. Corresponds to the JSON property kmsKey



826
827
828
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 826

def kms_key
  @kms_key
end

#modeString

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. Corresponds to the JSON property mode



833
834
835
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 833

def mode
  @mode
end

#storage_classString

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. Corresponds to the JSON property storageClass



840
841
842
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 840

def storage_class
  @storage_class
end

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. Corresponds to the JSON property symlink



847
848
849
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 847

def symlink
  @symlink
end

#temporary_holdString

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. Corresponds to the JSON property temporaryHold



854
855
856
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 854

def temporary_hold
  @temporary_hold
end

#time_createdString

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. Corresponds to the JSON property timeCreated



862
863
864
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 862

def time_created
  @time_created
end

#uidString

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. Corresponds to the JSON property uid



869
870
871
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 869

def uid
  @uid
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



876
877
878
879
880
881
882
883
884
885
886
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 876

def update!(**args)
  @acl = args[:acl] if args.key?(:acl)
  @gid = args[:gid] if args.key?(:gid)
  @kms_key = args[:kms_key] if args.key?(:kms_key)
  @mode = args[:mode] if args.key?(:mode)
  @storage_class = args[:storage_class] if args.key?(:storage_class)
  @symlink = args[:symlink] if args.key?(:symlink)
  @temporary_hold = args[:temporary_hold] if args.key?(:temporary_hold)
  @time_created = args[:time_created] if args.key?(:time_created)
  @uid = args[:uid] if args.key?(:uid)
end