Reference documentation and code samples for the Cloud Spanner Instance Admin V1 API class Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig.
A possible configuration for a Cloud Spanner instance. Configurations define the geographic placement of nodes and their replication.
Inherits
- Object
Extended By
- Google::Protobuf::MessageExts::ClassMethods
Includes
- Google::Protobuf::MessageExts
Methods
#base_config
def base_config() -> ::String
- (::String) — Base configuration name, e.g. projects/
#base_config=
def base_config=(value) -> ::String
- value (::String) — Base configuration name, e.g. projects/
- (::String) — Base configuration name, e.g. projects/
#config_type
def config_type() -> ::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::Type
- (::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::Type) — Output only. Whether this instance config is a Google or User Managed Configuration.
#display_name
def display_name() -> ::String
- (::String) — The name of this instance configuration as it appears in UIs.
#display_name=
def display_name=(value) -> ::String
- value (::String) — The name of this instance configuration as it appears in UIs.
- (::String) — The name of this instance configuration as it appears in UIs.
#etag
def etag() -> ::String
- (::String) — etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.
#etag=
def etag=(value) -> ::String
- value (::String) — etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.
- (::String) — etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.
#labels
def labels() -> ::Google::Protobuf::Map{::String => ::String}
-
(::Google::Protobuf::Map{::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.
- Label keys must be between 1 and 63 characters long and must conform to
the following regular expression:
#labels=
def labels=(value) -> ::Google::Protobuf::Map{::String => ::String}
-
value (::Google::Protobuf::Map{::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.
- Label keys must be between 1 and 63 characters long and must conform to
the following regular expression:
-
(::Google::Protobuf::Map{::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.
- Label keys must be between 1 and 63 characters long and must conform to
the following regular expression:
#leader_options
def leader_options() -> ::Array<::String>
- (::Array<::String>) — Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.
#leader_options=
def leader_options=(value) -> ::Array<::String>
- value (::Array<::String>) — Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.
- (::Array<::String>) — Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.
#name
def name() -> ::String
-
(::String) — A unique identifier for the instance configuration. Values
are of the form
projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
.
#name=
def name=(value) -> ::String
-
value (::String) — A unique identifier for the instance configuration. Values
are of the form
projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
.
-
(::String) — A unique identifier for the instance configuration. Values
are of the form
projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
.
#optional_replicas
def optional_replicas() -> ::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>
- (::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>) — Output only. The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations.
#reconciling
def reconciling() -> ::Boolean
- (::Boolean) — Output only. If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config.
#replicas
def replicas() -> ::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>
- (::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>) — The geographic placement of nodes in this instance configuration and their replication properties.
#replicas=
def replicas=(value) -> ::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>
- value (::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>) — The geographic placement of nodes in this instance configuration and their replication properties.
- (::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>) — The geographic placement of nodes in this instance configuration and their replication properties.
#state
def state() -> ::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::State
- (::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::State) — Output only. The current instance config state.