Retrieves Protection objects for the account. You can retrieve all protections or you can provide filtering criteria and retrieve just the subset of protections that match the criteria.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
list-protections
is a paginated operation. Multiple API calls may be issued in order to retrieve the entire data set of results. You can disable pagination by providing the --no-paginate
argument.
When using --output text
and the --query
argument on a paginated response, the --query
argument must extract data from the results of the following query expressions: Protections
list-protections
[--inclusion-filters <value>]
[--cli-input-json | --cli-input-yaml]
[--starting-token <value>]
[--page-size <value>]
[--max-items <value>]
[--generate-cli-skeleton <value>]
--inclusion-filters
(structure)
Narrows the set of protections that the call retrieves. You can retrieve a single protection by providing its name or the ARN (Amazon Resource Name) of its protected resource. You can also retrieve all protections for a specific resource type. You can provide up to one criteria per filter type. Shield Advanced returns protections that exactly match all of the filter criteria that you provide.
ResourceArns -> (list)
The ARN (Amazon Resource Name) of the resource whose protection you want to retrieve.
(string)
ProtectionNames -> (list)
The name of the protection that you want to retrieve.
(string)
ResourceTypes -> (list)
The type of protected resource whose protections you want to retrieve.
(string)
Shorthand Syntax:
ResourceArns=string,string,ProtectionNames=string,string,ResourceTypes=string,string
JSON Syntax:
{
"ResourceArns": ["string", ...],
"ProtectionNames": ["string", ...],
"ResourceTypes": ["CLOUDFRONT_DISTRIBUTION"|"ROUTE_53_HOSTED_ZONE"|"ELASTIC_IP_ALLOCATION"|"CLASSIC_LOAD_BALANCER"|"APPLICATION_LOAD_BALANCER"|"GLOBAL_ACCELERATOR", ...]
}
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--starting-token
(string)
A token to specify where to start paginating. This is the
NextToken
from a previously truncated response.For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--page-size
(integer)
The size of each page to get in the AWS service call. This does not affect the number of items returned in the command’s output. Setting a smaller page size results in more calls to the AWS service, retrieving fewer items in each call. This can help prevent the AWS service calls from timing out.
For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--max-items
(integer)
The total number of items to return in the command’s output. If the total number of items available is more than the value specified, a
NextToken
is provided in the command’s output. To resume pagination, provide theNextToken
value in thestarting-token
argument of a subsequent command. Do not use theNextToken
response element directly outside of the AWS CLI.For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
See ‘aws help’ for descriptions of global parameters.
Note
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
To retrieve protection summaries from AWS Shield Advanced
The following list-protections
example retrieves summaries of the protections that are enabled for the account.
aws shield list-protections
Output:
{
"Protections": [
{
"Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
"Name": "Protection for CloudFront distribution",
"ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8"
}
]
}
For more information, see Specify Your Resources to Protect in the AWS Shield Advanced Developer Guide.
Protections -> (list)
The array of enabled Protection objects.
(structure)
An object that represents a resource that is under DDoS protection.
Id -> (string)
The unique identifier (ID) of the protection.
Name -> (string)
The name of the protection. For example,
My CloudFront distributions
.ResourceArn -> (string)
The ARN (Amazon Resource Name) of the Amazon Web Services resource that is protected.
HealthCheckIds -> (list)
The unique identifier (ID) for the Route 53 health check that’s associated with the protection.
(string)
ProtectionArn -> (string)
The ARN (Amazon Resource Name) of the protection.
ApplicationLayerAutomaticResponseConfiguration -> (structure)
The automatic application layer DDoS mitigation settings for the protection. This configuration determines whether Shield Advanced automatically manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.
Status -> (string)
Indicates whether automatic application layer DDoS mitigation is enabled for the protection.
Action -> (structure)
Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
Block -> (structure)
Specifies that Shield Advanced should configure its WAF rules with the WAF
Block
action.You must specify exactly one action, either
Block
orCount
.Count -> (structure)
Specifies that Shield Advanced should configure its WAF rules with the WAF
Count
action.You must specify exactly one action, either
Block
orCount
.
NextToken -> (string)
When you request a list of objects from Shield Advanced, if the response does not include all of the remaining available objects, Shield Advanced includes a
NextToken
value in the response. You can retrieve the next batch of objects by requesting the list again and providing the token that was returned by the prior call in your request.You can indicate the maximum number of objects that you want Shield Advanced to return for a single call with the
MaxResults
setting. Shield Advanced will not return more thanMaxResults
objects, but may return fewer, even if more objects are still available.Whenever more objects remain that Shield Advanced has not yet returned to you, the response will include a
NextToken
value.