Cloud Spanner V1 Client - Class InstanceConfig (1.91.0)

Reference documentation and code samples for the Cloud Spanner V1 Client class InstanceConfig.

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

Generated from protobuf message google.spanner.admin.instance.v1.InstanceConfig

Namespace

Google \ Cloud \ Spanner \ Admin \ Instance \ V1

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ 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 int

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

↳ replicas array<ReplicaInfo>

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

↳ optional_replicas array<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 array|Google\Protobuf\Internal\MapField

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 array

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 int

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

getName

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

Returns
Type Description
string

setName

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

Parameter
Name Description
var string
Returns
Type Description
$this

getDisplayName

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

Returns
Type Description
string

setDisplayName

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

Parameter
Name Description
var string
Returns
Type Description
$this

getConfigType

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

Returns
Type Description
int

setConfigType

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

Parameter
Name Description
var int
Returns
Type Description
$this

getReplicas

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

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setReplicas

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

Parameter
Name Description
var array<ReplicaInfo>
Returns
Type Description
$this

getOptionalReplicas

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

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setOptionalReplicas

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

Parameter
Name Description
var array<ReplicaInfo>
Returns
Type Description
$this

getBaseConfig

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.

Returns
Type Description
string

setBaseConfig

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.

Parameter
Name Description
var string
Returns
Type Description
$this

getLabels

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.
Returns
Type Description
Google\Protobuf\Internal\MapField

setLabels

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.
Parameter
Name Description
var array|Google\Protobuf\Internal\MapField
Returns
Type Description
$this

getEtag

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.

Returns
Type Description
string

setEtag

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.

Parameter
Name Description
var string
Returns
Type Description
$this

getLeaderOptions

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

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setLeaderOptions

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

Parameter
Name Description
var string[]
Returns
Type Description
$this

getReconciling

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

Returns
Type Description
bool

setReconciling

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

Parameter
Name Description
var bool
Returns
Type Description
$this

getState

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

Returns
Type Description
int

setState

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

Parameter
Name Description
var int
Returns
Type Description
$this