Class: Google::Apis::StoragetransferV1::ObjectConditions

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

Overview

Conditions that determine which objects will be transferred.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ ObjectConditions

Returns a new instance of ObjectConditions



254
255
256
# File 'generated/google/apis/storagetransfer_v1/classes.rb', line 254

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

Instance Attribute Details

#exclude_prefixesArray<String>

excludePrefixes must follow the requirements described for includePrefixes. The max size of excludePrefixes is 1000. Corresponds to the JSON property excludePrefixes

Returns:

  • (Array<String>)


252
253
254
# File 'generated/google/apis/storagetransfer_v1/classes.rb', line 252

def exclude_prefixes
  @exclude_prefixes
end

#include_prefixesArray<String>

If includePrefixes is specified, objects that satisfy the object conditions must have names that start with one of the includePrefixes and that do not start with any of the excludePrefixes. If includePrefixes is not specified, all objects except those that have names starting with one of the excludePrefixes must satisfy the object conditions. Requirements:

  • Each include-prefix and exclude-prefix can contain any sequence of Unicode characters, of max length 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 and exclude-prefix must omit the leading slash. For example, to include the requests.gz object in a transfer from s3://my-aws-bucket/logs/y=2015/requests.gz, specify the include prefix as logs/y=2015/requests.gz.
  • None of the include-prefix or the exclude-prefix values can be empty, if specified.
  • Each include-prefix must include a distinct portion of the object namespace, i.e., no include-prefix may be a prefix of another include-prefix.
  • Each exclude-prefix must exclude a distinct portion of the object namespace, i.e., no exclude-prefix may be a prefix of another exclude-prefix.
  • If includePrefixes is specified, then each exclude-prefix must start with the value of a path explicitly included by includePrefixes. The max size of includePrefixes is 1000. Corresponds to the JSON property includePrefixes

Returns:

  • (Array<String>)


234
235
236
# File 'generated/google/apis/storagetransfer_v1/classes.rb', line 234

def include_prefixes
  @include_prefixes
end

#max_time_elapsed_since_last_modificationString

maxTimeElapsedSinceLastModification is the complement to minTimeElapsedSinceLastModification. Corresponds to the JSON property maxTimeElapsedSinceLastModification

Returns:

  • (String)


205
206
207
# File 'generated/google/apis/storagetransfer_v1/classes.rb', line 205

def max_time_elapsed_since_last_modification
  @max_time_elapsed_since_last_modification
end

#min_time_elapsed_since_last_modificationString

If unspecified, minTimeElapsedSinceLastModification takes a zero value and maxTimeElapsedSinceLastModification takes the maximum possible value of Duration. Objects that satisfy the object conditions must either have a lastModificationTime greater or equal to NOW - maxTimeElapsedSinceLastModification and less than NOW - minTimeElapsedSinceLastModification, or not have a lastModificationTime. Corresponds to the JSON property minTimeElapsedSinceLastModification

Returns:

  • (String)


245
246
247
# File 'generated/google/apis/storagetransfer_v1/classes.rb', line 245

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



259
260
261
262
263
264
# File 'generated/google/apis/storagetransfer_v1/classes.rb', line 259

def update!(**args)
  @max_time_elapsed_since_last_modification = args[:max_time_elapsed_since_last_modification] if args.key?(:max_time_elapsed_since_last_modification)
  @include_prefixes = args[:include_prefixes] if args.key?(:include_prefixes)
  @min_time_elapsed_since_last_modification = args[:min_time_elapsed_since_last_modification] if args.key?(:min_time_elapsed_since_last_modification)
  @exclude_prefixes = args[:exclude_prefixes] if args.key?(:exclude_prefixes)
end