Class Automation

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.deploy.v1.Automation
All Implemented Interfaces:
AutomationOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class Automation extends com.google.protobuf.GeneratedMessage implements AutomationOrBuilder
 An `Automation` resource in the Cloud Deploy API.

 An `Automation` enables the automation of manually driven actions for
 a Delivery Pipeline, which includes Release promotion among Targets,
 Rollout repair and Rollout deployment strategy advancement. The intention
 of Automation is to reduce manual intervention in the continuous delivery
 process.
 
Protobuf type google.cloud.deploy.v1.Automation
See Also:
  • Field Details

  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
      Overrides:
      internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessage
    • internalGetFieldAccessorTable

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

      public String getName()
       Output only. Name of the `Automation`. Format is
       `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}`.
       
      string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getName in interface AutomationOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       Output only. Name of the `Automation`. Format is
       `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}`.
       
      string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getNameBytes in interface AutomationOrBuilder
      Returns:
      The bytes for name.
    • getUid

      public String getUid()
       Output only. Unique identifier of the `Automation`.
       
      string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getUid in interface AutomationOrBuilder
      Returns:
      The uid.
    • getUidBytes

      public com.google.protobuf.ByteString getUidBytes()
       Output only. Unique identifier of the `Automation`.
       
      string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getUidBytes in interface AutomationOrBuilder
      Returns:
      The bytes for uid.
    • getDescription

      public String getDescription()
       Optional. Description of the `Automation`. Max length is 255 characters.
       
      string description = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getDescription in interface AutomationOrBuilder
      Returns:
      The description.
    • getDescriptionBytes

      public com.google.protobuf.ByteString getDescriptionBytes()
       Optional. Description of the `Automation`. Max length is 255 characters.
       
      string description = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getDescriptionBytes in interface AutomationOrBuilder
      Returns:
      The bytes for description.
    • hasCreateTime

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

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

      public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder()
       Output only. Time at which the automation was created.
       
      .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getCreateTimeOrBuilder in interface AutomationOrBuilder
    • hasUpdateTime

      public boolean hasUpdateTime()
       Output only. Time at which the automation was updated.
       
      .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      hasUpdateTime in interface AutomationOrBuilder
      Returns:
      Whether the updateTime field is set.
    • getUpdateTime

      public com.google.protobuf.Timestamp getUpdateTime()
       Output only. Time at which the automation was updated.
       
      .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getUpdateTime in interface AutomationOrBuilder
      Returns:
      The updateTime.
    • getUpdateTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder()
       Output only. Time at which the automation was updated.
       
      .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getUpdateTimeOrBuilder in interface AutomationOrBuilder
    • getAnnotationsCount

      public int getAnnotationsCount()
      Description copied from interface: AutomationOrBuilder
       Optional. User annotations. These attributes can only be set and used by
       the user, and not by Cloud Deploy. Annotations must meet the following
       constraints:
      
       * Annotations are key/value pairs.
       * Valid annotation keys have two segments: an optional prefix and name,
       separated by a slash (`/`).
       * The name segment is required and must be 63 characters or less,
       beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
       dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
       * The prefix is optional. If specified, the prefix must be a DNS subdomain:
       a series of DNS labels separated by dots(`.`), not longer than 253
       characters in total, followed by a slash (`/`).
      
       See
       https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
       for more details.
       
      map<string, string> annotations = 6 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getAnnotationsCount in interface AutomationOrBuilder
    • containsAnnotations

      public boolean containsAnnotations(String key)
       Optional. User annotations. These attributes can only be set and used by
       the user, and not by Cloud Deploy. Annotations must meet the following
       constraints:
      
       * Annotations are key/value pairs.
       * Valid annotation keys have two segments: an optional prefix and name,
       separated by a slash (`/`).
       * The name segment is required and must be 63 characters or less,
       beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
       dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
       * The prefix is optional. If specified, the prefix must be a DNS subdomain:
       a series of DNS labels separated by dots(`.`), not longer than 253
       characters in total, followed by a slash (`/`).
      
       See
       https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
       for more details.
       
      map<string, string> annotations = 6 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      containsAnnotations in interface AutomationOrBuilder
    • getAnnotations

      @Deprecated public Map<String,String> getAnnotations()
      Deprecated.
      Use getAnnotationsMap() instead.
      Specified by:
      getAnnotations in interface AutomationOrBuilder
    • getAnnotationsMap

      public Map<String,String> getAnnotationsMap()
       Optional. User annotations. These attributes can only be set and used by
       the user, and not by Cloud Deploy. Annotations must meet the following
       constraints:
      
       * Annotations are key/value pairs.
       * Valid annotation keys have two segments: an optional prefix and name,
       separated by a slash (`/`).
       * The name segment is required and must be 63 characters or less,
       beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
       dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
       * The prefix is optional. If specified, the prefix must be a DNS subdomain:
       a series of DNS labels separated by dots(`.`), not longer than 253
       characters in total, followed by a slash (`/`).
      
       See
       https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
       for more details.
       
      map<string, string> annotations = 6 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getAnnotationsMap in interface AutomationOrBuilder
    • getAnnotationsOrDefault

      public String getAnnotationsOrDefault(String key, String defaultValue)
       Optional. User annotations. These attributes can only be set and used by
       the user, and not by Cloud Deploy. Annotations must meet the following
       constraints:
      
       * Annotations are key/value pairs.
       * Valid annotation keys have two segments: an optional prefix and name,
       separated by a slash (`/`).
       * The name segment is required and must be 63 characters or less,
       beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
       dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
       * The prefix is optional. If specified, the prefix must be a DNS subdomain:
       a series of DNS labels separated by dots(`.`), not longer than 253
       characters in total, followed by a slash (`/`).
      
       See
       https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
       for more details.
       
      map<string, string> annotations = 6 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getAnnotationsOrDefault in interface AutomationOrBuilder
    • getAnnotationsOrThrow

      public String getAnnotationsOrThrow(String key)
       Optional. User annotations. These attributes can only be set and used by
       the user, and not by Cloud Deploy. Annotations must meet the following
       constraints:
      
       * Annotations are key/value pairs.
       * Valid annotation keys have two segments: an optional prefix and name,
       separated by a slash (`/`).
       * The name segment is required and must be 63 characters or less,
       beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
       dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
       * The prefix is optional. If specified, the prefix must be a DNS subdomain:
       a series of DNS labels separated by dots(`.`), not longer than 253
       characters in total, followed by a slash (`/`).
      
       See
       https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
       for more details.
       
      map<string, string> annotations = 6 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getAnnotationsOrThrow in interface AutomationOrBuilder
    • getLabelsCount

      public int getLabelsCount()
      Description copied from interface: AutomationOrBuilder
       Optional. Labels are attributes that can be set and used by both the
       user and by Cloud Deploy. Labels must meet the following constraints:
      
       * Keys and values can contain only lowercase letters, numeric characters,
       underscores, and dashes.
       * All characters must use UTF-8 encoding, and international characters are
       allowed.
       * Keys must start with a lowercase letter or international character.
       * Each resource is limited to a maximum of 64 labels.
      
       Both keys and values are additionally constrained to be <= 63 characters.
       
      map<string, string> labels = 7 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getLabelsCount in interface AutomationOrBuilder
    • containsLabels

      public boolean containsLabels(String key)
       Optional. Labels are attributes that can be set and used by both the
       user and by Cloud Deploy. Labels must meet the following constraints:
      
       * Keys and values can contain only lowercase letters, numeric characters,
       underscores, and dashes.
       * All characters must use UTF-8 encoding, and international characters are
       allowed.
       * Keys must start with a lowercase letter or international character.
       * Each resource is limited to a maximum of 64 labels.
      
       Both keys and values are additionally constrained to be <= 63 characters.
       
      map<string, string> labels = 7 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      containsLabels in interface AutomationOrBuilder
    • getLabels

      @Deprecated public Map<String,String> getLabels()
      Deprecated.
      Use getLabelsMap() instead.
      Specified by:
      getLabels in interface AutomationOrBuilder
    • getLabelsMap

      public Map<String,String> getLabelsMap()
       Optional. Labels are attributes that can be set and used by both the
       user and by Cloud Deploy. Labels must meet the following constraints:
      
       * Keys and values can contain only lowercase letters, numeric characters,
       underscores, and dashes.
       * All characters must use UTF-8 encoding, and international characters are
       allowed.
       * Keys must start with a lowercase letter or international character.
       * Each resource is limited to a maximum of 64 labels.
      
       Both keys and values are additionally constrained to be <= 63 characters.
       
      map<string, string> labels = 7 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getLabelsMap in interface AutomationOrBuilder
    • getLabelsOrDefault

      public String getLabelsOrDefault(String key, String defaultValue)
       Optional. Labels are attributes that can be set and used by both the
       user and by Cloud Deploy. Labels must meet the following constraints:
      
       * Keys and values can contain only lowercase letters, numeric characters,
       underscores, and dashes.
       * All characters must use UTF-8 encoding, and international characters are
       allowed.
       * Keys must start with a lowercase letter or international character.
       * Each resource is limited to a maximum of 64 labels.
      
       Both keys and values are additionally constrained to be <= 63 characters.
       
      map<string, string> labels = 7 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getLabelsOrDefault in interface AutomationOrBuilder
    • getLabelsOrThrow

      public String getLabelsOrThrow(String key)
       Optional. Labels are attributes that can be set and used by both the
       user and by Cloud Deploy. Labels must meet the following constraints:
      
       * Keys and values can contain only lowercase letters, numeric characters,
       underscores, and dashes.
       * All characters must use UTF-8 encoding, and international characters are
       allowed.
       * Keys must start with a lowercase letter or international character.
       * Each resource is limited to a maximum of 64 labels.
      
       Both keys and values are additionally constrained to be <= 63 characters.
       
      map<string, string> labels = 7 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getLabelsOrThrow in interface AutomationOrBuilder
    • getEtag

      public String getEtag()
       Optional. The weak etag of the `Automation` resource.
       This checksum is computed by the server based on the value of other
       fields, and may be sent on update and delete requests to ensure the
       client has an up-to-date value before proceeding.
       
      string etag = 8 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getEtag in interface AutomationOrBuilder
      Returns:
      The etag.
    • getEtagBytes

      public com.google.protobuf.ByteString getEtagBytes()
       Optional. The weak etag of the `Automation` resource.
       This checksum is computed by the server based on the value of other
       fields, and may be sent on update and delete requests to ensure the
       client has an up-to-date value before proceeding.
       
      string etag = 8 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getEtagBytes in interface AutomationOrBuilder
      Returns:
      The bytes for etag.
    • getSuspended

      public boolean getSuspended()
       Optional. When Suspended, automation is deactivated from execution.
       
      bool suspended = 9 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getSuspended in interface AutomationOrBuilder
      Returns:
      The suspended.
    • getServiceAccount

      public String getServiceAccount()
       Required. Email address of the user-managed IAM service account that
       creates Cloud Deploy release and rollout resources.
       
      string service_account = 10 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getServiceAccount in interface AutomationOrBuilder
      Returns:
      The serviceAccount.
    • getServiceAccountBytes

      public com.google.protobuf.ByteString getServiceAccountBytes()
       Required. Email address of the user-managed IAM service account that
       creates Cloud Deploy release and rollout resources.
       
      string service_account = 10 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getServiceAccountBytes in interface AutomationOrBuilder
      Returns:
      The bytes for serviceAccount.
    • hasSelector

      public boolean hasSelector()
       Required. Selected resources to which the automation will be applied.
       
      .google.cloud.deploy.v1.AutomationResourceSelector selector = 11 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      hasSelector in interface AutomationOrBuilder
      Returns:
      Whether the selector field is set.
    • getSelector

      public AutomationResourceSelector getSelector()
       Required. Selected resources to which the automation will be applied.
       
      .google.cloud.deploy.v1.AutomationResourceSelector selector = 11 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getSelector in interface AutomationOrBuilder
      Returns:
      The selector.
    • getSelectorOrBuilder

      public AutomationResourceSelectorOrBuilder getSelectorOrBuilder()
       Required. Selected resources to which the automation will be applied.
       
      .google.cloud.deploy.v1.AutomationResourceSelector selector = 11 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getSelectorOrBuilder in interface AutomationOrBuilder
    • getRulesList

      public List<AutomationRule> getRulesList()
       Required. List of Automation rules associated with the Automation resource.
       Must have at least one rule and limited to 250 rules per Delivery Pipeline.
       Note: the order of the rules here is not the same as the order of
       execution.
       
      repeated .google.cloud.deploy.v1.AutomationRule rules = 14 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getRulesList in interface AutomationOrBuilder
    • getRulesOrBuilderList

      public List<? extends AutomationRuleOrBuilder> getRulesOrBuilderList()
       Required. List of Automation rules associated with the Automation resource.
       Must have at least one rule and limited to 250 rules per Delivery Pipeline.
       Note: the order of the rules here is not the same as the order of
       execution.
       
      repeated .google.cloud.deploy.v1.AutomationRule rules = 14 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getRulesOrBuilderList in interface AutomationOrBuilder
    • getRulesCount

      public int getRulesCount()
       Required. List of Automation rules associated with the Automation resource.
       Must have at least one rule and limited to 250 rules per Delivery Pipeline.
       Note: the order of the rules here is not the same as the order of
       execution.
       
      repeated .google.cloud.deploy.v1.AutomationRule rules = 14 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getRulesCount in interface AutomationOrBuilder
    • getRules

      public AutomationRule getRules(int index)
       Required. List of Automation rules associated with the Automation resource.
       Must have at least one rule and limited to 250 rules per Delivery Pipeline.
       Note: the order of the rules here is not the same as the order of
       execution.
       
      repeated .google.cloud.deploy.v1.AutomationRule rules = 14 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getRules in interface AutomationOrBuilder
    • getRulesOrBuilder

      public AutomationRuleOrBuilder getRulesOrBuilder(int index)
       Required. List of Automation rules associated with the Automation resource.
       Must have at least one rule and limited to 250 rules per Delivery Pipeline.
       Note: the order of the rules here is not the same as the order of
       execution.
       
      repeated .google.cloud.deploy.v1.AutomationRule rules = 14 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getRulesOrBuilder in interface AutomationOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • 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.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • 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 Automation parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

      public static Automation parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Automation parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Automation parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Automation parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Automation parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

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

      public static Automation.Builder newBuilder()
    • newBuilder

      public static Automation.Builder newBuilder(Automation prototype)
    • toBuilder

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

      protected Automation.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static Automation getDefaultInstance()
    • parser

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

      public com.google.protobuf.Parser<Automation> 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.GeneratedMessage
    • getDefaultInstanceForType

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