libZSservicesZSamazonka-shieldZSamazonka-shield
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.Shield.CreateProtection

Description

Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the WAF console. For more information see Getting Started with Shield Advanced and Add Shield Advanced Protection to more Amazon Web Services Resources.

Synopsis

Creating a Request

data CreateProtection Source #

See: newCreateProtection smart constructor.

Constructors

CreateProtection' 

Fields

  • tags :: Maybe [Tag]

    One or more tag key-value pairs for the Protection object that is created.

  • name :: Text

    Friendly name for the Protection you are creating.

  • resourceArn :: Text

    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 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

Instances

Instances details
Eq CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Read CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Show CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Generic CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Associated Types

type Rep CreateProtection :: Type -> Type #

NFData CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Methods

rnf :: CreateProtection -> () #

Hashable CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

ToJSON CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

AWSRequest CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Associated Types

type AWSResponse CreateProtection #

ToHeaders CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

ToPath CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

ToQuery CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

type Rep CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

type Rep CreateProtection = D1 ('MetaData "CreateProtection" "Amazonka.Shield.CreateProtection" "libZSservicesZSamazonka-shieldZSamazonka-shield" 'False) (C1 ('MetaCons "CreateProtection'" 'PrefixI 'True) (S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Tag])) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "resourceArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))))
type AWSResponse CreateProtection Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

newCreateProtection Source #

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.

$sel:name:CreateProtection', createProtection_name - Friendly name for the Protection you are creating.

$sel:resourceArn: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 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 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

Instances details
Eq CreateProtectionResponse Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Read CreateProtectionResponse Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Show CreateProtectionResponse Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Generic CreateProtectionResponse Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

Associated Types

type Rep CreateProtectionResponse :: Type -> Type #

NFData CreateProtectionResponse Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

type Rep CreateProtectionResponse Source # 
Instance details

Defined in Amazonka.Shield.CreateProtection

type Rep CreateProtectionResponse = D1 ('MetaData "CreateProtectionResponse" "Amazonka.Shield.CreateProtection" "libZSservicesZSamazonka-shieldZSamazonka-shield" 'False) (C1 ('MetaCons "CreateProtectionResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "protectionId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)))

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.