Class: Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb

Overview

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

Defined Under Namespace

Modules: State, Type Classes: LabelsEntry

Instance Attribute Summary collapse

Instance Attribute Details

#base_config::String

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

Returns:

  • (::String)

    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.



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#config_type::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::Type (readonly)

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

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#display_name::String

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

Returns:

  • (::String)

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



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#etag::String

Returns 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:

  • (::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.



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#labels::Google::Protobuf::Map{::String => ::String}

Returns 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:

  • (::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.



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#leader_options::Array<::String>

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

Returns:

  • (::Array<::String>)

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



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#name::String

Returns 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:

  • (::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-.



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#optional_replicas::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo> (readonly)

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

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#reconciling::Boolean (readonly)

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

Returns:

  • (::Boolean)

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



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#replicas::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>

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

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end

#state::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::State (readonly)

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

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb', line 156

class InstanceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of this configuration.
  module Type
    # Unspecified.
    TYPE_UNSPECIFIED = 0

    # Google managed configuration.
    GOOGLE_MANAGED = 1

    # User managed configuration.
    USER_MANAGED = 2
  end

  # Indicates the current state of the instance configuration.
  module State
    # Not specified.
    STATE_UNSPECIFIED = 0

    # The instance configuration is still being created.
    CREATING = 1

    # The instance configuration is fully created and ready to be used to
    # create instances.
    READY = 2
  end
end