amazonka-shield-1.4.5: Amazon Shield SDK.

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

Network.AWS.Shield

Contents

Description

AWS Shield Advanced

This is the AWS Shield Advanced API Reference . This guide is for developers who need detailed information about the AWS Shield Advanced API actions, data types, and errors. For detailed information about AWS WAF and AWS Shield Advanced features and an overview of how to use the AWS WAF and AWS Shield Advanced APIs, see the AWS WAF and AWS Shield Developer Guide .

Synopsis

Service Configuration

shield :: Service #

API version 2016-06-02 of the Amazon Shield SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by Shield.

InvalidResourceException

_InvalidResourceException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception that indicates that the resource is invalid. You might not have access to the resource, or the resource might not exist.

InvalidParameterException

_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception that indicates that the parameters passed to the API are invalid.

LimitsExceededException

_LimitsExceededException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception that indicates that the operation would exceed a limit.

InternalErrorException

_InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception that indicates that a problem occurred with the service infrastructure. You can retry the request.

ResourceAlreadyExistsException

_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception indicating the specified resource already exists.

OptimisticLockException

_OptimisticLockException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception that indicates that the protection state has been modified by another client. You can retry the request.

InvalidOperationException

_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception that indicates that the operation would not cause any change to occur.

LockedSubscriptionException

_LockedSubscriptionException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception that indicates that the subscription has been modified by another client. You can retry the request.

ResourceNotFoundException

_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError #

Exception indicating the specified resource does not exist.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

CreateSubscription

ListProtections

DeleteSubscription

DescribeAttack

DescribeProtection

ListAttacks

CreateProtection

DeleteProtection

DescribeSubscription

Types

SubResourceType

data SubResourceType #

Constructors

IP 
URL 

Instances

Bounded SubResourceType # 
Enum SubResourceType # 
Eq SubResourceType # 
Data SubResourceType # 

Methods

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

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

toConstr :: SubResourceType -> Constr #

dataTypeOf :: SubResourceType -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord SubResourceType # 
Read SubResourceType # 
Show SubResourceType # 
Generic SubResourceType # 
Hashable SubResourceType # 
FromJSON SubResourceType # 
NFData SubResourceType # 

Methods

rnf :: SubResourceType -> () #

