InstanceConfigArgs

data class InstanceConfigArgs(val baseConfig: Output<String>? = null, val displayName: Output<String>? = null, val etag: Output<String>? = null, val instanceConfigId: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val leaderOptions: Output<List<String>>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val replicas: Output<List<ReplicaInfoArgs>>? = null, val validateOnly: Output<Boolean>? = null) : ConvertibleToJava<InstanceConfigArgs>

Creates an instance config and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance config. The instance config name is assigned by the caller. If the named instance config already exists, CreateInstanceConfig returns ALREADY_EXISTS. Immediately after the request returns: * The instance config is readable via the API, with all requested attributes. The instance config's reconciling field is set to true. Its state is CREATING. While the operation is pending: * Cancelling the operation renders the instance config immediately unreadable via the API. * Except for deleting the creating resource, all other attempts to modify the instance config are rejected. Upon completion of the returned operation: * Instances can be created using the instance configuration. * The instance config's reconciling field becomes false. Its state becomes READY. The returned long-running operation will have a name of the format /operations/ and can be used to track creation of the instance config. The metadata field type is CreateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires spanner.instanceConfigs.create permission on the resource parent.

Constructors

Link copied to clipboard
fun InstanceConfigArgs(baseConfig: Output<String>? = null, displayName: Output<String>? = null, etag: Output<String>? = null, instanceConfigId: Output<String>? = null, labels: Output<Map<String, String>>? = null, leaderOptions: Output<List<String>>? = null, name: Output<String>? = null, project: Output<String>? = null, replicas: Output<List<ReplicaInfoArgs>>? = null, validateOnly: Output<Boolean>? = null)

Functions

Link copied to clipboard
open override fun toJava(): InstanceConfigArgs

Properties

Link copied to clipboard
val baseConfig: Output<String>? = null

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.

Link copied to clipboard
val displayName: Output<String>? = null

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

Link copied to clipboard
val etag: Output<String>? = null

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.

Link copied to clipboard
val instanceConfigId: Output<String>? = null

The ID of the instance config to create. Valid identifiers are of the form custom-[-a-z0-9]*[a-z0-9] and must be between 2 and 64 characters in length. The custom- prefix is required to avoid name conflicts with Google managed configurations.

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

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.

Link copied to clipboard
val leaderOptions: Output<List<String>>? = null

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

Link copied to clipboard
val name: Output<String>? = null

A unique identifier for the instance configuration. Values are of the form projects//instanceConfigs/a-z*.

Link copied to clipboard
val project: Output<String>? = null
Link copied to clipboard
val replicas: Output<List<ReplicaInfoArgs>>? = null

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

Link copied to clipboard
val validateOnly: Output<Boolean>? = null

An option to validate, but not actually execute, a request, and provide the same response.