amazonka-shield-1.6.0: Amazon Shield SDK.

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

Network.AWS.Shield.CreateProtection

Contents

Description

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

Synopsis

Creating a Request

createProtection Source #

Creates a value of CreateProtection with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • cpName - Friendly name for the Protection you are creating.
  • cpResourceARN - 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 :loadbalancerappload-balancer-name /load-balancer-id * For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region :account-id :loadbalancer/load-balancer-name * For AWS CloudFront distribution: arn:aws:cloudfront::account-id :distribution/distribution-id * For Amazon Route 53: arn:aws:route53::account-id :hostedzone/hosted-zone-id * For an Elastic IP address: arn:aws:ec2:region :account-id :eip-allocation/allocation-id

data CreateProtection Source #

See: createProtection smart constructor.

Instances

Eq CreateProtection Source # 
Data CreateProtection Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateProtection -> c CreateProtection #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateProtection #

toConstr :: CreateProtection -> Constr #

dataTypeOf :: CreateProtection -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateProtection) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateProtection) #

gmapT :: (forall b. Data b => b -> b) -> CreateProtection -> CreateProtection #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateProtection -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateProtection -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateProtection -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateProtection -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateProtection -> m CreateProtection #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateProtection -> m CreateProtection #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateProtection -> m CreateProtection #

Read CreateProtection Source # 
Show CreateProtection Source # 
Generic CreateProtection Source # 
Hashable CreateProtection Source # 
ToJSON CreateProtection Source # 
NFData CreateProtection Source # 

Methods

rnf :: CreateProtection -> () #

AWSRequest CreateProtection Source # 
ToHeaders CreateProtection Source # 
ToPath CreateProtection Source # 
ToQuery CreateProtection Source # 
type Rep CreateProtection Source # 
type Rep CreateProtection = D1 * (MetaData "CreateProtection" "Network.AWS.Shield.CreateProtection" "amazonka-shield-1.6.0-2xi7D1IHnHkEfNzXOp5G0j" False) (C1 * (MetaCons "CreateProtection'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_cpName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "_cpResourceARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text))))
type Rs CreateProtection Source # 

Request Lenses

cpName :: Lens' CreateProtection Text Source #

Friendly name for the Protection you are creating.

cpResourceARN :: 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 :loadbalancerappload-balancer-name /load-balancer-id * For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region :account-id :loadbalancer/load-balancer-name * For AWS CloudFront distribution: arn:aws:cloudfront::account-id :distribution/distribution-id * For Amazon Route 53: arn:aws:route53::account-id :hostedzone/hosted-zone-id * For an Elastic IP address: arn:aws:ec2:region :account-id :eip-allocation/allocation-id

Destructuring the Response

createProtectionResponse Source #

Creates a value of CreateProtectionResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

data CreateProtectionResponse Source #

See: createProtectionResponse smart constructor.

Instances

Eq CreateProtectionResponse Source # 
Data CreateProtectionResponse Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateProtectionResponse -> c CreateProtectionResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateProtectionResponse #

toConstr :: CreateProtectionResponse -> Constr #

dataTypeOf :: CreateProtectionResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateProtectionResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateProtectionResponse) #

gmapT :: (forall b. Data b => b -> b) -> CreateProtectionResponse -> CreateProtectionResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateProtectionResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateProtectionResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateProtectionResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateProtectionResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateProtectionResponse -> m CreateProtectionResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateProtectionResponse -> m CreateProtectionResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateProtectionResponse -> m CreateProtectionResponse #

Read CreateProtectionResponse Source # 
Show CreateProtectionResponse Source # 
Generic CreateProtectionResponse Source # 
NFData CreateProtectionResponse Source # 
type Rep CreateProtectionResponse Source # 
type Rep CreateProtectionResponse = D1 * (MetaData "CreateProtectionResponse" "Network.AWS.Shield.CreateProtection" "amazonka-shield-1.6.0-2xi7D1IHnHkEfNzXOp5G0j" False) (C1 * (MetaCons "CreateProtectionResponse'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_cprsProtectionId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))) (S1 * (MetaSel (Just Symbol "_cprsResponseStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Int))))

Response Lenses

cprsProtectionId :: Lens' CreateProtectionResponse (Maybe Text) Source #

The unique identifier (ID) for the Protection object that is created.