-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Amazon Shield SDK. -- -- Derived from API version 2016-06-02 of the AWS service -- descriptions, licensed under Apache 2.0. -- -- The types from this library are intended to be used with -- amazonka, which provides mechanisms for specifying AuthN/AuthZ -- information, sending requests, and receiving responses. -- -- It is recommended to use generic lenses or optics from packages such -- as generic-lens or optics to modify optional fields and -- deconstruct responses. -- -- Generated lenses can be found in Amazonka.Shield.Lens and are -- suitable for use with a lens package such as lens or -- lens-family-core. -- -- See Amazonka.Shield and the AWS documentation to get -- started. @package amazonka-shield @version 2.0 module Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus newtype ApplicationLayerAutomaticResponseStatus ApplicationLayerAutomaticResponseStatus' :: Text -> ApplicationLayerAutomaticResponseStatus [fromApplicationLayerAutomaticResponseStatus] :: ApplicationLayerAutomaticResponseStatus -> Text pattern ApplicationLayerAutomaticResponseStatus_DISABLED :: ApplicationLayerAutomaticResponseStatus pattern ApplicationLayerAutomaticResponseStatus_ENABLED :: ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Control.DeepSeq.NFData Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance GHC.Generics.Generic Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance GHC.Classes.Ord Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance GHC.Classes.Eq Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance GHC.Read.Read Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus instance GHC.Show.Show Amazonka.Shield.Types.ApplicationLayerAutomaticResponseStatus.ApplicationLayerAutomaticResponseStatus module Amazonka.Shield.Types.AttackLayer newtype AttackLayer AttackLayer' :: Text -> AttackLayer [fromAttackLayer] :: AttackLayer -> Text pattern AttackLayer_APPLICATION :: AttackLayer pattern AttackLayer_NETWORK :: AttackLayer instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.AttackLayer.AttackLayer instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.AttackLayer.AttackLayer instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.AttackLayer.AttackLayer instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.AttackLayer.AttackLayer instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.AttackLayer.AttackLayer instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackLayer.AttackLayer instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.AttackLayer.AttackLayer instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.AttackLayer.AttackLayer instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.AttackLayer.AttackLayer instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.AttackLayer.AttackLayer instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.AttackLayer.AttackLayer instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.AttackLayer.AttackLayer instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackLayer.AttackLayer instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackLayer.AttackLayer instance GHC.Generics.Generic Amazonka.Shield.Types.AttackLayer.AttackLayer instance GHC.Classes.Ord Amazonka.Shield.Types.AttackLayer.AttackLayer instance GHC.Classes.Eq Amazonka.Shield.Types.AttackLayer.AttackLayer instance GHC.Read.Read Amazonka.Shield.Types.AttackLayer.AttackLayer instance GHC.Show.Show Amazonka.Shield.Types.AttackLayer.AttackLayer module Amazonka.Shield.Types.AttackPropertyIdentifier newtype AttackPropertyIdentifier AttackPropertyIdentifier' :: Text -> AttackPropertyIdentifier [fromAttackPropertyIdentifier] :: AttackPropertyIdentifier -> Text 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 instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance GHC.Generics.Generic Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance GHC.Classes.Ord Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance GHC.Classes.Eq Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance GHC.Read.Read Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier instance GHC.Show.Show Amazonka.Shield.Types.AttackPropertyIdentifier.AttackPropertyIdentifier module Amazonka.Shield.Types.AttackVectorDescription -- | Describes the attack. -- -- See: newAttackVectorDescription smart constructor. data AttackVectorDescription AttackVectorDescription' :: Text -> AttackVectorDescription -- | The attack type. Valid values: -- -- [$sel:vectorType:AttackVectorDescription'] :: AttackVectorDescription -> Text -- | 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: -- -- newAttackVectorDescription :: Text -> AttackVectorDescription -- | The attack type. Valid values: -- -- attackVectorDescription_vectorType :: Lens' AttackVectorDescription Text instance GHC.Generics.Generic Amazonka.Shield.Types.AttackVectorDescription.AttackVectorDescription instance GHC.Show.Show Amazonka.Shield.Types.AttackVectorDescription.AttackVectorDescription instance GHC.Read.Read Amazonka.Shield.Types.AttackVectorDescription.AttackVectorDescription instance GHC.Classes.Eq Amazonka.Shield.Types.AttackVectorDescription.AttackVectorDescription instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackVectorDescription.AttackVectorDescription instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackVectorDescription.AttackVectorDescription instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackVectorDescription.AttackVectorDescription module Amazonka.Shield.Types.AttackSummary -- | Summarizes all DDoS attacks for a specified time period. -- -- See: newAttackSummary smart constructor. data AttackSummary AttackSummary' :: Maybe Text -> Maybe [AttackVectorDescription] -> Maybe POSIX -> Maybe Text -> Maybe POSIX -> AttackSummary -- | The unique identifier (ID) of the attack. [$sel:attackId:AttackSummary'] :: AttackSummary -> Maybe Text -- | The list of attacks for a specified time period. [$sel:attackVectors:AttackSummary'] :: AttackSummary -> Maybe [AttackVectorDescription] -- | The end time of the attack, in Unix time in seconds. [$sel:endTime:AttackSummary'] :: AttackSummary -> Maybe POSIX -- | The ARN (Amazon Resource Name) of the resource that was attacked. [$sel:resourceArn:AttackSummary'] :: AttackSummary -> Maybe Text -- | The start time of the attack, in Unix time in seconds. [$sel:startTime:AttackSummary'] :: AttackSummary -> Maybe POSIX -- | 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. newAttackSummary :: AttackSummary -- | The unique identifier (ID) of the attack. attackSummary_attackId :: Lens' AttackSummary (Maybe Text) -- | The list of attacks for a specified time period. attackSummary_attackVectors :: Lens' AttackSummary (Maybe [AttackVectorDescription]) -- | The end time of the attack, in Unix time in seconds. attackSummary_endTime :: Lens' AttackSummary (Maybe UTCTime) -- | The ARN (Amazon Resource Name) of the resource that was attacked. attackSummary_resourceArn :: Lens' AttackSummary (Maybe Text) -- | The start time of the attack, in Unix time in seconds. attackSummary_startTime :: Lens' AttackSummary (Maybe UTCTime) instance GHC.Generics.Generic Amazonka.Shield.Types.AttackSummary.AttackSummary instance GHC.Show.Show Amazonka.Shield.Types.AttackSummary.AttackSummary instance GHC.Read.Read Amazonka.Shield.Types.AttackSummary.AttackSummary instance GHC.Classes.Eq Amazonka.Shield.Types.AttackSummary.AttackSummary instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackSummary.AttackSummary instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackSummary.AttackSummary instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackSummary.AttackSummary module Amazonka.Shield.Types.AttackVolumeStatistics -- | Statistics objects for the various data types in AttackVolume. -- -- See: newAttackVolumeStatistics smart constructor. data AttackVolumeStatistics AttackVolumeStatistics' :: Double -> AttackVolumeStatistics -- | The maximum attack volume observed for the given unit. [$sel:max:AttackVolumeStatistics'] :: AttackVolumeStatistics -> Double -- | 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. newAttackVolumeStatistics :: Double -> AttackVolumeStatistics -- | The maximum attack volume observed for the given unit. attackVolumeStatistics_max :: Lens' AttackVolumeStatistics Double instance GHC.Generics.Generic Amazonka.Shield.Types.AttackVolumeStatistics.AttackVolumeStatistics instance GHC.Show.Show Amazonka.Shield.Types.AttackVolumeStatistics.AttackVolumeStatistics instance GHC.Read.Read Amazonka.Shield.Types.AttackVolumeStatistics.AttackVolumeStatistics instance GHC.Classes.Eq Amazonka.Shield.Types.AttackVolumeStatistics.AttackVolumeStatistics instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackVolumeStatistics.AttackVolumeStatistics instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackVolumeStatistics.AttackVolumeStatistics instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackVolumeStatistics.AttackVolumeStatistics module Amazonka.Shield.Types.AttackVolume -- | 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. data AttackVolume AttackVolume' :: Maybe AttackVolumeStatistics -> Maybe AttackVolumeStatistics -> Maybe AttackVolumeStatistics -> AttackVolume -- | A statistics object that uses bits per second as the unit. This is -- included for network level attacks. [$sel:bitsPerSecond:AttackVolume'] :: AttackVolume -> Maybe AttackVolumeStatistics -- | A statistics object that uses packets per second as the unit. This is -- included for network level attacks. [$sel:packetsPerSecond:AttackVolume'] :: AttackVolume -> Maybe AttackVolumeStatistics -- | 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. [$sel:requestsPerSecond:AttackVolume'] :: AttackVolume -> Maybe AttackVolumeStatistics -- | 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. newAttackVolume :: AttackVolume -- | A statistics object that uses bits per second as the unit. This is -- included for network level attacks. attackVolume_bitsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | A statistics object that uses packets per second as the unit. This is -- included for network level attacks. attackVolume_packetsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | 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_requestsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) instance GHC.Generics.Generic Amazonka.Shield.Types.AttackVolume.AttackVolume instance GHC.Show.Show Amazonka.Shield.Types.AttackVolume.AttackVolume instance GHC.Read.Read Amazonka.Shield.Types.AttackVolume.AttackVolume instance GHC.Classes.Eq Amazonka.Shield.Types.AttackVolume.AttackVolume instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackVolume.AttackVolume instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackVolume.AttackVolume instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackVolume.AttackVolume module Amazonka.Shield.Types.AttackStatisticsDataItem -- | 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. data AttackStatisticsDataItem AttackStatisticsDataItem' :: Maybe AttackVolume -> Integer -> AttackStatisticsDataItem -- | Information about the volume of attacks during the time period. If the -- accompanying AttackCount is zero, this setting might be -- empty. [$sel:attackVolume:AttackStatisticsDataItem'] :: AttackStatisticsDataItem -> Maybe AttackVolume -- | The number of attacks detected during the time period. This is always -- present, but might be zero. [$sel:attackCount:AttackStatisticsDataItem'] :: AttackStatisticsDataItem -> Integer -- | 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. newAttackStatisticsDataItem :: Integer -> AttackStatisticsDataItem -- | Information about the volume of attacks during the time period. If the -- accompanying AttackCount is zero, this setting might be -- empty. attackStatisticsDataItem_attackVolume :: Lens' AttackStatisticsDataItem (Maybe AttackVolume) -- | The number of attacks detected during the time period. This is always -- present, but might be zero. attackStatisticsDataItem_attackCount :: Lens' AttackStatisticsDataItem Integer instance GHC.Generics.Generic Amazonka.Shield.Types.AttackStatisticsDataItem.AttackStatisticsDataItem instance GHC.Show.Show Amazonka.Shield.Types.AttackStatisticsDataItem.AttackStatisticsDataItem instance GHC.Read.Read Amazonka.Shield.Types.AttackStatisticsDataItem.AttackStatisticsDataItem instance GHC.Classes.Eq Amazonka.Shield.Types.AttackStatisticsDataItem.AttackStatisticsDataItem instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackStatisticsDataItem.AttackStatisticsDataItem instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackStatisticsDataItem.AttackStatisticsDataItem instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackStatisticsDataItem.AttackStatisticsDataItem module Amazonka.Shield.Types.AutoRenew newtype AutoRenew AutoRenew' :: Text -> AutoRenew [fromAutoRenew] :: AutoRenew -> Text pattern AutoRenew_DISABLED :: AutoRenew pattern AutoRenew_ENABLED :: AutoRenew instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.AutoRenew.AutoRenew instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.AutoRenew.AutoRenew instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.AutoRenew.AutoRenew instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.AutoRenew.AutoRenew instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.AutoRenew.AutoRenew instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AutoRenew.AutoRenew instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.AutoRenew.AutoRenew instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.AutoRenew.AutoRenew instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.AutoRenew.AutoRenew instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.AutoRenew.AutoRenew instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.AutoRenew.AutoRenew instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.AutoRenew.AutoRenew instance Control.DeepSeq.NFData Amazonka.Shield.Types.AutoRenew.AutoRenew instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AutoRenew.AutoRenew instance GHC.Generics.Generic Amazonka.Shield.Types.AutoRenew.AutoRenew instance GHC.Classes.Ord Amazonka.Shield.Types.AutoRenew.AutoRenew instance GHC.Classes.Eq Amazonka.Shield.Types.AutoRenew.AutoRenew instance GHC.Read.Read Amazonka.Shield.Types.AutoRenew.AutoRenew instance GHC.Show.Show Amazonka.Shield.Types.AutoRenew.AutoRenew module Amazonka.Shield.Types.BlockAction -- | 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. data BlockAction BlockAction' :: BlockAction -- | Create a value of BlockAction with all optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newBlockAction :: BlockAction instance GHC.Generics.Generic Amazonka.Shield.Types.BlockAction.BlockAction instance GHC.Show.Show Amazonka.Shield.Types.BlockAction.BlockAction instance GHC.Read.Read Amazonka.Shield.Types.BlockAction.BlockAction instance GHC.Classes.Eq Amazonka.Shield.Types.BlockAction.BlockAction instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.BlockAction.BlockAction instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.BlockAction.BlockAction instance Control.DeepSeq.NFData Amazonka.Shield.Types.BlockAction.BlockAction instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.BlockAction.BlockAction module Amazonka.Shield.Types.Contributor -- | A contributor to the attack and their contribution. -- -- See: newContributor smart constructor. data Contributor Contributor' :: Maybe Text -> Maybe Integer -> Contributor -- | 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:name:Contributor'] :: Contributor -> Maybe Text -- | The contribution of this contributor expressed in Protection units. -- For example 10,000. [$sel:value:Contributor'] :: Contributor -> Maybe Integer -- | 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. newContributor :: Contributor -- | 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_name :: Lens' Contributor (Maybe Text) -- | The contribution of this contributor expressed in Protection units. -- For example 10,000. contributor_value :: Lens' Contributor (Maybe Integer) instance GHC.Generics.Generic Amazonka.Shield.Types.Contributor.Contributor instance GHC.Show.Show Amazonka.Shield.Types.Contributor.Contributor instance GHC.Read.Read Amazonka.Shield.Types.Contributor.Contributor instance GHC.Classes.Eq Amazonka.Shield.Types.Contributor.Contributor instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.Contributor.Contributor instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.Contributor.Contributor instance Control.DeepSeq.NFData Amazonka.Shield.Types.Contributor.Contributor module Amazonka.Shield.Types.CountAction -- | 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. data CountAction CountAction' :: CountAction -- | Create a value of CountAction with all optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newCountAction :: CountAction instance GHC.Generics.Generic Amazonka.Shield.Types.CountAction.CountAction instance GHC.Show.Show Amazonka.Shield.Types.CountAction.CountAction instance GHC.Read.Read Amazonka.Shield.Types.CountAction.CountAction instance GHC.Classes.Eq Amazonka.Shield.Types.CountAction.CountAction instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.CountAction.CountAction instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.CountAction.CountAction instance Control.DeepSeq.NFData Amazonka.Shield.Types.CountAction.CountAction instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.CountAction.CountAction module Amazonka.Shield.Types.EmergencyContact -- | 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. data EmergencyContact EmergencyContact' :: Maybe Text -> Maybe Text -> Text -> EmergencyContact -- | Additional notes regarding the contact. [$sel:contactNotes:EmergencyContact'] :: EmergencyContact -> Maybe Text -- | The phone number for the contact. [$sel:phoneNumber:EmergencyContact'] :: EmergencyContact -> Maybe Text -- | The email address for the contact. [$sel:emailAddress:EmergencyContact'] :: EmergencyContact -> Text -- | 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. newEmergencyContact :: Text -> EmergencyContact -- | Additional notes regarding the contact. emergencyContact_contactNotes :: Lens' EmergencyContact (Maybe Text) -- | The phone number for the contact. emergencyContact_phoneNumber :: Lens' EmergencyContact (Maybe Text) -- | The email address for the contact. emergencyContact_emailAddress :: Lens' EmergencyContact Text instance GHC.Generics.Generic Amazonka.Shield.Types.EmergencyContact.EmergencyContact instance GHC.Show.Show Amazonka.Shield.Types.EmergencyContact.EmergencyContact instance GHC.Read.Read Amazonka.Shield.Types.EmergencyContact.EmergencyContact instance GHC.Classes.Eq Amazonka.Shield.Types.EmergencyContact.EmergencyContact instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.EmergencyContact.EmergencyContact instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.EmergencyContact.EmergencyContact instance Control.DeepSeq.NFData Amazonka.Shield.Types.EmergencyContact.EmergencyContact instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.EmergencyContact.EmergencyContact module Amazonka.Shield.Types.Limit -- | Specifies how many protections of a given type you can create. -- -- See: newLimit smart constructor. data Limit Limit' :: Maybe Integer -> Maybe Text -> Limit -- | The maximum number of protections that can be created for the -- specified Type. [$sel:max:Limit'] :: Limit -> Maybe Integer -- | The type of protection. [$sel:type':Limit'] :: Limit -> 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. newLimit :: Limit -- | The maximum number of protections that can be created for the -- specified Type. limit_max :: Lens' Limit (Maybe Integer) -- | The type of protection. limit_type :: Lens' Limit (Maybe Text) instance GHC.Generics.Generic Amazonka.Shield.Types.Limit.Limit instance GHC.Show.Show Amazonka.Shield.Types.Limit.Limit instance GHC.Read.Read Amazonka.Shield.Types.Limit.Limit instance GHC.Classes.Eq Amazonka.Shield.Types.Limit.Limit instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.Limit.Limit instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.Limit.Limit instance Control.DeepSeq.NFData Amazonka.Shield.Types.Limit.Limit module Amazonka.Shield.Types.Mitigation -- | The mitigation applied to a DDoS attack. -- -- See: newMitigation smart constructor. data Mitigation Mitigation' :: Maybe Text -> Mitigation -- | The name of the mitigation taken for this attack. [$sel:mitigationName:Mitigation'] :: Mitigation -> Maybe Text -- | 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. newMitigation :: Mitigation -- | The name of the mitigation taken for this attack. mitigation_mitigationName :: Lens' Mitigation (Maybe Text) instance GHC.Generics.Generic Amazonka.Shield.Types.Mitigation.Mitigation instance GHC.Show.Show Amazonka.Shield.Types.Mitigation.Mitigation instance GHC.Read.Read Amazonka.Shield.Types.Mitigation.Mitigation instance GHC.Classes.Eq Amazonka.Shield.Types.Mitigation.Mitigation instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.Mitigation.Mitigation instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.Mitigation.Mitigation instance Control.DeepSeq.NFData Amazonka.Shield.Types.Mitigation.Mitigation module Amazonka.Shield.Types.ProactiveEngagementStatus newtype ProactiveEngagementStatus ProactiveEngagementStatus' :: Text -> ProactiveEngagementStatus [fromProactiveEngagementStatus] :: ProactiveEngagementStatus -> Text pattern ProactiveEngagementStatus_DISABLED :: ProactiveEngagementStatus pattern ProactiveEngagementStatus_ENABLED :: ProactiveEngagementStatus pattern ProactiveEngagementStatus_PENDING :: ProactiveEngagementStatus instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance GHC.Generics.Generic Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance GHC.Classes.Ord Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance GHC.Classes.Eq Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance GHC.Read.Read Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus instance GHC.Show.Show Amazonka.Shield.Types.ProactiveEngagementStatus.ProactiveEngagementStatus module Amazonka.Shield.Types.ProtectedResourceType newtype ProtectedResourceType ProtectedResourceType' :: Text -> ProtectedResourceType [fromProtectedResourceType] :: ProtectedResourceType -> Text 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 instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance GHC.Classes.Ord Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance GHC.Read.Read Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType instance GHC.Show.Show Amazonka.Shield.Types.ProtectedResourceType.ProtectedResourceType module Amazonka.Shield.Types.InclusionProtectionFilters -- | 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. data InclusionProtectionFilters InclusionProtectionFilters' :: Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty ProtectedResourceType) -> InclusionProtectionFilters -- | The name of the protection that you want to retrieve. [$sel:protectionNames:InclusionProtectionFilters'] :: InclusionProtectionFilters -> Maybe (NonEmpty Text) -- | The ARN (Amazon Resource Name) of the resource whose protection you -- want to retrieve. [$sel:resourceArns:InclusionProtectionFilters'] :: InclusionProtectionFilters -> Maybe (NonEmpty Text) -- | The type of protected resource whose protections you want to retrieve. [$sel:resourceTypes:InclusionProtectionFilters'] :: InclusionProtectionFilters -> Maybe (NonEmpty ProtectedResourceType) -- | 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. newInclusionProtectionFilters :: InclusionProtectionFilters -- | The name of the protection that you want to retrieve. inclusionProtectionFilters_protectionNames :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) -- | The ARN (Amazon Resource Name) of the resource whose protection you -- want to retrieve. inclusionProtectionFilters_resourceArns :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) -- | The type of protected resource whose protections you want to retrieve. inclusionProtectionFilters_resourceTypes :: Lens' InclusionProtectionFilters (Maybe (NonEmpty ProtectedResourceType)) instance GHC.Generics.Generic Amazonka.Shield.Types.InclusionProtectionFilters.InclusionProtectionFilters instance GHC.Show.Show Amazonka.Shield.Types.InclusionProtectionFilters.InclusionProtectionFilters instance GHC.Read.Read Amazonka.Shield.Types.InclusionProtectionFilters.InclusionProtectionFilters instance GHC.Classes.Eq Amazonka.Shield.Types.InclusionProtectionFilters.InclusionProtectionFilters instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.InclusionProtectionFilters.InclusionProtectionFilters instance Control.DeepSeq.NFData Amazonka.Shield.Types.InclusionProtectionFilters.InclusionProtectionFilters instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.InclusionProtectionFilters.InclusionProtectionFilters module Amazonka.Shield.Types.ProtectionGroupAggregation newtype ProtectionGroupAggregation ProtectionGroupAggregation' :: Text -> ProtectionGroupAggregation [fromProtectionGroupAggregation] :: ProtectionGroupAggregation -> Text pattern ProtectionGroupAggregation_MAX :: ProtectionGroupAggregation pattern ProtectionGroupAggregation_MEAN :: ProtectionGroupAggregation pattern ProtectionGroupAggregation_SUM :: ProtectionGroupAggregation instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance GHC.Classes.Ord Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance GHC.Read.Read Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation instance GHC.Show.Show Amazonka.Shield.Types.ProtectionGroupAggregation.ProtectionGroupAggregation module Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits -- | Limits settings on protection groups with arbitrary pattern type. -- -- See: newProtectionGroupArbitraryPatternLimits smart -- constructor. data ProtectionGroupArbitraryPatternLimits ProtectionGroupArbitraryPatternLimits' :: Integer -> ProtectionGroupArbitraryPatternLimits -- | The maximum number of resources you can specify for a single arbitrary -- pattern in a protection group. [$sel:maxMembers:ProtectionGroupArbitraryPatternLimits'] :: ProtectionGroupArbitraryPatternLimits -> Integer -- | 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. newProtectionGroupArbitraryPatternLimits :: Integer -> ProtectionGroupArbitraryPatternLimits -- | The maximum number of resources you can specify for a single arbitrary -- pattern in a protection group. protectionGroupArbitraryPatternLimits_maxMembers :: Lens' ProtectionGroupArbitraryPatternLimits Integer instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits.ProtectionGroupArbitraryPatternLimits instance GHC.Show.Show Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits.ProtectionGroupArbitraryPatternLimits instance GHC.Read.Read Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits.ProtectionGroupArbitraryPatternLimits instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits.ProtectionGroupArbitraryPatternLimits instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits.ProtectionGroupArbitraryPatternLimits instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits.ProtectionGroupArbitraryPatternLimits instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectionGroupArbitraryPatternLimits.ProtectionGroupArbitraryPatternLimits module Amazonka.Shield.Types.ProtectionGroupPattern newtype ProtectionGroupPattern ProtectionGroupPattern' :: Text -> ProtectionGroupPattern [fromProtectionGroupPattern] :: ProtectionGroupPattern -> Text pattern ProtectionGroupPattern_ALL :: ProtectionGroupPattern pattern ProtectionGroupPattern_ARBITRARY :: ProtectionGroupPattern pattern ProtectionGroupPattern_BY_RESOURCE_TYPE :: ProtectionGroupPattern instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance GHC.Classes.Ord Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance GHC.Read.Read Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern instance GHC.Show.Show Amazonka.Shield.Types.ProtectionGroupPattern.ProtectionGroupPattern module Amazonka.Shield.Types.ProtectionGroup -- | 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. data ProtectionGroup ProtectionGroup' :: Maybe Text -> Maybe ProtectedResourceType -> Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> [Text] -> ProtectionGroup -- | The ARN (Amazon Resource Name) of the protection group. [$sel:protectionGroupArn:ProtectionGroup'] :: ProtectionGroup -> Maybe Text -- | 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:resourceType:ProtectionGroup'] :: ProtectionGroup -> Maybe ProtectedResourceType -- | 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:protectionGroupId:ProtectionGroup'] :: ProtectionGroup -> Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- [$sel:aggregation:ProtectionGroup'] :: ProtectionGroup -> ProtectionGroupAggregation -- | 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:pattern':ProtectionGroup'] :: ProtectionGroup -> ProtectionGroupPattern -- | 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. [$sel:members:ProtectionGroup'] :: ProtectionGroup -> [Text] -- | 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. -- -- -- -- $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. newProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> ProtectionGroup -- | The ARN (Amazon Resource Name) of the protection group. protectionGroup_protectionGroupArn :: Lens' ProtectionGroup (Maybe Text) -- | 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_resourceType :: Lens' ProtectionGroup (Maybe ProtectedResourceType) -- | 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_protectionGroupId :: Lens' ProtectionGroup Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- protectionGroup_aggregation :: Lens' ProtectionGroup ProtectionGroupAggregation -- | 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_pattern :: Lens' ProtectionGroup ProtectionGroupPattern -- | 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_members :: Lens' ProtectionGroup [Text] instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectionGroup.ProtectionGroup instance GHC.Show.Show Amazonka.Shield.Types.ProtectionGroup.ProtectionGroup instance GHC.Read.Read Amazonka.Shield.Types.ProtectionGroup.ProtectionGroup instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectionGroup.ProtectionGroup instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectionGroup.ProtectionGroup instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectionGroup.ProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectionGroup.ProtectionGroup module Amazonka.Shield.Types.InclusionProtectionGroupFilters -- | 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. data InclusionProtectionGroupFilters InclusionProtectionGroupFilters' :: Maybe (NonEmpty ProtectionGroupAggregation) -> Maybe (NonEmpty ProtectionGroupPattern) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty ProtectedResourceType) -> InclusionProtectionGroupFilters -- | The aggregation setting of the protection groups that you want to -- retrieve. [$sel:aggregations:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty ProtectionGroupAggregation) -- | The pattern specification of the protection groups that you want to -- retrieve. [$sel:patterns:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty ProtectionGroupPattern) -- | The ID of the protection group that you want to retrieve. [$sel:protectionGroupIds:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty Text) -- | 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. [$sel:resourceTypes:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty ProtectedResourceType) -- | 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. newInclusionProtectionGroupFilters :: InclusionProtectionGroupFilters -- | The aggregation setting of the protection groups that you want to -- retrieve. inclusionProtectionGroupFilters_aggregations :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupAggregation)) -- | The pattern specification of the protection groups that you want to -- retrieve. inclusionProtectionGroupFilters_patterns :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupPattern)) -- | The ID of the protection group that you want to retrieve. inclusionProtectionGroupFilters_protectionGroupIds :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty Text)) -- | 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_resourceTypes :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectedResourceType)) instance GHC.Generics.Generic Amazonka.Shield.Types.InclusionProtectionGroupFilters.InclusionProtectionGroupFilters instance GHC.Show.Show Amazonka.Shield.Types.InclusionProtectionGroupFilters.InclusionProtectionGroupFilters instance GHC.Read.Read Amazonka.Shield.Types.InclusionProtectionGroupFilters.InclusionProtectionGroupFilters instance GHC.Classes.Eq Amazonka.Shield.Types.InclusionProtectionGroupFilters.InclusionProtectionGroupFilters instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.InclusionProtectionGroupFilters.InclusionProtectionGroupFilters instance Control.DeepSeq.NFData Amazonka.Shield.Types.InclusionProtectionGroupFilters.InclusionProtectionGroupFilters instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.InclusionProtectionGroupFilters.InclusionProtectionGroupFilters module Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits -- | Limits settings by pattern type in the protection groups for your -- subscription. -- -- See: newProtectionGroupPatternTypeLimits smart -- constructor. data ProtectionGroupPatternTypeLimits ProtectionGroupPatternTypeLimits' :: ProtectionGroupArbitraryPatternLimits -> ProtectionGroupPatternTypeLimits -- | Limits settings on protection groups with arbitrary pattern type. [$sel:arbitraryPatternLimits:ProtectionGroupPatternTypeLimits'] :: ProtectionGroupPatternTypeLimits -> ProtectionGroupArbitraryPatternLimits -- | 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. newProtectionGroupPatternTypeLimits :: ProtectionGroupArbitraryPatternLimits -> ProtectionGroupPatternTypeLimits -- | Limits settings on protection groups with arbitrary pattern type. protectionGroupPatternTypeLimits_arbitraryPatternLimits :: Lens' ProtectionGroupPatternTypeLimits ProtectionGroupArbitraryPatternLimits instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits.ProtectionGroupPatternTypeLimits instance GHC.Show.Show Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits.ProtectionGroupPatternTypeLimits instance GHC.Read.Read Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits.ProtectionGroupPatternTypeLimits instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits.ProtectionGroupPatternTypeLimits instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits.ProtectionGroupPatternTypeLimits instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits.ProtectionGroupPatternTypeLimits instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectionGroupPatternTypeLimits.ProtectionGroupPatternTypeLimits module Amazonka.Shield.Types.ProtectionGroupLimits -- | Limits settings on protection groups for your subscription. -- -- See: newProtectionGroupLimits smart constructor. data ProtectionGroupLimits ProtectionGroupLimits' :: Integer -> ProtectionGroupPatternTypeLimits -> ProtectionGroupLimits -- | The maximum number of protection groups that you can have at one time. [$sel:maxProtectionGroups:ProtectionGroupLimits'] :: ProtectionGroupLimits -> Integer -- | Limits settings by pattern type in the protection groups for your -- subscription. [$sel:patternTypeLimits:ProtectionGroupLimits'] :: ProtectionGroupLimits -> ProtectionGroupPatternTypeLimits -- | 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. newProtectionGroupLimits :: Integer -> ProtectionGroupPatternTypeLimits -> ProtectionGroupLimits -- | The maximum number of protection groups that you can have at one time. protectionGroupLimits_maxProtectionGroups :: Lens' ProtectionGroupLimits Integer -- | Limits settings by pattern type in the protection groups for your -- subscription. protectionGroupLimits_patternTypeLimits :: Lens' ProtectionGroupLimits ProtectionGroupPatternTypeLimits instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectionGroupLimits.ProtectionGroupLimits instance GHC.Show.Show Amazonka.Shield.Types.ProtectionGroupLimits.ProtectionGroupLimits instance GHC.Read.Read Amazonka.Shield.Types.ProtectionGroupLimits.ProtectionGroupLimits instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectionGroupLimits.ProtectionGroupLimits instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectionGroupLimits.ProtectionGroupLimits instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectionGroupLimits.ProtectionGroupLimits instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectionGroupLimits.ProtectionGroupLimits module Amazonka.Shield.Types.ProtectionLimits -- | Limits settings on protections for your subscription. -- -- See: newProtectionLimits smart constructor. data ProtectionLimits ProtectionLimits' :: [Limit] -> ProtectionLimits -- | The maximum number of resource types that you can specify in a -- protection. [$sel:protectedResourceTypeLimits:ProtectionLimits'] :: ProtectionLimits -> [Limit] -- | 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. newProtectionLimits :: ProtectionLimits -- | The maximum number of resource types that you can specify in a -- protection. protectionLimits_protectedResourceTypeLimits :: Lens' ProtectionLimits [Limit] instance GHC.Generics.Generic Amazonka.Shield.Types.ProtectionLimits.ProtectionLimits instance GHC.Show.Show Amazonka.Shield.Types.ProtectionLimits.ProtectionLimits instance GHC.Read.Read Amazonka.Shield.Types.ProtectionLimits.ProtectionLimits instance GHC.Classes.Eq Amazonka.Shield.Types.ProtectionLimits.ProtectionLimits instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ProtectionLimits.ProtectionLimits instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ProtectionLimits.ProtectionLimits instance Control.DeepSeq.NFData Amazonka.Shield.Types.ProtectionLimits.ProtectionLimits module Amazonka.Shield.Types.ResponseAction -- | 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. data ResponseAction ResponseAction' :: Maybe BlockAction -> Maybe CountAction -> ResponseAction -- | 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:block:ResponseAction'] :: ResponseAction -> Maybe BlockAction -- | Specifies that Shield Advanced should configure its WAF rules with the -- WAF Count action. -- -- You must specify exactly one action, either Block or -- Count. [$sel:count:ResponseAction'] :: ResponseAction -> Maybe CountAction -- | 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. newResponseAction :: ResponseAction -- | 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_block :: Lens' ResponseAction (Maybe BlockAction) -- | 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_count :: Lens' ResponseAction (Maybe CountAction) instance GHC.Generics.Generic Amazonka.Shield.Types.ResponseAction.ResponseAction instance GHC.Show.Show Amazonka.Shield.Types.ResponseAction.ResponseAction instance GHC.Read.Read Amazonka.Shield.Types.ResponseAction.ResponseAction instance GHC.Classes.Eq Amazonka.Shield.Types.ResponseAction.ResponseAction instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ResponseAction.ResponseAction instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ResponseAction.ResponseAction instance Control.DeepSeq.NFData Amazonka.Shield.Types.ResponseAction.ResponseAction instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.ResponseAction.ResponseAction module Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration -- | 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. data ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseConfiguration' :: ApplicationLayerAutomaticResponseStatus -> ResponseAction -> ApplicationLayerAutomaticResponseConfiguration -- | Indicates whether automatic application layer DDoS mitigation is -- enabled for the protection. [$sel:status:ApplicationLayerAutomaticResponseConfiguration'] :: ApplicationLayerAutomaticResponseConfiguration -> ApplicationLayerAutomaticResponseStatus -- | 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. [$sel:action:ApplicationLayerAutomaticResponseConfiguration'] :: ApplicationLayerAutomaticResponseConfiguration -> ResponseAction -- | 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. newApplicationLayerAutomaticResponseConfiguration :: ApplicationLayerAutomaticResponseStatus -> ResponseAction -> ApplicationLayerAutomaticResponseConfiguration -- | Indicates whether automatic application layer DDoS mitigation is -- enabled for the protection. applicationLayerAutomaticResponseConfiguration_status :: Lens' ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseStatus -- | 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_action :: Lens' ApplicationLayerAutomaticResponseConfiguration ResponseAction instance GHC.Generics.Generic Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration.ApplicationLayerAutomaticResponseConfiguration instance GHC.Show.Show Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration.ApplicationLayerAutomaticResponseConfiguration instance GHC.Read.Read Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration.ApplicationLayerAutomaticResponseConfiguration instance GHC.Classes.Eq Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration.ApplicationLayerAutomaticResponseConfiguration instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration.ApplicationLayerAutomaticResponseConfiguration instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration.ApplicationLayerAutomaticResponseConfiguration instance Control.DeepSeq.NFData Amazonka.Shield.Types.ApplicationLayerAutomaticResponseConfiguration.ApplicationLayerAutomaticResponseConfiguration module Amazonka.Shield.Types.Protection -- | An object that represents a resource that is under DDoS protection. -- -- See: newProtection smart constructor. data Protection Protection' :: Maybe ApplicationLayerAutomaticResponseConfiguration -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Protection -- | 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:applicationLayerAutomaticResponseConfiguration:Protection'] :: Protection -> Maybe ApplicationLayerAutomaticResponseConfiguration -- | The unique identifier (ID) for the Route 53 health check that's -- associated with the protection. [$sel:healthCheckIds:Protection'] :: Protection -> Maybe [Text] -- | The unique identifier (ID) of the protection. [$sel:id:Protection'] :: Protection -> Maybe Text -- | The name of the protection. For example, My CloudFront -- distributions. [$sel:name:Protection'] :: Protection -> Maybe Text -- | The ARN (Amazon Resource Name) of the protection. [$sel:protectionArn:Protection'] :: Protection -> Maybe Text -- | The ARN (Amazon Resource Name) of the Amazon Web Services resource -- that is protected. [$sel:resourceArn:Protection'] :: Protection -> Maybe Text -- | 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. newProtection :: Protection -- | 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_applicationLayerAutomaticResponseConfiguration :: Lens' Protection (Maybe ApplicationLayerAutomaticResponseConfiguration) -- | The unique identifier (ID) for the Route 53 health check that's -- associated with the protection. protection_healthCheckIds :: Lens' Protection (Maybe [Text]) -- | The unique identifier (ID) of the protection. protection_id :: Lens' Protection (Maybe Text) -- | The name of the protection. For example, My CloudFront -- distributions. protection_name :: Lens' Protection (Maybe Text) -- | The ARN (Amazon Resource Name) of the protection. protection_protectionArn :: Lens' Protection (Maybe Text) -- | The ARN (Amazon Resource Name) of the Amazon Web Services resource -- that is protected. protection_resourceArn :: Lens' Protection (Maybe Text) instance GHC.Generics.Generic Amazonka.Shield.Types.Protection.Protection instance GHC.Show.Show Amazonka.Shield.Types.Protection.Protection instance GHC.Read.Read Amazonka.Shield.Types.Protection.Protection instance GHC.Classes.Eq Amazonka.Shield.Types.Protection.Protection instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.Protection.Protection instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.Protection.Protection instance Control.DeepSeq.NFData Amazonka.Shield.Types.Protection.Protection module Amazonka.Shield.Types.SubResourceType newtype SubResourceType SubResourceType' :: Text -> SubResourceType [fromSubResourceType] :: SubResourceType -> Text pattern SubResourceType_IP :: SubResourceType pattern SubResourceType_URL :: SubResourceType instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.SubResourceType.SubResourceType instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.SubResourceType.SubResourceType instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.SubResourceType.SubResourceType instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.SubResourceType.SubResourceType instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.SubResourceType.SubResourceType instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.SubResourceType.SubResourceType instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.SubResourceType.SubResourceType instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.SubResourceType.SubResourceType instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.SubResourceType.SubResourceType instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.SubResourceType.SubResourceType instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.SubResourceType.SubResourceType instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.SubResourceType.SubResourceType instance Control.DeepSeq.NFData Amazonka.Shield.Types.SubResourceType.SubResourceType instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.SubResourceType.SubResourceType instance GHC.Generics.Generic Amazonka.Shield.Types.SubResourceType.SubResourceType instance GHC.Classes.Ord Amazonka.Shield.Types.SubResourceType.SubResourceType instance GHC.Classes.Eq Amazonka.Shield.Types.SubResourceType.SubResourceType instance GHC.Read.Read Amazonka.Shield.Types.SubResourceType.SubResourceType instance GHC.Show.Show Amazonka.Shield.Types.SubResourceType.SubResourceType module Amazonka.Shield.Types.SubscriptionLimits -- | Limits settings for your subscription. -- -- See: newSubscriptionLimits smart constructor. data SubscriptionLimits SubscriptionLimits' :: ProtectionLimits -> ProtectionGroupLimits -> SubscriptionLimits -- | Limits settings on protections for your subscription. [$sel:protectionLimits:SubscriptionLimits'] :: SubscriptionLimits -> ProtectionLimits -- | Limits settings on protection groups for your subscription. [$sel:protectionGroupLimits:SubscriptionLimits'] :: SubscriptionLimits -> ProtectionGroupLimits -- | 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. newSubscriptionLimits :: ProtectionLimits -> ProtectionGroupLimits -> SubscriptionLimits -- | Limits settings on protections for your subscription. subscriptionLimits_protectionLimits :: Lens' SubscriptionLimits ProtectionLimits -- | Limits settings on protection groups for your subscription. subscriptionLimits_protectionGroupLimits :: Lens' SubscriptionLimits ProtectionGroupLimits instance GHC.Generics.Generic Amazonka.Shield.Types.SubscriptionLimits.SubscriptionLimits instance GHC.Show.Show Amazonka.Shield.Types.SubscriptionLimits.SubscriptionLimits instance GHC.Read.Read Amazonka.Shield.Types.SubscriptionLimits.SubscriptionLimits instance GHC.Classes.Eq Amazonka.Shield.Types.SubscriptionLimits.SubscriptionLimits instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.SubscriptionLimits.SubscriptionLimits instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.SubscriptionLimits.SubscriptionLimits instance Control.DeepSeq.NFData Amazonka.Shield.Types.SubscriptionLimits.SubscriptionLimits module Amazonka.Shield.Types.Subscription -- | Information about the Shield Advanced subscription for an account. -- -- See: newSubscription smart constructor. data Subscription Subscription' :: Maybe AutoRenew -> Maybe POSIX -> Maybe [Limit] -> Maybe ProactiveEngagementStatus -> Maybe POSIX -> Maybe Text -> Maybe Natural -> SubscriptionLimits -> Subscription -- | 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:autoRenew:Subscription'] :: Subscription -> Maybe AutoRenew -- | The date and time your subscription will end. [$sel:endTime:Subscription'] :: Subscription -> Maybe POSIX -- | Specifies how many protections of a given type you can create. [$sel:limits:Subscription'] :: Subscription -> Maybe [Limit] -- | 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:proactiveEngagementStatus:Subscription'] :: Subscription -> Maybe ProactiveEngagementStatus -- | The start time of the subscription, in Unix time in seconds. [$sel:startTime:Subscription'] :: Subscription -> Maybe POSIX -- | The ARN (Amazon Resource Name) of the subscription. [$sel:subscriptionArn:Subscription'] :: Subscription -> Maybe Text -- | The length, in seconds, of the Shield Advanced subscription for the -- account. [$sel:timeCommitmentInSeconds:Subscription'] :: Subscription -> Maybe Natural -- | Limits settings for your subscription. [$sel:subscriptionLimits:Subscription'] :: Subscription -> SubscriptionLimits -- | 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. newSubscription :: SubscriptionLimits -> Subscription -- | 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_autoRenew :: Lens' Subscription (Maybe AutoRenew) -- | The date and time your subscription will end. subscription_endTime :: Lens' Subscription (Maybe UTCTime) -- | Specifies how many protections of a given type you can create. subscription_limits :: Lens' Subscription (Maybe [Limit]) -- | 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_proactiveEngagementStatus :: Lens' Subscription (Maybe ProactiveEngagementStatus) -- | The start time of the subscription, in Unix time in seconds. subscription_startTime :: Lens' Subscription (Maybe UTCTime) -- | The ARN (Amazon Resource Name) of the subscription. subscription_subscriptionArn :: Lens' Subscription (Maybe Text) -- | The length, in seconds, of the Shield Advanced subscription for the -- account. subscription_timeCommitmentInSeconds :: Lens' Subscription (Maybe Natural) -- | Limits settings for your subscription. subscription_subscriptionLimits :: Lens' Subscription SubscriptionLimits instance GHC.Generics.Generic Amazonka.Shield.Types.Subscription.Subscription instance GHC.Show.Show Amazonka.Shield.Types.Subscription.Subscription instance GHC.Read.Read Amazonka.Shield.Types.Subscription.Subscription instance GHC.Classes.Eq Amazonka.Shield.Types.Subscription.Subscription instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.Subscription.Subscription instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.Subscription.Subscription instance Control.DeepSeq.NFData Amazonka.Shield.Types.Subscription.Subscription module Amazonka.Shield.Types.SubscriptionState newtype SubscriptionState SubscriptionState' :: Text -> SubscriptionState [fromSubscriptionState] :: SubscriptionState -> Text pattern SubscriptionState_ACTIVE :: SubscriptionState pattern SubscriptionState_INACTIVE :: SubscriptionState instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Control.DeepSeq.NFData Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance GHC.Generics.Generic Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance GHC.Classes.Ord Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance GHC.Classes.Eq Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance GHC.Read.Read Amazonka.Shield.Types.SubscriptionState.SubscriptionState instance GHC.Show.Show Amazonka.Shield.Types.SubscriptionState.SubscriptionState module Amazonka.Shield.Types.SummarizedCounter -- | The counter that describes a DDoS attack. -- -- See: newSummarizedCounter smart constructor. data SummarizedCounter SummarizedCounter' :: Maybe Double -> Maybe Double -> Maybe Int -> Maybe Text -> Maybe Double -> Maybe Text -> SummarizedCounter -- | The average value of the counter for a specified time period. [$sel:average:SummarizedCounter'] :: SummarizedCounter -> Maybe Double -- | The maximum value of the counter for a specified time period. [$sel:max:SummarizedCounter'] :: SummarizedCounter -> Maybe Double -- | The number of counters for a specified time period. [$sel:n:SummarizedCounter'] :: SummarizedCounter -> Maybe Int -- | The counter name. [$sel:name:SummarizedCounter'] :: SummarizedCounter -> Maybe Text -- | The total of counter values for a specified time period. [$sel:sum:SummarizedCounter'] :: SummarizedCounter -> Maybe Double -- | The unit of the counters. [$sel:unit:SummarizedCounter'] :: SummarizedCounter -> Maybe Text -- | 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. newSummarizedCounter :: SummarizedCounter -- | The average value of the counter for a specified time period. summarizedCounter_average :: Lens' SummarizedCounter (Maybe Double) -- | The maximum value of the counter for a specified time period. summarizedCounter_max :: Lens' SummarizedCounter (Maybe Double) -- | The number of counters for a specified time period. summarizedCounter_n :: Lens' SummarizedCounter (Maybe Int) -- | The counter name. summarizedCounter_name :: Lens' SummarizedCounter (Maybe Text) -- | The total of counter values for a specified time period. summarizedCounter_sum :: Lens' SummarizedCounter (Maybe Double) -- | The unit of the counters. summarizedCounter_unit :: Lens' SummarizedCounter (Maybe Text) instance GHC.Generics.Generic Amazonka.Shield.Types.SummarizedCounter.SummarizedCounter instance GHC.Show.Show Amazonka.Shield.Types.SummarizedCounter.SummarizedCounter instance GHC.Read.Read Amazonka.Shield.Types.SummarizedCounter.SummarizedCounter instance GHC.Classes.Eq Amazonka.Shield.Types.SummarizedCounter.SummarizedCounter instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.SummarizedCounter.SummarizedCounter instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.SummarizedCounter.SummarizedCounter instance Control.DeepSeq.NFData Amazonka.Shield.Types.SummarizedCounter.SummarizedCounter module Amazonka.Shield.Types.SummarizedAttackVector -- | A summary of information about the attack. -- -- See: newSummarizedAttackVector smart constructor. data SummarizedAttackVector SummarizedAttackVector' :: Maybe [SummarizedCounter] -> Text -> SummarizedAttackVector -- | The list of counters that describe the details of the attack. [$sel:vectorCounters:SummarizedAttackVector'] :: SummarizedAttackVector -> Maybe [SummarizedCounter] -- | The attack type, for example, SNMP reflection or SYN flood. [$sel:vectorType:SummarizedAttackVector'] :: SummarizedAttackVector -> Text -- | 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. newSummarizedAttackVector :: Text -> SummarizedAttackVector -- | The list of counters that describe the details of the attack. summarizedAttackVector_vectorCounters :: Lens' SummarizedAttackVector (Maybe [SummarizedCounter]) -- | The attack type, for example, SNMP reflection or SYN flood. summarizedAttackVector_vectorType :: Lens' SummarizedAttackVector Text instance GHC.Generics.Generic Amazonka.Shield.Types.SummarizedAttackVector.SummarizedAttackVector instance GHC.Show.Show Amazonka.Shield.Types.SummarizedAttackVector.SummarizedAttackVector instance GHC.Read.Read Amazonka.Shield.Types.SummarizedAttackVector.SummarizedAttackVector instance GHC.Classes.Eq Amazonka.Shield.Types.SummarizedAttackVector.SummarizedAttackVector instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.SummarizedAttackVector.SummarizedAttackVector instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.SummarizedAttackVector.SummarizedAttackVector instance Control.DeepSeq.NFData Amazonka.Shield.Types.SummarizedAttackVector.SummarizedAttackVector module Amazonka.Shield.Types.SubResourceSummary -- | The attack information for the specified SubResource. -- -- See: newSubResourceSummary smart constructor. data SubResourceSummary SubResourceSummary' :: Maybe [SummarizedAttackVector] -> Maybe [SummarizedCounter] -> Maybe Text -> Maybe SubResourceType -> SubResourceSummary -- | The list of attack types and associated counters. [$sel:attackVectors:SubResourceSummary'] :: SubResourceSummary -> Maybe [SummarizedAttackVector] -- | The counters that describe the details of the attack. [$sel:counters:SubResourceSummary'] :: SubResourceSummary -> Maybe [SummarizedCounter] -- | The unique identifier (ID) of the SubResource. [$sel:id:SubResourceSummary'] :: SubResourceSummary -> Maybe Text -- | The SubResource type. [$sel:type':SubResourceSummary'] :: SubResourceSummary -> Maybe SubResourceType -- | 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. newSubResourceSummary :: SubResourceSummary -- | The list of attack types and associated counters. subResourceSummary_attackVectors :: Lens' SubResourceSummary (Maybe [SummarizedAttackVector]) -- | The counters that describe the details of the attack. subResourceSummary_counters :: Lens' SubResourceSummary (Maybe [SummarizedCounter]) -- | The unique identifier (ID) of the SubResource. subResourceSummary_id :: Lens' SubResourceSummary (Maybe Text) -- | The SubResource type. subResourceSummary_type :: Lens' SubResourceSummary (Maybe SubResourceType) instance GHC.Generics.Generic Amazonka.Shield.Types.SubResourceSummary.SubResourceSummary instance GHC.Show.Show Amazonka.Shield.Types.SubResourceSummary.SubResourceSummary instance GHC.Read.Read Amazonka.Shield.Types.SubResourceSummary.SubResourceSummary instance GHC.Classes.Eq Amazonka.Shield.Types.SubResourceSummary.SubResourceSummary instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.SubResourceSummary.SubResourceSummary instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.SubResourceSummary.SubResourceSummary instance Control.DeepSeq.NFData Amazonka.Shield.Types.SubResourceSummary.SubResourceSummary module Amazonka.Shield.Types.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. data Tag Tag' :: Maybe Text -> Maybe Text -> Tag -- | 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:key:Tag'] :: Tag -> Maybe Text -- | 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. [$sel:value:Tag'] :: Tag -> 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. newTag :: Tag -- | 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_key :: Lens' Tag (Maybe Text) -- | 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_value :: Lens' Tag (Maybe Text) instance GHC.Generics.Generic Amazonka.Shield.Types.Tag.Tag instance GHC.Show.Show Amazonka.Shield.Types.Tag.Tag instance GHC.Read.Read Amazonka.Shield.Types.Tag.Tag instance GHC.Classes.Eq Amazonka.Shield.Types.Tag.Tag instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.Tag.Tag instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.Tag.Tag instance Control.DeepSeq.NFData Amazonka.Shield.Types.Tag.Tag instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.Tag.Tag module Amazonka.Shield.Types.TimeRange -- | The time range. -- -- See: newTimeRange smart constructor. data TimeRange TimeRange' :: Maybe POSIX -> Maybe POSIX -> TimeRange -- | The start time, in Unix time in seconds. [$sel:fromInclusive:TimeRange'] :: TimeRange -> Maybe POSIX -- | The end time, in Unix time in seconds. [$sel:toExclusive:TimeRange'] :: TimeRange -> Maybe POSIX -- | 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. newTimeRange :: TimeRange -- | The start time, in Unix time in seconds. timeRange_fromInclusive :: Lens' TimeRange (Maybe UTCTime) -- | The end time, in Unix time in seconds. timeRange_toExclusive :: Lens' TimeRange (Maybe UTCTime) instance GHC.Generics.Generic Amazonka.Shield.Types.TimeRange.TimeRange instance GHC.Show.Show Amazonka.Shield.Types.TimeRange.TimeRange instance GHC.Read.Read Amazonka.Shield.Types.TimeRange.TimeRange instance GHC.Classes.Eq Amazonka.Shield.Types.TimeRange.TimeRange instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.TimeRange.TimeRange instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.TimeRange.TimeRange instance Control.DeepSeq.NFData Amazonka.Shield.Types.TimeRange.TimeRange instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.TimeRange.TimeRange module Amazonka.Shield.Types.Unit newtype Unit Unit' :: Text -> Unit [fromUnit] :: Unit -> Text pattern Unit_BITS :: Unit pattern Unit_BYTES :: Unit pattern Unit_PACKETS :: Unit pattern Unit_REQUESTS :: Unit instance Amazonka.Data.XML.ToXML Amazonka.Shield.Types.Unit.Unit instance Amazonka.Data.XML.FromXML Amazonka.Shield.Types.Unit.Unit instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Shield.Types.Unit.Unit instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.Types.Unit.Unit instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Shield.Types.Unit.Unit instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.Unit.Unit instance Amazonka.Data.Query.ToQuery Amazonka.Shield.Types.Unit.Unit instance Amazonka.Data.Headers.ToHeader Amazonka.Shield.Types.Unit.Unit instance Amazonka.Data.Log.ToLog Amazonka.Shield.Types.Unit.Unit instance Amazonka.Data.ByteString.ToByteString Amazonka.Shield.Types.Unit.Unit instance Amazonka.Data.Text.ToText Amazonka.Shield.Types.Unit.Unit instance Amazonka.Data.Text.FromText Amazonka.Shield.Types.Unit.Unit instance Control.DeepSeq.NFData Amazonka.Shield.Types.Unit.Unit instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.Unit.Unit instance GHC.Generics.Generic Amazonka.Shield.Types.Unit.Unit instance GHC.Classes.Ord Amazonka.Shield.Types.Unit.Unit instance GHC.Classes.Eq Amazonka.Shield.Types.Unit.Unit instance GHC.Read.Read Amazonka.Shield.Types.Unit.Unit instance GHC.Show.Show Amazonka.Shield.Types.Unit.Unit module Amazonka.Shield.Types.AttackProperty -- | Details of a Shield event. This is provided as part of an -- AttackDetail. -- -- See: newAttackProperty smart constructor. data AttackProperty AttackProperty' :: Maybe AttackLayer -> Maybe AttackPropertyIdentifier -> Maybe [Contributor] -> Maybe Integer -> Maybe Unit -> AttackProperty -- | 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:attackLayer:AttackProperty'] :: AttackProperty -> Maybe AttackLayer -- | 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:attackPropertyIdentifier:AttackProperty'] :: AttackProperty -> Maybe AttackPropertyIdentifier -- | 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:topContributors:AttackProperty'] :: AttackProperty -> Maybe [Contributor] -- | The total contributions made to this Shield event by all contributors. [$sel:total:AttackProperty'] :: AttackProperty -> Maybe Integer -- | The unit used for the Contributor Value property. [$sel:unit:AttackProperty'] :: AttackProperty -> Maybe Unit -- | 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. newAttackProperty :: AttackProperty -- | 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_attackLayer :: Lens' AttackProperty (Maybe AttackLayer) -- | 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_attackPropertyIdentifier :: Lens' AttackProperty (Maybe AttackPropertyIdentifier) -- | 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_topContributors :: Lens' AttackProperty (Maybe [Contributor]) -- | The total contributions made to this Shield event by all contributors. attackProperty_total :: Lens' AttackProperty (Maybe Integer) -- | The unit used for the Contributor Value property. attackProperty_unit :: Lens' AttackProperty (Maybe Unit) instance GHC.Generics.Generic Amazonka.Shield.Types.AttackProperty.AttackProperty instance GHC.Show.Show Amazonka.Shield.Types.AttackProperty.AttackProperty instance GHC.Read.Read Amazonka.Shield.Types.AttackProperty.AttackProperty instance GHC.Classes.Eq Amazonka.Shield.Types.AttackProperty.AttackProperty instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackProperty.AttackProperty instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackProperty.AttackProperty instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackProperty.AttackProperty module Amazonka.Shield.Types.AttackDetail -- | The details of a DDoS attack. -- -- See: newAttackDetail smart constructor. data AttackDetail AttackDetail' :: Maybe [SummarizedCounter] -> Maybe Text -> Maybe [AttackProperty] -> Maybe POSIX -> Maybe [Mitigation] -> Maybe Text -> Maybe POSIX -> Maybe [SubResourceSummary] -> AttackDetail -- | List of counters that describe the attack for the specified time -- period. [$sel:attackCounters:AttackDetail'] :: AttackDetail -> Maybe [SummarizedCounter] -- | The unique identifier (ID) of the attack. [$sel:attackId:AttackDetail'] :: AttackDetail -> Maybe Text -- | 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:attackProperties:AttackDetail'] :: AttackDetail -> Maybe [AttackProperty] -- | The time the attack ended, in Unix time in seconds. [$sel:endTime:AttackDetail'] :: AttackDetail -> Maybe POSIX -- | List of mitigation actions taken for the attack. [$sel:mitigations:AttackDetail'] :: AttackDetail -> Maybe [Mitigation] -- | The ARN (Amazon Resource Name) of the resource that was attacked. [$sel:resourceArn:AttackDetail'] :: AttackDetail -> Maybe Text -- | The time the attack started, in Unix time in seconds. [$sel:startTime:AttackDetail'] :: AttackDetail -> Maybe POSIX -- | If applicable, additional detail about the resource being attacked, -- for example, IP address or URL. [$sel:subResources:AttackDetail'] :: AttackDetail -> Maybe [SubResourceSummary] -- | 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. newAttackDetail :: AttackDetail -- | List of counters that describe the attack for the specified time -- period. attackDetail_attackCounters :: Lens' AttackDetail (Maybe [SummarizedCounter]) -- | The unique identifier (ID) of the attack. attackDetail_attackId :: Lens' AttackDetail (Maybe Text) -- | 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_attackProperties :: Lens' AttackDetail (Maybe [AttackProperty]) -- | The time the attack ended, in Unix time in seconds. attackDetail_endTime :: Lens' AttackDetail (Maybe UTCTime) -- | List of mitigation actions taken for the attack. attackDetail_mitigations :: Lens' AttackDetail (Maybe [Mitigation]) -- | The ARN (Amazon Resource Name) of the resource that was attacked. attackDetail_resourceArn :: Lens' AttackDetail (Maybe Text) -- | The time the attack started, in Unix time in seconds. attackDetail_startTime :: Lens' AttackDetail (Maybe UTCTime) -- | If applicable, additional detail about the resource being attacked, -- for example, IP address or URL. attackDetail_subResources :: Lens' AttackDetail (Maybe [SubResourceSummary]) instance GHC.Generics.Generic Amazonka.Shield.Types.AttackDetail.AttackDetail instance GHC.Show.Show Amazonka.Shield.Types.AttackDetail.AttackDetail instance GHC.Read.Read Amazonka.Shield.Types.AttackDetail.AttackDetail instance GHC.Classes.Eq Amazonka.Shield.Types.AttackDetail.AttackDetail instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Shield.Types.AttackDetail.AttackDetail instance Data.Hashable.Class.Hashable Amazonka.Shield.Types.AttackDetail.AttackDetail instance Control.DeepSeq.NFData Amazonka.Shield.Types.AttackDetail.AttackDetail module Amazonka.Shield.Types -- | API version 2016-06-02 of the Amazon Shield SDK -- configuration. defaultService :: Service -- | Exception that indicates the specified AttackId does not -- exist, or the requester does not have the appropriate permissions to -- access the AttackId. _AccessDeniedException :: AsError a => Fold a ServiceError -- | 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. _AccessDeniedForDependencyException :: AsError a => Fold a ServiceError -- | Exception that indicates that a problem occurred with the service -- infrastructure. You can retry the request. _InternalErrorException :: AsError a => Fold a ServiceError -- | Exception that indicates that the operation would not cause any change -- to occur. _InvalidOperationException :: AsError a => Fold a ServiceError -- | 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. _InvalidPaginationTokenException :: AsError a => Fold a ServiceError -- | Exception that indicates that the parameters passed to the API are -- invalid. If available, this exception includes details in additional -- properties. _InvalidParameterException :: AsError a => Fold a ServiceError -- | Exception that indicates that the resource is invalid. You might not -- have access to the resource, or the resource might not exist. _InvalidResourceException :: AsError a => Fold a ServiceError -- | Exception that indicates that the operation would exceed a limit. _LimitsExceededException :: AsError a => Fold a ServiceError -- | 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. _LockedSubscriptionException :: AsError a => Fold a ServiceError -- | The ARN of the role that you specified does not exist. _NoAssociatedRoleException :: AsError a => Fold a ServiceError -- | Exception that indicates that the resource state has been modified by -- another client. Retrieve the resource and then retry your request. _OptimisticLockException :: AsError a => Fold a ServiceError -- | Exception indicating the specified resource already exists. If -- available, this exception includes details in additional properties. _ResourceAlreadyExistsException :: AsError a => Fold a ServiceError -- | Exception indicating the specified resource does not exist. If -- available, this exception includes details in additional properties. _ResourceNotFoundException :: AsError a => Fold a ServiceError newtype ApplicationLayerAutomaticResponseStatus ApplicationLayerAutomaticResponseStatus' :: Text -> ApplicationLayerAutomaticResponseStatus [fromApplicationLayerAutomaticResponseStatus] :: ApplicationLayerAutomaticResponseStatus -> Text pattern ApplicationLayerAutomaticResponseStatus_DISABLED :: ApplicationLayerAutomaticResponseStatus pattern ApplicationLayerAutomaticResponseStatus_ENABLED :: ApplicationLayerAutomaticResponseStatus newtype AttackLayer AttackLayer' :: Text -> AttackLayer [fromAttackLayer] :: AttackLayer -> Text pattern AttackLayer_APPLICATION :: AttackLayer pattern AttackLayer_NETWORK :: AttackLayer newtype AttackPropertyIdentifier AttackPropertyIdentifier' :: Text -> AttackPropertyIdentifier [fromAttackPropertyIdentifier] :: AttackPropertyIdentifier -> Text 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 AutoRenew' :: Text -> AutoRenew [fromAutoRenew] :: AutoRenew -> Text pattern AutoRenew_DISABLED :: AutoRenew pattern AutoRenew_ENABLED :: AutoRenew newtype ProactiveEngagementStatus ProactiveEngagementStatus' :: Text -> ProactiveEngagementStatus [fromProactiveEngagementStatus] :: ProactiveEngagementStatus -> Text pattern ProactiveEngagementStatus_DISABLED :: ProactiveEngagementStatus pattern ProactiveEngagementStatus_ENABLED :: ProactiveEngagementStatus pattern ProactiveEngagementStatus_PENDING :: ProactiveEngagementStatus newtype ProtectedResourceType ProtectedResourceType' :: Text -> ProtectedResourceType [fromProtectedResourceType] :: ProtectedResourceType -> Text 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 ProtectionGroupAggregation' :: Text -> ProtectionGroupAggregation [fromProtectionGroupAggregation] :: ProtectionGroupAggregation -> Text pattern ProtectionGroupAggregation_MAX :: ProtectionGroupAggregation pattern ProtectionGroupAggregation_MEAN :: ProtectionGroupAggregation pattern ProtectionGroupAggregation_SUM :: ProtectionGroupAggregation newtype ProtectionGroupPattern ProtectionGroupPattern' :: Text -> ProtectionGroupPattern [fromProtectionGroupPattern] :: ProtectionGroupPattern -> Text pattern ProtectionGroupPattern_ALL :: ProtectionGroupPattern pattern ProtectionGroupPattern_ARBITRARY :: ProtectionGroupPattern pattern ProtectionGroupPattern_BY_RESOURCE_TYPE :: ProtectionGroupPattern newtype SubResourceType SubResourceType' :: Text -> SubResourceType [fromSubResourceType] :: SubResourceType -> Text pattern SubResourceType_IP :: SubResourceType pattern SubResourceType_URL :: SubResourceType newtype SubscriptionState SubscriptionState' :: Text -> SubscriptionState [fromSubscriptionState] :: SubscriptionState -> Text pattern SubscriptionState_ACTIVE :: SubscriptionState pattern SubscriptionState_INACTIVE :: SubscriptionState newtype Unit Unit' :: Text -> Unit [fromUnit] :: Unit -> Text pattern Unit_BITS :: Unit pattern Unit_BYTES :: Unit pattern Unit_PACKETS :: Unit pattern Unit_REQUESTS :: Unit -- | 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. data ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseConfiguration' :: ApplicationLayerAutomaticResponseStatus -> ResponseAction -> ApplicationLayerAutomaticResponseConfiguration -- | Indicates whether automatic application layer DDoS mitigation is -- enabled for the protection. [$sel:status:ApplicationLayerAutomaticResponseConfiguration'] :: ApplicationLayerAutomaticResponseConfiguration -> ApplicationLayerAutomaticResponseStatus -- | 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. [$sel:action:ApplicationLayerAutomaticResponseConfiguration'] :: ApplicationLayerAutomaticResponseConfiguration -> ResponseAction -- | 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. newApplicationLayerAutomaticResponseConfiguration :: ApplicationLayerAutomaticResponseStatus -> ResponseAction -> ApplicationLayerAutomaticResponseConfiguration -- | Indicates whether automatic application layer DDoS mitigation is -- enabled for the protection. applicationLayerAutomaticResponseConfiguration_status :: Lens' ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseStatus -- | 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_action :: Lens' ApplicationLayerAutomaticResponseConfiguration ResponseAction -- | The details of a DDoS attack. -- -- See: newAttackDetail smart constructor. data AttackDetail AttackDetail' :: Maybe [SummarizedCounter] -> Maybe Text -> Maybe [AttackProperty] -> Maybe POSIX -> Maybe [Mitigation] -> Maybe Text -> Maybe POSIX -> Maybe [SubResourceSummary] -> AttackDetail -- | List of counters that describe the attack for the specified time -- period. [$sel:attackCounters:AttackDetail'] :: AttackDetail -> Maybe [SummarizedCounter] -- | The unique identifier (ID) of the attack. [$sel:attackId:AttackDetail'] :: AttackDetail -> Maybe Text -- | 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:attackProperties:AttackDetail'] :: AttackDetail -> Maybe [AttackProperty] -- | The time the attack ended, in Unix time in seconds. [$sel:endTime:AttackDetail'] :: AttackDetail -> Maybe POSIX -- | List of mitigation actions taken for the attack. [$sel:mitigations:AttackDetail'] :: AttackDetail -> Maybe [Mitigation] -- | The ARN (Amazon Resource Name) of the resource that was attacked. [$sel:resourceArn:AttackDetail'] :: AttackDetail -> Maybe Text -- | The time the attack started, in Unix time in seconds. [$sel:startTime:AttackDetail'] :: AttackDetail -> Maybe POSIX -- | If applicable, additional detail about the resource being attacked, -- for example, IP address or URL. [$sel:subResources:AttackDetail'] :: AttackDetail -> Maybe [SubResourceSummary] -- | 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. newAttackDetail :: AttackDetail -- | List of counters that describe the attack for the specified time -- period. attackDetail_attackCounters :: Lens' AttackDetail (Maybe [SummarizedCounter]) -- | The unique identifier (ID) of the attack. attackDetail_attackId :: Lens' AttackDetail (Maybe Text) -- | 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_attackProperties :: Lens' AttackDetail (Maybe [AttackProperty]) -- | The time the attack ended, in Unix time in seconds. attackDetail_endTime :: Lens' AttackDetail (Maybe UTCTime) -- | List of mitigation actions taken for the attack. attackDetail_mitigations :: Lens' AttackDetail (Maybe [Mitigation]) -- | The ARN (Amazon Resource Name) of the resource that was attacked. attackDetail_resourceArn :: Lens' AttackDetail (Maybe Text) -- | The time the attack started, in Unix time in seconds. attackDetail_startTime :: Lens' AttackDetail (Maybe UTCTime) -- | If applicable, additional detail about the resource being attacked, -- for example, IP address or URL. attackDetail_subResources :: Lens' AttackDetail (Maybe [SubResourceSummary]) -- | Details of a Shield event. This is provided as part of an -- AttackDetail. -- -- See: newAttackProperty smart constructor. data AttackProperty AttackProperty' :: Maybe AttackLayer -> Maybe AttackPropertyIdentifier -> Maybe [Contributor] -> Maybe Integer -> Maybe Unit -> AttackProperty -- | 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:attackLayer:AttackProperty'] :: AttackProperty -> Maybe AttackLayer -- | 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:attackPropertyIdentifier:AttackProperty'] :: AttackProperty -> Maybe AttackPropertyIdentifier -- | 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:topContributors:AttackProperty'] :: AttackProperty -> Maybe [Contributor] -- | The total contributions made to this Shield event by all contributors. [$sel:total:AttackProperty'] :: AttackProperty -> Maybe Integer -- | The unit used for the Contributor Value property. [$sel:unit:AttackProperty'] :: AttackProperty -> Maybe Unit -- | 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. newAttackProperty :: AttackProperty -- | 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_attackLayer :: Lens' AttackProperty (Maybe AttackLayer) -- | 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_attackPropertyIdentifier :: Lens' AttackProperty (Maybe AttackPropertyIdentifier) -- | 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_topContributors :: Lens' AttackProperty (Maybe [Contributor]) -- | The total contributions made to this Shield event by all contributors. attackProperty_total :: Lens' AttackProperty (Maybe Integer) -- | The unit used for the Contributor Value property. attackProperty_unit :: Lens' AttackProperty (Maybe Unit) -- | 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. data AttackStatisticsDataItem AttackStatisticsDataItem' :: Maybe AttackVolume -> Integer -> AttackStatisticsDataItem -- | Information about the volume of attacks during the time period. If the -- accompanying AttackCount is zero, this setting might be -- empty. [$sel:attackVolume:AttackStatisticsDataItem'] :: AttackStatisticsDataItem -> Maybe AttackVolume -- | The number of attacks detected during the time period. This is always -- present, but might be zero. [$sel:attackCount:AttackStatisticsDataItem'] :: AttackStatisticsDataItem -> Integer -- | 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. newAttackStatisticsDataItem :: Integer -> AttackStatisticsDataItem -- | Information about the volume of attacks during the time period. If the -- accompanying AttackCount is zero, this setting might be -- empty. attackStatisticsDataItem_attackVolume :: Lens' AttackStatisticsDataItem (Maybe AttackVolume) -- | The number of attacks detected during the time period. This is always -- present, but might be zero. attackStatisticsDataItem_attackCount :: Lens' AttackStatisticsDataItem Integer -- | Summarizes all DDoS attacks for a specified time period. -- -- See: newAttackSummary smart constructor. data AttackSummary AttackSummary' :: Maybe Text -> Maybe [AttackVectorDescription] -> Maybe POSIX -> Maybe Text -> Maybe POSIX -> AttackSummary -- | The unique identifier (ID) of the attack. [$sel:attackId:AttackSummary'] :: AttackSummary -> Maybe Text -- | The list of attacks for a specified time period. [$sel:attackVectors:AttackSummary'] :: AttackSummary -> Maybe [AttackVectorDescription] -- | The end time of the attack, in Unix time in seconds. [$sel:endTime:AttackSummary'] :: AttackSummary -> Maybe POSIX -- | The ARN (Amazon Resource Name) of the resource that was attacked. [$sel:resourceArn:AttackSummary'] :: AttackSummary -> Maybe Text -- | The start time of the attack, in Unix time in seconds. [$sel:startTime:AttackSummary'] :: AttackSummary -> Maybe POSIX -- | 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. newAttackSummary :: AttackSummary -- | The unique identifier (ID) of the attack. attackSummary_attackId :: Lens' AttackSummary (Maybe Text) -- | The list of attacks for a specified time period. attackSummary_attackVectors :: Lens' AttackSummary (Maybe [AttackVectorDescription]) -- | The end time of the attack, in Unix time in seconds. attackSummary_endTime :: Lens' AttackSummary (Maybe UTCTime) -- | The ARN (Amazon Resource Name) of the resource that was attacked. attackSummary_resourceArn :: Lens' AttackSummary (Maybe Text) -- | The start time of the attack, in Unix time in seconds. attackSummary_startTime :: Lens' AttackSummary (Maybe UTCTime) -- | Describes the attack. -- -- See: newAttackVectorDescription smart constructor. data AttackVectorDescription AttackVectorDescription' :: Text -> AttackVectorDescription -- | The attack type. Valid values: -- -- [$sel:vectorType:AttackVectorDescription'] :: AttackVectorDescription -> Text -- | 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: -- -- newAttackVectorDescription :: Text -> AttackVectorDescription -- | The attack type. Valid values: -- -- attackVectorDescription_vectorType :: Lens' AttackVectorDescription Text -- | 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. data AttackVolume AttackVolume' :: Maybe AttackVolumeStatistics -> Maybe AttackVolumeStatistics -> Maybe AttackVolumeStatistics -> AttackVolume -- | A statistics object that uses bits per second as the unit. This is -- included for network level attacks. [$sel:bitsPerSecond:AttackVolume'] :: AttackVolume -> Maybe AttackVolumeStatistics -- | A statistics object that uses packets per second as the unit. This is -- included for network level attacks. [$sel:packetsPerSecond:AttackVolume'] :: AttackVolume -> Maybe AttackVolumeStatistics -- | 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. [$sel:requestsPerSecond:AttackVolume'] :: AttackVolume -> Maybe AttackVolumeStatistics -- | 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. newAttackVolume :: AttackVolume -- | A statistics object that uses bits per second as the unit. This is -- included for network level attacks. attackVolume_bitsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | A statistics object that uses packets per second as the unit. This is -- included for network level attacks. attackVolume_packetsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | 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_requestsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | Statistics objects for the various data types in AttackVolume. -- -- See: newAttackVolumeStatistics smart constructor. data AttackVolumeStatistics AttackVolumeStatistics' :: Double -> AttackVolumeStatistics -- | The maximum attack volume observed for the given unit. [$sel:max:AttackVolumeStatistics'] :: AttackVolumeStatistics -> Double -- | 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. newAttackVolumeStatistics :: Double -> AttackVolumeStatistics -- | The maximum attack volume observed for the given unit. attackVolumeStatistics_max :: Lens' AttackVolumeStatistics Double -- | 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. data BlockAction BlockAction' :: BlockAction -- | Create a value of BlockAction with all optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newBlockAction :: BlockAction -- | A contributor to the attack and their contribution. -- -- See: newContributor smart constructor. data Contributor Contributor' :: Maybe Text -> Maybe Integer -> Contributor -- | 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:name:Contributor'] :: Contributor -> Maybe Text -- | The contribution of this contributor expressed in Protection units. -- For example 10,000. [$sel:value:Contributor'] :: Contributor -> Maybe Integer -- | 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. newContributor :: Contributor -- | 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_name :: Lens' Contributor (Maybe Text) -- | The contribution of this contributor expressed in Protection units. -- For example 10,000. contributor_value :: Lens' Contributor (Maybe Integer) -- | 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. data CountAction CountAction' :: CountAction -- | Create a value of CountAction with all optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newCountAction :: CountAction -- | 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. data EmergencyContact EmergencyContact' :: Maybe Text -> Maybe Text -> Text -> EmergencyContact -- | Additional notes regarding the contact. [$sel:contactNotes:EmergencyContact'] :: EmergencyContact -> Maybe Text -- | The phone number for the contact. [$sel:phoneNumber:EmergencyContact'] :: EmergencyContact -> Maybe Text -- | The email address for the contact. [$sel:emailAddress:EmergencyContact'] :: EmergencyContact -> Text -- | 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. newEmergencyContact :: Text -> EmergencyContact -- | Additional notes regarding the contact. emergencyContact_contactNotes :: Lens' EmergencyContact (Maybe Text) -- | The phone number for the contact. emergencyContact_phoneNumber :: Lens' EmergencyContact (Maybe Text) -- | The email address for the contact. emergencyContact_emailAddress :: Lens' EmergencyContact Text -- | 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. data InclusionProtectionFilters InclusionProtectionFilters' :: Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty ProtectedResourceType) -> InclusionProtectionFilters -- | The name of the protection that you want to retrieve. [$sel:protectionNames:InclusionProtectionFilters'] :: InclusionProtectionFilters -> Maybe (NonEmpty Text) -- | The ARN (Amazon Resource Name) of the resource whose protection you -- want to retrieve. [$sel:resourceArns:InclusionProtectionFilters'] :: InclusionProtectionFilters -> Maybe (NonEmpty Text) -- | The type of protected resource whose protections you want to retrieve. [$sel:resourceTypes:InclusionProtectionFilters'] :: InclusionProtectionFilters -> Maybe (NonEmpty ProtectedResourceType) -- | 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. newInclusionProtectionFilters :: InclusionProtectionFilters -- | The name of the protection that you want to retrieve. inclusionProtectionFilters_protectionNames :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) -- | The ARN (Amazon Resource Name) of the resource whose protection you -- want to retrieve. inclusionProtectionFilters_resourceArns :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) -- | The type of protected resource whose protections you want to retrieve. inclusionProtectionFilters_resourceTypes :: Lens' InclusionProtectionFilters (Maybe (NonEmpty ProtectedResourceType)) -- | 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. data InclusionProtectionGroupFilters InclusionProtectionGroupFilters' :: Maybe (NonEmpty ProtectionGroupAggregation) -> Maybe (NonEmpty ProtectionGroupPattern) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty ProtectedResourceType) -> InclusionProtectionGroupFilters -- | The aggregation setting of the protection groups that you want to -- retrieve. [$sel:aggregations:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty ProtectionGroupAggregation) -- | The pattern specification of the protection groups that you want to -- retrieve. [$sel:patterns:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty ProtectionGroupPattern) -- | The ID of the protection group that you want to retrieve. [$sel:protectionGroupIds:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty Text) -- | 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. [$sel:resourceTypes:InclusionProtectionGroupFilters'] :: InclusionProtectionGroupFilters -> Maybe (NonEmpty ProtectedResourceType) -- | 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. newInclusionProtectionGroupFilters :: InclusionProtectionGroupFilters -- | The aggregation setting of the protection groups that you want to -- retrieve. inclusionProtectionGroupFilters_aggregations :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupAggregation)) -- | The pattern specification of the protection groups that you want to -- retrieve. inclusionProtectionGroupFilters_patterns :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupPattern)) -- | The ID of the protection group that you want to retrieve. inclusionProtectionGroupFilters_protectionGroupIds :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty Text)) -- | 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_resourceTypes :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectedResourceType)) -- | Specifies how many protections of a given type you can create. -- -- See: newLimit smart constructor. data Limit Limit' :: Maybe Integer -> Maybe Text -> Limit -- | The maximum number of protections that can be created for the -- specified Type. [$sel:max:Limit'] :: Limit -> Maybe Integer -- | The type of protection. [$sel:type':Limit'] :: Limit -> 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. newLimit :: Limit -- | The maximum number of protections that can be created for the -- specified Type. limit_max :: Lens' Limit (Maybe Integer) -- | The type of protection. limit_type :: Lens' Limit (Maybe Text) -- | The mitigation applied to a DDoS attack. -- -- See: newMitigation smart constructor. data Mitigation Mitigation' :: Maybe Text -> Mitigation -- | The name of the mitigation taken for this attack. [$sel:mitigationName:Mitigation'] :: Mitigation -> Maybe Text -- | 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. newMitigation :: Mitigation -- | The name of the mitigation taken for this attack. mitigation_mitigationName :: Lens' Mitigation (Maybe Text) -- | An object that represents a resource that is under DDoS protection. -- -- See: newProtection smart constructor. data Protection Protection' :: Maybe ApplicationLayerAutomaticResponseConfiguration -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Protection -- | 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:applicationLayerAutomaticResponseConfiguration:Protection'] :: Protection -> Maybe ApplicationLayerAutomaticResponseConfiguration -- | The unique identifier (ID) for the Route 53 health check that's -- associated with the protection. [$sel:healthCheckIds:Protection'] :: Protection -> Maybe [Text] -- | The unique identifier (ID) of the protection. [$sel:id:Protection'] :: Protection -> Maybe Text -- | The name of the protection. For example, My CloudFront -- distributions. [$sel:name:Protection'] :: Protection -> Maybe Text -- | The ARN (Amazon Resource Name) of the protection. [$sel:protectionArn:Protection'] :: Protection -> Maybe Text -- | The ARN (Amazon Resource Name) of the Amazon Web Services resource -- that is protected. [$sel:resourceArn:Protection'] :: Protection -> Maybe Text -- | 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. newProtection :: Protection -- | 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_applicationLayerAutomaticResponseConfiguration :: Lens' Protection (Maybe ApplicationLayerAutomaticResponseConfiguration) -- | The unique identifier (ID) for the Route 53 health check that's -- associated with the protection. protection_healthCheckIds :: Lens' Protection (Maybe [Text]) -- | The unique identifier (ID) of the protection. protection_id :: Lens' Protection (Maybe Text) -- | The name of the protection. For example, My CloudFront -- distributions. protection_name :: Lens' Protection (Maybe Text) -- | The ARN (Amazon Resource Name) of the protection. protection_protectionArn :: Lens' Protection (Maybe Text) -- | The ARN (Amazon Resource Name) of the Amazon Web Services resource -- that is protected. protection_resourceArn :: Lens' Protection (Maybe Text) -- | 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. data ProtectionGroup ProtectionGroup' :: Maybe Text -> Maybe ProtectedResourceType -> Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> [Text] -> ProtectionGroup -- | The ARN (Amazon Resource Name) of the protection group. [$sel:protectionGroupArn:ProtectionGroup'] :: ProtectionGroup -> Maybe Text -- | 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:resourceType:ProtectionGroup'] :: ProtectionGroup -> Maybe ProtectedResourceType -- | 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:protectionGroupId:ProtectionGroup'] :: ProtectionGroup -> Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- [$sel:aggregation:ProtectionGroup'] :: ProtectionGroup -> ProtectionGroupAggregation -- | 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:pattern':ProtectionGroup'] :: ProtectionGroup -> ProtectionGroupPattern -- | 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. [$sel:members:ProtectionGroup'] :: ProtectionGroup -> [Text] -- | 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. -- -- -- -- $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. newProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> ProtectionGroup -- | The ARN (Amazon Resource Name) of the protection group. protectionGroup_protectionGroupArn :: Lens' ProtectionGroup (Maybe Text) -- | 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_resourceType :: Lens' ProtectionGroup (Maybe ProtectedResourceType) -- | 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_protectionGroupId :: Lens' ProtectionGroup Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- protectionGroup_aggregation :: Lens' ProtectionGroup ProtectionGroupAggregation -- | 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_pattern :: Lens' ProtectionGroup ProtectionGroupPattern -- | 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_members :: Lens' ProtectionGroup [Text] -- | Limits settings on protection groups with arbitrary pattern type. -- -- See: newProtectionGroupArbitraryPatternLimits smart -- constructor. data ProtectionGroupArbitraryPatternLimits ProtectionGroupArbitraryPatternLimits' :: Integer -> ProtectionGroupArbitraryPatternLimits -- | The maximum number of resources you can specify for a single arbitrary -- pattern in a protection group. [$sel:maxMembers:ProtectionGroupArbitraryPatternLimits'] :: ProtectionGroupArbitraryPatternLimits -> Integer -- | 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. newProtectionGroupArbitraryPatternLimits :: Integer -> ProtectionGroupArbitraryPatternLimits -- | The maximum number of resources you can specify for a single arbitrary -- pattern in a protection group. protectionGroupArbitraryPatternLimits_maxMembers :: Lens' ProtectionGroupArbitraryPatternLimits Integer -- | Limits settings on protection groups for your subscription. -- -- See: newProtectionGroupLimits smart constructor. data ProtectionGroupLimits ProtectionGroupLimits' :: Integer -> ProtectionGroupPatternTypeLimits -> ProtectionGroupLimits -- | The maximum number of protection groups that you can have at one time. [$sel:maxProtectionGroups:ProtectionGroupLimits'] :: ProtectionGroupLimits -> Integer -- | Limits settings by pattern type in the protection groups for your -- subscription. [$sel:patternTypeLimits:ProtectionGroupLimits'] :: ProtectionGroupLimits -> ProtectionGroupPatternTypeLimits -- | 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. newProtectionGroupLimits :: Integer -> ProtectionGroupPatternTypeLimits -> ProtectionGroupLimits -- | The maximum number of protection groups that you can have at one time. protectionGroupLimits_maxProtectionGroups :: Lens' ProtectionGroupLimits Integer -- | Limits settings by pattern type in the protection groups for your -- subscription. protectionGroupLimits_patternTypeLimits :: Lens' ProtectionGroupLimits ProtectionGroupPatternTypeLimits -- | Limits settings by pattern type in the protection groups for your -- subscription. -- -- See: newProtectionGroupPatternTypeLimits smart -- constructor. data ProtectionGroupPatternTypeLimits ProtectionGroupPatternTypeLimits' :: ProtectionGroupArbitraryPatternLimits -> ProtectionGroupPatternTypeLimits -- | Limits settings on protection groups with arbitrary pattern type. [$sel:arbitraryPatternLimits:ProtectionGroupPatternTypeLimits'] :: ProtectionGroupPatternTypeLimits -> ProtectionGroupArbitraryPatternLimits -- | 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. newProtectionGroupPatternTypeLimits :: ProtectionGroupArbitraryPatternLimits -> ProtectionGroupPatternTypeLimits -- | Limits settings on protection groups with arbitrary pattern type. protectionGroupPatternTypeLimits_arbitraryPatternLimits :: Lens' ProtectionGroupPatternTypeLimits ProtectionGroupArbitraryPatternLimits -- | Limits settings on protections for your subscription. -- -- See: newProtectionLimits smart constructor. data ProtectionLimits ProtectionLimits' :: [Limit] -> ProtectionLimits -- | The maximum number of resource types that you can specify in a -- protection. [$sel:protectedResourceTypeLimits:ProtectionLimits'] :: ProtectionLimits -> [Limit] -- | 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. newProtectionLimits :: ProtectionLimits -- | The maximum number of resource types that you can specify in a -- protection. protectionLimits_protectedResourceTypeLimits :: Lens' ProtectionLimits [Limit] -- | 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. data ResponseAction ResponseAction' :: Maybe BlockAction -> Maybe CountAction -> ResponseAction -- | 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:block:ResponseAction'] :: ResponseAction -> Maybe BlockAction -- | Specifies that Shield Advanced should configure its WAF rules with the -- WAF Count action. -- -- You must specify exactly one action, either Block or -- Count. [$sel:count:ResponseAction'] :: ResponseAction -> Maybe CountAction -- | 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. newResponseAction :: ResponseAction -- | 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_block :: Lens' ResponseAction (Maybe BlockAction) -- | 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_count :: Lens' ResponseAction (Maybe CountAction) -- | The attack information for the specified SubResource. -- -- See: newSubResourceSummary smart constructor. data SubResourceSummary SubResourceSummary' :: Maybe [SummarizedAttackVector] -> Maybe [SummarizedCounter] -> Maybe Text -> Maybe SubResourceType -> SubResourceSummary -- | The list of attack types and associated counters. [$sel:attackVectors:SubResourceSummary'] :: SubResourceSummary -> Maybe [SummarizedAttackVector] -- | The counters that describe the details of the attack. [$sel:counters:SubResourceSummary'] :: SubResourceSummary -> Maybe [SummarizedCounter] -- | The unique identifier (ID) of the SubResource. [$sel:id:SubResourceSummary'] :: SubResourceSummary -> Maybe Text -- | The SubResource type. [$sel:type':SubResourceSummary'] :: SubResourceSummary -> Maybe SubResourceType -- | 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. newSubResourceSummary :: SubResourceSummary -- | The list of attack types and associated counters. subResourceSummary_attackVectors :: Lens' SubResourceSummary (Maybe [SummarizedAttackVector]) -- | The counters that describe the details of the attack. subResourceSummary_counters :: Lens' SubResourceSummary (Maybe [SummarizedCounter]) -- | The unique identifier (ID) of the SubResource. subResourceSummary_id :: Lens' SubResourceSummary (Maybe Text) -- | The SubResource type. subResourceSummary_type :: Lens' SubResourceSummary (Maybe SubResourceType) -- | Information about the Shield Advanced subscription for an account. -- -- See: newSubscription smart constructor. data Subscription Subscription' :: Maybe AutoRenew -> Maybe POSIX -> Maybe [Limit] -> Maybe ProactiveEngagementStatus -> Maybe POSIX -> Maybe Text -> Maybe Natural -> SubscriptionLimits -> Subscription -- | 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:autoRenew:Subscription'] :: Subscription -> Maybe AutoRenew -- | The date and time your subscription will end. [$sel:endTime:Subscription'] :: Subscription -> Maybe POSIX -- | Specifies how many protections of a given type you can create. [$sel:limits:Subscription'] :: Subscription -> Maybe [Limit] -- | 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:proactiveEngagementStatus:Subscription'] :: Subscription -> Maybe ProactiveEngagementStatus -- | The start time of the subscription, in Unix time in seconds. [$sel:startTime:Subscription'] :: Subscription -> Maybe POSIX -- | The ARN (Amazon Resource Name) of the subscription. [$sel:subscriptionArn:Subscription'] :: Subscription -> Maybe Text -- | The length, in seconds, of the Shield Advanced subscription for the -- account. [$sel:timeCommitmentInSeconds:Subscription'] :: Subscription -> Maybe Natural -- | Limits settings for your subscription. [$sel:subscriptionLimits:Subscription'] :: Subscription -> SubscriptionLimits -- | 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. newSubscription :: SubscriptionLimits -> Subscription -- | 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_autoRenew :: Lens' Subscription (Maybe AutoRenew) -- | The date and time your subscription will end. subscription_endTime :: Lens' Subscription (Maybe UTCTime) -- | Specifies how many protections of a given type you can create. subscription_limits :: Lens' Subscription (Maybe [Limit]) -- | 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_proactiveEngagementStatus :: Lens' Subscription (Maybe ProactiveEngagementStatus) -- | The start time of the subscription, in Unix time in seconds. subscription_startTime :: Lens' Subscription (Maybe UTCTime) -- | The ARN (Amazon Resource Name) of the subscription. subscription_subscriptionArn :: Lens' Subscription (Maybe Text) -- | The length, in seconds, of the Shield Advanced subscription for the -- account. subscription_timeCommitmentInSeconds :: Lens' Subscription (Maybe Natural) -- | Limits settings for your subscription. subscription_subscriptionLimits :: Lens' Subscription SubscriptionLimits -- | Limits settings for your subscription. -- -- See: newSubscriptionLimits smart constructor. data SubscriptionLimits SubscriptionLimits' :: ProtectionLimits -> ProtectionGroupLimits -> SubscriptionLimits -- | Limits settings on protections for your subscription. [$sel:protectionLimits:SubscriptionLimits'] :: SubscriptionLimits -> ProtectionLimits -- | Limits settings on protection groups for your subscription. [$sel:protectionGroupLimits:SubscriptionLimits'] :: SubscriptionLimits -> ProtectionGroupLimits -- | 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. newSubscriptionLimits :: ProtectionLimits -> ProtectionGroupLimits -> SubscriptionLimits -- | Limits settings on protections for your subscription. subscriptionLimits_protectionLimits :: Lens' SubscriptionLimits ProtectionLimits -- | Limits settings on protection groups for your subscription. subscriptionLimits_protectionGroupLimits :: Lens' SubscriptionLimits ProtectionGroupLimits -- | A summary of information about the attack. -- -- See: newSummarizedAttackVector smart constructor. data SummarizedAttackVector SummarizedAttackVector' :: Maybe [SummarizedCounter] -> Text -> SummarizedAttackVector -- | The list of counters that describe the details of the attack. [$sel:vectorCounters:SummarizedAttackVector'] :: SummarizedAttackVector -> Maybe [SummarizedCounter] -- | The attack type, for example, SNMP reflection or SYN flood. [$sel:vectorType:SummarizedAttackVector'] :: SummarizedAttackVector -> Text -- | 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. newSummarizedAttackVector :: Text -> SummarizedAttackVector -- | The list of counters that describe the details of the attack. summarizedAttackVector_vectorCounters :: Lens' SummarizedAttackVector (Maybe [SummarizedCounter]) -- | The attack type, for example, SNMP reflection or SYN flood. summarizedAttackVector_vectorType :: Lens' SummarizedAttackVector Text -- | The counter that describes a DDoS attack. -- -- See: newSummarizedCounter smart constructor. data SummarizedCounter SummarizedCounter' :: Maybe Double -> Maybe Double -> Maybe Int -> Maybe Text -> Maybe Double -> Maybe Text -> SummarizedCounter -- | The average value of the counter for a specified time period. [$sel:average:SummarizedCounter'] :: SummarizedCounter -> Maybe Double -- | The maximum value of the counter for a specified time period. [$sel:max:SummarizedCounter'] :: SummarizedCounter -> Maybe Double -- | The number of counters for a specified time period. [$sel:n:SummarizedCounter'] :: SummarizedCounter -> Maybe Int -- | The counter name. [$sel:name:SummarizedCounter'] :: SummarizedCounter -> Maybe Text -- | The total of counter values for a specified time period. [$sel:sum:SummarizedCounter'] :: SummarizedCounter -> Maybe Double -- | The unit of the counters. [$sel:unit:SummarizedCounter'] :: SummarizedCounter -> Maybe Text -- | 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. newSummarizedCounter :: SummarizedCounter -- | The average value of the counter for a specified time period. summarizedCounter_average :: Lens' SummarizedCounter (Maybe Double) -- | The maximum value of the counter for a specified time period. summarizedCounter_max :: Lens' SummarizedCounter (Maybe Double) -- | The number of counters for a specified time period. summarizedCounter_n :: Lens' SummarizedCounter (Maybe Int) -- | The counter name. summarizedCounter_name :: Lens' SummarizedCounter (Maybe Text) -- | The total of counter values for a specified time period. summarizedCounter_sum :: Lens' SummarizedCounter (Maybe Double) -- | The unit of the counters. summarizedCounter_unit :: Lens' SummarizedCounter (Maybe Text) -- | 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. data Tag Tag' :: Maybe Text -> Maybe Text -> Tag -- | 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:key:Tag'] :: Tag -> Maybe Text -- | 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. [$sel:value:Tag'] :: Tag -> 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. newTag :: Tag -- | 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_key :: Lens' Tag (Maybe Text) -- | 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_value :: Lens' Tag (Maybe Text) -- | The time range. -- -- See: newTimeRange smart constructor. data TimeRange TimeRange' :: Maybe POSIX -> Maybe POSIX -> TimeRange -- | The start time, in Unix time in seconds. [$sel:fromInclusive:TimeRange'] :: TimeRange -> Maybe POSIX -- | The end time, in Unix time in seconds. [$sel:toExclusive:TimeRange'] :: TimeRange -> Maybe POSIX -- | 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. newTimeRange :: TimeRange -- | The start time, in Unix time in seconds. timeRange_fromInclusive :: Lens' TimeRange (Maybe UTCTime) -- | The end time, in Unix time in seconds. timeRange_toExclusive :: Lens' TimeRange (Maybe UTCTime) -- | Adds or updates tags for a resource in Shield. module Amazonka.Shield.TagResource -- | See: newTagResource smart constructor. data TagResource TagResource' :: Text -> [Tag] -> TagResource -- | The Amazon Resource Name (ARN) of the resource that you want to add or -- update tags for. [$sel:resourceARN:TagResource'] :: TagResource -> Text -- | The tags that you want to modify or add to the resource. [$sel:tags:TagResource'] :: TagResource -> [Tag] -- | Create a value of TagResource 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:resourceARN:TagResource', tagResource_resourceARN - -- The Amazon Resource Name (ARN) of the resource that you want to add or -- update tags for. -- -- $sel:tags:TagResource', tagResource_tags - The tags that -- you want to modify or add to the resource. newTagResource :: Text -> TagResource -- | The Amazon Resource Name (ARN) of the resource that you want to add or -- update tags for. tagResource_resourceARN :: Lens' TagResource Text -- | The tags that you want to modify or add to the resource. tagResource_tags :: Lens' TagResource [Tag] -- | See: newTagResourceResponse smart constructor. data TagResourceResponse TagResourceResponse' :: Int -> TagResourceResponse -- | The response's http status code. [$sel:httpStatus:TagResourceResponse'] :: TagResourceResponse -> Int -- | Create a value of TagResourceResponse 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:httpStatus:TagResourceResponse', -- tagResourceResponse_httpStatus - The response's http status -- code. newTagResourceResponse :: Int -> TagResourceResponse -- | The response's http status code. tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int instance GHC.Generics.Generic Amazonka.Shield.TagResource.TagResource instance GHC.Show.Show Amazonka.Shield.TagResource.TagResource instance GHC.Read.Read Amazonka.Shield.TagResource.TagResource instance GHC.Classes.Eq Amazonka.Shield.TagResource.TagResource instance GHC.Generics.Generic Amazonka.Shield.TagResource.TagResourceResponse instance GHC.Show.Show Amazonka.Shield.TagResource.TagResourceResponse instance GHC.Read.Read Amazonka.Shield.TagResource.TagResourceResponse instance GHC.Classes.Eq Amazonka.Shield.TagResource.TagResourceResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.TagResource.TagResource instance Control.DeepSeq.NFData Amazonka.Shield.TagResource.TagResourceResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.TagResource.TagResource instance Control.DeepSeq.NFData Amazonka.Shield.TagResource.TagResource instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.TagResource.TagResource instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.TagResource.TagResource instance Amazonka.Data.Path.ToPath Amazonka.Shield.TagResource.TagResource instance Amazonka.Data.Query.ToQuery Amazonka.Shield.TagResource.TagResource -- | Gets information about Amazon Web Services tags for a specified Amazon -- Resource Name (ARN) in Shield. module Amazonka.Shield.ListTagsForResource -- | See: newListTagsForResource smart constructor. data ListTagsForResource ListTagsForResource' :: Text -> ListTagsForResource -- | The Amazon Resource Name (ARN) of the resource to get tags for. [$sel:resourceARN:ListTagsForResource'] :: ListTagsForResource -> Text -- | Create a value of ListTagsForResource 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:resourceARN:ListTagsForResource', -- listTagsForResource_resourceARN - The Amazon Resource Name -- (ARN) of the resource to get tags for. newListTagsForResource :: Text -> ListTagsForResource -- | The Amazon Resource Name (ARN) of the resource to get tags for. listTagsForResource_resourceARN :: Lens' ListTagsForResource Text -- | See: newListTagsForResourceResponse smart constructor. data ListTagsForResourceResponse ListTagsForResourceResponse' :: Maybe [Tag] -> Int -> ListTagsForResourceResponse -- | A list of tag key and value pairs associated with the specified -- resource. [$sel:tags:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Maybe [Tag] -- | The response's http status code. [$sel:httpStatus:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Int -- | Create a value of ListTagsForResourceResponse with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:tags:ListTagsForResourceResponse', -- listTagsForResourceResponse_tags - A list of tag key and value -- pairs associated with the specified resource. -- -- $sel:httpStatus:ListTagsForResourceResponse', -- listTagsForResourceResponse_httpStatus - The response's http -- status code. newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse -- | A list of tag key and value pairs associated with the specified -- resource. listTagsForResourceResponse_tags :: Lens' ListTagsForResourceResponse (Maybe [Tag]) -- | The response's http status code. listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int instance GHC.Generics.Generic Amazonka.Shield.ListTagsForResource.ListTagsForResource instance GHC.Show.Show Amazonka.Shield.ListTagsForResource.ListTagsForResource instance GHC.Read.Read Amazonka.Shield.ListTagsForResource.ListTagsForResource instance GHC.Classes.Eq Amazonka.Shield.ListTagsForResource.ListTagsForResource instance GHC.Generics.Generic Amazonka.Shield.ListTagsForResource.ListTagsForResourceResponse instance GHC.Show.Show Amazonka.Shield.ListTagsForResource.ListTagsForResourceResponse instance GHC.Read.Read Amazonka.Shield.ListTagsForResource.ListTagsForResourceResponse instance GHC.Classes.Eq Amazonka.Shield.ListTagsForResource.ListTagsForResourceResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.ListTagsForResource.ListTagsForResource instance Control.DeepSeq.NFData Amazonka.Shield.ListTagsForResource.ListTagsForResourceResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.ListTagsForResource.ListTagsForResource instance Control.DeepSeq.NFData Amazonka.Shield.ListTagsForResource.ListTagsForResource instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.ListTagsForResource.ListTagsForResource instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.ListTagsForResource.ListTagsForResource instance Amazonka.Data.Path.ToPath Amazonka.Shield.ListTagsForResource.ListTagsForResource instance Amazonka.Data.Query.ToQuery Amazonka.Shield.ListTagsForResource.ListTagsForResource -- | Retrieves the resources that are included in the protection group. module Amazonka.Shield.ListResourcesInProtectionGroup -- | See: newListResourcesInProtectionGroup smart -- constructor. data ListResourcesInProtectionGroup ListResourcesInProtectionGroup' :: Maybe Natural -> Maybe Text -> Text -> ListResourcesInProtectionGroup -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. [$sel:maxResults:ListResourcesInProtectionGroup'] :: ListResourcesInProtectionGroup -> Maybe Natural -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. [$sel:nextToken:ListResourcesInProtectionGroup'] :: ListResourcesInProtectionGroup -> Maybe Text -- | 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:protectionGroupId:ListResourcesInProtectionGroup'] :: ListResourcesInProtectionGroup -> Text -- | Create a value of ListResourcesInProtectionGroup 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:maxResults:ListResourcesInProtectionGroup', -- listResourcesInProtectionGroup_maxResults - The greatest number -- of objects that you want Shield Advanced to return to the list -- request. Shield Advanced might return fewer objects than you indicate -- in this setting, even if more objects are available. If there are more -- objects remaining, Shield Advanced will always also return a -- NextToken value in the response. -- -- The default setting is 20. -- -- ListResourcesInProtectionGroup, -- listResourcesInProtectionGroup_nextToken - When you request a -- list of objects from Shield Advanced, if the response does not include -- all of the remaining available objects, Shield Advanced includes a -- NextToken value in the response. You can retrieve the next -- batch of objects by requesting the list again and providing the token -- that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. -- -- ListResourcesInProtectionGroup, -- listResourcesInProtectionGroup_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. newListResourcesInProtectionGroup :: Text -> ListResourcesInProtectionGroup -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listResourcesInProtectionGroup_maxResults :: Lens' ListResourcesInProtectionGroup (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listResourcesInProtectionGroup_nextToken :: Lens' ListResourcesInProtectionGroup (Maybe Text) -- | 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. listResourcesInProtectionGroup_protectionGroupId :: Lens' ListResourcesInProtectionGroup Text -- | See: newListResourcesInProtectionGroupResponse smart -- constructor. data ListResourcesInProtectionGroupResponse ListResourcesInProtectionGroupResponse' :: Maybe Text -> Int -> [Text] -> ListResourcesInProtectionGroupResponse -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. [$sel:nextToken:ListResourcesInProtectionGroupResponse'] :: ListResourcesInProtectionGroupResponse -> Maybe Text -- | The response's http status code. [$sel:httpStatus:ListResourcesInProtectionGroupResponse'] :: ListResourcesInProtectionGroupResponse -> Int -- | The Amazon Resource Names (ARNs) of the resources that are included in -- the protection group. [$sel:resourceArns:ListResourcesInProtectionGroupResponse'] :: ListResourcesInProtectionGroupResponse -> [Text] -- | Create a value of ListResourcesInProtectionGroupResponse 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: -- -- ListResourcesInProtectionGroup, -- listResourcesInProtectionGroupResponse_nextToken - When you -- request a list of objects from Shield Advanced, if the response does -- not include all of the remaining available objects, Shield Advanced -- includes a NextToken value in the response. You can retrieve -- the next batch of objects by requesting the list again and providing -- the token that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:httpStatus:ListResourcesInProtectionGroupResponse', -- listResourcesInProtectionGroupResponse_httpStatus - The -- response's http status code. -- -- ListResourcesInProtectionGroupResponse, -- listResourcesInProtectionGroupResponse_resourceArns - The -- Amazon Resource Names (ARNs) of the resources that are included in the -- protection group. newListResourcesInProtectionGroupResponse :: Int -> ListResourcesInProtectionGroupResponse -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listResourcesInProtectionGroupResponse_nextToken :: Lens' ListResourcesInProtectionGroupResponse (Maybe Text) -- | The response's http status code. listResourcesInProtectionGroupResponse_httpStatus :: Lens' ListResourcesInProtectionGroupResponse Int -- | The Amazon Resource Names (ARNs) of the resources that are included in -- the protection group. listResourcesInProtectionGroupResponse_resourceArns :: Lens' ListResourcesInProtectionGroupResponse [Text] instance GHC.Generics.Generic Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance GHC.Show.Show Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance GHC.Read.Read Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance GHC.Classes.Eq Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance GHC.Generics.Generic Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroupResponse instance GHC.Show.Show Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroupResponse instance GHC.Read.Read Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroupResponse instance GHC.Classes.Eq Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroupResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroupResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance Amazonka.Data.Path.ToPath Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup instance Amazonka.Data.Query.ToQuery Amazonka.Shield.ListResourcesInProtectionGroup.ListResourcesInProtectionGroup -- | Retrieves Protection objects for the account. You can retrieve all -- protections or you can provide filtering criteria and retrieve just -- the subset of protections that match the criteria. -- -- This operation returns paginated results. module Amazonka.Shield.ListProtections -- | See: newListProtections smart constructor. data ListProtections ListProtections' :: Maybe InclusionProtectionFilters -> Maybe Natural -> Maybe Text -> ListProtections -- | 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. [$sel:inclusionFilters:ListProtections'] :: ListProtections -> Maybe InclusionProtectionFilters -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. [$sel:maxResults:ListProtections'] :: ListProtections -> Maybe Natural -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. [$sel:nextToken:ListProtections'] :: ListProtections -> Maybe Text -- | Create a value of ListProtections 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:inclusionFilters:ListProtections', -- listProtections_inclusionFilters - 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. -- -- $sel:maxResults:ListProtections', -- listProtections_maxResults - The greatest number of objects -- that you want Shield Advanced to return to the list request. Shield -- Advanced might return fewer objects than you indicate in this setting, -- even if more objects are available. If there are more objects -- remaining, Shield Advanced will always also return a -- NextToken value in the response. -- -- The default setting is 20. -- -- ListProtections, listProtections_nextToken - When you -- request a list of objects from Shield Advanced, if the response does -- not include all of the remaining available objects, Shield Advanced -- includes a NextToken value in the response. You can retrieve -- the next batch of objects by requesting the list again and providing -- the token that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. newListProtections :: ListProtections -- | 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. listProtections_inclusionFilters :: Lens' ListProtections (Maybe InclusionProtectionFilters) -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listProtections_maxResults :: Lens' ListProtections (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listProtections_nextToken :: Lens' ListProtections (Maybe Text) -- | See: newListProtectionsResponse smart constructor. data ListProtectionsResponse ListProtectionsResponse' :: Maybe Text -> Maybe [Protection] -> Int -> ListProtectionsResponse -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. [$sel:nextToken:ListProtectionsResponse'] :: ListProtectionsResponse -> Maybe Text -- | The array of enabled Protection objects. [$sel:protections:ListProtectionsResponse'] :: ListProtectionsResponse -> Maybe [Protection] -- | The response's http status code. [$sel:httpStatus:ListProtectionsResponse'] :: ListProtectionsResponse -> Int -- | Create a value of ListProtectionsResponse 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: -- -- ListProtections, listProtectionsResponse_nextToken - -- When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:protections:ListProtectionsResponse', -- listProtectionsResponse_protections - The array of enabled -- Protection objects. -- -- $sel:httpStatus:ListProtectionsResponse', -- listProtectionsResponse_httpStatus - The response's http status -- code. newListProtectionsResponse :: Int -> ListProtectionsResponse -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listProtectionsResponse_nextToken :: Lens' ListProtectionsResponse (Maybe Text) -- | The array of enabled Protection objects. listProtectionsResponse_protections :: Lens' ListProtectionsResponse (Maybe [Protection]) -- | The response's http status code. listProtectionsResponse_httpStatus :: Lens' ListProtectionsResponse Int instance GHC.Generics.Generic Amazonka.Shield.ListProtections.ListProtections instance GHC.Show.Show Amazonka.Shield.ListProtections.ListProtections instance GHC.Read.Read Amazonka.Shield.ListProtections.ListProtections instance GHC.Classes.Eq Amazonka.Shield.ListProtections.ListProtections instance GHC.Generics.Generic Amazonka.Shield.ListProtections.ListProtectionsResponse instance GHC.Show.Show Amazonka.Shield.ListProtections.ListProtectionsResponse instance GHC.Read.Read Amazonka.Shield.ListProtections.ListProtectionsResponse instance GHC.Classes.Eq Amazonka.Shield.ListProtections.ListProtectionsResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.ListProtections.ListProtections instance Control.DeepSeq.NFData Amazonka.Shield.ListProtections.ListProtectionsResponse instance Amazonka.Pager.AWSPager Amazonka.Shield.ListProtections.ListProtections instance Data.Hashable.Class.Hashable Amazonka.Shield.ListProtections.ListProtections instance Control.DeepSeq.NFData Amazonka.Shield.ListProtections.ListProtections instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.ListProtections.ListProtections instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.ListProtections.ListProtections instance Amazonka.Data.Path.ToPath Amazonka.Shield.ListProtections.ListProtections instance Amazonka.Data.Query.ToQuery Amazonka.Shield.ListProtections.ListProtections -- | Retrieves ProtectionGroup objects for the account. You can retrieve -- all protection groups or you can provide filtering criteria and -- retrieve just the subset of protection groups that match the criteria. module Amazonka.Shield.ListProtectionGroups -- | See: newListProtectionGroups smart constructor. data ListProtectionGroups ListProtectionGroups' :: Maybe InclusionProtectionGroupFilters -> Maybe Natural -> Maybe Text -> ListProtectionGroups -- | 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 specific pattern or -- aggregation settings. 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. [$sel:inclusionFilters:ListProtectionGroups'] :: ListProtectionGroups -> Maybe InclusionProtectionGroupFilters -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. [$sel:maxResults:ListProtectionGroups'] :: ListProtectionGroups -> Maybe Natural -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. [$sel:nextToken:ListProtectionGroups'] :: ListProtectionGroups -> Maybe Text -- | Create a value of ListProtectionGroups 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:inclusionFilters:ListProtectionGroups', -- listProtectionGroups_inclusionFilters - 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 specific pattern or aggregation -- settings. 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. -- -- $sel:maxResults:ListProtectionGroups', -- listProtectionGroups_maxResults - The greatest number of -- objects that you want Shield Advanced to return to the list request. -- Shield Advanced might return fewer objects than you indicate in this -- setting, even if more objects are available. If there are more objects -- remaining, Shield Advanced will always also return a -- NextToken value in the response. -- -- The default setting is 20. -- -- ListProtectionGroups, listProtectionGroups_nextToken - -- When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. newListProtectionGroups :: ListProtectionGroups -- | 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 specific pattern or -- aggregation settings. 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. listProtectionGroups_inclusionFilters :: Lens' ListProtectionGroups (Maybe InclusionProtectionGroupFilters) -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listProtectionGroups_maxResults :: Lens' ListProtectionGroups (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listProtectionGroups_nextToken :: Lens' ListProtectionGroups (Maybe Text) -- | See: newListProtectionGroupsResponse smart constructor. data ListProtectionGroupsResponse ListProtectionGroupsResponse' :: Maybe Text -> Int -> [ProtectionGroup] -> ListProtectionGroupsResponse -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. [$sel:nextToken:ListProtectionGroupsResponse'] :: ListProtectionGroupsResponse -> Maybe Text -- | The response's http status code. [$sel:httpStatus:ListProtectionGroupsResponse'] :: ListProtectionGroupsResponse -> Int [$sel:protectionGroups:ListProtectionGroupsResponse'] :: ListProtectionGroupsResponse -> [ProtectionGroup] -- | Create a value of ListProtectionGroupsResponse 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: -- -- ListProtectionGroups, -- listProtectionGroupsResponse_nextToken - When you request a -- list of objects from Shield Advanced, if the response does not include -- all of the remaining available objects, Shield Advanced includes a -- NextToken value in the response. You can retrieve the next -- batch of objects by requesting the list again and providing the token -- that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:httpStatus:ListProtectionGroupsResponse', -- listProtectionGroupsResponse_httpStatus - The response's http -- status code. -- -- $sel:protectionGroups:ListProtectionGroupsResponse', -- listProtectionGroupsResponse_protectionGroups - newListProtectionGroupsResponse :: Int -> ListProtectionGroupsResponse -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listProtectionGroupsResponse_nextToken :: Lens' ListProtectionGroupsResponse (Maybe Text) -- | The response's http status code. listProtectionGroupsResponse_httpStatus :: Lens' ListProtectionGroupsResponse Int listProtectionGroupsResponse_protectionGroups :: Lens' ListProtectionGroupsResponse [ProtectionGroup] instance GHC.Generics.Generic Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance GHC.Show.Show Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance GHC.Read.Read Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance GHC.Classes.Eq Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance GHC.Generics.Generic Amazonka.Shield.ListProtectionGroups.ListProtectionGroupsResponse instance GHC.Show.Show Amazonka.Shield.ListProtectionGroups.ListProtectionGroupsResponse instance GHC.Read.Read Amazonka.Shield.ListProtectionGroups.ListProtectionGroupsResponse instance GHC.Classes.Eq Amazonka.Shield.ListProtectionGroups.ListProtectionGroupsResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance Control.DeepSeq.NFData Amazonka.Shield.ListProtectionGroups.ListProtectionGroupsResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance Control.DeepSeq.NFData Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance Amazonka.Data.Path.ToPath Amazonka.Shield.ListProtectionGroups.ListProtectionGroups instance Amazonka.Data.Query.ToQuery Amazonka.Shield.ListProtectionGroups.ListProtectionGroups -- | Returns all ongoing DDoS attacks or all DDoS attacks during a -- specified time period. -- -- This operation returns paginated results. module Amazonka.Shield.ListAttacks -- | See: newListAttacks smart constructor. data ListAttacks ListAttacks' :: Maybe TimeRange -> Maybe Natural -> Maybe Text -> Maybe [Text] -> Maybe TimeRange -> ListAttacks -- | The end of the time period for the attacks. This is a -- timestamp type. The request syntax listing for this call -- indicates a number type, but you can provide the time in any -- valid timestamp format setting. [$sel:endTime:ListAttacks'] :: ListAttacks -> Maybe TimeRange -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. [$sel:maxResults:ListAttacks'] :: ListAttacks -> Maybe Natural -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. [$sel:nextToken:ListAttacks'] :: ListAttacks -> Maybe Text -- | The ARNs (Amazon Resource Names) of the resources that were attacked. -- If you leave this blank, all applicable resources for this account -- will be included. [$sel:resourceArns:ListAttacks'] :: ListAttacks -> Maybe [Text] -- | The start of the time period for the attacks. This is a -- timestamp type. The request syntax listing for this call -- indicates a number type, but you can provide the time in any -- valid timestamp format setting. [$sel:startTime:ListAttacks'] :: ListAttacks -> Maybe TimeRange -- | Create a value of ListAttacks 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: -- -- ListAttacks, listAttacks_endTime - The end of the time -- period for the attacks. This is a timestamp type. The request -- syntax listing for this call indicates a number type, but you -- can provide the time in any valid timestamp format setting. -- -- $sel:maxResults:ListAttacks', listAttacks_maxResults - -- The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. -- -- ListAttacks, listAttacks_nextToken - When you request a -- list of objects from Shield Advanced, if the response does not include -- all of the remaining available objects, Shield Advanced includes a -- NextToken value in the response. You can retrieve the next -- batch of objects by requesting the list again and providing the token -- that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. -- -- ListAttacks, listAttacks_resourceArns - The ARNs (Amazon -- Resource Names) of the resources that were attacked. If you leave this -- blank, all applicable resources for this account will be included. -- -- ListAttacks, listAttacks_startTime - The start of the -- time period for the attacks. This is a timestamp type. The -- request syntax listing for this call indicates a number type, -- but you can provide the time in any valid timestamp format -- setting. newListAttacks :: ListAttacks -- | The end of the time period for the attacks. This is a -- timestamp type. The request syntax listing for this call -- indicates a number type, but you can provide the time in any -- valid timestamp format setting. listAttacks_endTime :: Lens' ListAttacks (Maybe TimeRange) -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listAttacks_maxResults :: Lens' ListAttacks (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listAttacks_nextToken :: Lens' ListAttacks (Maybe Text) -- | The ARNs (Amazon Resource Names) of the resources that were attacked. -- If you leave this blank, all applicable resources for this account -- will be included. listAttacks_resourceArns :: Lens' ListAttacks (Maybe [Text]) -- | The start of the time period for the attacks. This is a -- timestamp type. The request syntax listing for this call -- indicates a number type, but you can provide the time in any -- valid timestamp format setting. listAttacks_startTime :: Lens' ListAttacks (Maybe TimeRange) -- | See: newListAttacksResponse smart constructor. data ListAttacksResponse ListAttacksResponse' :: Maybe [AttackSummary] -> Maybe Text -> Int -> ListAttacksResponse -- | The attack information for the specified time range. [$sel:attackSummaries:ListAttacksResponse'] :: ListAttacksResponse -> Maybe [AttackSummary] -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. [$sel:nextToken:ListAttacksResponse'] :: ListAttacksResponse -> Maybe Text -- | The response's http status code. [$sel:httpStatus:ListAttacksResponse'] :: ListAttacksResponse -> Int -- | Create a value of ListAttacksResponse 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:attackSummaries:ListAttacksResponse', -- listAttacksResponse_attackSummaries - The attack information -- for the specified time range. -- -- ListAttacks, listAttacksResponse_nextToken - When you -- request a list of objects from Shield Advanced, if the response does -- not include all of the remaining available objects, Shield Advanced -- includes a NextToken value in the response. You can retrieve -- the next batch of objects by requesting the list again and providing -- the token that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:httpStatus:ListAttacksResponse', -- listAttacksResponse_httpStatus - The response's http status -- code. newListAttacksResponse :: Int -> ListAttacksResponse -- | The attack information for the specified time range. listAttacksResponse_attackSummaries :: Lens' ListAttacksResponse (Maybe [AttackSummary]) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listAttacksResponse_nextToken :: Lens' ListAttacksResponse (Maybe Text) -- | The response's http status code. listAttacksResponse_httpStatus :: Lens' ListAttacksResponse Int instance GHC.Generics.Generic Amazonka.Shield.ListAttacks.ListAttacks instance GHC.Show.Show Amazonka.Shield.ListAttacks.ListAttacks instance GHC.Read.Read Amazonka.Shield.ListAttacks.ListAttacks instance GHC.Classes.Eq Amazonka.Shield.ListAttacks.ListAttacks instance GHC.Generics.Generic Amazonka.Shield.ListAttacks.ListAttacksResponse instance GHC.Show.Show Amazonka.Shield.ListAttacks.ListAttacksResponse instance GHC.Read.Read Amazonka.Shield.ListAttacks.ListAttacksResponse instance GHC.Classes.Eq Amazonka.Shield.ListAttacks.ListAttacksResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.ListAttacks.ListAttacks instance Control.DeepSeq.NFData Amazonka.Shield.ListAttacks.ListAttacksResponse instance Amazonka.Pager.AWSPager Amazonka.Shield.ListAttacks.ListAttacks instance Data.Hashable.Class.Hashable Amazonka.Shield.ListAttacks.ListAttacks instance Control.DeepSeq.NFData Amazonka.Shield.ListAttacks.ListAttacks instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.ListAttacks.ListAttacks instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.ListAttacks.ListAttacks instance Amazonka.Data.Path.ToPath Amazonka.Shield.ListAttacks.ListAttacks instance Amazonka.Data.Query.ToQuery Amazonka.Shield.ListAttacks.ListAttacks -- | Returns the SubscriptionState, either Active or -- Inactive. module Amazonka.Shield.GetSubscriptionState -- | See: newGetSubscriptionState smart constructor. data GetSubscriptionState GetSubscriptionState' :: GetSubscriptionState -- | Create a value of GetSubscriptionState with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newGetSubscriptionState :: GetSubscriptionState -- | See: newGetSubscriptionStateResponse smart constructor. data GetSubscriptionStateResponse GetSubscriptionStateResponse' :: Int -> SubscriptionState -> GetSubscriptionStateResponse -- | The response's http status code. [$sel:httpStatus:GetSubscriptionStateResponse'] :: GetSubscriptionStateResponse -> Int -- | The status of the subscription. [$sel:subscriptionState:GetSubscriptionStateResponse'] :: GetSubscriptionStateResponse -> SubscriptionState -- | Create a value of GetSubscriptionStateResponse 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:httpStatus:GetSubscriptionStateResponse', -- getSubscriptionStateResponse_httpStatus - The response's http -- status code. -- -- $sel:subscriptionState:GetSubscriptionStateResponse', -- getSubscriptionStateResponse_subscriptionState - The status of -- the subscription. newGetSubscriptionStateResponse :: Int -> SubscriptionState -> GetSubscriptionStateResponse -- | The response's http status code. getSubscriptionStateResponse_httpStatus :: Lens' GetSubscriptionStateResponse Int -- | The status of the subscription. getSubscriptionStateResponse_subscriptionState :: Lens' GetSubscriptionStateResponse SubscriptionState instance GHC.Generics.Generic Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance GHC.Show.Show Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance GHC.Read.Read Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance GHC.Classes.Eq Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance GHC.Generics.Generic Amazonka.Shield.GetSubscriptionState.GetSubscriptionStateResponse instance GHC.Show.Show Amazonka.Shield.GetSubscriptionState.GetSubscriptionStateResponse instance GHC.Read.Read Amazonka.Shield.GetSubscriptionState.GetSubscriptionStateResponse instance GHC.Classes.Eq Amazonka.Shield.GetSubscriptionState.GetSubscriptionStateResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance Control.DeepSeq.NFData Amazonka.Shield.GetSubscriptionState.GetSubscriptionStateResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance Control.DeepSeq.NFData Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance Amazonka.Data.Path.ToPath Amazonka.Shield.GetSubscriptionState.GetSubscriptionState instance Amazonka.Data.Query.ToQuery Amazonka.Shield.GetSubscriptionState.GetSubscriptionState -- | Authorizes the Shield Response Team (SRT) to use email and phone to -- notify contacts about escalations to the SRT and to initiate proactive -- customer support. module Amazonka.Shield.EnableProactiveEngagement -- | See: newEnableProactiveEngagement smart constructor. data EnableProactiveEngagement EnableProactiveEngagement' :: EnableProactiveEngagement -- | Create a value of EnableProactiveEngagement with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newEnableProactiveEngagement :: EnableProactiveEngagement -- | See: newEnableProactiveEngagementResponse smart -- constructor. data EnableProactiveEngagementResponse EnableProactiveEngagementResponse' :: Int -> EnableProactiveEngagementResponse -- | The response's http status code. [$sel:httpStatus:EnableProactiveEngagementResponse'] :: EnableProactiveEngagementResponse -> Int -- | Create a value of EnableProactiveEngagementResponse 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:httpStatus:EnableProactiveEngagementResponse', -- enableProactiveEngagementResponse_httpStatus - The response's -- http status code. newEnableProactiveEngagementResponse :: Int -> EnableProactiveEngagementResponse -- | The response's http status code. enableProactiveEngagementResponse_httpStatus :: Lens' EnableProactiveEngagementResponse Int instance GHC.Generics.Generic Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance GHC.Show.Show Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance GHC.Read.Read Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance GHC.Classes.Eq Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance GHC.Generics.Generic Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagementResponse instance GHC.Show.Show Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagementResponse instance GHC.Read.Read Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagementResponse instance GHC.Classes.Eq Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagementResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance Control.DeepSeq.NFData Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagementResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance Control.DeepSeq.NFData Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance Amazonka.Data.Path.ToPath Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement instance Amazonka.Data.Query.ToQuery Amazonka.Shield.EnableProactiveEngagement.EnableProactiveEngagement -- | Enable the Shield Advanced automatic application layer DDoS mitigation -- for the protected resource. -- -- This feature is available for Amazon CloudFront distributions and -- Application Load Balancers only. -- -- This causes Shield Advanced to create, verify, and apply WAF rules for -- DDoS attacks that it detects for the resource. Shield Advanced applies -- the rules in a Shield rule group inside the web ACL that you've -- associated with the resource. For information about how automatic -- mitigation works and the requirements for using it, see Shield -- Advanced automatic application layer DDoS mitigation. -- -- Don't use this action to make changes to automatic mitigation settings -- when it's already enabled for a resource. Instead, use -- UpdateApplicationLayerAutomaticResponse. -- -- To use this feature, you must associate a web ACL with the protected -- resource. The web ACL must be created using the latest version of WAF -- (v2). You can associate the web ACL through the Shield Advanced -- console at https://console.aws.amazon.com/wafv2/shieldv2#/. For -- more information, see Getting Started with Shield Advanced. You -- can also associate the web ACL to the resource through the WAF console -- or the WAF API, but you must manage Shield Advanced automatic -- mitigation through Shield Advanced. For information about WAF, see -- WAF Developer Guide. module Amazonka.Shield.EnableApplicationLayerAutomaticResponse -- | See: newEnableApplicationLayerAutomaticResponse smart -- constructor. data EnableApplicationLayerAutomaticResponse EnableApplicationLayerAutomaticResponse' :: Text -> ResponseAction -> EnableApplicationLayerAutomaticResponse -- | The ARN (Amazon Resource Name) of the protected resource. [$sel:resourceArn:EnableApplicationLayerAutomaticResponse'] :: EnableApplicationLayerAutomaticResponse -> Text -- | 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. [$sel:action:EnableApplicationLayerAutomaticResponse'] :: EnableApplicationLayerAutomaticResponse -> ResponseAction -- | Create a value of EnableApplicationLayerAutomaticResponse 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: -- -- EnableApplicationLayerAutomaticResponse, -- enableApplicationLayerAutomaticResponse_resourceArn - The ARN -- (Amazon Resource Name) of the protected resource. -- -- EnableApplicationLayerAutomaticResponse, -- enableApplicationLayerAutomaticResponse_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. newEnableApplicationLayerAutomaticResponse :: Text -> ResponseAction -> EnableApplicationLayerAutomaticResponse -- | The ARN (Amazon Resource Name) of the protected resource. enableApplicationLayerAutomaticResponse_resourceArn :: Lens' EnableApplicationLayerAutomaticResponse Text -- | 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. enableApplicationLayerAutomaticResponse_action :: Lens' EnableApplicationLayerAutomaticResponse ResponseAction -- | See: newEnableApplicationLayerAutomaticResponseResponse -- smart constructor. data EnableApplicationLayerAutomaticResponseResponse EnableApplicationLayerAutomaticResponseResponse' :: Int -> EnableApplicationLayerAutomaticResponseResponse -- | The response's http status code. [$sel:httpStatus:EnableApplicationLayerAutomaticResponseResponse'] :: EnableApplicationLayerAutomaticResponseResponse -> Int -- | Create a value of -- EnableApplicationLayerAutomaticResponseResponse 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:httpStatus:EnableApplicationLayerAutomaticResponseResponse', -- enableApplicationLayerAutomaticResponseResponse_httpStatus - -- The response's http status code. newEnableApplicationLayerAutomaticResponseResponse :: Int -> EnableApplicationLayerAutomaticResponseResponse -- | The response's http status code. enableApplicationLayerAutomaticResponseResponse_httpStatus :: Lens' EnableApplicationLayerAutomaticResponseResponse Int instance GHC.Generics.Generic Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance GHC.Show.Show Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance GHC.Read.Read Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance GHC.Classes.Eq Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance GHC.Generics.Generic Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponseResponse instance GHC.Show.Show Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponseResponse instance GHC.Read.Read Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponseResponse instance GHC.Classes.Eq Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponseResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance Control.DeepSeq.NFData Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponseResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance Control.DeepSeq.NFData Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance Amazonka.Data.Path.ToPath Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse instance Amazonka.Data.Query.ToQuery Amazonka.Shield.EnableApplicationLayerAutomaticResponse.EnableApplicationLayerAutomaticResponse -- | Removes health-based detection from the Shield Advanced protection for -- a resource. Shield Advanced health-based detection uses the health of -- your Amazon Web Services resource to improve responsiveness and -- accuracy in attack detection and response. -- -- You define the health check in Route 53 and then associate or -- disassociate it with your Shield Advanced protection. For more -- information, see Shield Advanced Health-Based Detection in the -- WAF Developer Guide. module Amazonka.Shield.DisassociateHealthCheck -- | See: newDisassociateHealthCheck smart constructor. data DisassociateHealthCheck DisassociateHealthCheck' :: Text -> Text -> DisassociateHealthCheck -- | The unique identifier (ID) for the Protection object to remove the -- health check association from. [$sel:protectionId:DisassociateHealthCheck'] :: DisassociateHealthCheck -> Text -- | The Amazon Resource Name (ARN) of the health check that is associated -- with the protection. [$sel:healthCheckArn:DisassociateHealthCheck'] :: DisassociateHealthCheck -> Text -- | Create a value of DisassociateHealthCheck with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:DisassociateHealthCheck', -- disassociateHealthCheck_protectionId - The unique identifier -- (ID) for the Protection object to remove the health check association -- from. -- -- $sel:healthCheckArn:DisassociateHealthCheck', -- disassociateHealthCheck_healthCheckArn - The Amazon Resource -- Name (ARN) of the health check that is associated with the protection. newDisassociateHealthCheck :: Text -> Text -> DisassociateHealthCheck -- | The unique identifier (ID) for the Protection object to remove the -- health check association from. disassociateHealthCheck_protectionId :: Lens' DisassociateHealthCheck Text -- | The Amazon Resource Name (ARN) of the health check that is associated -- with the protection. disassociateHealthCheck_healthCheckArn :: Lens' DisassociateHealthCheck Text -- | See: newDisassociateHealthCheckResponse smart -- constructor. data DisassociateHealthCheckResponse DisassociateHealthCheckResponse' :: Int -> DisassociateHealthCheckResponse -- | The response's http status code. [$sel:httpStatus:DisassociateHealthCheckResponse'] :: DisassociateHealthCheckResponse -> Int -- | Create a value of DisassociateHealthCheckResponse 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:httpStatus:DisassociateHealthCheckResponse', -- disassociateHealthCheckResponse_httpStatus - The response's -- http status code. newDisassociateHealthCheckResponse :: Int -> DisassociateHealthCheckResponse -- | The response's http status code. disassociateHealthCheckResponse_httpStatus :: Lens' DisassociateHealthCheckResponse Int instance GHC.Generics.Generic Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance GHC.Show.Show Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance GHC.Read.Read Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance GHC.Classes.Eq Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance GHC.Generics.Generic Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheckResponse instance GHC.Show.Show Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheckResponse instance GHC.Read.Read Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheckResponse instance GHC.Classes.Eq Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheckResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance Control.DeepSeq.NFData Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheckResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance Control.DeepSeq.NFData Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance Amazonka.Data.Path.ToPath Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DisassociateHealthCheck.DisassociateHealthCheck -- | Removes the Shield Response Team's (SRT) access to your Amazon Web -- Services account. module Amazonka.Shield.DisassociateDRTRole -- | See: newDisassociateDRTRole smart constructor. data DisassociateDRTRole DisassociateDRTRole' :: DisassociateDRTRole -- | Create a value of DisassociateDRTRole with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDisassociateDRTRole :: DisassociateDRTRole -- | See: newDisassociateDRTRoleResponse smart constructor. data DisassociateDRTRoleResponse DisassociateDRTRoleResponse' :: Int -> DisassociateDRTRoleResponse -- | The response's http status code. [$sel:httpStatus:DisassociateDRTRoleResponse'] :: DisassociateDRTRoleResponse -> Int -- | Create a value of DisassociateDRTRoleResponse 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:httpStatus:DisassociateDRTRoleResponse', -- disassociateDRTRoleResponse_httpStatus - The response's http -- status code. newDisassociateDRTRoleResponse :: Int -> DisassociateDRTRoleResponse -- | The response's http status code. disassociateDRTRoleResponse_httpStatus :: Lens' DisassociateDRTRoleResponse Int instance GHC.Generics.Generic Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance GHC.Show.Show Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance GHC.Read.Read Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance GHC.Classes.Eq Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance GHC.Generics.Generic Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRoleResponse instance GHC.Show.Show Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRoleResponse instance GHC.Read.Read Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRoleResponse instance GHC.Classes.Eq Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRoleResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance Control.DeepSeq.NFData Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRoleResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance Control.DeepSeq.NFData Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance Amazonka.Data.Path.ToPath Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DisassociateDRTRole.DisassociateDRTRole -- | Removes the Shield Response Team's (SRT) access to the specified -- Amazon S3 bucket containing the logs that you shared previously. module Amazonka.Shield.DisassociateDRTLogBucket -- | See: newDisassociateDRTLogBucket smart constructor. data DisassociateDRTLogBucket DisassociateDRTLogBucket' :: Text -> DisassociateDRTLogBucket -- | The Amazon S3 bucket that contains the logs that you want to share. [$sel:logBucket:DisassociateDRTLogBucket'] :: DisassociateDRTLogBucket -> Text -- | Create a value of DisassociateDRTLogBucket 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:logBucket:DisassociateDRTLogBucket', -- disassociateDRTLogBucket_logBucket - The Amazon S3 bucket that -- contains the logs that you want to share. newDisassociateDRTLogBucket :: Text -> DisassociateDRTLogBucket -- | The Amazon S3 bucket that contains the logs that you want to share. disassociateDRTLogBucket_logBucket :: Lens' DisassociateDRTLogBucket Text -- | See: newDisassociateDRTLogBucketResponse smart -- constructor. data DisassociateDRTLogBucketResponse DisassociateDRTLogBucketResponse' :: Int -> DisassociateDRTLogBucketResponse -- | The response's http status code. [$sel:httpStatus:DisassociateDRTLogBucketResponse'] :: DisassociateDRTLogBucketResponse -> Int -- | Create a value of DisassociateDRTLogBucketResponse 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:httpStatus:DisassociateDRTLogBucketResponse', -- disassociateDRTLogBucketResponse_httpStatus - The response's -- http status code. newDisassociateDRTLogBucketResponse :: Int -> DisassociateDRTLogBucketResponse -- | The response's http status code. disassociateDRTLogBucketResponse_httpStatus :: Lens' DisassociateDRTLogBucketResponse Int instance GHC.Generics.Generic Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance GHC.Show.Show Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance GHC.Read.Read Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance GHC.Classes.Eq Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance GHC.Generics.Generic Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucketResponse instance GHC.Show.Show Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucketResponse instance GHC.Read.Read Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucketResponse instance GHC.Classes.Eq Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucketResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance Control.DeepSeq.NFData Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucketResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance Control.DeepSeq.NFData Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance Amazonka.Data.Path.ToPath Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DisassociateDRTLogBucket.DisassociateDRTLogBucket -- | Removes authorization from the Shield Response Team (SRT) to notify -- contacts about escalations to the SRT and to initiate proactive -- customer support. module Amazonka.Shield.DisableProactiveEngagement -- | See: newDisableProactiveEngagement smart constructor. data DisableProactiveEngagement DisableProactiveEngagement' :: DisableProactiveEngagement -- | Create a value of DisableProactiveEngagement with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDisableProactiveEngagement :: DisableProactiveEngagement -- | See: newDisableProactiveEngagementResponse smart -- constructor. data DisableProactiveEngagementResponse DisableProactiveEngagementResponse' :: Int -> DisableProactiveEngagementResponse -- | The response's http status code. [$sel:httpStatus:DisableProactiveEngagementResponse'] :: DisableProactiveEngagementResponse -> Int -- | Create a value of DisableProactiveEngagementResponse 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:httpStatus:DisableProactiveEngagementResponse', -- disableProactiveEngagementResponse_httpStatus - The response's -- http status code. newDisableProactiveEngagementResponse :: Int -> DisableProactiveEngagementResponse -- | The response's http status code. disableProactiveEngagementResponse_httpStatus :: Lens' DisableProactiveEngagementResponse Int instance GHC.Generics.Generic Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance GHC.Show.Show Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance GHC.Read.Read Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance GHC.Classes.Eq Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance GHC.Generics.Generic Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagementResponse instance GHC.Show.Show Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagementResponse instance GHC.Read.Read Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagementResponse instance GHC.Classes.Eq Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagementResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance Control.DeepSeq.NFData Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagementResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance Control.DeepSeq.NFData Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance Amazonka.Data.Path.ToPath Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DisableProactiveEngagement.DisableProactiveEngagement -- | Disable the Shield Advanced automatic application layer DDoS -- mitigation feature for the protected resource. This stops Shield -- Advanced from creating, verifying, and applying WAF rules for attacks -- that it detects for the resource. module Amazonka.Shield.DisableApplicationLayerAutomaticResponse -- | See: newDisableApplicationLayerAutomaticResponse smart -- constructor. data DisableApplicationLayerAutomaticResponse DisableApplicationLayerAutomaticResponse' :: Text -> DisableApplicationLayerAutomaticResponse -- | The ARN (Amazon Resource Name) of the protected resource. [$sel:resourceArn:DisableApplicationLayerAutomaticResponse'] :: DisableApplicationLayerAutomaticResponse -> Text -- | Create a value of DisableApplicationLayerAutomaticResponse 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: -- -- DisableApplicationLayerAutomaticResponse, -- disableApplicationLayerAutomaticResponse_resourceArn - The ARN -- (Amazon Resource Name) of the protected resource. newDisableApplicationLayerAutomaticResponse :: Text -> DisableApplicationLayerAutomaticResponse -- | The ARN (Amazon Resource Name) of the protected resource. disableApplicationLayerAutomaticResponse_resourceArn :: Lens' DisableApplicationLayerAutomaticResponse Text -- | See: newDisableApplicationLayerAutomaticResponseResponse -- smart constructor. data DisableApplicationLayerAutomaticResponseResponse DisableApplicationLayerAutomaticResponseResponse' :: Int -> DisableApplicationLayerAutomaticResponseResponse -- | The response's http status code. [$sel:httpStatus:DisableApplicationLayerAutomaticResponseResponse'] :: DisableApplicationLayerAutomaticResponseResponse -> Int -- | Create a value of -- DisableApplicationLayerAutomaticResponseResponse 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:httpStatus:DisableApplicationLayerAutomaticResponseResponse', -- disableApplicationLayerAutomaticResponseResponse_httpStatus - -- The response's http status code. newDisableApplicationLayerAutomaticResponseResponse :: Int -> DisableApplicationLayerAutomaticResponseResponse -- | The response's http status code. disableApplicationLayerAutomaticResponseResponse_httpStatus :: Lens' DisableApplicationLayerAutomaticResponseResponse Int instance GHC.Generics.Generic Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance GHC.Show.Show Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance GHC.Read.Read Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance GHC.Classes.Eq Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance GHC.Generics.Generic Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponseResponse instance GHC.Show.Show Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponseResponse instance GHC.Read.Read Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponseResponse instance GHC.Classes.Eq Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponseResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance Control.DeepSeq.NFData Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponseResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance Control.DeepSeq.NFData Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance Amazonka.Data.Path.ToPath Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DisableApplicationLayerAutomaticResponse.DisableApplicationLayerAutomaticResponse -- | Provides details about the Shield Advanced subscription for an -- account. module Amazonka.Shield.DescribeSubscription -- | See: newDescribeSubscription smart constructor. data DescribeSubscription DescribeSubscription' :: DescribeSubscription -- | Create a value of DescribeSubscription with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeSubscription :: DescribeSubscription -- | See: newDescribeSubscriptionResponse smart constructor. data DescribeSubscriptionResponse DescribeSubscriptionResponse' :: Maybe Subscription -> Int -> DescribeSubscriptionResponse -- | The Shield Advanced subscription details for an account. [$sel:subscription:DescribeSubscriptionResponse'] :: DescribeSubscriptionResponse -> Maybe Subscription -- | The response's http status code. [$sel:httpStatus:DescribeSubscriptionResponse'] :: DescribeSubscriptionResponse -> Int -- | Create a value of DescribeSubscriptionResponse 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:subscription:DescribeSubscriptionResponse', -- describeSubscriptionResponse_subscription - The Shield Advanced -- subscription details for an account. -- -- $sel:httpStatus:DescribeSubscriptionResponse', -- describeSubscriptionResponse_httpStatus - The response's http -- status code. newDescribeSubscriptionResponse :: Int -> DescribeSubscriptionResponse -- | The Shield Advanced subscription details for an account. describeSubscriptionResponse_subscription :: Lens' DescribeSubscriptionResponse (Maybe Subscription) -- | The response's http status code. describeSubscriptionResponse_httpStatus :: Lens' DescribeSubscriptionResponse Int instance GHC.Generics.Generic Amazonka.Shield.DescribeSubscription.DescribeSubscription instance GHC.Show.Show Amazonka.Shield.DescribeSubscription.DescribeSubscription instance GHC.Read.Read Amazonka.Shield.DescribeSubscription.DescribeSubscription instance GHC.Classes.Eq Amazonka.Shield.DescribeSubscription.DescribeSubscription instance GHC.Generics.Generic Amazonka.Shield.DescribeSubscription.DescribeSubscriptionResponse instance GHC.Show.Show Amazonka.Shield.DescribeSubscription.DescribeSubscriptionResponse instance GHC.Read.Read Amazonka.Shield.DescribeSubscription.DescribeSubscriptionResponse instance GHC.Classes.Eq Amazonka.Shield.DescribeSubscription.DescribeSubscriptionResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DescribeSubscription.DescribeSubscription instance Control.DeepSeq.NFData Amazonka.Shield.DescribeSubscription.DescribeSubscriptionResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DescribeSubscription.DescribeSubscription instance Control.DeepSeq.NFData Amazonka.Shield.DescribeSubscription.DescribeSubscription instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DescribeSubscription.DescribeSubscription instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DescribeSubscription.DescribeSubscription instance Amazonka.Data.Path.ToPath Amazonka.Shield.DescribeSubscription.DescribeSubscription instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DescribeSubscription.DescribeSubscription -- | Returns the specification for the specified protection group. module Amazonka.Shield.DescribeProtectionGroup -- | See: newDescribeProtectionGroup smart constructor. data DescribeProtectionGroup DescribeProtectionGroup' :: Text -> DescribeProtectionGroup -- | 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:protectionGroupId:DescribeProtectionGroup'] :: DescribeProtectionGroup -> Text -- | Create a value of DescribeProtectionGroup 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: -- -- DescribeProtectionGroup, -- describeProtectionGroup_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. newDescribeProtectionGroup :: Text -> DescribeProtectionGroup -- | 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. describeProtectionGroup_protectionGroupId :: Lens' DescribeProtectionGroup Text -- | See: newDescribeProtectionGroupResponse smart -- constructor. data DescribeProtectionGroupResponse DescribeProtectionGroupResponse' :: Int -> ProtectionGroup -> DescribeProtectionGroupResponse -- | The response's http status code. [$sel:httpStatus:DescribeProtectionGroupResponse'] :: DescribeProtectionGroupResponse -> Int -- | 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. [$sel:protectionGroup:DescribeProtectionGroupResponse'] :: DescribeProtectionGroupResponse -> ProtectionGroup -- | Create a value of DescribeProtectionGroupResponse 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:httpStatus:DescribeProtectionGroupResponse', -- describeProtectionGroupResponse_httpStatus - The response's -- http status code. -- -- $sel:protectionGroup:DescribeProtectionGroupResponse', -- describeProtectionGroupResponse_protectionGroup - 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. newDescribeProtectionGroupResponse :: Int -> ProtectionGroup -> DescribeProtectionGroupResponse -- | The response's http status code. describeProtectionGroupResponse_httpStatus :: Lens' DescribeProtectionGroupResponse Int -- | 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. describeProtectionGroupResponse_protectionGroup :: Lens' DescribeProtectionGroupResponse ProtectionGroup instance GHC.Generics.Generic Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance GHC.Show.Show Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance GHC.Read.Read Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance GHC.Classes.Eq Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance GHC.Generics.Generic Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroupResponse instance GHC.Show.Show Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroupResponse instance GHC.Read.Read Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroupResponse instance GHC.Classes.Eq Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroupResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroupResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance Amazonka.Data.Path.ToPath Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DescribeProtectionGroup.DescribeProtectionGroup -- | Lists the details of a Protection object. module Amazonka.Shield.DescribeProtection -- | See: newDescribeProtection smart constructor. data DescribeProtection DescribeProtection' :: Maybe Text -> Maybe Text -> DescribeProtection -- | The unique identifier (ID) for the Protection object to describe. You -- must provide either the ResourceArn of the protected resource -- or the ProtectionID of the protection, but not both. [$sel:protectionId:DescribeProtection'] :: DescribeProtection -> Maybe Text -- | The ARN (Amazon Resource Name) of the protected Amazon Web Services -- resource. You must provide either the ResourceArn of the -- protected resource or the ProtectionID of the protection, but -- not both. [$sel:resourceArn:DescribeProtection'] :: DescribeProtection -> Maybe Text -- | Create a value of DescribeProtection with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:DescribeProtection', -- describeProtection_protectionId - The unique identifier (ID) -- for the Protection object to describe. You must provide either the -- ResourceArn of the protected resource or the -- ProtectionID of the protection, but not both. -- -- DescribeProtection, describeProtection_resourceArn - The -- ARN (Amazon Resource Name) of the protected Amazon Web Services -- resource. You must provide either the ResourceArn of the -- protected resource or the ProtectionID of the protection, but -- not both. newDescribeProtection :: DescribeProtection -- | The unique identifier (ID) for the Protection object to describe. You -- must provide either the ResourceArn of the protected resource -- or the ProtectionID of the protection, but not both. describeProtection_protectionId :: Lens' DescribeProtection (Maybe Text) -- | The ARN (Amazon Resource Name) of the protected Amazon Web Services -- resource. You must provide either the ResourceArn of the -- protected resource or the ProtectionID of the protection, but -- not both. describeProtection_resourceArn :: Lens' DescribeProtection (Maybe Text) -- | See: newDescribeProtectionResponse smart constructor. data DescribeProtectionResponse DescribeProtectionResponse' :: Maybe Protection -> Int -> DescribeProtectionResponse -- | The Protection that you requested. [$sel:protection:DescribeProtectionResponse'] :: DescribeProtectionResponse -> Maybe Protection -- | The response's http status code. [$sel:httpStatus:DescribeProtectionResponse'] :: DescribeProtectionResponse -> Int -- | Create a value of DescribeProtectionResponse 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:protection:DescribeProtectionResponse', -- describeProtectionResponse_protection - The Protection that you -- requested. -- -- $sel:httpStatus:DescribeProtectionResponse', -- describeProtectionResponse_httpStatus - The response's http -- status code. newDescribeProtectionResponse :: Int -> DescribeProtectionResponse -- | The Protection that you requested. describeProtectionResponse_protection :: Lens' DescribeProtectionResponse (Maybe Protection) -- | The response's http status code. describeProtectionResponse_httpStatus :: Lens' DescribeProtectionResponse Int instance GHC.Generics.Generic Amazonka.Shield.DescribeProtection.DescribeProtection instance GHC.Show.Show Amazonka.Shield.DescribeProtection.DescribeProtection instance GHC.Read.Read Amazonka.Shield.DescribeProtection.DescribeProtection instance GHC.Classes.Eq Amazonka.Shield.DescribeProtection.DescribeProtection instance GHC.Generics.Generic Amazonka.Shield.DescribeProtection.DescribeProtectionResponse instance GHC.Show.Show Amazonka.Shield.DescribeProtection.DescribeProtectionResponse instance GHC.Read.Read Amazonka.Shield.DescribeProtection.DescribeProtectionResponse instance GHC.Classes.Eq Amazonka.Shield.DescribeProtection.DescribeProtectionResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DescribeProtection.DescribeProtection instance Control.DeepSeq.NFData Amazonka.Shield.DescribeProtection.DescribeProtectionResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DescribeProtection.DescribeProtection instance Control.DeepSeq.NFData Amazonka.Shield.DescribeProtection.DescribeProtection instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DescribeProtection.DescribeProtection instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DescribeProtection.DescribeProtection instance Amazonka.Data.Path.ToPath Amazonka.Shield.DescribeProtection.DescribeProtection instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DescribeProtection.DescribeProtection -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. module Amazonka.Shield.DescribeEmergencyContactSettings -- | See: newDescribeEmergencyContactSettings smart -- constructor. data DescribeEmergencyContactSettings DescribeEmergencyContactSettings' :: DescribeEmergencyContactSettings -- | Create a value of DescribeEmergencyContactSettings with all -- optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeEmergencyContactSettings :: DescribeEmergencyContactSettings -- | See: newDescribeEmergencyContactSettingsResponse smart -- constructor. data DescribeEmergencyContactSettingsResponse DescribeEmergencyContactSettingsResponse' :: Maybe [EmergencyContact] -> Int -> DescribeEmergencyContactSettingsResponse -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. [$sel:emergencyContactList:DescribeEmergencyContactSettingsResponse'] :: DescribeEmergencyContactSettingsResponse -> Maybe [EmergencyContact] -- | The response's http status code. [$sel:httpStatus:DescribeEmergencyContactSettingsResponse'] :: DescribeEmergencyContactSettingsResponse -> Int -- | Create a value of DescribeEmergencyContactSettingsResponse 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:emergencyContactList:DescribeEmergencyContactSettingsResponse', -- describeEmergencyContactSettingsResponse_emergencyContactList - -- A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. -- -- $sel:httpStatus:DescribeEmergencyContactSettingsResponse', -- describeEmergencyContactSettingsResponse_httpStatus - The -- response's http status code. newDescribeEmergencyContactSettingsResponse :: Int -> DescribeEmergencyContactSettingsResponse -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. describeEmergencyContactSettingsResponse_emergencyContactList :: Lens' DescribeEmergencyContactSettingsResponse (Maybe [EmergencyContact]) -- | The response's http status code. describeEmergencyContactSettingsResponse_httpStatus :: Lens' DescribeEmergencyContactSettingsResponse Int instance GHC.Generics.Generic Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance GHC.Show.Show Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance GHC.Read.Read Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance GHC.Classes.Eq Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance GHC.Generics.Generic Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettingsResponse instance GHC.Show.Show Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettingsResponse instance GHC.Read.Read Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettingsResponse instance GHC.Classes.Eq Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettingsResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance Control.DeepSeq.NFData Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettingsResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance Control.DeepSeq.NFData Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance Amazonka.Data.Path.ToPath Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DescribeEmergencyContactSettings.DescribeEmergencyContactSettings -- | Returns the current role and list of Amazon S3 log buckets used by the -- Shield Response Team (SRT) to access your Amazon Web Services account -- while assisting with attack mitigation. module Amazonka.Shield.DescribeDRTAccess -- | See: newDescribeDRTAccess smart constructor. data DescribeDRTAccess DescribeDRTAccess' :: DescribeDRTAccess -- | Create a value of DescribeDRTAccess with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeDRTAccess :: DescribeDRTAccess -- | See: newDescribeDRTAccessResponse smart constructor. data DescribeDRTAccessResponse DescribeDRTAccessResponse' :: Maybe [Text] -> Maybe Text -> Int -> DescribeDRTAccessResponse -- | The list of Amazon S3 buckets accessed by the SRT. [$sel:logBucketList:DescribeDRTAccessResponse'] :: DescribeDRTAccessResponse -> Maybe [Text] -- | The Amazon Resource Name (ARN) of the role the SRT used to access your -- Amazon Web Services account. [$sel:roleArn:DescribeDRTAccessResponse'] :: DescribeDRTAccessResponse -> Maybe Text -- | The response's http status code. [$sel:httpStatus:DescribeDRTAccessResponse'] :: DescribeDRTAccessResponse -> Int -- | Create a value of DescribeDRTAccessResponse 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:logBucketList:DescribeDRTAccessResponse', -- describeDRTAccessResponse_logBucketList - The list of Amazon S3 -- buckets accessed by the SRT. -- -- $sel:roleArn:DescribeDRTAccessResponse', -- describeDRTAccessResponse_roleArn - The Amazon Resource Name -- (ARN) of the role the SRT used to access your Amazon Web Services -- account. -- -- $sel:httpStatus:DescribeDRTAccessResponse', -- describeDRTAccessResponse_httpStatus - The response's http -- status code. newDescribeDRTAccessResponse :: Int -> DescribeDRTAccessResponse -- | The list of Amazon S3 buckets accessed by the SRT. describeDRTAccessResponse_logBucketList :: Lens' DescribeDRTAccessResponse (Maybe [Text]) -- | The Amazon Resource Name (ARN) of the role the SRT used to access your -- Amazon Web Services account. describeDRTAccessResponse_roleArn :: Lens' DescribeDRTAccessResponse (Maybe Text) -- | The response's http status code. describeDRTAccessResponse_httpStatus :: Lens' DescribeDRTAccessResponse Int instance GHC.Generics.Generic Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance GHC.Show.Show Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance GHC.Read.Read Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance GHC.Classes.Eq Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance GHC.Generics.Generic Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccessResponse instance GHC.Show.Show Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccessResponse instance GHC.Read.Read Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccessResponse instance GHC.Classes.Eq Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccessResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance Control.DeepSeq.NFData Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccessResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance Control.DeepSeq.NFData Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance Amazonka.Data.Path.ToPath Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DescribeDRTAccess.DescribeDRTAccess -- | Provides information about the number and type of attacks Shield has -- detected in the last year for all resources that belong to your -- account, regardless of whether you've defined Shield protections for -- them. This operation is available to Shield customers as well as to -- Shield Advanced customers. -- -- The operation returns data for the time range of midnight UTC, one -- year ago, to midnight UTC, today. For example, if the current time is -- 2020-10-26 15:39:32 PDT, equal to 2020-10-26 22:39:32 -- UTC, then the time range for the attack data returned is from -- 2019-10-26 00:00:00 UTC to 2020-10-26 00:00:00 UTC. -- -- The time range indicates the period covered by the attack statistics -- data items. module Amazonka.Shield.DescribeAttackStatistics -- | See: newDescribeAttackStatistics smart constructor. data DescribeAttackStatistics DescribeAttackStatistics' :: DescribeAttackStatistics -- | Create a value of DescribeAttackStatistics with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeAttackStatistics :: DescribeAttackStatistics -- | See: newDescribeAttackStatisticsResponse smart -- constructor. data DescribeAttackStatisticsResponse DescribeAttackStatisticsResponse' :: Int -> TimeRange -> [AttackStatisticsDataItem] -> DescribeAttackStatisticsResponse -- | The response's http status code. [$sel:httpStatus:DescribeAttackStatisticsResponse'] :: DescribeAttackStatisticsResponse -> Int -- | The time range of the attack. [$sel:timeRange:DescribeAttackStatisticsResponse'] :: DescribeAttackStatisticsResponse -> TimeRange -- | The data that describes the attacks detected during the time period. [$sel:dataItems:DescribeAttackStatisticsResponse'] :: DescribeAttackStatisticsResponse -> [AttackStatisticsDataItem] -- | Create a value of DescribeAttackStatisticsResponse 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:httpStatus:DescribeAttackStatisticsResponse', -- describeAttackStatisticsResponse_httpStatus - The response's -- http status code. -- -- $sel:timeRange:DescribeAttackStatisticsResponse', -- describeAttackStatisticsResponse_timeRange - The time range of -- the attack. -- -- $sel:dataItems:DescribeAttackStatisticsResponse', -- describeAttackStatisticsResponse_dataItems - The data that -- describes the attacks detected during the time period. newDescribeAttackStatisticsResponse :: Int -> TimeRange -> DescribeAttackStatisticsResponse -- | The response's http status code. describeAttackStatisticsResponse_httpStatus :: Lens' DescribeAttackStatisticsResponse Int -- | The time range of the attack. describeAttackStatisticsResponse_timeRange :: Lens' DescribeAttackStatisticsResponse TimeRange -- | The data that describes the attacks detected during the time period. describeAttackStatisticsResponse_dataItems :: Lens' DescribeAttackStatisticsResponse [AttackStatisticsDataItem] instance GHC.Generics.Generic Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance GHC.Show.Show Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance GHC.Read.Read Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance GHC.Classes.Eq Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance GHC.Generics.Generic Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatisticsResponse instance GHC.Show.Show Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatisticsResponse instance GHC.Read.Read Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatisticsResponse instance GHC.Classes.Eq Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatisticsResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance Control.DeepSeq.NFData Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatisticsResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance Control.DeepSeq.NFData Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance Amazonka.Data.Path.ToPath Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DescribeAttackStatistics.DescribeAttackStatistics -- | Describes the details of a DDoS attack. module Amazonka.Shield.DescribeAttack -- | See: newDescribeAttack smart constructor. data DescribeAttack DescribeAttack' :: Text -> DescribeAttack -- | The unique identifier (ID) for the attack. [$sel:attackId:DescribeAttack'] :: DescribeAttack -> Text -- | Create a value of DescribeAttack 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: -- -- DescribeAttack, describeAttack_attackId - The unique -- identifier (ID) for the attack. newDescribeAttack :: Text -> DescribeAttack -- | The unique identifier (ID) for the attack. describeAttack_attackId :: Lens' DescribeAttack Text -- | See: newDescribeAttackResponse smart constructor. data DescribeAttackResponse DescribeAttackResponse' :: Maybe AttackDetail -> Int -> DescribeAttackResponse -- | The attack that you requested. [$sel:attack:DescribeAttackResponse'] :: DescribeAttackResponse -> Maybe AttackDetail -- | The response's http status code. [$sel:httpStatus:DescribeAttackResponse'] :: DescribeAttackResponse -> Int -- | Create a value of DescribeAttackResponse 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:attack:DescribeAttackResponse', -- describeAttackResponse_attack - The attack that you requested. -- -- $sel:httpStatus:DescribeAttackResponse', -- describeAttackResponse_httpStatus - The response's http status -- code. newDescribeAttackResponse :: Int -> DescribeAttackResponse -- | The attack that you requested. describeAttackResponse_attack :: Lens' DescribeAttackResponse (Maybe AttackDetail) -- | The response's http status code. describeAttackResponse_httpStatus :: Lens' DescribeAttackResponse Int instance GHC.Generics.Generic Amazonka.Shield.DescribeAttack.DescribeAttack instance GHC.Show.Show Amazonka.Shield.DescribeAttack.DescribeAttack instance GHC.Read.Read Amazonka.Shield.DescribeAttack.DescribeAttack instance GHC.Classes.Eq Amazonka.Shield.DescribeAttack.DescribeAttack instance GHC.Generics.Generic Amazonka.Shield.DescribeAttack.DescribeAttackResponse instance GHC.Show.Show Amazonka.Shield.DescribeAttack.DescribeAttackResponse instance GHC.Read.Read Amazonka.Shield.DescribeAttack.DescribeAttackResponse instance GHC.Classes.Eq Amazonka.Shield.DescribeAttack.DescribeAttackResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DescribeAttack.DescribeAttack instance Control.DeepSeq.NFData Amazonka.Shield.DescribeAttack.DescribeAttackResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DescribeAttack.DescribeAttack instance Control.DeepSeq.NFData Amazonka.Shield.DescribeAttack.DescribeAttack instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DescribeAttack.DescribeAttack instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DescribeAttack.DescribeAttack instance Amazonka.Data.Path.ToPath Amazonka.Shield.DescribeAttack.DescribeAttack instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DescribeAttack.DescribeAttack -- | Removes the specified protection group. module Amazonka.Shield.DeleteProtectionGroup -- | See: newDeleteProtectionGroup smart constructor. data DeleteProtectionGroup DeleteProtectionGroup' :: Text -> DeleteProtectionGroup -- | 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:protectionGroupId:DeleteProtectionGroup'] :: DeleteProtectionGroup -> Text -- | Create a value of DeleteProtectionGroup 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: -- -- DeleteProtectionGroup, -- deleteProtectionGroup_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. newDeleteProtectionGroup :: Text -> DeleteProtectionGroup -- | 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. deleteProtectionGroup_protectionGroupId :: Lens' DeleteProtectionGroup Text -- | See: newDeleteProtectionGroupResponse smart constructor. data DeleteProtectionGroupResponse DeleteProtectionGroupResponse' :: Int -> DeleteProtectionGroupResponse -- | The response's http status code. [$sel:httpStatus:DeleteProtectionGroupResponse'] :: DeleteProtectionGroupResponse -> Int -- | Create a value of DeleteProtectionGroupResponse 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:httpStatus:DeleteProtectionGroupResponse', -- deleteProtectionGroupResponse_httpStatus - The response's http -- status code. newDeleteProtectionGroupResponse :: Int -> DeleteProtectionGroupResponse -- | The response's http status code. deleteProtectionGroupResponse_httpStatus :: Lens' DeleteProtectionGroupResponse Int instance GHC.Generics.Generic Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance GHC.Show.Show Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance GHC.Read.Read Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance GHC.Classes.Eq Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance GHC.Generics.Generic Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroupResponse instance GHC.Show.Show Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroupResponse instance GHC.Read.Read Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroupResponse instance GHC.Classes.Eq Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroupResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroupResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance Amazonka.Data.Path.ToPath Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DeleteProtectionGroup.DeleteProtectionGroup -- | Deletes an Shield Advanced Protection. module Amazonka.Shield.DeleteProtection -- | See: newDeleteProtection smart constructor. data DeleteProtection DeleteProtection' :: Text -> DeleteProtection -- | The unique identifier (ID) for the Protection object to be deleted. [$sel:protectionId:DeleteProtection'] :: DeleteProtection -> Text -- | Create a value of DeleteProtection with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:DeleteProtection', -- deleteProtection_protectionId - The unique identifier (ID) for -- the Protection object to be deleted. newDeleteProtection :: Text -> DeleteProtection -- | The unique identifier (ID) for the Protection object to be deleted. deleteProtection_protectionId :: Lens' DeleteProtection Text -- | See: newDeleteProtectionResponse smart constructor. data DeleteProtectionResponse DeleteProtectionResponse' :: Int -> DeleteProtectionResponse -- | The response's http status code. [$sel:httpStatus:DeleteProtectionResponse'] :: DeleteProtectionResponse -> Int -- | Create a value of DeleteProtectionResponse 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:httpStatus:DeleteProtectionResponse', -- deleteProtectionResponse_httpStatus - The response's http -- status code. newDeleteProtectionResponse :: Int -> DeleteProtectionResponse -- | The response's http status code. deleteProtectionResponse_httpStatus :: Lens' DeleteProtectionResponse Int instance GHC.Generics.Generic Amazonka.Shield.DeleteProtection.DeleteProtection instance GHC.Show.Show Amazonka.Shield.DeleteProtection.DeleteProtection instance GHC.Read.Read Amazonka.Shield.DeleteProtection.DeleteProtection instance GHC.Classes.Eq Amazonka.Shield.DeleteProtection.DeleteProtection instance GHC.Generics.Generic Amazonka.Shield.DeleteProtection.DeleteProtectionResponse instance GHC.Show.Show Amazonka.Shield.DeleteProtection.DeleteProtectionResponse instance GHC.Read.Read Amazonka.Shield.DeleteProtection.DeleteProtectionResponse instance GHC.Classes.Eq Amazonka.Shield.DeleteProtection.DeleteProtectionResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.DeleteProtection.DeleteProtection instance Control.DeepSeq.NFData Amazonka.Shield.DeleteProtection.DeleteProtectionResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.DeleteProtection.DeleteProtection instance Control.DeepSeq.NFData Amazonka.Shield.DeleteProtection.DeleteProtection instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.DeleteProtection.DeleteProtection instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.DeleteProtection.DeleteProtection instance Amazonka.Data.Path.ToPath Amazonka.Shield.DeleteProtection.DeleteProtection instance Amazonka.Data.Query.ToQuery Amazonka.Shield.DeleteProtection.DeleteProtection -- | Activates Shield Advanced for an account. -- -- For accounts that are members of an Organizations organization, Shield -- Advanced subscriptions are billed against the organization's payer -- account, regardless of whether the payer account itself is subscribed. -- -- When you initially create a subscription, your subscription is set to -- be automatically renewed at the end of the existing subscription -- period. You can change this by submitting an -- UpdateSubscription request. module Amazonka.Shield.CreateSubscription -- | See: newCreateSubscription smart constructor. data CreateSubscription CreateSubscription' :: CreateSubscription -- | Create a value of CreateSubscription with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newCreateSubscription :: CreateSubscription -- | See: newCreateSubscriptionResponse smart constructor. data CreateSubscriptionResponse CreateSubscriptionResponse' :: Int -> CreateSubscriptionResponse -- | The response's http status code. [$sel:httpStatus:CreateSubscriptionResponse'] :: CreateSubscriptionResponse -> Int -- | Create a value of CreateSubscriptionResponse 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:httpStatus:CreateSubscriptionResponse', -- createSubscriptionResponse_httpStatus - The response's http -- status code. newCreateSubscriptionResponse :: Int -> CreateSubscriptionResponse -- | The response's http status code. createSubscriptionResponse_httpStatus :: Lens' CreateSubscriptionResponse Int instance GHC.Generics.Generic Amazonka.Shield.CreateSubscription.CreateSubscription instance GHC.Show.Show Amazonka.Shield.CreateSubscription.CreateSubscription instance GHC.Read.Read Amazonka.Shield.CreateSubscription.CreateSubscription instance GHC.Classes.Eq Amazonka.Shield.CreateSubscription.CreateSubscription instance GHC.Generics.Generic Amazonka.Shield.CreateSubscription.CreateSubscriptionResponse instance GHC.Show.Show Amazonka.Shield.CreateSubscription.CreateSubscriptionResponse instance GHC.Read.Read Amazonka.Shield.CreateSubscription.CreateSubscriptionResponse instance GHC.Classes.Eq Amazonka.Shield.CreateSubscription.CreateSubscriptionResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.CreateSubscription.CreateSubscription instance Control.DeepSeq.NFData Amazonka.Shield.CreateSubscription.CreateSubscriptionResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.CreateSubscription.CreateSubscription instance Control.DeepSeq.NFData Amazonka.Shield.CreateSubscription.CreateSubscription instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.CreateSubscription.CreateSubscription instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.CreateSubscription.CreateSubscription instance Amazonka.Data.Path.ToPath Amazonka.Shield.CreateSubscription.CreateSubscription instance Amazonka.Data.Query.ToQuery Amazonka.Shield.CreateSubscription.CreateSubscription -- | Creates a grouping of protected resources so they can be handled as a -- collective. This resource grouping improves the accuracy of detection -- and reduces false positives. module Amazonka.Shield.CreateProtectionGroup -- | See: newCreateProtectionGroup smart constructor. data CreateProtectionGroup CreateProtectionGroup' :: Maybe [Text] -> Maybe ProtectedResourceType -> Maybe [Tag] -> Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> CreateProtectionGroup -- | The Amazon Resource Names (ARNs) 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. [$sel:members:CreateProtectionGroup'] :: CreateProtectionGroup -> Maybe [Text] -- | The resource type to include in the protection group. All protected -- resources of this type are included in the protection group. Newly -- protected resources of this type are automatically added to the 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:resourceType:CreateProtectionGroup'] :: CreateProtectionGroup -> Maybe ProtectedResourceType -- | One or more tag key-value pairs for the protection group. [$sel:tags:CreateProtectionGroup'] :: CreateProtectionGroup -> Maybe [Tag] -- | 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:protectionGroupId:CreateProtectionGroup'] :: CreateProtectionGroup -> Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- [$sel:aggregation:CreateProtectionGroup'] :: CreateProtectionGroup -> ProtectionGroupAggregation -- | 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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. [$sel:pattern':CreateProtectionGroup'] :: CreateProtectionGroup -> ProtectionGroupPattern -- | Create a value of CreateProtectionGroup 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: -- -- CreateProtectionGroup, createProtectionGroup_members - -- The Amazon Resource Names (ARNs) 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. -- -- CreateProtectionGroup, -- createProtectionGroup_resourceType - The resource type to -- include in the protection group. All protected resources of this type -- are included in the protection group. Newly protected resources of -- this type are automatically added to the 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:tags:CreateProtectionGroup', -- createProtectionGroup_tags - One or more tag key-value pairs -- for the protection group. -- -- CreateProtectionGroup, -- createProtectionGroup_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. -- -- CreateProtectionGroup, createProtectionGroup_aggregation -- - Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- -- -- CreateProtectionGroup, createProtectionGroup_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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. newCreateProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> CreateProtectionGroup -- | The Amazon Resource Names (ARNs) 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. createProtectionGroup_members :: Lens' CreateProtectionGroup (Maybe [Text]) -- | The resource type to include in the protection group. All protected -- resources of this type are included in the protection group. Newly -- protected resources of this type are automatically added to the group. -- You must set this when you set Pattern to -- BY_RESOURCE_TYPE and you must not set it for any other -- Pattern setting. createProtectionGroup_resourceType :: Lens' CreateProtectionGroup (Maybe ProtectedResourceType) -- | One or more tag key-value pairs for the protection group. createProtectionGroup_tags :: Lens' CreateProtectionGroup (Maybe [Tag]) -- | 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. createProtectionGroup_protectionGroupId :: Lens' CreateProtectionGroup Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- createProtectionGroup_aggregation :: Lens' CreateProtectionGroup ProtectionGroupAggregation -- | 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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. createProtectionGroup_pattern :: Lens' CreateProtectionGroup ProtectionGroupPattern -- | See: newCreateProtectionGroupResponse smart constructor. data CreateProtectionGroupResponse CreateProtectionGroupResponse' :: Int -> CreateProtectionGroupResponse -- | The response's http status code. [$sel:httpStatus:CreateProtectionGroupResponse'] :: CreateProtectionGroupResponse -> Int -- | Create a value of CreateProtectionGroupResponse 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:httpStatus:CreateProtectionGroupResponse', -- createProtectionGroupResponse_httpStatus - The response's http -- status code. newCreateProtectionGroupResponse :: Int -> CreateProtectionGroupResponse -- | The response's http status code. createProtectionGroupResponse_httpStatus :: Lens' CreateProtectionGroupResponse Int instance GHC.Generics.Generic Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance GHC.Show.Show Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance GHC.Read.Read Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance GHC.Classes.Eq Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance GHC.Generics.Generic Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroupResponse instance GHC.Show.Show Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroupResponse instance GHC.Read.Read Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroupResponse instance GHC.Classes.Eq Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroupResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroupResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance Amazonka.Data.Path.ToPath Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup instance Amazonka.Data.Query.ToQuery Amazonka.Shield.CreateProtectionGroup.CreateProtectionGroup -- | Enables Shield Advanced for a specific Amazon Web Services resource. -- The resource can be an Amazon CloudFront distribution, Amazon Route 53 -- hosted zone, Global Accelerator standard accelerator, Elastic IP -- Address, Application Load Balancer, or a Classic Load Balancer. You -- can protect Amazon EC2 instances and Network Load Balancers by -- association with protected Amazon EC2 Elastic IP addresses. -- -- You can add protection to only a single resource with each -- CreateProtection request. You can add protection to multiple -- resources at once through the Shield Advanced console at -- https://console.aws.amazon.com/wafv2/shieldv2#/. For more -- information see Getting Started with Shield Advanced and -- Adding Shield Advanced protection to Amazon Web Services -- resources. module Amazonka.Shield.CreateProtection -- | See: newCreateProtection smart constructor. data CreateProtection CreateProtection' :: Maybe [Tag] -> Text -> Text -> CreateProtection -- | One or more tag key-value pairs for the Protection object that is -- created. [$sel:tags:CreateProtection'] :: CreateProtection -> Maybe [Tag] -- | Friendly name for the Protection you are creating. [$sel:name:CreateProtection'] :: CreateProtection -> Text -- | The ARN (Amazon Resource Name) of the resource to be protected. -- -- The ARN should be in one of the following formats: -- -- [$sel:resourceArn:CreateProtection'] :: CreateProtection -> Text -- | Create a value of CreateProtection with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:tags:CreateProtection', createProtection_tags - One -- or more tag key-value pairs for the Protection object that is created. -- -- CreateProtection, createProtection_name - Friendly name -- for the Protection you are creating. -- -- CreateProtection, createProtection_resourceArn - The ARN -- (Amazon Resource Name) of the resource to be protected. -- -- The ARN should be in one of the following formats: -- -- newCreateProtection :: Text -> Text -> CreateProtection -- | One or more tag key-value pairs for the Protection object that is -- created. createProtection_tags :: Lens' CreateProtection (Maybe [Tag]) -- | Friendly name for the Protection you are creating. createProtection_name :: Lens' CreateProtection Text -- | The ARN (Amazon Resource Name) of the resource to be protected. -- -- The ARN should be in one of the following formats: -- -- createProtection_resourceArn :: Lens' CreateProtection Text -- | See: newCreateProtectionResponse smart constructor. data CreateProtectionResponse CreateProtectionResponse' :: Maybe Text -> Int -> CreateProtectionResponse -- | The unique identifier (ID) for the Protection object that is created. [$sel:protectionId:CreateProtectionResponse'] :: CreateProtectionResponse -> Maybe Text -- | The response's http status code. [$sel:httpStatus:CreateProtectionResponse'] :: CreateProtectionResponse -> Int -- | Create a value of CreateProtectionResponse with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:CreateProtectionResponse', -- createProtectionResponse_protectionId - The unique identifier -- (ID) for the Protection object that is created. -- -- $sel:httpStatus:CreateProtectionResponse', -- createProtectionResponse_httpStatus - The response's http -- status code. newCreateProtectionResponse :: Int -> CreateProtectionResponse -- | The unique identifier (ID) for the Protection object that is created. createProtectionResponse_protectionId :: Lens' CreateProtectionResponse (Maybe Text) -- | The response's http status code. createProtectionResponse_httpStatus :: Lens' CreateProtectionResponse Int instance GHC.Generics.Generic Amazonka.Shield.CreateProtection.CreateProtection instance GHC.Show.Show Amazonka.Shield.CreateProtection.CreateProtection instance GHC.Read.Read Amazonka.Shield.CreateProtection.CreateProtection instance GHC.Classes.Eq Amazonka.Shield.CreateProtection.CreateProtection instance GHC.Generics.Generic Amazonka.Shield.CreateProtection.CreateProtectionResponse instance GHC.Show.Show Amazonka.Shield.CreateProtection.CreateProtectionResponse instance GHC.Read.Read Amazonka.Shield.CreateProtection.CreateProtectionResponse instance GHC.Classes.Eq Amazonka.Shield.CreateProtection.CreateProtectionResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.CreateProtection.CreateProtection instance Control.DeepSeq.NFData Amazonka.Shield.CreateProtection.CreateProtectionResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.CreateProtection.CreateProtection instance Control.DeepSeq.NFData Amazonka.Shield.CreateProtection.CreateProtection instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.CreateProtection.CreateProtection instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.CreateProtection.CreateProtection instance Amazonka.Data.Path.ToPath Amazonka.Shield.CreateProtection.CreateProtection instance Amazonka.Data.Query.ToQuery Amazonka.Shield.CreateProtection.CreateProtection -- | Initializes proactive engagement and sets the list of contacts for the -- Shield Response Team (SRT) to use. You must provide at least one phone -- number in the emergency contact list. -- -- After you have initialized proactive engagement using this call, to -- disable or enable proactive engagement, use the calls -- DisableProactiveEngagement and -- EnableProactiveEngagement. -- -- This call defines the list of email addresses and phone numbers that -- the SRT can use to contact you for escalations to the SRT and to -- initiate proactive customer support. -- -- The contacts that you provide in the request replace any contacts that -- were already defined. If you already have contacts defined and want to -- use them, retrieve the list using -- DescribeEmergencyContactSettings and then provide it to this -- call. module Amazonka.Shield.AssociateProactiveEngagementDetails -- | See: newAssociateProactiveEngagementDetails smart -- constructor. data AssociateProactiveEngagementDetails AssociateProactiveEngagementDetails' :: [EmergencyContact] -> AssociateProactiveEngagementDetails -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you for escalations to the SRT and to -- initiate proactive customer support. -- -- To enable proactive engagement, the contact list must include at least -- one phone number. -- -- The contacts that you provide here replace any contacts that were -- already defined. If you already have contacts defined and want to use -- them, retrieve the list using -- DescribeEmergencyContactSettings and then provide it here. [$sel:emergencyContactList:AssociateProactiveEngagementDetails'] :: AssociateProactiveEngagementDetails -> [EmergencyContact] -- | Create a value of AssociateProactiveEngagementDetails 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:emergencyContactList:AssociateProactiveEngagementDetails', -- associateProactiveEngagementDetails_emergencyContactList - A -- list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you for escalations to the SRT and to -- initiate proactive customer support. -- -- To enable proactive engagement, the contact list must include at least -- one phone number. -- -- The contacts that you provide here replace any contacts that were -- already defined. If you already have contacts defined and want to use -- them, retrieve the list using -- DescribeEmergencyContactSettings and then provide it here. newAssociateProactiveEngagementDetails :: AssociateProactiveEngagementDetails -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you for escalations to the SRT and to -- initiate proactive customer support. -- -- To enable proactive engagement, the contact list must include at least -- one phone number. -- -- The contacts that you provide here replace any contacts that were -- already defined. If you already have contacts defined and want to use -- them, retrieve the list using -- DescribeEmergencyContactSettings and then provide it here. associateProactiveEngagementDetails_emergencyContactList :: Lens' AssociateProactiveEngagementDetails [EmergencyContact] -- | See: newAssociateProactiveEngagementDetailsResponse -- smart constructor. data AssociateProactiveEngagementDetailsResponse AssociateProactiveEngagementDetailsResponse' :: Int -> AssociateProactiveEngagementDetailsResponse -- | The response's http status code. [$sel:httpStatus:AssociateProactiveEngagementDetailsResponse'] :: AssociateProactiveEngagementDetailsResponse -> Int -- | Create a value of AssociateProactiveEngagementDetailsResponse -- 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:httpStatus:AssociateProactiveEngagementDetailsResponse', -- associateProactiveEngagementDetailsResponse_httpStatus - The -- response's http status code. newAssociateProactiveEngagementDetailsResponse :: Int -> AssociateProactiveEngagementDetailsResponse -- | The response's http status code. associateProactiveEngagementDetailsResponse_httpStatus :: Lens' AssociateProactiveEngagementDetailsResponse Int instance GHC.Generics.Generic Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance GHC.Show.Show Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance GHC.Read.Read Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance GHC.Classes.Eq Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance GHC.Generics.Generic Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetailsResponse instance GHC.Show.Show Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetailsResponse instance GHC.Read.Read Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetailsResponse instance GHC.Classes.Eq Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetailsResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance Control.DeepSeq.NFData Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetailsResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance Control.DeepSeq.NFData Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance Amazonka.Data.Path.ToPath Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails instance Amazonka.Data.Query.ToQuery Amazonka.Shield.AssociateProactiveEngagementDetails.AssociateProactiveEngagementDetails -- | Adds health-based detection to the Shield Advanced protection for a -- resource. Shield Advanced health-based detection uses the health of -- your Amazon Web Services resource to improve responsiveness and -- accuracy in attack detection and response. -- -- You define the health check in Route 53 and then associate it with -- your Shield Advanced protection. For more information, see Shield -- Advanced Health-Based Detection in the WAF Developer Guide. module Amazonka.Shield.AssociateHealthCheck -- | See: newAssociateHealthCheck smart constructor. data AssociateHealthCheck AssociateHealthCheck' :: Text -> Text -> AssociateHealthCheck -- | The unique identifier (ID) for the Protection object to add the health -- check association to. [$sel:protectionId:AssociateHealthCheck'] :: AssociateHealthCheck -> Text -- | The Amazon Resource Name (ARN) of the health check to associate with -- the protection. [$sel:healthCheckArn:AssociateHealthCheck'] :: AssociateHealthCheck -> Text -- | Create a value of AssociateHealthCheck with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:AssociateHealthCheck', -- associateHealthCheck_protectionId - The unique identifier (ID) -- for the Protection object to add the health check association to. -- -- $sel:healthCheckArn:AssociateHealthCheck', -- associateHealthCheck_healthCheckArn - The Amazon Resource Name -- (ARN) of the health check to associate with the protection. newAssociateHealthCheck :: Text -> Text -> AssociateHealthCheck -- | The unique identifier (ID) for the Protection object to add the health -- check association to. associateHealthCheck_protectionId :: Lens' AssociateHealthCheck Text -- | The Amazon Resource Name (ARN) of the health check to associate with -- the protection. associateHealthCheck_healthCheckArn :: Lens' AssociateHealthCheck Text -- | See: newAssociateHealthCheckResponse smart constructor. data AssociateHealthCheckResponse AssociateHealthCheckResponse' :: Int -> AssociateHealthCheckResponse -- | The response's http status code. [$sel:httpStatus:AssociateHealthCheckResponse'] :: AssociateHealthCheckResponse -> Int -- | Create a value of AssociateHealthCheckResponse 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:httpStatus:AssociateHealthCheckResponse', -- associateHealthCheckResponse_httpStatus - The response's http -- status code. newAssociateHealthCheckResponse :: Int -> AssociateHealthCheckResponse -- | The response's http status code. associateHealthCheckResponse_httpStatus :: Lens' AssociateHealthCheckResponse Int instance GHC.Generics.Generic Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance GHC.Show.Show Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance GHC.Read.Read Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance GHC.Classes.Eq Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance GHC.Generics.Generic Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheckResponse instance GHC.Show.Show Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheckResponse instance GHC.Read.Read Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheckResponse instance GHC.Classes.Eq Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheckResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance Control.DeepSeq.NFData Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheckResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance Control.DeepSeq.NFData Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance Amazonka.Data.Path.ToPath Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck instance Amazonka.Data.Query.ToQuery Amazonka.Shield.AssociateHealthCheck.AssociateHealthCheck -- | Authorizes the Shield Response Team (SRT) using the specified role, to -- access your Amazon Web Services account to assist with DDoS attack -- mitigation during potential attacks. This enables the SRT to inspect -- your WAF configuration and create or update WAF rules and web ACLs. -- -- You can associate only one RoleArn with your subscription. If -- you submit an AssociateDRTRole request for an account that -- already has an associated role, the new RoleArn will replace -- the existing RoleArn. -- -- Prior to making the AssociateDRTRole request, you must attach -- the AWSShieldDRTAccessPolicy managed policy to the role that -- you'll specify in the request. You can access this policy in the IAM -- console at AWSShieldDRTAccessPolicy. For more information see -- Adding and removing IAM identity permissions. The role must -- also trust the service principal drt.shield.amazonaws.com. -- For more information, see IAM JSON policy elements: Principal. -- -- The SRT will have access only to your WAF and Shield resources. By -- submitting this request, you authorize the SRT to inspect your WAF and -- Shield configuration and create and update WAF rules and web ACLs on -- your behalf. The SRT takes these actions only if explicitly authorized -- by you. -- -- You must have the iam:PassRole permission to make an -- AssociateDRTRole request. For more information, see -- Granting a user permissions to pass a role to an Amazon Web -- Services service. -- -- To use the services of the SRT and make an AssociateDRTRole -- request, you must be subscribed to the Business Support plan or -- the Enterprise Support plan. module Amazonka.Shield.AssociateDRTRole -- | See: newAssociateDRTRole smart constructor. data AssociateDRTRole AssociateDRTRole' :: Text -> AssociateDRTRole -- | The Amazon Resource Name (ARN) of the role the SRT will use to access -- your Amazon Web Services account. -- -- Prior to making the AssociateDRTRole request, you must attach -- the AWSShieldDRTAccessPolicy managed policy to this role. For -- more information see Attaching and Detaching IAM Policies. [$sel:roleArn:AssociateDRTRole'] :: AssociateDRTRole -> Text -- | Create a value of AssociateDRTRole 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:roleArn:AssociateDRTRole', associateDRTRole_roleArn -- - The Amazon Resource Name (ARN) of the role the SRT will use to -- access your Amazon Web Services account. -- -- Prior to making the AssociateDRTRole request, you must attach -- the AWSShieldDRTAccessPolicy managed policy to this role. For -- more information see Attaching and Detaching IAM Policies. newAssociateDRTRole :: Text -> AssociateDRTRole -- | The Amazon Resource Name (ARN) of the role the SRT will use to access -- your Amazon Web Services account. -- -- Prior to making the AssociateDRTRole request, you must attach -- the AWSShieldDRTAccessPolicy managed policy to this role. For -- more information see Attaching and Detaching IAM Policies. associateDRTRole_roleArn :: Lens' AssociateDRTRole Text -- | See: newAssociateDRTRoleResponse smart constructor. data AssociateDRTRoleResponse AssociateDRTRoleResponse' :: Int -> AssociateDRTRoleResponse -- | The response's http status code. [$sel:httpStatus:AssociateDRTRoleResponse'] :: AssociateDRTRoleResponse -> Int -- | Create a value of AssociateDRTRoleResponse 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:httpStatus:AssociateDRTRoleResponse', -- associateDRTRoleResponse_httpStatus - The response's http -- status code. newAssociateDRTRoleResponse :: Int -> AssociateDRTRoleResponse -- | The response's http status code. associateDRTRoleResponse_httpStatus :: Lens' AssociateDRTRoleResponse Int instance GHC.Generics.Generic Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance GHC.Show.Show Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance GHC.Read.Read Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance GHC.Classes.Eq Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance GHC.Generics.Generic Amazonka.Shield.AssociateDRTRole.AssociateDRTRoleResponse instance GHC.Show.Show Amazonka.Shield.AssociateDRTRole.AssociateDRTRoleResponse instance GHC.Read.Read Amazonka.Shield.AssociateDRTRole.AssociateDRTRoleResponse instance GHC.Classes.Eq Amazonka.Shield.AssociateDRTRole.AssociateDRTRoleResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance Control.DeepSeq.NFData Amazonka.Shield.AssociateDRTRole.AssociateDRTRoleResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance Control.DeepSeq.NFData Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance Amazonka.Data.Path.ToPath Amazonka.Shield.AssociateDRTRole.AssociateDRTRole instance Amazonka.Data.Query.ToQuery Amazonka.Shield.AssociateDRTRole.AssociateDRTRole -- | Authorizes the Shield Response Team (SRT) to access the specified -- Amazon S3 bucket containing log data such as Application Load Balancer -- access logs, CloudFront logs, or logs from third party sources. You -- can associate up to 10 Amazon S3 buckets with your subscription. -- -- To use the services of the SRT and make an -- AssociateDRTLogBucket request, you must be subscribed to the -- Business Support plan or the Enterprise Support plan. module Amazonka.Shield.AssociateDRTLogBucket -- | See: newAssociateDRTLogBucket smart constructor. data AssociateDRTLogBucket AssociateDRTLogBucket' :: Text -> AssociateDRTLogBucket -- | The Amazon S3 bucket that contains the logs that you want to share. [$sel:logBucket:AssociateDRTLogBucket'] :: AssociateDRTLogBucket -> Text -- | Create a value of AssociateDRTLogBucket 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:logBucket:AssociateDRTLogBucket', -- associateDRTLogBucket_logBucket - The Amazon S3 bucket that -- contains the logs that you want to share. newAssociateDRTLogBucket :: Text -> AssociateDRTLogBucket -- | The Amazon S3 bucket that contains the logs that you want to share. associateDRTLogBucket_logBucket :: Lens' AssociateDRTLogBucket Text -- | See: newAssociateDRTLogBucketResponse smart constructor. data AssociateDRTLogBucketResponse AssociateDRTLogBucketResponse' :: Int -> AssociateDRTLogBucketResponse -- | The response's http status code. [$sel:httpStatus:AssociateDRTLogBucketResponse'] :: AssociateDRTLogBucketResponse -> Int -- | Create a value of AssociateDRTLogBucketResponse 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:httpStatus:AssociateDRTLogBucketResponse', -- associateDRTLogBucketResponse_httpStatus - The response's http -- status code. newAssociateDRTLogBucketResponse :: Int -> AssociateDRTLogBucketResponse -- | The response's http status code. associateDRTLogBucketResponse_httpStatus :: Lens' AssociateDRTLogBucketResponse Int instance GHC.Generics.Generic Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance GHC.Show.Show Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance GHC.Read.Read Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance GHC.Classes.Eq Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance GHC.Generics.Generic Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucketResponse instance GHC.Show.Show Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucketResponse instance GHC.Read.Read Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucketResponse instance GHC.Classes.Eq Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucketResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance Control.DeepSeq.NFData Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucketResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance Control.DeepSeq.NFData Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance Amazonka.Data.Path.ToPath Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket instance Amazonka.Data.Query.ToQuery Amazonka.Shield.AssociateDRTLogBucket.AssociateDRTLogBucket -- | Removes tags from a resource in Shield. module Amazonka.Shield.UntagResource -- | See: newUntagResource smart constructor. data UntagResource UntagResource' :: Text -> [Text] -> UntagResource -- | The Amazon Resource Name (ARN) of the resource that you want to remove -- tags from. [$sel:resourceARN:UntagResource'] :: UntagResource -> Text -- | The tag key for each tag that you want to remove from the resource. [$sel:tagKeys:UntagResource'] :: UntagResource -> [Text] -- | Create a value of UntagResource 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:resourceARN:UntagResource', -- untagResource_resourceARN - The Amazon Resource Name (ARN) of -- the resource that you want to remove tags from. -- -- $sel:tagKeys:UntagResource', untagResource_tagKeys - The -- tag key for each tag that you want to remove from the resource. newUntagResource :: Text -> UntagResource -- | The Amazon Resource Name (ARN) of the resource that you want to remove -- tags from. untagResource_resourceARN :: Lens' UntagResource Text -- | The tag key for each tag that you want to remove from the resource. untagResource_tagKeys :: Lens' UntagResource [Text] -- | See: newUntagResourceResponse smart constructor. data UntagResourceResponse UntagResourceResponse' :: Int -> UntagResourceResponse -- | The response's http status code. [$sel:httpStatus:UntagResourceResponse'] :: UntagResourceResponse -> Int -- | Create a value of UntagResourceResponse 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:httpStatus:UntagResourceResponse', -- untagResourceResponse_httpStatus - The response's http status -- code. newUntagResourceResponse :: Int -> UntagResourceResponse -- | The response's http status code. untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int instance GHC.Generics.Generic Amazonka.Shield.UntagResource.UntagResource instance GHC.Show.Show Amazonka.Shield.UntagResource.UntagResource instance GHC.Read.Read Amazonka.Shield.UntagResource.UntagResource instance GHC.Classes.Eq Amazonka.Shield.UntagResource.UntagResource instance GHC.Generics.Generic Amazonka.Shield.UntagResource.UntagResourceResponse instance GHC.Show.Show Amazonka.Shield.UntagResource.UntagResourceResponse instance GHC.Read.Read Amazonka.Shield.UntagResource.UntagResourceResponse instance GHC.Classes.Eq Amazonka.Shield.UntagResource.UntagResourceResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.UntagResource.UntagResource instance Control.DeepSeq.NFData Amazonka.Shield.UntagResource.UntagResourceResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.UntagResource.UntagResource instance Control.DeepSeq.NFData Amazonka.Shield.UntagResource.UntagResource instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.UntagResource.UntagResource instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.UntagResource.UntagResource instance Amazonka.Data.Path.ToPath Amazonka.Shield.UntagResource.UntagResource instance Amazonka.Data.Query.ToQuery Amazonka.Shield.UntagResource.UntagResource -- | Updates an existing Shield Advanced automatic application layer DDoS -- mitigation configuration for the specified resource. module Amazonka.Shield.UpdateApplicationLayerAutomaticResponse -- | See: newUpdateApplicationLayerAutomaticResponse smart -- constructor. data UpdateApplicationLayerAutomaticResponse UpdateApplicationLayerAutomaticResponse' :: Text -> ResponseAction -> UpdateApplicationLayerAutomaticResponse -- | The ARN (Amazon Resource Name) of the resource. [$sel:resourceArn:UpdateApplicationLayerAutomaticResponse'] :: UpdateApplicationLayerAutomaticResponse -> Text -- | 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. [$sel:action:UpdateApplicationLayerAutomaticResponse'] :: UpdateApplicationLayerAutomaticResponse -> ResponseAction -- | Create a value of UpdateApplicationLayerAutomaticResponse 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: -- -- UpdateApplicationLayerAutomaticResponse, -- updateApplicationLayerAutomaticResponse_resourceArn - The ARN -- (Amazon Resource Name) of the resource. -- -- UpdateApplicationLayerAutomaticResponse, -- updateApplicationLayerAutomaticResponse_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. newUpdateApplicationLayerAutomaticResponse :: Text -> ResponseAction -> UpdateApplicationLayerAutomaticResponse -- | The ARN (Amazon Resource Name) of the resource. updateApplicationLayerAutomaticResponse_resourceArn :: Lens' UpdateApplicationLayerAutomaticResponse Text -- | 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. updateApplicationLayerAutomaticResponse_action :: Lens' UpdateApplicationLayerAutomaticResponse ResponseAction -- | See: newUpdateApplicationLayerAutomaticResponseResponse -- smart constructor. data UpdateApplicationLayerAutomaticResponseResponse UpdateApplicationLayerAutomaticResponseResponse' :: Int -> UpdateApplicationLayerAutomaticResponseResponse -- | The response's http status code. [$sel:httpStatus:UpdateApplicationLayerAutomaticResponseResponse'] :: UpdateApplicationLayerAutomaticResponseResponse -> Int -- | Create a value of -- UpdateApplicationLayerAutomaticResponseResponse 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:httpStatus:UpdateApplicationLayerAutomaticResponseResponse', -- updateApplicationLayerAutomaticResponseResponse_httpStatus - -- The response's http status code. newUpdateApplicationLayerAutomaticResponseResponse :: Int -> UpdateApplicationLayerAutomaticResponseResponse -- | The response's http status code. updateApplicationLayerAutomaticResponseResponse_httpStatus :: Lens' UpdateApplicationLayerAutomaticResponseResponse Int instance GHC.Generics.Generic Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance GHC.Show.Show Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance GHC.Read.Read Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance GHC.Classes.Eq Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance GHC.Generics.Generic Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponseResponse instance GHC.Show.Show Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponseResponse instance GHC.Read.Read Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponseResponse instance GHC.Classes.Eq Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponseResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance Control.DeepSeq.NFData Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponseResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance Control.DeepSeq.NFData Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance Amazonka.Data.Path.ToPath Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse instance Amazonka.Data.Query.ToQuery Amazonka.Shield.UpdateApplicationLayerAutomaticResponse.UpdateApplicationLayerAutomaticResponse -- | Updates the details of the list of email addresses and phone numbers -- that the Shield Response Team (SRT) can use to contact you if you have -- proactive engagement enabled, for escalations to the SRT and to -- initiate proactive customer support. module Amazonka.Shield.UpdateEmergencyContactSettings -- | See: newUpdateEmergencyContactSettings smart -- constructor. data UpdateEmergencyContactSettings UpdateEmergencyContactSettings' :: Maybe [EmergencyContact] -> UpdateEmergencyContactSettings -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. -- -- If you have proactive engagement enabled, the contact list must -- include at least one phone number. [$sel:emergencyContactList:UpdateEmergencyContactSettings'] :: UpdateEmergencyContactSettings -> Maybe [EmergencyContact] -- | Create a value of UpdateEmergencyContactSettings 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:emergencyContactList:UpdateEmergencyContactSettings', -- updateEmergencyContactSettings_emergencyContactList - A list of -- email addresses and phone numbers that the Shield Response Team (SRT) -- can use to contact you if you have proactive engagement enabled, for -- escalations to the SRT and to initiate proactive customer support. -- -- If you have proactive engagement enabled, the contact list must -- include at least one phone number. newUpdateEmergencyContactSettings :: UpdateEmergencyContactSettings -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. -- -- If you have proactive engagement enabled, the contact list must -- include at least one phone number. updateEmergencyContactSettings_emergencyContactList :: Lens' UpdateEmergencyContactSettings (Maybe [EmergencyContact]) -- | See: newUpdateEmergencyContactSettingsResponse smart -- constructor. data UpdateEmergencyContactSettingsResponse UpdateEmergencyContactSettingsResponse' :: Int -> UpdateEmergencyContactSettingsResponse -- | The response's http status code. [$sel:httpStatus:UpdateEmergencyContactSettingsResponse'] :: UpdateEmergencyContactSettingsResponse -> Int -- | Create a value of UpdateEmergencyContactSettingsResponse 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:httpStatus:UpdateEmergencyContactSettingsResponse', -- updateEmergencyContactSettingsResponse_httpStatus - The -- response's http status code. newUpdateEmergencyContactSettingsResponse :: Int -> UpdateEmergencyContactSettingsResponse -- | The response's http status code. updateEmergencyContactSettingsResponse_httpStatus :: Lens' UpdateEmergencyContactSettingsResponse Int instance GHC.Generics.Generic Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance GHC.Show.Show Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance GHC.Read.Read Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance GHC.Classes.Eq Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance GHC.Generics.Generic Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettingsResponse instance GHC.Show.Show Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettingsResponse instance GHC.Read.Read Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettingsResponse instance GHC.Classes.Eq Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettingsResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance Control.DeepSeq.NFData Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettingsResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance Control.DeepSeq.NFData Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance Amazonka.Data.Path.ToPath Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings instance Amazonka.Data.Query.ToQuery Amazonka.Shield.UpdateEmergencyContactSettings.UpdateEmergencyContactSettings -- | Updates an existing protection group. A protection group is a grouping -- of protected resources so they can be handled as a collective. This -- resource grouping improves the accuracy of detection and reduces false -- positives. module Amazonka.Shield.UpdateProtectionGroup -- | See: newUpdateProtectionGroup smart constructor. data UpdateProtectionGroup UpdateProtectionGroup' :: Maybe [Text] -> Maybe ProtectedResourceType -> Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> UpdateProtectionGroup -- | The Amazon Resource Names (ARNs) 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. [$sel:members:UpdateProtectionGroup'] :: UpdateProtectionGroup -> Maybe [Text] -- | 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:resourceType:UpdateProtectionGroup'] :: UpdateProtectionGroup -> Maybe ProtectedResourceType -- | 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:protectionGroupId:UpdateProtectionGroup'] :: UpdateProtectionGroup -> Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- [$sel:aggregation:UpdateProtectionGroup'] :: UpdateProtectionGroup -> ProtectionGroupAggregation -- | 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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. [$sel:pattern':UpdateProtectionGroup'] :: UpdateProtectionGroup -> ProtectionGroupPattern -- | Create a value of UpdateProtectionGroup 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: -- -- UpdateProtectionGroup, updateProtectionGroup_members - -- The Amazon Resource Names (ARNs) 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. -- -- UpdateProtectionGroup, -- updateProtectionGroup_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. -- -- UpdateProtectionGroup, -- updateProtectionGroup_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. -- -- UpdateProtectionGroup, updateProtectionGroup_aggregation -- - Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- -- -- UpdateProtectionGroup, updateProtectionGroup_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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. newUpdateProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> UpdateProtectionGroup -- | The Amazon Resource Names (ARNs) 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. updateProtectionGroup_members :: Lens' UpdateProtectionGroup (Maybe [Text]) -- | 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. updateProtectionGroup_resourceType :: Lens' UpdateProtectionGroup (Maybe ProtectedResourceType) -- | 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. updateProtectionGroup_protectionGroupId :: Lens' UpdateProtectionGroup Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- updateProtectionGroup_aggregation :: Lens' UpdateProtectionGroup ProtectionGroupAggregation -- | 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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. updateProtectionGroup_pattern :: Lens' UpdateProtectionGroup ProtectionGroupPattern -- | See: newUpdateProtectionGroupResponse smart constructor. data UpdateProtectionGroupResponse UpdateProtectionGroupResponse' :: Int -> UpdateProtectionGroupResponse -- | The response's http status code. [$sel:httpStatus:UpdateProtectionGroupResponse'] :: UpdateProtectionGroupResponse -> Int -- | Create a value of UpdateProtectionGroupResponse 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:httpStatus:UpdateProtectionGroupResponse', -- updateProtectionGroupResponse_httpStatus - The response's http -- status code. newUpdateProtectionGroupResponse :: Int -> UpdateProtectionGroupResponse -- | The response's http status code. updateProtectionGroupResponse_httpStatus :: Lens' UpdateProtectionGroupResponse Int instance GHC.Generics.Generic Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance GHC.Show.Show Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance GHC.Read.Read Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance GHC.Classes.Eq Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance GHC.Generics.Generic Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroupResponse instance GHC.Show.Show Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroupResponse instance GHC.Read.Read Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroupResponse instance GHC.Classes.Eq Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroupResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroupResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance Control.DeepSeq.NFData Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance Amazonka.Data.Path.ToPath Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup instance Amazonka.Data.Query.ToQuery Amazonka.Shield.UpdateProtectionGroup.UpdateProtectionGroup -- | Updates the details of an existing subscription. Only enter values for -- parameters you want to change. Empty parameters are not updated. -- -- For accounts that are members of an Organizations organization, Shield -- Advanced subscriptions are billed against the organization's payer -- account, regardless of whether the payer account itself is subscribed. module Amazonka.Shield.UpdateSubscription -- | See: newUpdateSubscription smart constructor. data UpdateSubscription UpdateSubscription' :: Maybe AutoRenew -> UpdateSubscription -- | When you initally create a subscription, AutoRenew is set to -- ENABLED. If ENABLED, the subscription will be -- automatically renewed at the end of the existing subscription period. -- 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:autoRenew:UpdateSubscription'] :: UpdateSubscription -> Maybe AutoRenew -- | Create a value of UpdateSubscription 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: -- -- UpdateSubscription, updateSubscription_autoRenew - When -- you initally create a subscription, AutoRenew is set to -- ENABLED. If ENABLED, the subscription will be -- automatically renewed at the end of the existing subscription period. -- 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. newUpdateSubscription :: UpdateSubscription -- | When you initally create a subscription, AutoRenew is set to -- ENABLED. If ENABLED, the subscription will be -- automatically renewed at the end of the existing subscription period. -- 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. updateSubscription_autoRenew :: Lens' UpdateSubscription (Maybe AutoRenew) -- | See: newUpdateSubscriptionResponse smart constructor. data UpdateSubscriptionResponse UpdateSubscriptionResponse' :: Int -> UpdateSubscriptionResponse -- | The response's http status code. [$sel:httpStatus:UpdateSubscriptionResponse'] :: UpdateSubscriptionResponse -> Int -- | Create a value of UpdateSubscriptionResponse 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:httpStatus:UpdateSubscriptionResponse', -- updateSubscriptionResponse_httpStatus - The response's http -- status code. newUpdateSubscriptionResponse :: Int -> UpdateSubscriptionResponse -- | The response's http status code. updateSubscriptionResponse_httpStatus :: Lens' UpdateSubscriptionResponse Int instance GHC.Generics.Generic Amazonka.Shield.UpdateSubscription.UpdateSubscription instance GHC.Show.Show Amazonka.Shield.UpdateSubscription.UpdateSubscription instance GHC.Read.Read Amazonka.Shield.UpdateSubscription.UpdateSubscription instance GHC.Classes.Eq Amazonka.Shield.UpdateSubscription.UpdateSubscription instance GHC.Generics.Generic Amazonka.Shield.UpdateSubscription.UpdateSubscriptionResponse instance GHC.Show.Show Amazonka.Shield.UpdateSubscription.UpdateSubscriptionResponse instance GHC.Read.Read Amazonka.Shield.UpdateSubscription.UpdateSubscriptionResponse instance GHC.Classes.Eq Amazonka.Shield.UpdateSubscription.UpdateSubscriptionResponse instance Amazonka.Types.AWSRequest Amazonka.Shield.UpdateSubscription.UpdateSubscription instance Control.DeepSeq.NFData Amazonka.Shield.UpdateSubscription.UpdateSubscriptionResponse instance Data.Hashable.Class.Hashable Amazonka.Shield.UpdateSubscription.UpdateSubscription instance Control.DeepSeq.NFData Amazonka.Shield.UpdateSubscription.UpdateSubscription instance Amazonka.Data.Headers.ToHeaders Amazonka.Shield.UpdateSubscription.UpdateSubscription instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Shield.UpdateSubscription.UpdateSubscription instance Amazonka.Data.Path.ToPath Amazonka.Shield.UpdateSubscription.UpdateSubscription instance Amazonka.Data.Query.ToQuery Amazonka.Shield.UpdateSubscription.UpdateSubscription module Amazonka.Shield.Lens -- | The Amazon S3 bucket that contains the logs that you want to share. associateDRTLogBucket_logBucket :: Lens' AssociateDRTLogBucket Text -- | The response's http status code. associateDRTLogBucketResponse_httpStatus :: Lens' AssociateDRTLogBucketResponse Int -- | The Amazon Resource Name (ARN) of the role the SRT will use to access -- your Amazon Web Services account. -- -- Prior to making the AssociateDRTRole request, you must attach -- the AWSShieldDRTAccessPolicy managed policy to this role. For -- more information see Attaching and Detaching IAM Policies. associateDRTRole_roleArn :: Lens' AssociateDRTRole Text -- | The response's http status code. associateDRTRoleResponse_httpStatus :: Lens' AssociateDRTRoleResponse Int -- | The unique identifier (ID) for the Protection object to add the health -- check association to. associateHealthCheck_protectionId :: Lens' AssociateHealthCheck Text -- | The Amazon Resource Name (ARN) of the health check to associate with -- the protection. associateHealthCheck_healthCheckArn :: Lens' AssociateHealthCheck Text -- | The response's http status code. associateHealthCheckResponse_httpStatus :: Lens' AssociateHealthCheckResponse Int -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you for escalations to the SRT and to -- initiate proactive customer support. -- -- To enable proactive engagement, the contact list must include at least -- one phone number. -- -- The contacts that you provide here replace any contacts that were -- already defined. If you already have contacts defined and want to use -- them, retrieve the list using -- DescribeEmergencyContactSettings and then provide it here. associateProactiveEngagementDetails_emergencyContactList :: Lens' AssociateProactiveEngagementDetails [EmergencyContact] -- | The response's http status code. associateProactiveEngagementDetailsResponse_httpStatus :: Lens' AssociateProactiveEngagementDetailsResponse Int -- | One or more tag key-value pairs for the Protection object that is -- created. createProtection_tags :: Lens' CreateProtection (Maybe [Tag]) -- | Friendly name for the Protection you are creating. createProtection_name :: Lens' CreateProtection Text -- | The ARN (Amazon Resource Name) of the resource to be protected. -- -- The ARN should be in one of the following formats: -- -- createProtection_resourceArn :: Lens' CreateProtection Text -- | The unique identifier (ID) for the Protection object that is created. createProtectionResponse_protectionId :: Lens' CreateProtectionResponse (Maybe Text) -- | The response's http status code. createProtectionResponse_httpStatus :: Lens' CreateProtectionResponse Int -- | The Amazon Resource Names (ARNs) 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. createProtectionGroup_members :: Lens' CreateProtectionGroup (Maybe [Text]) -- | The resource type to include in the protection group. All protected -- resources of this type are included in the protection group. Newly -- protected resources of this type are automatically added to the group. -- You must set this when you set Pattern to -- BY_RESOURCE_TYPE and you must not set it for any other -- Pattern setting. createProtectionGroup_resourceType :: Lens' CreateProtectionGroup (Maybe ProtectedResourceType) -- | One or more tag key-value pairs for the protection group. createProtectionGroup_tags :: Lens' CreateProtectionGroup (Maybe [Tag]) -- | 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. createProtectionGroup_protectionGroupId :: Lens' CreateProtectionGroup Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- createProtectionGroup_aggregation :: Lens' CreateProtectionGroup ProtectionGroupAggregation -- | 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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. createProtectionGroup_pattern :: Lens' CreateProtectionGroup ProtectionGroupPattern -- | The response's http status code. createProtectionGroupResponse_httpStatus :: Lens' CreateProtectionGroupResponse Int -- | The response's http status code. createSubscriptionResponse_httpStatus :: Lens' CreateSubscriptionResponse Int -- | The unique identifier (ID) for the Protection object to be deleted. deleteProtection_protectionId :: Lens' DeleteProtection Text -- | The response's http status code. deleteProtectionResponse_httpStatus :: Lens' DeleteProtectionResponse Int -- | 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. deleteProtectionGroup_protectionGroupId :: Lens' DeleteProtectionGroup Text -- | The response's http status code. deleteProtectionGroupResponse_httpStatus :: Lens' DeleteProtectionGroupResponse Int -- | The unique identifier (ID) for the attack. describeAttack_attackId :: Lens' DescribeAttack Text -- | The attack that you requested. describeAttackResponse_attack :: Lens' DescribeAttackResponse (Maybe AttackDetail) -- | The response's http status code. describeAttackResponse_httpStatus :: Lens' DescribeAttackResponse Int -- | The response's http status code. describeAttackStatisticsResponse_httpStatus :: Lens' DescribeAttackStatisticsResponse Int -- | The time range of the attack. describeAttackStatisticsResponse_timeRange :: Lens' DescribeAttackStatisticsResponse TimeRange -- | The data that describes the attacks detected during the time period. describeAttackStatisticsResponse_dataItems :: Lens' DescribeAttackStatisticsResponse [AttackStatisticsDataItem] -- | The list of Amazon S3 buckets accessed by the SRT. describeDRTAccessResponse_logBucketList :: Lens' DescribeDRTAccessResponse (Maybe [Text]) -- | The Amazon Resource Name (ARN) of the role the SRT used to access your -- Amazon Web Services account. describeDRTAccessResponse_roleArn :: Lens' DescribeDRTAccessResponse (Maybe Text) -- | The response's http status code. describeDRTAccessResponse_httpStatus :: Lens' DescribeDRTAccessResponse Int -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. describeEmergencyContactSettingsResponse_emergencyContactList :: Lens' DescribeEmergencyContactSettingsResponse (Maybe [EmergencyContact]) -- | The response's http status code. describeEmergencyContactSettingsResponse_httpStatus :: Lens' DescribeEmergencyContactSettingsResponse Int -- | The unique identifier (ID) for the Protection object to describe. You -- must provide either the ResourceArn of the protected resource -- or the ProtectionID of the protection, but not both. describeProtection_protectionId :: Lens' DescribeProtection (Maybe Text) -- | The ARN (Amazon Resource Name) of the protected Amazon Web Services -- resource. You must provide either the ResourceArn of the -- protected resource or the ProtectionID of the protection, but -- not both. describeProtection_resourceArn :: Lens' DescribeProtection (Maybe Text) -- | The Protection that you requested. describeProtectionResponse_protection :: Lens' DescribeProtectionResponse (Maybe Protection) -- | The response's http status code. describeProtectionResponse_httpStatus :: Lens' DescribeProtectionResponse Int -- | 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. describeProtectionGroup_protectionGroupId :: Lens' DescribeProtectionGroup Text -- | The response's http status code. describeProtectionGroupResponse_httpStatus :: Lens' DescribeProtectionGroupResponse Int -- | 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. describeProtectionGroupResponse_protectionGroup :: Lens' DescribeProtectionGroupResponse ProtectionGroup -- | The Shield Advanced subscription details for an account. describeSubscriptionResponse_subscription :: Lens' DescribeSubscriptionResponse (Maybe Subscription) -- | The response's http status code. describeSubscriptionResponse_httpStatus :: Lens' DescribeSubscriptionResponse Int -- | The ARN (Amazon Resource Name) of the protected resource. disableApplicationLayerAutomaticResponse_resourceArn :: Lens' DisableApplicationLayerAutomaticResponse Text -- | The response's http status code. disableApplicationLayerAutomaticResponseResponse_httpStatus :: Lens' DisableApplicationLayerAutomaticResponseResponse Int -- | The response's http status code. disableProactiveEngagementResponse_httpStatus :: Lens' DisableProactiveEngagementResponse Int -- | The Amazon S3 bucket that contains the logs that you want to share. disassociateDRTLogBucket_logBucket :: Lens' DisassociateDRTLogBucket Text -- | The response's http status code. disassociateDRTLogBucketResponse_httpStatus :: Lens' DisassociateDRTLogBucketResponse Int -- | The response's http status code. disassociateDRTRoleResponse_httpStatus :: Lens' DisassociateDRTRoleResponse Int -- | The unique identifier (ID) for the Protection object to remove the -- health check association from. disassociateHealthCheck_protectionId :: Lens' DisassociateHealthCheck Text -- | The Amazon Resource Name (ARN) of the health check that is associated -- with the protection. disassociateHealthCheck_healthCheckArn :: Lens' DisassociateHealthCheck Text -- | The response's http status code. disassociateHealthCheckResponse_httpStatus :: Lens' DisassociateHealthCheckResponse Int -- | The ARN (Amazon Resource Name) of the protected resource. enableApplicationLayerAutomaticResponse_resourceArn :: Lens' EnableApplicationLayerAutomaticResponse Text -- | 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. enableApplicationLayerAutomaticResponse_action :: Lens' EnableApplicationLayerAutomaticResponse ResponseAction -- | The response's http status code. enableApplicationLayerAutomaticResponseResponse_httpStatus :: Lens' EnableApplicationLayerAutomaticResponseResponse Int -- | The response's http status code. enableProactiveEngagementResponse_httpStatus :: Lens' EnableProactiveEngagementResponse Int -- | The response's http status code. getSubscriptionStateResponse_httpStatus :: Lens' GetSubscriptionStateResponse Int -- | The status of the subscription. getSubscriptionStateResponse_subscriptionState :: Lens' GetSubscriptionStateResponse SubscriptionState -- | The end of the time period for the attacks. This is a -- timestamp type. The request syntax listing for this call -- indicates a number type, but you can provide the time in any -- valid timestamp format setting. listAttacks_endTime :: Lens' ListAttacks (Maybe TimeRange) -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listAttacks_maxResults :: Lens' ListAttacks (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listAttacks_nextToken :: Lens' ListAttacks (Maybe Text) -- | The ARNs (Amazon Resource Names) of the resources that were attacked. -- If you leave this blank, all applicable resources for this account -- will be included. listAttacks_resourceArns :: Lens' ListAttacks (Maybe [Text]) -- | The start of the time period for the attacks. This is a -- timestamp type. The request syntax listing for this call -- indicates a number type, but you can provide the time in any -- valid timestamp format setting. listAttacks_startTime :: Lens' ListAttacks (Maybe TimeRange) -- | The attack information for the specified time range. listAttacksResponse_attackSummaries :: Lens' ListAttacksResponse (Maybe [AttackSummary]) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listAttacksResponse_nextToken :: Lens' ListAttacksResponse (Maybe Text) -- | The response's http status code. listAttacksResponse_httpStatus :: Lens' ListAttacksResponse Int -- | 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 specific pattern or -- aggregation settings. 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. listProtectionGroups_inclusionFilters :: Lens' ListProtectionGroups (Maybe InclusionProtectionGroupFilters) -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listProtectionGroups_maxResults :: Lens' ListProtectionGroups (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listProtectionGroups_nextToken :: Lens' ListProtectionGroups (Maybe Text) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listProtectionGroupsResponse_nextToken :: Lens' ListProtectionGroupsResponse (Maybe Text) -- | The response's http status code. listProtectionGroupsResponse_httpStatus :: Lens' ListProtectionGroupsResponse Int listProtectionGroupsResponse_protectionGroups :: Lens' ListProtectionGroupsResponse [ProtectionGroup] -- | 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. listProtections_inclusionFilters :: Lens' ListProtections (Maybe InclusionProtectionFilters) -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listProtections_maxResults :: Lens' ListProtections (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listProtections_nextToken :: Lens' ListProtections (Maybe Text) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listProtectionsResponse_nextToken :: Lens' ListProtectionsResponse (Maybe Text) -- | The array of enabled Protection objects. listProtectionsResponse_protections :: Lens' ListProtectionsResponse (Maybe [Protection]) -- | The response's http status code. listProtectionsResponse_httpStatus :: Lens' ListProtectionsResponse Int -- | The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. listResourcesInProtectionGroup_maxResults :: Lens' ListResourcesInProtectionGroup (Maybe Natural) -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. listResourcesInProtectionGroup_nextToken :: Lens' ListResourcesInProtectionGroup (Maybe Text) -- | 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. listResourcesInProtectionGroup_protectionGroupId :: Lens' ListResourcesInProtectionGroup Text -- | When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. listResourcesInProtectionGroupResponse_nextToken :: Lens' ListResourcesInProtectionGroupResponse (Maybe Text) -- | The response's http status code. listResourcesInProtectionGroupResponse_httpStatus :: Lens' ListResourcesInProtectionGroupResponse Int -- | The Amazon Resource Names (ARNs) of the resources that are included in -- the protection group. listResourcesInProtectionGroupResponse_resourceArns :: Lens' ListResourcesInProtectionGroupResponse [Text] -- | The Amazon Resource Name (ARN) of the resource to get tags for. listTagsForResource_resourceARN :: Lens' ListTagsForResource Text -- | A list of tag key and value pairs associated with the specified -- resource. listTagsForResourceResponse_tags :: Lens' ListTagsForResourceResponse (Maybe [Tag]) -- | The response's http status code. listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int -- | The Amazon Resource Name (ARN) of the resource that you want to add or -- update tags for. tagResource_resourceARN :: Lens' TagResource Text -- | The tags that you want to modify or add to the resource. tagResource_tags :: Lens' TagResource [Tag] -- | The response's http status code. tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int -- | The Amazon Resource Name (ARN) of the resource that you want to remove -- tags from. untagResource_resourceARN :: Lens' UntagResource Text -- | The tag key for each tag that you want to remove from the resource. untagResource_tagKeys :: Lens' UntagResource [Text] -- | The response's http status code. untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int -- | The ARN (Amazon Resource Name) of the resource. updateApplicationLayerAutomaticResponse_resourceArn :: Lens' UpdateApplicationLayerAutomaticResponse Text -- | 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. updateApplicationLayerAutomaticResponse_action :: Lens' UpdateApplicationLayerAutomaticResponse ResponseAction -- | The response's http status code. updateApplicationLayerAutomaticResponseResponse_httpStatus :: Lens' UpdateApplicationLayerAutomaticResponseResponse Int -- | A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. -- -- If you have proactive engagement enabled, the contact list must -- include at least one phone number. updateEmergencyContactSettings_emergencyContactList :: Lens' UpdateEmergencyContactSettings (Maybe [EmergencyContact]) -- | The response's http status code. updateEmergencyContactSettingsResponse_httpStatus :: Lens' UpdateEmergencyContactSettingsResponse Int -- | The Amazon Resource Names (ARNs) 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. updateProtectionGroup_members :: Lens' UpdateProtectionGroup (Maybe [Text]) -- | 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. updateProtectionGroup_resourceType :: Lens' UpdateProtectionGroup (Maybe ProtectedResourceType) -- | 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. updateProtectionGroup_protectionGroupId :: Lens' UpdateProtectionGroup Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- updateProtectionGroup_aggregation :: Lens' UpdateProtectionGroup ProtectionGroupAggregation -- | 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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. updateProtectionGroup_pattern :: Lens' UpdateProtectionGroup ProtectionGroupPattern -- | The response's http status code. updateProtectionGroupResponse_httpStatus :: Lens' UpdateProtectionGroupResponse Int -- | When you initally create a subscription, AutoRenew is set to -- ENABLED. If ENABLED, the subscription will be -- automatically renewed at the end of the existing subscription period. -- 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. updateSubscription_autoRenew :: Lens' UpdateSubscription (Maybe AutoRenew) -- | The response's http status code. updateSubscriptionResponse_httpStatus :: Lens' UpdateSubscriptionResponse Int -- | Indicates whether automatic application layer DDoS mitigation is -- enabled for the protection. applicationLayerAutomaticResponseConfiguration_status :: Lens' ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseStatus -- | 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_action :: Lens' ApplicationLayerAutomaticResponseConfiguration ResponseAction -- | List of counters that describe the attack for the specified time -- period. attackDetail_attackCounters :: Lens' AttackDetail (Maybe [SummarizedCounter]) -- | The unique identifier (ID) of the attack. attackDetail_attackId :: Lens' AttackDetail (Maybe Text) -- | 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_attackProperties :: Lens' AttackDetail (Maybe [AttackProperty]) -- | The time the attack ended, in Unix time in seconds. attackDetail_endTime :: Lens' AttackDetail (Maybe UTCTime) -- | List of mitigation actions taken for the attack. attackDetail_mitigations :: Lens' AttackDetail (Maybe [Mitigation]) -- | The ARN (Amazon Resource Name) of the resource that was attacked. attackDetail_resourceArn :: Lens' AttackDetail (Maybe Text) -- | The time the attack started, in Unix time in seconds. attackDetail_startTime :: Lens' AttackDetail (Maybe UTCTime) -- | If applicable, additional detail about the resource being attacked, -- for example, IP address or URL. attackDetail_subResources :: Lens' AttackDetail (Maybe [SubResourceSummary]) -- | 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_attackLayer :: Lens' AttackProperty (Maybe AttackLayer) -- | 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_attackPropertyIdentifier :: Lens' AttackProperty (Maybe AttackPropertyIdentifier) -- | 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_topContributors :: Lens' AttackProperty (Maybe [Contributor]) -- | The total contributions made to this Shield event by all contributors. attackProperty_total :: Lens' AttackProperty (Maybe Integer) -- | The unit used for the Contributor Value property. attackProperty_unit :: Lens' AttackProperty (Maybe Unit) -- | Information about the volume of attacks during the time period. If the -- accompanying AttackCount is zero, this setting might be -- empty. attackStatisticsDataItem_attackVolume :: Lens' AttackStatisticsDataItem (Maybe AttackVolume) -- | The number of attacks detected during the time period. This is always -- present, but might be zero. attackStatisticsDataItem_attackCount :: Lens' AttackStatisticsDataItem Integer -- | The unique identifier (ID) of the attack. attackSummary_attackId :: Lens' AttackSummary (Maybe Text) -- | The list of attacks for a specified time period. attackSummary_attackVectors :: Lens' AttackSummary (Maybe [AttackVectorDescription]) -- | The end time of the attack, in Unix time in seconds. attackSummary_endTime :: Lens' AttackSummary (Maybe UTCTime) -- | The ARN (Amazon Resource Name) of the resource that was attacked. attackSummary_resourceArn :: Lens' AttackSummary (Maybe Text) -- | The start time of the attack, in Unix time in seconds. attackSummary_startTime :: Lens' AttackSummary (Maybe UTCTime) -- | The attack type. Valid values: -- -- attackVectorDescription_vectorType :: Lens' AttackVectorDescription Text -- | A statistics object that uses bits per second as the unit. This is -- included for network level attacks. attackVolume_bitsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | A statistics object that uses packets per second as the unit. This is -- included for network level attacks. attackVolume_packetsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | 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_requestsPerSecond :: Lens' AttackVolume (Maybe AttackVolumeStatistics) -- | The maximum attack volume observed for the given unit. attackVolumeStatistics_max :: Lens' AttackVolumeStatistics Double -- | 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_name :: Lens' Contributor (Maybe Text) -- | The contribution of this contributor expressed in Protection units. -- For example 10,000. contributor_value :: Lens' Contributor (Maybe Integer) -- | Additional notes regarding the contact. emergencyContact_contactNotes :: Lens' EmergencyContact (Maybe Text) -- | The phone number for the contact. emergencyContact_phoneNumber :: Lens' EmergencyContact (Maybe Text) -- | The email address for the contact. emergencyContact_emailAddress :: Lens' EmergencyContact Text -- | The name of the protection that you want to retrieve. inclusionProtectionFilters_protectionNames :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) -- | The ARN (Amazon Resource Name) of the resource whose protection you -- want to retrieve. inclusionProtectionFilters_resourceArns :: Lens' InclusionProtectionFilters (Maybe (NonEmpty Text)) -- | The type of protected resource whose protections you want to retrieve. inclusionProtectionFilters_resourceTypes :: Lens' InclusionProtectionFilters (Maybe (NonEmpty ProtectedResourceType)) -- | The aggregation setting of the protection groups that you want to -- retrieve. inclusionProtectionGroupFilters_aggregations :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupAggregation)) -- | The pattern specification of the protection groups that you want to -- retrieve. inclusionProtectionGroupFilters_patterns :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectionGroupPattern)) -- | The ID of the protection group that you want to retrieve. inclusionProtectionGroupFilters_protectionGroupIds :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty Text)) -- | 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_resourceTypes :: Lens' InclusionProtectionGroupFilters (Maybe (NonEmpty ProtectedResourceType)) -- | The maximum number of protections that can be created for the -- specified Type. limit_max :: Lens' Limit (Maybe Integer) -- | The type of protection. limit_type :: Lens' Limit (Maybe Text) -- | The name of the mitigation taken for this attack. mitigation_mitigationName :: Lens' Mitigation (Maybe Text) -- | 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_applicationLayerAutomaticResponseConfiguration :: Lens' Protection (Maybe ApplicationLayerAutomaticResponseConfiguration) -- | The unique identifier (ID) for the Route 53 health check that's -- associated with the protection. protection_healthCheckIds :: Lens' Protection (Maybe [Text]) -- | The unique identifier (ID) of the protection. protection_id :: Lens' Protection (Maybe Text) -- | The name of the protection. For example, My CloudFront -- distributions. protection_name :: Lens' Protection (Maybe Text) -- | The ARN (Amazon Resource Name) of the protection. protection_protectionArn :: Lens' Protection (Maybe Text) -- | The ARN (Amazon Resource Name) of the Amazon Web Services resource -- that is protected. protection_resourceArn :: Lens' Protection (Maybe Text) -- | The ARN (Amazon Resource Name) of the protection group. protectionGroup_protectionGroupArn :: Lens' ProtectionGroup (Maybe Text) -- | 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_resourceType :: Lens' ProtectionGroup (Maybe ProtectedResourceType) -- | 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_protectionGroupId :: Lens' ProtectionGroup Text -- | Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- protectionGroup_aggregation :: Lens' ProtectionGroup ProtectionGroupAggregation -- | 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_pattern :: Lens' ProtectionGroup ProtectionGroupPattern -- | 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_members :: Lens' ProtectionGroup [Text] -- | The maximum number of resources you can specify for a single arbitrary -- pattern in a protection group. protectionGroupArbitraryPatternLimits_maxMembers :: Lens' ProtectionGroupArbitraryPatternLimits Integer -- | The maximum number of protection groups that you can have at one time. protectionGroupLimits_maxProtectionGroups :: Lens' ProtectionGroupLimits Integer -- | Limits settings by pattern type in the protection groups for your -- subscription. protectionGroupLimits_patternTypeLimits :: Lens' ProtectionGroupLimits ProtectionGroupPatternTypeLimits -- | Limits settings on protection groups with arbitrary pattern type. protectionGroupPatternTypeLimits_arbitraryPatternLimits :: Lens' ProtectionGroupPatternTypeLimits ProtectionGroupArbitraryPatternLimits -- | The maximum number of resource types that you can specify in a -- protection. protectionLimits_protectedResourceTypeLimits :: Lens' ProtectionLimits [Limit] -- | 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_block :: Lens' ResponseAction (Maybe BlockAction) -- | 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_count :: Lens' ResponseAction (Maybe CountAction) -- | The list of attack types and associated counters. subResourceSummary_attackVectors :: Lens' SubResourceSummary (Maybe [SummarizedAttackVector]) -- | The counters that describe the details of the attack. subResourceSummary_counters :: Lens' SubResourceSummary (Maybe [SummarizedCounter]) -- | The unique identifier (ID) of the SubResource. subResourceSummary_id :: Lens' SubResourceSummary (Maybe Text) -- | The SubResource type. subResourceSummary_type :: Lens' SubResourceSummary (Maybe SubResourceType) -- | 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_autoRenew :: Lens' Subscription (Maybe AutoRenew) -- | The date and time your subscription will end. subscription_endTime :: Lens' Subscription (Maybe UTCTime) -- | Specifies how many protections of a given type you can create. subscription_limits :: Lens' Subscription (Maybe [Limit]) -- | 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_proactiveEngagementStatus :: Lens' Subscription (Maybe ProactiveEngagementStatus) -- | The start time of the subscription, in Unix time in seconds. subscription_startTime :: Lens' Subscription (Maybe UTCTime) -- | The ARN (Amazon Resource Name) of the subscription. subscription_subscriptionArn :: Lens' Subscription (Maybe Text) -- | The length, in seconds, of the Shield Advanced subscription for the -- account. subscription_timeCommitmentInSeconds :: Lens' Subscription (Maybe Natural) -- | Limits settings for your subscription. subscription_subscriptionLimits :: Lens' Subscription SubscriptionLimits -- | Limits settings on protections for your subscription. subscriptionLimits_protectionLimits :: Lens' SubscriptionLimits ProtectionLimits -- | Limits settings on protection groups for your subscription. subscriptionLimits_protectionGroupLimits :: Lens' SubscriptionLimits ProtectionGroupLimits -- | The list of counters that describe the details of the attack. summarizedAttackVector_vectorCounters :: Lens' SummarizedAttackVector (Maybe [SummarizedCounter]) -- | The attack type, for example, SNMP reflection or SYN flood. summarizedAttackVector_vectorType :: Lens' SummarizedAttackVector Text -- | The average value of the counter for a specified time period. summarizedCounter_average :: Lens' SummarizedCounter (Maybe Double) -- | The maximum value of the counter for a specified time period. summarizedCounter_max :: Lens' SummarizedCounter (Maybe Double) -- | The number of counters for a specified time period. summarizedCounter_n :: Lens' SummarizedCounter (Maybe Int) -- | The counter name. summarizedCounter_name :: Lens' SummarizedCounter (Maybe Text) -- | The total of counter values for a specified time period. summarizedCounter_sum :: Lens' SummarizedCounter (Maybe Double) -- | The unit of the counters. summarizedCounter_unit :: Lens' SummarizedCounter (Maybe Text) -- | 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_key :: Lens' Tag (Maybe Text) -- | 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_value :: Lens' Tag (Maybe Text) -- | The start time, in Unix time in seconds. timeRange_fromInclusive :: Lens' TimeRange (Maybe UTCTime) -- | The end time, in Unix time in seconds. timeRange_toExclusive :: Lens' TimeRange (Maybe UTCTime) module Amazonka.Shield.Waiters -- | Derived from API version 2016-06-02 of the AWS service -- descriptions, licensed under Apache 2.0. -- -- Shield Advanced -- -- This is the Shield Advanced API Reference. This guide is for -- developers who need detailed information about the Shield Advanced API -- actions, data types, and errors. For detailed information about WAF -- and Shield Advanced features and an overview of how to use the WAF and -- Shield Advanced APIs, see the WAF and Shield Developer Guide. module Amazonka.Shield -- | API version 2016-06-02 of the Amazon Shield SDK -- configuration. defaultService :: Service -- | Exception that indicates the specified AttackId does not -- exist, or the requester does not have the appropriate permissions to -- access the AttackId. _AccessDeniedException :: AsError a => Fold a ServiceError -- | 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. _AccessDeniedForDependencyException :: AsError a => Fold a ServiceError -- | Exception that indicates that a problem occurred with the service -- infrastructure. You can retry the request. _InternalErrorException :: AsError a => Fold a ServiceError -- | Exception that indicates that the operation would not cause any change -- to occur. _InvalidOperationException :: AsError a => Fold a ServiceError -- | 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. _InvalidPaginationTokenException :: AsError a => Fold a ServiceError -- | Exception that indicates that the parameters passed to the API are -- invalid. If available, this exception includes details in additional -- properties. _InvalidParameterException :: AsError a => Fold a ServiceError -- | Exception that indicates that the resource is invalid. You might not -- have access to the resource, or the resource might not exist. _InvalidResourceException :: AsError a => Fold a ServiceError -- | Exception that indicates that the operation would exceed a limit. _LimitsExceededException :: AsError a => Fold a ServiceError -- | 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. _LockedSubscriptionException :: AsError a => Fold a ServiceError -- | The ARN of the role that you specified does not exist. _NoAssociatedRoleException :: AsError a => Fold a ServiceError -- | Exception that indicates that the resource state has been modified by -- another client. Retrieve the resource and then retry your request. _OptimisticLockException :: AsError a => Fold a ServiceError -- | Exception indicating the specified resource already exists. If -- available, this exception includes details in additional properties. _ResourceAlreadyExistsException :: AsError a => Fold a ServiceError -- | Exception indicating the specified resource does not exist. If -- available, this exception includes details in additional properties. _ResourceNotFoundException :: AsError a => Fold a ServiceError -- | See: newAssociateDRTLogBucket smart constructor. data AssociateDRTLogBucket AssociateDRTLogBucket' :: Text -> AssociateDRTLogBucket -- | Create a value of AssociateDRTLogBucket 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:logBucket:AssociateDRTLogBucket', -- associateDRTLogBucket_logBucket - The Amazon S3 bucket that -- contains the logs that you want to share. newAssociateDRTLogBucket :: Text -> AssociateDRTLogBucket -- | See: newAssociateDRTLogBucketResponse smart constructor. data AssociateDRTLogBucketResponse AssociateDRTLogBucketResponse' :: Int -> AssociateDRTLogBucketResponse -- | Create a value of AssociateDRTLogBucketResponse 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:httpStatus:AssociateDRTLogBucketResponse', -- associateDRTLogBucketResponse_httpStatus - The response's http -- status code. newAssociateDRTLogBucketResponse :: Int -> AssociateDRTLogBucketResponse -- | See: newAssociateDRTRole smart constructor. data AssociateDRTRole AssociateDRTRole' :: Text -> AssociateDRTRole -- | Create a value of AssociateDRTRole 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:roleArn:AssociateDRTRole', associateDRTRole_roleArn -- - The Amazon Resource Name (ARN) of the role the SRT will use to -- access your Amazon Web Services account. -- -- Prior to making the AssociateDRTRole request, you must attach -- the AWSShieldDRTAccessPolicy managed policy to this role. For -- more information see Attaching and Detaching IAM Policies. newAssociateDRTRole :: Text -> AssociateDRTRole -- | See: newAssociateDRTRoleResponse smart constructor. data AssociateDRTRoleResponse AssociateDRTRoleResponse' :: Int -> AssociateDRTRoleResponse -- | Create a value of AssociateDRTRoleResponse 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:httpStatus:AssociateDRTRoleResponse', -- associateDRTRoleResponse_httpStatus - The response's http -- status code. newAssociateDRTRoleResponse :: Int -> AssociateDRTRoleResponse -- | See: newAssociateHealthCheck smart constructor. data AssociateHealthCheck AssociateHealthCheck' :: Text -> Text -> AssociateHealthCheck -- | Create a value of AssociateHealthCheck with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:AssociateHealthCheck', -- associateHealthCheck_protectionId - The unique identifier (ID) -- for the Protection object to add the health check association to. -- -- $sel:healthCheckArn:AssociateHealthCheck', -- associateHealthCheck_healthCheckArn - The Amazon Resource Name -- (ARN) of the health check to associate with the protection. newAssociateHealthCheck :: Text -> Text -> AssociateHealthCheck -- | See: newAssociateHealthCheckResponse smart constructor. data AssociateHealthCheckResponse AssociateHealthCheckResponse' :: Int -> AssociateHealthCheckResponse -- | Create a value of AssociateHealthCheckResponse 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:httpStatus:AssociateHealthCheckResponse', -- associateHealthCheckResponse_httpStatus - The response's http -- status code. newAssociateHealthCheckResponse :: Int -> AssociateHealthCheckResponse -- | See: newAssociateProactiveEngagementDetails smart -- constructor. data AssociateProactiveEngagementDetails AssociateProactiveEngagementDetails' :: [EmergencyContact] -> AssociateProactiveEngagementDetails -- | Create a value of AssociateProactiveEngagementDetails 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:emergencyContactList:AssociateProactiveEngagementDetails', -- associateProactiveEngagementDetails_emergencyContactList - A -- list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you for escalations to the SRT and to -- initiate proactive customer support. -- -- To enable proactive engagement, the contact list must include at least -- one phone number. -- -- The contacts that you provide here replace any contacts that were -- already defined. If you already have contacts defined and want to use -- them, retrieve the list using -- DescribeEmergencyContactSettings and then provide it here. newAssociateProactiveEngagementDetails :: AssociateProactiveEngagementDetails -- | See: newAssociateProactiveEngagementDetailsResponse -- smart constructor. data AssociateProactiveEngagementDetailsResponse AssociateProactiveEngagementDetailsResponse' :: Int -> AssociateProactiveEngagementDetailsResponse -- | Create a value of AssociateProactiveEngagementDetailsResponse -- 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:httpStatus:AssociateProactiveEngagementDetailsResponse', -- associateProactiveEngagementDetailsResponse_httpStatus - The -- response's http status code. newAssociateProactiveEngagementDetailsResponse :: Int -> AssociateProactiveEngagementDetailsResponse -- | See: newCreateProtection smart constructor. data CreateProtection CreateProtection' :: Maybe [Tag] -> Text -> Text -> CreateProtection -- | Create a value of CreateProtection with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:tags:CreateProtection', createProtection_tags - One -- or more tag key-value pairs for the Protection object that is created. -- -- CreateProtection, createProtection_name - Friendly name -- for the Protection you are creating. -- -- CreateProtection, createProtection_resourceArn - The ARN -- (Amazon Resource Name) of the resource to be protected. -- -- The ARN should be in one of the following formats: -- -- newCreateProtection :: Text -> Text -> CreateProtection -- | See: newCreateProtectionResponse smart constructor. data CreateProtectionResponse CreateProtectionResponse' :: Maybe Text -> Int -> CreateProtectionResponse -- | Create a value of CreateProtectionResponse with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:CreateProtectionResponse', -- createProtectionResponse_protectionId - The unique identifier -- (ID) for the Protection object that is created. -- -- $sel:httpStatus:CreateProtectionResponse', -- createProtectionResponse_httpStatus - The response's http -- status code. newCreateProtectionResponse :: Int -> CreateProtectionResponse -- | See: newCreateProtectionGroup smart constructor. data CreateProtectionGroup CreateProtectionGroup' :: Maybe [Text] -> Maybe ProtectedResourceType -> Maybe [Tag] -> Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> CreateProtectionGroup -- | Create a value of CreateProtectionGroup 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: -- -- CreateProtectionGroup, createProtectionGroup_members - -- The Amazon Resource Names (ARNs) 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. -- -- CreateProtectionGroup, -- createProtectionGroup_resourceType - The resource type to -- include in the protection group. All protected resources of this type -- are included in the protection group. Newly protected resources of -- this type are automatically added to the 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:tags:CreateProtectionGroup', -- createProtectionGroup_tags - One or more tag key-value pairs -- for the protection group. -- -- CreateProtectionGroup, -- createProtectionGroup_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. -- -- CreateProtectionGroup, createProtectionGroup_aggregation -- - Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- -- -- CreateProtectionGroup, createProtectionGroup_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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. newCreateProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> CreateProtectionGroup -- | See: newCreateProtectionGroupResponse smart constructor. data CreateProtectionGroupResponse CreateProtectionGroupResponse' :: Int -> CreateProtectionGroupResponse -- | Create a value of CreateProtectionGroupResponse 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:httpStatus:CreateProtectionGroupResponse', -- createProtectionGroupResponse_httpStatus - The response's http -- status code. newCreateProtectionGroupResponse :: Int -> CreateProtectionGroupResponse -- | See: newCreateSubscription smart constructor. data CreateSubscription CreateSubscription' :: CreateSubscription -- | Create a value of CreateSubscription with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newCreateSubscription :: CreateSubscription -- | See: newCreateSubscriptionResponse smart constructor. data CreateSubscriptionResponse CreateSubscriptionResponse' :: Int -> CreateSubscriptionResponse -- | Create a value of CreateSubscriptionResponse 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:httpStatus:CreateSubscriptionResponse', -- createSubscriptionResponse_httpStatus - The response's http -- status code. newCreateSubscriptionResponse :: Int -> CreateSubscriptionResponse -- | See: newDeleteProtection smart constructor. data DeleteProtection DeleteProtection' :: Text -> DeleteProtection -- | Create a value of DeleteProtection with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:DeleteProtection', -- deleteProtection_protectionId - The unique identifier (ID) for -- the Protection object to be deleted. newDeleteProtection :: Text -> DeleteProtection -- | See: newDeleteProtectionResponse smart constructor. data DeleteProtectionResponse DeleteProtectionResponse' :: Int -> DeleteProtectionResponse -- | Create a value of DeleteProtectionResponse 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:httpStatus:DeleteProtectionResponse', -- deleteProtectionResponse_httpStatus - The response's http -- status code. newDeleteProtectionResponse :: Int -> DeleteProtectionResponse -- | See: newDeleteProtectionGroup smart constructor. data DeleteProtectionGroup DeleteProtectionGroup' :: Text -> DeleteProtectionGroup -- | Create a value of DeleteProtectionGroup 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: -- -- DeleteProtectionGroup, -- deleteProtectionGroup_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. newDeleteProtectionGroup :: Text -> DeleteProtectionGroup -- | See: newDeleteProtectionGroupResponse smart constructor. data DeleteProtectionGroupResponse DeleteProtectionGroupResponse' :: Int -> DeleteProtectionGroupResponse -- | Create a value of DeleteProtectionGroupResponse 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:httpStatus:DeleteProtectionGroupResponse', -- deleteProtectionGroupResponse_httpStatus - The response's http -- status code. newDeleteProtectionGroupResponse :: Int -> DeleteProtectionGroupResponse -- | See: newDescribeAttack smart constructor. data DescribeAttack DescribeAttack' :: Text -> DescribeAttack -- | Create a value of DescribeAttack 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: -- -- DescribeAttack, describeAttack_attackId - The unique -- identifier (ID) for the attack. newDescribeAttack :: Text -> DescribeAttack -- | See: newDescribeAttackResponse smart constructor. data DescribeAttackResponse DescribeAttackResponse' :: Maybe AttackDetail -> Int -> DescribeAttackResponse -- | Create a value of DescribeAttackResponse 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:attack:DescribeAttackResponse', -- describeAttackResponse_attack - The attack that you requested. -- -- $sel:httpStatus:DescribeAttackResponse', -- describeAttackResponse_httpStatus - The response's http status -- code. newDescribeAttackResponse :: Int -> DescribeAttackResponse -- | See: newDescribeAttackStatistics smart constructor. data DescribeAttackStatistics DescribeAttackStatistics' :: DescribeAttackStatistics -- | Create a value of DescribeAttackStatistics with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeAttackStatistics :: DescribeAttackStatistics -- | See: newDescribeAttackStatisticsResponse smart -- constructor. data DescribeAttackStatisticsResponse DescribeAttackStatisticsResponse' :: Int -> TimeRange -> [AttackStatisticsDataItem] -> DescribeAttackStatisticsResponse -- | Create a value of DescribeAttackStatisticsResponse 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:httpStatus:DescribeAttackStatisticsResponse', -- describeAttackStatisticsResponse_httpStatus - The response's -- http status code. -- -- $sel:timeRange:DescribeAttackStatisticsResponse', -- describeAttackStatisticsResponse_timeRange - The time range of -- the attack. -- -- $sel:dataItems:DescribeAttackStatisticsResponse', -- describeAttackStatisticsResponse_dataItems - The data that -- describes the attacks detected during the time period. newDescribeAttackStatisticsResponse :: Int -> TimeRange -> DescribeAttackStatisticsResponse -- | See: newDescribeDRTAccess smart constructor. data DescribeDRTAccess DescribeDRTAccess' :: DescribeDRTAccess -- | Create a value of DescribeDRTAccess with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeDRTAccess :: DescribeDRTAccess -- | See: newDescribeDRTAccessResponse smart constructor. data DescribeDRTAccessResponse DescribeDRTAccessResponse' :: Maybe [Text] -> Maybe Text -> Int -> DescribeDRTAccessResponse -- | Create a value of DescribeDRTAccessResponse 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:logBucketList:DescribeDRTAccessResponse', -- describeDRTAccessResponse_logBucketList - The list of Amazon S3 -- buckets accessed by the SRT. -- -- $sel:roleArn:DescribeDRTAccessResponse', -- describeDRTAccessResponse_roleArn - The Amazon Resource Name -- (ARN) of the role the SRT used to access your Amazon Web Services -- account. -- -- $sel:httpStatus:DescribeDRTAccessResponse', -- describeDRTAccessResponse_httpStatus - The response's http -- status code. newDescribeDRTAccessResponse :: Int -> DescribeDRTAccessResponse -- | See: newDescribeEmergencyContactSettings smart -- constructor. data DescribeEmergencyContactSettings DescribeEmergencyContactSettings' :: DescribeEmergencyContactSettings -- | Create a value of DescribeEmergencyContactSettings with all -- optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeEmergencyContactSettings :: DescribeEmergencyContactSettings -- | See: newDescribeEmergencyContactSettingsResponse smart -- constructor. data DescribeEmergencyContactSettingsResponse DescribeEmergencyContactSettingsResponse' :: Maybe [EmergencyContact] -> Int -> DescribeEmergencyContactSettingsResponse -- | Create a value of DescribeEmergencyContactSettingsResponse 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:emergencyContactList:DescribeEmergencyContactSettingsResponse', -- describeEmergencyContactSettingsResponse_emergencyContactList - -- A list of email addresses and phone numbers that the Shield Response -- Team (SRT) can use to contact you if you have proactive engagement -- enabled, for escalations to the SRT and to initiate proactive customer -- support. -- -- $sel:httpStatus:DescribeEmergencyContactSettingsResponse', -- describeEmergencyContactSettingsResponse_httpStatus - The -- response's http status code. newDescribeEmergencyContactSettingsResponse :: Int -> DescribeEmergencyContactSettingsResponse -- | See: newDescribeProtection smart constructor. data DescribeProtection DescribeProtection' :: Maybe Text -> Maybe Text -> DescribeProtection -- | Create a value of DescribeProtection with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:DescribeProtection', -- describeProtection_protectionId - The unique identifier (ID) -- for the Protection object to describe. You must provide either the -- ResourceArn of the protected resource or the -- ProtectionID of the protection, but not both. -- -- DescribeProtection, describeProtection_resourceArn - The -- ARN (Amazon Resource Name) of the protected Amazon Web Services -- resource. You must provide either the ResourceArn of the -- protected resource or the ProtectionID of the protection, but -- not both. newDescribeProtection :: DescribeProtection -- | See: newDescribeProtectionResponse smart constructor. data DescribeProtectionResponse DescribeProtectionResponse' :: Maybe Protection -> Int -> DescribeProtectionResponse -- | Create a value of DescribeProtectionResponse 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:protection:DescribeProtectionResponse', -- describeProtectionResponse_protection - The Protection that you -- requested. -- -- $sel:httpStatus:DescribeProtectionResponse', -- describeProtectionResponse_httpStatus - The response's http -- status code. newDescribeProtectionResponse :: Int -> DescribeProtectionResponse -- | See: newDescribeProtectionGroup smart constructor. data DescribeProtectionGroup DescribeProtectionGroup' :: Text -> DescribeProtectionGroup -- | Create a value of DescribeProtectionGroup 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: -- -- DescribeProtectionGroup, -- describeProtectionGroup_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. newDescribeProtectionGroup :: Text -> DescribeProtectionGroup -- | See: newDescribeProtectionGroupResponse smart -- constructor. data DescribeProtectionGroupResponse DescribeProtectionGroupResponse' :: Int -> ProtectionGroup -> DescribeProtectionGroupResponse -- | Create a value of DescribeProtectionGroupResponse 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:httpStatus:DescribeProtectionGroupResponse', -- describeProtectionGroupResponse_httpStatus - The response's -- http status code. -- -- $sel:protectionGroup:DescribeProtectionGroupResponse', -- describeProtectionGroupResponse_protectionGroup - 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. newDescribeProtectionGroupResponse :: Int -> ProtectionGroup -> DescribeProtectionGroupResponse -- | See: newDescribeSubscription smart constructor. data DescribeSubscription DescribeSubscription' :: DescribeSubscription -- | Create a value of DescribeSubscription with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDescribeSubscription :: DescribeSubscription -- | See: newDescribeSubscriptionResponse smart constructor. data DescribeSubscriptionResponse DescribeSubscriptionResponse' :: Maybe Subscription -> Int -> DescribeSubscriptionResponse -- | Create a value of DescribeSubscriptionResponse 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:subscription:DescribeSubscriptionResponse', -- describeSubscriptionResponse_subscription - The Shield Advanced -- subscription details for an account. -- -- $sel:httpStatus:DescribeSubscriptionResponse', -- describeSubscriptionResponse_httpStatus - The response's http -- status code. newDescribeSubscriptionResponse :: Int -> DescribeSubscriptionResponse -- | See: newDisableApplicationLayerAutomaticResponse smart -- constructor. data DisableApplicationLayerAutomaticResponse DisableApplicationLayerAutomaticResponse' :: Text -> DisableApplicationLayerAutomaticResponse -- | Create a value of DisableApplicationLayerAutomaticResponse 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: -- -- DisableApplicationLayerAutomaticResponse, -- disableApplicationLayerAutomaticResponse_resourceArn - The ARN -- (Amazon Resource Name) of the protected resource. newDisableApplicationLayerAutomaticResponse :: Text -> DisableApplicationLayerAutomaticResponse -- | See: newDisableApplicationLayerAutomaticResponseResponse -- smart constructor. data DisableApplicationLayerAutomaticResponseResponse DisableApplicationLayerAutomaticResponseResponse' :: Int -> DisableApplicationLayerAutomaticResponseResponse -- | Create a value of -- DisableApplicationLayerAutomaticResponseResponse 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:httpStatus:DisableApplicationLayerAutomaticResponseResponse', -- disableApplicationLayerAutomaticResponseResponse_httpStatus - -- The response's http status code. newDisableApplicationLayerAutomaticResponseResponse :: Int -> DisableApplicationLayerAutomaticResponseResponse -- | See: newDisableProactiveEngagement smart constructor. data DisableProactiveEngagement DisableProactiveEngagement' :: DisableProactiveEngagement -- | Create a value of DisableProactiveEngagement with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDisableProactiveEngagement :: DisableProactiveEngagement -- | See: newDisableProactiveEngagementResponse smart -- constructor. data DisableProactiveEngagementResponse DisableProactiveEngagementResponse' :: Int -> DisableProactiveEngagementResponse -- | Create a value of DisableProactiveEngagementResponse 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:httpStatus:DisableProactiveEngagementResponse', -- disableProactiveEngagementResponse_httpStatus - The response's -- http status code. newDisableProactiveEngagementResponse :: Int -> DisableProactiveEngagementResponse -- | See: newDisassociateDRTLogBucket smart constructor. data DisassociateDRTLogBucket DisassociateDRTLogBucket' :: Text -> DisassociateDRTLogBucket -- | Create a value of DisassociateDRTLogBucket 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:logBucket:DisassociateDRTLogBucket', -- disassociateDRTLogBucket_logBucket - The Amazon S3 bucket that -- contains the logs that you want to share. newDisassociateDRTLogBucket :: Text -> DisassociateDRTLogBucket -- | See: newDisassociateDRTLogBucketResponse smart -- constructor. data DisassociateDRTLogBucketResponse DisassociateDRTLogBucketResponse' :: Int -> DisassociateDRTLogBucketResponse -- | Create a value of DisassociateDRTLogBucketResponse 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:httpStatus:DisassociateDRTLogBucketResponse', -- disassociateDRTLogBucketResponse_httpStatus - The response's -- http status code. newDisassociateDRTLogBucketResponse :: Int -> DisassociateDRTLogBucketResponse -- | See: newDisassociateDRTRole smart constructor. data DisassociateDRTRole DisassociateDRTRole' :: DisassociateDRTRole -- | Create a value of DisassociateDRTRole with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newDisassociateDRTRole :: DisassociateDRTRole -- | See: newDisassociateDRTRoleResponse smart constructor. data DisassociateDRTRoleResponse DisassociateDRTRoleResponse' :: Int -> DisassociateDRTRoleResponse -- | Create a value of DisassociateDRTRoleResponse 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:httpStatus:DisassociateDRTRoleResponse', -- disassociateDRTRoleResponse_httpStatus - The response's http -- status code. newDisassociateDRTRoleResponse :: Int -> DisassociateDRTRoleResponse -- | See: newDisassociateHealthCheck smart constructor. data DisassociateHealthCheck DisassociateHealthCheck' :: Text -> Text -> DisassociateHealthCheck -- | Create a value of DisassociateHealthCheck with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:protectionId:DisassociateHealthCheck', -- disassociateHealthCheck_protectionId - The unique identifier -- (ID) for the Protection object to remove the health check association -- from. -- -- $sel:healthCheckArn:DisassociateHealthCheck', -- disassociateHealthCheck_healthCheckArn - The Amazon Resource -- Name (ARN) of the health check that is associated with the protection. newDisassociateHealthCheck :: Text -> Text -> DisassociateHealthCheck -- | See: newDisassociateHealthCheckResponse smart -- constructor. data DisassociateHealthCheckResponse DisassociateHealthCheckResponse' :: Int -> DisassociateHealthCheckResponse -- | Create a value of DisassociateHealthCheckResponse 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:httpStatus:DisassociateHealthCheckResponse', -- disassociateHealthCheckResponse_httpStatus - The response's -- http status code. newDisassociateHealthCheckResponse :: Int -> DisassociateHealthCheckResponse -- | See: newEnableApplicationLayerAutomaticResponse smart -- constructor. data EnableApplicationLayerAutomaticResponse EnableApplicationLayerAutomaticResponse' :: Text -> ResponseAction -> EnableApplicationLayerAutomaticResponse -- | Create a value of EnableApplicationLayerAutomaticResponse 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: -- -- EnableApplicationLayerAutomaticResponse, -- enableApplicationLayerAutomaticResponse_resourceArn - The ARN -- (Amazon Resource Name) of the protected resource. -- -- EnableApplicationLayerAutomaticResponse, -- enableApplicationLayerAutomaticResponse_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. newEnableApplicationLayerAutomaticResponse :: Text -> ResponseAction -> EnableApplicationLayerAutomaticResponse -- | See: newEnableApplicationLayerAutomaticResponseResponse -- smart constructor. data EnableApplicationLayerAutomaticResponseResponse EnableApplicationLayerAutomaticResponseResponse' :: Int -> EnableApplicationLayerAutomaticResponseResponse -- | Create a value of -- EnableApplicationLayerAutomaticResponseResponse 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:httpStatus:EnableApplicationLayerAutomaticResponseResponse', -- enableApplicationLayerAutomaticResponseResponse_httpStatus - -- The response's http status code. newEnableApplicationLayerAutomaticResponseResponse :: Int -> EnableApplicationLayerAutomaticResponseResponse -- | See: newEnableProactiveEngagement smart constructor. data EnableProactiveEngagement EnableProactiveEngagement' :: EnableProactiveEngagement -- | Create a value of EnableProactiveEngagement with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newEnableProactiveEngagement :: EnableProactiveEngagement -- | See: newEnableProactiveEngagementResponse smart -- constructor. data EnableProactiveEngagementResponse EnableProactiveEngagementResponse' :: Int -> EnableProactiveEngagementResponse -- | Create a value of EnableProactiveEngagementResponse 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:httpStatus:EnableProactiveEngagementResponse', -- enableProactiveEngagementResponse_httpStatus - The response's -- http status code. newEnableProactiveEngagementResponse :: Int -> EnableProactiveEngagementResponse -- | See: newGetSubscriptionState smart constructor. data GetSubscriptionState GetSubscriptionState' :: GetSubscriptionState -- | Create a value of GetSubscriptionState with all optional fields -- omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newGetSubscriptionState :: GetSubscriptionState -- | See: newGetSubscriptionStateResponse smart constructor. data GetSubscriptionStateResponse GetSubscriptionStateResponse' :: Int -> SubscriptionState -> GetSubscriptionStateResponse -- | Create a value of GetSubscriptionStateResponse 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:httpStatus:GetSubscriptionStateResponse', -- getSubscriptionStateResponse_httpStatus - The response's http -- status code. -- -- $sel:subscriptionState:GetSubscriptionStateResponse', -- getSubscriptionStateResponse_subscriptionState - The status of -- the subscription. newGetSubscriptionStateResponse :: Int -> SubscriptionState -> GetSubscriptionStateResponse -- | See: newListAttacks smart constructor. data ListAttacks ListAttacks' :: Maybe TimeRange -> Maybe Natural -> Maybe Text -> Maybe [Text] -> Maybe TimeRange -> ListAttacks -- | Create a value of ListAttacks 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: -- -- ListAttacks, listAttacks_endTime - The end of the time -- period for the attacks. This is a timestamp type. The request -- syntax listing for this call indicates a number type, but you -- can provide the time in any valid timestamp format setting. -- -- $sel:maxResults:ListAttacks', listAttacks_maxResults - -- The greatest number of objects that you want Shield Advanced to return -- to the list request. Shield Advanced might return fewer objects than -- you indicate in this setting, even if more objects are available. If -- there are more objects remaining, Shield Advanced will always also -- return a NextToken value in the response. -- -- The default setting is 20. -- -- ListAttacks, listAttacks_nextToken - When you request a -- list of objects from Shield Advanced, if the response does not include -- all of the remaining available objects, Shield Advanced includes a -- NextToken value in the response. You can retrieve the next -- batch of objects by requesting the list again and providing the token -- that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. -- -- ListAttacks, listAttacks_resourceArns - The ARNs (Amazon -- Resource Names) of the resources that were attacked. If you leave this -- blank, all applicable resources for this account will be included. -- -- ListAttacks, listAttacks_startTime - The start of the -- time period for the attacks. This is a timestamp type. The -- request syntax listing for this call indicates a number type, -- but you can provide the time in any valid timestamp format -- setting. newListAttacks :: ListAttacks -- | See: newListAttacksResponse smart constructor. data ListAttacksResponse ListAttacksResponse' :: Maybe [AttackSummary] -> Maybe Text -> Int -> ListAttacksResponse -- | Create a value of ListAttacksResponse 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:attackSummaries:ListAttacksResponse', -- listAttacksResponse_attackSummaries - The attack information -- for the specified time range. -- -- ListAttacks, listAttacksResponse_nextToken - When you -- request a list of objects from Shield Advanced, if the response does -- not include all of the remaining available objects, Shield Advanced -- includes a NextToken value in the response. You can retrieve -- the next batch of objects by requesting the list again and providing -- the token that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:httpStatus:ListAttacksResponse', -- listAttacksResponse_httpStatus - The response's http status -- code. newListAttacksResponse :: Int -> ListAttacksResponse -- | See: newListProtectionGroups smart constructor. data ListProtectionGroups ListProtectionGroups' :: Maybe InclusionProtectionGroupFilters -> Maybe Natural -> Maybe Text -> ListProtectionGroups -- | Create a value of ListProtectionGroups 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:inclusionFilters:ListProtectionGroups', -- listProtectionGroups_inclusionFilters - 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 specific pattern or aggregation -- settings. 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. -- -- $sel:maxResults:ListProtectionGroups', -- listProtectionGroups_maxResults - The greatest number of -- objects that you want Shield Advanced to return to the list request. -- Shield Advanced might return fewer objects than you indicate in this -- setting, even if more objects are available. If there are more objects -- remaining, Shield Advanced will always also return a -- NextToken value in the response. -- -- The default setting is 20. -- -- ListProtectionGroups, listProtectionGroups_nextToken - -- When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. newListProtectionGroups :: ListProtectionGroups -- | See: newListProtectionGroupsResponse smart constructor. data ListProtectionGroupsResponse ListProtectionGroupsResponse' :: Maybe Text -> Int -> [ProtectionGroup] -> ListProtectionGroupsResponse -- | Create a value of ListProtectionGroupsResponse 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: -- -- ListProtectionGroups, -- listProtectionGroupsResponse_nextToken - When you request a -- list of objects from Shield Advanced, if the response does not include -- all of the remaining available objects, Shield Advanced includes a -- NextToken value in the response. You can retrieve the next -- batch of objects by requesting the list again and providing the token -- that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:httpStatus:ListProtectionGroupsResponse', -- listProtectionGroupsResponse_httpStatus - The response's http -- status code. -- -- $sel:protectionGroups:ListProtectionGroupsResponse', -- listProtectionGroupsResponse_protectionGroups - newListProtectionGroupsResponse :: Int -> ListProtectionGroupsResponse -- | See: newListProtections smart constructor. data ListProtections ListProtections' :: Maybe InclusionProtectionFilters -> Maybe Natural -> Maybe Text -> ListProtections -- | Create a value of ListProtections 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:inclusionFilters:ListProtections', -- listProtections_inclusionFilters - 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. -- -- $sel:maxResults:ListProtections', -- listProtections_maxResults - The greatest number of objects -- that you want Shield Advanced to return to the list request. Shield -- Advanced might return fewer objects than you indicate in this setting, -- even if more objects are available. If there are more objects -- remaining, Shield Advanced will always also return a -- NextToken value in the response. -- -- The default setting is 20. -- -- ListProtections, listProtections_nextToken - When you -- request a list of objects from Shield Advanced, if the response does -- not include all of the remaining available objects, Shield Advanced -- includes a NextToken value in the response. You can retrieve -- the next batch of objects by requesting the list again and providing -- the token that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. newListProtections :: ListProtections -- | See: newListProtectionsResponse smart constructor. data ListProtectionsResponse ListProtectionsResponse' :: Maybe Text -> Maybe [Protection] -> Int -> ListProtectionsResponse -- | Create a value of ListProtectionsResponse 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: -- -- ListProtections, listProtectionsResponse_nextToken - -- When you request a list of objects from Shield Advanced, if the -- response does not include all of the remaining available objects, -- Shield Advanced includes a NextToken value in the response. -- You can retrieve the next batch of objects by requesting the list -- again and providing the token that was returned by the prior call in -- your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:protections:ListProtectionsResponse', -- listProtectionsResponse_protections - The array of enabled -- Protection objects. -- -- $sel:httpStatus:ListProtectionsResponse', -- listProtectionsResponse_httpStatus - The response's http status -- code. newListProtectionsResponse :: Int -> ListProtectionsResponse -- | See: newListResourcesInProtectionGroup smart -- constructor. data ListResourcesInProtectionGroup ListResourcesInProtectionGroup' :: Maybe Natural -> Maybe Text -> Text -> ListResourcesInProtectionGroup -- | Create a value of ListResourcesInProtectionGroup 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:maxResults:ListResourcesInProtectionGroup', -- listResourcesInProtectionGroup_maxResults - The greatest number -- of objects that you want Shield Advanced to return to the list -- request. Shield Advanced might return fewer objects than you indicate -- in this setting, even if more objects are available. If there are more -- objects remaining, Shield Advanced will always also return a -- NextToken value in the response. -- -- The default setting is 20. -- -- ListResourcesInProtectionGroup, -- listResourcesInProtectionGroup_nextToken - When you request a -- list of objects from Shield Advanced, if the response does not include -- all of the remaining available objects, Shield Advanced includes a -- NextToken value in the response. You can retrieve the next -- batch of objects by requesting the list again and providing the token -- that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- On your first call to a list operation, leave this setting empty. -- -- ListResourcesInProtectionGroup, -- listResourcesInProtectionGroup_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. newListResourcesInProtectionGroup :: Text -> ListResourcesInProtectionGroup -- | See: newListResourcesInProtectionGroupResponse smart -- constructor. data ListResourcesInProtectionGroupResponse ListResourcesInProtectionGroupResponse' :: Maybe Text -> Int -> [Text] -> ListResourcesInProtectionGroupResponse -- | Create a value of ListResourcesInProtectionGroupResponse 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: -- -- ListResourcesInProtectionGroup, -- listResourcesInProtectionGroupResponse_nextToken - When you -- request a list of objects from Shield Advanced, if the response does -- not include all of the remaining available objects, Shield Advanced -- includes a NextToken value in the response. You can retrieve -- the next batch of objects by requesting the list again and providing -- the token that was returned by the prior call in your request. -- -- You can indicate the maximum number of objects that you want Shield -- Advanced to return for a single call with the MaxResults -- setting. Shield Advanced will not return more than MaxResults -- objects, but may return fewer, even if more objects are still -- available. -- -- Whenever more objects remain that Shield Advanced has not yet returned -- to you, the response will include a NextToken value. -- -- $sel:httpStatus:ListResourcesInProtectionGroupResponse', -- listResourcesInProtectionGroupResponse_httpStatus - The -- response's http status code. -- -- ListResourcesInProtectionGroupResponse, -- listResourcesInProtectionGroupResponse_resourceArns - The -- Amazon Resource Names (ARNs) of the resources that are included in the -- protection group. newListResourcesInProtectionGroupResponse :: Int -> ListResourcesInProtectionGroupResponse -- | See: newListTagsForResource smart constructor. data ListTagsForResource ListTagsForResource' :: Text -> ListTagsForResource -- | Create a value of ListTagsForResource 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:resourceARN:ListTagsForResource', -- listTagsForResource_resourceARN - The Amazon Resource Name -- (ARN) of the resource to get tags for. newListTagsForResource :: Text -> ListTagsForResource -- | See: newListTagsForResourceResponse smart constructor. data ListTagsForResourceResponse ListTagsForResourceResponse' :: Maybe [Tag] -> Int -> ListTagsForResourceResponse -- | Create a value of ListTagsForResourceResponse with all optional -- fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. -- -- The following record fields are available, with the corresponding -- lenses provided for backwards compatibility: -- -- $sel:tags:ListTagsForResourceResponse', -- listTagsForResourceResponse_tags - A list of tag key and value -- pairs associated with the specified resource. -- -- $sel:httpStatus:ListTagsForResourceResponse', -- listTagsForResourceResponse_httpStatus - The response's http -- status code. newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse -- | See: newTagResource smart constructor. data TagResource TagResource' :: Text -> [Tag] -> TagResource -- | Create a value of TagResource 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:resourceARN:TagResource', tagResource_resourceARN - -- The Amazon Resource Name (ARN) of the resource that you want to add or -- update tags for. -- -- $sel:tags:TagResource', tagResource_tags - The tags that -- you want to modify or add to the resource. newTagResource :: Text -> TagResource -- | See: newTagResourceResponse smart constructor. data TagResourceResponse TagResourceResponse' :: Int -> TagResourceResponse -- | Create a value of TagResourceResponse 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:httpStatus:TagResourceResponse', -- tagResourceResponse_httpStatus - The response's http status -- code. newTagResourceResponse :: Int -> TagResourceResponse -- | See: newUntagResource smart constructor. data UntagResource UntagResource' :: Text -> [Text] -> UntagResource -- | Create a value of UntagResource 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:resourceARN:UntagResource', -- untagResource_resourceARN - The Amazon Resource Name (ARN) of -- the resource that you want to remove tags from. -- -- $sel:tagKeys:UntagResource', untagResource_tagKeys - The -- tag key for each tag that you want to remove from the resource. newUntagResource :: Text -> UntagResource -- | See: newUntagResourceResponse smart constructor. data UntagResourceResponse UntagResourceResponse' :: Int -> UntagResourceResponse -- | Create a value of UntagResourceResponse 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:httpStatus:UntagResourceResponse', -- untagResourceResponse_httpStatus - The response's http status -- code. newUntagResourceResponse :: Int -> UntagResourceResponse -- | See: newUpdateApplicationLayerAutomaticResponse smart -- constructor. data UpdateApplicationLayerAutomaticResponse UpdateApplicationLayerAutomaticResponse' :: Text -> ResponseAction -> UpdateApplicationLayerAutomaticResponse -- | Create a value of UpdateApplicationLayerAutomaticResponse 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: -- -- UpdateApplicationLayerAutomaticResponse, -- updateApplicationLayerAutomaticResponse_resourceArn - The ARN -- (Amazon Resource Name) of the resource. -- -- UpdateApplicationLayerAutomaticResponse, -- updateApplicationLayerAutomaticResponse_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. newUpdateApplicationLayerAutomaticResponse :: Text -> ResponseAction -> UpdateApplicationLayerAutomaticResponse -- | See: newUpdateApplicationLayerAutomaticResponseResponse -- smart constructor. data UpdateApplicationLayerAutomaticResponseResponse UpdateApplicationLayerAutomaticResponseResponse' :: Int -> UpdateApplicationLayerAutomaticResponseResponse -- | Create a value of -- UpdateApplicationLayerAutomaticResponseResponse 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:httpStatus:UpdateApplicationLayerAutomaticResponseResponse', -- updateApplicationLayerAutomaticResponseResponse_httpStatus - -- The response's http status code. newUpdateApplicationLayerAutomaticResponseResponse :: Int -> UpdateApplicationLayerAutomaticResponseResponse -- | See: newUpdateEmergencyContactSettings smart -- constructor. data UpdateEmergencyContactSettings UpdateEmergencyContactSettings' :: Maybe [EmergencyContact] -> UpdateEmergencyContactSettings -- | Create a value of UpdateEmergencyContactSettings 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:emergencyContactList:UpdateEmergencyContactSettings', -- updateEmergencyContactSettings_emergencyContactList - A list of -- email addresses and phone numbers that the Shield Response Team (SRT) -- can use to contact you if you have proactive engagement enabled, for -- escalations to the SRT and to initiate proactive customer support. -- -- If you have proactive engagement enabled, the contact list must -- include at least one phone number. newUpdateEmergencyContactSettings :: UpdateEmergencyContactSettings -- | See: newUpdateEmergencyContactSettingsResponse smart -- constructor. data UpdateEmergencyContactSettingsResponse UpdateEmergencyContactSettingsResponse' :: Int -> UpdateEmergencyContactSettingsResponse -- | Create a value of UpdateEmergencyContactSettingsResponse 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:httpStatus:UpdateEmergencyContactSettingsResponse', -- updateEmergencyContactSettingsResponse_httpStatus - The -- response's http status code. newUpdateEmergencyContactSettingsResponse :: Int -> UpdateEmergencyContactSettingsResponse -- | See: newUpdateProtectionGroup smart constructor. data UpdateProtectionGroup UpdateProtectionGroup' :: Maybe [Text] -> Maybe ProtectedResourceType -> Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> UpdateProtectionGroup -- | Create a value of UpdateProtectionGroup 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: -- -- UpdateProtectionGroup, updateProtectionGroup_members - -- The Amazon Resource Names (ARNs) 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. -- -- UpdateProtectionGroup, -- updateProtectionGroup_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. -- -- UpdateProtectionGroup, -- updateProtectionGroup_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. -- -- UpdateProtectionGroup, updateProtectionGroup_aggregation -- - Defines how Shield combines resource data for the group in order to -- detect, mitigate, and report events. -- -- -- -- UpdateProtectionGroup, updateProtectionGroup_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 Amazon Resource Names (ARNs), or include -- all resources of a specified resource type. newUpdateProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> UpdateProtectionGroup -- | See: newUpdateProtectionGroupResponse smart constructor. data UpdateProtectionGroupResponse UpdateProtectionGroupResponse' :: Int -> UpdateProtectionGroupResponse -- | Create a value of UpdateProtectionGroupResponse 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:httpStatus:UpdateProtectionGroupResponse', -- updateProtectionGroupResponse_httpStatus - The response's http -- status code. newUpdateProtectionGroupResponse :: Int -> UpdateProtectionGroupResponse -- | See: newUpdateSubscription smart constructor. data UpdateSubscription UpdateSubscription' :: Maybe AutoRenew -> UpdateSubscription -- | Create a value of UpdateSubscription 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: -- -- UpdateSubscription, updateSubscription_autoRenew - When -- you initally create a subscription, AutoRenew is set to -- ENABLED. If ENABLED, the subscription will be -- automatically renewed at the end of the existing subscription period. -- 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. newUpdateSubscription :: UpdateSubscription -- | See: newUpdateSubscriptionResponse smart constructor. data UpdateSubscriptionResponse UpdateSubscriptionResponse' :: Int -> UpdateSubscriptionResponse -- | Create a value of UpdateSubscriptionResponse 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:httpStatus:UpdateSubscriptionResponse', -- updateSubscriptionResponse_httpStatus - The response's http -- status code. newUpdateSubscriptionResponse :: Int -> UpdateSubscriptionResponse newtype ApplicationLayerAutomaticResponseStatus ApplicationLayerAutomaticResponseStatus' :: Text -> ApplicationLayerAutomaticResponseStatus [fromApplicationLayerAutomaticResponseStatus] :: ApplicationLayerAutomaticResponseStatus -> Text pattern ApplicationLayerAutomaticResponseStatus_DISABLED :: ApplicationLayerAutomaticResponseStatus pattern ApplicationLayerAutomaticResponseStatus_ENABLED :: ApplicationLayerAutomaticResponseStatus newtype AttackLayer AttackLayer' :: Text -> AttackLayer [fromAttackLayer] :: AttackLayer -> Text pattern AttackLayer_APPLICATION :: AttackLayer pattern AttackLayer_NETWORK :: AttackLayer newtype AttackPropertyIdentifier AttackPropertyIdentifier' :: Text -> AttackPropertyIdentifier [fromAttackPropertyIdentifier] :: AttackPropertyIdentifier -> Text 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 AutoRenew' :: Text -> AutoRenew [fromAutoRenew] :: AutoRenew -> Text pattern AutoRenew_DISABLED :: AutoRenew pattern AutoRenew_ENABLED :: AutoRenew newtype ProactiveEngagementStatus ProactiveEngagementStatus' :: Text -> ProactiveEngagementStatus [fromProactiveEngagementStatus] :: ProactiveEngagementStatus -> Text pattern ProactiveEngagementStatus_DISABLED :: ProactiveEngagementStatus pattern ProactiveEngagementStatus_ENABLED :: ProactiveEngagementStatus pattern ProactiveEngagementStatus_PENDING :: ProactiveEngagementStatus newtype ProtectedResourceType ProtectedResourceType' :: Text -> ProtectedResourceType [fromProtectedResourceType] :: ProtectedResourceType -> Text 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 ProtectionGroupAggregation' :: Text -> ProtectionGroupAggregation [fromProtectionGroupAggregation] :: ProtectionGroupAggregation -> Text pattern ProtectionGroupAggregation_MAX :: ProtectionGroupAggregation pattern ProtectionGroupAggregation_MEAN :: ProtectionGroupAggregation pattern ProtectionGroupAggregation_SUM :: ProtectionGroupAggregation newtype ProtectionGroupPattern ProtectionGroupPattern' :: Text -> ProtectionGroupPattern [fromProtectionGroupPattern] :: ProtectionGroupPattern -> Text pattern ProtectionGroupPattern_ALL :: ProtectionGroupPattern pattern ProtectionGroupPattern_ARBITRARY :: ProtectionGroupPattern pattern ProtectionGroupPattern_BY_RESOURCE_TYPE :: ProtectionGroupPattern newtype SubResourceType SubResourceType' :: Text -> SubResourceType [fromSubResourceType] :: SubResourceType -> Text pattern SubResourceType_IP :: SubResourceType pattern SubResourceType_URL :: SubResourceType newtype SubscriptionState SubscriptionState' :: Text -> SubscriptionState [fromSubscriptionState] :: SubscriptionState -> Text pattern SubscriptionState_ACTIVE :: SubscriptionState pattern SubscriptionState_INACTIVE :: SubscriptionState newtype Unit Unit' :: Text -> Unit [fromUnit] :: Unit -> Text pattern Unit_BITS :: Unit pattern Unit_BYTES :: Unit pattern Unit_PACKETS :: Unit pattern Unit_REQUESTS :: Unit -- | 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. data ApplicationLayerAutomaticResponseConfiguration ApplicationLayerAutomaticResponseConfiguration' :: 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. newApplicationLayerAutomaticResponseConfiguration :: ApplicationLayerAutomaticResponseStatus -> ResponseAction -> ApplicationLayerAutomaticResponseConfiguration -- | The details of a DDoS attack. -- -- See: newAttackDetail smart constructor. data AttackDetail AttackDetail' :: Maybe [SummarizedCounter] -> Maybe Text -> Maybe [AttackProperty] -> Maybe POSIX -> Maybe [Mitigation] -> Maybe Text -> Maybe POSIX -> Maybe [SubResourceSummary] -> AttackDetail -- | 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. newAttackDetail :: AttackDetail -- | Details of a Shield event. This is provided as part of an -- AttackDetail. -- -- See: newAttackProperty smart constructor. data AttackProperty AttackProperty' :: Maybe AttackLayer -> Maybe AttackPropertyIdentifier -> Maybe [Contributor] -> Maybe Integer -> Maybe Unit -> AttackProperty -- | 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. newAttackProperty :: AttackProperty -- | 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. data AttackStatisticsDataItem AttackStatisticsDataItem' :: Maybe AttackVolume -> Integer -> AttackStatisticsDataItem -- | 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. newAttackStatisticsDataItem :: Integer -> AttackStatisticsDataItem -- | Summarizes all DDoS attacks for a specified time period. -- -- See: newAttackSummary smart constructor. data AttackSummary AttackSummary' :: Maybe Text -> Maybe [AttackVectorDescription] -> Maybe POSIX -> Maybe Text -> Maybe POSIX -> AttackSummary -- | 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. newAttackSummary :: AttackSummary -- | Describes the attack. -- -- See: newAttackVectorDescription smart constructor. data AttackVectorDescription AttackVectorDescription' :: Text -> AttackVectorDescription -- | 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: -- -- newAttackVectorDescription :: Text -> AttackVectorDescription -- | 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. data AttackVolume AttackVolume' :: Maybe AttackVolumeStatistics -> Maybe AttackVolumeStatistics -> Maybe AttackVolumeStatistics -> AttackVolume -- | 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. newAttackVolume :: AttackVolume -- | Statistics objects for the various data types in AttackVolume. -- -- See: newAttackVolumeStatistics smart constructor. data AttackVolumeStatistics AttackVolumeStatistics' :: Double -> AttackVolumeStatistics -- | 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. newAttackVolumeStatistics :: Double -> AttackVolumeStatistics -- | 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. data BlockAction BlockAction' :: BlockAction -- | Create a value of BlockAction with all optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newBlockAction :: BlockAction -- | A contributor to the attack and their contribution. -- -- See: newContributor smart constructor. data Contributor Contributor' :: Maybe Text -> Maybe Integer -> Contributor -- | 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. newContributor :: Contributor -- | 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. data CountAction CountAction' :: CountAction -- | Create a value of CountAction with all optional fields omitted. -- -- Use generic-lens or optics to modify other optional -- fields. newCountAction :: CountAction -- | 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. data EmergencyContact EmergencyContact' :: Maybe Text -> Maybe Text -> Text -> EmergencyContact -- | 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. newEmergencyContact :: Text -> EmergencyContact -- | 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. data InclusionProtectionFilters InclusionProtectionFilters' :: Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty ProtectedResourceType) -> InclusionProtectionFilters -- | 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. newInclusionProtectionFilters :: InclusionProtectionFilters -- | 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. data InclusionProtectionGroupFilters InclusionProtectionGroupFilters' :: Maybe (NonEmpty ProtectionGroupAggregation) -> Maybe (NonEmpty ProtectionGroupPattern) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty ProtectedResourceType) -> InclusionProtectionGroupFilters -- | 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. newInclusionProtectionGroupFilters :: InclusionProtectionGroupFilters -- | Specifies how many protections of a given type you can create. -- -- See: newLimit smart constructor. data Limit Limit' :: Maybe Integer -> Maybe Text -> Limit -- | 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. newLimit :: Limit -- | The mitigation applied to a DDoS attack. -- -- See: newMitigation smart constructor. data Mitigation Mitigation' :: Maybe Text -> Mitigation -- | 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. newMitigation :: Mitigation -- | An object that represents a resource that is under DDoS protection. -- -- See: newProtection smart constructor. data Protection Protection' :: Maybe ApplicationLayerAutomaticResponseConfiguration -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Protection -- | 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. newProtection :: Protection -- | 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. data ProtectionGroup ProtectionGroup' :: Maybe Text -> Maybe ProtectedResourceType -> Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> [Text] -> ProtectionGroup -- | 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. -- -- -- -- $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. newProtectionGroup :: Text -> ProtectionGroupAggregation -> ProtectionGroupPattern -> ProtectionGroup -- | Limits settings on protection groups with arbitrary pattern type. -- -- See: newProtectionGroupArbitraryPatternLimits smart -- constructor. data ProtectionGroupArbitraryPatternLimits ProtectionGroupArbitraryPatternLimits' :: Integer -> ProtectionGroupArbitraryPatternLimits -- | 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. newProtectionGroupArbitraryPatternLimits :: Integer -> ProtectionGroupArbitraryPatternLimits -- | Limits settings on protection groups for your subscription. -- -- See: newProtectionGroupLimits smart constructor. data ProtectionGroupLimits ProtectionGroupLimits' :: Integer -> ProtectionGroupPatternTypeLimits -> ProtectionGroupLimits -- | 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. newProtectionGroupLimits :: Integer -> ProtectionGroupPatternTypeLimits -> ProtectionGroupLimits -- | Limits settings by pattern type in the protection groups for your -- subscription. -- -- See: newProtectionGroupPatternTypeLimits smart -- constructor. data ProtectionGroupPatternTypeLimits ProtectionGroupPatternTypeLimits' :: 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. newProtectionGroupPatternTypeLimits :: ProtectionGroupArbitraryPatternLimits -> ProtectionGroupPatternTypeLimits -- | Limits settings on protections for your subscription. -- -- See: newProtectionLimits smart constructor. data ProtectionLimits ProtectionLimits' :: [Limit] -> ProtectionLimits -- | 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. newProtectionLimits :: ProtectionLimits -- | 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. data ResponseAction ResponseAction' :: Maybe BlockAction -> Maybe CountAction -> ResponseAction -- | 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. newResponseAction :: ResponseAction -- | The attack information for the specified SubResource. -- -- See: newSubResourceSummary smart constructor. data SubResourceSummary SubResourceSummary' :: Maybe [SummarizedAttackVector] -> Maybe [SummarizedCounter] -> Maybe Text -> Maybe SubResourceType -> SubResourceSummary -- | 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. newSubResourceSummary :: SubResourceSummary -- | Information about the Shield Advanced subscription for an account. -- -- See: newSubscription smart constructor. data Subscription Subscription' :: Maybe AutoRenew -> Maybe POSIX -> Maybe [Limit] -> Maybe ProactiveEngagementStatus -> Maybe POSIX -> Maybe Text -> Maybe Natural -> SubscriptionLimits -> Subscription -- | 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. newSubscription :: SubscriptionLimits -> Subscription -- | Limits settings for your subscription. -- -- See: newSubscriptionLimits smart constructor. data SubscriptionLimits SubscriptionLimits' :: ProtectionLimits -> ProtectionGroupLimits -> SubscriptionLimits -- | 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. newSubscriptionLimits :: ProtectionLimits -> ProtectionGroupLimits -> SubscriptionLimits -- | A summary of information about the attack. -- -- See: newSummarizedAttackVector smart constructor. data SummarizedAttackVector SummarizedAttackVector' :: Maybe [SummarizedCounter] -> Text -> SummarizedAttackVector -- | 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. newSummarizedAttackVector :: Text -> SummarizedAttackVector -- | The counter that describes a DDoS attack. -- -- See: newSummarizedCounter smart constructor. data SummarizedCounter SummarizedCounter' :: Maybe Double -> Maybe Double -> Maybe Int -> Maybe Text -> Maybe Double -> Maybe Text -> SummarizedCounter -- | 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. newSummarizedCounter :: SummarizedCounter -- | 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. data Tag Tag' :: Maybe Text -> Maybe Text -> Tag -- | 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. newTag :: Tag -- | The time range. -- -- See: newTimeRange smart constructor. data TimeRange TimeRange' :: Maybe POSIX -> Maybe POSIX -> TimeRange -- | 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. newTimeRange :: TimeRange