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 |
- Service Configuration
- Errors
- ApplicationLayerAutomaticResponseStatus
- AttackLayer
- AttackPropertyIdentifier
- AutoRenew
- ProactiveEngagementStatus
- ProtectedResourceType
- ProtectionGroupAggregation
- ProtectionGroupPattern
- SubResourceType
- SubscriptionState
- Unit
- ApplicationLayerAutomaticResponseConfiguration
- AttackDetail
- AttackProperty
- AttackStatisticsDataItem
- AttackSummary
- AttackVectorDescription
- AttackVolume
- AttackVolumeStatistics
- BlockAction
- Contributor
- CountAction
- EmergencyContact
- InclusionProtectionFilters
- InclusionProtectionGroupFilters
- Limit
- Mitigation
- Protection
- ProtectionGroup
- ProtectionGroupArbitraryPatternLimits
- ProtectionGroupLimits
- ProtectionGroupPatternTypeLimits
- ProtectionLimits
- ResponseAction
- SubResourceSummary
- Subscription
- SubscriptionLimits
- SummarizedAttackVector
- SummarizedCounter
- Tag
- TimeRange
Synopsis
- defaultService :: Service
- _AccessDeniedException :: AsError a => Fold a ServiceError
- _AccessDeniedForDependencyException :: AsError a => Fold a ServiceError
- _InternalErrorException :: AsError a => Fold a ServiceError
- _InvalidOperationException :: AsError a => Fold a ServiceError
- _InvalidPaginationTokenException :: AsError a => Fold a ServiceError
- _InvalidParameterException :: AsError a => Fold a ServiceError
- _InvalidResourceException :: AsError a => Fold a ServiceError
- _LimitsExceededException :: AsError a => Fold a ServiceError
- _LockedSubscriptionException :: AsError a => Fold a ServiceError
- _NoAssociatedRoleException :: AsError a => Fold a ServiceError
- _OptimisticLockException :: AsError a => Fold a ServiceError
- _ResourceAlreadyExistsException :: AsError a => Fold a ServiceError
- _ResourceNotFoundException :: AsError a => Fold a ServiceError
- newtype ApplicationLayerAutomaticResponseStatus where
- newtype AttackLayer where
- AttackLayer' { }
- pattern AttackLayer_APPLICATION :: AttackLayer
- pattern AttackLayer_NETWORK :: AttackLayer
- newtype AttackPropertyIdentifier where
- AttackPropertyIdentifier' { }
- pattern AttackPropertyIdentifier_DESTINATION_URL :: AttackPropertyIdentifier
- pattern AttackPropertyIdentifier_REFERRER :: AttackPropertyIdentifier
- pattern AttackPropertyIdentifier_SOURCE_ASN :: AttackPropertyIdentifier
- pattern AttackPropertyIdentifier_SOURCE_COUNTRY :: AttackPropertyIdentifier
- pattern AttackPropertyIdentifier_SOURCE_IP_ADDRESS :: AttackPropertyIdentifier
- pattern AttackPropertyIdentifier_SOURCE_USER_AGENT :: AttackPropertyIdentifier
- pattern AttackPropertyIdentifier_WORDPRESS_PINGBACK_REFLECTOR :: AttackPropertyIdentifier
- pattern AttackPropertyIdentifier_WORDPRESS_PINGBACK_SOURCE :: AttackPropertyIdentifier
- newtype AutoRenew where
- AutoRenew' { }
- pattern AutoRenew_DISABLED :: AutoRenew
- pattern AutoRenew_ENABLED :: AutoRenew
- newtype ProactiveEngagementStatus where
- newtype ProtectedResourceType where
- ProtectedResourceType' { }
- pattern ProtectedResourceType_APPLICATION_LOAD_BALANCER :: ProtectedResourceType
- pattern ProtectedResourceType_CLASSIC_LOAD_BALANCER :: ProtectedResourceType
- pattern ProtectedResourceType_CLOUDFRONT_DISTRIBUTION :: ProtectedResourceType
- pattern ProtectedResourceType_ELASTIC_IP_ALLOCATION :: ProtectedResourceType
- pattern ProtectedResourceType_GLOBAL_ACCELERATOR :: ProtectedResourceType
- pattern ProtectedResourceType_ROUTE_53_HOSTED_ZONE :: ProtectedResourceType
- newtype ProtectionGroupAggregation where
- newtype ProtectionGroupPattern where
- newtype SubResourceType where
- SubResourceType' { }
- pattern SubResourceType_IP :: SubResourceType
- pattern SubResourceType_URL :: SubResourceType
- newtype SubscriptionState where
- SubscriptionState' { }
- pattern SubscriptionState_ACTIVE :: SubscriptionState
- pattern SubscriptionState_INACTIVE :: SubscriptionState
- newtype Unit where
- Unit' { }
- pattern Unit_BITS :: Unit
- pattern Unit_BYTES :: Unit
- pattern Unit_PACKETS :: Unit
- pattern Unit_REQUESTS :: Unit
- data ApplicationLayerAutomaticResponseConfiguration = ApplicationLayerAutomaticResponseConfiguration' {}
- newApplicationLayerAutomaticResponseConfiguration :: ApplicationLayerAutomaticResponseStatus -> ResponseAction -> ApplicationLayerAutomaticResponseConfiguration
- applicationLayerAutomaticResponseConfiguration_status :: Lens' ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseStatus
- applicationLayerAutomaticResponseConfiguration_action :: Lens' ApplicationLayerAutomaticResponseConfiguration ResponseAction
- data AttackDetail = AttackDetail' {}
- newAttackDetail :: AttackDetail
- attackDetail_attackCounters :: Lens' AttackDetail (Maybe [SummarizedCounter])
- attackDetail_attackId :: Lens' AttackDetail (Maybe Text)
- attackDetail_attackProperties :: Lens' AttackDetail (Maybe [AttackProperty])
- attackDetail_endTime :: Lens' AttackDetail (Maybe UTCTime)
- attackDetail_mitigations :: Lens' AttackDetail (Maybe [Mitigation])
- attackDetail_resourceArn :: Lens' AttackDetail (Maybe Text)
- attackDetail_startTime :: Lens' AttackDetail (Maybe UTCTime)
- attackDetail_subResources :: Lens' AttackDetail (Maybe [SubResourceSummary])
- data AttackProperty = AttackProperty' {}
- newAttackProperty :: AttackProperty
- attackProperty_attackLayer :: Lens' AttackProperty (Maybe AttackLayer)
- attackProperty_attackPropertyIdentifier :: Lens' AttackProperty (Maybe AttackPropertyIdentifier)
- attackProperty_topContributors :: Lens' AttackProperty (Maybe [Contributor])
- attackProperty_total :: Lens' AttackProperty (Maybe Integer)
- attackProperty_unit :: Lens' AttackProperty (Maybe Unit)
- data AttackStatisticsDataItem = AttackStatisticsDataItem' {}
- newAttackStatisticsDataItem :: Integer -> AttackStatisticsDataItem
- attackStatisticsDataItem_attackVolume :: Lens' AttackStatisticsDataItem (Maybe AttackVolume)
- attackStatisticsDataItem_attackCount :: Lens' AttackStatisticsDataItem Integer
- data AttackSummary = AttackSummary' {}
- newAttackSummary :: AttackSummary
- attackSummary_attackId :: Lens' AttackSummary (Maybe Text)
- attackSummary_attackVectors :: Lens' AttackSummary (Maybe [AttackVectorDescription])
- attackSummary_endTime :: Lens' AttackSummary (Maybe UTCTime)
- attackSummary_resourceArn :: Lens' AttackSummary (Maybe Text)
- attackSummary_startTime :: Lens' AttackSummary (Maybe UTCTime)
- data AttackVectorDescription = AttackVectorDescription' {
- vectorType :: Text
- newAttackVectorDescription :: Text -> AttackVectorDescription
- attackVectorDescription_vectorType :: Lens' AttackVectorDescription Text
- data AttackVolume = AttackVolume' {}
- newAttackVolume :: AttackVolume
- attackVolume_bitsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics)
- attackVolume_packetsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics)
- attackVolume_requestsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics)
- data AttackVolumeStatistics = AttackVolumeStatistics' {}
- newAttackVolumeStatistics :: Double -> AttackVolumeStatistics
- attackVolumeStatistics_max :: Lens' AttackVolumeStatistics Double
- data BlockAction = BlockAction' {
- newBlockAction :: BlockAction
- data Contributor = Contributor' {}
- newContributor :: Contributor
- contributor_name :: Lens' Contributor (Maybe Text)
- contributor_value :: Lens' Contributor (Maybe Integer)
- data CountAction = CountAction' {
- newCountAction :: CountAction
- data EmergencyContact = EmergencyContact' {}
- newEmergencyContact :: Text -> EmergencyContact
- emergencyContact_contactNotes :: Lens' EmergencyContact (Maybe Text)
- emergencyContact_phoneNumber :: Lens' EmergencyContact (Maybe Text)
- emergencyContact_emailAddress :: Lens' EmergencyContact Text
- data InclusionProtectionFilters = InclusionProtectionFilters' {}
- newInclusionProtectionFilters :: InclusionProtectionFilters
- inclusionProtectionFilters_protectionNames :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text))
- inclusionProtectionFilters_resourceArns :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text))
- inclusionProtectionFilters_resourceTypes :: Lens' InclusionProtectionFilters (Maybe (NonEmpty ProtectedResourceType))
- data InclusionProtectionGroupFilters = InclusionProtectionGroupFilters' {}
- newInclusionProtectionGroupFilters :: InclusionProtectionGroupFilters
- inclusionProtectionGroupFilters_aggregations :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupAggregation))
- inclusionProtectionGroupFilters_patterns :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupPattern))
- inclusionProtectionGroupFilters_protectionGroupIds :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty Text))
- inclusionProtectionGroupFilters_resourceTypes :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectedResourceType))
- data Limit = Limit' {}
- newLimit :: Limit
- limit_max :: Lens' Limit (Maybe Integer)
- limit_type :: Lens' Limit (Maybe Text)
- data Mitigation = Mitigation' {}
- newMitigation :: Mitigation
- mitigation_mitigationName :: Lens' Mitigation (Maybe Text)
- data Protection = Protection' {}
- newProtection :: Protection
- protection_applicationLayerAutomaticResponseConfiguration :: Lens' Protection (Maybe ApplicationLayerAutomaticResponseConfiguration)
- protection_healthCheckIds :: Lens' Protection (Maybe [Text])
- protection_id :: Lens' Protection (Maybe Text)
- protection_name :: Lens' Protection (Maybe Text)
- protection_protectionArn :: Lens' Protection (Maybe Text)
- protection_resourceArn :: Lens' Protection (Maybe Text)
- data ProtectionGroup = ProtectionGroup' {}
- newProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> ProtectionGroup
- protectionGroup_protectionGroupArn :: Lens' ProtectionGroup (Maybe Text)
- protectionGroup_resourceType :: Lens' ProtectionGroup (Maybe ProtectedResourceType)
- protectionGroup_protectionGroupId :: Lens' ProtectionGroup Text
- protectionGroup_aggregation :: Lens' ProtectionGroup ProtectionGroupAggregation
- protectionGroup_pattern :: Lens' ProtectionGroup ProtectionGroupPattern
- protectionGroup_members :: Lens' ProtectionGroup [Text]
- data ProtectionGroupArbitraryPatternLimits = ProtectionGroupArbitraryPatternLimits' {}
- newProtectionGroupArbitraryPatternLimits :: Integer -> ProtectionGroupArbitraryPatternLimits
- protectionGroupArbitraryPatternLimits_maxMembers :: Lens' ProtectionGroupArbitraryPatternLimits Integer
- data ProtectionGroupLimits = ProtectionGroupLimits' {}
- newProtectionGroupLimits :: Integer -> ProtectionGroupPatternTypeLimits -> ProtectionGroupLimits
- protectionGroupLimits_maxProtectionGroups :: Lens' ProtectionGroupLimits Integer
- protectionGroupLimits_patternTypeLimits :: Lens' ProtectionGroupLimits ProtectionGroupPatternTypeLimits
- data ProtectionGroupPatternTypeLimits = ProtectionGroupPatternTypeLimits' {}
- newProtectionGroupPatternTypeLimits :: ProtectionGroupArbitraryPatternLimits -> ProtectionGroupPatternTypeLimits
- protectionGroupPatternTypeLimits_arbitraryPatternLimits :: Lens' ProtectionGroupPatternTypeLimits ProtectionGroupArbitraryPatternLimits
- data ProtectionLimits = ProtectionLimits' {}
- newProtectionLimits :: ProtectionLimits
- protectionLimits_protectedResourceTypeLimits :: Lens' ProtectionLimits [Limit]
- data ResponseAction = ResponseAction' {}
- newResponseAction :: ResponseAction
- responseAction_block :: Lens' ResponseAction (Maybe BlockAction)
- responseAction_count :: Lens' ResponseAction (Maybe CountAction)
- data SubResourceSummary = SubResourceSummary' {}
- newSubResourceSummary :: SubResourceSummary
- subResourceSummary_attackVectors :: Lens' SubResourceSummary (Maybe [SummarizedAttackVector])
- subResourceSummary_counters :: Lens' SubResourceSummary (Maybe [SummarizedCounter])
- subResourceSummary_id :: Lens' SubResourceSummary (Maybe Text)
- subResourceSummary_type :: Lens' SubResourceSummary (Maybe SubResourceType)
- data Subscription = Subscription' {}
- newSubscription :: SubscriptionLimits -> Subscription
- subscription_autoRenew :: Lens' Subscription (Maybe AutoRenew)
- subscription_endTime :: Lens' Subscription (Maybe UTCTime)
- subscription_limits :: Lens' Subscription (Maybe [Limit])
- subscription_proactiveEngagementStatus :: Lens' Subscription (Maybe ProactiveEngagementStatus)
- subscription_startTime :: Lens' Subscription (Maybe UTCTime)
- subscription_subscriptionArn :: Lens' Subscription (Maybe Text)
- subscription_timeCommitmentInSeconds :: Lens' Subscription (Maybe Natural)
- subscription_subscriptionLimits :: Lens' Subscription SubscriptionLimits
- data SubscriptionLimits = SubscriptionLimits' {}
- newSubscriptionLimits :: ProtectionLimits -> ProtectionGroupLimits -> SubscriptionLimits
- subscriptionLimits_protectionLimits :: Lens' SubscriptionLimits ProtectionLimits
- subscriptionLimits_protectionGroupLimits :: Lens' SubscriptionLimits ProtectionGroupLimits
- data SummarizedAttackVector = SummarizedAttackVector' {}
- newSummarizedAttackVector :: Text -> SummarizedAttackVector
- summarizedAttackVector_vectorCounters :: Lens' SummarizedAttackVector (Maybe [SummarizedCounter])
- summarizedAttackVector_vectorType :: Lens' SummarizedAttackVector Text
- data SummarizedCounter = SummarizedCounter' {}
- newSummarizedCounter :: SummarizedCounter
- summarizedCounter_average :: Lens' SummarizedCounter (Maybe Double)
- summarizedCounter_max :: Lens' SummarizedCounter (Maybe Double)
- summarizedCounter_n :: Lens' SummarizedCounter (Maybe Int)
- summarizedCounter_name :: Lens' SummarizedCounter (Maybe Text)
- summarizedCounter_sum :: Lens' SummarizedCounter (Maybe Double)
- summarizedCounter_unit :: Lens' SummarizedCounter (Maybe Text)
- data Tag = Tag' {}
- newTag :: Tag
- tag_key :: Lens' Tag (Maybe Text)
- tag_value :: Lens' Tag (Maybe Text)
- data TimeRange = TimeRange' {}
- newTimeRange :: TimeRange
- timeRange_fromInclusive :: Lens' TimeRange (Maybe UTCTime)
- timeRange_toExclusive :: Lens' TimeRange (Maybe UTCTime)
Service Configuration
defaultService :: Service Source #
API version 2016-06-02
of the Amazon Shield SDK configuration.
Errors
_AccessDeniedException :: AsError a => Fold a ServiceError Source #
Exception that indicates the specified AttackId
does not exist, or the
requester does not have the appropriate permissions to access the
AttackId
.
_AccessDeniedForDependencyException :: AsError a => Fold a ServiceError Source #
In order to grant the necessary access to the Shield Response Team (SRT)
the user submitting the request must have the iam:PassRole
permission.
This error indicates the user did not have the appropriate permissions.
For more information, see
Granting a User Permissions to Pass a Role to an Amazon Web Services Service.
_InternalErrorException :: AsError a => Fold a ServiceError Source #
Exception that indicates that a problem occurred with the service infrastructure. You can retry the request.
_InvalidOperationException :: AsError a => Fold a ServiceError Source #
Exception that indicates that the operation would not cause any change to occur.
_InvalidPaginationTokenException :: AsError a => Fold a ServiceError Source #
Exception that indicates that the NextToken
specified in the request
is invalid. Submit the request using the NextToken
value that was
returned in the prior response.
_InvalidParameterException :: AsError a => Fold a ServiceError Source #
Exception that indicates that the parameters passed to the API are invalid. If available, this exception includes details in additional properties.
_InvalidResourceException :: AsError a => Fold a ServiceError Source #
Exception that indicates that the resource is invalid. You might not have access to the resource, or the resource might not exist.
_LimitsExceededException :: AsError a => Fold a ServiceError Source #
Exception that indicates that the operation would exceed a limit.
_LockedSubscriptionException :: AsError a => Fold a ServiceError Source #
You are trying to update a subscription that has not yet completed the
1-year commitment. You can change the AutoRenew
parameter during the
last 30 days of your subscription. This exception indicates that you are
attempting to change AutoRenew
prior to that period.
_NoAssociatedRoleException :: AsError a => Fold a ServiceError Source #
The ARN of the role that you specified does not exist.
_OptimisticLockException :: AsError a => Fold a ServiceError Source #
Exception that indicates that the resource state has been modified by another client. Retrieve the resource and then retry your request.
_ResourceAlreadyExistsException :: AsError a => Fold a ServiceError Source #
Exception indicating the specified resource already exists. If available, this exception includes details in additional properties.
_ResourceNotFoundException :: AsError a => Fold a ServiceError Source #
Exception indicating the specified resource does not exist. If available, this exception includes details in additional properties.
ApplicationLayerAutomaticResponseStatus
newtype ApplicationLayerAutomaticResponseStatus Source #
pattern ApplicationLayerAutomaticResponseStatus_DISABLED :: ApplicationLayerAutomaticResponseStatus | |
pattern ApplicationLayerAutomaticResponseStatus_ENABLED :: ApplicationLayerAutomaticResponseStatus |
Instances
AttackLayer
newtype AttackLayer Source #
pattern AttackLayer_APPLICATION :: AttackLayer | |
pattern AttackLayer_NETWORK :: AttackLayer |
Instances
AttackPropertyIdentifier
newtype AttackPropertyIdentifier Source #
Instances
AutoRenew
pattern AutoRenew_DISABLED :: AutoRenew | |
pattern AutoRenew_ENABLED :: AutoRenew |
Instances
ProactiveEngagementStatus
newtype ProactiveEngagementStatus Source #
Instances
ProtectedResourceType
newtype ProtectedResourceType Source #
Instances
ProtectionGroupAggregation
newtype ProtectionGroupAggregation Source #
Instances
ProtectionGroupPattern
newtype ProtectionGroupPattern Source #
Instances
SubResourceType
newtype SubResourceType Source #
pattern SubResourceType_IP :: SubResourceType | |
pattern SubResourceType_URL :: SubResourceType |
Instances
SubscriptionState
newtype SubscriptionState Source #
pattern SubscriptionState_ACTIVE :: SubscriptionState | |
pattern SubscriptionState_INACTIVE :: SubscriptionState |
Instances
Unit
pattern Unit_BITS :: Unit | |
pattern Unit_BYTES :: Unit | |
pattern Unit_PACKETS :: Unit | |
pattern Unit_REQUESTS :: Unit |
Instances
ApplicationLayerAutomaticResponseConfiguration
data ApplicationLayerAutomaticResponseConfiguration Source #
The automatic application layer DDoS mitigation settings for a Protection. This configuration determines whether Shield Advanced automatically manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.
See: newApplicationLayerAutomaticResponseConfiguration
smart constructor.
ApplicationLayerAutomaticResponseConfiguration' | |
|
Instances
newApplicationLayerAutomaticResponseConfiguration Source #
:: ApplicationLayerAutomaticResponseStatus | |
-> ResponseAction | |
-> ApplicationLayerAutomaticResponseConfiguration |
Create a value of ApplicationLayerAutomaticResponseConfiguration
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:status:ApplicationLayerAutomaticResponseConfiguration'
, applicationLayerAutomaticResponseConfiguration_status
- Indicates whether automatic application layer DDoS mitigation is enabled
for the protection.
$sel:action:ApplicationLayerAutomaticResponseConfiguration'
, applicationLayerAutomaticResponseConfiguration_action
- Specifies the action setting that Shield Advanced should use in the WAF
rules that it creates on behalf of the protected resource in response to
DDoS attacks. You specify this as part of the configuration for the
automatic application layer DDoS mitigation feature, when you enable or
update automatic mitigation. Shield Advanced creates the WAF rules in a
Shield Advanced-managed rule group, inside the web ACL that you have
associated with the resource.
applicationLayerAutomaticResponseConfiguration_status :: Lens' ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseStatus Source #
Indicates whether automatic application layer DDoS mitigation is enabled for the protection.
applicationLayerAutomaticResponseConfiguration_action :: Lens' ApplicationLayerAutomaticResponseConfiguration ResponseAction Source #
Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
AttackDetail
data AttackDetail Source #
The details of a DDoS attack.
See: newAttackDetail
smart constructor.
AttackDetail' | |
|
Instances
newAttackDetail :: AttackDetail Source #
Create a value of AttackDetail
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:attackCounters:AttackDetail'
, attackDetail_attackCounters
- List of counters that describe the attack for the specified time period.
$sel:attackId:AttackDetail'
, attackDetail_attackId
- The unique identifier (ID) of the attack.
$sel:attackProperties:AttackDetail'
, attackDetail_attackProperties
- The array of objects that provide details of the Shield event.
For infrastructure layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. For more information, see Shield metrics and alarms in the WAF Developer Guide.
$sel:endTime:AttackDetail'
, attackDetail_endTime
- The time the attack ended, in Unix time in seconds.
$sel:mitigations:AttackDetail'
, attackDetail_mitigations
- List of mitigation actions taken for the attack.
$sel:resourceArn:AttackDetail'
, attackDetail_resourceArn
- The ARN (Amazon Resource Name) of the resource that was attacked.
$sel:startTime:AttackDetail'
, attackDetail_startTime
- The time the attack started, in Unix time in seconds.
$sel:subResources:AttackDetail'
, attackDetail_subResources
- If applicable, additional detail about the resource being attacked, for
example, IP address or URL.
attackDetail_attackCounters :: Lens' AttackDetail (Maybe [SummarizedCounter]) Source #
List of counters that describe the attack for the specified time period.
attackDetail_attackId :: Lens' AttackDetail (Maybe Text) Source #
The unique identifier (ID) of the attack.
attackDetail_attackProperties :: Lens' AttackDetail (Maybe [AttackProperty]) Source #
The array of objects that provide details of the Shield event.
For infrastructure layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. For more information, see Shield metrics and alarms in the WAF Developer Guide.
attackDetail_endTime :: Lens' AttackDetail (Maybe UTCTime) Source #
The time the attack ended, in Unix time in seconds.
attackDetail_mitigations :: Lens' AttackDetail (Maybe [Mitigation]) Source #
List of mitigation actions taken for the attack.
attackDetail_resourceArn :: Lens' AttackDetail (Maybe Text) Source #
The ARN (Amazon Resource Name) of the resource that was attacked.
attackDetail_startTime :: Lens' AttackDetail (Maybe UTCTime) Source #
The time the attack started, in Unix time in seconds.
attackDetail_subResources :: Lens' AttackDetail (Maybe [SubResourceSummary]) Source #
If applicable, additional detail about the resource being attacked, for example, IP address or URL.
AttackProperty
data AttackProperty Source #
Details of a Shield event. This is provided as part of an AttackDetail.
See: newAttackProperty
smart constructor.
AttackProperty' | |
|
Instances
newAttackProperty :: AttackProperty Source #
Create a value of AttackProperty
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:attackLayer:AttackProperty'
, attackProperty_attackLayer
- The type of Shield event that was observed. NETWORK
indicates layer 3
and layer 4 events and APPLICATION
indicates layer 7 events.
For infrastructure layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. For more information, see Shield metrics and alarms in the WAF Developer Guide.
$sel:attackPropertyIdentifier:AttackProperty'
, attackProperty_attackPropertyIdentifier
- Defines the Shield event property information that is provided. The
WORDPRESS_PINGBACK_REFLECTOR
and WORDPRESS_PINGBACK_SOURCE
values
are valid only for WordPress reflective pingback events.
$sel:topContributors:AttackProperty'
, attackProperty_topContributors
- Contributor objects for the top five contributors to a Shield event. A
contributor is a source of traffic that Shield Advanced identifies as
responsible for some or all of an event.
$sel:total:AttackProperty'
, attackProperty_total
- The total contributions made to this Shield event by all contributors.
$sel:unit:AttackProperty'
, attackProperty_unit
- The unit used for the Contributor
Value
property.
attackProperty_attackLayer :: Lens' AttackProperty (Maybe AttackLayer) Source #
The type of Shield event that was observed. NETWORK
indicates layer 3
and layer 4 events and APPLICATION
indicates layer 7 events.
For infrastructure layer events (L3 and L4 events), you can view metrics for top contributors in Amazon CloudWatch metrics. For more information, see Shield metrics and alarms in the WAF Developer Guide.
attackProperty_attackPropertyIdentifier :: Lens' AttackProperty (Maybe AttackPropertyIdentifier) Source #
Defines the Shield event property information that is provided. The
WORDPRESS_PINGBACK_REFLECTOR
and WORDPRESS_PINGBACK_SOURCE
values
are valid only for WordPress reflective pingback events.
attackProperty_topContributors :: Lens' AttackProperty (Maybe [Contributor]) Source #
Contributor objects for the top five contributors to a Shield event. A contributor is a source of traffic that Shield Advanced identifies as responsible for some or all of an event.
attackProperty_total :: Lens' AttackProperty (Maybe Integer) Source #
The total contributions made to this Shield event by all contributors.
attackProperty_unit :: Lens' AttackProperty (Maybe Unit) Source #
The unit used for the Contributor
Value
property.
AttackStatisticsDataItem
data AttackStatisticsDataItem Source #
A single attack statistics data record. This is returned by DescribeAttackStatistics along with a time range indicating the time period that the attack statistics apply to.
See: newAttackStatisticsDataItem
smart constructor.
AttackStatisticsDataItem' | |
|
Instances
newAttackStatisticsDataItem Source #
Create a value of AttackStatisticsDataItem
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:attackVolume:AttackStatisticsDataItem'
, attackStatisticsDataItem_attackVolume
- Information about the volume of attacks during the time period. If the
accompanying AttackCount
is zero, this setting might be empty.
$sel:attackCount:AttackStatisticsDataItem'
, attackStatisticsDataItem_attackCount
- The number of attacks detected during the time period. This is always
present, but might be zero.
attackStatisticsDataItem_attackVolume :: Lens' AttackStatisticsDataItem (Maybe AttackVolume) Source #
Information about the volume of attacks during the time period. If the
accompanying AttackCount
is zero, this setting might be empty.
attackStatisticsDataItem_attackCount :: Lens' AttackStatisticsDataItem Integer Source #
The number of attacks detected during the time period. This is always present, but might be zero.
AttackSummary
data AttackSummary Source #
Summarizes all DDoS attacks for a specified time period.
See: newAttackSummary
smart constructor.
AttackSummary' | |
|
Instances
newAttackSummary :: AttackSummary Source #
Create a value of AttackSummary
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:attackId:AttackSummary'
, attackSummary_attackId
- The unique identifier (ID) of the attack.
$sel:attackVectors:AttackSummary'
, attackSummary_attackVectors
- The list of attacks for a specified time period.
$sel:endTime:AttackSummary'
, attackSummary_endTime
- The end time of the attack, in Unix time in seconds.
$sel:resourceArn:AttackSummary'
, attackSummary_resourceArn
- The ARN (Amazon Resource Name) of the resource that was attacked.
$sel:startTime:AttackSummary'
, attackSummary_startTime
- The start time of the attack, in Unix time in seconds.
attackSummary_attackId :: Lens' AttackSummary (Maybe Text) Source #
The unique identifier (ID) of the attack.
attackSummary_attackVectors :: Lens' AttackSummary (Maybe [AttackVectorDescription]) Source #
The list of attacks for a specified time period.
attackSummary_endTime :: Lens' AttackSummary (Maybe UTCTime) Source #
The end time of the attack, in Unix time in seconds.
attackSummary_resourceArn :: Lens' AttackSummary (Maybe Text) Source #
The ARN (Amazon Resource Name) of the resource that was attacked.
attackSummary_startTime :: Lens' AttackSummary (Maybe UTCTime) Source #
The start time of the attack, in Unix time in seconds.
AttackVectorDescription
data AttackVectorDescription Source #
Describes the attack.
See: newAttackVectorDescription
smart constructor.
AttackVectorDescription' | |
|
Instances
newAttackVectorDescription Source #
Create a value of AttackVectorDescription
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:vectorType:AttackVectorDescription'
, attackVectorDescription_vectorType
- The attack type. Valid values:
- UDP_TRAFFIC
- UDP_FRAGMENT
- GENERIC_UDP_REFLECTION
- DNS_REFLECTION
- NTP_REFLECTION
- CHARGEN_REFLECTION
- SSDP_REFLECTION
- PORT_MAPPER
- RIP_REFLECTION
- SNMP_REFLECTION
- MSSQL_REFLECTION
- NET_BIOS_REFLECTION
- SYN_FLOOD
- ACK_FLOOD
- REQUEST_FLOOD
- HTTP_REFLECTION
- UDS_REFLECTION
- MEMCACHED_REFLECTION
attackVectorDescription_vectorType :: Lens' AttackVectorDescription Text Source #
The attack type. Valid values:
- UDP_TRAFFIC
- UDP_FRAGMENT
- GENERIC_UDP_REFLECTION
- DNS_REFLECTION
- NTP_REFLECTION
- CHARGEN_REFLECTION
- SSDP_REFLECTION
- PORT_MAPPER
- RIP_REFLECTION
- SNMP_REFLECTION
- MSSQL_REFLECTION
- NET_BIOS_REFLECTION
- SYN_FLOOD
- ACK_FLOOD
- REQUEST_FLOOD
- HTTP_REFLECTION
- UDS_REFLECTION
- MEMCACHED_REFLECTION
AttackVolume
data AttackVolume Source #
Information about the volume of attacks during the time period, included
in an AttackStatisticsDataItem. If the accompanying AttackCount
in the
statistics object is zero, this setting might be empty.
See: newAttackVolume
smart constructor.
AttackVolume' | |
|
Instances
newAttackVolume :: AttackVolume Source #
Create a value of AttackVolume
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:bitsPerSecond:AttackVolume'
, attackVolume_bitsPerSecond
- A statistics object that uses bits per second as the unit. This is
included for network level attacks.
$sel:packetsPerSecond:AttackVolume'
, attackVolume_packetsPerSecond
- A statistics object that uses packets per second as the unit. This is
included for network level attacks.
$sel:requestsPerSecond:AttackVolume'
, attackVolume_requestsPerSecond
- A statistics object that uses requests per second as the unit. This is
included for application level attacks, and is only available for
accounts that are subscribed to Shield Advanced.
attackVolume_bitsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) Source #
A statistics object that uses bits per second as the unit. This is included for network level attacks.
attackVolume_packetsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) Source #
A statistics object that uses packets per second as the unit. This is included for network level attacks.
attackVolume_requestsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) Source #
A statistics object that uses requests per second as the unit. This is included for application level attacks, and is only available for accounts that are subscribed to Shield Advanced.
AttackVolumeStatistics
data AttackVolumeStatistics Source #
Statistics objects for the various data types in AttackVolume.
See: newAttackVolumeStatistics
smart constructor.
Instances
newAttackVolumeStatistics Source #
Create a value of AttackVolumeStatistics
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:max:AttackVolumeStatistics'
, attackVolumeStatistics_max
- The maximum attack volume observed for the given unit.
attackVolumeStatistics_max :: Lens' AttackVolumeStatistics Double Source #
The maximum attack volume observed for the given unit.
BlockAction
data BlockAction Source #
Specifies that Shield Advanced should configure its WAF rules with the
WAF Block
action.
This is only used in the context of the ResponseAction
setting.
JSON specification: "Block": {}
See: newBlockAction
smart constructor.
Instances
newBlockAction :: BlockAction Source #
Create a value of BlockAction
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
Contributor
data Contributor Source #
A contributor to the attack and their contribution.
See: newContributor
smart constructor.
Contributor' | |
|
Instances
newContributor :: Contributor Source #
Create a value of Contributor
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:name:Contributor'
, contributor_name
- The name of the contributor. The type of name that you'll find here
depends on the AttackPropertyIdentifier
setting in the
AttackProperty
where this contributor is defined. For example, if the
AttackPropertyIdentifier
is SOURCE_COUNTRY
, the Name
could be
United States
.
$sel:value:Contributor'
, contributor_value
- The contribution of this contributor expressed in Protection units. For
example 10,000
.
contributor_name :: Lens' Contributor (Maybe Text) Source #
The name of the contributor. The type of name that you'll find here
depends on the AttackPropertyIdentifier
setting in the
AttackProperty
where this contributor is defined. For example, if the
AttackPropertyIdentifier
is SOURCE_COUNTRY
, the Name
could be
United States
.
contributor_value :: Lens' Contributor (Maybe Integer) Source #
The contribution of this contributor expressed in Protection units. For
example 10,000
.
CountAction
data CountAction Source #
Specifies that Shield Advanced should configure its WAF rules with the
WAF Count
action.
This is only used in the context of the ResponseAction
setting.
JSON specification: "Count": {}
See: newCountAction
smart constructor.
Instances
newCountAction :: CountAction Source #
Create a value of CountAction
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
EmergencyContact
data EmergencyContact Source #
Contact information that the SRT can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.
See: newEmergencyContact
smart constructor.
EmergencyContact' | |
|
Instances
Create a value of EmergencyContact
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:contactNotes:EmergencyContact'
, emergencyContact_contactNotes
- Additional notes regarding the contact.
$sel:phoneNumber:EmergencyContact'
, emergencyContact_phoneNumber
- The phone number for the contact.
$sel:emailAddress:EmergencyContact'
, emergencyContact_emailAddress
- The email address for the contact.
emergencyContact_contactNotes :: Lens' EmergencyContact (Maybe Text) Source #
Additional notes regarding the contact.
emergencyContact_phoneNumber :: Lens' EmergencyContact (Maybe Text) Source #
The phone number for the contact.
emergencyContact_emailAddress :: Lens' EmergencyContact Text Source #
The email address for the contact.
InclusionProtectionFilters
data InclusionProtectionFilters Source #
Narrows the set of protections that the call retrieves. You can retrieve a single protection by providing its name or the ARN (Amazon Resource Name) of its protected resource. You can also retrieve all protections for a specific resource type. You can provide up to one criteria per filter type. Shield Advanced returns protections that exactly match all of the filter criteria that you provide.
See: newInclusionProtectionFilters
smart constructor.
InclusionProtectionFilters' | |
|
Instances
newInclusionProtectionFilters :: InclusionProtectionFilters Source #
Create a value of InclusionProtectionFilters
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:protectionNames:InclusionProtectionFilters'
, inclusionProtectionFilters_protectionNames
- The name of the protection that you want to retrieve.
$sel:resourceArns:InclusionProtectionFilters'
, inclusionProtectionFilters_resourceArns
- The ARN (Amazon Resource Name) of the resource whose protection you want
to retrieve.
$sel:resourceTypes:InclusionProtectionFilters'
, inclusionProtectionFilters_resourceTypes
- The type of protected resource whose protections you want to retrieve.
inclusionProtectionFilters_protectionNames :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) Source #
The name of the protection that you want to retrieve.
inclusionProtectionFilters_resourceArns :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) Source #
The ARN (Amazon Resource Name) of the resource whose protection you want to retrieve.
inclusionProtectionFilters_resourceTypes :: Lens' InclusionProtectionFilters (Maybe (NonEmpty ProtectedResourceType)) Source #
The type of protected resource whose protections you want to retrieve.
InclusionProtectionGroupFilters
data InclusionProtectionGroupFilters Source #
Narrows the set of protection groups that the call retrieves. You can retrieve a single protection group by its name and you can retrieve all protection groups that are configured with a specific pattern, aggregation, or resource type. You can provide up to one criteria per filter type. Shield Advanced returns the protection groups that exactly match all of the search criteria that you provide.
See: newInclusionProtectionGroupFilters
smart constructor.
InclusionProtectionGroupFilters' | |
|
Instances
newInclusionProtectionGroupFilters :: InclusionProtectionGroupFilters Source #
Create a value of InclusionProtectionGroupFilters
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:aggregations:InclusionProtectionGroupFilters'
, inclusionProtectionGroupFilters_aggregations
- The aggregation setting of the protection groups that you want to
retrieve.
$sel:patterns:InclusionProtectionGroupFilters'
, inclusionProtectionGroupFilters_patterns
- The pattern specification of the protection groups that you want to
retrieve.
$sel:protectionGroupIds:InclusionProtectionGroupFilters'
, inclusionProtectionGroupFilters_protectionGroupIds
- The ID of the protection group that you want to retrieve.
$sel:resourceTypes:InclusionProtectionGroupFilters'
, inclusionProtectionGroupFilters_resourceTypes
- The resource type configuration of the protection groups that you want
to retrieve. In the protection group configuration, you specify the
resource type when you set the group's Pattern
to BY_RESOURCE_TYPE
.
inclusionProtectionGroupFilters_aggregations :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupAggregation)) Source #
The aggregation setting of the protection groups that you want to retrieve.
inclusionProtectionGroupFilters_patterns :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupPattern)) Source #
The pattern specification of the protection groups that you want to retrieve.
inclusionProtectionGroupFilters_protectionGroupIds :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty Text)) Source #
The ID of the protection group that you want to retrieve.
inclusionProtectionGroupFilters_resourceTypes :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectedResourceType)) Source #
The resource type configuration of the protection groups that you want
to retrieve. In the protection group configuration, you specify the
resource type when you set the group's Pattern
to BY_RESOURCE_TYPE
.
Limit
Specifies how many protections of a given type you can create.
See: newLimit
smart constructor.
Instances
FromJSON Limit Source # | |
Generic Limit Source # | |
Read Limit Source # | |
Show Limit Source # | |
NFData Limit Source # | |
Defined in Amazonka.Shield.Types.Limit | |
Eq Limit Source # | |
Hashable Limit Source # | |
Defined in Amazonka.Shield.Types.Limit | |
type Rep Limit Source # | |
Defined in Amazonka.Shield.Types.Limit type Rep Limit = D1 ('MetaData "Limit" "Amazonka.Shield.Types.Limit" "amazonka-shield-2.0-Cz9Fa9OSQ93AE4UCXBDcFo" 'False) (C1 ('MetaCons "Limit'" 'PrefixI 'True) (S1 ('MetaSel ('Just "max") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer)) :*: S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) |
Create a value of Limit
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:max:Limit'
, limit_max
- The maximum number of protections that can be created for the specified
Type
.
$sel:type':Limit'
, limit_type
- The type of protection.
limit_max :: Lens' Limit (Maybe Integer) Source #
The maximum number of protections that can be created for the specified
Type
.
Mitigation
data Mitigation Source #
The mitigation applied to a DDoS attack.
See: newMitigation
smart constructor.
Mitigation' | |
|
Instances
newMitigation :: Mitigation Source #
Create a value of Mitigation
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:mitigationName:Mitigation'
, mitigation_mitigationName
- The name of the mitigation taken for this attack.
mitigation_mitigationName :: Lens' Mitigation (Maybe Text) Source #
The name of the mitigation taken for this attack.
Protection
data Protection Source #
An object that represents a resource that is under DDoS protection.
See: newProtection
smart constructor.
Protection' | |
|
Instances
newProtection :: Protection Source #
Create a value of Protection
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:applicationLayerAutomaticResponseConfiguration:Protection'
, protection_applicationLayerAutomaticResponseConfiguration
- The automatic application layer DDoS mitigation settings for the
protection. This configuration determines whether Shield Advanced
automatically manages rules in the web ACL in order to respond to
application layer events that Shield Advanced determines to be DDoS
attacks.
$sel:healthCheckIds:Protection'
, protection_healthCheckIds
- The unique identifier (ID) for the Route 53 health check that's
associated with the protection.
$sel:id:Protection'
, protection_id
- The unique identifier (ID) of the protection.
$sel:name:Protection'
, protection_name
- The name of the protection. For example, My CloudFront distributions
.
$sel:protectionArn:Protection'
, protection_protectionArn
- The ARN (Amazon Resource Name) of the protection.
$sel:resourceArn:Protection'
, protection_resourceArn
- The ARN (Amazon Resource Name) of the Amazon Web Services resource that
is protected.
protection_applicationLayerAutomaticResponseConfiguration :: Lens' Protection (Maybe ApplicationLayerAutomaticResponseConfiguration) Source #
The automatic application layer DDoS mitigation settings for the protection. This configuration determines whether Shield Advanced automatically manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.
protection_healthCheckIds :: Lens' Protection (Maybe [Text]) Source #
The unique identifier (ID) for the Route 53 health check that's associated with the protection.
protection_id :: Lens' Protection (Maybe Text) Source #
The unique identifier (ID) of the protection.
protection_name :: Lens' Protection (Maybe Text) Source #
The name of the protection. For example, My CloudFront distributions
.
protection_protectionArn :: Lens' Protection (Maybe Text) Source #
The ARN (Amazon Resource Name) of the protection.
protection_resourceArn :: Lens' Protection (Maybe Text) Source #
The ARN (Amazon Resource Name) of the Amazon Web Services resource that is protected.
ProtectionGroup
data ProtectionGroup Source #
A grouping of protected resources that you and Shield Advanced can monitor as a collective. This resource grouping improves the accuracy of detection and reduces false positives.
See: newProtectionGroup
smart constructor.
ProtectionGroup' | |
|
Instances
Create a value of ProtectionGroup
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:protectionGroupArn:ProtectionGroup'
, protectionGroup_protectionGroupArn
- The ARN (Amazon Resource Name) of the protection group.
$sel:resourceType:ProtectionGroup'
, protectionGroup_resourceType
- The resource type to include in the protection group. All protected
resources of this type are included in the protection group. You must
set this when you set Pattern
to BY_RESOURCE_TYPE
and you must not
set it for any other Pattern
setting.
$sel:protectionGroupId:ProtectionGroup'
, protectionGroup_protectionGroupId
- The name of the protection group. You use this to identify the
protection group in lists and to manage the protection group, for
example to update, delete, or describe it.
$sel:aggregation:ProtectionGroup'
, protectionGroup_aggregation
- Defines how Shield combines resource data for the group in order to
detect, mitigate, and report events.
- Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.
- Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.
- Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions.
$sel:pattern':ProtectionGroup'
, protectionGroup_pattern
- The criteria to use to choose the protected resources for inclusion in
the group. You can include all resources that have protections, provide
a list of resource ARNs (Amazon Resource Names), or include all
resources of a specified resource type.
$sel:members:ProtectionGroup'
, protectionGroup_members
- The ARNs (Amazon Resource Names) of the resources to include in the
protection group. You must set this when you set Pattern
to
ARBITRARY
and you must not set it for any other Pattern
setting.
protectionGroup_protectionGroupArn :: Lens' ProtectionGroup (Maybe Text) Source #
The ARN (Amazon Resource Name) of the protection group.
protectionGroup_resourceType :: Lens' ProtectionGroup (Maybe ProtectedResourceType) Source #
The resource type to include in the protection group. All protected
resources of this type are included in the protection group. You must
set this when you set Pattern
to BY_RESOURCE_TYPE
and you must not
set it for any other Pattern
setting.
protectionGroup_protectionGroupId :: Lens' ProtectionGroup Text Source #
The name of the protection group. You use this to identify the protection group in lists and to manage the protection group, for example to update, delete, or describe it.
protectionGroup_aggregation :: Lens' ProtectionGroup ProtectionGroupAggregation Source #
Defines how Shield combines resource data for the group in order to detect, mitigate, and report events.
- Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.
- Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.
- Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions.
protectionGroup_pattern :: Lens' ProtectionGroup ProtectionGroupPattern Source #
The criteria to use to choose the protected resources for inclusion in the group. You can include all resources that have protections, provide a list of resource ARNs (Amazon Resource Names), or include all resources of a specified resource type.
protectionGroup_members :: Lens' ProtectionGroup [Text] Source #
The ARNs (Amazon Resource Names) of the resources to include in the
protection group. You must set this when you set Pattern
to
ARBITRARY
and you must not set it for any other Pattern
setting.
ProtectionGroupArbitraryPatternLimits
data ProtectionGroupArbitraryPatternLimits Source #
Limits settings on protection groups with arbitrary pattern type.
See: newProtectionGroupArbitraryPatternLimits
smart constructor.
ProtectionGroupArbitraryPatternLimits' | |
|
Instances
newProtectionGroupArbitraryPatternLimits Source #
Create a value of ProtectionGroupArbitraryPatternLimits
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:maxMembers:ProtectionGroupArbitraryPatternLimits'
, protectionGroupArbitraryPatternLimits_maxMembers
- The maximum number of resources you can specify for a single arbitrary
pattern in a protection group.
protectionGroupArbitraryPatternLimits_maxMembers :: Lens' ProtectionGroupArbitraryPatternLimits Integer Source #
The maximum number of resources you can specify for a single arbitrary pattern in a protection group.
ProtectionGroupLimits
data ProtectionGroupLimits Source #
Limits settings on protection groups for your subscription.
See: newProtectionGroupLimits
smart constructor.
ProtectionGroupLimits' | |
|
Instances
newProtectionGroupLimits Source #
Create a value of ProtectionGroupLimits
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:maxProtectionGroups:ProtectionGroupLimits'
, protectionGroupLimits_maxProtectionGroups
- The maximum number of protection groups that you can have at one time.
$sel:patternTypeLimits:ProtectionGroupLimits'
, protectionGroupLimits_patternTypeLimits
- Limits settings by pattern type in the protection groups for your
subscription.
protectionGroupLimits_maxProtectionGroups :: Lens' ProtectionGroupLimits Integer Source #
The maximum number of protection groups that you can have at one time.
protectionGroupLimits_patternTypeLimits :: Lens' ProtectionGroupLimits ProtectionGroupPatternTypeLimits Source #
Limits settings by pattern type in the protection groups for your subscription.
ProtectionGroupPatternTypeLimits
data ProtectionGroupPatternTypeLimits Source #
Limits settings by pattern type in the protection groups for your subscription.
See: newProtectionGroupPatternTypeLimits
smart constructor.
ProtectionGroupPatternTypeLimits' | |
|
Instances
FromJSON ProtectionGroupPatternTypeLimits Source # | |
Generic ProtectionGroupPatternTypeLimits Source # | |
Read ProtectionGroupPatternTypeLimits Source # | |
Show ProtectionGroupPatternTypeLimits Source # | |
NFData ProtectionGroupPatternTypeLimits Source # | |
Defined in Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits rnf :: ProtectionGroupPatternTypeLimits -> () # | |
Eq ProtectionGroupPatternTypeLimits Source # | |
Hashable ProtectionGroupPatternTypeLimits Source # | |
type Rep ProtectionGroupPatternTypeLimits Source # | |
Defined in Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits type Rep ProtectionGroupPatternTypeLimits = D1 ('MetaData "ProtectionGroupPatternTypeLimits" "Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits" "amazonka-shield-2.0-Cz9Fa9OSQ93AE4UCXBDcFo" 'False) (C1 ('MetaCons "ProtectionGroupPatternTypeLimits'" 'PrefixI 'True) (S1 ('MetaSel ('Just "arbitraryPatternLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ProtectionGroupArbitraryPatternLimits))) |
newProtectionGroupPatternTypeLimits Source #
:: ProtectionGroupArbitraryPatternLimits |
|
-> ProtectionGroupPatternTypeLimits |
Create a value of ProtectionGroupPatternTypeLimits
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:arbitraryPatternLimits:ProtectionGroupPatternTypeLimits'
, protectionGroupPatternTypeLimits_arbitraryPatternLimits
- Limits settings on protection groups with arbitrary pattern type.
protectionGroupPatternTypeLimits_arbitraryPatternLimits :: Lens' ProtectionGroupPatternTypeLimits ProtectionGroupArbitraryPatternLimits Source #
Limits settings on protection groups with arbitrary pattern type.
ProtectionLimits
data ProtectionLimits Source #
Limits settings on protections for your subscription.
See: newProtectionLimits
smart constructor.
ProtectionLimits' | |
|
Instances
newProtectionLimits :: ProtectionLimits Source #
Create a value of ProtectionLimits
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:protectedResourceTypeLimits:ProtectionLimits'
, protectionLimits_protectedResourceTypeLimits
- The maximum number of resource types that you can specify in a
protection.
protectionLimits_protectedResourceTypeLimits :: Lens' ProtectionLimits [Limit] Source #
The maximum number of resource types that you can specify in a protection.
ResponseAction
data ResponseAction Source #
Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
See: newResponseAction
smart constructor.
ResponseAction' | |
|
Instances
newResponseAction :: ResponseAction Source #
Create a value of ResponseAction
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:block:ResponseAction'
, responseAction_block
- Specifies that Shield Advanced should configure its WAF rules with the
WAF Block
action.
You must specify exactly one action, either Block
or Count
.
$sel:count:ResponseAction'
, responseAction_count
- Specifies that Shield Advanced should configure its WAF rules with the
WAF Count
action.
You must specify exactly one action, either Block
or Count
.
responseAction_block :: Lens' ResponseAction (Maybe BlockAction) Source #
Specifies that Shield Advanced should configure its WAF rules with the
WAF Block
action.
You must specify exactly one action, either Block
or Count
.
responseAction_count :: Lens' ResponseAction (Maybe CountAction) Source #
Specifies that Shield Advanced should configure its WAF rules with the
WAF Count
action.
You must specify exactly one action, either Block
or Count
.
SubResourceSummary
data SubResourceSummary Source #
The attack information for the specified SubResource.
See: newSubResourceSummary
smart constructor.
SubResourceSummary' | |
|
Instances
newSubResourceSummary :: SubResourceSummary Source #
Create a value of SubResourceSummary
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:attackVectors:SubResourceSummary'
, subResourceSummary_attackVectors
- The list of attack types and associated counters.
$sel:counters:SubResourceSummary'
, subResourceSummary_counters
- The counters that describe the details of the attack.
$sel:id:SubResourceSummary'
, subResourceSummary_id
- The unique identifier (ID) of the SubResource
.
$sel:type':SubResourceSummary'
, subResourceSummary_type
- The SubResource
type.
subResourceSummary_attackVectors :: Lens' SubResourceSummary (Maybe [SummarizedAttackVector]) Source #
The list of attack types and associated counters.
subResourceSummary_counters :: Lens' SubResourceSummary (Maybe [SummarizedCounter]) Source #
The counters that describe the details of the attack.
subResourceSummary_id :: Lens' SubResourceSummary (Maybe Text) Source #
The unique identifier (ID) of the SubResource
.
subResourceSummary_type :: Lens' SubResourceSummary (Maybe SubResourceType) Source #
The SubResource
type.
Subscription
data Subscription Source #
Information about the Shield Advanced subscription for an account.
See: newSubscription
smart constructor.
Subscription' | |
|
Instances
Create a value of Subscription
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:autoRenew:Subscription'
, subscription_autoRenew
- If ENABLED
, the subscription will be automatically renewed at the end
of the existing subscription period.
When you initally create a subscription, AutoRenew
is set to
ENABLED
. You can change this by submitting an UpdateSubscription
request. If the UpdateSubscription
request does not included a value
for AutoRenew
, the existing value for AutoRenew
remains unchanged.
$sel:endTime:Subscription'
, subscription_endTime
- The date and time your subscription will end.
$sel:limits:Subscription'
, subscription_limits
- Specifies how many protections of a given type you can create.
$sel:proactiveEngagementStatus:Subscription'
, subscription_proactiveEngagementStatus
- If ENABLED
, the Shield Response Team (SRT) will use email and phone to
notify contacts about escalations to the SRT and to initiate proactive
customer support.
If PENDING
, you have requested proactive engagement and the request is
pending. The status changes to ENABLED
when your request is fully
processed.
If DISABLED
, the SRT will not proactively notify contacts about
escalations or to initiate proactive customer support.
$sel:startTime:Subscription'
, subscription_startTime
- The start time of the subscription, in Unix time in seconds.
$sel:subscriptionArn:Subscription'
, subscription_subscriptionArn
- The ARN (Amazon Resource Name) of the subscription.
$sel:timeCommitmentInSeconds:Subscription'
, subscription_timeCommitmentInSeconds
- The length, in seconds, of the Shield Advanced subscription for the
account.
$sel:subscriptionLimits:Subscription'
, subscription_subscriptionLimits
- Limits settings for your subscription.
subscription_autoRenew :: Lens' Subscription (Maybe AutoRenew) Source #
If ENABLED
, the subscription will be automatically renewed at the end
of the existing subscription period.
When you initally create a subscription, AutoRenew
is set to
ENABLED
. You can change this by submitting an UpdateSubscription
request. If the UpdateSubscription
request does not included a value
for AutoRenew
, the existing value for AutoRenew
remains unchanged.
subscription_endTime :: Lens' Subscription (Maybe UTCTime) Source #
The date and time your subscription will end.
subscription_limits :: Lens' Subscription (Maybe [Limit]) Source #
Specifies how many protections of a given type you can create.
subscription_proactiveEngagementStatus :: Lens' Subscription (Maybe ProactiveEngagementStatus) Source #
If ENABLED
, the Shield Response Team (SRT) will use email and phone to
notify contacts about escalations to the SRT and to initiate proactive
customer support.
If PENDING
, you have requested proactive engagement and the request is
pending. The status changes to ENABLED
when your request is fully
processed.
If DISABLED
, the SRT will not proactively notify contacts about
escalations or to initiate proactive customer support.
subscription_startTime :: Lens' Subscription (Maybe UTCTime) Source #
The start time of the subscription, in Unix time in seconds.
subscription_subscriptionArn :: Lens' Subscription (Maybe Text) Source #
The ARN (Amazon Resource Name) of the subscription.
subscription_timeCommitmentInSeconds :: Lens' Subscription (Maybe Natural) Source #
The length, in seconds, of the Shield Advanced subscription for the account.
subscription_subscriptionLimits :: Lens' Subscription SubscriptionLimits Source #
Limits settings for your subscription.
SubscriptionLimits
data SubscriptionLimits Source #
Limits settings for your subscription.
See: newSubscriptionLimits
smart constructor.
SubscriptionLimits' | |
|
Instances
newSubscriptionLimits Source #
Create a value of SubscriptionLimits
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:protectionLimits:SubscriptionLimits'
, subscriptionLimits_protectionLimits
- Limits settings on protections for your subscription.
$sel:protectionGroupLimits:SubscriptionLimits'
, subscriptionLimits_protectionGroupLimits
- Limits settings on protection groups for your subscription.
subscriptionLimits_protectionLimits :: Lens' SubscriptionLimits ProtectionLimits Source #
Limits settings on protections for your subscription.
subscriptionLimits_protectionGroupLimits :: Lens' SubscriptionLimits ProtectionGroupLimits Source #
Limits settings on protection groups for your subscription.
SummarizedAttackVector
data SummarizedAttackVector Source #
A summary of information about the attack.
See: newSummarizedAttackVector
smart constructor.
SummarizedAttackVector' | |
|
Instances
newSummarizedAttackVector Source #
Create a value of SummarizedAttackVector
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:vectorCounters:SummarizedAttackVector'
, summarizedAttackVector_vectorCounters
- The list of counters that describe the details of the attack.
$sel:vectorType:SummarizedAttackVector'
, summarizedAttackVector_vectorType
- The attack type, for example, SNMP reflection or SYN flood.
summarizedAttackVector_vectorCounters :: Lens' SummarizedAttackVector (Maybe [SummarizedCounter]) Source #
The list of counters that describe the details of the attack.
summarizedAttackVector_vectorType :: Lens' SummarizedAttackVector Text Source #
The attack type, for example, SNMP reflection or SYN flood.
SummarizedCounter
data SummarizedCounter Source #
The counter that describes a DDoS attack.
See: newSummarizedCounter
smart constructor.
SummarizedCounter' | |
|
Instances
newSummarizedCounter :: SummarizedCounter Source #
Create a value of SummarizedCounter
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:average:SummarizedCounter'
, summarizedCounter_average
- The average value of the counter for a specified time period.
$sel:max:SummarizedCounter'
, summarizedCounter_max
- The maximum value of the counter for a specified time period.
$sel:n:SummarizedCounter'
, summarizedCounter_n
- The number of counters for a specified time period.
$sel:name:SummarizedCounter'
, summarizedCounter_name
- The counter name.
$sel:sum:SummarizedCounter'
, summarizedCounter_sum
- The total of counter values for a specified time period.
$sel:unit:SummarizedCounter'
, summarizedCounter_unit
- The unit of the counters.
summarizedCounter_average :: Lens' SummarizedCounter (Maybe Double) Source #
The average value of the counter for a specified time period.
summarizedCounter_max :: Lens' SummarizedCounter (Maybe Double) Source #
The maximum value of the counter for a specified time period.
summarizedCounter_n :: Lens' SummarizedCounter (Maybe Int) Source #
The number of counters for a specified time period.
summarizedCounter_name :: Lens' SummarizedCounter (Maybe Text) Source #
The counter name.
summarizedCounter_sum :: Lens' SummarizedCounter (Maybe Double) Source #
The total of counter values for a specified time period.
summarizedCounter_unit :: Lens' SummarizedCounter (Maybe Text) Source #
The unit of the counters.
Tag
A tag associated with an Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.
See: newTag
smart constructor.
Tag' | |
|
Instances
FromJSON Tag Source # | |
ToJSON Tag Source # | |
Defined in Amazonka.Shield.Types.Tag | |
Generic Tag Source # | |
Read Tag Source # | |
Show Tag Source # | |
NFData Tag Source # | |
Defined in Amazonka.Shield.Types.Tag | |
Eq Tag Source # | |
Hashable Tag Source # | |
Defined in Amazonka.Shield.Types.Tag | |
type Rep Tag Source # | |
Defined in Amazonka.Shield.Types.Tag type Rep Tag = D1 ('MetaData "Tag" "Amazonka.Shield.Types.Tag" "amazonka-shield-2.0-Cz9Fa9OSQ93AE4UCXBDcFo" 'False) (C1 ('MetaCons "Tag'" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) |
Create a value of Tag
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:key:Tag'
, tag_key
- Part of the key:value pair that defines a tag. You can use a tag key to
describe a category of information, such as "customer." Tag keys are
case-sensitive.
$sel:value:Tag'
, tag_value
- Part of the key:value pair that defines a tag. You can use a tag value
to describe a specific value within a category, such as "companyA" or
"companyB." Tag values are case-sensitive.
tag_key :: Lens' Tag (Maybe Text) Source #
Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.
tag_value :: Lens' Tag (Maybe Text) Source #
Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.
TimeRange
The time range.
See: newTimeRange
smart constructor.
TimeRange' | |
|
Instances
FromJSON TimeRange Source # | |
ToJSON TimeRange Source # | |
Defined in Amazonka.Shield.Types.TimeRange | |
Generic TimeRange Source # | |
Read TimeRange Source # | |
Show TimeRange Source # | |
NFData TimeRange Source # | |
Defined in Amazonka.Shield.Types.TimeRange | |
Eq TimeRange Source # | |
Hashable TimeRange Source # | |
Defined in Amazonka.Shield.Types.TimeRange | |
type Rep TimeRange Source # | |
Defined in Amazonka.Shield.Types.TimeRange type Rep TimeRange = D1 ('MetaData "TimeRange" "Amazonka.Shield.Types.TimeRange" "amazonka-shield-2.0-Cz9Fa9OSQ93AE4UCXBDcFo" 'False) (C1 ('MetaCons "TimeRange'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromInclusive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX)) :*: S1 ('MetaSel ('Just "toExclusive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX)))) |
newTimeRange :: TimeRange Source #
Create a value of TimeRange
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:fromInclusive:TimeRange'
, timeRange_fromInclusive
- The start time, in Unix time in seconds.
$sel:toExclusive:TimeRange'
, timeRange_toExclusive
- The end time, in Unix time in seconds.