Class SecurityPolicy

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

    public final class SecurityPolicy
    extends com.google.protobuf.GeneratedMessageV3
    implements SecurityPolicyOrBuilder
     Represents a Google Cloud Armor security policy resource. Only external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview.
     
    Protobuf type google.cloud.compute.v1.SecurityPolicy
    See Also:
    Serialized Form
    • 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
      • hasAdaptiveProtectionConfig

        public boolean hasAdaptiveProtectionConfig()
        optional .google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig adaptive_protection_config = 150240735;
        Specified by:
        hasAdaptiveProtectionConfig in interface SecurityPolicyOrBuilder
        Returns:
        Whether the adaptiveProtectionConfig field is set.
      • hasAdvancedOptionsConfig

        public boolean hasAdvancedOptionsConfig()
        optional .google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig advanced_options_config = 449276352;
        Specified by:
        hasAdvancedOptionsConfig in interface SecurityPolicyOrBuilder
        Returns:
        Whether the advancedOptionsConfig field is set.
      • hasCreationTimestamp

        public boolean hasCreationTimestamp()
         [Output Only] Creation timestamp in RFC3339 text format.
         
        optional string creation_timestamp = 30525366;
        Specified by:
        hasCreationTimestamp in interface SecurityPolicyOrBuilder
        Returns:
        Whether the creationTimestamp field is set.
      • getCreationTimestamp

        public String getCreationTimestamp()
         [Output Only] Creation timestamp in RFC3339 text format.
         
        optional string creation_timestamp = 30525366;
        Specified by:
        getCreationTimestamp in interface SecurityPolicyOrBuilder
        Returns:
        The creationTimestamp.
      • getCreationTimestampBytes

        public com.google.protobuf.ByteString getCreationTimestampBytes()
         [Output Only] Creation timestamp in RFC3339 text format.
         
        optional string creation_timestamp = 30525366;
        Specified by:
        getCreationTimestampBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for creationTimestamp.
      • hasDdosProtectionConfig

        public boolean hasDdosProtectionConfig()
        optional .google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig ddos_protection_config = 50315853;
        Specified by:
        hasDdosProtectionConfig in interface SecurityPolicyOrBuilder
        Returns:
        Whether the ddosProtectionConfig field is set.
      • hasDescription

        public boolean hasDescription()
         An optional description of this resource. Provide this property when you create the resource.
         
        optional string description = 422937596;
        Specified by:
        hasDescription in interface SecurityPolicyOrBuilder
        Returns:
        Whether the description field is set.
      • getDescription

        public String getDescription()
         An optional description of this resource. Provide this property when you create the resource.
         
        optional string description = 422937596;
        Specified by:
        getDescription in interface SecurityPolicyOrBuilder
        Returns:
        The description.
      • getDescriptionBytes

        public com.google.protobuf.ByteString getDescriptionBytes()
         An optional description of this resource. Provide this property when you create the resource.
         
        optional string description = 422937596;
        Specified by:
        getDescriptionBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for description.
      • hasFingerprint

        public boolean hasFingerprint()
         Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy.
         
        optional string fingerprint = 234678500;
        Specified by:
        hasFingerprint in interface SecurityPolicyOrBuilder
        Returns:
        Whether the fingerprint field is set.
      • getFingerprint

        public String getFingerprint()
         Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy.
         
        optional string fingerprint = 234678500;
        Specified by:
        getFingerprint in interface SecurityPolicyOrBuilder
        Returns:
        The fingerprint.
      • getFingerprintBytes

        public com.google.protobuf.ByteString getFingerprintBytes()
         Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy.
         
        optional string fingerprint = 234678500;
        Specified by:
        getFingerprintBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for fingerprint.
      • hasId

        public boolean hasId()
         [Output Only] The unique identifier for the resource. This identifier is defined by the server.
         
        optional uint64 id = 3355;
        Specified by:
        hasId in interface SecurityPolicyOrBuilder
        Returns:
        Whether the id field is set.
      • getId

        public long getId()
         [Output Only] The unique identifier for the resource. This identifier is defined by the server.
         
        optional uint64 id = 3355;
        Specified by:
        getId in interface SecurityPolicyOrBuilder
        Returns:
        The id.
      • hasKind

        public boolean hasKind()
         [Output only] Type of the resource. Always compute#securityPolicyfor security policies
         
        optional string kind = 3292052;
        Specified by:
        hasKind in interface SecurityPolicyOrBuilder
        Returns:
        Whether the kind field is set.
      • getKind

        public String getKind()
         [Output only] Type of the resource. Always compute#securityPolicyfor security policies
         
        optional string kind = 3292052;
        Specified by:
        getKind in interface SecurityPolicyOrBuilder
        Returns:
        The kind.
      • getKindBytes

        public com.google.protobuf.ByteString getKindBytes()
         [Output only] Type of the resource. Always compute#securityPolicyfor security policies
         
        optional string kind = 3292052;
        Specified by:
        getKindBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for kind.
      • hasLabelFingerprint

        public boolean hasLabelFingerprint()
         A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy.
         
        optional string label_fingerprint = 178124825;
        Specified by:
        hasLabelFingerprint in interface SecurityPolicyOrBuilder
        Returns:
        Whether the labelFingerprint field is set.
      • getLabelFingerprint

        public String getLabelFingerprint()
         A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy.
         
        optional string label_fingerprint = 178124825;
        Specified by:
        getLabelFingerprint in interface SecurityPolicyOrBuilder
        Returns:
        The labelFingerprint.
      • getLabelFingerprintBytes

        public com.google.protobuf.ByteString getLabelFingerprintBytes()
         A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy.
         
        optional string label_fingerprint = 178124825;
        Specified by:
        getLabelFingerprintBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for labelFingerprint.
      • getLabelsCount

        public int getLabelsCount()
        Description copied from interface: SecurityPolicyOrBuilder
         Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
         
        map<string, string> labels = 500195327;
        Specified by:
        getLabelsCount in interface SecurityPolicyOrBuilder
      • containsLabels

        public boolean containsLabels​(String key)
         Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
         
        map<string, string> labels = 500195327;
        Specified by:
        containsLabels in interface SecurityPolicyOrBuilder
      • getLabelsMap

        public Map<String,​String> getLabelsMap()
         Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
         
        map<string, string> labels = 500195327;
        Specified by:
        getLabelsMap in interface SecurityPolicyOrBuilder
      • getLabelsOrDefault

        public String getLabelsOrDefault​(String key,
                                         String defaultValue)
         Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
         
        map<string, string> labels = 500195327;
        Specified by:
        getLabelsOrDefault in interface SecurityPolicyOrBuilder
      • getLabelsOrThrow

        public String getLabelsOrThrow​(String key)
         Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
         
        map<string, string> labels = 500195327;
        Specified by:
        getLabelsOrThrow in interface SecurityPolicyOrBuilder
      • hasName

        public boolean hasName()
         Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
         
        optional string name = 3373707;
        Specified by:
        hasName in interface SecurityPolicyOrBuilder
        Returns:
        Whether the name field is set.
      • getName

        public String getName()
         Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
         
        optional string name = 3373707;
        Specified by:
        getName in interface SecurityPolicyOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
         
        optional string name = 3373707;
        Specified by:
        getNameBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for name.
      • hasRecaptchaOptionsConfig

        public boolean hasRecaptchaOptionsConfig()
        optional .google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig recaptcha_options_config = 519006811;
        Specified by:
        hasRecaptchaOptionsConfig in interface SecurityPolicyOrBuilder
        Returns:
        Whether the recaptchaOptionsConfig field is set.
      • hasRegion

        public boolean hasRegion()
         [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
         
        optional string region = 138946292;
        Specified by:
        hasRegion in interface SecurityPolicyOrBuilder
        Returns:
        Whether the region field is set.
      • getRegion

        public String getRegion()
         [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
         
        optional string region = 138946292;
        Specified by:
        getRegion in interface SecurityPolicyOrBuilder
        Returns:
        The region.
      • getRegionBytes

        public com.google.protobuf.ByteString getRegionBytes()
         [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
         
        optional string region = 138946292;
        Specified by:
        getRegionBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for region.
      • getRulesList

        public List<SecurityPolicyRule> getRulesList()
         A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added.
         
        repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;
        Specified by:
        getRulesList in interface SecurityPolicyOrBuilder
      • getRulesOrBuilderList

        public List<? extends SecurityPolicyRuleOrBuilder> getRulesOrBuilderList()
         A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added.
         
        repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;
        Specified by:
        getRulesOrBuilderList in interface SecurityPolicyOrBuilder
      • getRulesCount

        public int getRulesCount()
         A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added.
         
        repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;
        Specified by:
        getRulesCount in interface SecurityPolicyOrBuilder
      • getRules

        public SecurityPolicyRule getRules​(int index)
         A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added.
         
        repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;
        Specified by:
        getRules in interface SecurityPolicyOrBuilder
      • getRulesOrBuilder

        public SecurityPolicyRuleOrBuilder getRulesOrBuilder​(int index)
         A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added.
         
        repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;
        Specified by:
        getRulesOrBuilder in interface SecurityPolicyOrBuilder
      • hasSelfLink

        public boolean hasSelfLink()
         [Output Only] Server-defined URL for the resource.
         
        optional string self_link = 456214797;
        Specified by:
        hasSelfLink in interface SecurityPolicyOrBuilder
        Returns:
        Whether the selfLink field is set.
      • getSelfLink

        public String getSelfLink()
         [Output Only] Server-defined URL for the resource.
         
        optional string self_link = 456214797;
        Specified by:
        getSelfLink in interface SecurityPolicyOrBuilder
        Returns:
        The selfLink.
      • getSelfLinkBytes

        public com.google.protobuf.ByteString getSelfLinkBytes()
         [Output Only] Server-defined URL for the resource.
         
        optional string self_link = 456214797;
        Specified by:
        getSelfLinkBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for selfLink.
      • hasType

        public boolean hasType()
         The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.
         Check the Type enum for the list of possible values.
         
        optional string type = 3575610;
        Specified by:
        hasType in interface SecurityPolicyOrBuilder
        Returns:
        Whether the type field is set.
      • getType

        public String getType()
         The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.
         Check the Type enum for the list of possible values.
         
        optional string type = 3575610;
        Specified by:
        getType in interface SecurityPolicyOrBuilder
        Returns:
        The type.
      • getTypeBytes

        public com.google.protobuf.ByteString getTypeBytes()
         The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time.
         Check the Type enum for the list of possible values.
         
        optional string type = 3575610;
        Specified by:
        getTypeBytes in interface SecurityPolicyOrBuilder
        Returns:
        The bytes for type.
      • 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 SecurityPolicy parseFrom​(ByteBuffer data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

        public static SecurityPolicy getDefaultInstance()
      • parser

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

        public com.google.protobuf.Parser<SecurityPolicy> 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 SecurityPolicy getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder