Class: Google::Apis::StoragetransferV1::ObjectConditions
- Inherits:
-
Object
- Object
- Google::Apis::StoragetransferV1::ObjectConditions
- 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
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.
Instance Attribute Summary collapse
-
#exclude_prefixes ⇒ Array<String>
If you specify
exclude_prefixes, Storage Transfer Service uses the items in theexclude_prefixesarray to determine which objects to exclude from a transfer. -
#include_prefixes ⇒ Array<String>
If you specify
include_prefixes, Storage Transfer Service uses the items in theinclude_prefixesarray to determine which objects to include in a transfer. -
#last_modified_before ⇒ String
If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred.
-
#last_modified_since ⇒ String
If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred.
-
#match_glob ⇒ String
Optional.
-
#max_time_elapsed_since_last_modification ⇒ String
Ensures that objects are not transferred if a specific maximum time has elapsed since the "last modification time".
-
#min_time_elapsed_since_last_modification ⇒ String
Ensures that objects are not transferred until a specific minimum time has elapsed after the "last modification time".
Instance Method Summary collapse
-
#initialize(**args) ⇒ ObjectConditions
constructor
A new instance of ObjectConditions.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ObjectConditions
Returns a new instance of ObjectConditions.
1033 1034 1035 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1033 def initialize(**args) update!(**args) end |
Instance Attribute Details
#exclude_prefixes ⇒ Array<String>
If you specify exclude_prefixes, Storage Transfer Service uses the items in
the exclude_prefixes array to determine which objects to exclude from a
transfer. Objects must not start with one of the matching exclude_prefixes
for inclusion in a transfer. The following are requirements of
exclude_prefixes: * Each exclude-prefix can contain any sequence of Unicode
characters, to a max length of 1024 bytes when UTF8-encoded, and must not
contain Carriage Return or Line Feed characters. Wildcard matching and regular
expression matching are not supported. * Each exclude-prefix must omit the
leading slash. For example, to exclude the object s3://my-aws-bucket/logs/y=
2015/requests.gz, specify the exclude-prefix as logs/y=2015/requests.gz. *
None of the exclude-prefix values can be empty, if specified. * Each exclude-
prefix must exclude a distinct portion of the object namespace. No exclude-
prefix may be a prefix of another exclude-prefix. * If include_prefixes is
specified, then each exclude-prefix must start with the value of a path
explicitly included by include_prefixes. The max size of exclude_prefixes
is 1000. For more information, see Filtering objects from transfers.
Corresponds to the JSON property excludePrefixes
965 966 967 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 965 def exclude_prefixes @exclude_prefixes end |
#include_prefixes ⇒ Array<String>
If you specify include_prefixes, Storage Transfer Service uses the items in
the include_prefixes array to determine which objects to include in a
transfer. Objects must start with one of the matching include_prefixes for
inclusion in the transfer. If exclude_prefixes is specified, objects must not
start with any of the exclude_prefixes specified for inclusion in the
transfer. The following are requirements of include_prefixes: * Each include-
prefix can contain any sequence of Unicode characters, to a max length of 1024
bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed
characters. Wildcard matching and regular expression matching are not
supported. * Each include-prefix must omit the leading slash. For example, to
include the object s3://my-aws-bucket/logs/y=2015/requests.gz, specify the
include-prefix as logs/y=2015/requests.gz. * None of the include-prefix
values can be empty, if specified. * Each include-prefix must include a
distinct portion of the object namespace. No include-prefix may be a prefix of
another include-prefix. The max size of include_prefixes is 1000. For more
information, see Filtering objects from transfers.
Corresponds to the JSON property includePrefixes
986 987 988 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 986 def include_prefixes @include_prefixes end |
#last_modified_before ⇒ String
If specified, only objects with a "last modification time" before this
timestamp and objects that don't have a "last modification time" are
transferred.
Corresponds to the JSON property lastModifiedBefore
993 994 995 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 993 def last_modified_before @last_modified_before end |
#last_modified_since ⇒ String
If specified, only objects with a "last modification time" on or after this
timestamp and objects that don't have a "last modification time" are
transferred. The last_modified_since and last_modified_before fields can
be used together for chunked data processing. For example, consider a script
that processes each day's worth of data at a time. For that you'd set each of
the fields as follows: * last_modified_since to the start of the day *
last_modified_before to the end of the day
Corresponds to the JSON property lastModifiedSince
1004 1005 1006 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1004 def last_modified_since @last_modified_since end |
#match_glob ⇒ String
Optional. If specified, only objects matching this glob are transferred.
Corresponds to the JSON property matchGlob
1009 1010 1011 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1009 def match_glob @match_glob end |
#max_time_elapsed_since_last_modification ⇒ String
Ensures that objects are not transferred if a specific maximum time has
elapsed since the "last modification time". When a TransferOperation begins,
objects with a "last modification time" are transferred only if the elapsed
time between the start_time of the TransferOperationand the "last
modification time" of the object is less than the value of
max_time_elapsed_since_last_modification. Objects that do not have a "last
modification time" are also transferred.
Corresponds to the JSON propertymaxTimeElapsedSinceLastModification`
1020 1021 1022 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1020 def max_time_elapsed_since_last_modification @max_time_elapsed_since_last_modification end |
#min_time_elapsed_since_last_modification ⇒ String
Ensures that objects are not transferred until a specific minimum time has
elapsed after the "last modification time". When a TransferOperation begins,
objects with a "last modification time" are transferred only if the elapsed
time between the start_time of the TransferOperation and the "last
modification time" of the object is equal to or greater than the value of
min_time_elapsed_since_last_modification. Objects that do not have a "last
modification time" are also transferred.
Corresponds to the JSON propertyminTimeElapsedSinceLastModification`
1031 1032 1033 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1031 def min_time_elapsed_since_last_modification @min_time_elapsed_since_last_modification end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1038 1039 1040 1041 1042 1043 1044 1045 1046 |
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 1038 def update!(**args) @exclude_prefixes = args[:exclude_prefixes] if args.key?(:exclude_prefixes) @include_prefixes = args[:include_prefixes] if args.key?(:include_prefixes) @last_modified_before = args[:last_modified_before] if args.key?(:last_modified_before) @last_modified_since = args[:last_modified_since] if args.key?(:last_modified_since) @match_glob = args[:match_glob] if args.key?(:match_glob) @max_time_elapsed_since_last_modification = args[:max_time_elapsed_since_last_modification] if args.key?(:max_time_elapsed_since_last_modification) @min_time_elapsed_since_last_modification = args[:min_time_elapsed_since_last_modification] if args.key?(:min_time_elapsed_since_last_modification) end |