Instance

Struct Instance 

Source
#[non_exhaustive]
pub struct Instance {
Show 16 fields pub name: String, pub config: String, pub display_name: String, pub node_count: i32, pub processing_units: i32, pub replica_compute_capacity: Vec<ReplicaComputeCapacity>, pub autoscaling_config: Option<AutoscalingConfig>, pub state: State, pub labels: HashMap<String, String>, pub instance_type: InstanceType, pub endpoint_uris: Vec<String>, pub create_time: Option<Timestamp>, pub update_time: Option<Timestamp>, pub free_instance_metadata: Option<FreeInstanceMetadata>, pub edition: Edition, pub default_backup_schedule_type: DefaultBackupScheduleType, /* private fields */
}
Expand description

An isolated set of Cloud Spanner resources on which databases can be hosted.

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

Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form projects/<project>/instances/[a-z][-a-z0-9]*[a-z0-9]. The final segment of the name must be between 2 and 64 characters in length.

§config: String

Required. The name of the instance’s configuration. Values are of the form projects/<project>/instanceConfigs/<configuration>. See also InstanceConfig and ListInstanceConfigs.

§display_name: String

Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.

§node_count: i32

The number of nodes allocated to this instance. At most, one of either node_count or processing_units should be present in the message.

Users can set the node_count field to specify the target number of nodes allocated to the instance.

If autoscaling is enabled, node_count is treated as an OUTPUT_ONLY field and reflects the current number of nodes allocated to the instance.

This might be zero in API responses for instances that are not yet in the READY state.

For more information, see Compute capacity, nodes, and processing units.

§processing_units: i32

The number of processing units allocated to this instance. At most, one of either processing_units or node_count should be present in the message.

Users can set the processing_units field to specify the target number of processing units allocated to the instance.

If autoscaling is enabled, processing_units is treated as an OUTPUT_ONLY field and reflects the current number of processing units allocated to the instance.

This might be zero in API responses for instances that are not yet in the READY state.

For more information, see Compute capacity, nodes and processing units.

§replica_compute_capacity: Vec<ReplicaComputeCapacity>

Output only. Lists the compute capacity per ReplicaSelection. A replica selection identifies a set of replicas with common properties. Replicas identified by a ReplicaSelection are scaled with the same compute capacity.

§autoscaling_config: Option<AutoscalingConfig>

Optional. The autoscaling configuration. Autoscaling is enabled if this field is set. When autoscaling is enabled, node_count and processing_units are treated as OUTPUT_ONLY fields and reflect the current compute capacity allocated to the instance.

§state: State

Output only. The current instance state. For CreateInstance, the state must be either omitted or set to CREATING. For UpdateInstance, the state must be either omitted or set to READY.

§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. And so 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.

§instance_type: InstanceType

The InstanceType of the current instance.

§endpoint_uris: Vec<String>

Deprecated. This field is not populated.

§create_time: Option<Timestamp>

Output only. The time at which the instance was created.

§update_time: Option<Timestamp>

Output only. The time at which the instance was most recently updated.

§free_instance_metadata: Option<FreeInstanceMetadata>

Free instance metadata. Only populated for free instances.

§edition: Edition

Optional. The Edition of the current instance.

§default_backup_schedule_type: DefaultBackupScheduleType

Optional. Controls the default backup schedule behavior for new databases within the instance. By default, a backup schedule is created automatically when a new database is created in a new instance.

Note that the AUTOMATIC value isn’t permitted for free instances, as backups and backup schedules aren’t supported for free instances.

In the GetInstance or ListInstances response, if the value of default_backup_schedule_type isn’t set, or set to NONE, Spanner doesn’t create a default backup schedule for new databases in the instance.

Implementations§

Source§

impl Instance

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_config<T: Into<String>>(self, v: T) -> Self

Sets the value of config.

Source

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

Sets the value of display_name.

Source

pub fn set_node_count<T: Into<i32>>(self, v: T) -> Self

Sets the value of node_count.

Source

pub fn set_processing_units<T: Into<i32>>(self, v: T) -> Self

Sets the value of processing_units.

Source

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

Sets the value of replica_compute_capacity.

Source

pub fn set_autoscaling_config<T>(self, v: T) -> Self

Sets the value of autoscaling_config.

Source

pub fn set_or_clear_autoscaling_config<T>(self, v: Option<T>) -> Self

Sets or clears the value of autoscaling_config.

Source

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

Sets the value of state.

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_instance_type<T: Into<InstanceType>>(self, v: T) -> Self

Sets the value of instance_type.

Source

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

Sets the value of endpoint_uris.

Source

pub fn set_create_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of create_time.

Source

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

Sets or clears the value of create_time.

Source

pub fn set_update_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of update_time.

Source

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

Sets or clears the value of update_time.

Source

pub fn set_free_instance_metadata<T>(self, v: T) -> Self

Sets the value of free_instance_metadata.

Source

pub fn set_or_clear_free_instance_metadata<T>(self, v: Option<T>) -> Self

Sets or clears the value of free_instance_metadata.

Source

pub fn set_edition<T: Into<Edition>>(self, v: T) -> Self

Sets the value of edition.

Source

pub fn set_default_backup_schedule_type<T: Into<DefaultBackupScheduleType>>( self, v: T, ) -> Self

Sets the value of default_backup_schedule_type.

Trait Implementations§

Source§

impl Clone for Instance

Source§

fn clone(&self) -> Instance

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 Instance

Source§

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

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

impl Default for Instance

Source§

fn default() -> Instance

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

impl Message for Instance

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Instance

Source§

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

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,