WAF / Client / get_rule

get_rule#

WAF.Client.get_rule(**kwargs)#

Note

This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

Returns the Rule that is specified by the RuleId that you included in the GetRule request.

See also: AWS API Documentation

Request Syntax

response = client.get_rule(
    RuleId='string'
)
Parameters:

RuleId (string) –

[REQUIRED]

The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules.

Return type:

dict

Returns:

Response Syntax

{
    'Rule': {
        'RuleId': 'string',
        'Name': 'string',
        'MetricName': 'string',
        'Predicates': [
            {
                'Negated': True|False,
                'Type': 'IPMatch'|'ByteMatch'|'SqlInjectionMatch'|'GeoMatch'|'SizeConstraint'|'XssMatch'|'RegexMatch',
                'DataId': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) –

    • Rule (dict) –

      Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

      • Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId

      • Predicate: Each Predicate object contains DataId, Negated, and Type

      • RuleId (string) –

        A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

        RuleId is returned by CreateRule and by ListRules.

      • Name (string) –

        The friendly name or description for the Rule. You can’t change the name of a Rule after you create it.

      • MetricName (string) –

        A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can’t contain whitespace or metric names reserved for AWS WAF, including “All” and “Default_Action.” You can’t change MetricName after you create the Rule.

      • Predicates (list) –

        The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a Rule.

        • (dict) –

          Note

          This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

          For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

          Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you want to add to a Rule and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.

          • Negated (boolean) –

            Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow or block requests based on that IP address.

            Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44.

          • Type (string) –

            The type of predicate in a Rule, such as ByteMatch or IPSet.

          • DataId (string) –

            A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. The ID is returned by the corresponding Create or List command.

Exceptions

  • WAF.Client.exceptions.WAFInternalErrorException

  • WAF.Client.exceptions.WAFInvalidAccountException

  • WAF.Client.exceptions.WAFNonexistentItemException

Examples

The following example returns the details of a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.

response = client.get_rule(
    RuleId='example1ds3t-46da-4fdb-b8d5-abc321j569j5',
)

print(response)

Expected Output:

{
    'Rule': {
        'MetricName': 'WAFByteHeaderRule',
        'Name': 'WAFByteHeaderRule',
        'Predicates': [
            {
                'DataId': 'MyByteMatchSetID',
                'Negated': False,
                'Type': 'ByteMatch',
            },
        ],
        'RuleId': 'example1ds3t-46da-4fdb-b8d5-abc321j569j5',
    },
    'ResponseMetadata': {
        '...': '...',
    },
}