Class Instance

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, InstanceOrBuilder, Serializable

    public final class Instance
    extends com.google.protobuf.GeneratedMessageV3
    implements InstanceOrBuilder
     An isolated set of Cloud Spanner resources on which databases can be hosted.
     
    Protobuf type google.spanner.admin.instance.v1.Instance
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Instance.Builder
      An isolated set of Cloud Spanner resources on which databases can be hosted.
      static class  Instance.State
      Indicates the current state of the instance.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapField

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         Required. A unique identifier for the instance, which cannot be changed
         after the instance is created. Values are of the form
         `projects/<project>/instances/[a-z][-a-z0-9]*[a-z0-9]`. The final
         segment of the name must be between 2 and 64 characters in length.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getName in interface InstanceOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Required. A unique identifier for the instance, which cannot be changed
         after the instance is created. Values are of the form
         `projects/<project>/instances/[a-z][-a-z0-9]*[a-z0-9]`. The final
         segment of the name must be between 2 and 64 characters in length.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getNameBytes in interface InstanceOrBuilder
        Returns:
        The bytes for name.
      • getConfig

        public String getConfig()
         Required. The name of the instance's configuration. Values are of the form
         `projects/<project>/instanceConfigs/<configuration>`. See
         also [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] and
         [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
         
        string config = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Specified by:
        getConfig in interface InstanceOrBuilder
        Returns:
        The config.
      • getConfigBytes

        public com.google.protobuf.ByteString getConfigBytes()
         Required. The name of the instance's configuration. Values are of the form
         `projects/<project>/instanceConfigs/<configuration>`. See
         also [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] and
         [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
         
        string config = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Specified by:
        getConfigBytes in interface InstanceOrBuilder
        Returns:
        The bytes for config.
      • getDisplayName

        public String getDisplayName()
         Required. The descriptive name for this instance as it appears in UIs.
         Must be unique per project and between 4 and 30 characters in length.
         
        string display_name = 3 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getDisplayName in interface InstanceOrBuilder
        Returns:
        The displayName.
      • getDisplayNameBytes

        public com.google.protobuf.ByteString getDisplayNameBytes()
         Required. The descriptive name for this instance as it appears in UIs.
         Must be unique per project and between 4 and 30 characters in length.
         
        string display_name = 3 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getDisplayNameBytes in interface InstanceOrBuilder
        Returns:
        The bytes for displayName.
      • getNodeCount

        public int getNodeCount()
         The number of nodes allocated to this instance. At most one of either
         node_count or processing_units should be present in the message. This
         may be zero in API responses for instances that are not yet in state
         `READY`.
        
         See [the
         documentation](https://cloud.google.com/spanner/docs/compute-capacity)
         for more information about nodes and processing units.
         
        int32 node_count = 5;
        Specified by:
        getNodeCount in interface InstanceOrBuilder
        Returns:
        The nodeCount.
      • getProcessingUnits

        public int getProcessingUnits()
         The number of processing units allocated to this instance. At most one of
         processing_units or node_count should be present in the message. This may
         be zero in API responses for instances that are not yet in state `READY`.
        
         See [the
         documentation](https://cloud.google.com/spanner/docs/compute-capacity)
         for more information about nodes and processing units.
         
        int32 processing_units = 9;
        Specified by:
        getProcessingUnits in interface InstanceOrBuilder
        Returns:
        The processingUnits.
      • getStateValue

        public int getStateValue()
         Output only. The current instance state. For
         [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
         the state must be either omitted or set to `CREATING`. For
         [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
         the state must be either omitted or set to `READY`.
         
        .google.spanner.admin.instance.v1.Instance.State state = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getStateValue in interface InstanceOrBuilder
        Returns:
        The enum numeric value on the wire for state.
      • getState

        public Instance.State getState()
         Output only. The current instance state. For
         [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
         the state must be either omitted or set to `CREATING`. For
         [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
         the state must be either omitted or set to `READY`.
         
        .google.spanner.admin.instance.v1.Instance.State state = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getState in interface InstanceOrBuilder
        Returns:
        The state.
      • getLabelsCount

        public int getLabelsCount()
        Description copied from interface: InstanceOrBuilder
         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. And so 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.
         
        map<string, string> labels = 7;
        Specified by:
        getLabelsCount in interface InstanceOrBuilder
      • containsLabels

        public boolean containsLabels​(String key)
         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. And so 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.
         
        map<string, string> labels = 7;
        Specified by:
        containsLabels in interface InstanceOrBuilder
      • getLabelsMap

        public Map<String,​String> getLabelsMap()
         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. And so 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.
         
        map<string, string> labels = 7;
        Specified by:
        getLabelsMap in interface InstanceOrBuilder
      • getLabelsOrDefault

        public String getLabelsOrDefault​(String key,
                                         String defaultValue)
         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. And so 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.
         
        map<string, string> labels = 7;
        Specified by:
        getLabelsOrDefault in interface InstanceOrBuilder
      • getLabelsOrThrow

        public String getLabelsOrThrow​(String key)
         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. And so 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.
         
        map<string, string> labels = 7;
        Specified by:
        getLabelsOrThrow in interface InstanceOrBuilder
      • getEndpointUrisList

        public com.google.protobuf.ProtocolStringList getEndpointUrisList()
         Deprecated. This field is not populated.
         
        repeated string endpoint_uris = 8;
        Specified by:
        getEndpointUrisList in interface InstanceOrBuilder
        Returns:
        A list containing the endpointUris.
      • getEndpointUrisCount

        public int getEndpointUrisCount()
         Deprecated. This field is not populated.
         
        repeated string endpoint_uris = 8;
        Specified by:
        getEndpointUrisCount in interface InstanceOrBuilder
        Returns:
        The count of endpointUris.
      • getEndpointUris

        public String getEndpointUris​(int index)
         Deprecated. This field is not populated.
         
        repeated string endpoint_uris = 8;
        Specified by:
        getEndpointUris in interface InstanceOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The endpointUris at the given index.
      • getEndpointUrisBytes

        public com.google.protobuf.ByteString getEndpointUrisBytes​(int index)
         Deprecated. This field is not populated.
         
        repeated string endpoint_uris = 8;
        Specified by:
        getEndpointUrisBytes in interface InstanceOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the endpointUris at the given index.
      • hasCreateTime

        public boolean hasCreateTime()
         Output only. The time at which the instance was created.
         
        .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        hasCreateTime in interface InstanceOrBuilder
        Returns:
        Whether the createTime field is set.
      • getCreateTime

        public com.google.protobuf.Timestamp getCreateTime()
         Output only. The time at which the instance was created.
         
        .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getCreateTime in interface InstanceOrBuilder
        Returns:
        The createTime.
      • getCreateTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder()
         Output only. The time at which the instance was created.
         
        .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getCreateTimeOrBuilder in interface InstanceOrBuilder
      • hasUpdateTime

        public boolean hasUpdateTime()
         Output only. The time at which the instance was most recently updated.
         
        .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        hasUpdateTime in interface InstanceOrBuilder
        Returns:
        Whether the updateTime field is set.
      • getUpdateTime

        public com.google.protobuf.Timestamp getUpdateTime()
         Output only. The time at which the instance was most recently updated.
         
        .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getUpdateTime in interface InstanceOrBuilder
        Returns:
        The updateTime.
      • getUpdateTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder()
         Output only. The time at which the instance was most recently updated.
         
        .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getUpdateTimeOrBuilder in interface InstanceOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Instance parseFrom​(ByteBuffer data)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Instance parseFrom​(ByteBuffer data,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Instance parseFrom​(com.google.protobuf.ByteString data)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Instance parseFrom​(com.google.protobuf.ByteString data,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Instance parseFrom​(byte[] data)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Instance parseFrom​(byte[] data,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Instance parseFrom​(com.google.protobuf.CodedInputStream input,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws IOException
        Throws:
        IOException
      • newBuilderForType

        public Instance.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Instance.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Instance.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Instance getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<Instance> parser()
      • getParserForType

        public com.google.protobuf.Parser<Instance> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Instance getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder