Class InstanceConfig
A possible configuration for a Cloud Spanner instance. Configurations define the geographic placement of nodes and their replication.
Implements
Inherited Members
Namespace: Google.Apis.Spanner.v1.Data
Assembly: Google.Apis.Spanner.v1.dll
Syntax
public class InstanceConfig : IDirectResponseSchema
Properties
BaseConfig
Base configuration name, e.g. projects//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.
Declaration
[JsonProperty("baseConfig")]
public virtual string BaseConfig { get; set; }
Property Value
Type | Description |
---|---|
string |
ConfigType
Output only. Whether this instance configuration is a Google-managed or user-managed configuration.
Declaration
[JsonProperty("configType")]
public virtual string ConfigType { get; set; }
Property Value
Type | Description |
---|---|
string |
DisplayName
The name of this instance configuration as it appears in UIs.
Declaration
[JsonProperty("displayName")]
public virtual string DisplayName { get; set; }
Property Value
Type | Description |
---|---|
string |
ETag
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.
Declaration
[JsonProperty("etag")]
public virtual string ETag { get; set; }
Property Value
Type | Description |
---|---|
string |
FreeInstanceAvailability
Output only. Describes whether free instances are available to be created in this instance configuration.
Declaration
[JsonProperty("freeInstanceAvailability")]
public virtual string FreeInstanceAvailability { get; set; }
Property Value
Type | Description |
---|---|
string |
Labels
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{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.
Declaration
[JsonProperty("labels")]
public virtual IDictionary<string, string> Labels { get; set; }
Property Value
Type | Description |
---|---|
IDictionary<string, string> |
LeaderOptions
Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.
Declaration
[JsonProperty("leaderOptions")]
public virtual IList<string> LeaderOptions { get; set; }
Property Value
Type | Description |
---|---|
IList<string> |
Name
A unique identifier for the instance configuration. Values are of the form projects//instanceConfigs/a-z*
.
User instance configuration must start with custom-
.
Declaration
[JsonProperty("name")]
public virtual string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
OptionalReplicas
Output only. The available optional replicas to choose from for user-managed configurations. Populated for Google-managed configurations.
Declaration
[JsonProperty("optionalReplicas")]
public virtual IList<ReplicaInfo> OptionalReplicas { get; set; }
Property Value
Type | Description |
---|---|
IList<ReplicaInfo> |
QuorumType
Output only. The QuorumType
of the instance configuration.
Declaration
[JsonProperty("quorumType")]
public virtual string QuorumType { get; set; }
Property Value
Type | Description |
---|---|
string |
Reconciling
Output only. If true, the instance configuration is being created or updated. If false, there are no ongoing operations for the instance configuration.
Declaration
[JsonProperty("reconciling")]
public virtual bool? Reconciling { get; set; }
Property Value
Type | Description |
---|---|
bool? |
Replicas
The geographic placement of nodes in this instance configuration and their replication properties. To create
user-managed configurations, input replicas
must include all replicas in replicas
of the base_config
and include one or more replicas in the optional_replicas
of the base_config
.
Declaration
[JsonProperty("replicas")]
public virtual IList<ReplicaInfo> Replicas { get; set; }
Property Value
Type | Description |
---|---|
IList<ReplicaInfo> |
State
Output only. The current instance configuration state. Applicable only for USER_MANAGED
configurations.
Declaration
[JsonProperty("state")]
public virtual string State { get; set; }
Property Value
Type | Description |
---|---|
string |
StorageLimitPerProcessingUnit
Output only. The storage limit in bytes per processing unit.
Declaration
[JsonProperty("storageLimitPerProcessingUnit")]
public virtual long? StorageLimitPerProcessingUnit { get; set; }
Property Value
Type | Description |
---|---|
long? |