ToQuery SubResourceType # 
ToHeader SubResourceType # 
ToByteString SubResourceType # 
FromText SubResourceType # 
ToText SubResourceType # 
type Rep SubResourceType # 
type Rep SubResourceType = D1 (MetaData "SubResourceType" "Network.AWS.Shield.Types.Sum" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" False) ((:+:) (C1 (MetaCons "IP" PrefixI False) U1) (C1 (MetaCons "URL" PrefixI False) U1))

AttackDetail

data AttackDetail #

The details of a DDoS attack.

See: attackDetail smart constructor.

Instances

Eq AttackDetail # 
Data AttackDetail # 

Methods

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

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

toConstr :: AttackDetail -> Constr #

dataTypeOf :: AttackDetail -> DataType #

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

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

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

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

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

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

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

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

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

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

Read AttackDetail # 
Show AttackDetail # 
Generic AttackDetail # 

Associated Types

type Rep AttackDetail :: * -> * #

Hashable AttackDetail # 
FromJSON AttackDetail # 
NFData AttackDetail # 

Methods

rnf :: AttackDetail -> () #

type Rep AttackDetail # 

attackDetail :: AttackDetail #

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

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

  • adAttackId - The unique identifier (ID) of the attack.
  • adStartTime - The time the attack started, in the format 2016-12-16T13:50Z.
  • adSubResources - If applicable, additional detail about the resource being attacked, for example, IP address or URL.
  • adMitigations - List of mitigation actions taken for the attack.
  • adAttackCounters - List of counters that describe the attack for the specified time period.
  • adResourceARN - The ARN (Amazon Resource Name) of the resource that was attacked.
  • adEndTime - The time the attack ended, in the format 2016-12-16T13:50Z.

adAttackId :: Lens' AttackDetail (Maybe Text) #

The unique identifier (ID) of the attack.

adStartTime :: Lens' AttackDetail (Maybe UTCTime) #

The time the attack started, in the format 2016-12-16T13:50Z.

adSubResources :: Lens' AttackDetail [SubResourceSummary] #

If applicable, additional detail about the resource being attacked, for example, IP address or URL.

adMitigations :: Lens' AttackDetail [Mitigation] #

List of mitigation actions taken for the attack.

adAttackCounters :: Lens' AttackDetail [SummarizedCounter] #

List of counters that describe the attack for the specified time period.

adResourceARN :: Lens' AttackDetail (Maybe Text) #

The ARN (Amazon Resource Name) of the resource that was attacked.

adEndTime :: Lens' AttackDetail (Maybe UTCTime) #

The time the attack ended, in the format 2016-12-16T13:50Z.

AttackSummary

data AttackSummary #

Summarizes all DDoS attacks for a specified time period.

See: attackSummary smart constructor.

Instances

Eq AttackSummary # 
Data AttackSummary # 

Methods

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

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

toConstr :: AttackSummary -> Constr #

dataTypeOf :: AttackSummary -> DataType #

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

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

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

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

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

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

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

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

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

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

Read AttackSummary # 
Show AttackSummary # 
Generic AttackSummary # 

Associated Types

type Rep AttackSummary :: * -> * #

Hashable AttackSummary # 
FromJSON AttackSummary # 
NFData AttackSummary # 

Methods

rnf :: AttackSummary -> () #

type Rep AttackSummary # 
type Rep AttackSummary = D1 (MetaData "AttackSummary" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" False) (C1 (MetaCons "AttackSummary'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_asAttackVectors") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [AttackVectorDescription]))) (S1 (MetaSel (Just Symbol "_asAttackId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_asStartTime") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe POSIX))) ((:*:) (S1 (MetaSel (Just Symbol "_asResourceARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_asEndTime") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe POSIX)))))))

attackSummary :: AttackSummary #

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

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

  • asAttackVectors - The list of attacks for a specified time period.
  • asAttackId - The unique identifier (ID) of the attack.
  • asStartTime - The start time of the attack, in the format 2016-12-16T13:50Z.
  • asResourceARN - The ARN (Amazon Resource Name) of the resource that was attacked.
  • asEndTime - The end time of the attack, in the format 2016-12-16T13:50Z.

asAttackVectors :: Lens' AttackSummary [AttackVectorDescription] #

The list of attacks for a specified time period.

asAttackId :: Lens' AttackSummary (Maybe Text) #

The unique identifier (ID) of the attack.

asStartTime :: Lens' AttackSummary (Maybe UTCTime) #

The start time of the attack, in the format 2016-12-16T13:50Z.

asResourceARN :: Lens' AttackSummary (Maybe Text) #

The ARN (Amazon Resource Name) of the resource that was attacked.

asEndTime :: Lens' AttackSummary (Maybe UTCTime) #

The end time of the attack, in the format 2016-12-16T13:50Z.

AttackVectorDescription

data AttackVectorDescription #

Describes the attack.

See: attackVectorDescription smart constructor.

Instances

Eq AttackVectorDescription # 
Data AttackVectorDescription # 

Methods

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

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

toConstr :: AttackVectorDescription -> Constr #

dataTypeOf :: AttackVectorDescription -> DataType #

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

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

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

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

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

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

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

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

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

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

Read AttackVectorDescription # 
Show AttackVectorDescription # 
Generic AttackVectorDescription # 
Hashable AttackVectorDescription # 
FromJSON AttackVectorDescription # 
NFData AttackVectorDescription # 

Methods

rnf :: AttackVectorDescription -> () #

type Rep AttackVectorDescription # 
type Rep AttackVectorDescription = D1 (MetaData "AttackVectorDescription" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" True) (C1 (MetaCons "AttackVectorDescription'" PrefixI True) (S1 (MetaSel (Just Symbol "_avdVectorType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

attackVectorDescription #

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

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

  • avdVectorType - The attack type, for example, SNMP reflection or SYN flood.

avdVectorType :: Lens' AttackVectorDescription Text #

The attack type, for example, SNMP reflection or SYN flood.

Mitigation

data Mitigation #

The mitigation applied to a DDoS attack.

See: mitigation smart constructor.

Instances

Eq Mitigation # 
Data Mitigation # 

Methods

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

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

toConstr :: Mitigation -> Constr #

dataTypeOf :: Mitigation -> DataType #

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

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

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

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

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

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

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

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

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

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

Read Mitigation # 
Show Mitigation # 
Generic Mitigation # 

Associated Types

type Rep Mitigation :: * -> * #

Hashable Mitigation # 
FromJSON Mitigation # 
NFData Mitigation # 

Methods

rnf :: Mitigation -> () #

type Rep Mitigation # 
type Rep Mitigation = D1 (MetaData "Mitigation" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" True) (C1 (MetaCons "Mitigation'" PrefixI True) (S1 (MetaSel (Just Symbol "_mMitigationName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))

mitigation :: Mitigation #

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

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

mMitigationName :: Lens' Mitigation (Maybe Text) #

The name of the mitigation taken for this attack.

Protection

data Protection #

An object that represents a resource that is under DDoS protection.

See: protection smart constructor.

Instances

Eq Protection # 
Data Protection # 

Methods

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

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

toConstr :: Protection -> Constr #

dataTypeOf :: Protection -> DataType #

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

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

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

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

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

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

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

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

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

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

Read Protection # 
Show Protection # 
Generic Protection # 

Associated Types

type Rep Protection :: * -> * #

Hashable Protection # 
FromJSON Protection # 
NFData Protection # 

Methods

rnf :: Protection -> () #

type Rep Protection # 
type Rep Protection = D1 (MetaData "Protection" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" False) (C1 (MetaCons "Protection'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_pResourceARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_pName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_pId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))))

protection :: Protection #

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

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

  • pResourceARN - The ARN (Amazon Resource Name) of the AWS resource that is protected.
  • pName - The friendly name of the protection. For example, My CloudFront distributions .
  • pId - The unique identifier (ID) of the protection.

pResourceARN :: Lens' Protection (Maybe Text) #

The ARN (Amazon Resource Name) of the AWS resource that is protected.

pName :: Lens' Protection (Maybe Text) #

The friendly name of the protection. For example, My CloudFront distributions .

pId :: Lens' Protection (Maybe Text) #

The unique identifier (ID) of the protection.

SubResourceSummary

data SubResourceSummary #

The attack information for the specified SubResource.

See: subResourceSummary smart constructor.

Instances

Eq SubResourceSummary # 
Data SubResourceSummary # 

Methods

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

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

toConstr :: SubResourceSummary -> Constr #

dataTypeOf :: SubResourceSummary -> DataType #

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

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

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

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

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

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

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

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

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

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

Read SubResourceSummary # 
Show SubResourceSummary # 
Generic SubResourceSummary # 
Hashable SubResourceSummary # 
FromJSON SubResourceSummary # 
NFData SubResourceSummary # 

Methods

rnf :: SubResourceSummary -> () #

type Rep SubResourceSummary # 
type Rep SubResourceSummary = D1 (MetaData "SubResourceSummary" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" False) (C1 (MetaCons "SubResourceSummary'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_srsCounters") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [SummarizedCounter]))) (S1 (MetaSel (Just Symbol "_srsAttackVectors") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [SummarizedAttackVector])))) ((:*:) (S1 (MetaSel (Just Symbol "_srsId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_srsType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe SubResourceType))))))

subResourceSummary :: SubResourceSummary #

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

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

  • srsCounters - The counters that describe the details of the attack.
  • srsAttackVectors - The list of attack types and associated counters.
  • srsId - The unique identifier (ID) of the SubResource .
  • srsType - The SubResource type.

srsCounters :: Lens' SubResourceSummary [SummarizedCounter] #

The counters that describe the details of the attack.

srsAttackVectors :: Lens' SubResourceSummary [SummarizedAttackVector] #

The list of attack types and associated counters.

srsId :: Lens' SubResourceSummary (Maybe Text) #

The unique identifier (ID) of the SubResource .

Subscription

data Subscription #

Information about the AWS Shield Advanced subscription for an account.

See: subscription smart constructor.

Instances

Eq Subscription # 
Data Subscription # 

Methods

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

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

toConstr :: Subscription -> Constr #

dataTypeOf :: Subscription -> DataType #

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

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

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

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

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

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

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

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

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

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

Read Subscription # 
Show Subscription # 
Generic Subscription # 

Associated Types

type Rep Subscription :: * -> * #

Hashable Subscription # 
FromJSON Subscription # 
NFData Subscription # 

Methods

rnf :: Subscription -> () #

type Rep Subscription # 
type Rep Subscription = D1 (MetaData "Subscription" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" False) (C1 (MetaCons "Subscription'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_sTimeCommitmentInSeconds") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Nat))) (S1 (MetaSel (Just Symbol "_sStartTime") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe POSIX)))))

subscription :: Subscription #

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

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

  • sTimeCommitmentInSeconds - The length, in seconds, of the AWS Shield Advanced subscription for the account.
  • sStartTime - The start time of the subscription, in the format "2016-12-16T13:50Z".

sTimeCommitmentInSeconds :: Lens' Subscription (Maybe Natural) #

The length, in seconds, of the AWS Shield Advanced subscription for the account.

sStartTime :: Lens' Subscription (Maybe UTCTime) #

The start time of the subscription, in the format "2016-12-16T13:50Z".

SummarizedAttackVector

data SummarizedAttackVector #

A summary of information about the attack.

See: summarizedAttackVector smart constructor.

Instances

Eq SummarizedAttackVector # 
Data SummarizedAttackVector # 

Methods

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

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

toConstr :: SummarizedAttackVector -> Constr #

dataTypeOf :: SummarizedAttackVector -> DataType #

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

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

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

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

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

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

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

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

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

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

Read SummarizedAttackVector # 
Show SummarizedAttackVector # 
Generic SummarizedAttackVector # 
Hashable SummarizedAttackVector # 
FromJSON SummarizedAttackVector # 
NFData SummarizedAttackVector # 

Methods

rnf :: SummarizedAttackVector -> () #

type Rep SummarizedAttackVector # 
type Rep SummarizedAttackVector = D1 (MetaData "SummarizedAttackVector" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" False) (C1 (MetaCons "SummarizedAttackVector'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_savVectorCounters") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [SummarizedCounter]))) (S1 (MetaSel (Just Symbol "_savVectorType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

summarizedAttackVector #

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

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

  • savVectorCounters - The list of counters that describe the details of the attack.
  • savVectorType - The attack type, for example, SNMP reflection or SYN flood.

savVectorCounters :: Lens' SummarizedAttackVector [SummarizedCounter] #

The list of counters that describe the details of the attack.

savVectorType :: Lens' SummarizedAttackVector Text #

The attack type, for example, SNMP reflection or SYN flood.

SummarizedCounter

data SummarizedCounter #

The counter that describes a DDoS attack.

See: summarizedCounter smart constructor.

Instances

Eq SummarizedCounter # 
Data SummarizedCounter # 

Methods

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

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

toConstr :: SummarizedCounter -> Constr #

dataTypeOf :: SummarizedCounter -> DataType #

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

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

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

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

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

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

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

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

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

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

Read SummarizedCounter # 
Show SummarizedCounter # 
Generic SummarizedCounter # 
Hashable SummarizedCounter # 
FromJSON SummarizedCounter # 
NFData SummarizedCounter # 

Methods

rnf :: SummarizedCounter -> () #

type Rep SummarizedCounter # 

summarizedCounter :: SummarizedCounter #

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

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

  • scMax - The maximum value of the counter for a specified time period.
  • scAverage - The average value of the counter for a specified time period.
  • scN - The number of counters for a specified time period.
  • scName - The counter name.
  • scSum - The total of counter values for a specified time period.
  • scUnit - The unit of the counters.

scMax :: Lens' SummarizedCounter (Maybe Double) #

The maximum value of the counter for a specified time period.

scAverage :: Lens' SummarizedCounter (Maybe Double) #

The average value of the counter for a specified time period.

scN :: Lens' SummarizedCounter (Maybe Int) #

The number of counters for a specified time period.

scName :: Lens' SummarizedCounter (Maybe Text) #

The counter name.

scSum :: Lens' SummarizedCounter (Maybe Double) #

The total of counter values for a specified time period.

scUnit :: Lens' SummarizedCounter (Maybe Text) #

The unit of the counters.

TimeRange

data TimeRange #

The time range.

See: timeRange smart constructor.

Instances

Eq TimeRange # 
Data TimeRange # 

Methods

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

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

toConstr :: TimeRange -> Constr #

dataTypeOf :: TimeRange -> DataType #

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

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

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

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

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

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

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

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

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

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

Read TimeRange # 
Show TimeRange # 
Generic TimeRange # 

Associated Types

type Rep TimeRange :: * -> * #

Hashable TimeRange # 
ToJSON TimeRange # 
NFData TimeRange # 

Methods

rnf :: TimeRange -> () #

type Rep TimeRange # 
type Rep TimeRange = D1 (MetaData "TimeRange" "Network.AWS.Shield.Types.Product" "amazonka-shield-1.4.5-2mbTguNn2yUF6VCRPwT5Lk" False) (C1 (MetaCons "TimeRange'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_trFromInclusive") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe POSIX))) (S1 (MetaSel (Just Symbol "_trToExclusive") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe POSIX)))))

timeRange :: TimeRange #

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

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

trFromInclusive :: Lens' TimeRange (Maybe UTCTime) #

The start time, in the format 2016-12-16T13:50Z.

trToExclusive :: Lens' TimeRange (Maybe UTCTime) #

The end time, in the format 2016-12-16T15:50Z.