[][src]Struct google_storagetransfer1::ObjectConditions

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

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

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 and the LastModified field of S3 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 "last modification time" on or after NOW - max_time_elapsed_since_last_modification and objects that don't have a "last modification time" are transferred.

For each TransferOperation started by this TransferJob, NOW refers to the start_time of the TransferOperation.

include_prefixes: Option<Vec<String>>

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

Requirements:

  • Each include-prefix and 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 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. No include-prefix may be a prefix of another include-prefix.

  • 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 include_prefixes is 1000.

min_time_elapsed_since_last_modification: Option<String>

If specified, only objects with a "last modification time" before NOW - min_time_elapsed_since_last_modification and objects that don't have a "last modification time" are transferred.

For each TransferOperation started by this TransferJob, NOW refers to the start_time of the TransferOperation.

last_modified_before: Option<String>

If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" will be transferred.

last_modified_since: Option<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

exclude_prefixes: Option<Vec<String>>

exclude_prefixes must follow the requirements described for include_prefixes.

The max size of exclude_prefixes is 1000.

Trait Implementations

impl Clone for ObjectConditions[src]

impl Debug for ObjectConditions[src]

impl Default for ObjectConditions[src]

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

impl Part for ObjectConditions[src]

impl Serialize for ObjectConditions[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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 = Infallible

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> Typeable for T where
    T: Any