CreateProtectionGroup - AWS Shield Advanced

CreateProtectionGroup

Creates a grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives.

Request Syntax

{ "Aggregation": "string", "Members": [ "string" ], "Pattern": "string", "ProtectionGroupId": "string", "ResourceType": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

Aggregation

Defines how AWS Shield combines resource data for the group in order to detect, mitigate, and report events.

  • Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.

  • Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.

  • Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include CloudFront distributions and origin resources for CloudFront distributions.

Type: String

Valid Values: SUM | MEAN | MAX

Required: Yes

Members

The Amazon Resource Names (ARNs) of the resources to include in the protection group. You must set this when you set Pattern to ARBITRARY and you must not set it for any other Pattern setting.

Type: Array of strings

Array Members: Minimum number of 0 items. Maximum number of 10000 items.

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: ^arn:aws.*

Required: No

Pattern

The criteria to use to choose the protected resources for inclusion in the group. You can include all resources that have protections, provide a list of resource Amazon Resource Names (ARNs), or include all resources of a specified resource type.

Type: String

Valid Values: ALL | ARBITRARY | BY_RESOURCE_TYPE

Required: Yes

ProtectionGroupId

The name of the protection group. You use this to identify the protection group in lists and to manage the protection group, for example to update, delete, or describe it.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 36.

Pattern: [a-zA-Z0-9\\-]*

Required: Yes

ResourceType

The resource type to include in the protection group. All protected resources of this type are included in the protection group. Newly protected resources of this type are automatically added to the group. You must set this when you set Pattern to BY_RESOURCE_TYPE and you must not set it for any other Pattern setting.

Type: String

Valid Values: CLOUDFRONT_DISTRIBUTION | ROUTE_53_HOSTED_ZONE | ELASTIC_IP_ALLOCATION | CLASSIC_LOAD_BALANCER | APPLICATION_LOAD_BALANCER | GLOBAL_ACCELERATOR

Required: No

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalErrorException

Exception that indicates that a problem occurred with the service infrastructure. You can retry the request.

HTTP Status Code: 500

InvalidParameterException

Exception that indicates that the parameters passed to the API are invalid. If available, this exception includes details in additional properties.

HTTP Status Code: 400

LimitsExceededException

Exception that indicates that the operation would exceed a limit.

Type is the type of limit that would be exceeded.

Limit is the threshold that would be exceeded.

HTTP Status Code: 400

OptimisticLockException

Exception that indicates that the resource state has been modified by another client. Retrieve the resource and then retry your request.

HTTP Status Code: 400

ResourceAlreadyExistsException

Exception indicating the specified resource already exists. If available, this exception includes details in additional properties.

HTTP Status Code: 400

ResourceNotFoundException

Exception indicating the specified resource does not exist. If available, this exception includes details in additional properties.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: