Google Cloud Spanner Instance Administration v1 API - Class InstanceConfig (5.0.0-beta01)

public sealed class InstanceConfig : IMessage<InstanceConfig>, IEquatable<InstanceConfig>, IDeepCloneable<InstanceConfig>, IBufferMessage, IMessage

Reference documentation and code samples for the Google Cloud Spanner Instance Administration v1 API class InstanceConfig.

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

Inheritance

object > InstanceConfig

Namespace

Google.Cloud.Spanner.Admin.Instance.V1

Assembly

Google.Cloud.Spanner.Admin.Instance.V1.dll

Constructors

InstanceConfig()

public InstanceConfig()

InstanceConfig(InstanceConfig)

public InstanceConfig(InstanceConfig other)
Parameter
NameDescription
otherInstanceConfig

Properties

BaseConfig

public string BaseConfig { get; set; }

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.

Property Value
TypeDescription
string

BaseConfigAsInstanceConfigName

public InstanceConfigName BaseConfigAsInstanceConfigName { get; set; }

InstanceConfigName-typed view over the BaseConfig resource name property.

Property Value
TypeDescription
InstanceConfigName

ConfigType

public InstanceConfig.Types.Type ConfigType { get; set; }

Output only. Whether this instance config is a Google or User Managed Configuration.

Property Value
TypeDescription
InstanceConfigTypesType

DisplayName

public string DisplayName { get; set; }

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

Property Value
TypeDescription
string

Etag

public string Etag { get; set; }

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.

Property Value
TypeDescription
string

InstanceConfigName

public InstanceConfigName InstanceConfigName { get; set; }

InstanceConfigName-typed view over the Name resource name property.

Property Value
TypeDescription
InstanceConfigName

Labels

public MapField<string, string> Labels { get; }

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.

Property Value
TypeDescription
MapFieldstringstring

LeaderOptions

public RepeatedField<string> LeaderOptions { get; }

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

Property Value
TypeDescription
RepeatedFieldstring

Name

public string Name { get; set; }

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

Property Value
TypeDescription
string

OptionalReplicas

public RepeatedField<ReplicaInfo> OptionalReplicas { get; }

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

Property Value
TypeDescription
RepeatedFieldReplicaInfo

Reconciling

public bool Reconciling { get; set; }

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

Property Value
TypeDescription
bool

Replicas

public RepeatedField<ReplicaInfo> Replicas { get; }

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

Property Value
TypeDescription
RepeatedFieldReplicaInfo

State

public InstanceConfig.Types.State State { get; set; }

Output only. The current instance config state.

Property Value
TypeDescription
InstanceConfigTypesState