CloudStorageConfig

Struct CloudStorageConfig 

Source
#[non_exhaustive]
pub struct CloudStorageConfig { pub bucket: String, pub filename_prefix: String, pub filename_suffix: String, pub filename_datetime_format: String, pub max_duration: Option<Duration>, pub max_bytes: i64, pub max_messages: i64, pub state: State, pub service_account_email: String, pub output_format: Option<OutputFormat>, /* private fields */ }
Expand description

Configuration for a Cloud Storage subscription.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§bucket: String

Required. User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like “gs://”. See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming).

§filename_prefix: String

Optional. User-provided prefix for Cloud Storage filename. See the object naming requirements.

§filename_suffix: String

Optional. User-provided suffix for Cloud Storage filename. See the object naming requirements. Must not end in “/”.

§filename_datetime_format: String

Optional. User-provided format string specifying how to represent datetimes in Cloud Storage filenames. See the datetime format guidance.

§max_duration: Option<Duration>

Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription’s acknowledgment deadline.

§max_bytes: i64

Optional. The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded in cases where messages are larger than the limit.

§max_messages: i64

Optional. The maximum number of messages that can be written to a Cloud Storage file before a new file is created. Min 1000 messages.

§state: State

Output only. An output-only field that indicates whether or not the subscription can receive messages.

§service_account_email: String

Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have iam.serviceAccounts.actAs permission on the service account. If not specified, the Pub/Sub service agent, service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.

§output_format: Option<OutputFormat>

Defaults to text format.

Implementations§

Source§

impl CloudStorageConfig

Source

pub fn new() -> Self

Source

pub fn set_bucket<T: Into<String>>(self, v: T) -> Self

Sets the value of bucket.

§Example
let x = CloudStorageConfig::new().set_bucket("example");
Source

pub fn set_filename_prefix<T: Into<String>>(self, v: T) -> Self

Sets the value of filename_prefix.

§Example
let x = CloudStorageConfig::new().set_filename_prefix("example");
Source

pub fn set_filename_suffix<T: Into<String>>(self, v: T) -> Self

Sets the value of filename_suffix.

§Example
let x = CloudStorageConfig::new().set_filename_suffix("example");
Source

pub fn set_filename_datetime_format<T: Into<String>>(self, v: T) -> Self

Sets the value of filename_datetime_format.

§Example
let x = CloudStorageConfig::new().set_filename_datetime_format("example");
Source

pub fn set_max_duration<T>(self, v: T) -> Self
where T: Into<Duration>,

Sets the value of max_duration.

§Example
use wkt::Duration;
let x = CloudStorageConfig::new().set_max_duration(Duration::default()/* use setters */);
Source

pub fn set_or_clear_max_duration<T>(self, v: Option<T>) -> Self
where T: Into<Duration>,

Sets or clears the value of max_duration.

§Example
use wkt::Duration;
let x = CloudStorageConfig::new().set_or_clear_max_duration(Some(Duration::default()/* use setters */));
let x = CloudStorageConfig::new().set_or_clear_max_duration(None::<Duration>);
Source

pub fn set_max_bytes<T: Into<i64>>(self, v: T) -> Self

Sets the value of max_bytes.

§Example
let x = CloudStorageConfig::new().set_max_bytes(42);
Source

pub fn set_max_messages<T: Into<i64>>(self, v: T) -> Self

Sets the value of max_messages.

§Example
let x = CloudStorageConfig::new().set_max_messages(42);
Source

pub fn set_state<T: Into<State>>(self, v: T) -> Self

Sets the value of state.

§Example
use google_cloud_pubsub::model::cloud_storage_config::State;
let x0 = CloudStorageConfig::new().set_state(State::Active);
let x1 = CloudStorageConfig::new().set_state(State::PermissionDenied);
let x2 = CloudStorageConfig::new().set_state(State::NotFound);
Source

pub fn set_service_account_email<T: Into<String>>(self, v: T) -> Self

Sets the value of service_account_email.

§Example
let x = CloudStorageConfig::new().set_service_account_email("example");
Source

pub fn set_output_format<T: Into<Option<OutputFormat>>>(self, v: T) -> Self

Sets the value of output_format.

Note that all the setters affecting output_format are mutually exclusive.

§Example
use google_cloud_pubsub::model::cloud_storage_config::TextConfig;
let x = CloudStorageConfig::new().set_output_format(Some(
    google_cloud_pubsub::model::cloud_storage_config::OutputFormat::TextConfig(TextConfig::default().into())));
Source

pub fn text_config(&self) -> Option<&Box<TextConfig>>

The value of output_format if it holds a TextConfig, None if the field is not set or holds a different branch.

Source

pub fn set_text_config<T: Into<Box<TextConfig>>>(self, v: T) -> Self

Sets the value of output_format to hold a TextConfig.

Note that all the setters affecting output_format are mutually exclusive.

§Example
use google_cloud_pubsub::model::cloud_storage_config::TextConfig;
let x = CloudStorageConfig::new().set_text_config(TextConfig::default()/* use setters */);
assert!(x.text_config().is_some());
assert!(x.avro_config().is_none());
Source

pub fn avro_config(&self) -> Option<&Box<AvroConfig>>

The value of output_format if it holds a AvroConfig, None if the field is not set or holds a different branch.

Source

pub fn set_avro_config<T: Into<Box<AvroConfig>>>(self, v: T) -> Self

Sets the value of output_format to hold a AvroConfig.

Note that all the setters affecting output_format are mutually exclusive.

§Example
use google_cloud_pubsub::model::cloud_storage_config::AvroConfig;
let x = CloudStorageConfig::new().set_avro_config(AvroConfig::default()/* use setters */);
assert!(x.avro_config().is_some());
assert!(x.text_config().is_none());

Trait Implementations§

Source§

impl Clone for CloudStorageConfig

Source§

fn clone(&self) -> CloudStorageConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CloudStorageConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CloudStorageConfig

Source§

fn default() -> CloudStorageConfig

Returns the “default value” for a type. Read more
Source§

impl Message for CloudStorageConfig

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for CloudStorageConfig

Source§

fn eq(&self, other: &CloudStorageConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for CloudStorageConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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