[][src]Struct google_storagetransfer1::ObjectConditions

pub struct ObjectConditions {
    pub max_time_elapsed_since_last_modification: Option<String>,
    pub include_prefixes: Option<Vec<String>>,
    pub exclude_prefixes: Option<Vec<String>>,
    pub min_time_elapsed_since_last_modification: Option<String>,
}

Conditions that determine which objects will be transferred. Applies only to S3 and GCS objects.

This type is not used in any activity, and only used as part of another schema.

Fields

max_time_elapsed_since_last_modification: Option<String>

If specified, only objects with a lastModificationTime on or after NOW - maxTimeElapsedSinceLastModification and objects that don't have a lastModificationTime are transferred.

Note that, for each TransferOperation started by this TransferJob, NOW refers to the start_time of the 'TransferOperation. Also, lastModificationTimerefers to the time of the last change to the object's content or metadata - specifically, this would be theupdatedproperty of GCS objects and theLastModified` field of S3 objects.

include_prefixes: Option<Vec<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.

exclude_prefixes: Option<Vec<String>>

excludePrefixes must follow the requirements described for includePrefixes.

The max size of excludePrefixes is 1000.

min_time_elapsed_since_last_modification: Option<String>

If specified, only objects with a lastModificationTime before NOW - minTimeElapsedSinceLastModification and objects that don't have a lastModificationTime are transferred.

Note that, for each TransferOperation started by this TransferJob, NOW refers to the start_time of the 'TransferOperation. Also, lastModificationTimerefers to the time of the last change to the object's content or metadata - specifically, this would be theupdatedproperty of GCS objects and theLastModified` field of S3 objects.

Trait Implementations

impl Part for ObjectConditions[src]

impl Clone for ObjectConditions[src]

impl Default for ObjectConditions[src]

impl Debug for ObjectConditions[src]

impl Serialize for ObjectConditions[src]

impl<'de> Deserialize<'de> for ObjectConditions[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Typeable for T where
    T: Any

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]