Class SecurityPolicyRule

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

    public final class SecurityPolicyRule
    extends com.google.protobuf.GeneratedMessageV3
    implements SecurityPolicyRuleOrBuilder
     Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
     
    Protobuf type google.cloud.compute.v1.SecurityPolicyRule
    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()
      • internalGetFieldAccessorTable

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

        public boolean hasAction()
         The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this.
         
        optional string action = 187661878;
        Specified by:
        hasAction in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the action field is set.
      • getAction

        public String getAction()
         The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this.
         
        optional string action = 187661878;
        Specified by:
        getAction in interface SecurityPolicyRuleOrBuilder
        Returns:
        The action.
      • getActionBytes

        public com.google.protobuf.ByteString getActionBytes()
         The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this.
         
        optional string action = 187661878;
        Specified by:
        getActionBytes in interface SecurityPolicyRuleOrBuilder
        Returns:
        The bytes for action.
      • 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 SecurityPolicyRuleOrBuilder
        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 SecurityPolicyRuleOrBuilder
        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 SecurityPolicyRuleOrBuilder
        Returns:
        The bytes for description.
      • hasHeaderAction

        public boolean hasHeaderAction()
         Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction header_action = 328077352;
        Specified by:
        hasHeaderAction in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the headerAction field is set.
      • getHeaderAction

        public SecurityPolicyRuleHttpHeaderAction getHeaderAction()
         Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction header_action = 328077352;
        Specified by:
        getHeaderAction in interface SecurityPolicyRuleOrBuilder
        Returns:
        The headerAction.
      • hasKind

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

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

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

        public boolean hasMatch()
         A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleMatcher match = 103668165;
        Specified by:
        hasMatch in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the match field is set.
      • getMatch

        public SecurityPolicyRuleMatcher getMatch()
         A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleMatcher match = 103668165;
        Specified by:
        getMatch in interface SecurityPolicyRuleOrBuilder
        Returns:
        The match.
      • hasPreconfiguredWafConfig

        public boolean hasPreconfiguredWafConfig()
         Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
         
        optional .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig preconfigured_waf_config = 117805027;
        Specified by:
        hasPreconfiguredWafConfig in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the preconfiguredWafConfig field is set.
      • getPreconfiguredWafConfig

        public SecurityPolicyRulePreconfiguredWafConfig getPreconfiguredWafConfig()
         Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
         
        optional .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig preconfigured_waf_config = 117805027;
        Specified by:
        getPreconfiguredWafConfig in interface SecurityPolicyRuleOrBuilder
        Returns:
        The preconfiguredWafConfig.
      • hasPreview

        public boolean hasPreview()
         If set to true, the specified action is not enforced.
         
        optional bool preview = 218686408;
        Specified by:
        hasPreview in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the preview field is set.
      • getPreview

        public boolean getPreview()
         If set to true, the specified action is not enforced.
         
        optional bool preview = 218686408;
        Specified by:
        getPreview in interface SecurityPolicyRuleOrBuilder
        Returns:
        The preview.
      • hasPriority

        public boolean hasPriority()
         An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
         
        optional int32 priority = 445151652;
        Specified by:
        hasPriority in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the priority field is set.
      • getPriority

        public int getPriority()
         An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
         
        optional int32 priority = 445151652;
        Specified by:
        getPriority in interface SecurityPolicyRuleOrBuilder
        Returns:
        The priority.
      • hasRateLimitOptions

        public boolean hasRateLimitOptions()
         Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions rate_limit_options = 67544315;
        Specified by:
        hasRateLimitOptions in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the rateLimitOptions field is set.
      • getRateLimitOptions

        public SecurityPolicyRuleRateLimitOptions getRateLimitOptions()
         Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions rate_limit_options = 67544315;
        Specified by:
        getRateLimitOptions in interface SecurityPolicyRuleOrBuilder
        Returns:
        The rateLimitOptions.
      • hasRedirectOptions

        public boolean hasRedirectOptions()
         Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions redirect_options = 163285307;
        Specified by:
        hasRedirectOptions in interface SecurityPolicyRuleOrBuilder
        Returns:
        Whether the redirectOptions field is set.
      • getRedirectOptions

        public SecurityPolicyRuleRedirectOptions getRedirectOptions()
         Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
         
        optional .google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions redirect_options = 163285307;
        Specified by:
        getRedirectOptions in interface SecurityPolicyRuleOrBuilder
        Returns:
        The redirectOptions.
      • 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 SecurityPolicyRule parseFrom​(ByteBuffer data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

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