CreateProtection
Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon RouteĀ 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses.
You can add protection to only a single resource with each CreateProtection
request. You can add protection to multiple resources
at once through the Shield Advanced console
Request Syntax
{
"Name": "string
",
"ResourceArn": "string
",
"Tags": [
{
"Key": "string
",
"Value": "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.
- Name
-
Friendly name for the
Protection
you are creating.Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[ a-zA-Z0-9_\\.\\-]*
Required: Yes
- ResourceArn
-
The ARN (Amazon Resource Name) of the resource to be protected.
The ARN should be in one of the following formats:
-
For an Application Load Balancer:
arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
-
For an Elastic Load Balancer (Classic Load Balancer):
arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name
-
For an Amazon CloudFront distribution:
arn:aws:cloudfront::account-id:distribution/distribution-id
-
For an AWS Global Accelerator standard accelerator:
arn:aws:globalaccelerator::account-id:accelerator/accelerator-id
-
For Amazon RouteĀ 53:
arn:aws:route53:::hostedzone/hosted-zone-id
-
For an Elastic IP address:
arn:aws:ec2:region:account-id:eip-allocation/allocation-id
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
^arn:aws.*
Required: Yes
-
- Tags
-
One or more tag key-value pairs for the Protection object that is created.
Type: Array of Tag objects
Array Members: Minimum number of 0 items. Maximum number of 200 items.
Required: No
Response Syntax
{
"ProtectionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- ProtectionId
-
The unique identifier (ID) for the Protection object that is created.
Type: String
Length Constraints: Fixed length of 36.
Pattern:
[a-zA-Z0-9\\-]*
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
- InvalidOperationException
-
Exception that indicates that the operation would not cause any change to occur.
HTTP Status Code: 400
- 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
- InvalidResourceException
-
Exception that indicates that the resource is invalid. You might not have access to the resource, or the resource might not exist.
HTTP Status Code: 400
- LimitsExceededException
-
Exception that indicates that the operation would exceed a limit.
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: