| Copyright | (c) 2013-2023 Brendan Hay |
|---|---|
| License | Mozilla Public License, v. 2.0. |
| Maintainer | Brendan Hay |
| Stability | auto-generated |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Amazonka.Shield.CreateProtection
Description
Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, 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 at
https://console.aws.amazon.com/wafv2/shieldv2#/. For more information
see
Getting Started with Shield Advanced
and
Adding Shield Advanced protection to Amazon Web Services resources.
Synopsis
- data CreateProtection = CreateProtection' {}
- newCreateProtection :: Text -> Text -> CreateProtection
- createProtection_tags :: Lens' CreateProtection (Maybe [Tag])
- createProtection_name :: Lens' CreateProtection Text
- createProtection_resourceArn :: Lens' CreateProtection Text
- data CreateProtectionResponse = CreateProtectionResponse' {
- protectionId :: Maybe Text
- httpStatus :: Int
- newCreateProtectionResponse :: Int -> CreateProtectionResponse
- createProtectionResponse_protectionId :: Lens' CreateProtectionResponse (Maybe Text)
- createProtectionResponse_httpStatus :: Lens' CreateProtectionResponse Int
Creating a Request
data CreateProtection Source #
See: newCreateProtection smart constructor.
Constructors
| CreateProtection' | |
Fields
| |
Instances
Arguments
| :: Text | |
| -> Text | |
| -> CreateProtection |
Create a value of CreateProtection with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:tags:CreateProtection', createProtection_tags - One or more tag key-value pairs for the Protection object that is
created.
CreateProtection, createProtection_name - Friendly name for the Protection you are creating.
CreateProtection, createProtection_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 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
Request Lenses
createProtection_tags :: Lens' CreateProtection (Maybe [Tag]) Source #
One or more tag key-value pairs for the Protection object that is created.
createProtection_name :: Lens' CreateProtection Text Source #
Friendly name for the Protection you are creating.
createProtection_resourceArn :: Lens' CreateProtection Text Source #
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 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
Destructuring the Response
data CreateProtectionResponse Source #
See: newCreateProtectionResponse smart constructor.
Constructors
| CreateProtectionResponse' | |
Fields
| |
Instances
newCreateProtectionResponse Source #
Create a value of CreateProtectionResponse with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:protectionId:CreateProtectionResponse', createProtectionResponse_protectionId - The unique identifier (ID) for the Protection object that is created.
$sel:httpStatus:CreateProtectionResponse', createProtectionResponse_httpStatus - The response's http status code.
Response Lenses
createProtectionResponse_protectionId :: Lens' CreateProtectionResponse (Maybe Text) Source #
The unique identifier (ID) for the Protection object that is created.
createProtectionResponse_httpStatus :: Lens' CreateProtectionResponse Int Source #
The response's http status code.