#[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
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
impl Instance
pub fn new() -> Self
Sourcepub fn set_config<T: Into<String>>(self, v: T) -> Self
pub fn set_config<T: Into<String>>(self, v: T) -> Self
Sets the value of config.
Sourcepub fn set_display_name<T: Into<String>>(self, v: T) -> Self
pub fn set_display_name<T: Into<String>>(self, v: T) -> Self
Sets the value of display_name.
Sourcepub fn set_node_count<T: Into<i32>>(self, v: T) -> Self
pub fn set_node_count<T: Into<i32>>(self, v: T) -> Self
Sets the value of node_count.
Sourcepub fn set_processing_units<T: Into<i32>>(self, v: T) -> Self
pub fn set_processing_units<T: Into<i32>>(self, v: T) -> Self
Sets the value of processing_units.
Sourcepub fn set_replica_compute_capacity<T, V>(self, v: T) -> Self
pub fn set_replica_compute_capacity<T, V>(self, v: T) -> Self
Sets the value of replica_compute_capacity.
Sourcepub fn set_autoscaling_config<T>(self, v: T) -> Selfwhere
T: Into<AutoscalingConfig>,
pub fn set_autoscaling_config<T>(self, v: T) -> Selfwhere
T: Into<AutoscalingConfig>,
Sets the value of autoscaling_config.
Sourcepub fn set_or_clear_autoscaling_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<AutoscalingConfig>,
pub fn set_or_clear_autoscaling_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<AutoscalingConfig>,
Sets or clears the value of autoscaling_config.
Sourcepub fn set_labels<T, K, V>(self, v: T) -> Self
pub fn set_labels<T, K, V>(self, v: T) -> Self
Sets the value of labels.
Sourcepub fn set_instance_type<T: Into<InstanceType>>(self, v: T) -> Self
pub fn set_instance_type<T: Into<InstanceType>>(self, v: T) -> Self
Sets the value of instance_type.
Sourcepub fn set_endpoint_uris<T, V>(self, v: T) -> Self
pub fn set_endpoint_uris<T, V>(self, v: T) -> Self
Sets the value of endpoint_uris.
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
Sourcepub fn set_free_instance_metadata<T>(self, v: T) -> Selfwhere
T: Into<FreeInstanceMetadata>,
pub fn set_free_instance_metadata<T>(self, v: T) -> Selfwhere
T: Into<FreeInstanceMetadata>,
Sets the value of free_instance_metadata.
Sourcepub fn set_or_clear_free_instance_metadata<T>(self, v: Option<T>) -> Selfwhere
T: Into<FreeInstanceMetadata>,
pub fn set_or_clear_free_instance_metadata<T>(self, v: Option<T>) -> Selfwhere
T: Into<FreeInstanceMetadata>,
Sets or clears the value of free_instance_metadata.
Sourcepub fn set_edition<T: Into<Edition>>(self, v: T) -> Self
pub fn set_edition<T: Into<Edition>>(self, v: T) -> Self
Sets the value of edition.
Sourcepub fn set_default_backup_schedule_type<T: Into<DefaultBackupScheduleType>>(
self,
v: T,
) -> Self
pub fn set_default_backup_schedule_type<T: Into<DefaultBackupScheduleType>>( self, v: T, ) -> Self
Sets the value of default_backup_schedule_type.