InstanceConfig

Struct InstanceConfig 

Source
#[non_exhaustive]
pub struct InstanceConfig {
Show 14 fields pub name: String, pub display_name: String, pub config_type: Type, pub replicas: Vec<ReplicaInfo>, pub optional_replicas: Vec<ReplicaInfo>, pub base_config: String, pub labels: HashMap<String, String>, pub etag: String, pub leader_options: Vec<String>, pub reconciling: bool, pub state: State, pub free_instance_availability: FreeInstanceAvailability, pub quorum_type: QuorumType, pub storage_limit_per_processing_unit: i64, /* private fields */
}
Expand description

A possible configuration for a Cloud Spanner instance. Configurations define the geographic placement of nodes and their replication.

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.
§name: String

A unique identifier for the instance configuration. Values are of the form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*.

User instance configuration must start with custom-.

§display_name: String

The name of this instance configuration as it appears in UIs.

§config_type: Type

Output only. Whether this instance configuration is a Google-managed or user-managed configuration.

§replicas: Vec<ReplicaInfo>

The geographic placement of nodes in this instance configuration and their replication properties.

To create user-managed configurations, input replicas must include all replicas in replicas of the base_config and include one or more replicas in the optional_replicas of the base_config.

§optional_replicas: Vec<ReplicaInfo>

Output only. The available optional replicas to choose from for user-managed configurations. Populated for Google-managed configurations.

§base_config: String

Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3, based on which this configuration is created. Only set for user-managed configurations. base_config must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration.

§labels: HashMap<String, String>

Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer’s organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.).

  • Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z][a-z0-9_-]{0,62}.
  • Label values must be between 0 and 63 characters long and must conform to the regular expression [a-z0-9_-]{0,63}.
  • No more than 64 labels can be associated with a given resource.

See https://goo.gl/xmQnxf for more information on and examples of labels.

If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn’t rely upon specific characters being disallowed. For example, representing labels as the string: name + “” + value would prove problematic if we were to allow “” in a future release.

§etag: String

etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance configuration from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance configuration updates in order to avoid race conditions: An etag is returned in the response which contains instance configurations, and systems are expected to put that etag in the request to update instance configuration to ensure that their change is applied to the same version of the instance configuration. If no etag is provided in the call to update the instance configuration, then the existing instance configuration is overwritten blindly.

§leader_options: Vec<String>

Allowed values of the “default_leader” schema option for databases in instances that use this instance configuration.

§reconciling: bool

Output only. If true, the instance configuration is being created or updated. If false, there are no ongoing operations for the instance configuration.

§state: State

Output only. The current instance configuration state. Applicable only for USER_MANAGED configurations.

§free_instance_availability: FreeInstanceAvailability

Output only. Describes whether free instances are available to be created in this instance configuration.

§quorum_type: QuorumType

Output only. The QuorumType of the instance configuration.

§storage_limit_per_processing_unit: i64

Output only. The storage limit in bytes per processing unit.

Implementations§

Source§

impl InstanceConfig

Source

pub fn new() -> Self

Source

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

Sets the value of name.

Source

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

Sets the value of display_name.

Source

pub fn set_config_type<T: Into<Type>>(self, v: T) -> Self

Sets the value of config_type.

Source

pub fn set_replicas<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<ReplicaInfo>,

Sets the value of replicas.

Source

pub fn set_optional_replicas<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<ReplicaInfo>,

Sets the value of optional_replicas.

Source

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

Sets the value of base_config.

Source

pub fn set_labels<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of labels.

Source

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

Sets the value of etag.

Source

pub fn set_leader_options<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of leader_options.

Source

pub fn set_reconciling<T: Into<bool>>(self, v: T) -> Self

Sets the value of reconciling.

Source

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

Sets the value of state.

Source

pub fn set_free_instance_availability<T: Into<FreeInstanceAvailability>>( self, v: T, ) -> Self

Sets the value of free_instance_availability.

Source

pub fn set_quorum_type<T: Into<QuorumType>>(self, v: T) -> Self

Sets the value of quorum_type.

Source

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

Trait Implementations§

Source§

impl Clone for InstanceConfig

Source§

fn clone(&self) -> InstanceConfig

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 InstanceConfig

Source§

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

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

impl Default for InstanceConfig

Source§

fn default() -> InstanceConfig

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

impl Message for InstanceConfig

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for InstanceConfig

Source§

fn eq(&self, other: &InstanceConfig) -> 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 InstanceConfig

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> 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>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,