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 #

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 #

See: createProtection smart constructor.

Instances

Eq CreateProtection # 
Data CreateProtection # 

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 # 
Show CreateProtection # 
Generic CreateProtection # 
Hashable CreateProtection # 
ToJSON CreateProtection # 
NFData CreateProtection # 

Methods

rnf :: CreateProtection -> () #

AWSRequest CreateProtection # 
ToHeaders CreateProtection # 
ToPath CreateProtection # 
ToQuery CreateProtection # 
type Rep CreateProtection # 
type Rep CreateProtection = D1 * (MetaData "CreateProtection" "Network.AWS.Shield.CreateProtection" "amazonka-shield-1.6.0-6msL1NyA5rn7XfVoLoYmV2" 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 # 

Request Lenses

cpName :: Lens' CreateProtection Text #

Friendly name for the Protection you are creating.

cpResourceARN :: Lens' CreateProtection 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 :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 #

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 #

See: createProtectionResponse smart constructor.

Instances

Eq CreateProtectionResponse # 
Data CreateProtectionResponse # 

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 # 
Show CreateProtectionResponse # 
Generic CreateProtectionResponse # 
NFData CreateProtectionResponse # 
type Rep CreateProtectionResponse # 
type Rep CreateProtectionResponse = D1 * (MetaData "CreateProtectionResponse" "Network.AWS.Shield.CreateProtection" "amazonka-shield-1.6.0-6msL1NyA5rn7XfVoLoYmV2" 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) #

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

cprsResponseStatus :: Lens' CreateProtectionResponse Int #

  • - | The response status code.