packages feed

amazonka-fms 1.6.1 → 2.0

raw patch · 207 files changed

+23731/−3050 lines, 207 filesdep +case-insensitivedep ~amazonka-coredep ~amazonka-testdep ~basesetup-changedPVP ok

version bump matches the API change (PVP)

Dependencies added: case-insensitive

Dependency ranges changed: amazonka-core, amazonka-test, base

API changes (from Hackage documentation)

- Network.AWS.FMS: Compliant :: PolicyComplianceStatusType
- Network.AWS.FMS: NonCompliant :: PolicyComplianceStatusType
- Network.AWS.FMS: ResourceIncorrectWebACL :: ViolationReason
- Network.AWS.FMS: ResourceMissingWebACL :: ViolationReason
- Network.AWS.FMS: Waf :: SecurityServiceType
- Network.AWS.FMS: WebACLMissingRuleGroup :: ViolationReason
- Network.AWS.FMS: _InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS: _InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS: _InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS: _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS: _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS: complianceViolator :: ComplianceViolator
- Network.AWS.FMS: cvResourceId :: Lens' ComplianceViolator (Maybe Text)
- Network.AWS.FMS: cvResourceType :: Lens' ComplianceViolator (Maybe Text)
- Network.AWS.FMS: cvViolationReason :: Lens' ComplianceViolator (Maybe ViolationReason)
- Network.AWS.FMS: data ComplianceViolator
- Network.AWS.FMS: data EvaluationResult
- Network.AWS.FMS: data Policy
- Network.AWS.FMS: data PolicyComplianceDetail
- Network.AWS.FMS: data PolicyComplianceStatus
- Network.AWS.FMS: data PolicyComplianceStatusType
- Network.AWS.FMS: data PolicySummary
- Network.AWS.FMS: data ResourceTag
- Network.AWS.FMS: data SecurityServicePolicyData
- Network.AWS.FMS: data SecurityServiceType
- Network.AWS.FMS: data ViolationReason
- Network.AWS.FMS: erComplianceStatus :: Lens' EvaluationResult (Maybe PolicyComplianceStatusType)
- Network.AWS.FMS: erEvaluationLimitExceeded :: Lens' EvaluationResult (Maybe Bool)
- Network.AWS.FMS: erViolatorCount :: Lens' EvaluationResult (Maybe Natural)
- Network.AWS.FMS: evaluationResult :: EvaluationResult
- Network.AWS.FMS: fms :: Service
- Network.AWS.FMS: pExcludeResourceTags :: Lens' Policy Bool
- Network.AWS.FMS: pPolicyId :: Lens' Policy (Maybe Text)
- Network.AWS.FMS: pPolicyName :: Lens' Policy Text
- Network.AWS.FMS: pPolicyUpdateToken :: Lens' Policy (Maybe Text)
- Network.AWS.FMS: pRemediationEnabled :: Lens' Policy Bool
- Network.AWS.FMS: pResourceTags :: Lens' Policy [ResourceTag]
- Network.AWS.FMS: pResourceType :: Lens' Policy Text
- Network.AWS.FMS: pSecurityServicePolicyData :: Lens' Policy SecurityServicePolicyData
- Network.AWS.FMS: pcdEvaluationLimitExceeded :: Lens' PolicyComplianceDetail (Maybe Bool)
- Network.AWS.FMS: pcdExpiredAt :: Lens' PolicyComplianceDetail (Maybe UTCTime)
- Network.AWS.FMS: pcdMemberAccount :: Lens' PolicyComplianceDetail (Maybe Text)
- Network.AWS.FMS: pcdPolicyId :: Lens' PolicyComplianceDetail (Maybe Text)
- Network.AWS.FMS: pcdPolicyOwner :: Lens' PolicyComplianceDetail (Maybe Text)
- Network.AWS.FMS: pcdViolators :: Lens' PolicyComplianceDetail [ComplianceViolator]
- Network.AWS.FMS: pcsEvaluationResults :: Lens' PolicyComplianceStatus [EvaluationResult]
- Network.AWS.FMS: pcsLastUpdated :: Lens' PolicyComplianceStatus (Maybe UTCTime)
- Network.AWS.FMS: pcsMemberAccount :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS: pcsPolicyId :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS: pcsPolicyName :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS: pcsPolicyOwner :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS: policy :: Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
- Network.AWS.FMS: policyComplianceDetail :: PolicyComplianceDetail
- Network.AWS.FMS: policyComplianceStatus :: PolicyComplianceStatus
- Network.AWS.FMS: policySummary :: PolicySummary
- Network.AWS.FMS: psPolicyARN :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS: psPolicyId :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS: psPolicyName :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS: psRemediationEnabled :: Lens' PolicySummary (Maybe Bool)
- Network.AWS.FMS: psResourceType :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS: psSecurityServiceType :: Lens' PolicySummary (Maybe SecurityServiceType)
- Network.AWS.FMS: resourceTag :: Text -> ResourceTag
- Network.AWS.FMS: rtKey :: Lens' ResourceTag Text
- Network.AWS.FMS: rtValue :: Lens' ResourceTag (Maybe Text)
- Network.AWS.FMS: securityServicePolicyData :: SecurityServiceType -> SecurityServicePolicyData
- Network.AWS.FMS: sspdManagedServiceData :: Lens' SecurityServicePolicyData (Maybe Text)
- Network.AWS.FMS: sspdType :: Lens' SecurityServicePolicyData SecurityServiceType
- Network.AWS.FMS.AssociateAdminAccount: aaaAdminAccount :: Lens' AssociateAdminAccount Text
- Network.AWS.FMS.AssociateAdminAccount: associateAdminAccount :: Text -> AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: associateAdminAccountResponse :: AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: data AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: data AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: instance Control.DeepSeq.NFData Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance Control.DeepSeq.NFData Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance Data.Data.Data Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance Data.Data.Data Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: instance Data.Hashable.Class.Hashable Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Classes.Eq Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Classes.Eq Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Generics.Generic Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Generics.Generic Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Read.Read Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Read.Read Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Show.Show Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance GHC.Show.Show Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
- Network.AWS.FMS.AssociateAdminAccount: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.AssociateAdminAccount: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.AssociateAdminAccount.AssociateAdminAccount
- Network.AWS.FMS.DeleteNotificationChannel: data DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: data DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: deleteNotificationChannel :: DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: deleteNotificationChannelResponse :: DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: instance Control.DeepSeq.NFData Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance Control.DeepSeq.NFData Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance Data.Data.Data Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance Data.Data.Data Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: instance Data.Hashable.Class.Hashable Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Classes.Eq Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Classes.Eq Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Generics.Generic Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Generics.Generic Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Read.Read Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Read.Read Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Show.Show Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance GHC.Show.Show Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
- Network.AWS.FMS.DeleteNotificationChannel: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeleteNotificationChannel: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.DeleteNotificationChannel.DeleteNotificationChannel
- Network.AWS.FMS.DeletePolicy: data DeletePolicy
- Network.AWS.FMS.DeletePolicy: data DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: deletePolicy :: Text -> DeletePolicy
- Network.AWS.FMS.DeletePolicy: deletePolicyResponse :: DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: dpPolicyId :: Lens' DeletePolicy Text
- Network.AWS.FMS.DeletePolicy: instance Control.DeepSeq.NFData Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance Control.DeepSeq.NFData Network.AWS.FMS.DeletePolicy.DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance Data.Data.Data Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance Data.Data.Data Network.AWS.FMS.DeletePolicy.DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: instance Data.Hashable.Class.Hashable Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance GHC.Classes.Eq Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance GHC.Classes.Eq Network.AWS.FMS.DeletePolicy.DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: instance GHC.Generics.Generic Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance GHC.Generics.Generic Network.AWS.FMS.DeletePolicy.DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: instance GHC.Read.Read Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance GHC.Read.Read Network.AWS.FMS.DeletePolicy.DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: instance GHC.Show.Show Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance GHC.Show.Show Network.AWS.FMS.DeletePolicy.DeletePolicyResponse
- Network.AWS.FMS.DeletePolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DeletePolicy: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.DeletePolicy.DeletePolicy
- Network.AWS.FMS.DisassociateAdminAccount: data DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: data DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: disassociateAdminAccount :: DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: disassociateAdminAccountResponse :: DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: instance Control.DeepSeq.NFData Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance Control.DeepSeq.NFData Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance Data.Data.Data Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance Data.Data.Data Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: instance Data.Hashable.Class.Hashable Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Classes.Eq Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Classes.Eq Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Generics.Generic Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Generics.Generic Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Read.Read Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Read.Read Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Show.Show Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance GHC.Show.Show Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
- Network.AWS.FMS.DisassociateAdminAccount: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.DisassociateAdminAccount: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.DisassociateAdminAccount.DisassociateAdminAccount
- Network.AWS.FMS.GetAdminAccount: data GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: data GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: gaarsAdminAccount :: Lens' GetAdminAccountResponse (Maybe Text)
- Network.AWS.FMS.GetAdminAccount: gaarsResponseStatus :: Lens' GetAdminAccountResponse Int
- Network.AWS.FMS.GetAdminAccount: getAdminAccount :: GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: getAdminAccountResponse :: Int -> GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: instance Control.DeepSeq.NFData Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance Control.DeepSeq.NFData Network.AWS.FMS.GetAdminAccount.GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance Data.Data.Data Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance Data.Data.Data Network.AWS.FMS.GetAdminAccount.GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: instance Data.Hashable.Class.Hashable Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance GHC.Classes.Eq Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance GHC.Classes.Eq Network.AWS.FMS.GetAdminAccount.GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: instance GHC.Generics.Generic Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance GHC.Generics.Generic Network.AWS.FMS.GetAdminAccount.GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: instance GHC.Read.Read Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance GHC.Read.Read Network.AWS.FMS.GetAdminAccount.GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: instance GHC.Show.Show Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance GHC.Show.Show Network.AWS.FMS.GetAdminAccount.GetAdminAccountResponse
- Network.AWS.FMS.GetAdminAccount: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetAdminAccount: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.GetAdminAccount.GetAdminAccount
- Network.AWS.FMS.GetComplianceDetail: data GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: data GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: gcdMemberAccount :: Lens' GetComplianceDetail Text
- Network.AWS.FMS.GetComplianceDetail: gcdPolicyId :: Lens' GetComplianceDetail Text
- Network.AWS.FMS.GetComplianceDetail: gcdrsPolicyComplianceDetail :: Lens' GetComplianceDetailResponse (Maybe PolicyComplianceDetail)
- Network.AWS.FMS.GetComplianceDetail: gcdrsResponseStatus :: Lens' GetComplianceDetailResponse Int
- Network.AWS.FMS.GetComplianceDetail: getComplianceDetail :: Text -> Text -> GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: getComplianceDetailResponse :: Int -> GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: instance Control.DeepSeq.NFData Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance Control.DeepSeq.NFData Network.AWS.FMS.GetComplianceDetail.GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance Data.Data.Data Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance Data.Data.Data Network.AWS.FMS.GetComplianceDetail.GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: instance Data.Hashable.Class.Hashable Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Classes.Eq Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Classes.Eq Network.AWS.FMS.GetComplianceDetail.GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Generics.Generic Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Generics.Generic Network.AWS.FMS.GetComplianceDetail.GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Read.Read Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Read.Read Network.AWS.FMS.GetComplianceDetail.GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Show.Show Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance GHC.Show.Show Network.AWS.FMS.GetComplianceDetail.GetComplianceDetailResponse
- Network.AWS.FMS.GetComplianceDetail: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetComplianceDetail: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.GetComplianceDetail.GetComplianceDetail
- Network.AWS.FMS.GetNotificationChannel: data GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: data GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: getNotificationChannel :: GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: getNotificationChannelResponse :: Int -> GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: gncrsResponseStatus :: Lens' GetNotificationChannelResponse Int
- Network.AWS.FMS.GetNotificationChannel: gncrsSNSRoleName :: Lens' GetNotificationChannelResponse (Maybe Text)
- Network.AWS.FMS.GetNotificationChannel: gncrsSNSTopicARN :: Lens' GetNotificationChannelResponse (Maybe Text)
- Network.AWS.FMS.GetNotificationChannel: instance Control.DeepSeq.NFData Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance Control.DeepSeq.NFData Network.AWS.FMS.GetNotificationChannel.GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance Data.Data.Data Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance Data.Data.Data Network.AWS.FMS.GetNotificationChannel.GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: instance Data.Hashable.Class.Hashable Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Classes.Eq Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Classes.Eq Network.AWS.FMS.GetNotificationChannel.GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Generics.Generic Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Generics.Generic Network.AWS.FMS.GetNotificationChannel.GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Read.Read Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Read.Read Network.AWS.FMS.GetNotificationChannel.GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Show.Show Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance GHC.Show.Show Network.AWS.FMS.GetNotificationChannel.GetNotificationChannelResponse
- Network.AWS.FMS.GetNotificationChannel: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetNotificationChannel: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.GetNotificationChannel.GetNotificationChannel
- Network.AWS.FMS.GetPolicy: data GetPolicy
- Network.AWS.FMS.GetPolicy: data GetPolicyResponse
- Network.AWS.FMS.GetPolicy: getPolicy :: Text -> GetPolicy
- Network.AWS.FMS.GetPolicy: getPolicyResponse :: Int -> GetPolicyResponse
- Network.AWS.FMS.GetPolicy: gpPolicyId :: Lens' GetPolicy Text
- Network.AWS.FMS.GetPolicy: gprsPolicy :: Lens' GetPolicyResponse (Maybe Policy)
- Network.AWS.FMS.GetPolicy: gprsPolicyARN :: Lens' GetPolicyResponse (Maybe Text)
- Network.AWS.FMS.GetPolicy: gprsResponseStatus :: Lens' GetPolicyResponse Int
- Network.AWS.FMS.GetPolicy: instance Control.DeepSeq.NFData Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance Control.DeepSeq.NFData Network.AWS.FMS.GetPolicy.GetPolicyResponse
- Network.AWS.FMS.GetPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance Data.Data.Data Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance Data.Data.Data Network.AWS.FMS.GetPolicy.GetPolicyResponse
- Network.AWS.FMS.GetPolicy: instance Data.Hashable.Class.Hashable Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance GHC.Classes.Eq Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance GHC.Classes.Eq Network.AWS.FMS.GetPolicy.GetPolicyResponse
- Network.AWS.FMS.GetPolicy: instance GHC.Generics.Generic Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance GHC.Generics.Generic Network.AWS.FMS.GetPolicy.GetPolicyResponse
- Network.AWS.FMS.GetPolicy: instance GHC.Read.Read Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance GHC.Read.Read Network.AWS.FMS.GetPolicy.GetPolicyResponse
- Network.AWS.FMS.GetPolicy: instance GHC.Show.Show Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance GHC.Show.Show Network.AWS.FMS.GetPolicy.GetPolicyResponse
- Network.AWS.FMS.GetPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.GetPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.GetPolicy.GetPolicy
- Network.AWS.FMS.ListComplianceStatus: data ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: data ListComplianceStatusResponse
- Network.AWS.FMS.ListComplianceStatus: instance Control.DeepSeq.NFData Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance Control.DeepSeq.NFData Network.AWS.FMS.ListComplianceStatus.ListComplianceStatusResponse
- Network.AWS.FMS.ListComplianceStatus: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance Data.Data.Data Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance Data.Data.Data Network.AWS.FMS.ListComplianceStatus.ListComplianceStatusResponse
- Network.AWS.FMS.ListComplianceStatus: instance Data.Hashable.Class.Hashable Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Classes.Eq Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Classes.Eq Network.AWS.FMS.ListComplianceStatus.ListComplianceStatusResponse
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Generics.Generic Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Generics.Generic Network.AWS.FMS.ListComplianceStatus.ListComplianceStatusResponse
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Read.Read Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Read.Read Network.AWS.FMS.ListComplianceStatus.ListComplianceStatusResponse
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Show.Show Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance GHC.Show.Show Network.AWS.FMS.ListComplianceStatus.ListComplianceStatusResponse
- Network.AWS.FMS.ListComplianceStatus: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.ListComplianceStatus.ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: lcsMaxResults :: Lens' ListComplianceStatus (Maybe Natural)
- Network.AWS.FMS.ListComplianceStatus: lcsNextToken :: Lens' ListComplianceStatus (Maybe Text)
- Network.AWS.FMS.ListComplianceStatus: lcsPolicyId :: Lens' ListComplianceStatus Text
- Network.AWS.FMS.ListComplianceStatus: lcsrsNextToken :: Lens' ListComplianceStatusResponse (Maybe Text)
- Network.AWS.FMS.ListComplianceStatus: lcsrsPolicyComplianceStatusList :: Lens' ListComplianceStatusResponse [PolicyComplianceStatus]
- Network.AWS.FMS.ListComplianceStatus: lcsrsResponseStatus :: Lens' ListComplianceStatusResponse Int
- Network.AWS.FMS.ListComplianceStatus: listComplianceStatus :: Text -> ListComplianceStatus
- Network.AWS.FMS.ListComplianceStatus: listComplianceStatusResponse :: Int -> ListComplianceStatusResponse
- Network.AWS.FMS.ListPolicies: data ListPolicies
- Network.AWS.FMS.ListPolicies: data ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: instance Control.DeepSeq.NFData Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance Control.DeepSeq.NFData Network.AWS.FMS.ListPolicies.ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance Data.Data.Data Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance Data.Data.Data Network.AWS.FMS.ListPolicies.ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: instance Data.Hashable.Class.Hashable Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance GHC.Classes.Eq Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance GHC.Classes.Eq Network.AWS.FMS.ListPolicies.ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: instance GHC.Generics.Generic Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance GHC.Generics.Generic Network.AWS.FMS.ListPolicies.ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: instance GHC.Read.Read Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance GHC.Read.Read Network.AWS.FMS.ListPolicies.ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: instance GHC.Show.Show Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance GHC.Show.Show Network.AWS.FMS.ListPolicies.ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.ListPolicies.ListPolicies
- Network.AWS.FMS.ListPolicies: listPolicies :: ListPolicies
- Network.AWS.FMS.ListPolicies: listPoliciesResponse :: Int -> ListPoliciesResponse
- Network.AWS.FMS.ListPolicies: lpMaxResults :: Lens' ListPolicies (Maybe Natural)
- Network.AWS.FMS.ListPolicies: lpNextToken :: Lens' ListPolicies (Maybe Text)
- Network.AWS.FMS.ListPolicies: lprsNextToken :: Lens' ListPoliciesResponse (Maybe Text)
- Network.AWS.FMS.ListPolicies: lprsPolicyList :: Lens' ListPoliciesResponse [PolicySummary]
- Network.AWS.FMS.ListPolicies: lprsResponseStatus :: Lens' ListPoliciesResponse Int
- Network.AWS.FMS.PutNotificationChannel: data PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: data PutNotificationChannelResponse
- Network.AWS.FMS.PutNotificationChannel: instance Control.DeepSeq.NFData Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance Control.DeepSeq.NFData Network.AWS.FMS.PutNotificationChannel.PutNotificationChannelResponse
- Network.AWS.FMS.PutNotificationChannel: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance Data.Data.Data Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance Data.Data.Data Network.AWS.FMS.PutNotificationChannel.PutNotificationChannelResponse
- Network.AWS.FMS.PutNotificationChannel: instance Data.Hashable.Class.Hashable Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Classes.Eq Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Classes.Eq Network.AWS.FMS.PutNotificationChannel.PutNotificationChannelResponse
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Generics.Generic Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Generics.Generic Network.AWS.FMS.PutNotificationChannel.PutNotificationChannelResponse
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Read.Read Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Read.Read Network.AWS.FMS.PutNotificationChannel.PutNotificationChannelResponse
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Show.Show Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance GHC.Show.Show Network.AWS.FMS.PutNotificationChannel.PutNotificationChannelResponse
- Network.AWS.FMS.PutNotificationChannel: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.PutNotificationChannel.PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: pncSNSRoleName :: Lens' PutNotificationChannel Text
- Network.AWS.FMS.PutNotificationChannel: pncSNSTopicARN :: Lens' PutNotificationChannel Text
- Network.AWS.FMS.PutNotificationChannel: putNotificationChannel :: Text -> Text -> PutNotificationChannel
- Network.AWS.FMS.PutNotificationChannel: putNotificationChannelResponse :: PutNotificationChannelResponse
- Network.AWS.FMS.PutPolicy: data PutPolicy
- Network.AWS.FMS.PutPolicy: data PutPolicyResponse
- Network.AWS.FMS.PutPolicy: instance Control.DeepSeq.NFData Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance Control.DeepSeq.NFData Network.AWS.FMS.PutPolicy.PutPolicyResponse
- Network.AWS.FMS.PutPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance Data.Data.Data Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance Data.Data.Data Network.AWS.FMS.PutPolicy.PutPolicyResponse
- Network.AWS.FMS.PutPolicy: instance Data.Hashable.Class.Hashable Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance GHC.Classes.Eq Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance GHC.Classes.Eq Network.AWS.FMS.PutPolicy.PutPolicyResponse
- Network.AWS.FMS.PutPolicy: instance GHC.Generics.Generic Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance GHC.Generics.Generic Network.AWS.FMS.PutPolicy.PutPolicyResponse
- Network.AWS.FMS.PutPolicy: instance GHC.Read.Read Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance GHC.Read.Read Network.AWS.FMS.PutPolicy.PutPolicyResponse
- Network.AWS.FMS.PutPolicy: instance GHC.Show.Show Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance GHC.Show.Show Network.AWS.FMS.PutPolicy.PutPolicyResponse
- Network.AWS.FMS.PutPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.FMS.PutPolicy.PutPolicy
- Network.AWS.FMS.PutPolicy: ppPolicy :: Lens' PutPolicy Policy
- Network.AWS.FMS.PutPolicy: pprsPolicy :: Lens' PutPolicyResponse (Maybe Policy)
- Network.AWS.FMS.PutPolicy: pprsPolicyARN :: Lens' PutPolicyResponse (Maybe Text)
- Network.AWS.FMS.PutPolicy: pprsResponseStatus :: Lens' PutPolicyResponse Int
- Network.AWS.FMS.PutPolicy: putPolicy :: Policy -> PutPolicy
- Network.AWS.FMS.PutPolicy: putPolicyResponse :: Int -> PutPolicyResponse
- Network.AWS.FMS.Types: Compliant :: PolicyComplianceStatusType
- Network.AWS.FMS.Types: NonCompliant :: PolicyComplianceStatusType
- Network.AWS.FMS.Types: ResourceIncorrectWebACL :: ViolationReason
- Network.AWS.FMS.Types: ResourceMissingWebACL :: ViolationReason
- Network.AWS.FMS.Types: Waf :: SecurityServiceType
- Network.AWS.FMS.Types: WebACLMissingRuleGroup :: ViolationReason
- Network.AWS.FMS.Types: _InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS.Types: _InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS.Types: _InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS.Types: _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS.Types: _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.FMS.Types: complianceViolator :: ComplianceViolator
- Network.AWS.FMS.Types: cvResourceId :: Lens' ComplianceViolator (Maybe Text)
- Network.AWS.FMS.Types: cvResourceType :: Lens' ComplianceViolator (Maybe Text)
- Network.AWS.FMS.Types: cvViolationReason :: Lens' ComplianceViolator (Maybe ViolationReason)
- Network.AWS.FMS.Types: data ComplianceViolator
- Network.AWS.FMS.Types: data EvaluationResult
- Network.AWS.FMS.Types: data Policy
- Network.AWS.FMS.Types: data PolicyComplianceDetail
- Network.AWS.FMS.Types: data PolicyComplianceStatus
- Network.AWS.FMS.Types: data PolicyComplianceStatusType
- Network.AWS.FMS.Types: data PolicySummary
- Network.AWS.FMS.Types: data ResourceTag
- Network.AWS.FMS.Types: data SecurityServicePolicyData
- Network.AWS.FMS.Types: data SecurityServiceType
- Network.AWS.FMS.Types: data ViolationReason
- Network.AWS.FMS.Types: erComplianceStatus :: Lens' EvaluationResult (Maybe PolicyComplianceStatusType)
- Network.AWS.FMS.Types: erEvaluationLimitExceeded :: Lens' EvaluationResult (Maybe Bool)
- Network.AWS.FMS.Types: erViolatorCount :: Lens' EvaluationResult (Maybe Natural)
- Network.AWS.FMS.Types: evaluationResult :: EvaluationResult
- Network.AWS.FMS.Types: fms :: Service
- Network.AWS.FMS.Types: pExcludeResourceTags :: Lens' Policy Bool
- Network.AWS.FMS.Types: pPolicyId :: Lens' Policy (Maybe Text)
- Network.AWS.FMS.Types: pPolicyName :: Lens' Policy Text
- Network.AWS.FMS.Types: pPolicyUpdateToken :: Lens' Policy (Maybe Text)
- Network.AWS.FMS.Types: pRemediationEnabled :: Lens' Policy Bool
- Network.AWS.FMS.Types: pResourceTags :: Lens' Policy [ResourceTag]
- Network.AWS.FMS.Types: pResourceType :: Lens' Policy Text
- Network.AWS.FMS.Types: pSecurityServicePolicyData :: Lens' Policy SecurityServicePolicyData
- Network.AWS.FMS.Types: pcdEvaluationLimitExceeded :: Lens' PolicyComplianceDetail (Maybe Bool)
- Network.AWS.FMS.Types: pcdExpiredAt :: Lens' PolicyComplianceDetail (Maybe UTCTime)
- Network.AWS.FMS.Types: pcdMemberAccount :: Lens' PolicyComplianceDetail (Maybe Text)
- Network.AWS.FMS.Types: pcdPolicyId :: Lens' PolicyComplianceDetail (Maybe Text)
- Network.AWS.FMS.Types: pcdPolicyOwner :: Lens' PolicyComplianceDetail (Maybe Text)
- Network.AWS.FMS.Types: pcdViolators :: Lens' PolicyComplianceDetail [ComplianceViolator]
- Network.AWS.FMS.Types: pcsEvaluationResults :: Lens' PolicyComplianceStatus [EvaluationResult]
- Network.AWS.FMS.Types: pcsLastUpdated :: Lens' PolicyComplianceStatus (Maybe UTCTime)
- Network.AWS.FMS.Types: pcsMemberAccount :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS.Types: pcsPolicyId :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS.Types: pcsPolicyName :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS.Types: pcsPolicyOwner :: Lens' PolicyComplianceStatus (Maybe Text)
- Network.AWS.FMS.Types: policy :: Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
- Network.AWS.FMS.Types: policyComplianceDetail :: PolicyComplianceDetail
- Network.AWS.FMS.Types: policyComplianceStatus :: PolicyComplianceStatus
- Network.AWS.FMS.Types: policySummary :: PolicySummary
- Network.AWS.FMS.Types: psPolicyARN :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS.Types: psPolicyId :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS.Types: psPolicyName :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS.Types: psRemediationEnabled :: Lens' PolicySummary (Maybe Bool)
- Network.AWS.FMS.Types: psResourceType :: Lens' PolicySummary (Maybe Text)
- Network.AWS.FMS.Types: psSecurityServiceType :: Lens' PolicySummary (Maybe SecurityServiceType)
- Network.AWS.FMS.Types: resourceTag :: Text -> ResourceTag
- Network.AWS.FMS.Types: rtKey :: Lens' ResourceTag Text
- Network.AWS.FMS.Types: rtValue :: Lens' ResourceTag (Maybe Text)
- Network.AWS.FMS.Types: securityServicePolicyData :: SecurityServiceType -> SecurityServicePolicyData
- Network.AWS.FMS.Types: sspdManagedServiceData :: Lens' SecurityServicePolicyData (Maybe Text)
- Network.AWS.FMS.Types: sspdType :: Lens' SecurityServicePolicyData SecurityServiceType
+ Amazonka.FMS: AccountRoleStatus' :: Text -> AccountRoleStatus
+ Amazonka.FMS: ActionTarget' :: Maybe Text -> Maybe Text -> ActionTarget
+ Amazonka.FMS: App' :: Text -> Text -> Natural -> App
+ Amazonka.FMS: AppsListData' :: Maybe POSIX -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe (HashMap Text [App]) -> Text -> [App] -> AppsListData
+ Amazonka.FMS: AppsListDataSummary' :: Maybe [App] -> Maybe Text -> Maybe Text -> Maybe Text -> AppsListDataSummary
+ Amazonka.FMS: AssociateAdminAccount' :: Text -> AssociateAdminAccount
+ Amazonka.FMS: AssociateAdminAccountResponse' :: AssociateAdminAccountResponse
+ Amazonka.FMS: AssociateThirdPartyFirewall' :: ThirdPartyFirewall -> AssociateThirdPartyFirewall
+ Amazonka.FMS: AssociateThirdPartyFirewallResponse' :: Maybe ThirdPartyFirewallAssociationStatus -> Int -> AssociateThirdPartyFirewallResponse
+ Amazonka.FMS: AwsEc2InstanceViolation' :: Maybe [AwsEc2NetworkInterfaceViolation] -> Maybe Text -> AwsEc2InstanceViolation
+ Amazonka.FMS: AwsEc2NetworkInterfaceViolation' :: Maybe [Text] -> Maybe Text -> AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS: AwsVPCSecurityGroupViolation' :: Maybe [PartialMatch] -> Maybe [SecurityGroupRemediationAction] -> Maybe Text -> Maybe Text -> AwsVPCSecurityGroupViolation
+ Amazonka.FMS: BatchAssociateResource' :: Text -> [Text] -> BatchAssociateResource
+ Amazonka.FMS: BatchAssociateResourceResponse' :: Int -> Text -> [FailedItem] -> BatchAssociateResourceResponse
+ Amazonka.FMS: BatchDisassociateResource' :: Text -> [Text] -> BatchDisassociateResource
+ Amazonka.FMS: BatchDisassociateResourceResponse' :: Int -> Text -> [FailedItem] -> BatchDisassociateResourceResponse
+ Amazonka.FMS: ComplianceViolator' :: Maybe (HashMap Text Text) -> Maybe Text -> Maybe Text -> Maybe ViolationReason -> ComplianceViolator
+ Amazonka.FMS: CustomerPolicyScopeIdType' :: Text -> CustomerPolicyScopeIdType
+ Amazonka.FMS: DeleteAppsList' :: Text -> DeleteAppsList
+ Amazonka.FMS: DeleteAppsListResponse' :: DeleteAppsListResponse
+ Amazonka.FMS: DeleteNotificationChannel' :: DeleteNotificationChannel
+ Amazonka.FMS: DeleteNotificationChannelResponse' :: DeleteNotificationChannelResponse
+ Amazonka.FMS: DeletePolicy' :: Maybe Bool -> Text -> DeletePolicy
+ Amazonka.FMS: DeletePolicyResponse' :: DeletePolicyResponse
+ Amazonka.FMS: DeleteProtocolsList' :: Text -> DeleteProtocolsList
+ Amazonka.FMS: DeleteProtocolsListResponse' :: DeleteProtocolsListResponse
+ Amazonka.FMS: DeleteResourceSet' :: Text -> DeleteResourceSet
+ Amazonka.FMS: DeleteResourceSetResponse' :: DeleteResourceSetResponse
+ Amazonka.FMS: DependentServiceName' :: Text -> DependentServiceName
+ Amazonka.FMS: DestinationType' :: Text -> DestinationType
+ Amazonka.FMS: DisassociateAdminAccount' :: DisassociateAdminAccount
+ Amazonka.FMS: DisassociateAdminAccountResponse' :: DisassociateAdminAccountResponse
+ Amazonka.FMS: DisassociateThirdPartyFirewall' :: ThirdPartyFirewall -> DisassociateThirdPartyFirewall
+ Amazonka.FMS: DisassociateThirdPartyFirewallResponse' :: Maybe ThirdPartyFirewallAssociationStatus -> Int -> DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS: DiscoveredResource' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> DiscoveredResource
+ Amazonka.FMS: DnsDuplicateRuleGroupViolation' :: Maybe Text -> Maybe Text -> DnsDuplicateRuleGroupViolation
+ Amazonka.FMS: DnsRuleGroupLimitExceededViolation' :: Maybe Int -> Maybe Text -> Maybe Text -> DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS: DnsRuleGroupPriorityConflictViolation' :: Maybe Text -> Maybe Natural -> Maybe [Natural] -> Maybe Text -> Maybe Text -> DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS: EC2AssociateRouteTableAction' :: Maybe Text -> Maybe ActionTarget -> Maybe ActionTarget -> ActionTarget -> EC2AssociateRouteTableAction
+ Amazonka.FMS: EC2CopyRouteTableAction' :: Maybe Text -> ActionTarget -> ActionTarget -> EC2CopyRouteTableAction
+ Amazonka.FMS: EC2CreateRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ActionTarget -> Maybe ActionTarget -> ActionTarget -> EC2CreateRouteAction
+ Amazonka.FMS: EC2CreateRouteTableAction' :: Maybe Text -> ActionTarget -> EC2CreateRouteTableAction
+ Amazonka.FMS: EC2DeleteRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ActionTarget -> EC2DeleteRouteAction
+ Amazonka.FMS: EC2ReplaceRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ActionTarget -> ActionTarget -> EC2ReplaceRouteAction
+ Amazonka.FMS: EC2ReplaceRouteTableAssociationAction' :: Maybe Text -> ActionTarget -> ActionTarget -> EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS: EvaluationResult' :: Maybe PolicyComplianceStatusType -> Maybe Bool -> Maybe Natural -> EvaluationResult
+ Amazonka.FMS: ExpectedRoute' :: Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ExpectedRoute
+ Amazonka.FMS: FMSPolicyUpdateFirewallCreationConfigAction' :: Maybe Text -> Maybe Text -> FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS: FailedItem' :: Maybe FailedItemReason -> Maybe Text -> FailedItem
+ Amazonka.FMS: FailedItemReason' :: Text -> FailedItemReason
+ Amazonka.FMS: FirewallDeploymentModel' :: Text -> FirewallDeploymentModel
+ Amazonka.FMS: FirewallSubnetIsOutOfScopeViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS: FirewallSubnetMissingVPCEndpointViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS: GetAdminAccount' :: GetAdminAccount
+ Amazonka.FMS: GetAdminAccountResponse' :: Maybe Text -> Maybe AccountRoleStatus -> Int -> GetAdminAccountResponse
+ Amazonka.FMS: GetAppsList' :: Maybe Bool -> Text -> GetAppsList
+ Amazonka.FMS: GetAppsListResponse' :: Maybe AppsListData -> Maybe Text -> Int -> GetAppsListResponse
+ Amazonka.FMS: GetComplianceDetail' :: Text -> Text -> GetComplianceDetail
+ Amazonka.FMS: GetComplianceDetailResponse' :: Maybe PolicyComplianceDetail -> Int -> GetComplianceDetailResponse
+ Amazonka.FMS: GetNotificationChannel' :: GetNotificationChannel
+ Amazonka.FMS: GetNotificationChannelResponse' :: Maybe Text -> Maybe Text -> Int -> GetNotificationChannelResponse
+ Amazonka.FMS: GetPolicy' :: Text -> GetPolicy
+ Amazonka.FMS: GetPolicyResponse' :: Maybe Policy -> Maybe Text -> Int -> GetPolicyResponse
+ Amazonka.FMS: GetProtectionStatus' :: Maybe POSIX -> Maybe Natural -> Maybe Text -> Maybe Text -> Maybe POSIX -> Text -> GetProtectionStatus
+ Amazonka.FMS: GetProtectionStatusResponse' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe SecurityServiceType -> Int -> GetProtectionStatusResponse
+ Amazonka.FMS: GetProtocolsList' :: Maybe Bool -> Text -> GetProtocolsList
+ Amazonka.FMS: GetProtocolsListResponse' :: Maybe ProtocolsListData -> Maybe Text -> Int -> GetProtocolsListResponse
+ Amazonka.FMS: GetResourceSet' :: Text -> GetResourceSet
+ Amazonka.FMS: GetResourceSetResponse' :: Int -> ResourceSet -> Text -> GetResourceSetResponse
+ Amazonka.FMS: GetThirdPartyFirewallAssociationStatus' :: ThirdPartyFirewall -> GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: GetThirdPartyFirewallAssociationStatusResponse' :: Maybe MarketplaceSubscriptionOnboardingStatus -> Maybe ThirdPartyFirewallAssociationStatus -> Int -> GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS: GetViolationDetails' :: Text -> Text -> Text -> Text -> GetViolationDetails
+ Amazonka.FMS: GetViolationDetailsResponse' :: Maybe ViolationDetail -> Int -> GetViolationDetailsResponse
+ Amazonka.FMS: ListAppsLists' :: Maybe Bool -> Maybe Text -> Natural -> ListAppsLists
+ Amazonka.FMS: ListAppsListsResponse' :: Maybe [AppsListDataSummary] -> Maybe Text -> Int -> ListAppsListsResponse
+ Amazonka.FMS: ListComplianceStatus' :: Maybe Natural -> Maybe Text -> Text -> ListComplianceStatus
+ Amazonka.FMS: ListComplianceStatusResponse' :: Maybe Text -> Maybe [PolicyComplianceStatus] -> Int -> ListComplianceStatusResponse
+ Amazonka.FMS: ListDiscoveredResources' :: Maybe Natural -> Maybe Text -> [Text] -> Text -> ListDiscoveredResources
+ Amazonka.FMS: ListDiscoveredResourcesResponse' :: Maybe [DiscoveredResource] -> Maybe Text -> Int -> ListDiscoveredResourcesResponse
+ Amazonka.FMS: ListMemberAccounts' :: Maybe Natural -> Maybe Text -> ListMemberAccounts
+ Amazonka.FMS: ListMemberAccountsResponse' :: Maybe [Text] -> Maybe Text -> Int -> ListMemberAccountsResponse
+ Amazonka.FMS: ListPolicies' :: Maybe Natural -> Maybe Text -> ListPolicies
+ Amazonka.FMS: ListPoliciesResponse' :: Maybe Text -> Maybe [PolicySummary] -> Int -> ListPoliciesResponse
+ Amazonka.FMS: ListProtocolsLists' :: Maybe Bool -> Maybe Text -> Natural -> ListProtocolsLists
+ Amazonka.FMS: ListProtocolsListsResponse' :: Maybe Text -> Maybe [ProtocolsListDataSummary] -> Int -> ListProtocolsListsResponse
+ Amazonka.FMS: ListResourceSetResources' :: Maybe Natural -> Maybe Text -> Text -> ListResourceSetResources
+ Amazonka.FMS: ListResourceSetResourcesResponse' :: Maybe Text -> Int -> [Resource] -> ListResourceSetResourcesResponse
+ Amazonka.FMS: ListResourceSets' :: Maybe Natural -> Maybe Text -> ListResourceSets
+ Amazonka.FMS: ListResourceSetsResponse' :: Maybe Text -> Maybe [ResourceSetSummary] -> Int -> ListResourceSetsResponse
+ Amazonka.FMS: ListTagsForResource' :: Text -> ListTagsForResource
+ Amazonka.FMS: ListTagsForResourceResponse' :: Maybe [Tag] -> Int -> ListTagsForResourceResponse
+ Amazonka.FMS: ListThirdPartyFirewallFirewallPolicies' :: Maybe Text -> ThirdPartyFirewall -> Natural -> ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS: ListThirdPartyFirewallFirewallPoliciesResponse' :: Maybe Text -> Maybe [ThirdPartyFirewallFirewallPolicy] -> Int -> ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS: MarketplaceSubscriptionOnboardingStatus' :: Text -> MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS: NetworkFirewallBlackHoleRouteDetectedViolation' :: Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe Text -> NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS: NetworkFirewallInternetTrafficNotInspectedViolation' :: Maybe [Route] -> Maybe [Route] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExpectedRoute] -> Maybe [ExpectedRoute] -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS: NetworkFirewallInvalidRouteConfigurationViolation' :: Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe [Route] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExpectedRoute] -> Maybe [ExpectedRoute] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Route -> Maybe Text -> NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS: NetworkFirewallMissingExpectedRTViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS: NetworkFirewallMissingExpectedRoutesViolation' :: Maybe [ExpectedRoute] -> Maybe Text -> Maybe Text -> NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS: NetworkFirewallMissingFirewallViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS: NetworkFirewallMissingSubnetViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS: NetworkFirewallOverrideAction' :: Text -> NetworkFirewallOverrideAction
+ Amazonka.FMS: NetworkFirewallPolicy' :: Maybe FirewallDeploymentModel -> NetworkFirewallPolicy
+ Amazonka.FMS: NetworkFirewallPolicyDescription' :: Maybe [Text] -> Maybe StatefulEngineOptions -> Maybe [StatefulRuleGroup] -> Maybe [Text] -> Maybe [Text] -> Maybe [Text] -> Maybe [StatelessRuleGroup] -> NetworkFirewallPolicyDescription
+ Amazonka.FMS: NetworkFirewallPolicyModifiedViolation' :: Maybe NetworkFirewallPolicyDescription -> Maybe NetworkFirewallPolicyDescription -> Maybe Text -> NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS: NetworkFirewallStatefulRuleGroupOverride' :: Maybe NetworkFirewallOverrideAction -> NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS: NetworkFirewallUnexpectedFirewallRoutesViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS: NetworkFirewallUnexpectedGatewayRoutesViolation' :: Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS: PartialMatch' :: Maybe Text -> Maybe [Text] -> PartialMatch
+ Amazonka.FMS: Policy' :: Maybe Bool -> Maybe (HashMap CustomerPolicyScopeIdType [Text]) -> Maybe (HashMap CustomerPolicyScopeIdType [Text]) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe [ResourceTag] -> Maybe [Text] -> Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
+ Amazonka.FMS: PolicyComplianceDetail' :: Maybe Bool -> Maybe POSIX -> Maybe (HashMap DependentServiceName Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ComplianceViolator] -> PolicyComplianceDetail
+ Amazonka.FMS: PolicyComplianceStatus' :: Maybe [EvaluationResult] -> Maybe (HashMap DependentServiceName Text) -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> PolicyComplianceStatus
+ Amazonka.FMS: PolicyComplianceStatusType' :: Text -> PolicyComplianceStatusType
+ Amazonka.FMS: PolicyOption' :: Maybe NetworkFirewallPolicy -> Maybe ThirdPartyFirewallPolicy -> PolicyOption
+ Amazonka.FMS: PolicySummary' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe SecurityServiceType -> PolicySummary
+ Amazonka.FMS: PossibleRemediationAction' :: Maybe Text -> Maybe Bool -> [RemediationActionWithOrder] -> PossibleRemediationAction
+ Amazonka.FMS: PossibleRemediationActions' :: Maybe [PossibleRemediationAction] -> Maybe Text -> PossibleRemediationActions
+ Amazonka.FMS: ProtocolsListData' :: Maybe POSIX -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe (HashMap Text [Text]) -> Text -> [Text] -> ProtocolsListData
+ Amazonka.FMS: ProtocolsListDataSummary' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> ProtocolsListDataSummary
+ Amazonka.FMS: PutAppsList' :: Maybe [Tag] -> AppsListData -> PutAppsList
+ Amazonka.FMS: PutAppsListResponse' :: Maybe AppsListData -> Maybe Text -> Int -> PutAppsListResponse
+ Amazonka.FMS: PutNotificationChannel' :: Text -> Text -> PutNotificationChannel
+ Amazonka.FMS: PutNotificationChannelResponse' :: PutNotificationChannelResponse
+ Amazonka.FMS: PutPolicy' :: Maybe [Tag] -> Policy -> PutPolicy
+ Amazonka.FMS: PutPolicyResponse' :: Maybe Policy -> Maybe Text -> Int -> PutPolicyResponse
+ Amazonka.FMS: PutProtocolsList' :: Maybe [Tag] -> ProtocolsListData -> PutProtocolsList
+ Amazonka.FMS: PutProtocolsListResponse' :: Maybe ProtocolsListData -> Maybe Text -> Int -> PutProtocolsListResponse
+ Amazonka.FMS: PutResourceSet' :: Maybe [Tag] -> ResourceSet -> PutResourceSet
+ Amazonka.FMS: PutResourceSetResponse' :: Int -> ResourceSet -> Text -> PutResourceSetResponse
+ Amazonka.FMS: RemediationAction' :: Maybe Text -> Maybe EC2AssociateRouteTableAction -> Maybe EC2CopyRouteTableAction -> Maybe EC2CreateRouteAction -> Maybe EC2CreateRouteTableAction -> Maybe EC2DeleteRouteAction -> Maybe EC2ReplaceRouteAction -> Maybe EC2ReplaceRouteTableAssociationAction -> Maybe FMSPolicyUpdateFirewallCreationConfigAction -> RemediationAction
+ Amazonka.FMS: RemediationActionType' :: Text -> RemediationActionType
+ Amazonka.FMS: RemediationActionWithOrder' :: Maybe Int -> Maybe RemediationAction -> RemediationActionWithOrder
+ Amazonka.FMS: Resource' :: Maybe Text -> Text -> Resource
+ Amazonka.FMS: ResourceSet' :: Maybe Text -> Maybe Text -> Maybe POSIX -> Maybe Text -> Text -> [Text] -> ResourceSet
+ Amazonka.FMS: ResourceSetSummary' :: Maybe Text -> Maybe Text -> Maybe POSIX -> Maybe Text -> ResourceSetSummary
+ Amazonka.FMS: ResourceTag' :: Maybe Text -> Text -> ResourceTag
+ Amazonka.FMS: ResourceViolation' :: Maybe AwsEc2InstanceViolation -> Maybe AwsEc2NetworkInterfaceViolation -> Maybe AwsVPCSecurityGroupViolation -> Maybe DnsDuplicateRuleGroupViolation -> Maybe DnsRuleGroupLimitExceededViolation -> Maybe DnsRuleGroupPriorityConflictViolation -> Maybe FirewallSubnetIsOutOfScopeViolation -> Maybe FirewallSubnetMissingVPCEndpointViolation -> Maybe NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe NetworkFirewallInvalidRouteConfigurationViolation -> Maybe NetworkFirewallMissingExpectedRTViolation -> Maybe NetworkFirewallMissingExpectedRoutesViolation -> Maybe NetworkFirewallMissingFirewallViolation -> Maybe NetworkFirewallMissingSubnetViolation -> Maybe NetworkFirewallPolicyModifiedViolation -> Maybe NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe PossibleRemediationActions -> Maybe RouteHasOutOfScopeEndpointViolation -> Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe ThirdPartyFirewallMissingFirewallViolation -> Maybe ThirdPartyFirewallMissingSubnetViolation -> ResourceViolation
+ Amazonka.FMS: Route' :: Maybe Text -> Maybe DestinationType -> Maybe Text -> Maybe TargetType -> Route
+ Amazonka.FMS: RouteHasOutOfScopeEndpointViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS: RuleOrder' :: Text -> RuleOrder
+ Amazonka.FMS: SecurityGroupRemediationAction' :: Maybe Text -> Maybe Bool -> Maybe RemediationActionType -> Maybe SecurityGroupRuleDescription -> SecurityGroupRemediationAction
+ Amazonka.FMS: SecurityGroupRuleDescription' :: Maybe Natural -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Natural -> SecurityGroupRuleDescription
+ Amazonka.FMS: SecurityServicePolicyData' :: Maybe Text -> Maybe PolicyOption -> SecurityServiceType -> SecurityServicePolicyData
+ Amazonka.FMS: SecurityServiceType' :: Text -> SecurityServiceType
+ Amazonka.FMS: StatefulEngineOptions' :: Maybe RuleOrder -> StatefulEngineOptions
+ Amazonka.FMS: StatefulRuleGroup' :: Maybe NetworkFirewallStatefulRuleGroupOverride -> Maybe Int -> Maybe Text -> Maybe Text -> StatefulRuleGroup
+ Amazonka.FMS: StatelessRuleGroup' :: Maybe Natural -> Maybe Text -> Maybe Text -> StatelessRuleGroup
+ Amazonka.FMS: Tag' :: Text -> Text -> Tag
+ Amazonka.FMS: TagResource' :: Text -> [Tag] -> TagResource
+ Amazonka.FMS: TagResourceResponse' :: Int -> TagResourceResponse
+ Amazonka.FMS: TargetType' :: Text -> TargetType
+ Amazonka.FMS: ThirdPartyFirewall' :: Text -> ThirdPartyFirewall
+ Amazonka.FMS: ThirdPartyFirewallAssociationStatus' :: Text -> ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: ThirdPartyFirewallFirewallPolicy' :: Maybe Text -> Maybe Text -> ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS: ThirdPartyFirewallMissingExpectedRouteTableViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS: ThirdPartyFirewallMissingFirewallViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS: ThirdPartyFirewallMissingSubnetViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS: ThirdPartyFirewallPolicy' :: Maybe FirewallDeploymentModel -> ThirdPartyFirewallPolicy
+ Amazonka.FMS: UntagResource' :: Text -> [Text] -> UntagResource
+ Amazonka.FMS: UntagResourceResponse' :: Int -> UntagResourceResponse
+ Amazonka.FMS: ViolationDetail' :: Maybe Text -> Maybe [Tag] -> Text -> Text -> Text -> Text -> [ResourceViolation] -> ViolationDetail
+ Amazonka.FMS: ViolationReason' :: Text -> ViolationReason
+ Amazonka.FMS: [fromAccountRoleStatus] :: AccountRoleStatus -> Text
+ Amazonka.FMS: [fromCustomerPolicyScopeIdType] :: CustomerPolicyScopeIdType -> Text
+ Amazonka.FMS: [fromDependentServiceName] :: DependentServiceName -> Text
+ Amazonka.FMS: [fromDestinationType] :: DestinationType -> Text
+ Amazonka.FMS: [fromFailedItemReason] :: FailedItemReason -> Text
+ Amazonka.FMS: [fromFirewallDeploymentModel] :: FirewallDeploymentModel -> Text
+ Amazonka.FMS: [fromMarketplaceSubscriptionOnboardingStatus] :: MarketplaceSubscriptionOnboardingStatus -> Text
+ Amazonka.FMS: [fromNetworkFirewallOverrideAction] :: NetworkFirewallOverrideAction -> Text
+ Amazonka.FMS: [fromPolicyComplianceStatusType] :: PolicyComplianceStatusType -> Text
+ Amazonka.FMS: [fromRemediationActionType] :: RemediationActionType -> Text
+ Amazonka.FMS: [fromRuleOrder] :: RuleOrder -> Text
+ Amazonka.FMS: [fromSecurityServiceType] :: SecurityServiceType -> Text
+ Amazonka.FMS: [fromTargetType] :: TargetType -> Text
+ Amazonka.FMS: [fromThirdPartyFirewallAssociationStatus] :: ThirdPartyFirewallAssociationStatus -> Text
+ Amazonka.FMS: [fromThirdPartyFirewall] :: ThirdPartyFirewall -> Text
+ Amazonka.FMS: [fromViolationReason] :: ViolationReason -> Text
+ Amazonka.FMS: _InternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.FMS: _InvalidInputException :: AsError a => Fold a ServiceError
+ Amazonka.FMS: _InvalidOperationException :: AsError a => Fold a ServiceError
+ Amazonka.FMS: _InvalidTypeException :: AsError a => Fold a ServiceError
+ Amazonka.FMS: _LimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.FMS: _ResourceNotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.FMS: data ActionTarget
+ Amazonka.FMS: data App
+ Amazonka.FMS: data AppsListData
+ Amazonka.FMS: data AppsListDataSummary
+ Amazonka.FMS: data AssociateAdminAccount
+ Amazonka.FMS: data AssociateAdminAccountResponse
+ Amazonka.FMS: data AssociateThirdPartyFirewall
+ Amazonka.FMS: data AssociateThirdPartyFirewallResponse
+ Amazonka.FMS: data AwsEc2InstanceViolation
+ Amazonka.FMS: data AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS: data AwsVPCSecurityGroupViolation
+ Amazonka.FMS: data BatchAssociateResource
+ Amazonka.FMS: data BatchAssociateResourceResponse
+ Amazonka.FMS: data BatchDisassociateResource
+ Amazonka.FMS: data BatchDisassociateResourceResponse
+ Amazonka.FMS: data ComplianceViolator
+ Amazonka.FMS: data DeleteAppsList
+ Amazonka.FMS: data DeleteAppsListResponse
+ Amazonka.FMS: data DeleteNotificationChannel
+ Amazonka.FMS: data DeleteNotificationChannelResponse
+ Amazonka.FMS: data DeletePolicy
+ Amazonka.FMS: data DeletePolicyResponse
+ Amazonka.FMS: data DeleteProtocolsList
+ Amazonka.FMS: data DeleteProtocolsListResponse
+ Amazonka.FMS: data DeleteResourceSet
+ Amazonka.FMS: data DeleteResourceSetResponse
+ Amazonka.FMS: data DisassociateAdminAccount
+ Amazonka.FMS: data DisassociateAdminAccountResponse
+ Amazonka.FMS: data DisassociateThirdPartyFirewall
+ Amazonka.FMS: data DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS: data DiscoveredResource
+ Amazonka.FMS: data DnsDuplicateRuleGroupViolation
+ Amazonka.FMS: data DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS: data DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS: data EC2AssociateRouteTableAction
+ Amazonka.FMS: data EC2CopyRouteTableAction
+ Amazonka.FMS: data EC2CreateRouteAction
+ Amazonka.FMS: data EC2CreateRouteTableAction
+ Amazonka.FMS: data EC2DeleteRouteAction
+ Amazonka.FMS: data EC2ReplaceRouteAction
+ Amazonka.FMS: data EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS: data EvaluationResult
+ Amazonka.FMS: data ExpectedRoute
+ Amazonka.FMS: data FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS: data FailedItem
+ Amazonka.FMS: data FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS: data FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS: data GetAdminAccount
+ Amazonka.FMS: data GetAdminAccountResponse
+ Amazonka.FMS: data GetAppsList
+ Amazonka.FMS: data GetAppsListResponse
+ Amazonka.FMS: data GetComplianceDetail
+ Amazonka.FMS: data GetComplianceDetailResponse
+ Amazonka.FMS: data GetNotificationChannel
+ Amazonka.FMS: data GetNotificationChannelResponse
+ Amazonka.FMS: data GetPolicy
+ Amazonka.FMS: data GetPolicyResponse
+ Amazonka.FMS: data GetProtectionStatus
+ Amazonka.FMS: data GetProtectionStatusResponse
+ Amazonka.FMS: data GetProtocolsList
+ Amazonka.FMS: data GetProtocolsListResponse
+ Amazonka.FMS: data GetResourceSet
+ Amazonka.FMS: data GetResourceSetResponse
+ Amazonka.FMS: data GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: data GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS: data GetViolationDetails
+ Amazonka.FMS: data GetViolationDetailsResponse
+ Amazonka.FMS: data ListAppsLists
+ Amazonka.FMS: data ListAppsListsResponse
+ Amazonka.FMS: data ListComplianceStatus
+ Amazonka.FMS: data ListComplianceStatusResponse
+ Amazonka.FMS: data ListDiscoveredResources
+ Amazonka.FMS: data ListDiscoveredResourcesResponse
+ Amazonka.FMS: data ListMemberAccounts
+ Amazonka.FMS: data ListMemberAccountsResponse
+ Amazonka.FMS: data ListPolicies
+ Amazonka.FMS: data ListPoliciesResponse
+ Amazonka.FMS: data ListProtocolsLists
+ Amazonka.FMS: data ListProtocolsListsResponse
+ Amazonka.FMS: data ListResourceSetResources
+ Amazonka.FMS: data ListResourceSetResourcesResponse
+ Amazonka.FMS: data ListResourceSets
+ Amazonka.FMS: data ListResourceSetsResponse
+ Amazonka.FMS: data ListTagsForResource
+ Amazonka.FMS: data ListTagsForResourceResponse
+ Amazonka.FMS: data ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS: data ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS: data NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS: data NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS: data NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS: data NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS: data NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS: data NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS: data NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS: data NetworkFirewallPolicy
+ Amazonka.FMS: data NetworkFirewallPolicyDescription
+ Amazonka.FMS: data NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS: data NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS: data NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS: data NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS: data PartialMatch
+ Amazonka.FMS: data Policy
+ Amazonka.FMS: data PolicyComplianceDetail
+ Amazonka.FMS: data PolicyComplianceStatus
+ Amazonka.FMS: data PolicyOption
+ Amazonka.FMS: data PolicySummary
+ Amazonka.FMS: data PossibleRemediationAction
+ Amazonka.FMS: data PossibleRemediationActions
+ Amazonka.FMS: data ProtocolsListData
+ Amazonka.FMS: data ProtocolsListDataSummary
+ Amazonka.FMS: data PutAppsList
+ Amazonka.FMS: data PutAppsListResponse
+ Amazonka.FMS: data PutNotificationChannel
+ Amazonka.FMS: data PutNotificationChannelResponse
+ Amazonka.FMS: data PutPolicy
+ Amazonka.FMS: data PutPolicyResponse
+ Amazonka.FMS: data PutProtocolsList
+ Amazonka.FMS: data PutProtocolsListResponse
+ Amazonka.FMS: data PutResourceSet
+ Amazonka.FMS: data PutResourceSetResponse
+ Amazonka.FMS: data RemediationAction
+ Amazonka.FMS: data RemediationActionWithOrder
+ Amazonka.FMS: data Resource
+ Amazonka.FMS: data ResourceSet
+ Amazonka.FMS: data ResourceSetSummary
+ Amazonka.FMS: data ResourceTag
+ Amazonka.FMS: data ResourceViolation
+ Amazonka.FMS: data Route
+ Amazonka.FMS: data RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS: data SecurityGroupRemediationAction
+ Amazonka.FMS: data SecurityGroupRuleDescription
+ Amazonka.FMS: data SecurityServicePolicyData
+ Amazonka.FMS: data StatefulEngineOptions
+ Amazonka.FMS: data StatefulRuleGroup
+ Amazonka.FMS: data StatelessRuleGroup
+ Amazonka.FMS: data Tag
+ Amazonka.FMS: data TagResource
+ Amazonka.FMS: data TagResourceResponse
+ Amazonka.FMS: data ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS: data ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS: data ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS: data ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS: data ThirdPartyFirewallPolicy
+ Amazonka.FMS: data UntagResource
+ Amazonka.FMS: data UntagResourceResponse
+ Amazonka.FMS: data ViolationDetail
+ Amazonka.FMS: defaultService :: Service
+ Amazonka.FMS: newActionTarget :: ActionTarget
+ Amazonka.FMS: newApp :: Text -> Text -> Natural -> App
+ Amazonka.FMS: newAppsListData :: Text -> AppsListData
+ Amazonka.FMS: newAppsListDataSummary :: AppsListDataSummary
+ Amazonka.FMS: newAssociateAdminAccount :: Text -> AssociateAdminAccount
+ Amazonka.FMS: newAssociateAdminAccountResponse :: AssociateAdminAccountResponse
+ Amazonka.FMS: newAssociateThirdPartyFirewall :: ThirdPartyFirewall -> AssociateThirdPartyFirewall
+ Amazonka.FMS: newAssociateThirdPartyFirewallResponse :: Int -> AssociateThirdPartyFirewallResponse
+ Amazonka.FMS: newAwsEc2InstanceViolation :: AwsEc2InstanceViolation
+ Amazonka.FMS: newAwsEc2NetworkInterfaceViolation :: AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS: newAwsVPCSecurityGroupViolation :: AwsVPCSecurityGroupViolation
+ Amazonka.FMS: newBatchAssociateResource :: Text -> BatchAssociateResource
+ Amazonka.FMS: newBatchAssociateResourceResponse :: Int -> Text -> BatchAssociateResourceResponse
+ Amazonka.FMS: newBatchDisassociateResource :: Text -> BatchDisassociateResource
+ Amazonka.FMS: newBatchDisassociateResourceResponse :: Int -> Text -> BatchDisassociateResourceResponse
+ Amazonka.FMS: newComplianceViolator :: ComplianceViolator
+ Amazonka.FMS: newDeleteAppsList :: Text -> DeleteAppsList
+ Amazonka.FMS: newDeleteAppsListResponse :: DeleteAppsListResponse
+ Amazonka.FMS: newDeleteNotificationChannel :: DeleteNotificationChannel
+ Amazonka.FMS: newDeleteNotificationChannelResponse :: DeleteNotificationChannelResponse
+ Amazonka.FMS: newDeletePolicy :: Text -> DeletePolicy
+ Amazonka.FMS: newDeletePolicyResponse :: DeletePolicyResponse
+ Amazonka.FMS: newDeleteProtocolsList :: Text -> DeleteProtocolsList
+ Amazonka.FMS: newDeleteProtocolsListResponse :: DeleteProtocolsListResponse
+ Amazonka.FMS: newDeleteResourceSet :: Text -> DeleteResourceSet
+ Amazonka.FMS: newDeleteResourceSetResponse :: DeleteResourceSetResponse
+ Amazonka.FMS: newDisassociateAdminAccount :: DisassociateAdminAccount
+ Amazonka.FMS: newDisassociateAdminAccountResponse :: DisassociateAdminAccountResponse
+ Amazonka.FMS: newDisassociateThirdPartyFirewall :: ThirdPartyFirewall -> DisassociateThirdPartyFirewall
+ Amazonka.FMS: newDisassociateThirdPartyFirewallResponse :: Int -> DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS: newDiscoveredResource :: DiscoveredResource
+ Amazonka.FMS: newDnsDuplicateRuleGroupViolation :: DnsDuplicateRuleGroupViolation
+ Amazonka.FMS: newDnsRuleGroupLimitExceededViolation :: DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS: newDnsRuleGroupPriorityConflictViolation :: DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS: newEC2AssociateRouteTableAction :: ActionTarget -> EC2AssociateRouteTableAction
+ Amazonka.FMS: newEC2CopyRouteTableAction :: ActionTarget -> ActionTarget -> EC2CopyRouteTableAction
+ Amazonka.FMS: newEC2CreateRouteAction :: ActionTarget -> EC2CreateRouteAction
+ Amazonka.FMS: newEC2CreateRouteTableAction :: ActionTarget -> EC2CreateRouteTableAction
+ Amazonka.FMS: newEC2DeleteRouteAction :: ActionTarget -> EC2DeleteRouteAction
+ Amazonka.FMS: newEC2ReplaceRouteAction :: ActionTarget -> EC2ReplaceRouteAction
+ Amazonka.FMS: newEC2ReplaceRouteTableAssociationAction :: ActionTarget -> ActionTarget -> EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS: newEvaluationResult :: EvaluationResult
+ Amazonka.FMS: newExpectedRoute :: ExpectedRoute
+ Amazonka.FMS: newFMSPolicyUpdateFirewallCreationConfigAction :: FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS: newFailedItem :: FailedItem
+ Amazonka.FMS: newFirewallSubnetIsOutOfScopeViolation :: FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS: newFirewallSubnetMissingVPCEndpointViolation :: FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS: newGetAdminAccount :: GetAdminAccount
+ Amazonka.FMS: newGetAdminAccountResponse :: Int -> GetAdminAccountResponse
+ Amazonka.FMS: newGetAppsList :: Text -> GetAppsList
+ Amazonka.FMS: newGetAppsListResponse :: Int -> GetAppsListResponse
+ Amazonka.FMS: newGetComplianceDetail :: Text -> Text -> GetComplianceDetail
+ Amazonka.FMS: newGetComplianceDetailResponse :: Int -> GetComplianceDetailResponse
+ Amazonka.FMS: newGetNotificationChannel :: GetNotificationChannel
+ Amazonka.FMS: newGetNotificationChannelResponse :: Int -> GetNotificationChannelResponse
+ Amazonka.FMS: newGetPolicy :: Text -> GetPolicy
+ Amazonka.FMS: newGetPolicyResponse :: Int -> GetPolicyResponse
+ Amazonka.FMS: newGetProtectionStatus :: Text -> GetProtectionStatus
+ Amazonka.FMS: newGetProtectionStatusResponse :: Int -> GetProtectionStatusResponse
+ Amazonka.FMS: newGetProtocolsList :: Text -> GetProtocolsList
+ Amazonka.FMS: newGetProtocolsListResponse :: Int -> GetProtocolsListResponse
+ Amazonka.FMS: newGetResourceSet :: Text -> GetResourceSet
+ Amazonka.FMS: newGetResourceSetResponse :: Int -> ResourceSet -> Text -> GetResourceSetResponse
+ Amazonka.FMS: newGetThirdPartyFirewallAssociationStatus :: ThirdPartyFirewall -> GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: newGetThirdPartyFirewallAssociationStatusResponse :: Int -> GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS: newGetViolationDetails :: Text -> Text -> Text -> Text -> GetViolationDetails
+ Amazonka.FMS: newGetViolationDetailsResponse :: Int -> GetViolationDetailsResponse
+ Amazonka.FMS: newListAppsLists :: Natural -> ListAppsLists
+ Amazonka.FMS: newListAppsListsResponse :: Int -> ListAppsListsResponse
+ Amazonka.FMS: newListComplianceStatus :: Text -> ListComplianceStatus
+ Amazonka.FMS: newListComplianceStatusResponse :: Int -> ListComplianceStatusResponse
+ Amazonka.FMS: newListDiscoveredResources :: Text -> ListDiscoveredResources
+ Amazonka.FMS: newListDiscoveredResourcesResponse :: Int -> ListDiscoveredResourcesResponse
+ Amazonka.FMS: newListMemberAccounts :: ListMemberAccounts
+ Amazonka.FMS: newListMemberAccountsResponse :: Int -> ListMemberAccountsResponse
+ Amazonka.FMS: newListPolicies :: ListPolicies
+ Amazonka.FMS: newListPoliciesResponse :: Int -> ListPoliciesResponse
+ Amazonka.FMS: newListProtocolsLists :: Natural -> ListProtocolsLists
+ Amazonka.FMS: newListProtocolsListsResponse :: Int -> ListProtocolsListsResponse
+ Amazonka.FMS: newListResourceSetResources :: Text -> ListResourceSetResources
+ Amazonka.FMS: newListResourceSetResourcesResponse :: Int -> ListResourceSetResourcesResponse
+ Amazonka.FMS: newListResourceSets :: ListResourceSets
+ Amazonka.FMS: newListResourceSetsResponse :: Int -> ListResourceSetsResponse
+ Amazonka.FMS: newListTagsForResource :: Text -> ListTagsForResource
+ Amazonka.FMS: newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse
+ Amazonka.FMS: newListThirdPartyFirewallFirewallPolicies :: ThirdPartyFirewall -> Natural -> ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS: newListThirdPartyFirewallFirewallPoliciesResponse :: Int -> ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS: newNetworkFirewallBlackHoleRouteDetectedViolation :: NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS: newNetworkFirewallInternetTrafficNotInspectedViolation :: NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS: newNetworkFirewallInvalidRouteConfigurationViolation :: NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS: newNetworkFirewallMissingExpectedRTViolation :: NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS: newNetworkFirewallMissingExpectedRoutesViolation :: NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS: newNetworkFirewallMissingFirewallViolation :: NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS: newNetworkFirewallMissingSubnetViolation :: NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS: newNetworkFirewallPolicy :: NetworkFirewallPolicy
+ Amazonka.FMS: newNetworkFirewallPolicyDescription :: NetworkFirewallPolicyDescription
+ Amazonka.FMS: newNetworkFirewallPolicyModifiedViolation :: NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS: newNetworkFirewallStatefulRuleGroupOverride :: NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS: newNetworkFirewallUnexpectedFirewallRoutesViolation :: NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS: newNetworkFirewallUnexpectedGatewayRoutesViolation :: NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS: newPartialMatch :: PartialMatch
+ Amazonka.FMS: newPolicy :: Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
+ Amazonka.FMS: newPolicyComplianceDetail :: PolicyComplianceDetail
+ Amazonka.FMS: newPolicyComplianceStatus :: PolicyComplianceStatus
+ Amazonka.FMS: newPolicyOption :: PolicyOption
+ Amazonka.FMS: newPolicySummary :: PolicySummary
+ Amazonka.FMS: newPossibleRemediationAction :: PossibleRemediationAction
+ Amazonka.FMS: newPossibleRemediationActions :: PossibleRemediationActions
+ Amazonka.FMS: newProtocolsListData :: Text -> ProtocolsListData
+ Amazonka.FMS: newProtocolsListDataSummary :: ProtocolsListDataSummary
+ Amazonka.FMS: newPutAppsList :: AppsListData -> PutAppsList
+ Amazonka.FMS: newPutAppsListResponse :: Int -> PutAppsListResponse
+ Amazonka.FMS: newPutNotificationChannel :: Text -> Text -> PutNotificationChannel
+ Amazonka.FMS: newPutNotificationChannelResponse :: PutNotificationChannelResponse
+ Amazonka.FMS: newPutPolicy :: Policy -> PutPolicy
+ Amazonka.FMS: newPutPolicyResponse :: Int -> PutPolicyResponse
+ Amazonka.FMS: newPutProtocolsList :: ProtocolsListData -> PutProtocolsList
+ Amazonka.FMS: newPutProtocolsListResponse :: Int -> PutProtocolsListResponse
+ Amazonka.FMS: newPutResourceSet :: ResourceSet -> PutResourceSet
+ Amazonka.FMS: newPutResourceSetResponse :: Int -> ResourceSet -> Text -> PutResourceSetResponse
+ Amazonka.FMS: newRemediationAction :: RemediationAction
+ Amazonka.FMS: newRemediationActionWithOrder :: RemediationActionWithOrder
+ Amazonka.FMS: newResource :: Text -> Resource
+ Amazonka.FMS: newResourceSet :: Text -> ResourceSet
+ Amazonka.FMS: newResourceSetSummary :: ResourceSetSummary
+ Amazonka.FMS: newResourceTag :: Text -> ResourceTag
+ Amazonka.FMS: newResourceViolation :: ResourceViolation
+ Amazonka.FMS: newRoute :: Route
+ Amazonka.FMS: newRouteHasOutOfScopeEndpointViolation :: RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS: newSecurityGroupRemediationAction :: SecurityGroupRemediationAction
+ Amazonka.FMS: newSecurityGroupRuleDescription :: SecurityGroupRuleDescription
+ Amazonka.FMS: newSecurityServicePolicyData :: SecurityServiceType -> SecurityServicePolicyData
+ Amazonka.FMS: newStatefulEngineOptions :: StatefulEngineOptions
+ Amazonka.FMS: newStatefulRuleGroup :: StatefulRuleGroup
+ Amazonka.FMS: newStatelessRuleGroup :: StatelessRuleGroup
+ Amazonka.FMS: newTag :: Text -> Text -> Tag
+ Amazonka.FMS: newTagResource :: Text -> TagResource
+ Amazonka.FMS: newTagResourceResponse :: Int -> TagResourceResponse
+ Amazonka.FMS: newThirdPartyFirewallFirewallPolicy :: ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS: newThirdPartyFirewallMissingExpectedRouteTableViolation :: ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS: newThirdPartyFirewallMissingFirewallViolation :: ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS: newThirdPartyFirewallMissingSubnetViolation :: ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS: newThirdPartyFirewallPolicy :: ThirdPartyFirewallPolicy
+ Amazonka.FMS: newUntagResource :: Text -> UntagResource
+ Amazonka.FMS: newUntagResourceResponse :: Int -> UntagResourceResponse
+ Amazonka.FMS: newViolationDetail :: Text -> Text -> Text -> Text -> ViolationDetail
+ Amazonka.FMS: newtype AccountRoleStatus
+ Amazonka.FMS: newtype CustomerPolicyScopeIdType
+ Amazonka.FMS: newtype DependentServiceName
+ Amazonka.FMS: newtype DestinationType
+ Amazonka.FMS: newtype FailedItemReason
+ Amazonka.FMS: newtype FirewallDeploymentModel
+ Amazonka.FMS: newtype MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS: newtype NetworkFirewallOverrideAction
+ Amazonka.FMS: newtype PolicyComplianceStatusType
+ Amazonka.FMS: newtype RemediationActionType
+ Amazonka.FMS: newtype RuleOrder
+ Amazonka.FMS: newtype SecurityServiceType
+ Amazonka.FMS: newtype TargetType
+ Amazonka.FMS: newtype ThirdPartyFirewall
+ Amazonka.FMS: newtype ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: newtype ViolationReason
+ Amazonka.FMS: pattern AccountRoleStatus_CREATING :: AccountRoleStatus
+ Amazonka.FMS: pattern AccountRoleStatus_DELETED :: AccountRoleStatus
+ Amazonka.FMS: pattern AccountRoleStatus_DELETING :: AccountRoleStatus
+ Amazonka.FMS: pattern AccountRoleStatus_PENDING_DELETION :: AccountRoleStatus
+ Amazonka.FMS: pattern AccountRoleStatus_READY :: AccountRoleStatus
+ Amazonka.FMS: pattern CustomerPolicyScopeIdType_ACCOUNT :: CustomerPolicyScopeIdType
+ Amazonka.FMS: pattern CustomerPolicyScopeIdType_ORG_UNIT :: CustomerPolicyScopeIdType
+ Amazonka.FMS: pattern DependentServiceName_AWSCONFIG :: DependentServiceName
+ Amazonka.FMS: pattern DependentServiceName_AWSSHIELD_ADVANCED :: DependentServiceName
+ Amazonka.FMS: pattern DependentServiceName_AWSVPC :: DependentServiceName
+ Amazonka.FMS: pattern DependentServiceName_AWSWAF :: DependentServiceName
+ Amazonka.FMS: pattern DestinationType_IPV4 :: DestinationType
+ Amazonka.FMS: pattern DestinationType_IPV6 :: DestinationType
+ Amazonka.FMS: pattern DestinationType_PREFIX_LIST :: DestinationType
+ Amazonka.FMS: pattern FailedItemReason_NOT_VALID_ACCOUNT_ID :: FailedItemReason
+ Amazonka.FMS: pattern FailedItemReason_NOT_VALID_ARN :: FailedItemReason
+ Amazonka.FMS: pattern FailedItemReason_NOT_VALID_PARTITION :: FailedItemReason
+ Amazonka.FMS: pattern FailedItemReason_NOT_VALID_REGION :: FailedItemReason
+ Amazonka.FMS: pattern FailedItemReason_NOT_VALID_RESOURCE_TYPE :: FailedItemReason
+ Amazonka.FMS: pattern FailedItemReason_NOT_VALID_SERVICE :: FailedItemReason
+ Amazonka.FMS: pattern FirewallDeploymentModel_CENTRALIZED :: FirewallDeploymentModel
+ Amazonka.FMS: pattern FirewallDeploymentModel_DISTRIBUTED :: FirewallDeploymentModel
+ Amazonka.FMS: pattern MarketplaceSubscriptionOnboardingStatus_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS: pattern MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS: pattern MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS: pattern NetworkFirewallOverrideAction_DROP_TO_ALERT :: NetworkFirewallOverrideAction
+ Amazonka.FMS: pattern PolicyComplianceStatusType_COMPLIANT :: PolicyComplianceStatusType
+ Amazonka.FMS: pattern PolicyComplianceStatusType_NON_COMPLIANT :: PolicyComplianceStatusType
+ Amazonka.FMS: pattern RemediationActionType_MODIFY :: RemediationActionType
+ Amazonka.FMS: pattern RemediationActionType_REMOVE :: RemediationActionType
+ Amazonka.FMS: pattern RuleOrder_DEFAULT_ACTION_ORDER :: RuleOrder
+ Amazonka.FMS: pattern RuleOrder_STRICT_ORDER :: RuleOrder
+ Amazonka.FMS: pattern SecurityServiceType_DNS_FIREWALL :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_IMPORT_NETWORK_FIREWALL :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_NETWORK_FIREWALL :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_SECURITY_GROUPS_COMMON :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_SECURITY_GROUPS_CONTENT_AUDIT :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_SECURITY_GROUPS_USAGE_AUDIT :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_SHIELD_ADVANCED :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_THIRD_PARTY_FIREWALL :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_WAF :: SecurityServiceType
+ Amazonka.FMS: pattern SecurityServiceType_WAFV2 :: SecurityServiceType
+ Amazonka.FMS: pattern TargetType_CARRIER_GATEWAY :: TargetType
+ Amazonka.FMS: pattern TargetType_EGRESS_ONLY_INTERNET_GATEWAY :: TargetType
+ Amazonka.FMS: pattern TargetType_GATEWAY :: TargetType
+ Amazonka.FMS: pattern TargetType_INSTANCE :: TargetType
+ Amazonka.FMS: pattern TargetType_LOCAL_GATEWAY :: TargetType
+ Amazonka.FMS: pattern TargetType_NAT_GATEWAY :: TargetType
+ Amazonka.FMS: pattern TargetType_NETWORK_INTERFACE :: TargetType
+ Amazonka.FMS: pattern TargetType_TRANSIT_GATEWAY :: TargetType
+ Amazonka.FMS: pattern TargetType_VPC_ENDPOINT :: TargetType
+ Amazonka.FMS: pattern TargetType_VPC_PEERING_CONNECTION :: TargetType
+ Amazonka.FMS: pattern ThirdPartyFirewallAssociationStatus_NOT_EXIST :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: pattern ThirdPartyFirewallAssociationStatus_OFFBOARDING :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: pattern ThirdPartyFirewallAssociationStatus_OFFBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: pattern ThirdPartyFirewallAssociationStatus_ONBOARDING :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: pattern ThirdPartyFirewallAssociationStatus_ONBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS: pattern ThirdPartyFirewall_FORTIGATE_CLOUD_NATIVE_FIREWALL :: ThirdPartyFirewall
+ Amazonka.FMS: pattern ThirdPartyFirewall_PALO_ALTO_NETWORKS_CLOUD_NGFW :: ThirdPartyFirewall
+ Amazonka.FMS: pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_FIREWALL_SUBNET_IS_OUT_OF_SCOPE :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_FMS_CREATED_SECURITY_GROUP_EDITED :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_INTERNET_TRAFFIC_NOT_INSPECTED :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_INVALID_ROUTE_CONFIGURATION :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_MISSING_EXPECTED_ROUTE_TABLE :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_MISSING_FIREWALL :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_MISSING_FIREWALL_SUBNET_IN_AZ :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_MISSING_TARGET_GATEWAY :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_NETWORK_FIREWALL_POLICY_MODIFIED :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_RESOURCE_INCORRECT_WEB_ACL :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_RESOURCE_MISSING_DNS_FIREWALL :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_RESOURCE_MISSING_SECURITY_GROUP :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_RESOURCE_MISSING_SHIELD_PROTECTION :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_RESOURCE_MISSING_WEB_ACL :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_SECURITY_GROUP_REDUNDANT :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_SECURITY_GROUP_UNUSED :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_UNEXPECTED_FIREWALL_ROUTES :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_UNEXPECTED_TARGET_GATEWAY_ROUTES :: ViolationReason
+ Amazonka.FMS: pattern ViolationReason_WEB_ACL_MISSING_RULE_GROUP :: ViolationReason
+ Amazonka.FMS.AssociateAdminAccount: AssociateAdminAccount' :: Text -> AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: AssociateAdminAccountResponse' :: AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateAdminAccount: [$sel:adminAccount:AssociateAdminAccount'] :: AssociateAdminAccount -> Text
+ Amazonka.FMS.AssociateAdminAccount: associateAdminAccount_adminAccount :: Lens' AssociateAdminAccount Text
+ Amazonka.FMS.AssociateAdminAccount: data AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: data AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateAdminAccount: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance Amazonka.Data.Path.ToPath Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance Amazonka.Types.AWSRequest Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance Control.DeepSeq.NFData Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance Control.DeepSeq.NFData Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateAdminAccount: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance Data.Hashable.Class.Hashable Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Classes.Eq Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Classes.Eq Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Generics.Generic Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Generics.Generic Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Read.Read Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Read.Read Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Show.Show Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: instance GHC.Show.Show Amazonka.FMS.AssociateAdminAccount.AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateAdminAccount: newAssociateAdminAccount :: Text -> AssociateAdminAccount
+ Amazonka.FMS.AssociateAdminAccount: newAssociateAdminAccountResponse :: AssociateAdminAccountResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: AssociateThirdPartyFirewall' :: ThirdPartyFirewall -> AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: AssociateThirdPartyFirewallResponse' :: Maybe ThirdPartyFirewallAssociationStatus -> Int -> AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: [$sel:httpStatus:AssociateThirdPartyFirewallResponse'] :: AssociateThirdPartyFirewallResponse -> Int
+ Amazonka.FMS.AssociateThirdPartyFirewall: [$sel:thirdPartyFirewall:AssociateThirdPartyFirewall'] :: AssociateThirdPartyFirewall -> ThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: [$sel:thirdPartyFirewallStatus:AssociateThirdPartyFirewallResponse'] :: AssociateThirdPartyFirewallResponse -> Maybe ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.AssociateThirdPartyFirewall: associateThirdPartyFirewallResponse_httpStatus :: Lens' AssociateThirdPartyFirewallResponse Int
+ Amazonka.FMS.AssociateThirdPartyFirewall: associateThirdPartyFirewallResponse_thirdPartyFirewallStatus :: Lens' AssociateThirdPartyFirewallResponse (Maybe ThirdPartyFirewallAssociationStatus)
+ Amazonka.FMS.AssociateThirdPartyFirewall: associateThirdPartyFirewall_thirdPartyFirewall :: Lens' AssociateThirdPartyFirewall ThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: data AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: data AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Amazonka.Data.Path.ToPath Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Amazonka.Types.AWSRequest Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Control.DeepSeq.NFData Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Control.DeepSeq.NFData Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance Data.Hashable.Class.Hashable Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Classes.Eq Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Classes.Eq Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Generics.Generic Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Generics.Generic Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Read.Read Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Read.Read Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Show.Show Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: instance GHC.Show.Show Amazonka.FMS.AssociateThirdPartyFirewall.AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.AssociateThirdPartyFirewall: newAssociateThirdPartyFirewall :: ThirdPartyFirewall -> AssociateThirdPartyFirewall
+ Amazonka.FMS.AssociateThirdPartyFirewall: newAssociateThirdPartyFirewallResponse :: Int -> AssociateThirdPartyFirewallResponse
+ Amazonka.FMS.BatchAssociateResource: BatchAssociateResource' :: Text -> [Text] -> BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: BatchAssociateResourceResponse' :: Int -> Text -> [FailedItem] -> BatchAssociateResourceResponse
+ Amazonka.FMS.BatchAssociateResource: [$sel:failedItems:BatchAssociateResourceResponse'] :: BatchAssociateResourceResponse -> [FailedItem]
+ Amazonka.FMS.BatchAssociateResource: [$sel:httpStatus:BatchAssociateResourceResponse'] :: BatchAssociateResourceResponse -> Int
+ Amazonka.FMS.BatchAssociateResource: [$sel:items:BatchAssociateResource'] :: BatchAssociateResource -> [Text]
+ Amazonka.FMS.BatchAssociateResource: [$sel:resourceSetIdentifier:BatchAssociateResource'] :: BatchAssociateResource -> Text
+ Amazonka.FMS.BatchAssociateResource: [$sel:resourceSetIdentifier:BatchAssociateResourceResponse'] :: BatchAssociateResourceResponse -> Text
+ Amazonka.FMS.BatchAssociateResource: batchAssociateResourceResponse_failedItems :: Lens' BatchAssociateResourceResponse [FailedItem]
+ Amazonka.FMS.BatchAssociateResource: batchAssociateResourceResponse_httpStatus :: Lens' BatchAssociateResourceResponse Int
+ Amazonka.FMS.BatchAssociateResource: batchAssociateResourceResponse_resourceSetIdentifier :: Lens' BatchAssociateResourceResponse Text
+ Amazonka.FMS.BatchAssociateResource: batchAssociateResource_items :: Lens' BatchAssociateResource [Text]
+ Amazonka.FMS.BatchAssociateResource: batchAssociateResource_resourceSetIdentifier :: Lens' BatchAssociateResource Text
+ Amazonka.FMS.BatchAssociateResource: data BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: data BatchAssociateResourceResponse
+ Amazonka.FMS.BatchAssociateResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance Amazonka.Data.Path.ToPath Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance Amazonka.Types.AWSRequest Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance Control.DeepSeq.NFData Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance Control.DeepSeq.NFData Amazonka.FMS.BatchAssociateResource.BatchAssociateResourceResponse
+ Amazonka.FMS.BatchAssociateResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance Data.Hashable.Class.Hashable Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Classes.Eq Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Classes.Eq Amazonka.FMS.BatchAssociateResource.BatchAssociateResourceResponse
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Generics.Generic Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Generics.Generic Amazonka.FMS.BatchAssociateResource.BatchAssociateResourceResponse
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Read.Read Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Read.Read Amazonka.FMS.BatchAssociateResource.BatchAssociateResourceResponse
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Show.Show Amazonka.FMS.BatchAssociateResource.BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: instance GHC.Show.Show Amazonka.FMS.BatchAssociateResource.BatchAssociateResourceResponse
+ Amazonka.FMS.BatchAssociateResource: newBatchAssociateResource :: Text -> BatchAssociateResource
+ Amazonka.FMS.BatchAssociateResource: newBatchAssociateResourceResponse :: Int -> Text -> BatchAssociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: BatchDisassociateResource' :: Text -> [Text] -> BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: BatchDisassociateResourceResponse' :: Int -> Text -> [FailedItem] -> BatchDisassociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: [$sel:failedItems:BatchDisassociateResourceResponse'] :: BatchDisassociateResourceResponse -> [FailedItem]
+ Amazonka.FMS.BatchDisassociateResource: [$sel:httpStatus:BatchDisassociateResourceResponse'] :: BatchDisassociateResourceResponse -> Int
+ Amazonka.FMS.BatchDisassociateResource: [$sel:items:BatchDisassociateResource'] :: BatchDisassociateResource -> [Text]
+ Amazonka.FMS.BatchDisassociateResource: [$sel:resourceSetIdentifier:BatchDisassociateResource'] :: BatchDisassociateResource -> Text
+ Amazonka.FMS.BatchDisassociateResource: [$sel:resourceSetIdentifier:BatchDisassociateResourceResponse'] :: BatchDisassociateResourceResponse -> Text
+ Amazonka.FMS.BatchDisassociateResource: batchDisassociateResourceResponse_failedItems :: Lens' BatchDisassociateResourceResponse [FailedItem]
+ Amazonka.FMS.BatchDisassociateResource: batchDisassociateResourceResponse_httpStatus :: Lens' BatchDisassociateResourceResponse Int
+ Amazonka.FMS.BatchDisassociateResource: batchDisassociateResourceResponse_resourceSetIdentifier :: Lens' BatchDisassociateResourceResponse Text
+ Amazonka.FMS.BatchDisassociateResource: batchDisassociateResource_items :: Lens' BatchDisassociateResource [Text]
+ Amazonka.FMS.BatchDisassociateResource: batchDisassociateResource_resourceSetIdentifier :: Lens' BatchDisassociateResource Text
+ Amazonka.FMS.BatchDisassociateResource: data BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: data BatchDisassociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance Amazonka.Data.Path.ToPath Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance Amazonka.Types.AWSRequest Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance Control.DeepSeq.NFData Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance Control.DeepSeq.NFData Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance Data.Hashable.Class.Hashable Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Classes.Eq Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Classes.Eq Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Generics.Generic Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Generics.Generic Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Read.Read Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Read.Read Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Show.Show Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: instance GHC.Show.Show Amazonka.FMS.BatchDisassociateResource.BatchDisassociateResourceResponse
+ Amazonka.FMS.BatchDisassociateResource: newBatchDisassociateResource :: Text -> BatchDisassociateResource
+ Amazonka.FMS.BatchDisassociateResource: newBatchDisassociateResourceResponse :: Int -> Text -> BatchDisassociateResourceResponse
+ Amazonka.FMS.DeleteAppsList: DeleteAppsList' :: Text -> DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: DeleteAppsListResponse' :: DeleteAppsListResponse
+ Amazonka.FMS.DeleteAppsList: [$sel:listId:DeleteAppsList'] :: DeleteAppsList -> Text
+ Amazonka.FMS.DeleteAppsList: data DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: data DeleteAppsListResponse
+ Amazonka.FMS.DeleteAppsList: deleteAppsList_listId :: Lens' DeleteAppsList Text
+ Amazonka.FMS.DeleteAppsList: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance Amazonka.Data.Path.ToPath Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance Amazonka.Types.AWSRequest Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteAppsList.DeleteAppsListResponse
+ Amazonka.FMS.DeleteAppsList: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance Data.Hashable.Class.Hashable Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance GHC.Classes.Eq Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance GHC.Classes.Eq Amazonka.FMS.DeleteAppsList.DeleteAppsListResponse
+ Amazonka.FMS.DeleteAppsList: instance GHC.Generics.Generic Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance GHC.Generics.Generic Amazonka.FMS.DeleteAppsList.DeleteAppsListResponse
+ Amazonka.FMS.DeleteAppsList: instance GHC.Read.Read Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance GHC.Read.Read Amazonka.FMS.DeleteAppsList.DeleteAppsListResponse
+ Amazonka.FMS.DeleteAppsList: instance GHC.Show.Show Amazonka.FMS.DeleteAppsList.DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: instance GHC.Show.Show Amazonka.FMS.DeleteAppsList.DeleteAppsListResponse
+ Amazonka.FMS.DeleteAppsList: newDeleteAppsList :: Text -> DeleteAppsList
+ Amazonka.FMS.DeleteAppsList: newDeleteAppsListResponse :: DeleteAppsListResponse
+ Amazonka.FMS.DeleteNotificationChannel: DeleteNotificationChannel' :: DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: DeleteNotificationChannelResponse' :: DeleteNotificationChannelResponse
+ Amazonka.FMS.DeleteNotificationChannel: data DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: data DeleteNotificationChannelResponse
+ Amazonka.FMS.DeleteNotificationChannel: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance Amazonka.Data.Path.ToPath Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance Amazonka.Types.AWSRequest Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
+ Amazonka.FMS.DeleteNotificationChannel: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance Data.Hashable.Class.Hashable Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Classes.Eq Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Classes.Eq Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Generics.Generic Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Generics.Generic Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Read.Read Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Read.Read Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Show.Show Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: instance GHC.Show.Show Amazonka.FMS.DeleteNotificationChannel.DeleteNotificationChannelResponse
+ Amazonka.FMS.DeleteNotificationChannel: newDeleteNotificationChannel :: DeleteNotificationChannel
+ Amazonka.FMS.DeleteNotificationChannel: newDeleteNotificationChannelResponse :: DeleteNotificationChannelResponse
+ Amazonka.FMS.DeletePolicy: DeletePolicy' :: Maybe Bool -> Text -> DeletePolicy
+ Amazonka.FMS.DeletePolicy: DeletePolicyResponse' :: DeletePolicyResponse
+ Amazonka.FMS.DeletePolicy: [$sel:deleteAllPolicyResources:DeletePolicy'] :: DeletePolicy -> Maybe Bool
+ Amazonka.FMS.DeletePolicy: [$sel:policyId:DeletePolicy'] :: DeletePolicy -> Text
+ Amazonka.FMS.DeletePolicy: data DeletePolicy
+ Amazonka.FMS.DeletePolicy: data DeletePolicyResponse
+ Amazonka.FMS.DeletePolicy: deletePolicy_deleteAllPolicyResources :: Lens' DeletePolicy (Maybe Bool)
+ Amazonka.FMS.DeletePolicy: deletePolicy_policyId :: Lens' DeletePolicy Text
+ Amazonka.FMS.DeletePolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance Amazonka.Data.Path.ToPath Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance Amazonka.Types.AWSRequest Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance Control.DeepSeq.NFData Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance Control.DeepSeq.NFData Amazonka.FMS.DeletePolicy.DeletePolicyResponse
+ Amazonka.FMS.DeletePolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance Data.Hashable.Class.Hashable Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance GHC.Classes.Eq Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance GHC.Classes.Eq Amazonka.FMS.DeletePolicy.DeletePolicyResponse
+ Amazonka.FMS.DeletePolicy: instance GHC.Generics.Generic Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance GHC.Generics.Generic Amazonka.FMS.DeletePolicy.DeletePolicyResponse
+ Amazonka.FMS.DeletePolicy: instance GHC.Read.Read Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance GHC.Read.Read Amazonka.FMS.DeletePolicy.DeletePolicyResponse
+ Amazonka.FMS.DeletePolicy: instance GHC.Show.Show Amazonka.FMS.DeletePolicy.DeletePolicy
+ Amazonka.FMS.DeletePolicy: instance GHC.Show.Show Amazonka.FMS.DeletePolicy.DeletePolicyResponse
+ Amazonka.FMS.DeletePolicy: newDeletePolicy :: Text -> DeletePolicy
+ Amazonka.FMS.DeletePolicy: newDeletePolicyResponse :: DeletePolicyResponse
+ Amazonka.FMS.DeleteProtocolsList: DeleteProtocolsList' :: Text -> DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: DeleteProtocolsListResponse' :: DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteProtocolsList: [$sel:listId:DeleteProtocolsList'] :: DeleteProtocolsList -> Text
+ Amazonka.FMS.DeleteProtocolsList: data DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: data DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteProtocolsList: deleteProtocolsList_listId :: Lens' DeleteProtocolsList Text
+ Amazonka.FMS.DeleteProtocolsList: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance Amazonka.Data.Path.ToPath Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance Amazonka.Types.AWSRequest Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteProtocolsList: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance Data.Hashable.Class.Hashable Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Classes.Eq Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Classes.Eq Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Generics.Generic Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Generics.Generic Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Read.Read Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Read.Read Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Show.Show Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: instance GHC.Show.Show Amazonka.FMS.DeleteProtocolsList.DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteProtocolsList: newDeleteProtocolsList :: Text -> DeleteProtocolsList
+ Amazonka.FMS.DeleteProtocolsList: newDeleteProtocolsListResponse :: DeleteProtocolsListResponse
+ Amazonka.FMS.DeleteResourceSet: DeleteResourceSet' :: Text -> DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: DeleteResourceSetResponse' :: DeleteResourceSetResponse
+ Amazonka.FMS.DeleteResourceSet: [$sel:identifier:DeleteResourceSet'] :: DeleteResourceSet -> Text
+ Amazonka.FMS.DeleteResourceSet: data DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: data DeleteResourceSetResponse
+ Amazonka.FMS.DeleteResourceSet: deleteResourceSet_identifier :: Lens' DeleteResourceSet Text
+ Amazonka.FMS.DeleteResourceSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance Amazonka.Data.Path.ToPath Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance Amazonka.Types.AWSRequest Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance Control.DeepSeq.NFData Amazonka.FMS.DeleteResourceSet.DeleteResourceSetResponse
+ Amazonka.FMS.DeleteResourceSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance Data.Hashable.Class.Hashable Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Classes.Eq Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Classes.Eq Amazonka.FMS.DeleteResourceSet.DeleteResourceSetResponse
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Generics.Generic Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Generics.Generic Amazonka.FMS.DeleteResourceSet.DeleteResourceSetResponse
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Read.Read Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Read.Read Amazonka.FMS.DeleteResourceSet.DeleteResourceSetResponse
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Show.Show Amazonka.FMS.DeleteResourceSet.DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: instance GHC.Show.Show Amazonka.FMS.DeleteResourceSet.DeleteResourceSetResponse
+ Amazonka.FMS.DeleteResourceSet: newDeleteResourceSet :: Text -> DeleteResourceSet
+ Amazonka.FMS.DeleteResourceSet: newDeleteResourceSetResponse :: DeleteResourceSetResponse
+ Amazonka.FMS.DisassociateAdminAccount: DisassociateAdminAccount' :: DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: DisassociateAdminAccountResponse' :: DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateAdminAccount: data DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: data DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateAdminAccount: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance Amazonka.Data.Path.ToPath Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance Amazonka.Types.AWSRequest Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance Control.DeepSeq.NFData Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance Control.DeepSeq.NFData Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateAdminAccount: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance Data.Hashable.Class.Hashable Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Classes.Eq Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Classes.Eq Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Generics.Generic Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Generics.Generic Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Read.Read Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Read.Read Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Show.Show Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: instance GHC.Show.Show Amazonka.FMS.DisassociateAdminAccount.DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateAdminAccount: newDisassociateAdminAccount :: DisassociateAdminAccount
+ Amazonka.FMS.DisassociateAdminAccount: newDisassociateAdminAccountResponse :: DisassociateAdminAccountResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: DisassociateThirdPartyFirewall' :: ThirdPartyFirewall -> DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: DisassociateThirdPartyFirewallResponse' :: Maybe ThirdPartyFirewallAssociationStatus -> Int -> DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: [$sel:httpStatus:DisassociateThirdPartyFirewallResponse'] :: DisassociateThirdPartyFirewallResponse -> Int
+ Amazonka.FMS.DisassociateThirdPartyFirewall: [$sel:thirdPartyFirewall:DisassociateThirdPartyFirewall'] :: DisassociateThirdPartyFirewall -> ThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: [$sel:thirdPartyFirewallStatus:DisassociateThirdPartyFirewallResponse'] :: DisassociateThirdPartyFirewallResponse -> Maybe ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.DisassociateThirdPartyFirewall: data DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: data DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: disassociateThirdPartyFirewallResponse_httpStatus :: Lens' DisassociateThirdPartyFirewallResponse Int
+ Amazonka.FMS.DisassociateThirdPartyFirewall: disassociateThirdPartyFirewallResponse_thirdPartyFirewallStatus :: Lens' DisassociateThirdPartyFirewallResponse (Maybe ThirdPartyFirewallAssociationStatus)
+ Amazonka.FMS.DisassociateThirdPartyFirewall: disassociateThirdPartyFirewall_thirdPartyFirewall :: Lens' DisassociateThirdPartyFirewall ThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Amazonka.Data.Path.ToPath Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Amazonka.Types.AWSRequest Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Control.DeepSeq.NFData Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Control.DeepSeq.NFData Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance Data.Hashable.Class.Hashable Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Classes.Eq Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Classes.Eq Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Generics.Generic Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Generics.Generic Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Read.Read Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Read.Read Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Show.Show Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: instance GHC.Show.Show Amazonka.FMS.DisassociateThirdPartyFirewall.DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.DisassociateThirdPartyFirewall: newDisassociateThirdPartyFirewall :: ThirdPartyFirewall -> DisassociateThirdPartyFirewall
+ Amazonka.FMS.DisassociateThirdPartyFirewall: newDisassociateThirdPartyFirewallResponse :: Int -> DisassociateThirdPartyFirewallResponse
+ Amazonka.FMS.GetAdminAccount: GetAdminAccount' :: GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: GetAdminAccountResponse' :: Maybe Text -> Maybe AccountRoleStatus -> Int -> GetAdminAccountResponse
+ Amazonka.FMS.GetAdminAccount: [$sel:adminAccount:GetAdminAccountResponse'] :: GetAdminAccountResponse -> Maybe Text
+ Amazonka.FMS.GetAdminAccount: [$sel:httpStatus:GetAdminAccountResponse'] :: GetAdminAccountResponse -> Int
+ Amazonka.FMS.GetAdminAccount: [$sel:roleStatus:GetAdminAccountResponse'] :: GetAdminAccountResponse -> Maybe AccountRoleStatus
+ Amazonka.FMS.GetAdminAccount: data GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: data GetAdminAccountResponse
+ Amazonka.FMS.GetAdminAccount: getAdminAccountResponse_adminAccount :: Lens' GetAdminAccountResponse (Maybe Text)
+ Amazonka.FMS.GetAdminAccount: getAdminAccountResponse_httpStatus :: Lens' GetAdminAccountResponse Int
+ Amazonka.FMS.GetAdminAccount: getAdminAccountResponse_roleStatus :: Lens' GetAdminAccountResponse (Maybe AccountRoleStatus)
+ Amazonka.FMS.GetAdminAccount: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance Control.DeepSeq.NFData Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance Control.DeepSeq.NFData Amazonka.FMS.GetAdminAccount.GetAdminAccountResponse
+ Amazonka.FMS.GetAdminAccount: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance GHC.Classes.Eq Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance GHC.Classes.Eq Amazonka.FMS.GetAdminAccount.GetAdminAccountResponse
+ Amazonka.FMS.GetAdminAccount: instance GHC.Generics.Generic Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance GHC.Generics.Generic Amazonka.FMS.GetAdminAccount.GetAdminAccountResponse
+ Amazonka.FMS.GetAdminAccount: instance GHC.Read.Read Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance GHC.Read.Read Amazonka.FMS.GetAdminAccount.GetAdminAccountResponse
+ Amazonka.FMS.GetAdminAccount: instance GHC.Show.Show Amazonka.FMS.GetAdminAccount.GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: instance GHC.Show.Show Amazonka.FMS.GetAdminAccount.GetAdminAccountResponse
+ Amazonka.FMS.GetAdminAccount: newGetAdminAccount :: GetAdminAccount
+ Amazonka.FMS.GetAdminAccount: newGetAdminAccountResponse :: Int -> GetAdminAccountResponse
+ Amazonka.FMS.GetAppsList: GetAppsList' :: Maybe Bool -> Text -> GetAppsList
+ Amazonka.FMS.GetAppsList: GetAppsListResponse' :: Maybe AppsListData -> Maybe Text -> Int -> GetAppsListResponse
+ Amazonka.FMS.GetAppsList: [$sel:appsList:GetAppsListResponse'] :: GetAppsListResponse -> Maybe AppsListData
+ Amazonka.FMS.GetAppsList: [$sel:appsListArn:GetAppsListResponse'] :: GetAppsListResponse -> Maybe Text
+ Amazonka.FMS.GetAppsList: [$sel:defaultList:GetAppsList'] :: GetAppsList -> Maybe Bool
+ Amazonka.FMS.GetAppsList: [$sel:httpStatus:GetAppsListResponse'] :: GetAppsListResponse -> Int
+ Amazonka.FMS.GetAppsList: [$sel:listId:GetAppsList'] :: GetAppsList -> Text
+ Amazonka.FMS.GetAppsList: data GetAppsList
+ Amazonka.FMS.GetAppsList: data GetAppsListResponse
+ Amazonka.FMS.GetAppsList: getAppsListResponse_appsList :: Lens' GetAppsListResponse (Maybe AppsListData)
+ Amazonka.FMS.GetAppsList: getAppsListResponse_appsListArn :: Lens' GetAppsListResponse (Maybe Text)
+ Amazonka.FMS.GetAppsList: getAppsListResponse_httpStatus :: Lens' GetAppsListResponse Int
+ Amazonka.FMS.GetAppsList: getAppsList_defaultList :: Lens' GetAppsList (Maybe Bool)
+ Amazonka.FMS.GetAppsList: getAppsList_listId :: Lens' GetAppsList Text
+ Amazonka.FMS.GetAppsList: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance Control.DeepSeq.NFData Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance Control.DeepSeq.NFData Amazonka.FMS.GetAppsList.GetAppsListResponse
+ Amazonka.FMS.GetAppsList: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance GHC.Classes.Eq Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance GHC.Classes.Eq Amazonka.FMS.GetAppsList.GetAppsListResponse
+ Amazonka.FMS.GetAppsList: instance GHC.Generics.Generic Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance GHC.Generics.Generic Amazonka.FMS.GetAppsList.GetAppsListResponse
+ Amazonka.FMS.GetAppsList: instance GHC.Read.Read Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance GHC.Read.Read Amazonka.FMS.GetAppsList.GetAppsListResponse
+ Amazonka.FMS.GetAppsList: instance GHC.Show.Show Amazonka.FMS.GetAppsList.GetAppsList
+ Amazonka.FMS.GetAppsList: instance GHC.Show.Show Amazonka.FMS.GetAppsList.GetAppsListResponse
+ Amazonka.FMS.GetAppsList: newGetAppsList :: Text -> GetAppsList
+ Amazonka.FMS.GetAppsList: newGetAppsListResponse :: Int -> GetAppsListResponse
+ Amazonka.FMS.GetComplianceDetail: GetComplianceDetail' :: Text -> Text -> GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: GetComplianceDetailResponse' :: Maybe PolicyComplianceDetail -> Int -> GetComplianceDetailResponse
+ Amazonka.FMS.GetComplianceDetail: [$sel:httpStatus:GetComplianceDetailResponse'] :: GetComplianceDetailResponse -> Int
+ Amazonka.FMS.GetComplianceDetail: [$sel:memberAccount:GetComplianceDetail'] :: GetComplianceDetail -> Text
+ Amazonka.FMS.GetComplianceDetail: [$sel:policyComplianceDetail:GetComplianceDetailResponse'] :: GetComplianceDetailResponse -> Maybe PolicyComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: [$sel:policyId:GetComplianceDetail'] :: GetComplianceDetail -> Text
+ Amazonka.FMS.GetComplianceDetail: data GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: data GetComplianceDetailResponse
+ Amazonka.FMS.GetComplianceDetail: getComplianceDetailResponse_httpStatus :: Lens' GetComplianceDetailResponse Int
+ Amazonka.FMS.GetComplianceDetail: getComplianceDetailResponse_policyComplianceDetail :: Lens' GetComplianceDetailResponse (Maybe PolicyComplianceDetail)
+ Amazonka.FMS.GetComplianceDetail: getComplianceDetail_memberAccount :: Lens' GetComplianceDetail Text
+ Amazonka.FMS.GetComplianceDetail: getComplianceDetail_policyId :: Lens' GetComplianceDetail Text
+ Amazonka.FMS.GetComplianceDetail: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance Control.DeepSeq.NFData Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance Control.DeepSeq.NFData Amazonka.FMS.GetComplianceDetail.GetComplianceDetailResponse
+ Amazonka.FMS.GetComplianceDetail: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Classes.Eq Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Classes.Eq Amazonka.FMS.GetComplianceDetail.GetComplianceDetailResponse
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Generics.Generic Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Generics.Generic Amazonka.FMS.GetComplianceDetail.GetComplianceDetailResponse
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Read.Read Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Read.Read Amazonka.FMS.GetComplianceDetail.GetComplianceDetailResponse
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Show.Show Amazonka.FMS.GetComplianceDetail.GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: instance GHC.Show.Show Amazonka.FMS.GetComplianceDetail.GetComplianceDetailResponse
+ Amazonka.FMS.GetComplianceDetail: newGetComplianceDetail :: Text -> Text -> GetComplianceDetail
+ Amazonka.FMS.GetComplianceDetail: newGetComplianceDetailResponse :: Int -> GetComplianceDetailResponse
+ Amazonka.FMS.GetNotificationChannel: GetNotificationChannel' :: GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: GetNotificationChannelResponse' :: Maybe Text -> Maybe Text -> Int -> GetNotificationChannelResponse
+ Amazonka.FMS.GetNotificationChannel: [$sel:httpStatus:GetNotificationChannelResponse'] :: GetNotificationChannelResponse -> Int
+ Amazonka.FMS.GetNotificationChannel: [$sel:snsRoleName:GetNotificationChannelResponse'] :: GetNotificationChannelResponse -> Maybe Text
+ Amazonka.FMS.GetNotificationChannel: [$sel:snsTopicArn:GetNotificationChannelResponse'] :: GetNotificationChannelResponse -> Maybe Text
+ Amazonka.FMS.GetNotificationChannel: data GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: data GetNotificationChannelResponse
+ Amazonka.FMS.GetNotificationChannel: getNotificationChannelResponse_httpStatus :: Lens' GetNotificationChannelResponse Int
+ Amazonka.FMS.GetNotificationChannel: getNotificationChannelResponse_snsRoleName :: Lens' GetNotificationChannelResponse (Maybe Text)
+ Amazonka.FMS.GetNotificationChannel: getNotificationChannelResponse_snsTopicArn :: Lens' GetNotificationChannelResponse (Maybe Text)
+ Amazonka.FMS.GetNotificationChannel: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance Control.DeepSeq.NFData Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance Control.DeepSeq.NFData Amazonka.FMS.GetNotificationChannel.GetNotificationChannelResponse
+ Amazonka.FMS.GetNotificationChannel: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Classes.Eq Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Classes.Eq Amazonka.FMS.GetNotificationChannel.GetNotificationChannelResponse
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Generics.Generic Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Generics.Generic Amazonka.FMS.GetNotificationChannel.GetNotificationChannelResponse
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Read.Read Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Read.Read Amazonka.FMS.GetNotificationChannel.GetNotificationChannelResponse
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Show.Show Amazonka.FMS.GetNotificationChannel.GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: instance GHC.Show.Show Amazonka.FMS.GetNotificationChannel.GetNotificationChannelResponse
+ Amazonka.FMS.GetNotificationChannel: newGetNotificationChannel :: GetNotificationChannel
+ Amazonka.FMS.GetNotificationChannel: newGetNotificationChannelResponse :: Int -> GetNotificationChannelResponse
+ Amazonka.FMS.GetPolicy: GetPolicy' :: Text -> GetPolicy
+ Amazonka.FMS.GetPolicy: GetPolicyResponse' :: Maybe Policy -> Maybe Text -> Int -> GetPolicyResponse
+ Amazonka.FMS.GetPolicy: [$sel:httpStatus:GetPolicyResponse'] :: GetPolicyResponse -> Int
+ Amazonka.FMS.GetPolicy: [$sel:policy:GetPolicyResponse'] :: GetPolicyResponse -> Maybe Policy
+ Amazonka.FMS.GetPolicy: [$sel:policyArn:GetPolicyResponse'] :: GetPolicyResponse -> Maybe Text
+ Amazonka.FMS.GetPolicy: [$sel:policyId:GetPolicy'] :: GetPolicy -> Text
+ Amazonka.FMS.GetPolicy: data GetPolicy
+ Amazonka.FMS.GetPolicy: data GetPolicyResponse
+ Amazonka.FMS.GetPolicy: getPolicyResponse_httpStatus :: Lens' GetPolicyResponse Int
+ Amazonka.FMS.GetPolicy: getPolicyResponse_policy :: Lens' GetPolicyResponse (Maybe Policy)
+ Amazonka.FMS.GetPolicy: getPolicyResponse_policyArn :: Lens' GetPolicyResponse (Maybe Text)
+ Amazonka.FMS.GetPolicy: getPolicy_policyId :: Lens' GetPolicy Text
+ Amazonka.FMS.GetPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance Control.DeepSeq.NFData Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance Control.DeepSeq.NFData Amazonka.FMS.GetPolicy.GetPolicyResponse
+ Amazonka.FMS.GetPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance GHC.Classes.Eq Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance GHC.Classes.Eq Amazonka.FMS.GetPolicy.GetPolicyResponse
+ Amazonka.FMS.GetPolicy: instance GHC.Generics.Generic Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance GHC.Generics.Generic Amazonka.FMS.GetPolicy.GetPolicyResponse
+ Amazonka.FMS.GetPolicy: instance GHC.Read.Read Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance GHC.Read.Read Amazonka.FMS.GetPolicy.GetPolicyResponse
+ Amazonka.FMS.GetPolicy: instance GHC.Show.Show Amazonka.FMS.GetPolicy.GetPolicy
+ Amazonka.FMS.GetPolicy: instance GHC.Show.Show Amazonka.FMS.GetPolicy.GetPolicyResponse
+ Amazonka.FMS.GetPolicy: newGetPolicy :: Text -> GetPolicy
+ Amazonka.FMS.GetPolicy: newGetPolicyResponse :: Int -> GetPolicyResponse
+ Amazonka.FMS.GetProtectionStatus: GetProtectionStatus' :: Maybe POSIX -> Maybe Natural -> Maybe Text -> Maybe Text -> Maybe POSIX -> Text -> GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: GetProtectionStatusResponse' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe SecurityServiceType -> Int -> GetProtectionStatusResponse
+ Amazonka.FMS.GetProtectionStatus: [$sel:adminAccountId:GetProtectionStatusResponse'] :: GetProtectionStatusResponse -> Maybe Text
+ Amazonka.FMS.GetProtectionStatus: [$sel:data':GetProtectionStatusResponse'] :: GetProtectionStatusResponse -> Maybe Text
+ Amazonka.FMS.GetProtectionStatus: [$sel:endTime:GetProtectionStatus'] :: GetProtectionStatus -> Maybe POSIX
+ Amazonka.FMS.GetProtectionStatus: [$sel:httpStatus:GetProtectionStatusResponse'] :: GetProtectionStatusResponse -> Int
+ Amazonka.FMS.GetProtectionStatus: [$sel:maxResults:GetProtectionStatus'] :: GetProtectionStatus -> Maybe Natural
+ Amazonka.FMS.GetProtectionStatus: [$sel:memberAccountId:GetProtectionStatus'] :: GetProtectionStatus -> Maybe Text
+ Amazonka.FMS.GetProtectionStatus: [$sel:nextToken:GetProtectionStatus'] :: GetProtectionStatus -> Maybe Text
+ Amazonka.FMS.GetProtectionStatus: [$sel:nextToken:GetProtectionStatusResponse'] :: GetProtectionStatusResponse -> Maybe Text
+ Amazonka.FMS.GetProtectionStatus: [$sel:policyId:GetProtectionStatus'] :: GetProtectionStatus -> Text
+ Amazonka.FMS.GetProtectionStatus: [$sel:serviceType:GetProtectionStatusResponse'] :: GetProtectionStatusResponse -> Maybe SecurityServiceType
+ Amazonka.FMS.GetProtectionStatus: [$sel:startTime:GetProtectionStatus'] :: GetProtectionStatus -> Maybe POSIX
+ Amazonka.FMS.GetProtectionStatus: data GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: data GetProtectionStatusResponse
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatusResponse_adminAccountId :: Lens' GetProtectionStatusResponse (Maybe Text)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatusResponse_data :: Lens' GetProtectionStatusResponse (Maybe Text)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatusResponse_httpStatus :: Lens' GetProtectionStatusResponse Int
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatusResponse_nextToken :: Lens' GetProtectionStatusResponse (Maybe Text)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatusResponse_serviceType :: Lens' GetProtectionStatusResponse (Maybe SecurityServiceType)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatus_endTime :: Lens' GetProtectionStatus (Maybe UTCTime)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatus_maxResults :: Lens' GetProtectionStatus (Maybe Natural)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatus_memberAccountId :: Lens' GetProtectionStatus (Maybe Text)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatus_nextToken :: Lens' GetProtectionStatus (Maybe Text)
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatus_policyId :: Lens' GetProtectionStatus Text
+ Amazonka.FMS.GetProtectionStatus: getProtectionStatus_startTime :: Lens' GetProtectionStatus (Maybe UTCTime)
+ Amazonka.FMS.GetProtectionStatus: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance Control.DeepSeq.NFData Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance Control.DeepSeq.NFData Amazonka.FMS.GetProtectionStatus.GetProtectionStatusResponse
+ Amazonka.FMS.GetProtectionStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Classes.Eq Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Classes.Eq Amazonka.FMS.GetProtectionStatus.GetProtectionStatusResponse
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Generics.Generic Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Generics.Generic Amazonka.FMS.GetProtectionStatus.GetProtectionStatusResponse
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Read.Read Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Read.Read Amazonka.FMS.GetProtectionStatus.GetProtectionStatusResponse
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Show.Show Amazonka.FMS.GetProtectionStatus.GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: instance GHC.Show.Show Amazonka.FMS.GetProtectionStatus.GetProtectionStatusResponse
+ Amazonka.FMS.GetProtectionStatus: newGetProtectionStatus :: Text -> GetProtectionStatus
+ Amazonka.FMS.GetProtectionStatus: newGetProtectionStatusResponse :: Int -> GetProtectionStatusResponse
+ Amazonka.FMS.GetProtocolsList: GetProtocolsList' :: Maybe Bool -> Text -> GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: GetProtocolsListResponse' :: Maybe ProtocolsListData -> Maybe Text -> Int -> GetProtocolsListResponse
+ Amazonka.FMS.GetProtocolsList: [$sel:defaultList:GetProtocolsList'] :: GetProtocolsList -> Maybe Bool
+ Amazonka.FMS.GetProtocolsList: [$sel:httpStatus:GetProtocolsListResponse'] :: GetProtocolsListResponse -> Int
+ Amazonka.FMS.GetProtocolsList: [$sel:listId:GetProtocolsList'] :: GetProtocolsList -> Text
+ Amazonka.FMS.GetProtocolsList: [$sel:protocolsList:GetProtocolsListResponse'] :: GetProtocolsListResponse -> Maybe ProtocolsListData
+ Amazonka.FMS.GetProtocolsList: [$sel:protocolsListArn:GetProtocolsListResponse'] :: GetProtocolsListResponse -> Maybe Text
+ Amazonka.FMS.GetProtocolsList: data GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: data GetProtocolsListResponse
+ Amazonka.FMS.GetProtocolsList: getProtocolsListResponse_httpStatus :: Lens' GetProtocolsListResponse Int
+ Amazonka.FMS.GetProtocolsList: getProtocolsListResponse_protocolsList :: Lens' GetProtocolsListResponse (Maybe ProtocolsListData)
+ Amazonka.FMS.GetProtocolsList: getProtocolsListResponse_protocolsListArn :: Lens' GetProtocolsListResponse (Maybe Text)
+ Amazonka.FMS.GetProtocolsList: getProtocolsList_defaultList :: Lens' GetProtocolsList (Maybe Bool)
+ Amazonka.FMS.GetProtocolsList: getProtocolsList_listId :: Lens' GetProtocolsList Text
+ Amazonka.FMS.GetProtocolsList: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance Control.DeepSeq.NFData Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance Control.DeepSeq.NFData Amazonka.FMS.GetProtocolsList.GetProtocolsListResponse
+ Amazonka.FMS.GetProtocolsList: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance GHC.Classes.Eq Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance GHC.Classes.Eq Amazonka.FMS.GetProtocolsList.GetProtocolsListResponse
+ Amazonka.FMS.GetProtocolsList: instance GHC.Generics.Generic Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance GHC.Generics.Generic Amazonka.FMS.GetProtocolsList.GetProtocolsListResponse
+ Amazonka.FMS.GetProtocolsList: instance GHC.Read.Read Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance GHC.Read.Read Amazonka.FMS.GetProtocolsList.GetProtocolsListResponse
+ Amazonka.FMS.GetProtocolsList: instance GHC.Show.Show Amazonka.FMS.GetProtocolsList.GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: instance GHC.Show.Show Amazonka.FMS.GetProtocolsList.GetProtocolsListResponse
+ Amazonka.FMS.GetProtocolsList: newGetProtocolsList :: Text -> GetProtocolsList
+ Amazonka.FMS.GetProtocolsList: newGetProtocolsListResponse :: Int -> GetProtocolsListResponse
+ Amazonka.FMS.GetResourceSet: GetResourceSet' :: Text -> GetResourceSet
+ Amazonka.FMS.GetResourceSet: GetResourceSetResponse' :: Int -> ResourceSet -> Text -> GetResourceSetResponse
+ Amazonka.FMS.GetResourceSet: [$sel:httpStatus:GetResourceSetResponse'] :: GetResourceSetResponse -> Int
+ Amazonka.FMS.GetResourceSet: [$sel:identifier:GetResourceSet'] :: GetResourceSet -> Text
+ Amazonka.FMS.GetResourceSet: [$sel:resourceSet:GetResourceSetResponse'] :: GetResourceSetResponse -> ResourceSet
+ Amazonka.FMS.GetResourceSet: [$sel:resourceSetArn:GetResourceSetResponse'] :: GetResourceSetResponse -> Text
+ Amazonka.FMS.GetResourceSet: data GetResourceSet
+ Amazonka.FMS.GetResourceSet: data GetResourceSetResponse
+ Amazonka.FMS.GetResourceSet: getResourceSetResponse_httpStatus :: Lens' GetResourceSetResponse Int
+ Amazonka.FMS.GetResourceSet: getResourceSetResponse_resourceSet :: Lens' GetResourceSetResponse ResourceSet
+ Amazonka.FMS.GetResourceSet: getResourceSetResponse_resourceSetArn :: Lens' GetResourceSetResponse Text
+ Amazonka.FMS.GetResourceSet: getResourceSet_identifier :: Lens' GetResourceSet Text
+ Amazonka.FMS.GetResourceSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance Control.DeepSeq.NFData Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance Control.DeepSeq.NFData Amazonka.FMS.GetResourceSet.GetResourceSetResponse
+ Amazonka.FMS.GetResourceSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance GHC.Classes.Eq Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance GHC.Classes.Eq Amazonka.FMS.GetResourceSet.GetResourceSetResponse
+ Amazonka.FMS.GetResourceSet: instance GHC.Generics.Generic Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance GHC.Generics.Generic Amazonka.FMS.GetResourceSet.GetResourceSetResponse
+ Amazonka.FMS.GetResourceSet: instance GHC.Read.Read Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance GHC.Read.Read Amazonka.FMS.GetResourceSet.GetResourceSetResponse
+ Amazonka.FMS.GetResourceSet: instance GHC.Show.Show Amazonka.FMS.GetResourceSet.GetResourceSet
+ Amazonka.FMS.GetResourceSet: instance GHC.Show.Show Amazonka.FMS.GetResourceSet.GetResourceSetResponse
+ Amazonka.FMS.GetResourceSet: newGetResourceSet :: Text -> GetResourceSet
+ Amazonka.FMS.GetResourceSet: newGetResourceSetResponse :: Int -> ResourceSet -> Text -> GetResourceSetResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: GetThirdPartyFirewallAssociationStatus' :: ThirdPartyFirewall -> GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: GetThirdPartyFirewallAssociationStatusResponse' :: Maybe MarketplaceSubscriptionOnboardingStatus -> Maybe ThirdPartyFirewallAssociationStatus -> Int -> GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: [$sel:httpStatus:GetThirdPartyFirewallAssociationStatusResponse'] :: GetThirdPartyFirewallAssociationStatusResponse -> Int
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: [$sel:marketplaceOnboardingStatus:GetThirdPartyFirewallAssociationStatusResponse'] :: GetThirdPartyFirewallAssociationStatusResponse -> Maybe MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: [$sel:thirdPartyFirewall:GetThirdPartyFirewallAssociationStatus'] :: GetThirdPartyFirewallAssociationStatus -> ThirdPartyFirewall
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: [$sel:thirdPartyFirewallStatus:GetThirdPartyFirewallAssociationStatusResponse'] :: GetThirdPartyFirewallAssociationStatusResponse -> Maybe ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: data GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: data GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: getThirdPartyFirewallAssociationStatusResponse_httpStatus :: Lens' GetThirdPartyFirewallAssociationStatusResponse Int
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: getThirdPartyFirewallAssociationStatusResponse_marketplaceOnboardingStatus :: Lens' GetThirdPartyFirewallAssociationStatusResponse (Maybe MarketplaceSubscriptionOnboardingStatus)
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: getThirdPartyFirewallAssociationStatusResponse_thirdPartyFirewallStatus :: Lens' GetThirdPartyFirewallAssociationStatusResponse (Maybe ThirdPartyFirewallAssociationStatus)
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: getThirdPartyFirewallAssociationStatus_thirdPartyFirewall :: Lens' GetThirdPartyFirewallAssociationStatus ThirdPartyFirewall
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Control.DeepSeq.NFData Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Control.DeepSeq.NFData Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Classes.Eq Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Classes.Eq Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Generics.Generic Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Generics.Generic Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Read.Read Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Read.Read Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Show.Show Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: instance GHC.Show.Show Amazonka.FMS.GetThirdPartyFirewallAssociationStatus.GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: newGetThirdPartyFirewallAssociationStatus :: ThirdPartyFirewall -> GetThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.GetThirdPartyFirewallAssociationStatus: newGetThirdPartyFirewallAssociationStatusResponse :: Int -> GetThirdPartyFirewallAssociationStatusResponse
+ Amazonka.FMS.GetViolationDetails: GetViolationDetails' :: Text -> Text -> Text -> Text -> GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: GetViolationDetailsResponse' :: Maybe ViolationDetail -> Int -> GetViolationDetailsResponse
+ Amazonka.FMS.GetViolationDetails: [$sel:httpStatus:GetViolationDetailsResponse'] :: GetViolationDetailsResponse -> Int
+ Amazonka.FMS.GetViolationDetails: [$sel:memberAccount:GetViolationDetails'] :: GetViolationDetails -> Text
+ Amazonka.FMS.GetViolationDetails: [$sel:policyId:GetViolationDetails'] :: GetViolationDetails -> Text
+ Amazonka.FMS.GetViolationDetails: [$sel:resourceId:GetViolationDetails'] :: GetViolationDetails -> Text
+ Amazonka.FMS.GetViolationDetails: [$sel:resourceType:GetViolationDetails'] :: GetViolationDetails -> Text
+ Amazonka.FMS.GetViolationDetails: [$sel:violationDetail:GetViolationDetailsResponse'] :: GetViolationDetailsResponse -> Maybe ViolationDetail
+ Amazonka.FMS.GetViolationDetails: data GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: data GetViolationDetailsResponse
+ Amazonka.FMS.GetViolationDetails: getViolationDetailsResponse_httpStatus :: Lens' GetViolationDetailsResponse Int
+ Amazonka.FMS.GetViolationDetails: getViolationDetailsResponse_violationDetail :: Lens' GetViolationDetailsResponse (Maybe ViolationDetail)
+ Amazonka.FMS.GetViolationDetails: getViolationDetails_memberAccount :: Lens' GetViolationDetails Text
+ Amazonka.FMS.GetViolationDetails: getViolationDetails_policyId :: Lens' GetViolationDetails Text
+ Amazonka.FMS.GetViolationDetails: getViolationDetails_resourceId :: Lens' GetViolationDetails Text
+ Amazonka.FMS.GetViolationDetails: getViolationDetails_resourceType :: Lens' GetViolationDetails Text
+ Amazonka.FMS.GetViolationDetails: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance Amazonka.Data.Path.ToPath Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance Amazonka.Types.AWSRequest Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance Control.DeepSeq.NFData Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance Control.DeepSeq.NFData Amazonka.FMS.GetViolationDetails.GetViolationDetailsResponse
+ Amazonka.FMS.GetViolationDetails: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance Data.Hashable.Class.Hashable Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance GHC.Classes.Eq Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance GHC.Classes.Eq Amazonka.FMS.GetViolationDetails.GetViolationDetailsResponse
+ Amazonka.FMS.GetViolationDetails: instance GHC.Generics.Generic Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance GHC.Generics.Generic Amazonka.FMS.GetViolationDetails.GetViolationDetailsResponse
+ Amazonka.FMS.GetViolationDetails: instance GHC.Read.Read Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance GHC.Read.Read Amazonka.FMS.GetViolationDetails.GetViolationDetailsResponse
+ Amazonka.FMS.GetViolationDetails: instance GHC.Show.Show Amazonka.FMS.GetViolationDetails.GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: instance GHC.Show.Show Amazonka.FMS.GetViolationDetails.GetViolationDetailsResponse
+ Amazonka.FMS.GetViolationDetails: newGetViolationDetails :: Text -> Text -> Text -> Text -> GetViolationDetails
+ Amazonka.FMS.GetViolationDetails: newGetViolationDetailsResponse :: Int -> GetViolationDetailsResponse
+ Amazonka.FMS.Lens: actionTarget_description :: Lens' ActionTarget (Maybe Text)
+ Amazonka.FMS.Lens: actionTarget_resourceId :: Lens' ActionTarget (Maybe Text)
+ Amazonka.FMS.Lens: app_appName :: Lens' App Text
+ Amazonka.FMS.Lens: app_port :: Lens' App Natural
+ Amazonka.FMS.Lens: app_protocol :: Lens' App Text
+ Amazonka.FMS.Lens: appsListDataSummary_appsList :: Lens' AppsListDataSummary (Maybe [App])
+ Amazonka.FMS.Lens: appsListDataSummary_listArn :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Lens: appsListDataSummary_listId :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Lens: appsListDataSummary_listName :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Lens: appsListData_appsList :: Lens' AppsListData [App]
+ Amazonka.FMS.Lens: appsListData_createTime :: Lens' AppsListData (Maybe UTCTime)
+ Amazonka.FMS.Lens: appsListData_lastUpdateTime :: Lens' AppsListData (Maybe UTCTime)
+ Amazonka.FMS.Lens: appsListData_listId :: Lens' AppsListData (Maybe Text)
+ Amazonka.FMS.Lens: appsListData_listName :: Lens' AppsListData Text
+ Amazonka.FMS.Lens: appsListData_listUpdateToken :: Lens' AppsListData (Maybe Text)
+ Amazonka.FMS.Lens: appsListData_previousAppsList :: Lens' AppsListData (Maybe (HashMap Text [App]))
+ Amazonka.FMS.Lens: associateAdminAccount_adminAccount :: Lens' AssociateAdminAccount Text
+ Amazonka.FMS.Lens: associateThirdPartyFirewallResponse_httpStatus :: Lens' AssociateThirdPartyFirewallResponse Int
+ Amazonka.FMS.Lens: associateThirdPartyFirewallResponse_thirdPartyFirewallStatus :: Lens' AssociateThirdPartyFirewallResponse (Maybe ThirdPartyFirewallAssociationStatus)
+ Amazonka.FMS.Lens: associateThirdPartyFirewall_thirdPartyFirewall :: Lens' AssociateThirdPartyFirewall ThirdPartyFirewall
+ Amazonka.FMS.Lens: awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations :: Lens' AwsEc2InstanceViolation (Maybe [AwsEc2NetworkInterfaceViolation])
+ Amazonka.FMS.Lens: awsEc2InstanceViolation_violationTarget :: Lens' AwsEc2InstanceViolation (Maybe Text)
+ Amazonka.FMS.Lens: awsEc2NetworkInterfaceViolation_violatingSecurityGroups :: Lens' AwsEc2NetworkInterfaceViolation (Maybe [Text])
+ Amazonka.FMS.Lens: awsEc2NetworkInterfaceViolation_violationTarget :: Lens' AwsEc2NetworkInterfaceViolation (Maybe Text)
+ Amazonka.FMS.Lens: awsVPCSecurityGroupViolation_partialMatches :: Lens' AwsVPCSecurityGroupViolation (Maybe [PartialMatch])
+ Amazonka.FMS.Lens: awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions :: Lens' AwsVPCSecurityGroupViolation (Maybe [SecurityGroupRemediationAction])
+ Amazonka.FMS.Lens: awsVPCSecurityGroupViolation_violationTarget :: Lens' AwsVPCSecurityGroupViolation (Maybe Text)
+ Amazonka.FMS.Lens: awsVPCSecurityGroupViolation_violationTargetDescription :: Lens' AwsVPCSecurityGroupViolation (Maybe Text)
+ Amazonka.FMS.Lens: batchAssociateResourceResponse_failedItems :: Lens' BatchAssociateResourceResponse [FailedItem]
+ Amazonka.FMS.Lens: batchAssociateResourceResponse_httpStatus :: Lens' BatchAssociateResourceResponse Int
+ Amazonka.FMS.Lens: batchAssociateResourceResponse_resourceSetIdentifier :: Lens' BatchAssociateResourceResponse Text
+ Amazonka.FMS.Lens: batchAssociateResource_items :: Lens' BatchAssociateResource [Text]
+ Amazonka.FMS.Lens: batchAssociateResource_resourceSetIdentifier :: Lens' BatchAssociateResource Text
+ Amazonka.FMS.Lens: batchDisassociateResourceResponse_failedItems :: Lens' BatchDisassociateResourceResponse [FailedItem]
+ Amazonka.FMS.Lens: batchDisassociateResourceResponse_httpStatus :: Lens' BatchDisassociateResourceResponse Int
+ Amazonka.FMS.Lens: batchDisassociateResourceResponse_resourceSetIdentifier :: Lens' BatchDisassociateResourceResponse Text
+ Amazonka.FMS.Lens: batchDisassociateResource_items :: Lens' BatchDisassociateResource [Text]
+ Amazonka.FMS.Lens: batchDisassociateResource_resourceSetIdentifier :: Lens' BatchDisassociateResource Text
+ Amazonka.FMS.Lens: complianceViolator_metadata :: Lens' ComplianceViolator (Maybe (HashMap Text Text))
+ Amazonka.FMS.Lens: complianceViolator_resourceId :: Lens' ComplianceViolator (Maybe Text)
+ Amazonka.FMS.Lens: complianceViolator_resourceType :: Lens' ComplianceViolator (Maybe Text)
+ Amazonka.FMS.Lens: complianceViolator_violationReason :: Lens' ComplianceViolator (Maybe ViolationReason)
+ Amazonka.FMS.Lens: deleteAppsList_listId :: Lens' DeleteAppsList Text
+ Amazonka.FMS.Lens: deletePolicy_deleteAllPolicyResources :: Lens' DeletePolicy (Maybe Bool)
+ Amazonka.FMS.Lens: deletePolicy_policyId :: Lens' DeletePolicy Text
+ Amazonka.FMS.Lens: deleteProtocolsList_listId :: Lens' DeleteProtocolsList Text
+ Amazonka.FMS.Lens: deleteResourceSet_identifier :: Lens' DeleteResourceSet Text
+ Amazonka.FMS.Lens: disassociateThirdPartyFirewallResponse_httpStatus :: Lens' DisassociateThirdPartyFirewallResponse Int
+ Amazonka.FMS.Lens: disassociateThirdPartyFirewallResponse_thirdPartyFirewallStatus :: Lens' DisassociateThirdPartyFirewallResponse (Maybe ThirdPartyFirewallAssociationStatus)
+ Amazonka.FMS.Lens: disassociateThirdPartyFirewall_thirdPartyFirewall :: Lens' DisassociateThirdPartyFirewall ThirdPartyFirewall
+ Amazonka.FMS.Lens: discoveredResource_accountId :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Lens: discoveredResource_name :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Lens: discoveredResource_type :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Lens: discoveredResource_uri :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Lens: dnsDuplicateRuleGroupViolation_violationTarget :: Lens' DnsDuplicateRuleGroupViolation (Maybe Text)
+ Amazonka.FMS.Lens: dnsDuplicateRuleGroupViolation_violationTargetDescription :: Lens' DnsDuplicateRuleGroupViolation (Maybe Text)
+ Amazonka.FMS.Lens: dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Int)
+ Amazonka.FMS.Lens: dnsRuleGroupLimitExceededViolation_violationTarget :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Text)
+ Amazonka.FMS.Lens: dnsRuleGroupLimitExceededViolation_violationTargetDescription :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Text)
+ Amazonka.FMS.Lens: dnsRuleGroupPriorityConflictViolation_conflictingPolicyId :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Lens: dnsRuleGroupPriorityConflictViolation_conflictingPriority :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Natural)
+ Amazonka.FMS.Lens: dnsRuleGroupPriorityConflictViolation_unavailablePriorities :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe [Natural])
+ Amazonka.FMS.Lens: dnsRuleGroupPriorityConflictViolation_violationTarget :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Lens: dnsRuleGroupPriorityConflictViolation_violationTargetDescription :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Lens: eC2AssociateRouteTableAction_description :: Lens' EC2AssociateRouteTableAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2AssociateRouteTableAction_gatewayId :: Lens' EC2AssociateRouteTableAction (Maybe ActionTarget)
+ Amazonka.FMS.Lens: eC2AssociateRouteTableAction_routeTableId :: Lens' EC2AssociateRouteTableAction ActionTarget
+ Amazonka.FMS.Lens: eC2AssociateRouteTableAction_subnetId :: Lens' EC2AssociateRouteTableAction (Maybe ActionTarget)
+ Amazonka.FMS.Lens: eC2CopyRouteTableAction_description :: Lens' EC2CopyRouteTableAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2CopyRouteTableAction_routeTableId :: Lens' EC2CopyRouteTableAction ActionTarget
+ Amazonka.FMS.Lens: eC2CopyRouteTableAction_vpcId :: Lens' EC2CopyRouteTableAction ActionTarget
+ Amazonka.FMS.Lens: eC2CreateRouteAction_description :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2CreateRouteAction_destinationCidrBlock :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2CreateRouteAction_destinationIpv6CidrBlock :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2CreateRouteAction_destinationPrefixListId :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2CreateRouteAction_gatewayId :: Lens' EC2CreateRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Lens: eC2CreateRouteAction_routeTableId :: Lens' EC2CreateRouteAction ActionTarget
+ Amazonka.FMS.Lens: eC2CreateRouteAction_vpcEndpointId :: Lens' EC2CreateRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Lens: eC2CreateRouteTableAction_description :: Lens' EC2CreateRouteTableAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2CreateRouteTableAction_vpcId :: Lens' EC2CreateRouteTableAction ActionTarget
+ Amazonka.FMS.Lens: eC2DeleteRouteAction_description :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2DeleteRouteAction_destinationCidrBlock :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2DeleteRouteAction_destinationIpv6CidrBlock :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2DeleteRouteAction_destinationPrefixListId :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2DeleteRouteAction_routeTableId :: Lens' EC2DeleteRouteAction ActionTarget
+ Amazonka.FMS.Lens: eC2ReplaceRouteAction_description :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2ReplaceRouteAction_destinationCidrBlock :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2ReplaceRouteAction_destinationIpv6CidrBlock :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2ReplaceRouteAction_destinationPrefixListId :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2ReplaceRouteAction_gatewayId :: Lens' EC2ReplaceRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Lens: eC2ReplaceRouteAction_routeTableId :: Lens' EC2ReplaceRouteAction ActionTarget
+ Amazonka.FMS.Lens: eC2ReplaceRouteTableAssociationAction_associationId :: Lens' EC2ReplaceRouteTableAssociationAction ActionTarget
+ Amazonka.FMS.Lens: eC2ReplaceRouteTableAssociationAction_description :: Lens' EC2ReplaceRouteTableAssociationAction (Maybe Text)
+ Amazonka.FMS.Lens: eC2ReplaceRouteTableAssociationAction_routeTableId :: Lens' EC2ReplaceRouteTableAssociationAction ActionTarget
+ Amazonka.FMS.Lens: evaluationResult_complianceStatus :: Lens' EvaluationResult (Maybe PolicyComplianceStatusType)
+ Amazonka.FMS.Lens: evaluationResult_evaluationLimitExceeded :: Lens' EvaluationResult (Maybe Bool)
+ Amazonka.FMS.Lens: evaluationResult_violatorCount :: Lens' EvaluationResult (Maybe Natural)
+ Amazonka.FMS.Lens: expectedRoute_allowedTargets :: Lens' ExpectedRoute (Maybe [Text])
+ Amazonka.FMS.Lens: expectedRoute_contributingSubnets :: Lens' ExpectedRoute (Maybe [Text])
+ Amazonka.FMS.Lens: expectedRoute_ipV4Cidr :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Lens: expectedRoute_ipV6Cidr :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Lens: expectedRoute_prefixListId :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Lens: expectedRoute_routeTableId :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Lens: fMSPolicyUpdateFirewallCreationConfigAction_description :: Lens' FMSPolicyUpdateFirewallCreationConfigAction (Maybe Text)
+ Amazonka.FMS.Lens: fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig :: Lens' FMSPolicyUpdateFirewallCreationConfigAction (Maybe Text)
+ Amazonka.FMS.Lens: failedItem_reason :: Lens' FailedItem (Maybe FailedItemReason)
+ Amazonka.FMS.Lens: failedItem_uri :: Lens' FailedItem (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetIsOutOfScopeViolation_firewallSubnetId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetIsOutOfScopeViolation_vpcEndpointId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetIsOutOfScopeViolation_vpcId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetMissingVPCEndpointViolation_firewallSubnetId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: firewallSubnetMissingVPCEndpointViolation_vpcId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: getAdminAccountResponse_adminAccount :: Lens' GetAdminAccountResponse (Maybe Text)
+ Amazonka.FMS.Lens: getAdminAccountResponse_httpStatus :: Lens' GetAdminAccountResponse Int
+ Amazonka.FMS.Lens: getAdminAccountResponse_roleStatus :: Lens' GetAdminAccountResponse (Maybe AccountRoleStatus)
+ Amazonka.FMS.Lens: getAppsListResponse_appsList :: Lens' GetAppsListResponse (Maybe AppsListData)
+ Amazonka.FMS.Lens: getAppsListResponse_appsListArn :: Lens' GetAppsListResponse (Maybe Text)
+ Amazonka.FMS.Lens: getAppsListResponse_httpStatus :: Lens' GetAppsListResponse Int
+ Amazonka.FMS.Lens: getAppsList_defaultList :: Lens' GetAppsList (Maybe Bool)
+ Amazonka.FMS.Lens: getAppsList_listId :: Lens' GetAppsList Text
+ Amazonka.FMS.Lens: getComplianceDetailResponse_httpStatus :: Lens' GetComplianceDetailResponse Int
+ Amazonka.FMS.Lens: getComplianceDetailResponse_policyComplianceDetail :: Lens' GetComplianceDetailResponse (Maybe PolicyComplianceDetail)
+ Amazonka.FMS.Lens: getComplianceDetail_memberAccount :: Lens' GetComplianceDetail Text
+ Amazonka.FMS.Lens: getComplianceDetail_policyId :: Lens' GetComplianceDetail Text
+ Amazonka.FMS.Lens: getNotificationChannelResponse_httpStatus :: Lens' GetNotificationChannelResponse Int
+ Amazonka.FMS.Lens: getNotificationChannelResponse_snsRoleName :: Lens' GetNotificationChannelResponse (Maybe Text)
+ Amazonka.FMS.Lens: getNotificationChannelResponse_snsTopicArn :: Lens' GetNotificationChannelResponse (Maybe Text)
+ Amazonka.FMS.Lens: getPolicyResponse_httpStatus :: Lens' GetPolicyResponse Int
+ Amazonka.FMS.Lens: getPolicyResponse_policy :: Lens' GetPolicyResponse (Maybe Policy)
+ Amazonka.FMS.Lens: getPolicyResponse_policyArn :: Lens' GetPolicyResponse (Maybe Text)
+ Amazonka.FMS.Lens: getPolicy_policyId :: Lens' GetPolicy Text
+ Amazonka.FMS.Lens: getProtectionStatusResponse_adminAccountId :: Lens' GetProtectionStatusResponse (Maybe Text)
+ Amazonka.FMS.Lens: getProtectionStatusResponse_data :: Lens' GetProtectionStatusResponse (Maybe Text)
+ Amazonka.FMS.Lens: getProtectionStatusResponse_httpStatus :: Lens' GetProtectionStatusResponse Int
+ Amazonka.FMS.Lens: getProtectionStatusResponse_nextToken :: Lens' GetProtectionStatusResponse (Maybe Text)
+ Amazonka.FMS.Lens: getProtectionStatusResponse_serviceType :: Lens' GetProtectionStatusResponse (Maybe SecurityServiceType)
+ Amazonka.FMS.Lens: getProtectionStatus_endTime :: Lens' GetProtectionStatus (Maybe UTCTime)
+ Amazonka.FMS.Lens: getProtectionStatus_maxResults :: Lens' GetProtectionStatus (Maybe Natural)
+ Amazonka.FMS.Lens: getProtectionStatus_memberAccountId :: Lens' GetProtectionStatus (Maybe Text)
+ Amazonka.FMS.Lens: getProtectionStatus_nextToken :: Lens' GetProtectionStatus (Maybe Text)
+ Amazonka.FMS.Lens: getProtectionStatus_policyId :: Lens' GetProtectionStatus Text
+ Amazonka.FMS.Lens: getProtectionStatus_startTime :: Lens' GetProtectionStatus (Maybe UTCTime)
+ Amazonka.FMS.Lens: getProtocolsListResponse_httpStatus :: Lens' GetProtocolsListResponse Int
+ Amazonka.FMS.Lens: getProtocolsListResponse_protocolsList :: Lens' GetProtocolsListResponse (Maybe ProtocolsListData)
+ Amazonka.FMS.Lens: getProtocolsListResponse_protocolsListArn :: Lens' GetProtocolsListResponse (Maybe Text)
+ Amazonka.FMS.Lens: getProtocolsList_defaultList :: Lens' GetProtocolsList (Maybe Bool)
+ Amazonka.FMS.Lens: getProtocolsList_listId :: Lens' GetProtocolsList Text
+ Amazonka.FMS.Lens: getResourceSetResponse_httpStatus :: Lens' GetResourceSetResponse Int
+ Amazonka.FMS.Lens: getResourceSetResponse_resourceSet :: Lens' GetResourceSetResponse ResourceSet
+ Amazonka.FMS.Lens: getResourceSetResponse_resourceSetArn :: Lens' GetResourceSetResponse Text
+ Amazonka.FMS.Lens: getResourceSet_identifier :: Lens' GetResourceSet Text
+ Amazonka.FMS.Lens: getThirdPartyFirewallAssociationStatusResponse_httpStatus :: Lens' GetThirdPartyFirewallAssociationStatusResponse Int
+ Amazonka.FMS.Lens: getThirdPartyFirewallAssociationStatusResponse_marketplaceOnboardingStatus :: Lens' GetThirdPartyFirewallAssociationStatusResponse (Maybe MarketplaceSubscriptionOnboardingStatus)
+ Amazonka.FMS.Lens: getThirdPartyFirewallAssociationStatusResponse_thirdPartyFirewallStatus :: Lens' GetThirdPartyFirewallAssociationStatusResponse (Maybe ThirdPartyFirewallAssociationStatus)
+ Amazonka.FMS.Lens: getThirdPartyFirewallAssociationStatus_thirdPartyFirewall :: Lens' GetThirdPartyFirewallAssociationStatus ThirdPartyFirewall
+ Amazonka.FMS.Lens: getViolationDetailsResponse_httpStatus :: Lens' GetViolationDetailsResponse Int
+ Amazonka.FMS.Lens: getViolationDetailsResponse_violationDetail :: Lens' GetViolationDetailsResponse (Maybe ViolationDetail)
+ Amazonka.FMS.Lens: getViolationDetails_memberAccount :: Lens' GetViolationDetails Text
+ Amazonka.FMS.Lens: getViolationDetails_policyId :: Lens' GetViolationDetails Text
+ Amazonka.FMS.Lens: getViolationDetails_resourceId :: Lens' GetViolationDetails Text
+ Amazonka.FMS.Lens: getViolationDetails_resourceType :: Lens' GetViolationDetails Text
+ Amazonka.FMS.Lens: listAppsListsResponse_appsLists :: Lens' ListAppsListsResponse (Maybe [AppsListDataSummary])
+ Amazonka.FMS.Lens: listAppsListsResponse_httpStatus :: Lens' ListAppsListsResponse Int
+ Amazonka.FMS.Lens: listAppsListsResponse_nextToken :: Lens' ListAppsListsResponse (Maybe Text)
+ Amazonka.FMS.Lens: listAppsLists_defaultLists :: Lens' ListAppsLists (Maybe Bool)
+ Amazonka.FMS.Lens: listAppsLists_maxResults :: Lens' ListAppsLists Natural
+ Amazonka.FMS.Lens: listAppsLists_nextToken :: Lens' ListAppsLists (Maybe Text)
+ Amazonka.FMS.Lens: listComplianceStatusResponse_httpStatus :: Lens' ListComplianceStatusResponse Int
+ Amazonka.FMS.Lens: listComplianceStatusResponse_nextToken :: Lens' ListComplianceStatusResponse (Maybe Text)
+ Amazonka.FMS.Lens: listComplianceStatusResponse_policyComplianceStatusList :: Lens' ListComplianceStatusResponse (Maybe [PolicyComplianceStatus])
+ Amazonka.FMS.Lens: listComplianceStatus_maxResults :: Lens' ListComplianceStatus (Maybe Natural)
+ Amazonka.FMS.Lens: listComplianceStatus_nextToken :: Lens' ListComplianceStatus (Maybe Text)
+ Amazonka.FMS.Lens: listComplianceStatus_policyId :: Lens' ListComplianceStatus Text
+ Amazonka.FMS.Lens: listDiscoveredResourcesResponse_httpStatus :: Lens' ListDiscoveredResourcesResponse Int
+ Amazonka.FMS.Lens: listDiscoveredResourcesResponse_items :: Lens' ListDiscoveredResourcesResponse (Maybe [DiscoveredResource])
+ Amazonka.FMS.Lens: listDiscoveredResourcesResponse_nextToken :: Lens' ListDiscoveredResourcesResponse (Maybe Text)
+ Amazonka.FMS.Lens: listDiscoveredResources_maxResults :: Lens' ListDiscoveredResources (Maybe Natural)
+ Amazonka.FMS.Lens: listDiscoveredResources_memberAccountIds :: Lens' ListDiscoveredResources [Text]
+ Amazonka.FMS.Lens: listDiscoveredResources_nextToken :: Lens' ListDiscoveredResources (Maybe Text)
+ Amazonka.FMS.Lens: listDiscoveredResources_resourceType :: Lens' ListDiscoveredResources Text
+ Amazonka.FMS.Lens: listMemberAccountsResponse_httpStatus :: Lens' ListMemberAccountsResponse Int
+ Amazonka.FMS.Lens: listMemberAccountsResponse_memberAccounts :: Lens' ListMemberAccountsResponse (Maybe [Text])
+ Amazonka.FMS.Lens: listMemberAccountsResponse_nextToken :: Lens' ListMemberAccountsResponse (Maybe Text)
+ Amazonka.FMS.Lens: listMemberAccounts_maxResults :: Lens' ListMemberAccounts (Maybe Natural)
+ Amazonka.FMS.Lens: listMemberAccounts_nextToken :: Lens' ListMemberAccounts (Maybe Text)
+ Amazonka.FMS.Lens: listPoliciesResponse_httpStatus :: Lens' ListPoliciesResponse Int
+ Amazonka.FMS.Lens: listPoliciesResponse_nextToken :: Lens' ListPoliciesResponse (Maybe Text)
+ Amazonka.FMS.Lens: listPoliciesResponse_policyList :: Lens' ListPoliciesResponse (Maybe [PolicySummary])
+ Amazonka.FMS.Lens: listPolicies_maxResults :: Lens' ListPolicies (Maybe Natural)
+ Amazonka.FMS.Lens: listPolicies_nextToken :: Lens' ListPolicies (Maybe Text)
+ Amazonka.FMS.Lens: listProtocolsListsResponse_httpStatus :: Lens' ListProtocolsListsResponse Int
+ Amazonka.FMS.Lens: listProtocolsListsResponse_nextToken :: Lens' ListProtocolsListsResponse (Maybe Text)
+ Amazonka.FMS.Lens: listProtocolsListsResponse_protocolsLists :: Lens' ListProtocolsListsResponse (Maybe [ProtocolsListDataSummary])
+ Amazonka.FMS.Lens: listProtocolsLists_defaultLists :: Lens' ListProtocolsLists (Maybe Bool)
+ Amazonka.FMS.Lens: listProtocolsLists_maxResults :: Lens' ListProtocolsLists Natural
+ Amazonka.FMS.Lens: listProtocolsLists_nextToken :: Lens' ListProtocolsLists (Maybe Text)
+ Amazonka.FMS.Lens: listResourceSetResourcesResponse_httpStatus :: Lens' ListResourceSetResourcesResponse Int
+ Amazonka.FMS.Lens: listResourceSetResourcesResponse_items :: Lens' ListResourceSetResourcesResponse [Resource]
+ Amazonka.FMS.Lens: listResourceSetResourcesResponse_nextToken :: Lens' ListResourceSetResourcesResponse (Maybe Text)
+ Amazonka.FMS.Lens: listResourceSetResources_identifier :: Lens' ListResourceSetResources Text
+ Amazonka.FMS.Lens: listResourceSetResources_maxResults :: Lens' ListResourceSetResources (Maybe Natural)
+ Amazonka.FMS.Lens: listResourceSetResources_nextToken :: Lens' ListResourceSetResources (Maybe Text)
+ Amazonka.FMS.Lens: listResourceSetsResponse_httpStatus :: Lens' ListResourceSetsResponse Int
+ Amazonka.FMS.Lens: listResourceSetsResponse_nextToken :: Lens' ListResourceSetsResponse (Maybe Text)
+ Amazonka.FMS.Lens: listResourceSetsResponse_resourceSets :: Lens' ListResourceSetsResponse (Maybe [ResourceSetSummary])
+ Amazonka.FMS.Lens: listResourceSets_maxResults :: Lens' ListResourceSets (Maybe Natural)
+ Amazonka.FMS.Lens: listResourceSets_nextToken :: Lens' ListResourceSets (Maybe Text)
+ Amazonka.FMS.Lens: listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int
+ Amazonka.FMS.Lens: listTagsForResourceResponse_tagList :: Lens' ListTagsForResourceResponse (Maybe [Tag])
+ Amazonka.FMS.Lens: listTagsForResource_resourceArn :: Lens' ListTagsForResource Text
+ Amazonka.FMS.Lens: listThirdPartyFirewallFirewallPoliciesResponse_httpStatus :: Lens' ListThirdPartyFirewallFirewallPoliciesResponse Int
+ Amazonka.FMS.Lens: listThirdPartyFirewallFirewallPoliciesResponse_nextToken :: Lens' ListThirdPartyFirewallFirewallPoliciesResponse (Maybe Text)
+ Amazonka.FMS.Lens: listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies :: Lens' ListThirdPartyFirewallFirewallPoliciesResponse (Maybe [ThirdPartyFirewallFirewallPolicy])
+ Amazonka.FMS.Lens: listThirdPartyFirewallFirewallPolicies_maxResults :: Lens' ListThirdPartyFirewallFirewallPolicies Natural
+ Amazonka.FMS.Lens: listThirdPartyFirewallFirewallPolicies_nextToken :: Lens' ListThirdPartyFirewallFirewallPolicies (Maybe Text)
+ Amazonka.FMS.Lens: listThirdPartyFirewallFirewallPolicies_thirdPartyFirewall :: Lens' ListThirdPartyFirewallFirewallPolicies ThirdPartyFirewall
+ Amazonka.FMS.Lens: networkFirewallBlackHoleRouteDetectedViolation_routeTableId :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallBlackHoleRouteDetectedViolation_violationTarget :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallBlackHoleRouteDetectedViolation_vpcId :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Bool)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_routeTableId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_subnetId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallInternetTrafficNotInspectedViolation_vpcId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_affectedSubnets :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Text])
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_internetGatewayId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Bool)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_routeTableId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_violatingRoute :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Route)
+ Amazonka.FMS.Lens: networkFirewallInvalidRouteConfigurationViolation_vpcId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRTViolation_availabilityZone :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRTViolation_currentRouteTable :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRTViolation_expectedRouteTable :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRTViolation_violationTarget :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRTViolation_vpc :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRoutesViolation_expectedRoutes :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRoutesViolation_violationTarget :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingExpectedRoutesViolation_vpcId :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingFirewallViolation_availabilityZone :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingFirewallViolation_targetViolationReason :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingFirewallViolation_violationTarget :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingFirewallViolation_vpc :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingSubnetViolation_availabilityZone :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingSubnetViolation_targetViolationReason :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingSubnetViolation_violationTarget :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallMissingSubnetViolation_vpc :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallPolicyDescription_statefulDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Lens: networkFirewallPolicyDescription_statefulEngineOptions :: Lens' NetworkFirewallPolicyDescription (Maybe StatefulEngineOptions)
+ Amazonka.FMS.Lens: networkFirewallPolicyDescription_statefulRuleGroups :: Lens' NetworkFirewallPolicyDescription (Maybe [StatefulRuleGroup])
+ Amazonka.FMS.Lens: networkFirewallPolicyDescription_statelessCustomActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Lens: networkFirewallPolicyDescription_statelessDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Lens: networkFirewallPolicyDescription_statelessFragmentDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Lens: networkFirewallPolicyDescription_statelessRuleGroups :: Lens' NetworkFirewallPolicyDescription (Maybe [StatelessRuleGroup])
+ Amazonka.FMS.Lens: networkFirewallPolicyModifiedViolation_currentPolicyDescription :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe NetworkFirewallPolicyDescription)
+ Amazonka.FMS.Lens: networkFirewallPolicyModifiedViolation_expectedPolicyDescription :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe NetworkFirewallPolicyDescription)
+ Amazonka.FMS.Lens: networkFirewallPolicyModifiedViolation_violationTarget :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallPolicy_firewallDeploymentModel :: Lens' NetworkFirewallPolicy (Maybe FirewallDeploymentModel)
+ Amazonka.FMS.Lens: networkFirewallStatefulRuleGroupOverride_action :: Lens' NetworkFirewallStatefulRuleGroupOverride (Maybe NetworkFirewallOverrideAction)
+ Amazonka.FMS.Lens: networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallUnexpectedFirewallRoutesViolation_routeTableId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallUnexpectedFirewallRoutesViolation_vpcId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallUnexpectedGatewayRoutesViolation_gatewayId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallUnexpectedGatewayRoutesViolation_routeTableId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe [Route])
+ Amazonka.FMS.Lens: networkFirewallUnexpectedGatewayRoutesViolation_vpcId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Lens: partialMatch_reference :: Lens' PartialMatch (Maybe Text)
+ Amazonka.FMS.Lens: partialMatch_targetViolationReasons :: Lens' PartialMatch (Maybe [Text])
+ Amazonka.FMS.Lens: policyComplianceDetail_evaluationLimitExceeded :: Lens' PolicyComplianceDetail (Maybe Bool)
+ Amazonka.FMS.Lens: policyComplianceDetail_expiredAt :: Lens' PolicyComplianceDetail (Maybe UTCTime)
+ Amazonka.FMS.Lens: policyComplianceDetail_issueInfoMap :: Lens' PolicyComplianceDetail (Maybe (HashMap DependentServiceName Text))
+ Amazonka.FMS.Lens: policyComplianceDetail_memberAccount :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Lens: policyComplianceDetail_policyId :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Lens: policyComplianceDetail_policyOwner :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Lens: policyComplianceDetail_violators :: Lens' PolicyComplianceDetail (Maybe [ComplianceViolator])
+ Amazonka.FMS.Lens: policyComplianceStatus_evaluationResults :: Lens' PolicyComplianceStatus (Maybe [EvaluationResult])
+ Amazonka.FMS.Lens: policyComplianceStatus_issueInfoMap :: Lens' PolicyComplianceStatus (Maybe (HashMap DependentServiceName Text))
+ Amazonka.FMS.Lens: policyComplianceStatus_lastUpdated :: Lens' PolicyComplianceStatus (Maybe UTCTime)
+ Amazonka.FMS.Lens: policyComplianceStatus_memberAccount :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Lens: policyComplianceStatus_policyId :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Lens: policyComplianceStatus_policyName :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Lens: policyComplianceStatus_policyOwner :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Lens: policyOption_networkFirewallPolicy :: Lens' PolicyOption (Maybe NetworkFirewallPolicy)
+ Amazonka.FMS.Lens: policyOption_thirdPartyFirewallPolicy :: Lens' PolicyOption (Maybe ThirdPartyFirewallPolicy)
+ Amazonka.FMS.Lens: policySummary_deleteUnusedFMManagedResources :: Lens' PolicySummary (Maybe Bool)
+ Amazonka.FMS.Lens: policySummary_policyArn :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Lens: policySummary_policyId :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Lens: policySummary_policyName :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Lens: policySummary_remediationEnabled :: Lens' PolicySummary (Maybe Bool)
+ Amazonka.FMS.Lens: policySummary_resourceType :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Lens: policySummary_securityServiceType :: Lens' PolicySummary (Maybe SecurityServiceType)
+ Amazonka.FMS.Lens: policy_deleteUnusedFMManagedResources :: Lens' Policy (Maybe Bool)
+ Amazonka.FMS.Lens: policy_excludeMap :: Lens' Policy (Maybe (HashMap CustomerPolicyScopeIdType [Text]))
+ Amazonka.FMS.Lens: policy_excludeResourceTags :: Lens' Policy Bool
+ Amazonka.FMS.Lens: policy_includeMap :: Lens' Policy (Maybe (HashMap CustomerPolicyScopeIdType [Text]))
+ Amazonka.FMS.Lens: policy_policyDescription :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Lens: policy_policyId :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Lens: policy_policyName :: Lens' Policy Text
+ Amazonka.FMS.Lens: policy_policyUpdateToken :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Lens: policy_remediationEnabled :: Lens' Policy Bool
+ Amazonka.FMS.Lens: policy_resourceSetIds :: Lens' Policy (Maybe [Text])
+ Amazonka.FMS.Lens: policy_resourceTags :: Lens' Policy (Maybe [ResourceTag])
+ Amazonka.FMS.Lens: policy_resourceType :: Lens' Policy Text
+ Amazonka.FMS.Lens: policy_resourceTypeList :: Lens' Policy (Maybe [Text])
+ Amazonka.FMS.Lens: policy_securityServicePolicyData :: Lens' Policy SecurityServicePolicyData
+ Amazonka.FMS.Lens: possibleRemediationAction_description :: Lens' PossibleRemediationAction (Maybe Text)
+ Amazonka.FMS.Lens: possibleRemediationAction_isDefaultAction :: Lens' PossibleRemediationAction (Maybe Bool)
+ Amazonka.FMS.Lens: possibleRemediationAction_orderedRemediationActions :: Lens' PossibleRemediationAction [RemediationActionWithOrder]
+ Amazonka.FMS.Lens: possibleRemediationActions_actions :: Lens' PossibleRemediationActions (Maybe [PossibleRemediationAction])
+ Amazonka.FMS.Lens: possibleRemediationActions_description :: Lens' PossibleRemediationActions (Maybe Text)
+ Amazonka.FMS.Lens: protocolsListDataSummary_listArn :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Lens: protocolsListDataSummary_listId :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Lens: protocolsListDataSummary_listName :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Lens: protocolsListDataSummary_protocolsList :: Lens' ProtocolsListDataSummary (Maybe [Text])
+ Amazonka.FMS.Lens: protocolsListData_createTime :: Lens' ProtocolsListData (Maybe UTCTime)
+ Amazonka.FMS.Lens: protocolsListData_lastUpdateTime :: Lens' ProtocolsListData (Maybe UTCTime)
+ Amazonka.FMS.Lens: protocolsListData_listId :: Lens' ProtocolsListData (Maybe Text)
+ Amazonka.FMS.Lens: protocolsListData_listName :: Lens' ProtocolsListData Text
+ Amazonka.FMS.Lens: protocolsListData_listUpdateToken :: Lens' ProtocolsListData (Maybe Text)
+ Amazonka.FMS.Lens: protocolsListData_previousProtocolsList :: Lens' ProtocolsListData (Maybe (HashMap Text [Text]))
+ Amazonka.FMS.Lens: protocolsListData_protocolsList :: Lens' ProtocolsListData [Text]
+ Amazonka.FMS.Lens: putAppsListResponse_appsList :: Lens' PutAppsListResponse (Maybe AppsListData)
+ Amazonka.FMS.Lens: putAppsListResponse_appsListArn :: Lens' PutAppsListResponse (Maybe Text)
+ Amazonka.FMS.Lens: putAppsListResponse_httpStatus :: Lens' PutAppsListResponse Int
+ Amazonka.FMS.Lens: putAppsList_appsList :: Lens' PutAppsList AppsListData
+ Amazonka.FMS.Lens: putAppsList_tagList :: Lens' PutAppsList (Maybe [Tag])
+ Amazonka.FMS.Lens: putNotificationChannel_snsRoleName :: Lens' PutNotificationChannel Text
+ Amazonka.FMS.Lens: putNotificationChannel_snsTopicArn :: Lens' PutNotificationChannel Text
+ Amazonka.FMS.Lens: putPolicyResponse_httpStatus :: Lens' PutPolicyResponse Int
+ Amazonka.FMS.Lens: putPolicyResponse_policy :: Lens' PutPolicyResponse (Maybe Policy)
+ Amazonka.FMS.Lens: putPolicyResponse_policyArn :: Lens' PutPolicyResponse (Maybe Text)
+ Amazonka.FMS.Lens: putPolicy_policy :: Lens' PutPolicy Policy
+ Amazonka.FMS.Lens: putPolicy_tagList :: Lens' PutPolicy (Maybe [Tag])
+ Amazonka.FMS.Lens: putProtocolsListResponse_httpStatus :: Lens' PutProtocolsListResponse Int
+ Amazonka.FMS.Lens: putProtocolsListResponse_protocolsList :: Lens' PutProtocolsListResponse (Maybe ProtocolsListData)
+ Amazonka.FMS.Lens: putProtocolsListResponse_protocolsListArn :: Lens' PutProtocolsListResponse (Maybe Text)
+ Amazonka.FMS.Lens: putProtocolsList_protocolsList :: Lens' PutProtocolsList ProtocolsListData
+ Amazonka.FMS.Lens: putProtocolsList_tagList :: Lens' PutProtocolsList (Maybe [Tag])
+ Amazonka.FMS.Lens: putResourceSetResponse_httpStatus :: Lens' PutResourceSetResponse Int
+ Amazonka.FMS.Lens: putResourceSetResponse_resourceSet :: Lens' PutResourceSetResponse ResourceSet
+ Amazonka.FMS.Lens: putResourceSetResponse_resourceSetArn :: Lens' PutResourceSetResponse Text
+ Amazonka.FMS.Lens: putResourceSet_resourceSet :: Lens' PutResourceSet ResourceSet
+ Amazonka.FMS.Lens: putResourceSet_tagList :: Lens' PutResourceSet (Maybe [Tag])
+ Amazonka.FMS.Lens: remediationActionWithOrder_order :: Lens' RemediationActionWithOrder (Maybe Int)
+ Amazonka.FMS.Lens: remediationActionWithOrder_remediationAction :: Lens' RemediationActionWithOrder (Maybe RemediationAction)
+ Amazonka.FMS.Lens: remediationAction_description :: Lens' RemediationAction (Maybe Text)
+ Amazonka.FMS.Lens: remediationAction_eC2AssociateRouteTableAction :: Lens' RemediationAction (Maybe EC2AssociateRouteTableAction)
+ Amazonka.FMS.Lens: remediationAction_eC2CopyRouteTableAction :: Lens' RemediationAction (Maybe EC2CopyRouteTableAction)
+ Amazonka.FMS.Lens: remediationAction_eC2CreateRouteAction :: Lens' RemediationAction (Maybe EC2CreateRouteAction)
+ Amazonka.FMS.Lens: remediationAction_eC2CreateRouteTableAction :: Lens' RemediationAction (Maybe EC2CreateRouteTableAction)
+ Amazonka.FMS.Lens: remediationAction_eC2DeleteRouteAction :: Lens' RemediationAction (Maybe EC2DeleteRouteAction)
+ Amazonka.FMS.Lens: remediationAction_eC2ReplaceRouteAction :: Lens' RemediationAction (Maybe EC2ReplaceRouteAction)
+ Amazonka.FMS.Lens: remediationAction_eC2ReplaceRouteTableAssociationAction :: Lens' RemediationAction (Maybe EC2ReplaceRouteTableAssociationAction)
+ Amazonka.FMS.Lens: remediationAction_fMSPolicyUpdateFirewallCreationConfigAction :: Lens' RemediationAction (Maybe FMSPolicyUpdateFirewallCreationConfigAction)
+ Amazonka.FMS.Lens: resourceSetSummary_description :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Lens: resourceSetSummary_id :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Lens: resourceSetSummary_lastUpdateTime :: Lens' ResourceSetSummary (Maybe UTCTime)
+ Amazonka.FMS.Lens: resourceSetSummary_name :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Lens: resourceSet_description :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Lens: resourceSet_id :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Lens: resourceSet_lastUpdateTime :: Lens' ResourceSet (Maybe UTCTime)
+ Amazonka.FMS.Lens: resourceSet_name :: Lens' ResourceSet Text
+ Amazonka.FMS.Lens: resourceSet_resourceTypeList :: Lens' ResourceSet [Text]
+ Amazonka.FMS.Lens: resourceSet_updateToken :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Lens: resourceTag_key :: Lens' ResourceTag Text
+ Amazonka.FMS.Lens: resourceTag_value :: Lens' ResourceTag (Maybe Text)
+ Amazonka.FMS.Lens: resourceViolation_awsEc2InstanceViolation :: Lens' ResourceViolation (Maybe AwsEc2InstanceViolation)
+ Amazonka.FMS.Lens: resourceViolation_awsEc2NetworkInterfaceViolation :: Lens' ResourceViolation (Maybe AwsEc2NetworkInterfaceViolation)
+ Amazonka.FMS.Lens: resourceViolation_awsVPCSecurityGroupViolation :: Lens' ResourceViolation (Maybe AwsVPCSecurityGroupViolation)
+ Amazonka.FMS.Lens: resourceViolation_dnsDuplicateRuleGroupViolation :: Lens' ResourceViolation (Maybe DnsDuplicateRuleGroupViolation)
+ Amazonka.FMS.Lens: resourceViolation_dnsRuleGroupLimitExceededViolation :: Lens' ResourceViolation (Maybe DnsRuleGroupLimitExceededViolation)
+ Amazonka.FMS.Lens: resourceViolation_dnsRuleGroupPriorityConflictViolation :: Lens' ResourceViolation (Maybe DnsRuleGroupPriorityConflictViolation)
+ Amazonka.FMS.Lens: resourceViolation_firewallSubnetIsOutOfScopeViolation :: Lens' ResourceViolation (Maybe FirewallSubnetIsOutOfScopeViolation)
+ Amazonka.FMS.Lens: resourceViolation_firewallSubnetMissingVPCEndpointViolation :: Lens' ResourceViolation (Maybe FirewallSubnetMissingVPCEndpointViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallBlackHoleRouteDetectedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallBlackHoleRouteDetectedViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallInternetTrafficNotInspectedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallInternetTrafficNotInspectedViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallInvalidRouteConfigurationViolation :: Lens' ResourceViolation (Maybe NetworkFirewallInvalidRouteConfigurationViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallMissingExpectedRTViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingExpectedRTViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallMissingExpectedRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingExpectedRoutesViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallMissingFirewallViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingFirewallViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallMissingSubnetViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingSubnetViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallPolicyModifiedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallPolicyModifiedViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallUnexpectedFirewallRoutesViolation)
+ Amazonka.FMS.Lens: resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallUnexpectedGatewayRoutesViolation)
+ Amazonka.FMS.Lens: resourceViolation_possibleRemediationActions :: Lens' ResourceViolation (Maybe PossibleRemediationActions)
+ Amazonka.FMS.Lens: resourceViolation_routeHasOutOfScopeEndpointViolation :: Lens' ResourceViolation (Maybe RouteHasOutOfScopeEndpointViolation)
+ Amazonka.FMS.Lens: resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation)
+ Amazonka.FMS.Lens: resourceViolation_thirdPartyFirewallMissingFirewallViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingFirewallViolation)
+ Amazonka.FMS.Lens: resourceViolation_thirdPartyFirewallMissingSubnetViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingSubnetViolation)
+ Amazonka.FMS.Lens: resource_accountId :: Lens' Resource (Maybe Text)
+ Amazonka.FMS.Lens: resource_uri :: Lens' Resource Text
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_firewallSubnetId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_internetGatewayId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_internetGatewayRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_routeTableId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_subnetId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_violatingRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Lens: routeHasOutOfScopeEndpointViolation_vpcId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Lens: route_destination :: Lens' Route (Maybe Text)
+ Amazonka.FMS.Lens: route_destinationType :: Lens' Route (Maybe DestinationType)
+ Amazonka.FMS.Lens: route_target :: Lens' Route (Maybe Text)
+ Amazonka.FMS.Lens: route_targetType :: Lens' Route (Maybe TargetType)
+ Amazonka.FMS.Lens: securityGroupRemediationAction_description :: Lens' SecurityGroupRemediationAction (Maybe Text)
+ Amazonka.FMS.Lens: securityGroupRemediationAction_isDefaultAction :: Lens' SecurityGroupRemediationAction (Maybe Bool)
+ Amazonka.FMS.Lens: securityGroupRemediationAction_remediationActionType :: Lens' SecurityGroupRemediationAction (Maybe RemediationActionType)
+ Amazonka.FMS.Lens: securityGroupRemediationAction_remediationResult :: Lens' SecurityGroupRemediationAction (Maybe SecurityGroupRuleDescription)
+ Amazonka.FMS.Lens: securityGroupRuleDescription_fromPort :: Lens' SecurityGroupRuleDescription (Maybe Natural)
+ Amazonka.FMS.Lens: securityGroupRuleDescription_iPV4Range :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Lens: securityGroupRuleDescription_iPV6Range :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Lens: securityGroupRuleDescription_prefixListId :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Lens: securityGroupRuleDescription_protocol :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Lens: securityGroupRuleDescription_toPort :: Lens' SecurityGroupRuleDescription (Maybe Natural)
+ Amazonka.FMS.Lens: securityServicePolicyData_managedServiceData :: Lens' SecurityServicePolicyData (Maybe Text)
+ Amazonka.FMS.Lens: securityServicePolicyData_policyOption :: Lens' SecurityServicePolicyData (Maybe PolicyOption)
+ Amazonka.FMS.Lens: securityServicePolicyData_type :: Lens' SecurityServicePolicyData SecurityServiceType
+ Amazonka.FMS.Lens: statefulEngineOptions_ruleOrder :: Lens' StatefulEngineOptions (Maybe RuleOrder)
+ Amazonka.FMS.Lens: statefulRuleGroup_override :: Lens' StatefulRuleGroup (Maybe NetworkFirewallStatefulRuleGroupOverride)
+ Amazonka.FMS.Lens: statefulRuleGroup_priority :: Lens' StatefulRuleGroup (Maybe Int)
+ Amazonka.FMS.Lens: statefulRuleGroup_resourceId :: Lens' StatefulRuleGroup (Maybe Text)
+ Amazonka.FMS.Lens: statefulRuleGroup_ruleGroupName :: Lens' StatefulRuleGroup (Maybe Text)
+ Amazonka.FMS.Lens: statelessRuleGroup_priority :: Lens' StatelessRuleGroup (Maybe Natural)
+ Amazonka.FMS.Lens: statelessRuleGroup_resourceId :: Lens' StatelessRuleGroup (Maybe Text)
+ Amazonka.FMS.Lens: statelessRuleGroup_ruleGroupName :: Lens' StatelessRuleGroup (Maybe Text)
+ Amazonka.FMS.Lens: tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int
+ Amazonka.FMS.Lens: tagResource_resourceArn :: Lens' TagResource Text
+ Amazonka.FMS.Lens: tagResource_tagList :: Lens' TagResource [Tag]
+ Amazonka.FMS.Lens: tag_key :: Lens' Tag Text
+ Amazonka.FMS.Lens: tag_value :: Lens' Tag Text
+ Amazonka.FMS.Lens: thirdPartyFirewallFirewallPolicy_firewallPolicyId :: Lens' ThirdPartyFirewallFirewallPolicy (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallFirewallPolicy_firewallPolicyName :: Lens' ThirdPartyFirewallFirewallPolicy (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingExpectedRouteTableViolation_vpc :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingFirewallViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingFirewallViolation_targetViolationReason :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingFirewallViolation_violationTarget :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingFirewallViolation_vpc :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingSubnetViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingSubnetViolation_targetViolationReason :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingSubnetViolation_violationTarget :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallMissingSubnetViolation_vpc :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Lens: thirdPartyFirewallPolicy_firewallDeploymentModel :: Lens' ThirdPartyFirewallPolicy (Maybe FirewallDeploymentModel)
+ Amazonka.FMS.Lens: untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int
+ Amazonka.FMS.Lens: untagResource_resourceArn :: Lens' UntagResource Text
+ Amazonka.FMS.Lens: untagResource_tagKeys :: Lens' UntagResource [Text]
+ Amazonka.FMS.Lens: violationDetail_memberAccount :: Lens' ViolationDetail Text
+ Amazonka.FMS.Lens: violationDetail_policyId :: Lens' ViolationDetail Text
+ Amazonka.FMS.Lens: violationDetail_resourceDescription :: Lens' ViolationDetail (Maybe Text)
+ Amazonka.FMS.Lens: violationDetail_resourceId :: Lens' ViolationDetail Text
+ Amazonka.FMS.Lens: violationDetail_resourceTags :: Lens' ViolationDetail (Maybe [Tag])
+ Amazonka.FMS.Lens: violationDetail_resourceType :: Lens' ViolationDetail Text
+ Amazonka.FMS.Lens: violationDetail_resourceViolations :: Lens' ViolationDetail [ResourceViolation]
+ Amazonka.FMS.ListAppsLists: ListAppsLists' :: Maybe Bool -> Maybe Text -> Natural -> ListAppsLists
+ Amazonka.FMS.ListAppsLists: ListAppsListsResponse' :: Maybe [AppsListDataSummary] -> Maybe Text -> Int -> ListAppsListsResponse
+ Amazonka.FMS.ListAppsLists: [$sel:appsLists:ListAppsListsResponse'] :: ListAppsListsResponse -> Maybe [AppsListDataSummary]
+ Amazonka.FMS.ListAppsLists: [$sel:defaultLists:ListAppsLists'] :: ListAppsLists -> Maybe Bool
+ Amazonka.FMS.ListAppsLists: [$sel:httpStatus:ListAppsListsResponse'] :: ListAppsListsResponse -> Int
+ Amazonka.FMS.ListAppsLists: [$sel:maxResults:ListAppsLists'] :: ListAppsLists -> Natural
+ Amazonka.FMS.ListAppsLists: [$sel:nextToken:ListAppsLists'] :: ListAppsLists -> Maybe Text
+ Amazonka.FMS.ListAppsLists: [$sel:nextToken:ListAppsListsResponse'] :: ListAppsListsResponse -> Maybe Text
+ Amazonka.FMS.ListAppsLists: data ListAppsLists
+ Amazonka.FMS.ListAppsLists: data ListAppsListsResponse
+ Amazonka.FMS.ListAppsLists: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance Amazonka.Pager.AWSPager Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance Control.DeepSeq.NFData Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance Control.DeepSeq.NFData Amazonka.FMS.ListAppsLists.ListAppsListsResponse
+ Amazonka.FMS.ListAppsLists: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance GHC.Classes.Eq Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance GHC.Classes.Eq Amazonka.FMS.ListAppsLists.ListAppsListsResponse
+ Amazonka.FMS.ListAppsLists: instance GHC.Generics.Generic Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance GHC.Generics.Generic Amazonka.FMS.ListAppsLists.ListAppsListsResponse
+ Amazonka.FMS.ListAppsLists: instance GHC.Read.Read Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance GHC.Read.Read Amazonka.FMS.ListAppsLists.ListAppsListsResponse
+ Amazonka.FMS.ListAppsLists: instance GHC.Show.Show Amazonka.FMS.ListAppsLists.ListAppsLists
+ Amazonka.FMS.ListAppsLists: instance GHC.Show.Show Amazonka.FMS.ListAppsLists.ListAppsListsResponse
+ Amazonka.FMS.ListAppsLists: listAppsListsResponse_appsLists :: Lens' ListAppsListsResponse (Maybe [AppsListDataSummary])
+ Amazonka.FMS.ListAppsLists: listAppsListsResponse_httpStatus :: Lens' ListAppsListsResponse Int
+ Amazonka.FMS.ListAppsLists: listAppsListsResponse_nextToken :: Lens' ListAppsListsResponse (Maybe Text)
+ Amazonka.FMS.ListAppsLists: listAppsLists_defaultLists :: Lens' ListAppsLists (Maybe Bool)
+ Amazonka.FMS.ListAppsLists: listAppsLists_maxResults :: Lens' ListAppsLists Natural
+ Amazonka.FMS.ListAppsLists: listAppsLists_nextToken :: Lens' ListAppsLists (Maybe Text)
+ Amazonka.FMS.ListAppsLists: newListAppsLists :: Natural -> ListAppsLists
+ Amazonka.FMS.ListAppsLists: newListAppsListsResponse :: Int -> ListAppsListsResponse
+ Amazonka.FMS.ListComplianceStatus: ListComplianceStatus' :: Maybe Natural -> Maybe Text -> Text -> ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: ListComplianceStatusResponse' :: Maybe Text -> Maybe [PolicyComplianceStatus] -> Int -> ListComplianceStatusResponse
+ Amazonka.FMS.ListComplianceStatus: [$sel:httpStatus:ListComplianceStatusResponse'] :: ListComplianceStatusResponse -> Int
+ Amazonka.FMS.ListComplianceStatus: [$sel:maxResults:ListComplianceStatus'] :: ListComplianceStatus -> Maybe Natural
+ Amazonka.FMS.ListComplianceStatus: [$sel:nextToken:ListComplianceStatus'] :: ListComplianceStatus -> Maybe Text
+ Amazonka.FMS.ListComplianceStatus: [$sel:nextToken:ListComplianceStatusResponse'] :: ListComplianceStatusResponse -> Maybe Text
+ Amazonka.FMS.ListComplianceStatus: [$sel:policyComplianceStatusList:ListComplianceStatusResponse'] :: ListComplianceStatusResponse -> Maybe [PolicyComplianceStatus]
+ Amazonka.FMS.ListComplianceStatus: [$sel:policyId:ListComplianceStatus'] :: ListComplianceStatus -> Text
+ Amazonka.FMS.ListComplianceStatus: data ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: data ListComplianceStatusResponse
+ Amazonka.FMS.ListComplianceStatus: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance Amazonka.Pager.AWSPager Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance Control.DeepSeq.NFData Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance Control.DeepSeq.NFData Amazonka.FMS.ListComplianceStatus.ListComplianceStatusResponse
+ Amazonka.FMS.ListComplianceStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Classes.Eq Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Classes.Eq Amazonka.FMS.ListComplianceStatus.ListComplianceStatusResponse
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Generics.Generic Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Generics.Generic Amazonka.FMS.ListComplianceStatus.ListComplianceStatusResponse
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Read.Read Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Read.Read Amazonka.FMS.ListComplianceStatus.ListComplianceStatusResponse
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Show.Show Amazonka.FMS.ListComplianceStatus.ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: instance GHC.Show.Show Amazonka.FMS.ListComplianceStatus.ListComplianceStatusResponse
+ Amazonka.FMS.ListComplianceStatus: listComplianceStatusResponse_httpStatus :: Lens' ListComplianceStatusResponse Int
+ Amazonka.FMS.ListComplianceStatus: listComplianceStatusResponse_nextToken :: Lens' ListComplianceStatusResponse (Maybe Text)
+ Amazonka.FMS.ListComplianceStatus: listComplianceStatusResponse_policyComplianceStatusList :: Lens' ListComplianceStatusResponse (Maybe [PolicyComplianceStatus])
+ Amazonka.FMS.ListComplianceStatus: listComplianceStatus_maxResults :: Lens' ListComplianceStatus (Maybe Natural)
+ Amazonka.FMS.ListComplianceStatus: listComplianceStatus_nextToken :: Lens' ListComplianceStatus (Maybe Text)
+ Amazonka.FMS.ListComplianceStatus: listComplianceStatus_policyId :: Lens' ListComplianceStatus Text
+ Amazonka.FMS.ListComplianceStatus: newListComplianceStatus :: Text -> ListComplianceStatus
+ Amazonka.FMS.ListComplianceStatus: newListComplianceStatusResponse :: Int -> ListComplianceStatusResponse
+ Amazonka.FMS.ListDiscoveredResources: ListDiscoveredResources' :: Maybe Natural -> Maybe Text -> [Text] -> Text -> ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: ListDiscoveredResourcesResponse' :: Maybe [DiscoveredResource] -> Maybe Text -> Int -> ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListDiscoveredResources: [$sel:httpStatus:ListDiscoveredResourcesResponse'] :: ListDiscoveredResourcesResponse -> Int
+ Amazonka.FMS.ListDiscoveredResources: [$sel:items:ListDiscoveredResourcesResponse'] :: ListDiscoveredResourcesResponse -> Maybe [DiscoveredResource]
+ Amazonka.FMS.ListDiscoveredResources: [$sel:maxResults:ListDiscoveredResources'] :: ListDiscoveredResources -> Maybe Natural
+ Amazonka.FMS.ListDiscoveredResources: [$sel:memberAccountIds:ListDiscoveredResources'] :: ListDiscoveredResources -> [Text]
+ Amazonka.FMS.ListDiscoveredResources: [$sel:nextToken:ListDiscoveredResources'] :: ListDiscoveredResources -> Maybe Text
+ Amazonka.FMS.ListDiscoveredResources: [$sel:nextToken:ListDiscoveredResourcesResponse'] :: ListDiscoveredResourcesResponse -> Maybe Text
+ Amazonka.FMS.ListDiscoveredResources: [$sel:resourceType:ListDiscoveredResources'] :: ListDiscoveredResources -> Text
+ Amazonka.FMS.ListDiscoveredResources: data ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: data ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListDiscoveredResources: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance Control.DeepSeq.NFData Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance Control.DeepSeq.NFData Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListDiscoveredResources: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Classes.Eq Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Classes.Eq Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Generics.Generic Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Generics.Generic Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Read.Read Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Read.Read Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Show.Show Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: instance GHC.Show.Show Amazonka.FMS.ListDiscoveredResources.ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListDiscoveredResources: listDiscoveredResourcesResponse_httpStatus :: Lens' ListDiscoveredResourcesResponse Int
+ Amazonka.FMS.ListDiscoveredResources: listDiscoveredResourcesResponse_items :: Lens' ListDiscoveredResourcesResponse (Maybe [DiscoveredResource])
+ Amazonka.FMS.ListDiscoveredResources: listDiscoveredResourcesResponse_nextToken :: Lens' ListDiscoveredResourcesResponse (Maybe Text)
+ Amazonka.FMS.ListDiscoveredResources: listDiscoveredResources_maxResults :: Lens' ListDiscoveredResources (Maybe Natural)
+ Amazonka.FMS.ListDiscoveredResources: listDiscoveredResources_memberAccountIds :: Lens' ListDiscoveredResources [Text]
+ Amazonka.FMS.ListDiscoveredResources: listDiscoveredResources_nextToken :: Lens' ListDiscoveredResources (Maybe Text)
+ Amazonka.FMS.ListDiscoveredResources: listDiscoveredResources_resourceType :: Lens' ListDiscoveredResources Text
+ Amazonka.FMS.ListDiscoveredResources: newListDiscoveredResources :: Text -> ListDiscoveredResources
+ Amazonka.FMS.ListDiscoveredResources: newListDiscoveredResourcesResponse :: Int -> ListDiscoveredResourcesResponse
+ Amazonka.FMS.ListMemberAccounts: ListMemberAccounts' :: Maybe Natural -> Maybe Text -> ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: ListMemberAccountsResponse' :: Maybe [Text] -> Maybe Text -> Int -> ListMemberAccountsResponse
+ Amazonka.FMS.ListMemberAccounts: [$sel:httpStatus:ListMemberAccountsResponse'] :: ListMemberAccountsResponse -> Int
+ Amazonka.FMS.ListMemberAccounts: [$sel:maxResults:ListMemberAccounts'] :: ListMemberAccounts -> Maybe Natural
+ Amazonka.FMS.ListMemberAccounts: [$sel:memberAccounts:ListMemberAccountsResponse'] :: ListMemberAccountsResponse -> Maybe [Text]
+ Amazonka.FMS.ListMemberAccounts: [$sel:nextToken:ListMemberAccounts'] :: ListMemberAccounts -> Maybe Text
+ Amazonka.FMS.ListMemberAccounts: [$sel:nextToken:ListMemberAccountsResponse'] :: ListMemberAccountsResponse -> Maybe Text
+ Amazonka.FMS.ListMemberAccounts: data ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: data ListMemberAccountsResponse
+ Amazonka.FMS.ListMemberAccounts: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance Amazonka.Pager.AWSPager Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance Control.DeepSeq.NFData Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance Control.DeepSeq.NFData Amazonka.FMS.ListMemberAccounts.ListMemberAccountsResponse
+ Amazonka.FMS.ListMemberAccounts: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Classes.Eq Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Classes.Eq Amazonka.FMS.ListMemberAccounts.ListMemberAccountsResponse
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Generics.Generic Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Generics.Generic Amazonka.FMS.ListMemberAccounts.ListMemberAccountsResponse
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Read.Read Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Read.Read Amazonka.FMS.ListMemberAccounts.ListMemberAccountsResponse
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Show.Show Amazonka.FMS.ListMemberAccounts.ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: instance GHC.Show.Show Amazonka.FMS.ListMemberAccounts.ListMemberAccountsResponse
+ Amazonka.FMS.ListMemberAccounts: listMemberAccountsResponse_httpStatus :: Lens' ListMemberAccountsResponse Int
+ Amazonka.FMS.ListMemberAccounts: listMemberAccountsResponse_memberAccounts :: Lens' ListMemberAccountsResponse (Maybe [Text])
+ Amazonka.FMS.ListMemberAccounts: listMemberAccountsResponse_nextToken :: Lens' ListMemberAccountsResponse (Maybe Text)
+ Amazonka.FMS.ListMemberAccounts: listMemberAccounts_maxResults :: Lens' ListMemberAccounts (Maybe Natural)
+ Amazonka.FMS.ListMemberAccounts: listMemberAccounts_nextToken :: Lens' ListMemberAccounts (Maybe Text)
+ Amazonka.FMS.ListMemberAccounts: newListMemberAccounts :: ListMemberAccounts
+ Amazonka.FMS.ListMemberAccounts: newListMemberAccountsResponse :: Int -> ListMemberAccountsResponse
+ Amazonka.FMS.ListPolicies: ListPolicies' :: Maybe Natural -> Maybe Text -> ListPolicies
+ Amazonka.FMS.ListPolicies: ListPoliciesResponse' :: Maybe Text -> Maybe [PolicySummary] -> Int -> ListPoliciesResponse
+ Amazonka.FMS.ListPolicies: [$sel:httpStatus:ListPoliciesResponse'] :: ListPoliciesResponse -> Int
+ Amazonka.FMS.ListPolicies: [$sel:maxResults:ListPolicies'] :: ListPolicies -> Maybe Natural
+ Amazonka.FMS.ListPolicies: [$sel:nextToken:ListPolicies'] :: ListPolicies -> Maybe Text
+ Amazonka.FMS.ListPolicies: [$sel:nextToken:ListPoliciesResponse'] :: ListPoliciesResponse -> Maybe Text
+ Amazonka.FMS.ListPolicies: [$sel:policyList:ListPoliciesResponse'] :: ListPoliciesResponse -> Maybe [PolicySummary]
+ Amazonka.FMS.ListPolicies: data ListPolicies
+ Amazonka.FMS.ListPolicies: data ListPoliciesResponse
+ Amazonka.FMS.ListPolicies: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance Amazonka.Pager.AWSPager Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance Control.DeepSeq.NFData Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance Control.DeepSeq.NFData Amazonka.FMS.ListPolicies.ListPoliciesResponse
+ Amazonka.FMS.ListPolicies: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance GHC.Classes.Eq Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance GHC.Classes.Eq Amazonka.FMS.ListPolicies.ListPoliciesResponse
+ Amazonka.FMS.ListPolicies: instance GHC.Generics.Generic Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance GHC.Generics.Generic Amazonka.FMS.ListPolicies.ListPoliciesResponse
+ Amazonka.FMS.ListPolicies: instance GHC.Read.Read Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance GHC.Read.Read Amazonka.FMS.ListPolicies.ListPoliciesResponse
+ Amazonka.FMS.ListPolicies: instance GHC.Show.Show Amazonka.FMS.ListPolicies.ListPolicies
+ Amazonka.FMS.ListPolicies: instance GHC.Show.Show Amazonka.FMS.ListPolicies.ListPoliciesResponse
+ Amazonka.FMS.ListPolicies: listPoliciesResponse_httpStatus :: Lens' ListPoliciesResponse Int
+ Amazonka.FMS.ListPolicies: listPoliciesResponse_nextToken :: Lens' ListPoliciesResponse (Maybe Text)
+ Amazonka.FMS.ListPolicies: listPoliciesResponse_policyList :: Lens' ListPoliciesResponse (Maybe [PolicySummary])
+ Amazonka.FMS.ListPolicies: listPolicies_maxResults :: Lens' ListPolicies (Maybe Natural)
+ Amazonka.FMS.ListPolicies: listPolicies_nextToken :: Lens' ListPolicies (Maybe Text)
+ Amazonka.FMS.ListPolicies: newListPolicies :: ListPolicies
+ Amazonka.FMS.ListPolicies: newListPoliciesResponse :: Int -> ListPoliciesResponse
+ Amazonka.FMS.ListProtocolsLists: ListProtocolsLists' :: Maybe Bool -> Maybe Text -> Natural -> ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: ListProtocolsListsResponse' :: Maybe Text -> Maybe [ProtocolsListDataSummary] -> Int -> ListProtocolsListsResponse
+ Amazonka.FMS.ListProtocolsLists: [$sel:defaultLists:ListProtocolsLists'] :: ListProtocolsLists -> Maybe Bool
+ Amazonka.FMS.ListProtocolsLists: [$sel:httpStatus:ListProtocolsListsResponse'] :: ListProtocolsListsResponse -> Int
+ Amazonka.FMS.ListProtocolsLists: [$sel:maxResults:ListProtocolsLists'] :: ListProtocolsLists -> Natural
+ Amazonka.FMS.ListProtocolsLists: [$sel:nextToken:ListProtocolsLists'] :: ListProtocolsLists -> Maybe Text
+ Amazonka.FMS.ListProtocolsLists: [$sel:nextToken:ListProtocolsListsResponse'] :: ListProtocolsListsResponse -> Maybe Text
+ Amazonka.FMS.ListProtocolsLists: [$sel:protocolsLists:ListProtocolsListsResponse'] :: ListProtocolsListsResponse -> Maybe [ProtocolsListDataSummary]
+ Amazonka.FMS.ListProtocolsLists: data ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: data ListProtocolsListsResponse
+ Amazonka.FMS.ListProtocolsLists: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance Amazonka.Pager.AWSPager Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance Control.DeepSeq.NFData Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance Control.DeepSeq.NFData Amazonka.FMS.ListProtocolsLists.ListProtocolsListsResponse
+ Amazonka.FMS.ListProtocolsLists: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Classes.Eq Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Classes.Eq Amazonka.FMS.ListProtocolsLists.ListProtocolsListsResponse
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Generics.Generic Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Generics.Generic Amazonka.FMS.ListProtocolsLists.ListProtocolsListsResponse
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Read.Read Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Read.Read Amazonka.FMS.ListProtocolsLists.ListProtocolsListsResponse
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Show.Show Amazonka.FMS.ListProtocolsLists.ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: instance GHC.Show.Show Amazonka.FMS.ListProtocolsLists.ListProtocolsListsResponse
+ Amazonka.FMS.ListProtocolsLists: listProtocolsListsResponse_httpStatus :: Lens' ListProtocolsListsResponse Int
+ Amazonka.FMS.ListProtocolsLists: listProtocolsListsResponse_nextToken :: Lens' ListProtocolsListsResponse (Maybe Text)
+ Amazonka.FMS.ListProtocolsLists: listProtocolsListsResponse_protocolsLists :: Lens' ListProtocolsListsResponse (Maybe [ProtocolsListDataSummary])
+ Amazonka.FMS.ListProtocolsLists: listProtocolsLists_defaultLists :: Lens' ListProtocolsLists (Maybe Bool)
+ Amazonka.FMS.ListProtocolsLists: listProtocolsLists_maxResults :: Lens' ListProtocolsLists Natural
+ Amazonka.FMS.ListProtocolsLists: listProtocolsLists_nextToken :: Lens' ListProtocolsLists (Maybe Text)
+ Amazonka.FMS.ListProtocolsLists: newListProtocolsLists :: Natural -> ListProtocolsLists
+ Amazonka.FMS.ListProtocolsLists: newListProtocolsListsResponse :: Int -> ListProtocolsListsResponse
+ Amazonka.FMS.ListResourceSetResources: ListResourceSetResources' :: Maybe Natural -> Maybe Text -> Text -> ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: ListResourceSetResourcesResponse' :: Maybe Text -> Int -> [Resource] -> ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSetResources: [$sel:httpStatus:ListResourceSetResourcesResponse'] :: ListResourceSetResourcesResponse -> Int
+ Amazonka.FMS.ListResourceSetResources: [$sel:identifier:ListResourceSetResources'] :: ListResourceSetResources -> Text
+ Amazonka.FMS.ListResourceSetResources: [$sel:items:ListResourceSetResourcesResponse'] :: ListResourceSetResourcesResponse -> [Resource]
+ Amazonka.FMS.ListResourceSetResources: [$sel:maxResults:ListResourceSetResources'] :: ListResourceSetResources -> Maybe Natural
+ Amazonka.FMS.ListResourceSetResources: [$sel:nextToken:ListResourceSetResources'] :: ListResourceSetResources -> Maybe Text
+ Amazonka.FMS.ListResourceSetResources: [$sel:nextToken:ListResourceSetResourcesResponse'] :: ListResourceSetResourcesResponse -> Maybe Text
+ Amazonka.FMS.ListResourceSetResources: data ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: data ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSetResources: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance Control.DeepSeq.NFData Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance Control.DeepSeq.NFData Amazonka.FMS.ListResourceSetResources.ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSetResources: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Classes.Eq Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Classes.Eq Amazonka.FMS.ListResourceSetResources.ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Generics.Generic Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Generics.Generic Amazonka.FMS.ListResourceSetResources.ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Read.Read Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Read.Read Amazonka.FMS.ListResourceSetResources.ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Show.Show Amazonka.FMS.ListResourceSetResources.ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: instance GHC.Show.Show Amazonka.FMS.ListResourceSetResources.ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSetResources: listResourceSetResourcesResponse_httpStatus :: Lens' ListResourceSetResourcesResponse Int
+ Amazonka.FMS.ListResourceSetResources: listResourceSetResourcesResponse_items :: Lens' ListResourceSetResourcesResponse [Resource]
+ Amazonka.FMS.ListResourceSetResources: listResourceSetResourcesResponse_nextToken :: Lens' ListResourceSetResourcesResponse (Maybe Text)
+ Amazonka.FMS.ListResourceSetResources: listResourceSetResources_identifier :: Lens' ListResourceSetResources Text
+ Amazonka.FMS.ListResourceSetResources: listResourceSetResources_maxResults :: Lens' ListResourceSetResources (Maybe Natural)
+ Amazonka.FMS.ListResourceSetResources: listResourceSetResources_nextToken :: Lens' ListResourceSetResources (Maybe Text)
+ Amazonka.FMS.ListResourceSetResources: newListResourceSetResources :: Text -> ListResourceSetResources
+ Amazonka.FMS.ListResourceSetResources: newListResourceSetResourcesResponse :: Int -> ListResourceSetResourcesResponse
+ Amazonka.FMS.ListResourceSets: ListResourceSets' :: Maybe Natural -> Maybe Text -> ListResourceSets
+ Amazonka.FMS.ListResourceSets: ListResourceSetsResponse' :: Maybe Text -> Maybe [ResourceSetSummary] -> Int -> ListResourceSetsResponse
+ Amazonka.FMS.ListResourceSets: [$sel:httpStatus:ListResourceSetsResponse'] :: ListResourceSetsResponse -> Int
+ Amazonka.FMS.ListResourceSets: [$sel:maxResults:ListResourceSets'] :: ListResourceSets -> Maybe Natural
+ Amazonka.FMS.ListResourceSets: [$sel:nextToken:ListResourceSets'] :: ListResourceSets -> Maybe Text
+ Amazonka.FMS.ListResourceSets: [$sel:nextToken:ListResourceSetsResponse'] :: ListResourceSetsResponse -> Maybe Text
+ Amazonka.FMS.ListResourceSets: [$sel:resourceSets:ListResourceSetsResponse'] :: ListResourceSetsResponse -> Maybe [ResourceSetSummary]
+ Amazonka.FMS.ListResourceSets: data ListResourceSets
+ Amazonka.FMS.ListResourceSets: data ListResourceSetsResponse
+ Amazonka.FMS.ListResourceSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance Control.DeepSeq.NFData Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance Control.DeepSeq.NFData Amazonka.FMS.ListResourceSets.ListResourceSetsResponse
+ Amazonka.FMS.ListResourceSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance GHC.Classes.Eq Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance GHC.Classes.Eq Amazonka.FMS.ListResourceSets.ListResourceSetsResponse
+ Amazonka.FMS.ListResourceSets: instance GHC.Generics.Generic Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance GHC.Generics.Generic Amazonka.FMS.ListResourceSets.ListResourceSetsResponse
+ Amazonka.FMS.ListResourceSets: instance GHC.Read.Read Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance GHC.Read.Read Amazonka.FMS.ListResourceSets.ListResourceSetsResponse
+ Amazonka.FMS.ListResourceSets: instance GHC.Show.Show Amazonka.FMS.ListResourceSets.ListResourceSets
+ Amazonka.FMS.ListResourceSets: instance GHC.Show.Show Amazonka.FMS.ListResourceSets.ListResourceSetsResponse
+ Amazonka.FMS.ListResourceSets: listResourceSetsResponse_httpStatus :: Lens' ListResourceSetsResponse Int
+ Amazonka.FMS.ListResourceSets: listResourceSetsResponse_nextToken :: Lens' ListResourceSetsResponse (Maybe Text)
+ Amazonka.FMS.ListResourceSets: listResourceSetsResponse_resourceSets :: Lens' ListResourceSetsResponse (Maybe [ResourceSetSummary])
+ Amazonka.FMS.ListResourceSets: listResourceSets_maxResults :: Lens' ListResourceSets (Maybe Natural)
+ Amazonka.FMS.ListResourceSets: listResourceSets_nextToken :: Lens' ListResourceSets (Maybe Text)
+ Amazonka.FMS.ListResourceSets: newListResourceSets :: ListResourceSets
+ Amazonka.FMS.ListResourceSets: newListResourceSetsResponse :: Int -> ListResourceSetsResponse
+ Amazonka.FMS.ListTagsForResource: ListTagsForResource' :: Text -> ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: ListTagsForResourceResponse' :: Maybe [Tag] -> Int -> ListTagsForResourceResponse
+ Amazonka.FMS.ListTagsForResource: [$sel:httpStatus:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Int
+ Amazonka.FMS.ListTagsForResource: [$sel:resourceArn:ListTagsForResource'] :: ListTagsForResource -> Text
+ Amazonka.FMS.ListTagsForResource: [$sel:tagList:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Maybe [Tag]
+ Amazonka.FMS.ListTagsForResource: data ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: data ListTagsForResourceResponse
+ Amazonka.FMS.ListTagsForResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance Control.DeepSeq.NFData Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance Control.DeepSeq.NFData Amazonka.FMS.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.FMS.ListTagsForResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance GHC.Classes.Eq Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance GHC.Classes.Eq Amazonka.FMS.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.FMS.ListTagsForResource: instance GHC.Generics.Generic Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance GHC.Generics.Generic Amazonka.FMS.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.FMS.ListTagsForResource: instance GHC.Read.Read Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance GHC.Read.Read Amazonka.FMS.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.FMS.ListTagsForResource: instance GHC.Show.Show Amazonka.FMS.ListTagsForResource.ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: instance GHC.Show.Show Amazonka.FMS.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.FMS.ListTagsForResource: listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int
+ Amazonka.FMS.ListTagsForResource: listTagsForResourceResponse_tagList :: Lens' ListTagsForResourceResponse (Maybe [Tag])
+ Amazonka.FMS.ListTagsForResource: listTagsForResource_resourceArn :: Lens' ListTagsForResource Text
+ Amazonka.FMS.ListTagsForResource: newListTagsForResource :: Text -> ListTagsForResource
+ Amazonka.FMS.ListTagsForResource: newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: ListThirdPartyFirewallFirewallPolicies' :: Maybe Text -> ThirdPartyFirewall -> Natural -> ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: ListThirdPartyFirewallFirewallPoliciesResponse' :: Maybe Text -> Maybe [ThirdPartyFirewallFirewallPolicy] -> Int -> ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: [$sel:httpStatus:ListThirdPartyFirewallFirewallPoliciesResponse'] :: ListThirdPartyFirewallFirewallPoliciesResponse -> Int
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: [$sel:maxResults:ListThirdPartyFirewallFirewallPolicies'] :: ListThirdPartyFirewallFirewallPolicies -> Natural
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: [$sel:nextToken:ListThirdPartyFirewallFirewallPolicies'] :: ListThirdPartyFirewallFirewallPolicies -> Maybe Text
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: [$sel:nextToken:ListThirdPartyFirewallFirewallPoliciesResponse'] :: ListThirdPartyFirewallFirewallPoliciesResponse -> Maybe Text
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: [$sel:thirdPartyFirewall:ListThirdPartyFirewallFirewallPolicies'] :: ListThirdPartyFirewallFirewallPolicies -> ThirdPartyFirewall
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: [$sel:thirdPartyFirewallFirewallPolicies:ListThirdPartyFirewallFirewallPoliciesResponse'] :: ListThirdPartyFirewallFirewallPoliciesResponse -> Maybe [ThirdPartyFirewallFirewallPolicy]
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: data ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: data ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Amazonka.Data.Path.ToPath Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Amazonka.Pager.AWSPager Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Amazonka.Types.AWSRequest Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Control.DeepSeq.NFData Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Control.DeepSeq.NFData Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance Data.Hashable.Class.Hashable Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Classes.Eq Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Classes.Eq Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Generics.Generic Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Generics.Generic Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Read.Read Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Read.Read Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Show.Show Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: instance GHC.Show.Show Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies.ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: listThirdPartyFirewallFirewallPoliciesResponse_httpStatus :: Lens' ListThirdPartyFirewallFirewallPoliciesResponse Int
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: listThirdPartyFirewallFirewallPoliciesResponse_nextToken :: Lens' ListThirdPartyFirewallFirewallPoliciesResponse (Maybe Text)
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies :: Lens' ListThirdPartyFirewallFirewallPoliciesResponse (Maybe [ThirdPartyFirewallFirewallPolicy])
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: listThirdPartyFirewallFirewallPolicies_maxResults :: Lens' ListThirdPartyFirewallFirewallPolicies Natural
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: listThirdPartyFirewallFirewallPolicies_nextToken :: Lens' ListThirdPartyFirewallFirewallPolicies (Maybe Text)
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: listThirdPartyFirewallFirewallPolicies_thirdPartyFirewall :: Lens' ListThirdPartyFirewallFirewallPolicies ThirdPartyFirewall
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: newListThirdPartyFirewallFirewallPolicies :: ThirdPartyFirewall -> Natural -> ListThirdPartyFirewallFirewallPolicies
+ Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies: newListThirdPartyFirewallFirewallPoliciesResponse :: Int -> ListThirdPartyFirewallFirewallPoliciesResponse
+ Amazonka.FMS.PutAppsList: PutAppsList' :: Maybe [Tag] -> AppsListData -> PutAppsList
+ Amazonka.FMS.PutAppsList: PutAppsListResponse' :: Maybe AppsListData -> Maybe Text -> Int -> PutAppsListResponse
+ Amazonka.FMS.PutAppsList: [$sel:appsList:PutAppsList'] :: PutAppsList -> AppsListData
+ Amazonka.FMS.PutAppsList: [$sel:appsList:PutAppsListResponse'] :: PutAppsListResponse -> Maybe AppsListData
+ Amazonka.FMS.PutAppsList: [$sel:appsListArn:PutAppsListResponse'] :: PutAppsListResponse -> Maybe Text
+ Amazonka.FMS.PutAppsList: [$sel:httpStatus:PutAppsListResponse'] :: PutAppsListResponse -> Int
+ Amazonka.FMS.PutAppsList: [$sel:tagList:PutAppsList'] :: PutAppsList -> Maybe [Tag]
+ Amazonka.FMS.PutAppsList: data PutAppsList
+ Amazonka.FMS.PutAppsList: data PutAppsListResponse
+ Amazonka.FMS.PutAppsList: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance Amazonka.Data.Path.ToPath Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance Amazonka.Types.AWSRequest Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance Control.DeepSeq.NFData Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance Control.DeepSeq.NFData Amazonka.FMS.PutAppsList.PutAppsListResponse
+ Amazonka.FMS.PutAppsList: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance Data.Hashable.Class.Hashable Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance GHC.Classes.Eq Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance GHC.Classes.Eq Amazonka.FMS.PutAppsList.PutAppsListResponse
+ Amazonka.FMS.PutAppsList: instance GHC.Generics.Generic Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance GHC.Generics.Generic Amazonka.FMS.PutAppsList.PutAppsListResponse
+ Amazonka.FMS.PutAppsList: instance GHC.Read.Read Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance GHC.Read.Read Amazonka.FMS.PutAppsList.PutAppsListResponse
+ Amazonka.FMS.PutAppsList: instance GHC.Show.Show Amazonka.FMS.PutAppsList.PutAppsList
+ Amazonka.FMS.PutAppsList: instance GHC.Show.Show Amazonka.FMS.PutAppsList.PutAppsListResponse
+ Amazonka.FMS.PutAppsList: newPutAppsList :: AppsListData -> PutAppsList
+ Amazonka.FMS.PutAppsList: newPutAppsListResponse :: Int -> PutAppsListResponse
+ Amazonka.FMS.PutAppsList: putAppsListResponse_appsList :: Lens' PutAppsListResponse (Maybe AppsListData)
+ Amazonka.FMS.PutAppsList: putAppsListResponse_appsListArn :: Lens' PutAppsListResponse (Maybe Text)
+ Amazonka.FMS.PutAppsList: putAppsListResponse_httpStatus :: Lens' PutAppsListResponse Int
+ Amazonka.FMS.PutAppsList: putAppsList_appsList :: Lens' PutAppsList AppsListData
+ Amazonka.FMS.PutAppsList: putAppsList_tagList :: Lens' PutAppsList (Maybe [Tag])
+ Amazonka.FMS.PutNotificationChannel: PutNotificationChannel' :: Text -> Text -> PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: PutNotificationChannelResponse' :: PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: [$sel:snsRoleName:PutNotificationChannel'] :: PutNotificationChannel -> Text
+ Amazonka.FMS.PutNotificationChannel: [$sel:snsTopicArn:PutNotificationChannel'] :: PutNotificationChannel -> Text
+ Amazonka.FMS.PutNotificationChannel: data PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: data PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance Amazonka.Data.Path.ToPath Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance Amazonka.Types.AWSRequest Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance Control.DeepSeq.NFData Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance Control.DeepSeq.NFData Amazonka.FMS.PutNotificationChannel.PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance Data.Hashable.Class.Hashable Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Classes.Eq Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Classes.Eq Amazonka.FMS.PutNotificationChannel.PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Generics.Generic Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Generics.Generic Amazonka.FMS.PutNotificationChannel.PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Read.Read Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Read.Read Amazonka.FMS.PutNotificationChannel.PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Show.Show Amazonka.FMS.PutNotificationChannel.PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: instance GHC.Show.Show Amazonka.FMS.PutNotificationChannel.PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: newPutNotificationChannel :: Text -> Text -> PutNotificationChannel
+ Amazonka.FMS.PutNotificationChannel: newPutNotificationChannelResponse :: PutNotificationChannelResponse
+ Amazonka.FMS.PutNotificationChannel: putNotificationChannel_snsRoleName :: Lens' PutNotificationChannel Text
+ Amazonka.FMS.PutNotificationChannel: putNotificationChannel_snsTopicArn :: Lens' PutNotificationChannel Text
+ Amazonka.FMS.PutPolicy: PutPolicy' :: Maybe [Tag] -> Policy -> PutPolicy
+ Amazonka.FMS.PutPolicy: PutPolicyResponse' :: Maybe Policy -> Maybe Text -> Int -> PutPolicyResponse
+ Amazonka.FMS.PutPolicy: [$sel:httpStatus:PutPolicyResponse'] :: PutPolicyResponse -> Int
+ Amazonka.FMS.PutPolicy: [$sel:policy:PutPolicy'] :: PutPolicy -> Policy
+ Amazonka.FMS.PutPolicy: [$sel:policy:PutPolicyResponse'] :: PutPolicyResponse -> Maybe Policy
+ Amazonka.FMS.PutPolicy: [$sel:policyArn:PutPolicyResponse'] :: PutPolicyResponse -> Maybe Text
+ Amazonka.FMS.PutPolicy: [$sel:tagList:PutPolicy'] :: PutPolicy -> Maybe [Tag]
+ Amazonka.FMS.PutPolicy: data PutPolicy
+ Amazonka.FMS.PutPolicy: data PutPolicyResponse
+ Amazonka.FMS.PutPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance Amazonka.Data.Path.ToPath Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance Amazonka.Types.AWSRequest Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance Control.DeepSeq.NFData Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance Control.DeepSeq.NFData Amazonka.FMS.PutPolicy.PutPolicyResponse
+ Amazonka.FMS.PutPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance Data.Hashable.Class.Hashable Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance GHC.Classes.Eq Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance GHC.Classes.Eq Amazonka.FMS.PutPolicy.PutPolicyResponse
+ Amazonka.FMS.PutPolicy: instance GHC.Generics.Generic Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance GHC.Generics.Generic Amazonka.FMS.PutPolicy.PutPolicyResponse
+ Amazonka.FMS.PutPolicy: instance GHC.Read.Read Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance GHC.Read.Read Amazonka.FMS.PutPolicy.PutPolicyResponse
+ Amazonka.FMS.PutPolicy: instance GHC.Show.Show Amazonka.FMS.PutPolicy.PutPolicy
+ Amazonka.FMS.PutPolicy: instance GHC.Show.Show Amazonka.FMS.PutPolicy.PutPolicyResponse
+ Amazonka.FMS.PutPolicy: newPutPolicy :: Policy -> PutPolicy
+ Amazonka.FMS.PutPolicy: newPutPolicyResponse :: Int -> PutPolicyResponse
+ Amazonka.FMS.PutPolicy: putPolicyResponse_httpStatus :: Lens' PutPolicyResponse Int
+ Amazonka.FMS.PutPolicy: putPolicyResponse_policy :: Lens' PutPolicyResponse (Maybe Policy)
+ Amazonka.FMS.PutPolicy: putPolicyResponse_policyArn :: Lens' PutPolicyResponse (Maybe Text)
+ Amazonka.FMS.PutPolicy: putPolicy_policy :: Lens' PutPolicy Policy
+ Amazonka.FMS.PutPolicy: putPolicy_tagList :: Lens' PutPolicy (Maybe [Tag])
+ Amazonka.FMS.PutProtocolsList: PutProtocolsList' :: Maybe [Tag] -> ProtocolsListData -> PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: PutProtocolsListResponse' :: Maybe ProtocolsListData -> Maybe Text -> Int -> PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: [$sel:httpStatus:PutProtocolsListResponse'] :: PutProtocolsListResponse -> Int
+ Amazonka.FMS.PutProtocolsList: [$sel:protocolsList:PutProtocolsList'] :: PutProtocolsList -> ProtocolsListData
+ Amazonka.FMS.PutProtocolsList: [$sel:protocolsList:PutProtocolsListResponse'] :: PutProtocolsListResponse -> Maybe ProtocolsListData
+ Amazonka.FMS.PutProtocolsList: [$sel:protocolsListArn:PutProtocolsListResponse'] :: PutProtocolsListResponse -> Maybe Text
+ Amazonka.FMS.PutProtocolsList: [$sel:tagList:PutProtocolsList'] :: PutProtocolsList -> Maybe [Tag]
+ Amazonka.FMS.PutProtocolsList: data PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: data PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance Amazonka.Data.Path.ToPath Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance Amazonka.Types.AWSRequest Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance Control.DeepSeq.NFData Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance Control.DeepSeq.NFData Amazonka.FMS.PutProtocolsList.PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance Data.Hashable.Class.Hashable Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance GHC.Classes.Eq Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance GHC.Classes.Eq Amazonka.FMS.PutProtocolsList.PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: instance GHC.Generics.Generic Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance GHC.Generics.Generic Amazonka.FMS.PutProtocolsList.PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: instance GHC.Read.Read Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance GHC.Read.Read Amazonka.FMS.PutProtocolsList.PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: instance GHC.Show.Show Amazonka.FMS.PutProtocolsList.PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: instance GHC.Show.Show Amazonka.FMS.PutProtocolsList.PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: newPutProtocolsList :: ProtocolsListData -> PutProtocolsList
+ Amazonka.FMS.PutProtocolsList: newPutProtocolsListResponse :: Int -> PutProtocolsListResponse
+ Amazonka.FMS.PutProtocolsList: putProtocolsListResponse_httpStatus :: Lens' PutProtocolsListResponse Int
+ Amazonka.FMS.PutProtocolsList: putProtocolsListResponse_protocolsList :: Lens' PutProtocolsListResponse (Maybe ProtocolsListData)
+ Amazonka.FMS.PutProtocolsList: putProtocolsListResponse_protocolsListArn :: Lens' PutProtocolsListResponse (Maybe Text)
+ Amazonka.FMS.PutProtocolsList: putProtocolsList_protocolsList :: Lens' PutProtocolsList ProtocolsListData
+ Amazonka.FMS.PutProtocolsList: putProtocolsList_tagList :: Lens' PutProtocolsList (Maybe [Tag])
+ Amazonka.FMS.PutResourceSet: PutResourceSet' :: Maybe [Tag] -> ResourceSet -> PutResourceSet
+ Amazonka.FMS.PutResourceSet: PutResourceSetResponse' :: Int -> ResourceSet -> Text -> PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: [$sel:httpStatus:PutResourceSetResponse'] :: PutResourceSetResponse -> Int
+ Amazonka.FMS.PutResourceSet: [$sel:resourceSet:PutResourceSet'] :: PutResourceSet -> ResourceSet
+ Amazonka.FMS.PutResourceSet: [$sel:resourceSet:PutResourceSetResponse'] :: PutResourceSetResponse -> ResourceSet
+ Amazonka.FMS.PutResourceSet: [$sel:resourceSetArn:PutResourceSetResponse'] :: PutResourceSetResponse -> Text
+ Amazonka.FMS.PutResourceSet: [$sel:tagList:PutResourceSet'] :: PutResourceSet -> Maybe [Tag]
+ Amazonka.FMS.PutResourceSet: data PutResourceSet
+ Amazonka.FMS.PutResourceSet: data PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance Amazonka.Data.Path.ToPath Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance Amazonka.Types.AWSRequest Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance Control.DeepSeq.NFData Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance Control.DeepSeq.NFData Amazonka.FMS.PutResourceSet.PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance Data.Hashable.Class.Hashable Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance GHC.Classes.Eq Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance GHC.Classes.Eq Amazonka.FMS.PutResourceSet.PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: instance GHC.Generics.Generic Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance GHC.Generics.Generic Amazonka.FMS.PutResourceSet.PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: instance GHC.Read.Read Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance GHC.Read.Read Amazonka.FMS.PutResourceSet.PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: instance GHC.Show.Show Amazonka.FMS.PutResourceSet.PutResourceSet
+ Amazonka.FMS.PutResourceSet: instance GHC.Show.Show Amazonka.FMS.PutResourceSet.PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: newPutResourceSet :: ResourceSet -> PutResourceSet
+ Amazonka.FMS.PutResourceSet: newPutResourceSetResponse :: Int -> ResourceSet -> Text -> PutResourceSetResponse
+ Amazonka.FMS.PutResourceSet: putResourceSetResponse_httpStatus :: Lens' PutResourceSetResponse Int
+ Amazonka.FMS.PutResourceSet: putResourceSetResponse_resourceSet :: Lens' PutResourceSetResponse ResourceSet
+ Amazonka.FMS.PutResourceSet: putResourceSetResponse_resourceSetArn :: Lens' PutResourceSetResponse Text
+ Amazonka.FMS.PutResourceSet: putResourceSet_resourceSet :: Lens' PutResourceSet ResourceSet
+ Amazonka.FMS.PutResourceSet: putResourceSet_tagList :: Lens' PutResourceSet (Maybe [Tag])
+ Amazonka.FMS.TagResource: TagResource' :: Text -> [Tag] -> TagResource
+ Amazonka.FMS.TagResource: TagResourceResponse' :: Int -> TagResourceResponse
+ Amazonka.FMS.TagResource: [$sel:httpStatus:TagResourceResponse'] :: TagResourceResponse -> Int
+ Amazonka.FMS.TagResource: [$sel:resourceArn:TagResource'] :: TagResource -> Text
+ Amazonka.FMS.TagResource: [$sel:tagList:TagResource'] :: TagResource -> [Tag]
+ Amazonka.FMS.TagResource: data TagResource
+ Amazonka.FMS.TagResource: data TagResourceResponse
+ Amazonka.FMS.TagResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance Amazonka.Data.Path.ToPath Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance Amazonka.Types.AWSRequest Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance Control.DeepSeq.NFData Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance Control.DeepSeq.NFData Amazonka.FMS.TagResource.TagResourceResponse
+ Amazonka.FMS.TagResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance Data.Hashable.Class.Hashable Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance GHC.Classes.Eq Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance GHC.Classes.Eq Amazonka.FMS.TagResource.TagResourceResponse
+ Amazonka.FMS.TagResource: instance GHC.Generics.Generic Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance GHC.Generics.Generic Amazonka.FMS.TagResource.TagResourceResponse
+ Amazonka.FMS.TagResource: instance GHC.Read.Read Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance GHC.Read.Read Amazonka.FMS.TagResource.TagResourceResponse
+ Amazonka.FMS.TagResource: instance GHC.Show.Show Amazonka.FMS.TagResource.TagResource
+ Amazonka.FMS.TagResource: instance GHC.Show.Show Amazonka.FMS.TagResource.TagResourceResponse
+ Amazonka.FMS.TagResource: newTagResource :: Text -> TagResource
+ Amazonka.FMS.TagResource: newTagResourceResponse :: Int -> TagResourceResponse
+ Amazonka.FMS.TagResource: tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int
+ Amazonka.FMS.TagResource: tagResource_resourceArn :: Lens' TagResource Text
+ Amazonka.FMS.TagResource: tagResource_tagList :: Lens' TagResource [Tag]
+ Amazonka.FMS.Types: AccountRoleStatus' :: Text -> AccountRoleStatus
+ Amazonka.FMS.Types: ActionTarget' :: Maybe Text -> Maybe Text -> ActionTarget
+ Amazonka.FMS.Types: App' :: Text -> Text -> Natural -> App
+ Amazonka.FMS.Types: AppsListData' :: Maybe POSIX -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe (HashMap Text [App]) -> Text -> [App] -> AppsListData
+ Amazonka.FMS.Types: AppsListDataSummary' :: Maybe [App] -> Maybe Text -> Maybe Text -> Maybe Text -> AppsListDataSummary
+ Amazonka.FMS.Types: AwsEc2InstanceViolation' :: Maybe [AwsEc2NetworkInterfaceViolation] -> Maybe Text -> AwsEc2InstanceViolation
+ Amazonka.FMS.Types: AwsEc2NetworkInterfaceViolation' :: Maybe [Text] -> Maybe Text -> AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types: AwsVPCSecurityGroupViolation' :: Maybe [PartialMatch] -> Maybe [SecurityGroupRemediationAction] -> Maybe Text -> Maybe Text -> AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types: ComplianceViolator' :: Maybe (HashMap Text Text) -> Maybe Text -> Maybe Text -> Maybe ViolationReason -> ComplianceViolator
+ Amazonka.FMS.Types: CustomerPolicyScopeIdType' :: Text -> CustomerPolicyScopeIdType
+ Amazonka.FMS.Types: DependentServiceName' :: Text -> DependentServiceName
+ Amazonka.FMS.Types: DestinationType' :: Text -> DestinationType
+ Amazonka.FMS.Types: DiscoveredResource' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> DiscoveredResource
+ Amazonka.FMS.Types: DnsDuplicateRuleGroupViolation' :: Maybe Text -> Maybe Text -> DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types: DnsRuleGroupLimitExceededViolation' :: Maybe Int -> Maybe Text -> Maybe Text -> DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types: DnsRuleGroupPriorityConflictViolation' :: Maybe Text -> Maybe Natural -> Maybe [Natural] -> Maybe Text -> Maybe Text -> DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types: EC2AssociateRouteTableAction' :: Maybe Text -> Maybe ActionTarget -> Maybe ActionTarget -> ActionTarget -> EC2AssociateRouteTableAction
+ Amazonka.FMS.Types: EC2CopyRouteTableAction' :: Maybe Text -> ActionTarget -> ActionTarget -> EC2CopyRouteTableAction
+ Amazonka.FMS.Types: EC2CreateRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ActionTarget -> Maybe ActionTarget -> ActionTarget -> EC2CreateRouteAction
+ Amazonka.FMS.Types: EC2CreateRouteTableAction' :: Maybe Text -> ActionTarget -> EC2CreateRouteTableAction
+ Amazonka.FMS.Types: EC2DeleteRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ActionTarget -> EC2DeleteRouteAction
+ Amazonka.FMS.Types: EC2ReplaceRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ActionTarget -> ActionTarget -> EC2ReplaceRouteAction
+ Amazonka.FMS.Types: EC2ReplaceRouteTableAssociationAction' :: Maybe Text -> ActionTarget -> ActionTarget -> EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types: EvaluationResult' :: Maybe PolicyComplianceStatusType -> Maybe Bool -> Maybe Natural -> EvaluationResult
+ Amazonka.FMS.Types: ExpectedRoute' :: Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ExpectedRoute
+ Amazonka.FMS.Types: FMSPolicyUpdateFirewallCreationConfigAction' :: Maybe Text -> Maybe Text -> FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types: FailedItem' :: Maybe FailedItemReason -> Maybe Text -> FailedItem
+ Amazonka.FMS.Types: FailedItemReason' :: Text -> FailedItemReason
+ Amazonka.FMS.Types: FirewallDeploymentModel' :: Text -> FirewallDeploymentModel
+ Amazonka.FMS.Types: FirewallSubnetIsOutOfScopeViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types: FirewallSubnetMissingVPCEndpointViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types: MarketplaceSubscriptionOnboardingStatus' :: Text -> MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types: NetworkFirewallBlackHoleRouteDetectedViolation' :: Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe Text -> NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types: NetworkFirewallInternetTrafficNotInspectedViolation' :: Maybe [Route] -> Maybe [Route] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExpectedRoute] -> Maybe [ExpectedRoute] -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types: NetworkFirewallInvalidRouteConfigurationViolation' :: Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe [Route] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExpectedRoute] -> Maybe [ExpectedRoute] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Route -> Maybe Text -> NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types: NetworkFirewallMissingExpectedRTViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types: NetworkFirewallMissingExpectedRoutesViolation' :: Maybe [ExpectedRoute] -> Maybe Text -> Maybe Text -> NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types: NetworkFirewallMissingFirewallViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: NetworkFirewallMissingSubnetViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: NetworkFirewallOverrideAction' :: Text -> NetworkFirewallOverrideAction
+ Amazonka.FMS.Types: NetworkFirewallPolicy' :: Maybe FirewallDeploymentModel -> NetworkFirewallPolicy
+ Amazonka.FMS.Types: NetworkFirewallPolicyDescription' :: Maybe [Text] -> Maybe StatefulEngineOptions -> Maybe [StatefulRuleGroup] -> Maybe [Text] -> Maybe [Text] -> Maybe [Text] -> Maybe [StatelessRuleGroup] -> NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types: NetworkFirewallPolicyModifiedViolation' :: Maybe NetworkFirewallPolicyDescription -> Maybe NetworkFirewallPolicyDescription -> Maybe Text -> NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types: NetworkFirewallStatefulRuleGroupOverride' :: Maybe NetworkFirewallOverrideAction -> NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types: NetworkFirewallUnexpectedFirewallRoutesViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types: NetworkFirewallUnexpectedGatewayRoutesViolation' :: Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types: PartialMatch' :: Maybe Text -> Maybe [Text] -> PartialMatch
+ Amazonka.FMS.Types: Policy' :: Maybe Bool -> Maybe (HashMap CustomerPolicyScopeIdType [Text]) -> Maybe (HashMap CustomerPolicyScopeIdType [Text]) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe [ResourceTag] -> Maybe [Text] -> Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
+ Amazonka.FMS.Types: PolicyComplianceDetail' :: Maybe Bool -> Maybe POSIX -> Maybe (HashMap DependentServiceName Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ComplianceViolator] -> PolicyComplianceDetail
+ Amazonka.FMS.Types: PolicyComplianceStatus' :: Maybe [EvaluationResult] -> Maybe (HashMap DependentServiceName Text) -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> PolicyComplianceStatus
+ Amazonka.FMS.Types: PolicyComplianceStatusType' :: Text -> PolicyComplianceStatusType
+ Amazonka.FMS.Types: PolicyOption' :: Maybe NetworkFirewallPolicy -> Maybe ThirdPartyFirewallPolicy -> PolicyOption
+ Amazonka.FMS.Types: PolicySummary' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe SecurityServiceType -> PolicySummary
+ Amazonka.FMS.Types: PossibleRemediationAction' :: Maybe Text -> Maybe Bool -> [RemediationActionWithOrder] -> PossibleRemediationAction
+ Amazonka.FMS.Types: PossibleRemediationActions' :: Maybe [PossibleRemediationAction] -> Maybe Text -> PossibleRemediationActions
+ Amazonka.FMS.Types: ProtocolsListData' :: Maybe POSIX -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe (HashMap Text [Text]) -> Text -> [Text] -> ProtocolsListData
+ Amazonka.FMS.Types: ProtocolsListDataSummary' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> ProtocolsListDataSummary
+ Amazonka.FMS.Types: RemediationAction' :: Maybe Text -> Maybe EC2AssociateRouteTableAction -> Maybe EC2CopyRouteTableAction -> Maybe EC2CreateRouteAction -> Maybe EC2CreateRouteTableAction -> Maybe EC2DeleteRouteAction -> Maybe EC2ReplaceRouteAction -> Maybe EC2ReplaceRouteTableAssociationAction -> Maybe FMSPolicyUpdateFirewallCreationConfigAction -> RemediationAction
+ Amazonka.FMS.Types: RemediationActionType' :: Text -> RemediationActionType
+ Amazonka.FMS.Types: RemediationActionWithOrder' :: Maybe Int -> Maybe RemediationAction -> RemediationActionWithOrder
+ Amazonka.FMS.Types: Resource' :: Maybe Text -> Text -> Resource
+ Amazonka.FMS.Types: ResourceSet' :: Maybe Text -> Maybe Text -> Maybe POSIX -> Maybe Text -> Text -> [Text] -> ResourceSet
+ Amazonka.FMS.Types: ResourceSetSummary' :: Maybe Text -> Maybe Text -> Maybe POSIX -> Maybe Text -> ResourceSetSummary
+ Amazonka.FMS.Types: ResourceTag' :: Maybe Text -> Text -> ResourceTag
+ Amazonka.FMS.Types: ResourceViolation' :: Maybe AwsEc2InstanceViolation -> Maybe AwsEc2NetworkInterfaceViolation -> Maybe AwsVPCSecurityGroupViolation -> Maybe DnsDuplicateRuleGroupViolation -> Maybe DnsRuleGroupLimitExceededViolation -> Maybe DnsRuleGroupPriorityConflictViolation -> Maybe FirewallSubnetIsOutOfScopeViolation -> Maybe FirewallSubnetMissingVPCEndpointViolation -> Maybe NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe NetworkFirewallInvalidRouteConfigurationViolation -> Maybe NetworkFirewallMissingExpectedRTViolation -> Maybe NetworkFirewallMissingExpectedRoutesViolation -> Maybe NetworkFirewallMissingFirewallViolation -> Maybe NetworkFirewallMissingSubnetViolation -> Maybe NetworkFirewallPolicyModifiedViolation -> Maybe NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe PossibleRemediationActions -> Maybe RouteHasOutOfScopeEndpointViolation -> Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe ThirdPartyFirewallMissingFirewallViolation -> Maybe ThirdPartyFirewallMissingSubnetViolation -> ResourceViolation
+ Amazonka.FMS.Types: Route' :: Maybe Text -> Maybe DestinationType -> Maybe Text -> Maybe TargetType -> Route
+ Amazonka.FMS.Types: RouteHasOutOfScopeEndpointViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types: RuleOrder' :: Text -> RuleOrder
+ Amazonka.FMS.Types: SecurityGroupRemediationAction' :: Maybe Text -> Maybe Bool -> Maybe RemediationActionType -> Maybe SecurityGroupRuleDescription -> SecurityGroupRemediationAction
+ Amazonka.FMS.Types: SecurityGroupRuleDescription' :: Maybe Natural -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Natural -> SecurityGroupRuleDescription
+ Amazonka.FMS.Types: SecurityServicePolicyData' :: Maybe Text -> Maybe PolicyOption -> SecurityServiceType -> SecurityServicePolicyData
+ Amazonka.FMS.Types: SecurityServiceType' :: Text -> SecurityServiceType
+ Amazonka.FMS.Types: StatefulEngineOptions' :: Maybe RuleOrder -> StatefulEngineOptions
+ Amazonka.FMS.Types: StatefulRuleGroup' :: Maybe NetworkFirewallStatefulRuleGroupOverride -> Maybe Int -> Maybe Text -> Maybe Text -> StatefulRuleGroup
+ Amazonka.FMS.Types: StatelessRuleGroup' :: Maybe Natural -> Maybe Text -> Maybe Text -> StatelessRuleGroup
+ Amazonka.FMS.Types: Tag' :: Text -> Text -> Tag
+ Amazonka.FMS.Types: TargetType' :: Text -> TargetType
+ Amazonka.FMS.Types: ThirdPartyFirewall' :: Text -> ThirdPartyFirewall
+ Amazonka.FMS.Types: ThirdPartyFirewallAssociationStatus' :: Text -> ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types: ThirdPartyFirewallFirewallPolicy' :: Maybe Text -> Maybe Text -> ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types: ThirdPartyFirewallMissingExpectedRouteTableViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types: ThirdPartyFirewallMissingFirewallViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: ThirdPartyFirewallMissingSubnetViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: ThirdPartyFirewallPolicy' :: Maybe FirewallDeploymentModel -> ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types: ViolationDetail' :: Maybe Text -> Maybe [Tag] -> Text -> Text -> Text -> Text -> [ResourceViolation] -> ViolationDetail
+ Amazonka.FMS.Types: ViolationReason' :: Text -> ViolationReason
+ Amazonka.FMS.Types: [$sel:accountId:DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types: [$sel:accountId:Resource'] :: Resource -> Maybe Text
+ Amazonka.FMS.Types: [$sel:action:NetworkFirewallStatefulRuleGroupOverride'] :: NetworkFirewallStatefulRuleGroupOverride -> Maybe NetworkFirewallOverrideAction
+ Amazonka.FMS.Types: [$sel:actions:PossibleRemediationActions'] :: PossibleRemediationActions -> Maybe [PossibleRemediationAction]
+ Amazonka.FMS.Types: [$sel:actualFirewallEndpoint:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:actualFirewallSubnetId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:actualFirewallSubnetRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:actualFirewallSubnetRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:actualInternetGatewayRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:actualInternetGatewayRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:affectedSubnets:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:allowedTargets:ExpectedRoute'] :: ExpectedRoute -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:appName:App'] :: App -> Text
+ Amazonka.FMS.Types: [$sel:appsList:AppsListData'] :: AppsListData -> [App]
+ Amazonka.FMS.Types: [$sel:appsList:AppsListDataSummary'] :: AppsListDataSummary -> Maybe [App]
+ Amazonka.FMS.Types: [$sel:associationId:EC2ReplaceRouteTableAssociationAction'] :: EC2ReplaceRouteTableAssociationAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:availabilityZone:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:availabilityZone:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:availabilityZone:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:availabilityZone:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:availabilityZone:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:availabilityZone:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:awsEc2InstanceViolation:ResourceViolation'] :: ResourceViolation -> Maybe AwsEc2InstanceViolation
+ Amazonka.FMS.Types: [$sel:awsEc2NetworkInterfaceViolation:ResourceViolation'] :: ResourceViolation -> Maybe AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types: [$sel:awsEc2NetworkInterfaceViolations:AwsEc2InstanceViolation'] :: AwsEc2InstanceViolation -> Maybe [AwsEc2NetworkInterfaceViolation]
+ Amazonka.FMS.Types: [$sel:awsVPCSecurityGroupViolation:ResourceViolation'] :: ResourceViolation -> Maybe AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types: [$sel:complianceStatus:EvaluationResult'] :: EvaluationResult -> Maybe PolicyComplianceStatusType
+ Amazonka.FMS.Types: [$sel:conflictingPolicyId:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:conflictingPriority:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Natural
+ Amazonka.FMS.Types: [$sel:contributingSubnets:ExpectedRoute'] :: ExpectedRoute -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:createTime:AppsListData'] :: AppsListData -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:createTime:ProtocolsListData'] :: ProtocolsListData -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:currentFirewallSubnetRouteTable:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:currentFirewallSubnetRouteTable:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:currentFirewallSubnetRouteTable:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:currentInternetGatewayRouteTable:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:currentInternetGatewayRouteTable:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:currentInternetGatewayRouteTable:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:currentPolicyDescription:NetworkFirewallPolicyModifiedViolation'] :: NetworkFirewallPolicyModifiedViolation -> Maybe NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types: [$sel:currentRouteTable:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:currentRouteTable:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:deleteUnusedFMManagedResources:Policy'] :: Policy -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:deleteUnusedFMManagedResources:PolicySummary'] :: PolicySummary -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:description:ActionTarget'] :: ActionTarget -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:EC2CopyRouteTableAction'] :: EC2CopyRouteTableAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:EC2CreateRouteTableAction'] :: EC2CreateRouteTableAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:EC2ReplaceRouteTableAssociationAction'] :: EC2ReplaceRouteTableAssociationAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:FMSPolicyUpdateFirewallCreationConfigAction'] :: FMSPolicyUpdateFirewallCreationConfigAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:PossibleRemediationAction'] :: PossibleRemediationAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:PossibleRemediationActions'] :: PossibleRemediationActions -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:RemediationAction'] :: RemediationAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:ResourceSet'] :: ResourceSet -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:ResourceSetSummary'] :: ResourceSetSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:description:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destination:Route'] :: Route -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationCidrBlock:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationCidrBlock:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationCidrBlock:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationIpv6CidrBlock:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationIpv6CidrBlock:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationIpv6CidrBlock:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationPrefixListId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationPrefixListId:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationPrefixListId:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:destinationType:Route'] :: Route -> Maybe DestinationType
+ Amazonka.FMS.Types: [$sel:dnsDuplicateRuleGroupViolation:ResourceViolation'] :: ResourceViolation -> Maybe DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types: [$sel:dnsRuleGroupLimitExceededViolation:ResourceViolation'] :: ResourceViolation -> Maybe DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types: [$sel:dnsRuleGroupPriorityConflictViolation:ResourceViolation'] :: ResourceViolation -> Maybe DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types: [$sel:eC2AssociateRouteTableAction:RemediationAction'] :: RemediationAction -> Maybe EC2AssociateRouteTableAction
+ Amazonka.FMS.Types: [$sel:eC2CopyRouteTableAction:RemediationAction'] :: RemediationAction -> Maybe EC2CopyRouteTableAction
+ Amazonka.FMS.Types: [$sel:eC2CreateRouteAction:RemediationAction'] :: RemediationAction -> Maybe EC2CreateRouteAction
+ Amazonka.FMS.Types: [$sel:eC2CreateRouteTableAction:RemediationAction'] :: RemediationAction -> Maybe EC2CreateRouteTableAction
+ Amazonka.FMS.Types: [$sel:eC2DeleteRouteAction:RemediationAction'] :: RemediationAction -> Maybe EC2DeleteRouteAction
+ Amazonka.FMS.Types: [$sel:eC2ReplaceRouteAction:RemediationAction'] :: RemediationAction -> Maybe EC2ReplaceRouteAction
+ Amazonka.FMS.Types: [$sel:eC2ReplaceRouteTableAssociationAction:RemediationAction'] :: RemediationAction -> Maybe EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types: [$sel:evaluationLimitExceeded:EvaluationResult'] :: EvaluationResult -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:evaluationLimitExceeded:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:evaluationResults:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe [EvaluationResult]
+ Amazonka.FMS.Types: [$sel:excludeMap:Policy'] :: Policy -> Maybe (HashMap CustomerPolicyScopeIdType [Text])
+ Amazonka.FMS.Types: [$sel:excludeResourceTags:Policy'] :: Policy -> Bool
+ Amazonka.FMS.Types: [$sel:expectedFirewallEndpoint:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:expectedFirewallEndpoint:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:expectedFirewallSubnetId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:expectedFirewallSubnetRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types: [$sel:expectedFirewallSubnetRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types: [$sel:expectedInternetGatewayRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types: [$sel:expectedInternetGatewayRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types: [$sel:expectedPolicyDescription:NetworkFirewallPolicyModifiedViolation'] :: NetworkFirewallPolicyModifiedViolation -> Maybe NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types: [$sel:expectedRouteTable:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:expectedRouteTable:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:expectedRoutes:NetworkFirewallMissingExpectedRoutesViolation'] :: NetworkFirewallMissingExpectedRoutesViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types: [$sel:expiredAt:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:fMSPolicyUpdateFirewallCreationConfigAction:RemediationAction'] :: RemediationAction -> Maybe FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types: [$sel:firewallCreationConfig:FMSPolicyUpdateFirewallCreationConfigAction'] :: FMSPolicyUpdateFirewallCreationConfigAction -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallDeploymentModel:NetworkFirewallPolicy'] :: NetworkFirewallPolicy -> Maybe FirewallDeploymentModel
+ Amazonka.FMS.Types: [$sel:firewallDeploymentModel:ThirdPartyFirewallPolicy'] :: ThirdPartyFirewallPolicy -> Maybe FirewallDeploymentModel
+ Amazonka.FMS.Types: [$sel:firewallEndpoint:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallPolicyId:ThirdPartyFirewallFirewallPolicy'] :: ThirdPartyFirewallFirewallPolicy -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallPolicyName:ThirdPartyFirewallFirewallPolicy'] :: ThirdPartyFirewallFirewallPolicy -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallSubnetId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallSubnetId:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallSubnetId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallSubnetId:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallSubnetId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:firewallSubnetIsOutOfScopeViolation:ResourceViolation'] :: ResourceViolation -> Maybe FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types: [$sel:firewallSubnetMissingVPCEndpointViolation:ResourceViolation'] :: ResourceViolation -> Maybe FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types: [$sel:firewallSubnetRoutes:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:fromPort:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Natural
+ Amazonka.FMS.Types: [$sel:gatewayId:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> Maybe ActionTarget
+ Amazonka.FMS.Types: [$sel:gatewayId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe ActionTarget
+ Amazonka.FMS.Types: [$sel:gatewayId:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe ActionTarget
+ Amazonka.FMS.Types: [$sel:gatewayId:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:iPV4Range:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types: [$sel:iPV6Range:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types: [$sel:id:ResourceSet'] :: ResourceSet -> Maybe Text
+ Amazonka.FMS.Types: [$sel:id:ResourceSetSummary'] :: ResourceSetSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:includeMap:Policy'] :: Policy -> Maybe (HashMap CustomerPolicyScopeIdType [Text])
+ Amazonka.FMS.Types: [$sel:internetGatewayId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:internetGatewayId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:internetGatewayId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:internetGatewayRoutes:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:ipV4Cidr:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types: [$sel:ipV6Cidr:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types: [$sel:isDefaultAction:PossibleRemediationAction'] :: PossibleRemediationAction -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:isDefaultAction:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:isRouteTableUsedInDifferentAZ:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:isRouteTableUsedInDifferentAZ:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:issueInfoMap:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe (HashMap DependentServiceName Text)
+ Amazonka.FMS.Types: [$sel:issueInfoMap:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe (HashMap DependentServiceName Text)
+ Amazonka.FMS.Types: [$sel:key:ResourceTag'] :: ResourceTag -> Text
+ Amazonka.FMS.Types: [$sel:key:Tag'] :: Tag -> Text
+ Amazonka.FMS.Types: [$sel:lastUpdateTime:AppsListData'] :: AppsListData -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:lastUpdateTime:ProtocolsListData'] :: ProtocolsListData -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:lastUpdateTime:ResourceSet'] :: ResourceSet -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:lastUpdateTime:ResourceSetSummary'] :: ResourceSetSummary -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:lastUpdated:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe POSIX
+ Amazonka.FMS.Types: [$sel:listArn:AppsListDataSummary'] :: AppsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listArn:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listId:AppsListData'] :: AppsListData -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listId:AppsListDataSummary'] :: AppsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listId:ProtocolsListData'] :: ProtocolsListData -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listId:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listName:AppsListData'] :: AppsListData -> Text
+ Amazonka.FMS.Types: [$sel:listName:AppsListDataSummary'] :: AppsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listName:ProtocolsListData'] :: ProtocolsListData -> Text
+ Amazonka.FMS.Types: [$sel:listName:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listUpdateToken:AppsListData'] :: AppsListData -> Maybe Text
+ Amazonka.FMS.Types: [$sel:listUpdateToken:ProtocolsListData'] :: ProtocolsListData -> Maybe Text
+ Amazonka.FMS.Types: [$sel:managedServiceData:SecurityServicePolicyData'] :: SecurityServicePolicyData -> Maybe Text
+ Amazonka.FMS.Types: [$sel:memberAccount:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Text
+ Amazonka.FMS.Types: [$sel:memberAccount:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types: [$sel:memberAccount:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types: [$sel:metadata:ComplianceViolator'] :: ComplianceViolator -> Maybe (HashMap Text Text)
+ Amazonka.FMS.Types: [$sel:name:DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types: [$sel:name:ResourceSet'] :: ResourceSet -> Text
+ Amazonka.FMS.Types: [$sel:name:ResourceSetSummary'] :: ResourceSetSummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:networkFirewallBlackHoleRouteDetectedViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallInternetTrafficNotInspectedViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallInvalidRouteConfigurationViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallMissingExpectedRTViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallMissingExpectedRoutesViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallMissingFirewallViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallMissingSubnetViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallPolicy:PolicyOption'] :: PolicyOption -> Maybe NetworkFirewallPolicy
+ Amazonka.FMS.Types: [$sel:networkFirewallPolicyModifiedViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallUnexpectedFirewallRoutesViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types: [$sel:networkFirewallUnexpectedGatewayRoutesViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types: [$sel:numberOfRuleGroupsAlreadyAssociated:DnsRuleGroupLimitExceededViolation'] :: DnsRuleGroupLimitExceededViolation -> Maybe Int
+ Amazonka.FMS.Types: [$sel:order:RemediationActionWithOrder'] :: RemediationActionWithOrder -> Maybe Int
+ Amazonka.FMS.Types: [$sel:orderedRemediationActions:PossibleRemediationAction'] :: PossibleRemediationAction -> [RemediationActionWithOrder]
+ Amazonka.FMS.Types: [$sel:override:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types: [$sel:partialMatches:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe [PartialMatch]
+ Amazonka.FMS.Types: [$sel:policyArn:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyDescription:Policy'] :: Policy -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyId:Policy'] :: Policy -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyId:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyId:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyId:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyId:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types: [$sel:policyName:Policy'] :: Policy -> Text
+ Amazonka.FMS.Types: [$sel:policyName:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyName:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyOption:SecurityServicePolicyData'] :: SecurityServicePolicyData -> Maybe PolicyOption
+ Amazonka.FMS.Types: [$sel:policyOwner:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyOwner:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types: [$sel:policyUpdateToken:Policy'] :: Policy -> Maybe Text
+ Amazonka.FMS.Types: [$sel:port:App'] :: App -> Natural
+ Amazonka.FMS.Types: [$sel:possibleRemediationActions:ResourceViolation'] :: ResourceViolation -> Maybe PossibleRemediationActions
+ Amazonka.FMS.Types: [$sel:possibleSecurityGroupRemediationActions:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe [SecurityGroupRemediationAction]
+ Amazonka.FMS.Types: [$sel:prefixListId:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types: [$sel:prefixListId:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types: [$sel:previousAppsList:AppsListData'] :: AppsListData -> Maybe (HashMap Text [App])
+ Amazonka.FMS.Types: [$sel:previousProtocolsList:ProtocolsListData'] :: ProtocolsListData -> Maybe (HashMap Text [Text])
+ Amazonka.FMS.Types: [$sel:priority:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe Int
+ Amazonka.FMS.Types: [$sel:priority:StatelessRuleGroup'] :: StatelessRuleGroup -> Maybe Natural
+ Amazonka.FMS.Types: [$sel:protocol:App'] :: App -> Text
+ Amazonka.FMS.Types: [$sel:protocol:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types: [$sel:protocolsList:ProtocolsListData'] :: ProtocolsListData -> [Text]
+ Amazonka.FMS.Types: [$sel:protocolsList:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:reason:FailedItem'] :: FailedItem -> Maybe FailedItemReason
+ Amazonka.FMS.Types: [$sel:reference:PartialMatch'] :: PartialMatch -> Maybe Text
+ Amazonka.FMS.Types: [$sel:remediationAction:RemediationActionWithOrder'] :: RemediationActionWithOrder -> Maybe RemediationAction
+ Amazonka.FMS.Types: [$sel:remediationActionType:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe RemediationActionType
+ Amazonka.FMS.Types: [$sel:remediationEnabled:Policy'] :: Policy -> Bool
+ Amazonka.FMS.Types: [$sel:remediationEnabled:PolicySummary'] :: PolicySummary -> Maybe Bool
+ Amazonka.FMS.Types: [$sel:remediationResult:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe SecurityGroupRuleDescription
+ Amazonka.FMS.Types: [$sel:resourceDescription:ViolationDetail'] :: ViolationDetail -> Maybe Text
+ Amazonka.FMS.Types: [$sel:resourceId:ActionTarget'] :: ActionTarget -> Maybe Text
+ Amazonka.FMS.Types: [$sel:resourceId:ComplianceViolator'] :: ComplianceViolator -> Maybe Text
+ Amazonka.FMS.Types: [$sel:resourceId:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe Text
+ Amazonka.FMS.Types: [$sel:resourceId:StatelessRuleGroup'] :: StatelessRuleGroup -> Maybe Text
+ Amazonka.FMS.Types: [$sel:resourceId:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types: [$sel:resourceSetIds:Policy'] :: Policy -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:resourceTags:Policy'] :: Policy -> Maybe [ResourceTag]
+ Amazonka.FMS.Types: [$sel:resourceTags:ViolationDetail'] :: ViolationDetail -> Maybe [Tag]
+ Amazonka.FMS.Types: [$sel:resourceType:ComplianceViolator'] :: ComplianceViolator -> Maybe Text
+ Amazonka.FMS.Types: [$sel:resourceType:Policy'] :: Policy -> Text
+ Amazonka.FMS.Types: [$sel:resourceType:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types: [$sel:resourceType:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types: [$sel:resourceTypeList:Policy'] :: Policy -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:resourceTypeList:ResourceSet'] :: ResourceSet -> [Text]
+ Amazonka.FMS.Types: [$sel:resourceViolations:ViolationDetail'] :: ViolationDetail -> [ResourceViolation]
+ Amazonka.FMS.Types: [$sel:routeHasOutOfScopeEndpointViolation:ResourceViolation'] :: ResourceViolation -> Maybe RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types: [$sel:routeTableId:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:routeTableId:EC2CopyRouteTableAction'] :: EC2CopyRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:routeTableId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:routeTableId:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:routeTableId:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:routeTableId:EC2ReplaceRouteTableAssociationAction'] :: EC2ReplaceRouteTableAssociationAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:routeTableId:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types: [$sel:routeTableId:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:routeTableId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:routeTableId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:routeTableId:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:routeTableId:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:routeTableId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:ruleGroupName:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe Text
+ Amazonka.FMS.Types: [$sel:ruleGroupName:StatelessRuleGroup'] :: StatelessRuleGroup -> Maybe Text
+ Amazonka.FMS.Types: [$sel:ruleOrder:StatefulEngineOptions'] :: StatefulEngineOptions -> Maybe RuleOrder
+ Amazonka.FMS.Types: [$sel:securityServicePolicyData:Policy'] :: Policy -> SecurityServicePolicyData
+ Amazonka.FMS.Types: [$sel:securityServiceType:PolicySummary'] :: PolicySummary -> Maybe SecurityServiceType
+ Amazonka.FMS.Types: [$sel:statefulDefaultActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:statefulEngineOptions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe StatefulEngineOptions
+ Amazonka.FMS.Types: [$sel:statefulRuleGroups:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [StatefulRuleGroup]
+ Amazonka.FMS.Types: [$sel:statelessCustomActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:statelessDefaultActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:statelessFragmentDefaultActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:statelessRuleGroups:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [StatelessRuleGroup]
+ Amazonka.FMS.Types: [$sel:subnetAvailabilityZone:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetAvailabilityZone:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetAvailabilityZone:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetAvailabilityZone:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetAvailabilityZoneId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetAvailabilityZoneId:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetAvailabilityZoneId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetId:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> Maybe ActionTarget
+ Amazonka.FMS.Types: [$sel:subnetId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:subnetId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:target:Route'] :: Route -> Maybe Text
+ Amazonka.FMS.Types: [$sel:targetType:Route'] :: Route -> Maybe TargetType
+ Amazonka.FMS.Types: [$sel:targetViolationReason:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:targetViolationReason:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:targetViolationReason:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:targetViolationReason:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:targetViolationReasons:PartialMatch'] :: PartialMatch -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:thirdPartyFirewallMissingExpectedRouteTableViolation:ResourceViolation'] :: ResourceViolation -> Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types: [$sel:thirdPartyFirewallMissingFirewallViolation:ResourceViolation'] :: ResourceViolation -> Maybe ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: [$sel:thirdPartyFirewallMissingSubnetViolation:ResourceViolation'] :: ResourceViolation -> Maybe ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: [$sel:thirdPartyFirewallPolicy:PolicyOption'] :: PolicyOption -> Maybe ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types: [$sel:toPort:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Natural
+ Amazonka.FMS.Types: [$sel:type':DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types: [$sel:type':SecurityServicePolicyData'] :: SecurityServicePolicyData -> SecurityServiceType
+ Amazonka.FMS.Types: [$sel:unavailablePriorities:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe [Natural]
+ Amazonka.FMS.Types: [$sel:updateToken:ResourceSet'] :: ResourceSet -> Maybe Text
+ Amazonka.FMS.Types: [$sel:uri:DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types: [$sel:uri:FailedItem'] :: FailedItem -> Maybe Text
+ Amazonka.FMS.Types: [$sel:uri:Resource'] :: Resource -> Text
+ Amazonka.FMS.Types: [$sel:value:ResourceTag'] :: ResourceTag -> Maybe Text
+ Amazonka.FMS.Types: [$sel:value:Tag'] :: Tag -> Text
+ Amazonka.FMS.Types: [$sel:violatingRoute:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Route
+ Amazonka.FMS.Types: [$sel:violatingRoutes:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:violatingRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:violatingRoutes:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:violatingRoutes:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:violatingRoutes:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe [Route]
+ Amazonka.FMS.Types: [$sel:violatingSecurityGroups:AwsEc2NetworkInterfaceViolation'] :: AwsEc2NetworkInterfaceViolation -> Maybe [Text]
+ Amazonka.FMS.Types: [$sel:violationReason:ComplianceViolator'] :: ComplianceViolator -> Maybe ViolationReason
+ Amazonka.FMS.Types: [$sel:violationTarget:AwsEc2InstanceViolation'] :: AwsEc2InstanceViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:AwsEc2NetworkInterfaceViolation'] :: AwsEc2NetworkInterfaceViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:DnsDuplicateRuleGroupViolation'] :: DnsDuplicateRuleGroupViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:DnsRuleGroupLimitExceededViolation'] :: DnsRuleGroupLimitExceededViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:NetworkFirewallMissingExpectedRoutesViolation'] :: NetworkFirewallMissingExpectedRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:NetworkFirewallPolicyModifiedViolation'] :: NetworkFirewallPolicyModifiedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTarget:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTargetDescription:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTargetDescription:DnsDuplicateRuleGroupViolation'] :: DnsDuplicateRuleGroupViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTargetDescription:DnsRuleGroupLimitExceededViolation'] :: DnsRuleGroupLimitExceededViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violationTargetDescription:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:violatorCount:EvaluationResult'] :: EvaluationResult -> Maybe Natural
+ Amazonka.FMS.Types: [$sel:violators:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe [ComplianceViolator]
+ Amazonka.FMS.Types: [$sel:vpc:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpc:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpc:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpc:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpc:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpc:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcEndpointId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe ActionTarget
+ Amazonka.FMS.Types: [$sel:vpcEndpointId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:EC2CopyRouteTableAction'] :: EC2CopyRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:vpcId:EC2CreateRouteTableAction'] :: EC2CreateRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types: [$sel:vpcId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:NetworkFirewallMissingExpectedRoutesViolation'] :: NetworkFirewallMissingExpectedRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types: [$sel:vpcId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types: [fromAccountRoleStatus] :: AccountRoleStatus -> Text
+ Amazonka.FMS.Types: [fromCustomerPolicyScopeIdType] :: CustomerPolicyScopeIdType -> Text
+ Amazonka.FMS.Types: [fromDependentServiceName] :: DependentServiceName -> Text
+ Amazonka.FMS.Types: [fromDestinationType] :: DestinationType -> Text
+ Amazonka.FMS.Types: [fromFailedItemReason] :: FailedItemReason -> Text
+ Amazonka.FMS.Types: [fromFirewallDeploymentModel] :: FirewallDeploymentModel -> Text
+ Amazonka.FMS.Types: [fromMarketplaceSubscriptionOnboardingStatus] :: MarketplaceSubscriptionOnboardingStatus -> Text
+ Amazonka.FMS.Types: [fromNetworkFirewallOverrideAction] :: NetworkFirewallOverrideAction -> Text
+ Amazonka.FMS.Types: [fromPolicyComplianceStatusType] :: PolicyComplianceStatusType -> Text
+ Amazonka.FMS.Types: [fromRemediationActionType] :: RemediationActionType -> Text
+ Amazonka.FMS.Types: [fromRuleOrder] :: RuleOrder -> Text
+ Amazonka.FMS.Types: [fromSecurityServiceType] :: SecurityServiceType -> Text
+ Amazonka.FMS.Types: [fromTargetType] :: TargetType -> Text
+ Amazonka.FMS.Types: [fromThirdPartyFirewallAssociationStatus] :: ThirdPartyFirewallAssociationStatus -> Text
+ Amazonka.FMS.Types: [fromThirdPartyFirewall] :: ThirdPartyFirewall -> Text
+ Amazonka.FMS.Types: [fromViolationReason] :: ViolationReason -> Text
+ Amazonka.FMS.Types: _InternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.FMS.Types: _InvalidInputException :: AsError a => Fold a ServiceError
+ Amazonka.FMS.Types: _InvalidOperationException :: AsError a => Fold a ServiceError
+ Amazonka.FMS.Types: _InvalidTypeException :: AsError a => Fold a ServiceError
+ Amazonka.FMS.Types: _LimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.FMS.Types: _ResourceNotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.FMS.Types: actionTarget_description :: Lens' ActionTarget (Maybe Text)
+ Amazonka.FMS.Types: actionTarget_resourceId :: Lens' ActionTarget (Maybe Text)
+ Amazonka.FMS.Types: app_appName :: Lens' App Text
+ Amazonka.FMS.Types: app_port :: Lens' App Natural
+ Amazonka.FMS.Types: app_protocol :: Lens' App Text
+ Amazonka.FMS.Types: appsListDataSummary_appsList :: Lens' AppsListDataSummary (Maybe [App])
+ Amazonka.FMS.Types: appsListDataSummary_listArn :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types: appsListDataSummary_listId :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types: appsListDataSummary_listName :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types: appsListData_appsList :: Lens' AppsListData [App]
+ Amazonka.FMS.Types: appsListData_createTime :: Lens' AppsListData (Maybe UTCTime)
+ Amazonka.FMS.Types: appsListData_lastUpdateTime :: Lens' AppsListData (Maybe UTCTime)
+ Amazonka.FMS.Types: appsListData_listId :: Lens' AppsListData (Maybe Text)
+ Amazonka.FMS.Types: appsListData_listName :: Lens' AppsListData Text
+ Amazonka.FMS.Types: appsListData_listUpdateToken :: Lens' AppsListData (Maybe Text)
+ Amazonka.FMS.Types: appsListData_previousAppsList :: Lens' AppsListData (Maybe (HashMap Text [App]))
+ Amazonka.FMS.Types: awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations :: Lens' AwsEc2InstanceViolation (Maybe [AwsEc2NetworkInterfaceViolation])
+ Amazonka.FMS.Types: awsEc2InstanceViolation_violationTarget :: Lens' AwsEc2InstanceViolation (Maybe Text)
+ Amazonka.FMS.Types: awsEc2NetworkInterfaceViolation_violatingSecurityGroups :: Lens' AwsEc2NetworkInterfaceViolation (Maybe [Text])
+ Amazonka.FMS.Types: awsEc2NetworkInterfaceViolation_violationTarget :: Lens' AwsEc2NetworkInterfaceViolation (Maybe Text)
+ Amazonka.FMS.Types: awsVPCSecurityGroupViolation_partialMatches :: Lens' AwsVPCSecurityGroupViolation (Maybe [PartialMatch])
+ Amazonka.FMS.Types: awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions :: Lens' AwsVPCSecurityGroupViolation (Maybe [SecurityGroupRemediationAction])
+ Amazonka.FMS.Types: awsVPCSecurityGroupViolation_violationTarget :: Lens' AwsVPCSecurityGroupViolation (Maybe Text)
+ Amazonka.FMS.Types: awsVPCSecurityGroupViolation_violationTargetDescription :: Lens' AwsVPCSecurityGroupViolation (Maybe Text)
+ Amazonka.FMS.Types: complianceViolator_metadata :: Lens' ComplianceViolator (Maybe (HashMap Text Text))
+ Amazonka.FMS.Types: complianceViolator_resourceId :: Lens' ComplianceViolator (Maybe Text)
+ Amazonka.FMS.Types: complianceViolator_resourceType :: Lens' ComplianceViolator (Maybe Text)
+ Amazonka.FMS.Types: complianceViolator_violationReason :: Lens' ComplianceViolator (Maybe ViolationReason)
+ Amazonka.FMS.Types: data ActionTarget
+ Amazonka.FMS.Types: data App
+ Amazonka.FMS.Types: data AppsListData
+ Amazonka.FMS.Types: data AppsListDataSummary
+ Amazonka.FMS.Types: data AwsEc2InstanceViolation
+ Amazonka.FMS.Types: data AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types: data AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types: data ComplianceViolator
+ Amazonka.FMS.Types: data DiscoveredResource
+ Amazonka.FMS.Types: data DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types: data DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types: data DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types: data EC2AssociateRouteTableAction
+ Amazonka.FMS.Types: data EC2CopyRouteTableAction
+ Amazonka.FMS.Types: data EC2CreateRouteAction
+ Amazonka.FMS.Types: data EC2CreateRouteTableAction
+ Amazonka.FMS.Types: data EC2DeleteRouteAction
+ Amazonka.FMS.Types: data EC2ReplaceRouteAction
+ Amazonka.FMS.Types: data EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types: data EvaluationResult
+ Amazonka.FMS.Types: data ExpectedRoute
+ Amazonka.FMS.Types: data FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types: data FailedItem
+ Amazonka.FMS.Types: data FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types: data FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types: data NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types: data NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types: data NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types: data NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types: data NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types: data NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: data NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: data NetworkFirewallPolicy
+ Amazonka.FMS.Types: data NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types: data NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types: data NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types: data NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types: data NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types: data PartialMatch
+ Amazonka.FMS.Types: data Policy
+ Amazonka.FMS.Types: data PolicyComplianceDetail
+ Amazonka.FMS.Types: data PolicyComplianceStatus
+ Amazonka.FMS.Types: data PolicyOption
+ Amazonka.FMS.Types: data PolicySummary
+ Amazonka.FMS.Types: data PossibleRemediationAction
+ Amazonka.FMS.Types: data PossibleRemediationActions
+ Amazonka.FMS.Types: data ProtocolsListData
+ Amazonka.FMS.Types: data ProtocolsListDataSummary
+ Amazonka.FMS.Types: data RemediationAction
+ Amazonka.FMS.Types: data RemediationActionWithOrder
+ Amazonka.FMS.Types: data Resource
+ Amazonka.FMS.Types: data ResourceSet
+ Amazonka.FMS.Types: data ResourceSetSummary
+ Amazonka.FMS.Types: data ResourceTag
+ Amazonka.FMS.Types: data ResourceViolation
+ Amazonka.FMS.Types: data Route
+ Amazonka.FMS.Types: data RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types: data SecurityGroupRemediationAction
+ Amazonka.FMS.Types: data SecurityGroupRuleDescription
+ Amazonka.FMS.Types: data SecurityServicePolicyData
+ Amazonka.FMS.Types: data StatefulEngineOptions
+ Amazonka.FMS.Types: data StatefulRuleGroup
+ Amazonka.FMS.Types: data StatelessRuleGroup
+ Amazonka.FMS.Types: data Tag
+ Amazonka.FMS.Types: data ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types: data ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types: data ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: data ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: data ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types: data ViolationDetail
+ Amazonka.FMS.Types: defaultService :: Service
+ Amazonka.FMS.Types: discoveredResource_accountId :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types: discoveredResource_name :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types: discoveredResource_type :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types: discoveredResource_uri :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types: dnsDuplicateRuleGroupViolation_violationTarget :: Lens' DnsDuplicateRuleGroupViolation (Maybe Text)
+ Amazonka.FMS.Types: dnsDuplicateRuleGroupViolation_violationTargetDescription :: Lens' DnsDuplicateRuleGroupViolation (Maybe Text)
+ Amazonka.FMS.Types: dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Int)
+ Amazonka.FMS.Types: dnsRuleGroupLimitExceededViolation_violationTarget :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Text)
+ Amazonka.FMS.Types: dnsRuleGroupLimitExceededViolation_violationTargetDescription :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Text)
+ Amazonka.FMS.Types: dnsRuleGroupPriorityConflictViolation_conflictingPolicyId :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Types: dnsRuleGroupPriorityConflictViolation_conflictingPriority :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Natural)
+ Amazonka.FMS.Types: dnsRuleGroupPriorityConflictViolation_unavailablePriorities :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe [Natural])
+ Amazonka.FMS.Types: dnsRuleGroupPriorityConflictViolation_violationTarget :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Types: dnsRuleGroupPriorityConflictViolation_violationTargetDescription :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Types: eC2AssociateRouteTableAction_description :: Lens' EC2AssociateRouteTableAction (Maybe Text)
+ Amazonka.FMS.Types: eC2AssociateRouteTableAction_gatewayId :: Lens' EC2AssociateRouteTableAction (Maybe ActionTarget)
+ Amazonka.FMS.Types: eC2AssociateRouteTableAction_routeTableId :: Lens' EC2AssociateRouteTableAction ActionTarget
+ Amazonka.FMS.Types: eC2AssociateRouteTableAction_subnetId :: Lens' EC2AssociateRouteTableAction (Maybe ActionTarget)
+ Amazonka.FMS.Types: eC2CopyRouteTableAction_description :: Lens' EC2CopyRouteTableAction (Maybe Text)
+ Amazonka.FMS.Types: eC2CopyRouteTableAction_routeTableId :: Lens' EC2CopyRouteTableAction ActionTarget
+ Amazonka.FMS.Types: eC2CopyRouteTableAction_vpcId :: Lens' EC2CopyRouteTableAction ActionTarget
+ Amazonka.FMS.Types: eC2CreateRouteAction_description :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2CreateRouteAction_destinationCidrBlock :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2CreateRouteAction_destinationIpv6CidrBlock :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2CreateRouteAction_destinationPrefixListId :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2CreateRouteAction_gatewayId :: Lens' EC2CreateRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Types: eC2CreateRouteAction_routeTableId :: Lens' EC2CreateRouteAction ActionTarget
+ Amazonka.FMS.Types: eC2CreateRouteAction_vpcEndpointId :: Lens' EC2CreateRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Types: eC2CreateRouteTableAction_description :: Lens' EC2CreateRouteTableAction (Maybe Text)
+ Amazonka.FMS.Types: eC2CreateRouteTableAction_vpcId :: Lens' EC2CreateRouteTableAction ActionTarget
+ Amazonka.FMS.Types: eC2DeleteRouteAction_description :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2DeleteRouteAction_destinationCidrBlock :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2DeleteRouteAction_destinationIpv6CidrBlock :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2DeleteRouteAction_destinationPrefixListId :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2DeleteRouteAction_routeTableId :: Lens' EC2DeleteRouteAction ActionTarget
+ Amazonka.FMS.Types: eC2ReplaceRouteAction_description :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2ReplaceRouteAction_destinationCidrBlock :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2ReplaceRouteAction_destinationIpv6CidrBlock :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2ReplaceRouteAction_destinationPrefixListId :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types: eC2ReplaceRouteAction_gatewayId :: Lens' EC2ReplaceRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Types: eC2ReplaceRouteAction_routeTableId :: Lens' EC2ReplaceRouteAction ActionTarget
+ Amazonka.FMS.Types: eC2ReplaceRouteTableAssociationAction_associationId :: Lens' EC2ReplaceRouteTableAssociationAction ActionTarget
+ Amazonka.FMS.Types: eC2ReplaceRouteTableAssociationAction_description :: Lens' EC2ReplaceRouteTableAssociationAction (Maybe Text)
+ Amazonka.FMS.Types: eC2ReplaceRouteTableAssociationAction_routeTableId :: Lens' EC2ReplaceRouteTableAssociationAction ActionTarget
+ Amazonka.FMS.Types: evaluationResult_complianceStatus :: Lens' EvaluationResult (Maybe PolicyComplianceStatusType)
+ Amazonka.FMS.Types: evaluationResult_evaluationLimitExceeded :: Lens' EvaluationResult (Maybe Bool)
+ Amazonka.FMS.Types: evaluationResult_violatorCount :: Lens' EvaluationResult (Maybe Natural)
+ Amazonka.FMS.Types: expectedRoute_allowedTargets :: Lens' ExpectedRoute (Maybe [Text])
+ Amazonka.FMS.Types: expectedRoute_contributingSubnets :: Lens' ExpectedRoute (Maybe [Text])
+ Amazonka.FMS.Types: expectedRoute_ipV4Cidr :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types: expectedRoute_ipV6Cidr :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types: expectedRoute_prefixListId :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types: expectedRoute_routeTableId :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types: fMSPolicyUpdateFirewallCreationConfigAction_description :: Lens' FMSPolicyUpdateFirewallCreationConfigAction (Maybe Text)
+ Amazonka.FMS.Types: fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig :: Lens' FMSPolicyUpdateFirewallCreationConfigAction (Maybe Text)
+ Amazonka.FMS.Types: failedItem_reason :: Lens' FailedItem (Maybe FailedItemReason)
+ Amazonka.FMS.Types: failedItem_uri :: Lens' FailedItem (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetIsOutOfScopeViolation_firewallSubnetId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetIsOutOfScopeViolation_vpcEndpointId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetIsOutOfScopeViolation_vpcId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetMissingVPCEndpointViolation_firewallSubnetId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: firewallSubnetMissingVPCEndpointViolation_vpcId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallBlackHoleRouteDetectedViolation_routeTableId :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallBlackHoleRouteDetectedViolation_violationTarget :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallBlackHoleRouteDetectedViolation_vpcId :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Bool)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_routeTableId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_subnetId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallInternetTrafficNotInspectedViolation_vpcId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_affectedSubnets :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Text])
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_internetGatewayId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Bool)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_routeTableId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_violatingRoute :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Route)
+ Amazonka.FMS.Types: networkFirewallInvalidRouteConfigurationViolation_vpcId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRTViolation_availabilityZone :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRTViolation_currentRouteTable :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRTViolation_expectedRouteTable :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRTViolation_violationTarget :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRTViolation_vpc :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRoutesViolation_expectedRoutes :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRoutesViolation_violationTarget :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingExpectedRoutesViolation_vpcId :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingFirewallViolation_availabilityZone :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingFirewallViolation_targetViolationReason :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingFirewallViolation_violationTarget :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingFirewallViolation_vpc :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingSubnetViolation_availabilityZone :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingSubnetViolation_targetViolationReason :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingSubnetViolation_violationTarget :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallMissingSubnetViolation_vpc :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallPolicyDescription_statefulDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types: networkFirewallPolicyDescription_statefulEngineOptions :: Lens' NetworkFirewallPolicyDescription (Maybe StatefulEngineOptions)
+ Amazonka.FMS.Types: networkFirewallPolicyDescription_statefulRuleGroups :: Lens' NetworkFirewallPolicyDescription (Maybe [StatefulRuleGroup])
+ Amazonka.FMS.Types: networkFirewallPolicyDescription_statelessCustomActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types: networkFirewallPolicyDescription_statelessDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types: networkFirewallPolicyDescription_statelessFragmentDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types: networkFirewallPolicyDescription_statelessRuleGroups :: Lens' NetworkFirewallPolicyDescription (Maybe [StatelessRuleGroup])
+ Amazonka.FMS.Types: networkFirewallPolicyModifiedViolation_currentPolicyDescription :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe NetworkFirewallPolicyDescription)
+ Amazonka.FMS.Types: networkFirewallPolicyModifiedViolation_expectedPolicyDescription :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe NetworkFirewallPolicyDescription)
+ Amazonka.FMS.Types: networkFirewallPolicyModifiedViolation_violationTarget :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallPolicy_firewallDeploymentModel :: Lens' NetworkFirewallPolicy (Maybe FirewallDeploymentModel)
+ Amazonka.FMS.Types: networkFirewallStatefulRuleGroupOverride_action :: Lens' NetworkFirewallStatefulRuleGroupOverride (Maybe NetworkFirewallOverrideAction)
+ Amazonka.FMS.Types: networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallUnexpectedFirewallRoutesViolation_routeTableId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallUnexpectedFirewallRoutesViolation_vpcId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallUnexpectedGatewayRoutesViolation_gatewayId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallUnexpectedGatewayRoutesViolation_routeTableId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe [Route])
+ Amazonka.FMS.Types: networkFirewallUnexpectedGatewayRoutesViolation_vpcId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types: newActionTarget :: ActionTarget
+ Amazonka.FMS.Types: newApp :: Text -> Text -> Natural -> App
+ Amazonka.FMS.Types: newAppsListData :: Text -> AppsListData
+ Amazonka.FMS.Types: newAppsListDataSummary :: AppsListDataSummary
+ Amazonka.FMS.Types: newAwsEc2InstanceViolation :: AwsEc2InstanceViolation
+ Amazonka.FMS.Types: newAwsEc2NetworkInterfaceViolation :: AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types: newAwsVPCSecurityGroupViolation :: AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types: newComplianceViolator :: ComplianceViolator
+ Amazonka.FMS.Types: newDiscoveredResource :: DiscoveredResource
+ Amazonka.FMS.Types: newDnsDuplicateRuleGroupViolation :: DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types: newDnsRuleGroupLimitExceededViolation :: DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types: newDnsRuleGroupPriorityConflictViolation :: DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types: newEC2AssociateRouteTableAction :: ActionTarget -> EC2AssociateRouteTableAction
+ Amazonka.FMS.Types: newEC2CopyRouteTableAction :: ActionTarget -> ActionTarget -> EC2CopyRouteTableAction
+ Amazonka.FMS.Types: newEC2CreateRouteAction :: ActionTarget -> EC2CreateRouteAction
+ Amazonka.FMS.Types: newEC2CreateRouteTableAction :: ActionTarget -> EC2CreateRouteTableAction
+ Amazonka.FMS.Types: newEC2DeleteRouteAction :: ActionTarget -> EC2DeleteRouteAction
+ Amazonka.FMS.Types: newEC2ReplaceRouteAction :: ActionTarget -> EC2ReplaceRouteAction
+ Amazonka.FMS.Types: newEC2ReplaceRouteTableAssociationAction :: ActionTarget -> ActionTarget -> EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types: newEvaluationResult :: EvaluationResult
+ Amazonka.FMS.Types: newExpectedRoute :: ExpectedRoute
+ Amazonka.FMS.Types: newFMSPolicyUpdateFirewallCreationConfigAction :: FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types: newFailedItem :: FailedItem
+ Amazonka.FMS.Types: newFirewallSubnetIsOutOfScopeViolation :: FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types: newFirewallSubnetMissingVPCEndpointViolation :: FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types: newNetworkFirewallBlackHoleRouteDetectedViolation :: NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types: newNetworkFirewallInternetTrafficNotInspectedViolation :: NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types: newNetworkFirewallInvalidRouteConfigurationViolation :: NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types: newNetworkFirewallMissingExpectedRTViolation :: NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types: newNetworkFirewallMissingExpectedRoutesViolation :: NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types: newNetworkFirewallMissingFirewallViolation :: NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: newNetworkFirewallMissingSubnetViolation :: NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: newNetworkFirewallPolicy :: NetworkFirewallPolicy
+ Amazonka.FMS.Types: newNetworkFirewallPolicyDescription :: NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types: newNetworkFirewallPolicyModifiedViolation :: NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types: newNetworkFirewallStatefulRuleGroupOverride :: NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types: newNetworkFirewallUnexpectedFirewallRoutesViolation :: NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types: newNetworkFirewallUnexpectedGatewayRoutesViolation :: NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types: newPartialMatch :: PartialMatch
+ Amazonka.FMS.Types: newPolicy :: Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
+ Amazonka.FMS.Types: newPolicyComplianceDetail :: PolicyComplianceDetail
+ Amazonka.FMS.Types: newPolicyComplianceStatus :: PolicyComplianceStatus
+ Amazonka.FMS.Types: newPolicyOption :: PolicyOption
+ Amazonka.FMS.Types: newPolicySummary :: PolicySummary
+ Amazonka.FMS.Types: newPossibleRemediationAction :: PossibleRemediationAction
+ Amazonka.FMS.Types: newPossibleRemediationActions :: PossibleRemediationActions
+ Amazonka.FMS.Types: newProtocolsListData :: Text -> ProtocolsListData
+ Amazonka.FMS.Types: newProtocolsListDataSummary :: ProtocolsListDataSummary
+ Amazonka.FMS.Types: newRemediationAction :: RemediationAction
+ Amazonka.FMS.Types: newRemediationActionWithOrder :: RemediationActionWithOrder
+ Amazonka.FMS.Types: newResource :: Text -> Resource
+ Amazonka.FMS.Types: newResourceSet :: Text -> ResourceSet
+ Amazonka.FMS.Types: newResourceSetSummary :: ResourceSetSummary
+ Amazonka.FMS.Types: newResourceTag :: Text -> ResourceTag
+ Amazonka.FMS.Types: newResourceViolation :: ResourceViolation
+ Amazonka.FMS.Types: newRoute :: Route
+ Amazonka.FMS.Types: newRouteHasOutOfScopeEndpointViolation :: RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types: newSecurityGroupRemediationAction :: SecurityGroupRemediationAction
+ Amazonka.FMS.Types: newSecurityGroupRuleDescription :: SecurityGroupRuleDescription
+ Amazonka.FMS.Types: newSecurityServicePolicyData :: SecurityServiceType -> SecurityServicePolicyData
+ Amazonka.FMS.Types: newStatefulEngineOptions :: StatefulEngineOptions
+ Amazonka.FMS.Types: newStatefulRuleGroup :: StatefulRuleGroup
+ Amazonka.FMS.Types: newStatelessRuleGroup :: StatelessRuleGroup
+ Amazonka.FMS.Types: newTag :: Text -> Text -> Tag
+ Amazonka.FMS.Types: newThirdPartyFirewallFirewallPolicy :: ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types: newThirdPartyFirewallMissingExpectedRouteTableViolation :: ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types: newThirdPartyFirewallMissingFirewallViolation :: ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types: newThirdPartyFirewallMissingSubnetViolation :: ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types: newThirdPartyFirewallPolicy :: ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types: newViolationDetail :: Text -> Text -> Text -> Text -> ViolationDetail
+ Amazonka.FMS.Types: newtype AccountRoleStatus
+ Amazonka.FMS.Types: newtype CustomerPolicyScopeIdType
+ Amazonka.FMS.Types: newtype DependentServiceName
+ Amazonka.FMS.Types: newtype DestinationType
+ Amazonka.FMS.Types: newtype FailedItemReason
+ Amazonka.FMS.Types: newtype FirewallDeploymentModel
+ Amazonka.FMS.Types: newtype MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types: newtype NetworkFirewallOverrideAction
+ Amazonka.FMS.Types: newtype PolicyComplianceStatusType
+ Amazonka.FMS.Types: newtype RemediationActionType
+ Amazonka.FMS.Types: newtype RuleOrder
+ Amazonka.FMS.Types: newtype SecurityServiceType
+ Amazonka.FMS.Types: newtype TargetType
+ Amazonka.FMS.Types: newtype ThirdPartyFirewall
+ Amazonka.FMS.Types: newtype ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types: newtype ViolationReason
+ Amazonka.FMS.Types: partialMatch_reference :: Lens' PartialMatch (Maybe Text)
+ Amazonka.FMS.Types: partialMatch_targetViolationReasons :: Lens' PartialMatch (Maybe [Text])
+ Amazonka.FMS.Types: pattern AccountRoleStatus_CREATING :: AccountRoleStatus
+ Amazonka.FMS.Types: pattern AccountRoleStatus_DELETED :: AccountRoleStatus
+ Amazonka.FMS.Types: pattern AccountRoleStatus_DELETING :: AccountRoleStatus
+ Amazonka.FMS.Types: pattern AccountRoleStatus_PENDING_DELETION :: AccountRoleStatus
+ Amazonka.FMS.Types: pattern AccountRoleStatus_READY :: AccountRoleStatus
+ Amazonka.FMS.Types: pattern CustomerPolicyScopeIdType_ACCOUNT :: CustomerPolicyScopeIdType
+ Amazonka.FMS.Types: pattern CustomerPolicyScopeIdType_ORG_UNIT :: CustomerPolicyScopeIdType
+ Amazonka.FMS.Types: pattern DependentServiceName_AWSCONFIG :: DependentServiceName
+ Amazonka.FMS.Types: pattern DependentServiceName_AWSSHIELD_ADVANCED :: DependentServiceName
+ Amazonka.FMS.Types: pattern DependentServiceName_AWSVPC :: DependentServiceName
+ Amazonka.FMS.Types: pattern DependentServiceName_AWSWAF :: DependentServiceName
+ Amazonka.FMS.Types: pattern DestinationType_IPV4 :: DestinationType
+ Amazonka.FMS.Types: pattern DestinationType_IPV6 :: DestinationType
+ Amazonka.FMS.Types: pattern DestinationType_PREFIX_LIST :: DestinationType
+ Amazonka.FMS.Types: pattern FailedItemReason_NOT_VALID_ACCOUNT_ID :: FailedItemReason
+ Amazonka.FMS.Types: pattern FailedItemReason_NOT_VALID_ARN :: FailedItemReason
+ Amazonka.FMS.Types: pattern FailedItemReason_NOT_VALID_PARTITION :: FailedItemReason
+ Amazonka.FMS.Types: pattern FailedItemReason_NOT_VALID_REGION :: FailedItemReason
+ Amazonka.FMS.Types: pattern FailedItemReason_NOT_VALID_RESOURCE_TYPE :: FailedItemReason
+ Amazonka.FMS.Types: pattern FailedItemReason_NOT_VALID_SERVICE :: FailedItemReason
+ Amazonka.FMS.Types: pattern FirewallDeploymentModel_CENTRALIZED :: FirewallDeploymentModel
+ Amazonka.FMS.Types: pattern FirewallDeploymentModel_DISTRIBUTED :: FirewallDeploymentModel
+ Amazonka.FMS.Types: pattern MarketplaceSubscriptionOnboardingStatus_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types: pattern MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types: pattern MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types: pattern NetworkFirewallOverrideAction_DROP_TO_ALERT :: NetworkFirewallOverrideAction
+ Amazonka.FMS.Types: pattern PolicyComplianceStatusType_COMPLIANT :: PolicyComplianceStatusType
+ Amazonka.FMS.Types: pattern PolicyComplianceStatusType_NON_COMPLIANT :: PolicyComplianceStatusType
+ Amazonka.FMS.Types: pattern RemediationActionType_MODIFY :: RemediationActionType
+ Amazonka.FMS.Types: pattern RemediationActionType_REMOVE :: RemediationActionType
+ Amazonka.FMS.Types: pattern RuleOrder_DEFAULT_ACTION_ORDER :: RuleOrder
+ Amazonka.FMS.Types: pattern RuleOrder_STRICT_ORDER :: RuleOrder
+ Amazonka.FMS.Types: pattern SecurityServiceType_DNS_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_IMPORT_NETWORK_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_NETWORK_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_SECURITY_GROUPS_COMMON :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_SECURITY_GROUPS_CONTENT_AUDIT :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_SECURITY_GROUPS_USAGE_AUDIT :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_SHIELD_ADVANCED :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_THIRD_PARTY_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_WAF :: SecurityServiceType
+ Amazonka.FMS.Types: pattern SecurityServiceType_WAFV2 :: SecurityServiceType
+ Amazonka.FMS.Types: pattern TargetType_CARRIER_GATEWAY :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_EGRESS_ONLY_INTERNET_GATEWAY :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_GATEWAY :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_INSTANCE :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_LOCAL_GATEWAY :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_NAT_GATEWAY :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_NETWORK_INTERFACE :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_TRANSIT_GATEWAY :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_VPC_ENDPOINT :: TargetType
+ Amazonka.FMS.Types: pattern TargetType_VPC_PEERING_CONNECTION :: TargetType
+ Amazonka.FMS.Types: pattern ThirdPartyFirewallAssociationStatus_NOT_EXIST :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types: pattern ThirdPartyFirewallAssociationStatus_OFFBOARDING :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types: pattern ThirdPartyFirewallAssociationStatus_OFFBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types: pattern ThirdPartyFirewallAssociationStatus_ONBOARDING :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types: pattern ThirdPartyFirewallAssociationStatus_ONBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types: pattern ThirdPartyFirewall_FORTIGATE_CLOUD_NATIVE_FIREWALL :: ThirdPartyFirewall
+ Amazonka.FMS.Types: pattern ThirdPartyFirewall_PALO_ALTO_NETWORKS_CLOUD_NGFW :: ThirdPartyFirewall
+ Amazonka.FMS.Types: pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_FIREWALL_SUBNET_IS_OUT_OF_SCOPE :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_FMS_CREATED_SECURITY_GROUP_EDITED :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_INTERNET_TRAFFIC_NOT_INSPECTED :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_INVALID_ROUTE_CONFIGURATION :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_MISSING_EXPECTED_ROUTE_TABLE :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_MISSING_FIREWALL :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_MISSING_FIREWALL_SUBNET_IN_AZ :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_MISSING_TARGET_GATEWAY :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_NETWORK_FIREWALL_POLICY_MODIFIED :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_RESOURCE_INCORRECT_WEB_ACL :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_RESOURCE_MISSING_DNS_FIREWALL :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_RESOURCE_MISSING_SECURITY_GROUP :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_RESOURCE_MISSING_SHIELD_PROTECTION :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_RESOURCE_MISSING_WEB_ACL :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_SECURITY_GROUP_REDUNDANT :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_SECURITY_GROUP_UNUSED :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_UNEXPECTED_FIREWALL_ROUTES :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_UNEXPECTED_TARGET_GATEWAY_ROUTES :: ViolationReason
+ Amazonka.FMS.Types: pattern ViolationReason_WEB_ACL_MISSING_RULE_GROUP :: ViolationReason
+ Amazonka.FMS.Types: policyComplianceDetail_evaluationLimitExceeded :: Lens' PolicyComplianceDetail (Maybe Bool)
+ Amazonka.FMS.Types: policyComplianceDetail_expiredAt :: Lens' PolicyComplianceDetail (Maybe UTCTime)
+ Amazonka.FMS.Types: policyComplianceDetail_issueInfoMap :: Lens' PolicyComplianceDetail (Maybe (HashMap DependentServiceName Text))
+ Amazonka.FMS.Types: policyComplianceDetail_memberAccount :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Types: policyComplianceDetail_policyId :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Types: policyComplianceDetail_policyOwner :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Types: policyComplianceDetail_violators :: Lens' PolicyComplianceDetail (Maybe [ComplianceViolator])
+ Amazonka.FMS.Types: policyComplianceStatus_evaluationResults :: Lens' PolicyComplianceStatus (Maybe [EvaluationResult])
+ Amazonka.FMS.Types: policyComplianceStatus_issueInfoMap :: Lens' PolicyComplianceStatus (Maybe (HashMap DependentServiceName Text))
+ Amazonka.FMS.Types: policyComplianceStatus_lastUpdated :: Lens' PolicyComplianceStatus (Maybe UTCTime)
+ Amazonka.FMS.Types: policyComplianceStatus_memberAccount :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types: policyComplianceStatus_policyId :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types: policyComplianceStatus_policyName :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types: policyComplianceStatus_policyOwner :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types: policyOption_networkFirewallPolicy :: Lens' PolicyOption (Maybe NetworkFirewallPolicy)
+ Amazonka.FMS.Types: policyOption_thirdPartyFirewallPolicy :: Lens' PolicyOption (Maybe ThirdPartyFirewallPolicy)
+ Amazonka.FMS.Types: policySummary_deleteUnusedFMManagedResources :: Lens' PolicySummary (Maybe Bool)
+ Amazonka.FMS.Types: policySummary_policyArn :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types: policySummary_policyId :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types: policySummary_policyName :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types: policySummary_remediationEnabled :: Lens' PolicySummary (Maybe Bool)
+ Amazonka.FMS.Types: policySummary_resourceType :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types: policySummary_securityServiceType :: Lens' PolicySummary (Maybe SecurityServiceType)
+ Amazonka.FMS.Types: policy_deleteUnusedFMManagedResources :: Lens' Policy (Maybe Bool)
+ Amazonka.FMS.Types: policy_excludeMap :: Lens' Policy (Maybe (HashMap CustomerPolicyScopeIdType [Text]))
+ Amazonka.FMS.Types: policy_excludeResourceTags :: Lens' Policy Bool
+ Amazonka.FMS.Types: policy_includeMap :: Lens' Policy (Maybe (HashMap CustomerPolicyScopeIdType [Text]))
+ Amazonka.FMS.Types: policy_policyDescription :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Types: policy_policyId :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Types: policy_policyName :: Lens' Policy Text
+ Amazonka.FMS.Types: policy_policyUpdateToken :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Types: policy_remediationEnabled :: Lens' Policy Bool
+ Amazonka.FMS.Types: policy_resourceSetIds :: Lens' Policy (Maybe [Text])
+ Amazonka.FMS.Types: policy_resourceTags :: Lens' Policy (Maybe [ResourceTag])
+ Amazonka.FMS.Types: policy_resourceType :: Lens' Policy Text
+ Amazonka.FMS.Types: policy_resourceTypeList :: Lens' Policy (Maybe [Text])
+ Amazonka.FMS.Types: policy_securityServicePolicyData :: Lens' Policy SecurityServicePolicyData
+ Amazonka.FMS.Types: possibleRemediationAction_description :: Lens' PossibleRemediationAction (Maybe Text)
+ Amazonka.FMS.Types: possibleRemediationAction_isDefaultAction :: Lens' PossibleRemediationAction (Maybe Bool)
+ Amazonka.FMS.Types: possibleRemediationAction_orderedRemediationActions :: Lens' PossibleRemediationAction [RemediationActionWithOrder]
+ Amazonka.FMS.Types: possibleRemediationActions_actions :: Lens' PossibleRemediationActions (Maybe [PossibleRemediationAction])
+ Amazonka.FMS.Types: possibleRemediationActions_description :: Lens' PossibleRemediationActions (Maybe Text)
+ Amazonka.FMS.Types: protocolsListDataSummary_listArn :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types: protocolsListDataSummary_listId :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types: protocolsListDataSummary_listName :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types: protocolsListDataSummary_protocolsList :: Lens' ProtocolsListDataSummary (Maybe [Text])
+ Amazonka.FMS.Types: protocolsListData_createTime :: Lens' ProtocolsListData (Maybe UTCTime)
+ Amazonka.FMS.Types: protocolsListData_lastUpdateTime :: Lens' ProtocolsListData (Maybe UTCTime)
+ Amazonka.FMS.Types: protocolsListData_listId :: Lens' ProtocolsListData (Maybe Text)
+ Amazonka.FMS.Types: protocolsListData_listName :: Lens' ProtocolsListData Text
+ Amazonka.FMS.Types: protocolsListData_listUpdateToken :: Lens' ProtocolsListData (Maybe Text)
+ Amazonka.FMS.Types: protocolsListData_previousProtocolsList :: Lens' ProtocolsListData (Maybe (HashMap Text [Text]))
+ Amazonka.FMS.Types: protocolsListData_protocolsList :: Lens' ProtocolsListData [Text]
+ Amazonka.FMS.Types: remediationActionWithOrder_order :: Lens' RemediationActionWithOrder (Maybe Int)
+ Amazonka.FMS.Types: remediationActionWithOrder_remediationAction :: Lens' RemediationActionWithOrder (Maybe RemediationAction)
+ Amazonka.FMS.Types: remediationAction_description :: Lens' RemediationAction (Maybe Text)
+ Amazonka.FMS.Types: remediationAction_eC2AssociateRouteTableAction :: Lens' RemediationAction (Maybe EC2AssociateRouteTableAction)
+ Amazonka.FMS.Types: remediationAction_eC2CopyRouteTableAction :: Lens' RemediationAction (Maybe EC2CopyRouteTableAction)
+ Amazonka.FMS.Types: remediationAction_eC2CreateRouteAction :: Lens' RemediationAction (Maybe EC2CreateRouteAction)
+ Amazonka.FMS.Types: remediationAction_eC2CreateRouteTableAction :: Lens' RemediationAction (Maybe EC2CreateRouteTableAction)
+ Amazonka.FMS.Types: remediationAction_eC2DeleteRouteAction :: Lens' RemediationAction (Maybe EC2DeleteRouteAction)
+ Amazonka.FMS.Types: remediationAction_eC2ReplaceRouteAction :: Lens' RemediationAction (Maybe EC2ReplaceRouteAction)
+ Amazonka.FMS.Types: remediationAction_eC2ReplaceRouteTableAssociationAction :: Lens' RemediationAction (Maybe EC2ReplaceRouteTableAssociationAction)
+ Amazonka.FMS.Types: remediationAction_fMSPolicyUpdateFirewallCreationConfigAction :: Lens' RemediationAction (Maybe FMSPolicyUpdateFirewallCreationConfigAction)
+ Amazonka.FMS.Types: resourceSetSummary_description :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Types: resourceSetSummary_id :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Types: resourceSetSummary_lastUpdateTime :: Lens' ResourceSetSummary (Maybe UTCTime)
+ Amazonka.FMS.Types: resourceSetSummary_name :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Types: resourceSet_description :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Types: resourceSet_id :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Types: resourceSet_lastUpdateTime :: Lens' ResourceSet (Maybe UTCTime)
+ Amazonka.FMS.Types: resourceSet_name :: Lens' ResourceSet Text
+ Amazonka.FMS.Types: resourceSet_resourceTypeList :: Lens' ResourceSet [Text]
+ Amazonka.FMS.Types: resourceSet_updateToken :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Types: resourceTag_key :: Lens' ResourceTag Text
+ Amazonka.FMS.Types: resourceTag_value :: Lens' ResourceTag (Maybe Text)
+ Amazonka.FMS.Types: resourceViolation_awsEc2InstanceViolation :: Lens' ResourceViolation (Maybe AwsEc2InstanceViolation)
+ Amazonka.FMS.Types: resourceViolation_awsEc2NetworkInterfaceViolation :: Lens' ResourceViolation (Maybe AwsEc2NetworkInterfaceViolation)
+ Amazonka.FMS.Types: resourceViolation_awsVPCSecurityGroupViolation :: Lens' ResourceViolation (Maybe AwsVPCSecurityGroupViolation)
+ Amazonka.FMS.Types: resourceViolation_dnsDuplicateRuleGroupViolation :: Lens' ResourceViolation (Maybe DnsDuplicateRuleGroupViolation)
+ Amazonka.FMS.Types: resourceViolation_dnsRuleGroupLimitExceededViolation :: Lens' ResourceViolation (Maybe DnsRuleGroupLimitExceededViolation)
+ Amazonka.FMS.Types: resourceViolation_dnsRuleGroupPriorityConflictViolation :: Lens' ResourceViolation (Maybe DnsRuleGroupPriorityConflictViolation)
+ Amazonka.FMS.Types: resourceViolation_firewallSubnetIsOutOfScopeViolation :: Lens' ResourceViolation (Maybe FirewallSubnetIsOutOfScopeViolation)
+ Amazonka.FMS.Types: resourceViolation_firewallSubnetMissingVPCEndpointViolation :: Lens' ResourceViolation (Maybe FirewallSubnetMissingVPCEndpointViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallBlackHoleRouteDetectedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallBlackHoleRouteDetectedViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallInternetTrafficNotInspectedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallInternetTrafficNotInspectedViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallInvalidRouteConfigurationViolation :: Lens' ResourceViolation (Maybe NetworkFirewallInvalidRouteConfigurationViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallMissingExpectedRTViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingExpectedRTViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallMissingExpectedRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingExpectedRoutesViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallMissingFirewallViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingFirewallViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallMissingSubnetViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingSubnetViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallPolicyModifiedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallPolicyModifiedViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallUnexpectedFirewallRoutesViolation)
+ Amazonka.FMS.Types: resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallUnexpectedGatewayRoutesViolation)
+ Amazonka.FMS.Types: resourceViolation_possibleRemediationActions :: Lens' ResourceViolation (Maybe PossibleRemediationActions)
+ Amazonka.FMS.Types: resourceViolation_routeHasOutOfScopeEndpointViolation :: Lens' ResourceViolation (Maybe RouteHasOutOfScopeEndpointViolation)
+ Amazonka.FMS.Types: resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation)
+ Amazonka.FMS.Types: resourceViolation_thirdPartyFirewallMissingFirewallViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingFirewallViolation)
+ Amazonka.FMS.Types: resourceViolation_thirdPartyFirewallMissingSubnetViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingSubnetViolation)
+ Amazonka.FMS.Types: resource_accountId :: Lens' Resource (Maybe Text)
+ Amazonka.FMS.Types: resource_uri :: Lens' Resource Text
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_firewallSubnetId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_internetGatewayId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_internetGatewayRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_routeTableId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_subnetId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_violatingRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Types: routeHasOutOfScopeEndpointViolation_vpcId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types: route_destination :: Lens' Route (Maybe Text)
+ Amazonka.FMS.Types: route_destinationType :: Lens' Route (Maybe DestinationType)
+ Amazonka.FMS.Types: route_target :: Lens' Route (Maybe Text)
+ Amazonka.FMS.Types: route_targetType :: Lens' Route (Maybe TargetType)
+ Amazonka.FMS.Types: securityGroupRemediationAction_description :: Lens' SecurityGroupRemediationAction (Maybe Text)
+ Amazonka.FMS.Types: securityGroupRemediationAction_isDefaultAction :: Lens' SecurityGroupRemediationAction (Maybe Bool)
+ Amazonka.FMS.Types: securityGroupRemediationAction_remediationActionType :: Lens' SecurityGroupRemediationAction (Maybe RemediationActionType)
+ Amazonka.FMS.Types: securityGroupRemediationAction_remediationResult :: Lens' SecurityGroupRemediationAction (Maybe SecurityGroupRuleDescription)
+ Amazonka.FMS.Types: securityGroupRuleDescription_fromPort :: Lens' SecurityGroupRuleDescription (Maybe Natural)
+ Amazonka.FMS.Types: securityGroupRuleDescription_iPV4Range :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types: securityGroupRuleDescription_iPV6Range :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types: securityGroupRuleDescription_prefixListId :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types: securityGroupRuleDescription_protocol :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types: securityGroupRuleDescription_toPort :: Lens' SecurityGroupRuleDescription (Maybe Natural)
+ Amazonka.FMS.Types: securityServicePolicyData_managedServiceData :: Lens' SecurityServicePolicyData (Maybe Text)
+ Amazonka.FMS.Types: securityServicePolicyData_policyOption :: Lens' SecurityServicePolicyData (Maybe PolicyOption)
+ Amazonka.FMS.Types: securityServicePolicyData_type :: Lens' SecurityServicePolicyData SecurityServiceType
+ Amazonka.FMS.Types: statefulEngineOptions_ruleOrder :: Lens' StatefulEngineOptions (Maybe RuleOrder)
+ Amazonka.FMS.Types: statefulRuleGroup_override :: Lens' StatefulRuleGroup (Maybe NetworkFirewallStatefulRuleGroupOverride)
+ Amazonka.FMS.Types: statefulRuleGroup_priority :: Lens' StatefulRuleGroup (Maybe Int)
+ Amazonka.FMS.Types: statefulRuleGroup_resourceId :: Lens' StatefulRuleGroup (Maybe Text)
+ Amazonka.FMS.Types: statefulRuleGroup_ruleGroupName :: Lens' StatefulRuleGroup (Maybe Text)
+ Amazonka.FMS.Types: statelessRuleGroup_priority :: Lens' StatelessRuleGroup (Maybe Natural)
+ Amazonka.FMS.Types: statelessRuleGroup_resourceId :: Lens' StatelessRuleGroup (Maybe Text)
+ Amazonka.FMS.Types: statelessRuleGroup_ruleGroupName :: Lens' StatelessRuleGroup (Maybe Text)
+ Amazonka.FMS.Types: tag_key :: Lens' Tag Text
+ Amazonka.FMS.Types: tag_value :: Lens' Tag Text
+ Amazonka.FMS.Types: thirdPartyFirewallFirewallPolicy_firewallPolicyId :: Lens' ThirdPartyFirewallFirewallPolicy (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallFirewallPolicy_firewallPolicyName :: Lens' ThirdPartyFirewallFirewallPolicy (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingExpectedRouteTableViolation_vpc :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingFirewallViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingFirewallViolation_targetViolationReason :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingFirewallViolation_violationTarget :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingFirewallViolation_vpc :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingSubnetViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingSubnetViolation_targetViolationReason :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingSubnetViolation_violationTarget :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallMissingSubnetViolation_vpc :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types: thirdPartyFirewallPolicy_firewallDeploymentModel :: Lens' ThirdPartyFirewallPolicy (Maybe FirewallDeploymentModel)
+ Amazonka.FMS.Types: violationDetail_memberAccount :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types: violationDetail_policyId :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types: violationDetail_resourceDescription :: Lens' ViolationDetail (Maybe Text)
+ Amazonka.FMS.Types: violationDetail_resourceId :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types: violationDetail_resourceTags :: Lens' ViolationDetail (Maybe [Tag])
+ Amazonka.FMS.Types: violationDetail_resourceType :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types: violationDetail_resourceViolations :: Lens' ViolationDetail [ResourceViolation]
+ Amazonka.FMS.Types.AccountRoleStatus: AccountRoleStatus' :: Text -> AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: [fromAccountRoleStatus] :: AccountRoleStatus -> Text
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Control.DeepSeq.NFData Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance GHC.Classes.Eq Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance GHC.Classes.Ord Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance GHC.Generics.Generic Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance GHC.Read.Read Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: instance GHC.Show.Show Amazonka.FMS.Types.AccountRoleStatus.AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: newtype AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: pattern AccountRoleStatus_CREATING :: AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: pattern AccountRoleStatus_DELETED :: AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: pattern AccountRoleStatus_DELETING :: AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: pattern AccountRoleStatus_PENDING_DELETION :: AccountRoleStatus
+ Amazonka.FMS.Types.AccountRoleStatus: pattern AccountRoleStatus_READY :: AccountRoleStatus
+ Amazonka.FMS.Types.ActionTarget: ActionTarget' :: Maybe Text -> Maybe Text -> ActionTarget
+ Amazonka.FMS.Types.ActionTarget: [$sel:description:ActionTarget'] :: ActionTarget -> Maybe Text
+ Amazonka.FMS.Types.ActionTarget: [$sel:resourceId:ActionTarget'] :: ActionTarget -> Maybe Text
+ Amazonka.FMS.Types.ActionTarget: actionTarget_description :: Lens' ActionTarget (Maybe Text)
+ Amazonka.FMS.Types.ActionTarget: actionTarget_resourceId :: Lens' ActionTarget (Maybe Text)
+ Amazonka.FMS.Types.ActionTarget: data ActionTarget
+ Amazonka.FMS.Types.ActionTarget: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ActionTarget.ActionTarget
+ Amazonka.FMS.Types.ActionTarget: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ActionTarget.ActionTarget
+ Amazonka.FMS.Types.ActionTarget: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ActionTarget.ActionTarget
+ Amazonka.FMS.Types.ActionTarget: instance GHC.Classes.Eq Amazonka.FMS.Types.ActionTarget.ActionTarget
+ Amazonka.FMS.Types.ActionTarget: instance GHC.Generics.Generic Amazonka.FMS.Types.ActionTarget.ActionTarget
+ Amazonka.FMS.Types.ActionTarget: instance GHC.Read.Read Amazonka.FMS.Types.ActionTarget.ActionTarget
+ Amazonka.FMS.Types.ActionTarget: instance GHC.Show.Show Amazonka.FMS.Types.ActionTarget.ActionTarget
+ Amazonka.FMS.Types.ActionTarget: newActionTarget :: ActionTarget
+ Amazonka.FMS.Types.App: App' :: Text -> Text -> Natural -> App
+ Amazonka.FMS.Types.App: [$sel:appName:App'] :: App -> Text
+ Amazonka.FMS.Types.App: [$sel:port:App'] :: App -> Natural
+ Amazonka.FMS.Types.App: [$sel:protocol:App'] :: App -> Text
+ Amazonka.FMS.Types.App: app_appName :: Lens' App Text
+ Amazonka.FMS.Types.App: app_port :: Lens' App Natural
+ Amazonka.FMS.Types.App: app_protocol :: Lens' App Text
+ Amazonka.FMS.Types.App: data App
+ Amazonka.FMS.Types.App: instance Control.DeepSeq.NFData Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: instance GHC.Classes.Eq Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: instance GHC.Generics.Generic Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: instance GHC.Read.Read Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: instance GHC.Show.Show Amazonka.FMS.Types.App.App
+ Amazonka.FMS.Types.App: newApp :: Text -> Text -> Natural -> App
+ Amazonka.FMS.Types.AppsListData: AppsListData' :: Maybe POSIX -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe (HashMap Text [App]) -> Text -> [App] -> AppsListData
+ Amazonka.FMS.Types.AppsListData: [$sel:appsList:AppsListData'] :: AppsListData -> [App]
+ Amazonka.FMS.Types.AppsListData: [$sel:createTime:AppsListData'] :: AppsListData -> Maybe POSIX
+ Amazonka.FMS.Types.AppsListData: [$sel:lastUpdateTime:AppsListData'] :: AppsListData -> Maybe POSIX
+ Amazonka.FMS.Types.AppsListData: [$sel:listId:AppsListData'] :: AppsListData -> Maybe Text
+ Amazonka.FMS.Types.AppsListData: [$sel:listName:AppsListData'] :: AppsListData -> Text
+ Amazonka.FMS.Types.AppsListData: [$sel:listUpdateToken:AppsListData'] :: AppsListData -> Maybe Text
+ Amazonka.FMS.Types.AppsListData: [$sel:previousAppsList:AppsListData'] :: AppsListData -> Maybe (HashMap Text [App])
+ Amazonka.FMS.Types.AppsListData: appsListData_appsList :: Lens' AppsListData [App]
+ Amazonka.FMS.Types.AppsListData: appsListData_createTime :: Lens' AppsListData (Maybe UTCTime)
+ Amazonka.FMS.Types.AppsListData: appsListData_lastUpdateTime :: Lens' AppsListData (Maybe UTCTime)
+ Amazonka.FMS.Types.AppsListData: appsListData_listId :: Lens' AppsListData (Maybe Text)
+ Amazonka.FMS.Types.AppsListData: appsListData_listName :: Lens' AppsListData Text
+ Amazonka.FMS.Types.AppsListData: appsListData_listUpdateToken :: Lens' AppsListData (Maybe Text)
+ Amazonka.FMS.Types.AppsListData: appsListData_previousAppsList :: Lens' AppsListData (Maybe (HashMap Text [App]))
+ Amazonka.FMS.Types.AppsListData: data AppsListData
+ Amazonka.FMS.Types.AppsListData: instance Control.DeepSeq.NFData Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: instance GHC.Classes.Eq Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: instance GHC.Generics.Generic Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: instance GHC.Read.Read Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: instance GHC.Show.Show Amazonka.FMS.Types.AppsListData.AppsListData
+ Amazonka.FMS.Types.AppsListData: newAppsListData :: Text -> AppsListData
+ Amazonka.FMS.Types.AppsListDataSummary: AppsListDataSummary' :: Maybe [App] -> Maybe Text -> Maybe Text -> Maybe Text -> AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: [$sel:appsList:AppsListDataSummary'] :: AppsListDataSummary -> Maybe [App]
+ Amazonka.FMS.Types.AppsListDataSummary: [$sel:listArn:AppsListDataSummary'] :: AppsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types.AppsListDataSummary: [$sel:listId:AppsListDataSummary'] :: AppsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types.AppsListDataSummary: [$sel:listName:AppsListDataSummary'] :: AppsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types.AppsListDataSummary: appsListDataSummary_appsList :: Lens' AppsListDataSummary (Maybe [App])
+ Amazonka.FMS.Types.AppsListDataSummary: appsListDataSummary_listArn :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types.AppsListDataSummary: appsListDataSummary_listId :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types.AppsListDataSummary: appsListDataSummary_listName :: Lens' AppsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types.AppsListDataSummary: data AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: instance Control.DeepSeq.NFData Amazonka.FMS.Types.AppsListDataSummary.AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.AppsListDataSummary.AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.AppsListDataSummary.AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: instance GHC.Classes.Eq Amazonka.FMS.Types.AppsListDataSummary.AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: instance GHC.Generics.Generic Amazonka.FMS.Types.AppsListDataSummary.AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: instance GHC.Read.Read Amazonka.FMS.Types.AppsListDataSummary.AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: instance GHC.Show.Show Amazonka.FMS.Types.AppsListDataSummary.AppsListDataSummary
+ Amazonka.FMS.Types.AppsListDataSummary: newAppsListDataSummary :: AppsListDataSummary
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: AwsEc2InstanceViolation' :: Maybe [AwsEc2NetworkInterfaceViolation] -> Maybe Text -> AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: [$sel:awsEc2NetworkInterfaceViolations:AwsEc2InstanceViolation'] :: AwsEc2InstanceViolation -> Maybe [AwsEc2NetworkInterfaceViolation]
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: [$sel:violationTarget:AwsEc2InstanceViolation'] :: AwsEc2InstanceViolation -> Maybe Text
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations :: Lens' AwsEc2InstanceViolation (Maybe [AwsEc2NetworkInterfaceViolation])
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: awsEc2InstanceViolation_violationTarget :: Lens' AwsEc2InstanceViolation (Maybe Text)
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: data AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.AwsEc2InstanceViolation.AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.AwsEc2InstanceViolation.AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.AwsEc2InstanceViolation.AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.AwsEc2InstanceViolation.AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.AwsEc2InstanceViolation.AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: instance GHC.Read.Read Amazonka.FMS.Types.AwsEc2InstanceViolation.AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: instance GHC.Show.Show Amazonka.FMS.Types.AwsEc2InstanceViolation.AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2InstanceViolation: newAwsEc2InstanceViolation :: AwsEc2InstanceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: AwsEc2NetworkInterfaceViolation' :: Maybe [Text] -> Maybe Text -> AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: [$sel:violatingSecurityGroups:AwsEc2NetworkInterfaceViolation'] :: AwsEc2NetworkInterfaceViolation -> Maybe [Text]
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: [$sel:violationTarget:AwsEc2NetworkInterfaceViolation'] :: AwsEc2NetworkInterfaceViolation -> Maybe Text
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: awsEc2NetworkInterfaceViolation_violatingSecurityGroups :: Lens' AwsEc2NetworkInterfaceViolation (Maybe [Text])
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: awsEc2NetworkInterfaceViolation_violationTarget :: Lens' AwsEc2NetworkInterfaceViolation (Maybe Text)
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: data AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation.AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation.AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation.AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation.AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation.AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: instance GHC.Read.Read Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation.AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: instance GHC.Show.Show Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation.AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation: newAwsEc2NetworkInterfaceViolation :: AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: AwsVPCSecurityGroupViolation' :: Maybe [PartialMatch] -> Maybe [SecurityGroupRemediationAction] -> Maybe Text -> Maybe Text -> AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: [$sel:partialMatches:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe [PartialMatch]
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: [$sel:possibleSecurityGroupRemediationActions:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe [SecurityGroupRemediationAction]
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: [$sel:violationTarget:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe Text
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: [$sel:violationTargetDescription:AwsVPCSecurityGroupViolation'] :: AwsVPCSecurityGroupViolation -> Maybe Text
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: awsVPCSecurityGroupViolation_partialMatches :: Lens' AwsVPCSecurityGroupViolation (Maybe [PartialMatch])
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions :: Lens' AwsVPCSecurityGroupViolation (Maybe [SecurityGroupRemediationAction])
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: awsVPCSecurityGroupViolation_violationTarget :: Lens' AwsVPCSecurityGroupViolation (Maybe Text)
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: awsVPCSecurityGroupViolation_violationTargetDescription :: Lens' AwsVPCSecurityGroupViolation (Maybe Text)
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: data AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.AwsVPCSecurityGroupViolation.AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.AwsVPCSecurityGroupViolation.AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.AwsVPCSecurityGroupViolation.AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.AwsVPCSecurityGroupViolation.AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.AwsVPCSecurityGroupViolation.AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: instance GHC.Read.Read Amazonka.FMS.Types.AwsVPCSecurityGroupViolation.AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: instance GHC.Show.Show Amazonka.FMS.Types.AwsVPCSecurityGroupViolation.AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.AwsVPCSecurityGroupViolation: newAwsVPCSecurityGroupViolation :: AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.ComplianceViolator: ComplianceViolator' :: Maybe (HashMap Text Text) -> Maybe Text -> Maybe Text -> Maybe ViolationReason -> ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: [$sel:metadata:ComplianceViolator'] :: ComplianceViolator -> Maybe (HashMap Text Text)
+ Amazonka.FMS.Types.ComplianceViolator: [$sel:resourceId:ComplianceViolator'] :: ComplianceViolator -> Maybe Text
+ Amazonka.FMS.Types.ComplianceViolator: [$sel:resourceType:ComplianceViolator'] :: ComplianceViolator -> Maybe Text
+ Amazonka.FMS.Types.ComplianceViolator: [$sel:violationReason:ComplianceViolator'] :: ComplianceViolator -> Maybe ViolationReason
+ Amazonka.FMS.Types.ComplianceViolator: complianceViolator_metadata :: Lens' ComplianceViolator (Maybe (HashMap Text Text))
+ Amazonka.FMS.Types.ComplianceViolator: complianceViolator_resourceId :: Lens' ComplianceViolator (Maybe Text)
+ Amazonka.FMS.Types.ComplianceViolator: complianceViolator_resourceType :: Lens' ComplianceViolator (Maybe Text)
+ Amazonka.FMS.Types.ComplianceViolator: complianceViolator_violationReason :: Lens' ComplianceViolator (Maybe ViolationReason)
+ Amazonka.FMS.Types.ComplianceViolator: data ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ComplianceViolator.ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ComplianceViolator.ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ComplianceViolator.ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: instance GHC.Classes.Eq Amazonka.FMS.Types.ComplianceViolator.ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: instance GHC.Generics.Generic Amazonka.FMS.Types.ComplianceViolator.ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: instance GHC.Read.Read Amazonka.FMS.Types.ComplianceViolator.ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: instance GHC.Show.Show Amazonka.FMS.Types.ComplianceViolator.ComplianceViolator
+ Amazonka.FMS.Types.ComplianceViolator: newComplianceViolator :: ComplianceViolator
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: CustomerPolicyScopeIdType' :: Text -> CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: [fromCustomerPolicyScopeIdType] :: CustomerPolicyScopeIdType -> Text
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Control.DeepSeq.NFData Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance GHC.Classes.Eq Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance GHC.Classes.Ord Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance GHC.Generics.Generic Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance GHC.Read.Read Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: instance GHC.Show.Show Amazonka.FMS.Types.CustomerPolicyScopeIdType.CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: newtype CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: pattern CustomerPolicyScopeIdType_ACCOUNT :: CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.CustomerPolicyScopeIdType: pattern CustomerPolicyScopeIdType_ORG_UNIT :: CustomerPolicyScopeIdType
+ Amazonka.FMS.Types.DependentServiceName: DependentServiceName' :: Text -> DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: [fromDependentServiceName] :: DependentServiceName -> Text
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Control.DeepSeq.NFData Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance GHC.Classes.Eq Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance GHC.Classes.Ord Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance GHC.Generics.Generic Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance GHC.Read.Read Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: instance GHC.Show.Show Amazonka.FMS.Types.DependentServiceName.DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: newtype DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: pattern DependentServiceName_AWSCONFIG :: DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: pattern DependentServiceName_AWSSHIELD_ADVANCED :: DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: pattern DependentServiceName_AWSVPC :: DependentServiceName
+ Amazonka.FMS.Types.DependentServiceName: pattern DependentServiceName_AWSWAF :: DependentServiceName
+ Amazonka.FMS.Types.DestinationType: DestinationType' :: Text -> DestinationType
+ Amazonka.FMS.Types.DestinationType: [fromDestinationType] :: DestinationType -> Text
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Control.DeepSeq.NFData Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance GHC.Classes.Eq Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance GHC.Classes.Ord Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance GHC.Generics.Generic Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance GHC.Read.Read Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: instance GHC.Show.Show Amazonka.FMS.Types.DestinationType.DestinationType
+ Amazonka.FMS.Types.DestinationType: newtype DestinationType
+ Amazonka.FMS.Types.DestinationType: pattern DestinationType_IPV4 :: DestinationType
+ Amazonka.FMS.Types.DestinationType: pattern DestinationType_IPV6 :: DestinationType
+ Amazonka.FMS.Types.DestinationType: pattern DestinationType_PREFIX_LIST :: DestinationType
+ Amazonka.FMS.Types.DiscoveredResource: DiscoveredResource' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: [$sel:accountId:DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types.DiscoveredResource: [$sel:name:DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types.DiscoveredResource: [$sel:type':DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types.DiscoveredResource: [$sel:uri:DiscoveredResource'] :: DiscoveredResource -> Maybe Text
+ Amazonka.FMS.Types.DiscoveredResource: data DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: discoveredResource_accountId :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types.DiscoveredResource: discoveredResource_name :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types.DiscoveredResource: discoveredResource_type :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types.DiscoveredResource: discoveredResource_uri :: Lens' DiscoveredResource (Maybe Text)
+ Amazonka.FMS.Types.DiscoveredResource: instance Control.DeepSeq.NFData Amazonka.FMS.Types.DiscoveredResource.DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.DiscoveredResource.DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.DiscoveredResource.DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: instance GHC.Classes.Eq Amazonka.FMS.Types.DiscoveredResource.DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: instance GHC.Generics.Generic Amazonka.FMS.Types.DiscoveredResource.DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: instance GHC.Read.Read Amazonka.FMS.Types.DiscoveredResource.DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: instance GHC.Show.Show Amazonka.FMS.Types.DiscoveredResource.DiscoveredResource
+ Amazonka.FMS.Types.DiscoveredResource: newDiscoveredResource :: DiscoveredResource
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: DnsDuplicateRuleGroupViolation' :: Maybe Text -> Maybe Text -> DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: [$sel:violationTarget:DnsDuplicateRuleGroupViolation'] :: DnsDuplicateRuleGroupViolation -> Maybe Text
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: [$sel:violationTargetDescription:DnsDuplicateRuleGroupViolation'] :: DnsDuplicateRuleGroupViolation -> Maybe Text
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: data DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: dnsDuplicateRuleGroupViolation_violationTarget :: Lens' DnsDuplicateRuleGroupViolation (Maybe Text)
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: dnsDuplicateRuleGroupViolation_violationTargetDescription :: Lens' DnsDuplicateRuleGroupViolation (Maybe Text)
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation.DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation.DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation.DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation.DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation.DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: instance GHC.Read.Read Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation.DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: instance GHC.Show.Show Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation.DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation: newDnsDuplicateRuleGroupViolation :: DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: DnsRuleGroupLimitExceededViolation' :: Maybe Int -> Maybe Text -> Maybe Text -> DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: [$sel:numberOfRuleGroupsAlreadyAssociated:DnsRuleGroupLimitExceededViolation'] :: DnsRuleGroupLimitExceededViolation -> Maybe Int
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: [$sel:violationTarget:DnsRuleGroupLimitExceededViolation'] :: DnsRuleGroupLimitExceededViolation -> Maybe Text
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: [$sel:violationTargetDescription:DnsRuleGroupLimitExceededViolation'] :: DnsRuleGroupLimitExceededViolation -> Maybe Text
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: data DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Int)
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: dnsRuleGroupLimitExceededViolation_violationTarget :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Text)
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: dnsRuleGroupLimitExceededViolation_violationTargetDescription :: Lens' DnsRuleGroupLimitExceededViolation (Maybe Text)
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation.DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation.DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation.DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation.DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation.DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: instance GHC.Read.Read Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation.DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: instance GHC.Show.Show Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation.DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation: newDnsRuleGroupLimitExceededViolation :: DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: DnsRuleGroupPriorityConflictViolation' :: Maybe Text -> Maybe Natural -> Maybe [Natural] -> Maybe Text -> Maybe Text -> DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: [$sel:conflictingPolicyId:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Text
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: [$sel:conflictingPriority:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Natural
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: [$sel:unavailablePriorities:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe [Natural]
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: [$sel:violationTarget:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Text
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: [$sel:violationTargetDescription:DnsRuleGroupPriorityConflictViolation'] :: DnsRuleGroupPriorityConflictViolation -> Maybe Text
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: data DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: dnsRuleGroupPriorityConflictViolation_conflictingPolicyId :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: dnsRuleGroupPriorityConflictViolation_conflictingPriority :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Natural)
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: dnsRuleGroupPriorityConflictViolation_unavailablePriorities :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe [Natural])
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: dnsRuleGroupPriorityConflictViolation_violationTarget :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: dnsRuleGroupPriorityConflictViolation_violationTargetDescription :: Lens' DnsRuleGroupPriorityConflictViolation (Maybe Text)
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation.DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation.DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation.DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation.DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation.DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: instance GHC.Read.Read Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation.DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: instance GHC.Show.Show Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation.DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation: newDnsRuleGroupPriorityConflictViolation :: DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: EC2AssociateRouteTableAction' :: Maybe Text -> Maybe ActionTarget -> Maybe ActionTarget -> ActionTarget -> EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: [$sel:description:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> Maybe Text
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: [$sel:gatewayId:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> Maybe ActionTarget
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: [$sel:routeTableId:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: [$sel:subnetId:EC2AssociateRouteTableAction'] :: EC2AssociateRouteTableAction -> Maybe ActionTarget
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: data EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: eC2AssociateRouteTableAction_description :: Lens' EC2AssociateRouteTableAction (Maybe Text)
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: eC2AssociateRouteTableAction_gatewayId :: Lens' EC2AssociateRouteTableAction (Maybe ActionTarget)
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: eC2AssociateRouteTableAction_routeTableId :: Lens' EC2AssociateRouteTableAction ActionTarget
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: eC2AssociateRouteTableAction_subnetId :: Lens' EC2AssociateRouteTableAction (Maybe ActionTarget)
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EC2AssociateRouteTableAction.EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EC2AssociateRouteTableAction.EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EC2AssociateRouteTableAction.EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: instance GHC.Classes.Eq Amazonka.FMS.Types.EC2AssociateRouteTableAction.EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: instance GHC.Generics.Generic Amazonka.FMS.Types.EC2AssociateRouteTableAction.EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: instance GHC.Read.Read Amazonka.FMS.Types.EC2AssociateRouteTableAction.EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: instance GHC.Show.Show Amazonka.FMS.Types.EC2AssociateRouteTableAction.EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2AssociateRouteTableAction: newEC2AssociateRouteTableAction :: ActionTarget -> EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: EC2CopyRouteTableAction' :: Maybe Text -> ActionTarget -> ActionTarget -> EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: [$sel:description:EC2CopyRouteTableAction'] :: EC2CopyRouteTableAction -> Maybe Text
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: [$sel:routeTableId:EC2CopyRouteTableAction'] :: EC2CopyRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: [$sel:vpcId:EC2CopyRouteTableAction'] :: EC2CopyRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: data EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: eC2CopyRouteTableAction_description :: Lens' EC2CopyRouteTableAction (Maybe Text)
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: eC2CopyRouteTableAction_routeTableId :: Lens' EC2CopyRouteTableAction ActionTarget
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: eC2CopyRouteTableAction_vpcId :: Lens' EC2CopyRouteTableAction ActionTarget
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EC2CopyRouteTableAction.EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EC2CopyRouteTableAction.EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EC2CopyRouteTableAction.EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: instance GHC.Classes.Eq Amazonka.FMS.Types.EC2CopyRouteTableAction.EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: instance GHC.Generics.Generic Amazonka.FMS.Types.EC2CopyRouteTableAction.EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: instance GHC.Read.Read Amazonka.FMS.Types.EC2CopyRouteTableAction.EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: instance GHC.Show.Show Amazonka.FMS.Types.EC2CopyRouteTableAction.EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CopyRouteTableAction: newEC2CopyRouteTableAction :: ActionTarget -> ActionTarget -> EC2CopyRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: EC2CreateRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ActionTarget -> Maybe ActionTarget -> ActionTarget -> EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: [$sel:description:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2CreateRouteAction: [$sel:destinationCidrBlock:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2CreateRouteAction: [$sel:destinationIpv6CidrBlock:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2CreateRouteAction: [$sel:destinationPrefixListId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2CreateRouteAction: [$sel:gatewayId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe ActionTarget
+ Amazonka.FMS.Types.EC2CreateRouteAction: [$sel:routeTableId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> ActionTarget
+ Amazonka.FMS.Types.EC2CreateRouteAction: [$sel:vpcEndpointId:EC2CreateRouteAction'] :: EC2CreateRouteAction -> Maybe ActionTarget
+ Amazonka.FMS.Types.EC2CreateRouteAction: data EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: eC2CreateRouteAction_description :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2CreateRouteAction: eC2CreateRouteAction_destinationCidrBlock :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2CreateRouteAction: eC2CreateRouteAction_destinationIpv6CidrBlock :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2CreateRouteAction: eC2CreateRouteAction_destinationPrefixListId :: Lens' EC2CreateRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2CreateRouteAction: eC2CreateRouteAction_gatewayId :: Lens' EC2CreateRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Types.EC2CreateRouteAction: eC2CreateRouteAction_routeTableId :: Lens' EC2CreateRouteAction ActionTarget
+ Amazonka.FMS.Types.EC2CreateRouteAction: eC2CreateRouteAction_vpcEndpointId :: Lens' EC2CreateRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Types.EC2CreateRouteAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EC2CreateRouteAction.EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EC2CreateRouteAction.EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EC2CreateRouteAction.EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: instance GHC.Classes.Eq Amazonka.FMS.Types.EC2CreateRouteAction.EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: instance GHC.Generics.Generic Amazonka.FMS.Types.EC2CreateRouteAction.EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: instance GHC.Read.Read Amazonka.FMS.Types.EC2CreateRouteAction.EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: instance GHC.Show.Show Amazonka.FMS.Types.EC2CreateRouteAction.EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteAction: newEC2CreateRouteAction :: ActionTarget -> EC2CreateRouteAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: EC2CreateRouteTableAction' :: Maybe Text -> ActionTarget -> EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: [$sel:description:EC2CreateRouteTableAction'] :: EC2CreateRouteTableAction -> Maybe Text
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: [$sel:vpcId:EC2CreateRouteTableAction'] :: EC2CreateRouteTableAction -> ActionTarget
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: data EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: eC2CreateRouteTableAction_description :: Lens' EC2CreateRouteTableAction (Maybe Text)
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: eC2CreateRouteTableAction_vpcId :: Lens' EC2CreateRouteTableAction ActionTarget
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EC2CreateRouteTableAction.EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EC2CreateRouteTableAction.EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EC2CreateRouteTableAction.EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: instance GHC.Classes.Eq Amazonka.FMS.Types.EC2CreateRouteTableAction.EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: instance GHC.Generics.Generic Amazonka.FMS.Types.EC2CreateRouteTableAction.EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: instance GHC.Read.Read Amazonka.FMS.Types.EC2CreateRouteTableAction.EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: instance GHC.Show.Show Amazonka.FMS.Types.EC2CreateRouteTableAction.EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2CreateRouteTableAction: newEC2CreateRouteTableAction :: ActionTarget -> EC2CreateRouteTableAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: EC2DeleteRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ActionTarget -> EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: [$sel:description:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2DeleteRouteAction: [$sel:destinationCidrBlock:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2DeleteRouteAction: [$sel:destinationIpv6CidrBlock:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2DeleteRouteAction: [$sel:destinationPrefixListId:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2DeleteRouteAction: [$sel:routeTableId:EC2DeleteRouteAction'] :: EC2DeleteRouteAction -> ActionTarget
+ Amazonka.FMS.Types.EC2DeleteRouteAction: data EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: eC2DeleteRouteAction_description :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2DeleteRouteAction: eC2DeleteRouteAction_destinationCidrBlock :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2DeleteRouteAction: eC2DeleteRouteAction_destinationIpv6CidrBlock :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2DeleteRouteAction: eC2DeleteRouteAction_destinationPrefixListId :: Lens' EC2DeleteRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2DeleteRouteAction: eC2DeleteRouteAction_routeTableId :: Lens' EC2DeleteRouteAction ActionTarget
+ Amazonka.FMS.Types.EC2DeleteRouteAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EC2DeleteRouteAction.EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EC2DeleteRouteAction.EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EC2DeleteRouteAction.EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: instance GHC.Classes.Eq Amazonka.FMS.Types.EC2DeleteRouteAction.EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: instance GHC.Generics.Generic Amazonka.FMS.Types.EC2DeleteRouteAction.EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: instance GHC.Read.Read Amazonka.FMS.Types.EC2DeleteRouteAction.EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: instance GHC.Show.Show Amazonka.FMS.Types.EC2DeleteRouteAction.EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2DeleteRouteAction: newEC2DeleteRouteAction :: ActionTarget -> EC2DeleteRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: EC2ReplaceRouteAction' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ActionTarget -> ActionTarget -> EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: [$sel:description:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: [$sel:destinationCidrBlock:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: [$sel:destinationIpv6CidrBlock:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: [$sel:destinationPrefixListId:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe Text
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: [$sel:gatewayId:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> Maybe ActionTarget
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: [$sel:routeTableId:EC2ReplaceRouteAction'] :: EC2ReplaceRouteAction -> ActionTarget
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: data EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: eC2ReplaceRouteAction_description :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: eC2ReplaceRouteAction_destinationCidrBlock :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: eC2ReplaceRouteAction_destinationIpv6CidrBlock :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: eC2ReplaceRouteAction_destinationPrefixListId :: Lens' EC2ReplaceRouteAction (Maybe Text)
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: eC2ReplaceRouteAction_gatewayId :: Lens' EC2ReplaceRouteAction (Maybe ActionTarget)
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: eC2ReplaceRouteAction_routeTableId :: Lens' EC2ReplaceRouteAction ActionTarget
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EC2ReplaceRouteAction.EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EC2ReplaceRouteAction.EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EC2ReplaceRouteAction.EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: instance GHC.Classes.Eq Amazonka.FMS.Types.EC2ReplaceRouteAction.EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: instance GHC.Generics.Generic Amazonka.FMS.Types.EC2ReplaceRouteAction.EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: instance GHC.Read.Read Amazonka.FMS.Types.EC2ReplaceRouteAction.EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: instance GHC.Show.Show Amazonka.FMS.Types.EC2ReplaceRouteAction.EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteAction: newEC2ReplaceRouteAction :: ActionTarget -> EC2ReplaceRouteAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: EC2ReplaceRouteTableAssociationAction' :: Maybe Text -> ActionTarget -> ActionTarget -> EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: [$sel:associationId:EC2ReplaceRouteTableAssociationAction'] :: EC2ReplaceRouteTableAssociationAction -> ActionTarget
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: [$sel:description:EC2ReplaceRouteTableAssociationAction'] :: EC2ReplaceRouteTableAssociationAction -> Maybe Text
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: [$sel:routeTableId:EC2ReplaceRouteTableAssociationAction'] :: EC2ReplaceRouteTableAssociationAction -> ActionTarget
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: data EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: eC2ReplaceRouteTableAssociationAction_associationId :: Lens' EC2ReplaceRouteTableAssociationAction ActionTarget
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: eC2ReplaceRouteTableAssociationAction_description :: Lens' EC2ReplaceRouteTableAssociationAction (Maybe Text)
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: eC2ReplaceRouteTableAssociationAction_routeTableId :: Lens' EC2ReplaceRouteTableAssociationAction ActionTarget
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction.EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction.EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction.EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: instance GHC.Classes.Eq Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction.EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: instance GHC.Generics.Generic Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction.EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: instance GHC.Read.Read Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction.EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: instance GHC.Show.Show Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction.EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction: newEC2ReplaceRouteTableAssociationAction :: ActionTarget -> ActionTarget -> EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.EvaluationResult: EvaluationResult' :: Maybe PolicyComplianceStatusType -> Maybe Bool -> Maybe Natural -> EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: [$sel:complianceStatus:EvaluationResult'] :: EvaluationResult -> Maybe PolicyComplianceStatusType
+ Amazonka.FMS.Types.EvaluationResult: [$sel:evaluationLimitExceeded:EvaluationResult'] :: EvaluationResult -> Maybe Bool
+ Amazonka.FMS.Types.EvaluationResult: [$sel:violatorCount:EvaluationResult'] :: EvaluationResult -> Maybe Natural
+ Amazonka.FMS.Types.EvaluationResult: data EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: evaluationResult_complianceStatus :: Lens' EvaluationResult (Maybe PolicyComplianceStatusType)
+ Amazonka.FMS.Types.EvaluationResult: evaluationResult_evaluationLimitExceeded :: Lens' EvaluationResult (Maybe Bool)
+ Amazonka.FMS.Types.EvaluationResult: evaluationResult_violatorCount :: Lens' EvaluationResult (Maybe Natural)
+ Amazonka.FMS.Types.EvaluationResult: instance Control.DeepSeq.NFData Amazonka.FMS.Types.EvaluationResult.EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.EvaluationResult.EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.EvaluationResult.EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: instance GHC.Classes.Eq Amazonka.FMS.Types.EvaluationResult.EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: instance GHC.Generics.Generic Amazonka.FMS.Types.EvaluationResult.EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: instance GHC.Read.Read Amazonka.FMS.Types.EvaluationResult.EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: instance GHC.Show.Show Amazonka.FMS.Types.EvaluationResult.EvaluationResult
+ Amazonka.FMS.Types.EvaluationResult: newEvaluationResult :: EvaluationResult
+ Amazonka.FMS.Types.ExpectedRoute: ExpectedRoute' :: Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: [$sel:allowedTargets:ExpectedRoute'] :: ExpectedRoute -> Maybe [Text]
+ Amazonka.FMS.Types.ExpectedRoute: [$sel:contributingSubnets:ExpectedRoute'] :: ExpectedRoute -> Maybe [Text]
+ Amazonka.FMS.Types.ExpectedRoute: [$sel:ipV4Cidr:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types.ExpectedRoute: [$sel:ipV6Cidr:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types.ExpectedRoute: [$sel:prefixListId:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types.ExpectedRoute: [$sel:routeTableId:ExpectedRoute'] :: ExpectedRoute -> Maybe Text
+ Amazonka.FMS.Types.ExpectedRoute: data ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: expectedRoute_allowedTargets :: Lens' ExpectedRoute (Maybe [Text])
+ Amazonka.FMS.Types.ExpectedRoute: expectedRoute_contributingSubnets :: Lens' ExpectedRoute (Maybe [Text])
+ Amazonka.FMS.Types.ExpectedRoute: expectedRoute_ipV4Cidr :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types.ExpectedRoute: expectedRoute_ipV6Cidr :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types.ExpectedRoute: expectedRoute_prefixListId :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types.ExpectedRoute: expectedRoute_routeTableId :: Lens' ExpectedRoute (Maybe Text)
+ Amazonka.FMS.Types.ExpectedRoute: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ExpectedRoute.ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ExpectedRoute.ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ExpectedRoute.ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: instance GHC.Classes.Eq Amazonka.FMS.Types.ExpectedRoute.ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: instance GHC.Generics.Generic Amazonka.FMS.Types.ExpectedRoute.ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: instance GHC.Read.Read Amazonka.FMS.Types.ExpectedRoute.ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: instance GHC.Show.Show Amazonka.FMS.Types.ExpectedRoute.ExpectedRoute
+ Amazonka.FMS.Types.ExpectedRoute: newExpectedRoute :: ExpectedRoute
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: FMSPolicyUpdateFirewallCreationConfigAction' :: Maybe Text -> Maybe Text -> FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: [$sel:description:FMSPolicyUpdateFirewallCreationConfigAction'] :: FMSPolicyUpdateFirewallCreationConfigAction -> Maybe Text
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: [$sel:firewallCreationConfig:FMSPolicyUpdateFirewallCreationConfigAction'] :: FMSPolicyUpdateFirewallCreationConfigAction -> Maybe Text
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: data FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: fMSPolicyUpdateFirewallCreationConfigAction_description :: Lens' FMSPolicyUpdateFirewallCreationConfigAction (Maybe Text)
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig :: Lens' FMSPolicyUpdateFirewallCreationConfigAction (Maybe Text)
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction.FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction.FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction.FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: instance GHC.Classes.Eq Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction.FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: instance GHC.Generics.Generic Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction.FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: instance GHC.Read.Read Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction.FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: instance GHC.Show.Show Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction.FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction: newFMSPolicyUpdateFirewallCreationConfigAction :: FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.FailedItem: FailedItem' :: Maybe FailedItemReason -> Maybe Text -> FailedItem
+ Amazonka.FMS.Types.FailedItem: [$sel:reason:FailedItem'] :: FailedItem -> Maybe FailedItemReason
+ Amazonka.FMS.Types.FailedItem: [$sel:uri:FailedItem'] :: FailedItem -> Maybe Text
+ Amazonka.FMS.Types.FailedItem: data FailedItem
+ Amazonka.FMS.Types.FailedItem: failedItem_reason :: Lens' FailedItem (Maybe FailedItemReason)
+ Amazonka.FMS.Types.FailedItem: failedItem_uri :: Lens' FailedItem (Maybe Text)
+ Amazonka.FMS.Types.FailedItem: instance Control.DeepSeq.NFData Amazonka.FMS.Types.FailedItem.FailedItem
+ Amazonka.FMS.Types.FailedItem: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.FailedItem.FailedItem
+ Amazonka.FMS.Types.FailedItem: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.FailedItem.FailedItem
+ Amazonka.FMS.Types.FailedItem: instance GHC.Classes.Eq Amazonka.FMS.Types.FailedItem.FailedItem
+ Amazonka.FMS.Types.FailedItem: instance GHC.Generics.Generic Amazonka.FMS.Types.FailedItem.FailedItem
+ Amazonka.FMS.Types.FailedItem: instance GHC.Read.Read Amazonka.FMS.Types.FailedItem.FailedItem
+ Amazonka.FMS.Types.FailedItem: instance GHC.Show.Show Amazonka.FMS.Types.FailedItem.FailedItem
+ Amazonka.FMS.Types.FailedItem: newFailedItem :: FailedItem
+ Amazonka.FMS.Types.FailedItemReason: FailedItemReason' :: Text -> FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: [fromFailedItemReason] :: FailedItemReason -> Text
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Control.DeepSeq.NFData Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance GHC.Classes.Eq Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance GHC.Classes.Ord Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance GHC.Generics.Generic Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance GHC.Read.Read Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: instance GHC.Show.Show Amazonka.FMS.Types.FailedItemReason.FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: newtype FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: pattern FailedItemReason_NOT_VALID_ACCOUNT_ID :: FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: pattern FailedItemReason_NOT_VALID_ARN :: FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: pattern FailedItemReason_NOT_VALID_PARTITION :: FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: pattern FailedItemReason_NOT_VALID_REGION :: FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: pattern FailedItemReason_NOT_VALID_RESOURCE_TYPE :: FailedItemReason
+ Amazonka.FMS.Types.FailedItemReason: pattern FailedItemReason_NOT_VALID_SERVICE :: FailedItemReason
+ Amazonka.FMS.Types.FirewallDeploymentModel: FirewallDeploymentModel' :: Text -> FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: [fromFirewallDeploymentModel] :: FirewallDeploymentModel -> Text
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Control.DeepSeq.NFData Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance GHC.Classes.Eq Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance GHC.Classes.Ord Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance GHC.Generics.Generic Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance GHC.Read.Read Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: instance GHC.Show.Show Amazonka.FMS.Types.FirewallDeploymentModel.FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: newtype FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: pattern FirewallDeploymentModel_CENTRALIZED :: FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallDeploymentModel: pattern FirewallDeploymentModel_DISTRIBUTED :: FirewallDeploymentModel
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: FirewallSubnetIsOutOfScopeViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: [$sel:firewallSubnetId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: [$sel:subnetAvailabilityZone:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: [$sel:subnetAvailabilityZoneId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: [$sel:vpcEndpointId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: [$sel:vpcId:FirewallSubnetIsOutOfScopeViolation'] :: FirewallSubnetIsOutOfScopeViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: data FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: firewallSubnetIsOutOfScopeViolation_firewallSubnetId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: firewallSubnetIsOutOfScopeViolation_vpcEndpointId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: firewallSubnetIsOutOfScopeViolation_vpcId :: Lens' FirewallSubnetIsOutOfScopeViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation.FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation.FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation.FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation.FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation.FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: instance GHC.Read.Read Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation.FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: instance GHC.Show.Show Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation.FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation: newFirewallSubnetIsOutOfScopeViolation :: FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: FirewallSubnetMissingVPCEndpointViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: [$sel:firewallSubnetId:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: [$sel:subnetAvailabilityZone:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: [$sel:subnetAvailabilityZoneId:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: [$sel:vpcId:FirewallSubnetMissingVPCEndpointViolation'] :: FirewallSubnetMissingVPCEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: data FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: firewallSubnetMissingVPCEndpointViolation_firewallSubnetId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: firewallSubnetMissingVPCEndpointViolation_vpcId :: Lens' FirewallSubnetMissingVPCEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation.FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation.FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation.FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation.FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation.FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: instance GHC.Read.Read Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation.FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: instance GHC.Show.Show Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation.FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation: newFirewallSubnetMissingVPCEndpointViolation :: FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: MarketplaceSubscriptionOnboardingStatus' :: Text -> MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: [fromMarketplaceSubscriptionOnboardingStatus] :: MarketplaceSubscriptionOnboardingStatus -> Text
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Control.DeepSeq.NFData Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance GHC.Classes.Eq Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance GHC.Classes.Ord Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance GHC.Generics.Generic Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance GHC.Read.Read Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: instance GHC.Show.Show Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus.MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: newtype MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: pattern MarketplaceSubscriptionOnboardingStatus_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: pattern MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus: pattern MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION :: MarketplaceSubscriptionOnboardingStatus
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: NetworkFirewallBlackHoleRouteDetectedViolation' :: Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe Text -> NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: [$sel:routeTableId:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: [$sel:violatingRoutes:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: [$sel:violationTarget:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: [$sel:vpcId:NetworkFirewallBlackHoleRouteDetectedViolation'] :: NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: data NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation.NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation.NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation.NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation.NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation.NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation.NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation.NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: networkFirewallBlackHoleRouteDetectedViolation_routeTableId :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: networkFirewallBlackHoleRouteDetectedViolation_violationTarget :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: networkFirewallBlackHoleRouteDetectedViolation_vpcId :: Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation: newNetworkFirewallBlackHoleRouteDetectedViolation :: NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: NetworkFirewallInternetTrafficNotInspectedViolation' :: Maybe [Route] -> Maybe [Route] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExpectedRoute] -> Maybe [ExpectedRoute] -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:actualFirewallSubnetRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:actualInternetGatewayRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:currentFirewallSubnetRouteTable:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:currentInternetGatewayRouteTable:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:expectedFirewallEndpoint:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:expectedFirewallSubnetRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:expectedInternetGatewayRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:firewallSubnetId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:internetGatewayId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:isRouteTableUsedInDifferentAZ:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Bool
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:routeTableId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:subnetAvailabilityZone:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:subnetId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:violatingRoutes:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: [$sel:vpcId:NetworkFirewallInternetTrafficNotInspectedViolation'] :: NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: data NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation.NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation.NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation.NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation.NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation.NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation.NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation.NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Bool)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_routeTableId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_subnetId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: networkFirewallInternetTrafficNotInspectedViolation_vpcId :: Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation: newNetworkFirewallInternetTrafficNotInspectedViolation :: NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: NetworkFirewallInvalidRouteConfigurationViolation' :: Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe [Route] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExpectedRoute] -> Maybe [ExpectedRoute] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Route -> Maybe Text -> NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:actualFirewallEndpoint:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:actualFirewallSubnetId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:actualFirewallSubnetRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:actualInternetGatewayRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:affectedSubnets:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [Text]
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:currentFirewallSubnetRouteTable:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:currentInternetGatewayRouteTable:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:expectedFirewallEndpoint:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:expectedFirewallSubnetId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:expectedFirewallSubnetRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:expectedInternetGatewayRoutes:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:internetGatewayId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:isRouteTableUsedInDifferentAZ:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Bool
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:routeTableId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:violatingRoute:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Route
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: [$sel:vpcId:NetworkFirewallInvalidRouteConfigurationViolation'] :: NetworkFirewallInvalidRouteConfigurationViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: data NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation.NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation.NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation.NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation.NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation.NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation.NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation.NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_affectedSubnets :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [Text])
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_internetGatewayId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Bool)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_routeTableId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_violatingRoute :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Route)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: networkFirewallInvalidRouteConfigurationViolation_vpcId :: Lens' NetworkFirewallInvalidRouteConfigurationViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation: newNetworkFirewallInvalidRouteConfigurationViolation :: NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: NetworkFirewallMissingExpectedRTViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: [$sel:availabilityZone:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: [$sel:currentRouteTable:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: [$sel:expectedRouteTable:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: [$sel:violationTarget:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: [$sel:vpc:NetworkFirewallMissingExpectedRTViolation'] :: NetworkFirewallMissingExpectedRTViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: data NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation.NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation.NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation.NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation.NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation.NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation.NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation.NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: networkFirewallMissingExpectedRTViolation_availabilityZone :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: networkFirewallMissingExpectedRTViolation_currentRouteTable :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: networkFirewallMissingExpectedRTViolation_expectedRouteTable :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: networkFirewallMissingExpectedRTViolation_violationTarget :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: networkFirewallMissingExpectedRTViolation_vpc :: Lens' NetworkFirewallMissingExpectedRTViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation: newNetworkFirewallMissingExpectedRTViolation :: NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: NetworkFirewallMissingExpectedRoutesViolation' :: Maybe [ExpectedRoute] -> Maybe Text -> Maybe Text -> NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: [$sel:expectedRoutes:NetworkFirewallMissingExpectedRoutesViolation'] :: NetworkFirewallMissingExpectedRoutesViolation -> Maybe [ExpectedRoute]
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: [$sel:violationTarget:NetworkFirewallMissingExpectedRoutesViolation'] :: NetworkFirewallMissingExpectedRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: [$sel:vpcId:NetworkFirewallMissingExpectedRoutesViolation'] :: NetworkFirewallMissingExpectedRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: data NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation.NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation.NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation.NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation.NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation.NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation.NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation.NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: networkFirewallMissingExpectedRoutesViolation_expectedRoutes :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe [ExpectedRoute])
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: networkFirewallMissingExpectedRoutesViolation_violationTarget :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: networkFirewallMissingExpectedRoutesViolation_vpcId :: Lens' NetworkFirewallMissingExpectedRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation: newNetworkFirewallMissingExpectedRoutesViolation :: NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: NetworkFirewallMissingFirewallViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: [$sel:availabilityZone:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: [$sel:targetViolationReason:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: [$sel:violationTarget:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: [$sel:vpc:NetworkFirewallMissingFirewallViolation'] :: NetworkFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: data NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation.NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation.NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation.NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation.NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation.NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation.NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation.NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: networkFirewallMissingFirewallViolation_availabilityZone :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: networkFirewallMissingFirewallViolation_targetViolationReason :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: networkFirewallMissingFirewallViolation_violationTarget :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: networkFirewallMissingFirewallViolation_vpc :: Lens' NetworkFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation: newNetworkFirewallMissingFirewallViolation :: NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: NetworkFirewallMissingSubnetViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: [$sel:availabilityZone:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: [$sel:targetViolationReason:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: [$sel:violationTarget:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: [$sel:vpc:NetworkFirewallMissingSubnetViolation'] :: NetworkFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: data NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation.NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation.NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation.NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation.NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation.NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation.NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation.NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: networkFirewallMissingSubnetViolation_availabilityZone :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: networkFirewallMissingSubnetViolation_targetViolationReason :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: networkFirewallMissingSubnetViolation_violationTarget :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: networkFirewallMissingSubnetViolation_vpc :: Lens' NetworkFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation: newNetworkFirewallMissingSubnetViolation :: NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: NetworkFirewallOverrideAction' :: Text -> NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: [fromNetworkFirewallOverrideAction] :: NetworkFirewallOverrideAction -> Text
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance GHC.Classes.Ord Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallOverrideAction.NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: newtype NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallOverrideAction: pattern NetworkFirewallOverrideAction_DROP_TO_ALERT :: NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallPolicy: NetworkFirewallPolicy' :: Maybe FirewallDeploymentModel -> NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: [$sel:firewallDeploymentModel:NetworkFirewallPolicy'] :: NetworkFirewallPolicy -> Maybe FirewallDeploymentModel
+ Amazonka.FMS.Types.NetworkFirewallPolicy: data NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallPolicy.NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicy: networkFirewallPolicy_firewallDeploymentModel :: Lens' NetworkFirewallPolicy (Maybe FirewallDeploymentModel)
+ Amazonka.FMS.Types.NetworkFirewallPolicy: newNetworkFirewallPolicy :: NetworkFirewallPolicy
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: NetworkFirewallPolicyDescription' :: Maybe [Text] -> Maybe StatefulEngineOptions -> Maybe [StatefulRuleGroup] -> Maybe [Text] -> Maybe [Text] -> Maybe [Text] -> Maybe [StatelessRuleGroup] -> NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: [$sel:statefulDefaultActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: [$sel:statefulEngineOptions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe StatefulEngineOptions
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: [$sel:statefulRuleGroups:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [StatefulRuleGroup]
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: [$sel:statelessCustomActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: [$sel:statelessDefaultActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: [$sel:statelessFragmentDefaultActions:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [Text]
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: [$sel:statelessRuleGroups:NetworkFirewallPolicyDescription'] :: NetworkFirewallPolicyDescription -> Maybe [StatelessRuleGroup]
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: data NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallPolicyDescription.NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallPolicyDescription.NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallPolicyDescription.NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallPolicyDescription.NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallPolicyDescription.NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallPolicyDescription.NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallPolicyDescription.NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: networkFirewallPolicyDescription_statefulDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: networkFirewallPolicyDescription_statefulEngineOptions :: Lens' NetworkFirewallPolicyDescription (Maybe StatefulEngineOptions)
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: networkFirewallPolicyDescription_statefulRuleGroups :: Lens' NetworkFirewallPolicyDescription (Maybe [StatefulRuleGroup])
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: networkFirewallPolicyDescription_statelessCustomActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: networkFirewallPolicyDescription_statelessDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: networkFirewallPolicyDescription_statelessFragmentDefaultActions :: Lens' NetworkFirewallPolicyDescription (Maybe [Text])
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: networkFirewallPolicyDescription_statelessRuleGroups :: Lens' NetworkFirewallPolicyDescription (Maybe [StatelessRuleGroup])
+ Amazonka.FMS.Types.NetworkFirewallPolicyDescription: newNetworkFirewallPolicyDescription :: NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: NetworkFirewallPolicyModifiedViolation' :: Maybe NetworkFirewallPolicyDescription -> Maybe NetworkFirewallPolicyDescription -> Maybe Text -> NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: [$sel:currentPolicyDescription:NetworkFirewallPolicyModifiedViolation'] :: NetworkFirewallPolicyModifiedViolation -> Maybe NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: [$sel:expectedPolicyDescription:NetworkFirewallPolicyModifiedViolation'] :: NetworkFirewallPolicyModifiedViolation -> Maybe NetworkFirewallPolicyDescription
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: [$sel:violationTarget:NetworkFirewallPolicyModifiedViolation'] :: NetworkFirewallPolicyModifiedViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: data NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation.NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation.NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation.NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation.NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation.NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation.NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation.NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: networkFirewallPolicyModifiedViolation_currentPolicyDescription :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe NetworkFirewallPolicyDescription)
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: networkFirewallPolicyModifiedViolation_expectedPolicyDescription :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe NetworkFirewallPolicyDescription)
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: networkFirewallPolicyModifiedViolation_violationTarget :: Lens' NetworkFirewallPolicyModifiedViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation: newNetworkFirewallPolicyModifiedViolation :: NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: NetworkFirewallStatefulRuleGroupOverride' :: Maybe NetworkFirewallOverrideAction -> NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: [$sel:action:NetworkFirewallStatefulRuleGroupOverride'] :: NetworkFirewallStatefulRuleGroupOverride -> Maybe NetworkFirewallOverrideAction
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: data NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride.NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride.NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride.NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride.NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride.NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride.NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride.NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: networkFirewallStatefulRuleGroupOverride_action :: Lens' NetworkFirewallStatefulRuleGroupOverride (Maybe NetworkFirewallOverrideAction)
+ Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride: newNetworkFirewallStatefulRuleGroupOverride :: NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: NetworkFirewallUnexpectedFirewallRoutesViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: [$sel:firewallEndpoint:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: [$sel:firewallSubnetId:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: [$sel:routeTableId:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: [$sel:violatingRoutes:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: [$sel:vpcId:NetworkFirewallUnexpectedFirewallRoutesViolation'] :: NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: data NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation.NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation.NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation.NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation.NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation.NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation.NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation.NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: networkFirewallUnexpectedFirewallRoutesViolation_routeTableId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: networkFirewallUnexpectedFirewallRoutesViolation_vpcId :: Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation: newNetworkFirewallUnexpectedFirewallRoutesViolation :: NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: NetworkFirewallUnexpectedGatewayRoutesViolation' :: Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: [$sel:gatewayId:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: [$sel:routeTableId:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: [$sel:violatingRoutes:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe [Route]
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: [$sel:vpcId:NetworkFirewallUnexpectedGatewayRoutesViolation'] :: NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe Text
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: data NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation.NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation.NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation.NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation.NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation.NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: instance GHC.Read.Read Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation.NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: instance GHC.Show.Show Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation.NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: networkFirewallUnexpectedGatewayRoutesViolation_gatewayId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: networkFirewallUnexpectedGatewayRoutesViolation_routeTableId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe [Route])
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: networkFirewallUnexpectedGatewayRoutesViolation_vpcId :: Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Maybe Text)
+ Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation: newNetworkFirewallUnexpectedGatewayRoutesViolation :: NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.PartialMatch: PartialMatch' :: Maybe Text -> Maybe [Text] -> PartialMatch
+ Amazonka.FMS.Types.PartialMatch: [$sel:reference:PartialMatch'] :: PartialMatch -> Maybe Text
+ Amazonka.FMS.Types.PartialMatch: [$sel:targetViolationReasons:PartialMatch'] :: PartialMatch -> Maybe [Text]
+ Amazonka.FMS.Types.PartialMatch: data PartialMatch
+ Amazonka.FMS.Types.PartialMatch: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PartialMatch.PartialMatch
+ Amazonka.FMS.Types.PartialMatch: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PartialMatch.PartialMatch
+ Amazonka.FMS.Types.PartialMatch: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PartialMatch.PartialMatch
+ Amazonka.FMS.Types.PartialMatch: instance GHC.Classes.Eq Amazonka.FMS.Types.PartialMatch.PartialMatch
+ Amazonka.FMS.Types.PartialMatch: instance GHC.Generics.Generic Amazonka.FMS.Types.PartialMatch.PartialMatch
+ Amazonka.FMS.Types.PartialMatch: instance GHC.Read.Read Amazonka.FMS.Types.PartialMatch.PartialMatch
+ Amazonka.FMS.Types.PartialMatch: instance GHC.Show.Show Amazonka.FMS.Types.PartialMatch.PartialMatch
+ Amazonka.FMS.Types.PartialMatch: newPartialMatch :: PartialMatch
+ Amazonka.FMS.Types.PartialMatch: partialMatch_reference :: Lens' PartialMatch (Maybe Text)
+ Amazonka.FMS.Types.PartialMatch: partialMatch_targetViolationReasons :: Lens' PartialMatch (Maybe [Text])
+ Amazonka.FMS.Types.Policy: Policy' :: Maybe Bool -> Maybe (HashMap CustomerPolicyScopeIdType [Text]) -> Maybe (HashMap CustomerPolicyScopeIdType [Text]) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe [ResourceTag] -> Maybe [Text] -> Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
+ Amazonka.FMS.Types.Policy: [$sel:deleteUnusedFMManagedResources:Policy'] :: Policy -> Maybe Bool
+ Amazonka.FMS.Types.Policy: [$sel:excludeMap:Policy'] :: Policy -> Maybe (HashMap CustomerPolicyScopeIdType [Text])
+ Amazonka.FMS.Types.Policy: [$sel:excludeResourceTags:Policy'] :: Policy -> Bool
+ Amazonka.FMS.Types.Policy: [$sel:includeMap:Policy'] :: Policy -> Maybe (HashMap CustomerPolicyScopeIdType [Text])
+ Amazonka.FMS.Types.Policy: [$sel:policyDescription:Policy'] :: Policy -> Maybe Text
+ Amazonka.FMS.Types.Policy: [$sel:policyId:Policy'] :: Policy -> Maybe Text
+ Amazonka.FMS.Types.Policy: [$sel:policyName:Policy'] :: Policy -> Text
+ Amazonka.FMS.Types.Policy: [$sel:policyUpdateToken:Policy'] :: Policy -> Maybe Text
+ Amazonka.FMS.Types.Policy: [$sel:remediationEnabled:Policy'] :: Policy -> Bool
+ Amazonka.FMS.Types.Policy: [$sel:resourceSetIds:Policy'] :: Policy -> Maybe [Text]
+ Amazonka.FMS.Types.Policy: [$sel:resourceTags:Policy'] :: Policy -> Maybe [ResourceTag]
+ Amazonka.FMS.Types.Policy: [$sel:resourceType:Policy'] :: Policy -> Text
+ Amazonka.FMS.Types.Policy: [$sel:resourceTypeList:Policy'] :: Policy -> Maybe [Text]
+ Amazonka.FMS.Types.Policy: [$sel:securityServicePolicyData:Policy'] :: Policy -> SecurityServicePolicyData
+ Amazonka.FMS.Types.Policy: data Policy
+ Amazonka.FMS.Types.Policy: instance Control.DeepSeq.NFData Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: instance GHC.Classes.Eq Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: instance GHC.Generics.Generic Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: instance GHC.Read.Read Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: instance GHC.Show.Show Amazonka.FMS.Types.Policy.Policy
+ Amazonka.FMS.Types.Policy: newPolicy :: Text -> SecurityServicePolicyData -> Text -> Bool -> Bool -> Policy
+ Amazonka.FMS.Types.Policy: policy_deleteUnusedFMManagedResources :: Lens' Policy (Maybe Bool)
+ Amazonka.FMS.Types.Policy: policy_excludeMap :: Lens' Policy (Maybe (HashMap CustomerPolicyScopeIdType [Text]))
+ Amazonka.FMS.Types.Policy: policy_excludeResourceTags :: Lens' Policy Bool
+ Amazonka.FMS.Types.Policy: policy_includeMap :: Lens' Policy (Maybe (HashMap CustomerPolicyScopeIdType [Text]))
+ Amazonka.FMS.Types.Policy: policy_policyDescription :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Types.Policy: policy_policyId :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Types.Policy: policy_policyName :: Lens' Policy Text
+ Amazonka.FMS.Types.Policy: policy_policyUpdateToken :: Lens' Policy (Maybe Text)
+ Amazonka.FMS.Types.Policy: policy_remediationEnabled :: Lens' Policy Bool
+ Amazonka.FMS.Types.Policy: policy_resourceSetIds :: Lens' Policy (Maybe [Text])
+ Amazonka.FMS.Types.Policy: policy_resourceTags :: Lens' Policy (Maybe [ResourceTag])
+ Amazonka.FMS.Types.Policy: policy_resourceType :: Lens' Policy Text
+ Amazonka.FMS.Types.Policy: policy_resourceTypeList :: Lens' Policy (Maybe [Text])
+ Amazonka.FMS.Types.Policy: policy_securityServicePolicyData :: Lens' Policy SecurityServicePolicyData
+ Amazonka.FMS.Types.PolicyComplianceDetail: PolicyComplianceDetail' :: Maybe Bool -> Maybe POSIX -> Maybe (HashMap DependentServiceName Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ComplianceViolator] -> PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: [$sel:evaluationLimitExceeded:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Bool
+ Amazonka.FMS.Types.PolicyComplianceDetail: [$sel:expiredAt:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe POSIX
+ Amazonka.FMS.Types.PolicyComplianceDetail: [$sel:issueInfoMap:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe (HashMap DependentServiceName Text)
+ Amazonka.FMS.Types.PolicyComplianceDetail: [$sel:memberAccount:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Text
+ Amazonka.FMS.Types.PolicyComplianceDetail: [$sel:policyId:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Text
+ Amazonka.FMS.Types.PolicyComplianceDetail: [$sel:policyOwner:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe Text
+ Amazonka.FMS.Types.PolicyComplianceDetail: [$sel:violators:PolicyComplianceDetail'] :: PolicyComplianceDetail -> Maybe [ComplianceViolator]
+ Amazonka.FMS.Types.PolicyComplianceDetail: data PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PolicyComplianceDetail.PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PolicyComplianceDetail.PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PolicyComplianceDetail.PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: instance GHC.Classes.Eq Amazonka.FMS.Types.PolicyComplianceDetail.PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: instance GHC.Generics.Generic Amazonka.FMS.Types.PolicyComplianceDetail.PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: instance GHC.Read.Read Amazonka.FMS.Types.PolicyComplianceDetail.PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: instance GHC.Show.Show Amazonka.FMS.Types.PolicyComplianceDetail.PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: newPolicyComplianceDetail :: PolicyComplianceDetail
+ Amazonka.FMS.Types.PolicyComplianceDetail: policyComplianceDetail_evaluationLimitExceeded :: Lens' PolicyComplianceDetail (Maybe Bool)
+ Amazonka.FMS.Types.PolicyComplianceDetail: policyComplianceDetail_expiredAt :: Lens' PolicyComplianceDetail (Maybe UTCTime)
+ Amazonka.FMS.Types.PolicyComplianceDetail: policyComplianceDetail_issueInfoMap :: Lens' PolicyComplianceDetail (Maybe (HashMap DependentServiceName Text))
+ Amazonka.FMS.Types.PolicyComplianceDetail: policyComplianceDetail_memberAccount :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Types.PolicyComplianceDetail: policyComplianceDetail_policyId :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Types.PolicyComplianceDetail: policyComplianceDetail_policyOwner :: Lens' PolicyComplianceDetail (Maybe Text)
+ Amazonka.FMS.Types.PolicyComplianceDetail: policyComplianceDetail_violators :: Lens' PolicyComplianceDetail (Maybe [ComplianceViolator])
+ Amazonka.FMS.Types.PolicyComplianceStatus: PolicyComplianceStatus' :: Maybe [EvaluationResult] -> Maybe (HashMap DependentServiceName Text) -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: [$sel:evaluationResults:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe [EvaluationResult]
+ Amazonka.FMS.Types.PolicyComplianceStatus: [$sel:issueInfoMap:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe (HashMap DependentServiceName Text)
+ Amazonka.FMS.Types.PolicyComplianceStatus: [$sel:lastUpdated:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe POSIX
+ Amazonka.FMS.Types.PolicyComplianceStatus: [$sel:memberAccount:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types.PolicyComplianceStatus: [$sel:policyId:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types.PolicyComplianceStatus: [$sel:policyName:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types.PolicyComplianceStatus: [$sel:policyOwner:PolicyComplianceStatus'] :: PolicyComplianceStatus -> Maybe Text
+ Amazonka.FMS.Types.PolicyComplianceStatus: data PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PolicyComplianceStatus.PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PolicyComplianceStatus.PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PolicyComplianceStatus.PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: instance GHC.Classes.Eq Amazonka.FMS.Types.PolicyComplianceStatus.PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: instance GHC.Generics.Generic Amazonka.FMS.Types.PolicyComplianceStatus.PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: instance GHC.Read.Read Amazonka.FMS.Types.PolicyComplianceStatus.PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: instance GHC.Show.Show Amazonka.FMS.Types.PolicyComplianceStatus.PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: newPolicyComplianceStatus :: PolicyComplianceStatus
+ Amazonka.FMS.Types.PolicyComplianceStatus: policyComplianceStatus_evaluationResults :: Lens' PolicyComplianceStatus (Maybe [EvaluationResult])
+ Amazonka.FMS.Types.PolicyComplianceStatus: policyComplianceStatus_issueInfoMap :: Lens' PolicyComplianceStatus (Maybe (HashMap DependentServiceName Text))
+ Amazonka.FMS.Types.PolicyComplianceStatus: policyComplianceStatus_lastUpdated :: Lens' PolicyComplianceStatus (Maybe UTCTime)
+ Amazonka.FMS.Types.PolicyComplianceStatus: policyComplianceStatus_memberAccount :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types.PolicyComplianceStatus: policyComplianceStatus_policyId :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types.PolicyComplianceStatus: policyComplianceStatus_policyName :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types.PolicyComplianceStatus: policyComplianceStatus_policyOwner :: Lens' PolicyComplianceStatus (Maybe Text)
+ Amazonka.FMS.Types.PolicyComplianceStatusType: PolicyComplianceStatusType' :: Text -> PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: [fromPolicyComplianceStatusType] :: PolicyComplianceStatusType -> Text
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance GHC.Classes.Eq Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance GHC.Classes.Ord Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance GHC.Generics.Generic Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance GHC.Read.Read Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: instance GHC.Show.Show Amazonka.FMS.Types.PolicyComplianceStatusType.PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: newtype PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: pattern PolicyComplianceStatusType_COMPLIANT :: PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyComplianceStatusType: pattern PolicyComplianceStatusType_NON_COMPLIANT :: PolicyComplianceStatusType
+ Amazonka.FMS.Types.PolicyOption: PolicyOption' :: Maybe NetworkFirewallPolicy -> Maybe ThirdPartyFirewallPolicy -> PolicyOption
+ Amazonka.FMS.Types.PolicyOption: [$sel:networkFirewallPolicy:PolicyOption'] :: PolicyOption -> Maybe NetworkFirewallPolicy
+ Amazonka.FMS.Types.PolicyOption: [$sel:thirdPartyFirewallPolicy:PolicyOption'] :: PolicyOption -> Maybe ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.PolicyOption: data PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance GHC.Classes.Eq Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance GHC.Generics.Generic Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance GHC.Read.Read Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: instance GHC.Show.Show Amazonka.FMS.Types.PolicyOption.PolicyOption
+ Amazonka.FMS.Types.PolicyOption: newPolicyOption :: PolicyOption
+ Amazonka.FMS.Types.PolicyOption: policyOption_networkFirewallPolicy :: Lens' PolicyOption (Maybe NetworkFirewallPolicy)
+ Amazonka.FMS.Types.PolicyOption: policyOption_thirdPartyFirewallPolicy :: Lens' PolicyOption (Maybe ThirdPartyFirewallPolicy)
+ Amazonka.FMS.Types.PolicySummary: PolicySummary' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe SecurityServiceType -> PolicySummary
+ Amazonka.FMS.Types.PolicySummary: [$sel:deleteUnusedFMManagedResources:PolicySummary'] :: PolicySummary -> Maybe Bool
+ Amazonka.FMS.Types.PolicySummary: [$sel:policyArn:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types.PolicySummary: [$sel:policyId:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types.PolicySummary: [$sel:policyName:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types.PolicySummary: [$sel:remediationEnabled:PolicySummary'] :: PolicySummary -> Maybe Bool
+ Amazonka.FMS.Types.PolicySummary: [$sel:resourceType:PolicySummary'] :: PolicySummary -> Maybe Text
+ Amazonka.FMS.Types.PolicySummary: [$sel:securityServiceType:PolicySummary'] :: PolicySummary -> Maybe SecurityServiceType
+ Amazonka.FMS.Types.PolicySummary: data PolicySummary
+ Amazonka.FMS.Types.PolicySummary: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PolicySummary.PolicySummary
+ Amazonka.FMS.Types.PolicySummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PolicySummary.PolicySummary
+ Amazonka.FMS.Types.PolicySummary: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PolicySummary.PolicySummary
+ Amazonka.FMS.Types.PolicySummary: instance GHC.Classes.Eq Amazonka.FMS.Types.PolicySummary.PolicySummary
+ Amazonka.FMS.Types.PolicySummary: instance GHC.Generics.Generic Amazonka.FMS.Types.PolicySummary.PolicySummary
+ Amazonka.FMS.Types.PolicySummary: instance GHC.Read.Read Amazonka.FMS.Types.PolicySummary.PolicySummary
+ Amazonka.FMS.Types.PolicySummary: instance GHC.Show.Show Amazonka.FMS.Types.PolicySummary.PolicySummary
+ Amazonka.FMS.Types.PolicySummary: newPolicySummary :: PolicySummary
+ Amazonka.FMS.Types.PolicySummary: policySummary_deleteUnusedFMManagedResources :: Lens' PolicySummary (Maybe Bool)
+ Amazonka.FMS.Types.PolicySummary: policySummary_policyArn :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types.PolicySummary: policySummary_policyId :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types.PolicySummary: policySummary_policyName :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types.PolicySummary: policySummary_remediationEnabled :: Lens' PolicySummary (Maybe Bool)
+ Amazonka.FMS.Types.PolicySummary: policySummary_resourceType :: Lens' PolicySummary (Maybe Text)
+ Amazonka.FMS.Types.PolicySummary: policySummary_securityServiceType :: Lens' PolicySummary (Maybe SecurityServiceType)
+ Amazonka.FMS.Types.PossibleRemediationAction: PossibleRemediationAction' :: Maybe Text -> Maybe Bool -> [RemediationActionWithOrder] -> PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: [$sel:description:PossibleRemediationAction'] :: PossibleRemediationAction -> Maybe Text
+ Amazonka.FMS.Types.PossibleRemediationAction: [$sel:isDefaultAction:PossibleRemediationAction'] :: PossibleRemediationAction -> Maybe Bool
+ Amazonka.FMS.Types.PossibleRemediationAction: [$sel:orderedRemediationActions:PossibleRemediationAction'] :: PossibleRemediationAction -> [RemediationActionWithOrder]
+ Amazonka.FMS.Types.PossibleRemediationAction: data PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PossibleRemediationAction.PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PossibleRemediationAction.PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PossibleRemediationAction.PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: instance GHC.Classes.Eq Amazonka.FMS.Types.PossibleRemediationAction.PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: instance GHC.Generics.Generic Amazonka.FMS.Types.PossibleRemediationAction.PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: instance GHC.Read.Read Amazonka.FMS.Types.PossibleRemediationAction.PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: instance GHC.Show.Show Amazonka.FMS.Types.PossibleRemediationAction.PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: newPossibleRemediationAction :: PossibleRemediationAction
+ Amazonka.FMS.Types.PossibleRemediationAction: possibleRemediationAction_description :: Lens' PossibleRemediationAction (Maybe Text)
+ Amazonka.FMS.Types.PossibleRemediationAction: possibleRemediationAction_isDefaultAction :: Lens' PossibleRemediationAction (Maybe Bool)
+ Amazonka.FMS.Types.PossibleRemediationAction: possibleRemediationAction_orderedRemediationActions :: Lens' PossibleRemediationAction [RemediationActionWithOrder]
+ Amazonka.FMS.Types.PossibleRemediationActions: PossibleRemediationActions' :: Maybe [PossibleRemediationAction] -> Maybe Text -> PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: [$sel:actions:PossibleRemediationActions'] :: PossibleRemediationActions -> Maybe [PossibleRemediationAction]
+ Amazonka.FMS.Types.PossibleRemediationActions: [$sel:description:PossibleRemediationActions'] :: PossibleRemediationActions -> Maybe Text
+ Amazonka.FMS.Types.PossibleRemediationActions: data PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: instance Control.DeepSeq.NFData Amazonka.FMS.Types.PossibleRemediationActions.PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.PossibleRemediationActions.PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.PossibleRemediationActions.PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: instance GHC.Classes.Eq Amazonka.FMS.Types.PossibleRemediationActions.PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: instance GHC.Generics.Generic Amazonka.FMS.Types.PossibleRemediationActions.PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: instance GHC.Read.Read Amazonka.FMS.Types.PossibleRemediationActions.PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: instance GHC.Show.Show Amazonka.FMS.Types.PossibleRemediationActions.PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: newPossibleRemediationActions :: PossibleRemediationActions
+ Amazonka.FMS.Types.PossibleRemediationActions: possibleRemediationActions_actions :: Lens' PossibleRemediationActions (Maybe [PossibleRemediationAction])
+ Amazonka.FMS.Types.PossibleRemediationActions: possibleRemediationActions_description :: Lens' PossibleRemediationActions (Maybe Text)
+ Amazonka.FMS.Types.ProtocolsListData: ProtocolsListData' :: Maybe POSIX -> Maybe POSIX -> Maybe Text -> Maybe Text -> Maybe (HashMap Text [Text]) -> Text -> [Text] -> ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: [$sel:createTime:ProtocolsListData'] :: ProtocolsListData -> Maybe POSIX
+ Amazonka.FMS.Types.ProtocolsListData: [$sel:lastUpdateTime:ProtocolsListData'] :: ProtocolsListData -> Maybe POSIX
+ Amazonka.FMS.Types.ProtocolsListData: [$sel:listId:ProtocolsListData'] :: ProtocolsListData -> Maybe Text
+ Amazonka.FMS.Types.ProtocolsListData: [$sel:listName:ProtocolsListData'] :: ProtocolsListData -> Text
+ Amazonka.FMS.Types.ProtocolsListData: [$sel:listUpdateToken:ProtocolsListData'] :: ProtocolsListData -> Maybe Text
+ Amazonka.FMS.Types.ProtocolsListData: [$sel:previousProtocolsList:ProtocolsListData'] :: ProtocolsListData -> Maybe (HashMap Text [Text])
+ Amazonka.FMS.Types.ProtocolsListData: [$sel:protocolsList:ProtocolsListData'] :: ProtocolsListData -> [Text]
+ Amazonka.FMS.Types.ProtocolsListData: data ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance GHC.Classes.Eq Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance GHC.Generics.Generic Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance GHC.Read.Read Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: instance GHC.Show.Show Amazonka.FMS.Types.ProtocolsListData.ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: newProtocolsListData :: Text -> ProtocolsListData
+ Amazonka.FMS.Types.ProtocolsListData: protocolsListData_createTime :: Lens' ProtocolsListData (Maybe UTCTime)
+ Amazonka.FMS.Types.ProtocolsListData: protocolsListData_lastUpdateTime :: Lens' ProtocolsListData (Maybe UTCTime)
+ Amazonka.FMS.Types.ProtocolsListData: protocolsListData_listId :: Lens' ProtocolsListData (Maybe Text)
+ Amazonka.FMS.Types.ProtocolsListData: protocolsListData_listName :: Lens' ProtocolsListData Text
+ Amazonka.FMS.Types.ProtocolsListData: protocolsListData_listUpdateToken :: Lens' ProtocolsListData (Maybe Text)
+ Amazonka.FMS.Types.ProtocolsListData: protocolsListData_previousProtocolsList :: Lens' ProtocolsListData (Maybe (HashMap Text [Text]))
+ Amazonka.FMS.Types.ProtocolsListData: protocolsListData_protocolsList :: Lens' ProtocolsListData [Text]
+ Amazonka.FMS.Types.ProtocolsListDataSummary: ProtocolsListDataSummary' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: [$sel:listArn:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types.ProtocolsListDataSummary: [$sel:listId:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types.ProtocolsListDataSummary: [$sel:listName:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe Text
+ Amazonka.FMS.Types.ProtocolsListDataSummary: [$sel:protocolsList:ProtocolsListDataSummary'] :: ProtocolsListDataSummary -> Maybe [Text]
+ Amazonka.FMS.Types.ProtocolsListDataSummary: data ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ProtocolsListDataSummary.ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ProtocolsListDataSummary.ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ProtocolsListDataSummary.ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: instance GHC.Classes.Eq Amazonka.FMS.Types.ProtocolsListDataSummary.ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: instance GHC.Generics.Generic Amazonka.FMS.Types.ProtocolsListDataSummary.ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: instance GHC.Read.Read Amazonka.FMS.Types.ProtocolsListDataSummary.ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: instance GHC.Show.Show Amazonka.FMS.Types.ProtocolsListDataSummary.ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: newProtocolsListDataSummary :: ProtocolsListDataSummary
+ Amazonka.FMS.Types.ProtocolsListDataSummary: protocolsListDataSummary_listArn :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types.ProtocolsListDataSummary: protocolsListDataSummary_listId :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types.ProtocolsListDataSummary: protocolsListDataSummary_listName :: Lens' ProtocolsListDataSummary (Maybe Text)
+ Amazonka.FMS.Types.ProtocolsListDataSummary: protocolsListDataSummary_protocolsList :: Lens' ProtocolsListDataSummary (Maybe [Text])
+ Amazonka.FMS.Types.RemediationAction: RemediationAction' :: Maybe Text -> Maybe EC2AssociateRouteTableAction -> Maybe EC2CopyRouteTableAction -> Maybe EC2CreateRouteAction -> Maybe EC2CreateRouteTableAction -> Maybe EC2DeleteRouteAction -> Maybe EC2ReplaceRouteAction -> Maybe EC2ReplaceRouteTableAssociationAction -> Maybe FMSPolicyUpdateFirewallCreationConfigAction -> RemediationAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:description:RemediationAction'] :: RemediationAction -> Maybe Text
+ Amazonka.FMS.Types.RemediationAction: [$sel:eC2AssociateRouteTableAction:RemediationAction'] :: RemediationAction -> Maybe EC2AssociateRouteTableAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:eC2CopyRouteTableAction:RemediationAction'] :: RemediationAction -> Maybe EC2CopyRouteTableAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:eC2CreateRouteAction:RemediationAction'] :: RemediationAction -> Maybe EC2CreateRouteAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:eC2CreateRouteTableAction:RemediationAction'] :: RemediationAction -> Maybe EC2CreateRouteTableAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:eC2DeleteRouteAction:RemediationAction'] :: RemediationAction -> Maybe EC2DeleteRouteAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:eC2ReplaceRouteAction:RemediationAction'] :: RemediationAction -> Maybe EC2ReplaceRouteAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:eC2ReplaceRouteTableAssociationAction:RemediationAction'] :: RemediationAction -> Maybe EC2ReplaceRouteTableAssociationAction
+ Amazonka.FMS.Types.RemediationAction: [$sel:fMSPolicyUpdateFirewallCreationConfigAction:RemediationAction'] :: RemediationAction -> Maybe FMSPolicyUpdateFirewallCreationConfigAction
+ Amazonka.FMS.Types.RemediationAction: data RemediationAction
+ Amazonka.FMS.Types.RemediationAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.RemediationAction.RemediationAction
+ Amazonka.FMS.Types.RemediationAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.RemediationAction.RemediationAction
+ Amazonka.FMS.Types.RemediationAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.RemediationAction.RemediationAction
+ Amazonka.FMS.Types.RemediationAction: instance GHC.Classes.Eq Amazonka.FMS.Types.RemediationAction.RemediationAction
+ Amazonka.FMS.Types.RemediationAction: instance GHC.Generics.Generic Amazonka.FMS.Types.RemediationAction.RemediationAction
+ Amazonka.FMS.Types.RemediationAction: instance GHC.Read.Read Amazonka.FMS.Types.RemediationAction.RemediationAction
+ Amazonka.FMS.Types.RemediationAction: instance GHC.Show.Show Amazonka.FMS.Types.RemediationAction.RemediationAction
+ Amazonka.FMS.Types.RemediationAction: newRemediationAction :: RemediationAction
+ Amazonka.FMS.Types.RemediationAction: remediationAction_description :: Lens' RemediationAction (Maybe Text)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_eC2AssociateRouteTableAction :: Lens' RemediationAction (Maybe EC2AssociateRouteTableAction)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_eC2CopyRouteTableAction :: Lens' RemediationAction (Maybe EC2CopyRouteTableAction)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_eC2CreateRouteAction :: Lens' RemediationAction (Maybe EC2CreateRouteAction)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_eC2CreateRouteTableAction :: Lens' RemediationAction (Maybe EC2CreateRouteTableAction)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_eC2DeleteRouteAction :: Lens' RemediationAction (Maybe EC2DeleteRouteAction)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_eC2ReplaceRouteAction :: Lens' RemediationAction (Maybe EC2ReplaceRouteAction)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_eC2ReplaceRouteTableAssociationAction :: Lens' RemediationAction (Maybe EC2ReplaceRouteTableAssociationAction)
+ Amazonka.FMS.Types.RemediationAction: remediationAction_fMSPolicyUpdateFirewallCreationConfigAction :: Lens' RemediationAction (Maybe FMSPolicyUpdateFirewallCreationConfigAction)
+ Amazonka.FMS.Types.RemediationActionType: RemediationActionType' :: Text -> RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: [fromRemediationActionType] :: RemediationActionType -> Text
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Control.DeepSeq.NFData Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance GHC.Classes.Eq Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance GHC.Classes.Ord Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance GHC.Generics.Generic Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance GHC.Read.Read Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: instance GHC.Show.Show Amazonka.FMS.Types.RemediationActionType.RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: newtype RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: pattern RemediationActionType_MODIFY :: RemediationActionType
+ Amazonka.FMS.Types.RemediationActionType: pattern RemediationActionType_REMOVE :: RemediationActionType
+ Amazonka.FMS.Types.RemediationActionWithOrder: RemediationActionWithOrder' :: Maybe Int -> Maybe RemediationAction -> RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: [$sel:order:RemediationActionWithOrder'] :: RemediationActionWithOrder -> Maybe Int
+ Amazonka.FMS.Types.RemediationActionWithOrder: [$sel:remediationAction:RemediationActionWithOrder'] :: RemediationActionWithOrder -> Maybe RemediationAction
+ Amazonka.FMS.Types.RemediationActionWithOrder: data RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: instance Control.DeepSeq.NFData Amazonka.FMS.Types.RemediationActionWithOrder.RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.RemediationActionWithOrder.RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.RemediationActionWithOrder.RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: instance GHC.Classes.Eq Amazonka.FMS.Types.RemediationActionWithOrder.RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: instance GHC.Generics.Generic Amazonka.FMS.Types.RemediationActionWithOrder.RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: instance GHC.Read.Read Amazonka.FMS.Types.RemediationActionWithOrder.RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: instance GHC.Show.Show Amazonka.FMS.Types.RemediationActionWithOrder.RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: newRemediationActionWithOrder :: RemediationActionWithOrder
+ Amazonka.FMS.Types.RemediationActionWithOrder: remediationActionWithOrder_order :: Lens' RemediationActionWithOrder (Maybe Int)
+ Amazonka.FMS.Types.RemediationActionWithOrder: remediationActionWithOrder_remediationAction :: Lens' RemediationActionWithOrder (Maybe RemediationAction)
+ Amazonka.FMS.Types.Resource: Resource' :: Maybe Text -> Text -> Resource
+ Amazonka.FMS.Types.Resource: [$sel:accountId:Resource'] :: Resource -> Maybe Text
+ Amazonka.FMS.Types.Resource: [$sel:uri:Resource'] :: Resource -> Text
+ Amazonka.FMS.Types.Resource: data Resource
+ Amazonka.FMS.Types.Resource: instance Control.DeepSeq.NFData Amazonka.FMS.Types.Resource.Resource
+ Amazonka.FMS.Types.Resource: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.Resource.Resource
+ Amazonka.FMS.Types.Resource: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.Resource.Resource
+ Amazonka.FMS.Types.Resource: instance GHC.Classes.Eq Amazonka.FMS.Types.Resource.Resource
+ Amazonka.FMS.Types.Resource: instance GHC.Generics.Generic Amazonka.FMS.Types.Resource.Resource
+ Amazonka.FMS.Types.Resource: instance GHC.Read.Read Amazonka.FMS.Types.Resource.Resource
+ Amazonka.FMS.Types.Resource: instance GHC.Show.Show Amazonka.FMS.Types.Resource.Resource
+ Amazonka.FMS.Types.Resource: newResource :: Text -> Resource
+ Amazonka.FMS.Types.Resource: resource_accountId :: Lens' Resource (Maybe Text)
+ Amazonka.FMS.Types.Resource: resource_uri :: Lens' Resource Text
+ Amazonka.FMS.Types.ResourceSet: ResourceSet' :: Maybe Text -> Maybe Text -> Maybe POSIX -> Maybe Text -> Text -> [Text] -> ResourceSet
+ Amazonka.FMS.Types.ResourceSet: [$sel:description:ResourceSet'] :: ResourceSet -> Maybe Text
+ Amazonka.FMS.Types.ResourceSet: [$sel:id:ResourceSet'] :: ResourceSet -> Maybe Text
+ Amazonka.FMS.Types.ResourceSet: [$sel:lastUpdateTime:ResourceSet'] :: ResourceSet -> Maybe POSIX
+ Amazonka.FMS.Types.ResourceSet: [$sel:name:ResourceSet'] :: ResourceSet -> Text
+ Amazonka.FMS.Types.ResourceSet: [$sel:resourceTypeList:ResourceSet'] :: ResourceSet -> [Text]
+ Amazonka.FMS.Types.ResourceSet: [$sel:updateToken:ResourceSet'] :: ResourceSet -> Maybe Text
+ Amazonka.FMS.Types.ResourceSet: data ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance GHC.Classes.Eq Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance GHC.Generics.Generic Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance GHC.Read.Read Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: instance GHC.Show.Show Amazonka.FMS.Types.ResourceSet.ResourceSet
+ Amazonka.FMS.Types.ResourceSet: newResourceSet :: Text -> ResourceSet
+ Amazonka.FMS.Types.ResourceSet: resourceSet_description :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Types.ResourceSet: resourceSet_id :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Types.ResourceSet: resourceSet_lastUpdateTime :: Lens' ResourceSet (Maybe UTCTime)
+ Amazonka.FMS.Types.ResourceSet: resourceSet_name :: Lens' ResourceSet Text
+ Amazonka.FMS.Types.ResourceSet: resourceSet_resourceTypeList :: Lens' ResourceSet [Text]
+ Amazonka.FMS.Types.ResourceSet: resourceSet_updateToken :: Lens' ResourceSet (Maybe Text)
+ Amazonka.FMS.Types.ResourceSetSummary: ResourceSetSummary' :: Maybe Text -> Maybe Text -> Maybe POSIX -> Maybe Text -> ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: [$sel:description:ResourceSetSummary'] :: ResourceSetSummary -> Maybe Text
+ Amazonka.FMS.Types.ResourceSetSummary: [$sel:id:ResourceSetSummary'] :: ResourceSetSummary -> Maybe Text
+ Amazonka.FMS.Types.ResourceSetSummary: [$sel:lastUpdateTime:ResourceSetSummary'] :: ResourceSetSummary -> Maybe POSIX
+ Amazonka.FMS.Types.ResourceSetSummary: [$sel:name:ResourceSetSummary'] :: ResourceSetSummary -> Maybe Text
+ Amazonka.FMS.Types.ResourceSetSummary: data ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ResourceSetSummary.ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ResourceSetSummary.ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ResourceSetSummary.ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: instance GHC.Classes.Eq Amazonka.FMS.Types.ResourceSetSummary.ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: instance GHC.Generics.Generic Amazonka.FMS.Types.ResourceSetSummary.ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: instance GHC.Read.Read Amazonka.FMS.Types.ResourceSetSummary.ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: instance GHC.Show.Show Amazonka.FMS.Types.ResourceSetSummary.ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: newResourceSetSummary :: ResourceSetSummary
+ Amazonka.FMS.Types.ResourceSetSummary: resourceSetSummary_description :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Types.ResourceSetSummary: resourceSetSummary_id :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Types.ResourceSetSummary: resourceSetSummary_lastUpdateTime :: Lens' ResourceSetSummary (Maybe UTCTime)
+ Amazonka.FMS.Types.ResourceSetSummary: resourceSetSummary_name :: Lens' ResourceSetSummary (Maybe Text)
+ Amazonka.FMS.Types.ResourceTag: ResourceTag' :: Maybe Text -> Text -> ResourceTag
+ Amazonka.FMS.Types.ResourceTag: [$sel:key:ResourceTag'] :: ResourceTag -> Text
+ Amazonka.FMS.Types.ResourceTag: [$sel:value:ResourceTag'] :: ResourceTag -> Maybe Text
+ Amazonka.FMS.Types.ResourceTag: data ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance GHC.Classes.Eq Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance GHC.Generics.Generic Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance GHC.Read.Read Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: instance GHC.Show.Show Amazonka.FMS.Types.ResourceTag.ResourceTag
+ Amazonka.FMS.Types.ResourceTag: newResourceTag :: Text -> ResourceTag
+ Amazonka.FMS.Types.ResourceTag: resourceTag_key :: Lens' ResourceTag Text
+ Amazonka.FMS.Types.ResourceTag: resourceTag_value :: Lens' ResourceTag (Maybe Text)
+ Amazonka.FMS.Types.ResourceViolation: ResourceViolation' :: Maybe AwsEc2InstanceViolation -> Maybe AwsEc2NetworkInterfaceViolation -> Maybe AwsVPCSecurityGroupViolation -> Maybe DnsDuplicateRuleGroupViolation -> Maybe DnsRuleGroupLimitExceededViolation -> Maybe DnsRuleGroupPriorityConflictViolation -> Maybe FirewallSubnetIsOutOfScopeViolation -> Maybe FirewallSubnetMissingVPCEndpointViolation -> Maybe NetworkFirewallBlackHoleRouteDetectedViolation -> Maybe NetworkFirewallInternetTrafficNotInspectedViolation -> Maybe NetworkFirewallInvalidRouteConfigurationViolation -> Maybe NetworkFirewallMissingExpectedRTViolation -> Maybe NetworkFirewallMissingExpectedRoutesViolation -> Maybe NetworkFirewallMissingFirewallViolation -> Maybe NetworkFirewallMissingSubnetViolation -> Maybe NetworkFirewallPolicyModifiedViolation -> Maybe NetworkFirewallUnexpectedFirewallRoutesViolation -> Maybe NetworkFirewallUnexpectedGatewayRoutesViolation -> Maybe PossibleRemediationActions -> Maybe RouteHasOutOfScopeEndpointViolation -> Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe ThirdPartyFirewallMissingFirewallViolation -> Maybe ThirdPartyFirewallMissingSubnetViolation -> ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:awsEc2InstanceViolation:ResourceViolation'] :: ResourceViolation -> Maybe AwsEc2InstanceViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:awsEc2NetworkInterfaceViolation:ResourceViolation'] :: ResourceViolation -> Maybe AwsEc2NetworkInterfaceViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:awsVPCSecurityGroupViolation:ResourceViolation'] :: ResourceViolation -> Maybe AwsVPCSecurityGroupViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:dnsDuplicateRuleGroupViolation:ResourceViolation'] :: ResourceViolation -> Maybe DnsDuplicateRuleGroupViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:dnsRuleGroupLimitExceededViolation:ResourceViolation'] :: ResourceViolation -> Maybe DnsRuleGroupLimitExceededViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:dnsRuleGroupPriorityConflictViolation:ResourceViolation'] :: ResourceViolation -> Maybe DnsRuleGroupPriorityConflictViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:firewallSubnetIsOutOfScopeViolation:ResourceViolation'] :: ResourceViolation -> Maybe FirewallSubnetIsOutOfScopeViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:firewallSubnetMissingVPCEndpointViolation:ResourceViolation'] :: ResourceViolation -> Maybe FirewallSubnetMissingVPCEndpointViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallBlackHoleRouteDetectedViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallBlackHoleRouteDetectedViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallInternetTrafficNotInspectedViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallInternetTrafficNotInspectedViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallInvalidRouteConfigurationViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallInvalidRouteConfigurationViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallMissingExpectedRTViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingExpectedRTViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallMissingExpectedRoutesViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingExpectedRoutesViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallMissingFirewallViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallMissingSubnetViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallPolicyModifiedViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallPolicyModifiedViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallUnexpectedFirewallRoutesViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallUnexpectedFirewallRoutesViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:networkFirewallUnexpectedGatewayRoutesViolation:ResourceViolation'] :: ResourceViolation -> Maybe NetworkFirewallUnexpectedGatewayRoutesViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:possibleRemediationActions:ResourceViolation'] :: ResourceViolation -> Maybe PossibleRemediationActions
+ Amazonka.FMS.Types.ResourceViolation: [$sel:routeHasOutOfScopeEndpointViolation:ResourceViolation'] :: ResourceViolation -> Maybe RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:thirdPartyFirewallMissingExpectedRouteTableViolation:ResourceViolation'] :: ResourceViolation -> Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:thirdPartyFirewallMissingFirewallViolation:ResourceViolation'] :: ResourceViolation -> Maybe ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ResourceViolation: [$sel:thirdPartyFirewallMissingSubnetViolation:ResourceViolation'] :: ResourceViolation -> Maybe ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ResourceViolation: data ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ResourceViolation.ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ResourceViolation.ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ResourceViolation.ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.ResourceViolation.ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.ResourceViolation.ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: instance GHC.Read.Read Amazonka.FMS.Types.ResourceViolation.ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: instance GHC.Show.Show Amazonka.FMS.Types.ResourceViolation.ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: newResourceViolation :: ResourceViolation
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_awsEc2InstanceViolation :: Lens' ResourceViolation (Maybe AwsEc2InstanceViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_awsEc2NetworkInterfaceViolation :: Lens' ResourceViolation (Maybe AwsEc2NetworkInterfaceViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_awsVPCSecurityGroupViolation :: Lens' ResourceViolation (Maybe AwsVPCSecurityGroupViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_dnsDuplicateRuleGroupViolation :: Lens' ResourceViolation (Maybe DnsDuplicateRuleGroupViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_dnsRuleGroupLimitExceededViolation :: Lens' ResourceViolation (Maybe DnsRuleGroupLimitExceededViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_dnsRuleGroupPriorityConflictViolation :: Lens' ResourceViolation (Maybe DnsRuleGroupPriorityConflictViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_firewallSubnetIsOutOfScopeViolation :: Lens' ResourceViolation (Maybe FirewallSubnetIsOutOfScopeViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_firewallSubnetMissingVPCEndpointViolation :: Lens' ResourceViolation (Maybe FirewallSubnetMissingVPCEndpointViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallBlackHoleRouteDetectedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallBlackHoleRouteDetectedViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallInternetTrafficNotInspectedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallInternetTrafficNotInspectedViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallInvalidRouteConfigurationViolation :: Lens' ResourceViolation (Maybe NetworkFirewallInvalidRouteConfigurationViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallMissingExpectedRTViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingExpectedRTViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallMissingExpectedRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingExpectedRoutesViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallMissingFirewallViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingFirewallViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallMissingSubnetViolation :: Lens' ResourceViolation (Maybe NetworkFirewallMissingSubnetViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallPolicyModifiedViolation :: Lens' ResourceViolation (Maybe NetworkFirewallPolicyModifiedViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallUnexpectedFirewallRoutesViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation :: Lens' ResourceViolation (Maybe NetworkFirewallUnexpectedGatewayRoutesViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_possibleRemediationActions :: Lens' ResourceViolation (Maybe PossibleRemediationActions)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_routeHasOutOfScopeEndpointViolation :: Lens' ResourceViolation (Maybe RouteHasOutOfScopeEndpointViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_thirdPartyFirewallMissingFirewallViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingFirewallViolation)
+ Amazonka.FMS.Types.ResourceViolation: resourceViolation_thirdPartyFirewallMissingSubnetViolation :: Lens' ResourceViolation (Maybe ThirdPartyFirewallMissingSubnetViolation)
+ Amazonka.FMS.Types.Route: Route' :: Maybe Text -> Maybe DestinationType -> Maybe Text -> Maybe TargetType -> Route
+ Amazonka.FMS.Types.Route: [$sel:destination:Route'] :: Route -> Maybe Text
+ Amazonka.FMS.Types.Route: [$sel:destinationType:Route'] :: Route -> Maybe DestinationType
+ Amazonka.FMS.Types.Route: [$sel:target:Route'] :: Route -> Maybe Text
+ Amazonka.FMS.Types.Route: [$sel:targetType:Route'] :: Route -> Maybe TargetType
+ Amazonka.FMS.Types.Route: data Route
+ Amazonka.FMS.Types.Route: instance Control.DeepSeq.NFData Amazonka.FMS.Types.Route.Route
+ Amazonka.FMS.Types.Route: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.Route.Route
+ Amazonka.FMS.Types.Route: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.Route.Route
+ Amazonka.FMS.Types.Route: instance GHC.Classes.Eq Amazonka.FMS.Types.Route.Route
+ Amazonka.FMS.Types.Route: instance GHC.Generics.Generic Amazonka.FMS.Types.Route.Route
+ Amazonka.FMS.Types.Route: instance GHC.Read.Read Amazonka.FMS.Types.Route.Route
+ Amazonka.FMS.Types.Route: instance GHC.Show.Show Amazonka.FMS.Types.Route.Route
+ Amazonka.FMS.Types.Route: newRoute :: Route
+ Amazonka.FMS.Types.Route: route_destination :: Lens' Route (Maybe Text)
+ Amazonka.FMS.Types.Route: route_destinationType :: Lens' Route (Maybe DestinationType)
+ Amazonka.FMS.Types.Route: route_target :: Lens' Route (Maybe Text)
+ Amazonka.FMS.Types.Route: route_targetType :: Lens' Route (Maybe TargetType)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: RouteHasOutOfScopeEndpointViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe [Route] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Route] -> Maybe Text -> RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:currentFirewallSubnetRouteTable:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:currentInternetGatewayRouteTable:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:firewallSubnetId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:firewallSubnetRoutes:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe [Route]
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:internetGatewayId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:internetGatewayRoutes:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe [Route]
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:routeTableId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:subnetAvailabilityZone:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:subnetAvailabilityZoneId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:subnetId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:violatingRoutes:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe [Route]
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: [$sel:vpcId:RouteHasOutOfScopeEndpointViolation'] :: RouteHasOutOfScopeEndpointViolation -> Maybe Text
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: data RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation.RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation.RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation.RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation.RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation.RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: instance GHC.Read.Read Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation.RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: instance GHC.Show.Show Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation.RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: newRouteHasOutOfScopeEndpointViolation :: RouteHasOutOfScopeEndpointViolation
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_firewallSubnetId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_internetGatewayId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_internetGatewayRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_routeTableId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_subnetId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_violatingRoutes :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe [Route])
+ Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation: routeHasOutOfScopeEndpointViolation_vpcId :: Lens' RouteHasOutOfScopeEndpointViolation (Maybe Text)
+ Amazonka.FMS.Types.RuleOrder: RuleOrder' :: Text -> RuleOrder
+ Amazonka.FMS.Types.RuleOrder: [fromRuleOrder] :: RuleOrder -> Text
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Control.DeepSeq.NFData Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance GHC.Classes.Eq Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance GHC.Classes.Ord Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance GHC.Generics.Generic Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance GHC.Read.Read Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: instance GHC.Show.Show Amazonka.FMS.Types.RuleOrder.RuleOrder
+ Amazonka.FMS.Types.RuleOrder: newtype RuleOrder
+ Amazonka.FMS.Types.RuleOrder: pattern RuleOrder_DEFAULT_ACTION_ORDER :: RuleOrder
+ Amazonka.FMS.Types.RuleOrder: pattern RuleOrder_STRICT_ORDER :: RuleOrder
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: SecurityGroupRemediationAction' :: Maybe Text -> Maybe Bool -> Maybe RemediationActionType -> Maybe SecurityGroupRuleDescription -> SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: [$sel:description:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe Text
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: [$sel:isDefaultAction:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe Bool
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: [$sel:remediationActionType:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe RemediationActionType
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: [$sel:remediationResult:SecurityGroupRemediationAction'] :: SecurityGroupRemediationAction -> Maybe SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: data SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: instance Control.DeepSeq.NFData Amazonka.FMS.Types.SecurityGroupRemediationAction.SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.SecurityGroupRemediationAction.SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.SecurityGroupRemediationAction.SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: instance GHC.Classes.Eq Amazonka.FMS.Types.SecurityGroupRemediationAction.SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: instance GHC.Generics.Generic Amazonka.FMS.Types.SecurityGroupRemediationAction.SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: instance GHC.Read.Read Amazonka.FMS.Types.SecurityGroupRemediationAction.SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: instance GHC.Show.Show Amazonka.FMS.Types.SecurityGroupRemediationAction.SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: newSecurityGroupRemediationAction :: SecurityGroupRemediationAction
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: securityGroupRemediationAction_description :: Lens' SecurityGroupRemediationAction (Maybe Text)
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: securityGroupRemediationAction_isDefaultAction :: Lens' SecurityGroupRemediationAction (Maybe Bool)
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: securityGroupRemediationAction_remediationActionType :: Lens' SecurityGroupRemediationAction (Maybe RemediationActionType)
+ Amazonka.FMS.Types.SecurityGroupRemediationAction: securityGroupRemediationAction_remediationResult :: Lens' SecurityGroupRemediationAction (Maybe SecurityGroupRuleDescription)
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: SecurityGroupRuleDescription' :: Maybe Natural -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Natural -> SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: [$sel:fromPort:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Natural
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: [$sel:iPV4Range:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: [$sel:iPV6Range:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: [$sel:prefixListId:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: [$sel:protocol:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Text
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: [$sel:toPort:SecurityGroupRuleDescription'] :: SecurityGroupRuleDescription -> Maybe Natural
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: data SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: instance Control.DeepSeq.NFData Amazonka.FMS.Types.SecurityGroupRuleDescription.SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.SecurityGroupRuleDescription.SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.SecurityGroupRuleDescription.SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: instance GHC.Classes.Eq Amazonka.FMS.Types.SecurityGroupRuleDescription.SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: instance GHC.Generics.Generic Amazonka.FMS.Types.SecurityGroupRuleDescription.SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: instance GHC.Read.Read Amazonka.FMS.Types.SecurityGroupRuleDescription.SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: instance GHC.Show.Show Amazonka.FMS.Types.SecurityGroupRuleDescription.SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: newSecurityGroupRuleDescription :: SecurityGroupRuleDescription
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: securityGroupRuleDescription_fromPort :: Lens' SecurityGroupRuleDescription (Maybe Natural)
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: securityGroupRuleDescription_iPV4Range :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: securityGroupRuleDescription_iPV6Range :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: securityGroupRuleDescription_prefixListId :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: securityGroupRuleDescription_protocol :: Lens' SecurityGroupRuleDescription (Maybe Text)
+ Amazonka.FMS.Types.SecurityGroupRuleDescription: securityGroupRuleDescription_toPort :: Lens' SecurityGroupRuleDescription (Maybe Natural)
+ Amazonka.FMS.Types.SecurityServicePolicyData: SecurityServicePolicyData' :: Maybe Text -> Maybe PolicyOption -> SecurityServiceType -> SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: [$sel:managedServiceData:SecurityServicePolicyData'] :: SecurityServicePolicyData -> Maybe Text
+ Amazonka.FMS.Types.SecurityServicePolicyData: [$sel:policyOption:SecurityServicePolicyData'] :: SecurityServicePolicyData -> Maybe PolicyOption
+ Amazonka.FMS.Types.SecurityServicePolicyData: [$sel:type':SecurityServicePolicyData'] :: SecurityServicePolicyData -> SecurityServiceType
+ Amazonka.FMS.Types.SecurityServicePolicyData: data SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance Control.DeepSeq.NFData Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance GHC.Classes.Eq Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance GHC.Generics.Generic Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance GHC.Read.Read Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: instance GHC.Show.Show Amazonka.FMS.Types.SecurityServicePolicyData.SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: newSecurityServicePolicyData :: SecurityServiceType -> SecurityServicePolicyData
+ Amazonka.FMS.Types.SecurityServicePolicyData: securityServicePolicyData_managedServiceData :: Lens' SecurityServicePolicyData (Maybe Text)
+ Amazonka.FMS.Types.SecurityServicePolicyData: securityServicePolicyData_policyOption :: Lens' SecurityServicePolicyData (Maybe PolicyOption)
+ Amazonka.FMS.Types.SecurityServicePolicyData: securityServicePolicyData_type :: Lens' SecurityServicePolicyData SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: SecurityServiceType' :: Text -> SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: [fromSecurityServiceType] :: SecurityServiceType -> Text
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Control.DeepSeq.NFData Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance GHC.Classes.Eq Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance GHC.Classes.Ord Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance GHC.Generics.Generic Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance GHC.Read.Read Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: instance GHC.Show.Show Amazonka.FMS.Types.SecurityServiceType.SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: newtype SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_DNS_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_IMPORT_NETWORK_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_NETWORK_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_SECURITY_GROUPS_COMMON :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_SECURITY_GROUPS_CONTENT_AUDIT :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_SECURITY_GROUPS_USAGE_AUDIT :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_SHIELD_ADVANCED :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_THIRD_PARTY_FIREWALL :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_WAF :: SecurityServiceType
+ Amazonka.FMS.Types.SecurityServiceType: pattern SecurityServiceType_WAFV2 :: SecurityServiceType
+ Amazonka.FMS.Types.StatefulEngineOptions: StatefulEngineOptions' :: Maybe RuleOrder -> StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: [$sel:ruleOrder:StatefulEngineOptions'] :: StatefulEngineOptions -> Maybe RuleOrder
+ Amazonka.FMS.Types.StatefulEngineOptions: data StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: instance Control.DeepSeq.NFData Amazonka.FMS.Types.StatefulEngineOptions.StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.StatefulEngineOptions.StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.StatefulEngineOptions.StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: instance GHC.Classes.Eq Amazonka.FMS.Types.StatefulEngineOptions.StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: instance GHC.Generics.Generic Amazonka.FMS.Types.StatefulEngineOptions.StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: instance GHC.Read.Read Amazonka.FMS.Types.StatefulEngineOptions.StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: instance GHC.Show.Show Amazonka.FMS.Types.StatefulEngineOptions.StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: newStatefulEngineOptions :: StatefulEngineOptions
+ Amazonka.FMS.Types.StatefulEngineOptions: statefulEngineOptions_ruleOrder :: Lens' StatefulEngineOptions (Maybe RuleOrder)
+ Amazonka.FMS.Types.StatefulRuleGroup: StatefulRuleGroup' :: Maybe NetworkFirewallStatefulRuleGroupOverride -> Maybe Int -> Maybe Text -> Maybe Text -> StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: [$sel:override:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe NetworkFirewallStatefulRuleGroupOverride
+ Amazonka.FMS.Types.StatefulRuleGroup: [$sel:priority:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe Int
+ Amazonka.FMS.Types.StatefulRuleGroup: [$sel:resourceId:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe Text
+ Amazonka.FMS.Types.StatefulRuleGroup: [$sel:ruleGroupName:StatefulRuleGroup'] :: StatefulRuleGroup -> Maybe Text
+ Amazonka.FMS.Types.StatefulRuleGroup: data StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: instance Control.DeepSeq.NFData Amazonka.FMS.Types.StatefulRuleGroup.StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.StatefulRuleGroup.StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.StatefulRuleGroup.StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: instance GHC.Classes.Eq Amazonka.FMS.Types.StatefulRuleGroup.StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: instance GHC.Generics.Generic Amazonka.FMS.Types.StatefulRuleGroup.StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: instance GHC.Read.Read Amazonka.FMS.Types.StatefulRuleGroup.StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: instance GHC.Show.Show Amazonka.FMS.Types.StatefulRuleGroup.StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: newStatefulRuleGroup :: StatefulRuleGroup
+ Amazonka.FMS.Types.StatefulRuleGroup: statefulRuleGroup_override :: Lens' StatefulRuleGroup (Maybe NetworkFirewallStatefulRuleGroupOverride)
+ Amazonka.FMS.Types.StatefulRuleGroup: statefulRuleGroup_priority :: Lens' StatefulRuleGroup (Maybe Int)
+ Amazonka.FMS.Types.StatefulRuleGroup: statefulRuleGroup_resourceId :: Lens' StatefulRuleGroup (Maybe Text)
+ Amazonka.FMS.Types.StatefulRuleGroup: statefulRuleGroup_ruleGroupName :: Lens' StatefulRuleGroup (Maybe Text)
+ Amazonka.FMS.Types.StatelessRuleGroup: StatelessRuleGroup' :: Maybe Natural -> Maybe Text -> Maybe Text -> StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: [$sel:priority:StatelessRuleGroup'] :: StatelessRuleGroup -> Maybe Natural
+ Amazonka.FMS.Types.StatelessRuleGroup: [$sel:resourceId:StatelessRuleGroup'] :: StatelessRuleGroup -> Maybe Text
+ Amazonka.FMS.Types.StatelessRuleGroup: [$sel:ruleGroupName:StatelessRuleGroup'] :: StatelessRuleGroup -> Maybe Text
+ Amazonka.FMS.Types.StatelessRuleGroup: data StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: instance Control.DeepSeq.NFData Amazonka.FMS.Types.StatelessRuleGroup.StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.StatelessRuleGroup.StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.StatelessRuleGroup.StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: instance GHC.Classes.Eq Amazonka.FMS.Types.StatelessRuleGroup.StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: instance GHC.Generics.Generic Amazonka.FMS.Types.StatelessRuleGroup.StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: instance GHC.Read.Read Amazonka.FMS.Types.StatelessRuleGroup.StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: instance GHC.Show.Show Amazonka.FMS.Types.StatelessRuleGroup.StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: newStatelessRuleGroup :: StatelessRuleGroup
+ Amazonka.FMS.Types.StatelessRuleGroup: statelessRuleGroup_priority :: Lens' StatelessRuleGroup (Maybe Natural)
+ Amazonka.FMS.Types.StatelessRuleGroup: statelessRuleGroup_resourceId :: Lens' StatelessRuleGroup (Maybe Text)
+ Amazonka.FMS.Types.StatelessRuleGroup: statelessRuleGroup_ruleGroupName :: Lens' StatelessRuleGroup (Maybe Text)
+ Amazonka.FMS.Types.Tag: Tag' :: Text -> Text -> Tag
+ Amazonka.FMS.Types.Tag: [$sel:key:Tag'] :: Tag -> Text
+ Amazonka.FMS.Types.Tag: [$sel:value:Tag'] :: Tag -> Text
+ Amazonka.FMS.Types.Tag: data Tag
+ Amazonka.FMS.Types.Tag: instance Control.DeepSeq.NFData Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: instance GHC.Classes.Eq Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: instance GHC.Generics.Generic Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: instance GHC.Read.Read Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: instance GHC.Show.Show Amazonka.FMS.Types.Tag.Tag
+ Amazonka.FMS.Types.Tag: newTag :: Text -> Text -> Tag
+ Amazonka.FMS.Types.Tag: tag_key :: Lens' Tag Text
+ Amazonka.FMS.Types.Tag: tag_value :: Lens' Tag Text
+ Amazonka.FMS.Types.TargetType: TargetType' :: Text -> TargetType
+ Amazonka.FMS.Types.TargetType: [fromTargetType] :: TargetType -> Text
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Control.DeepSeq.NFData Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance GHC.Classes.Eq Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance GHC.Classes.Ord Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance GHC.Generics.Generic Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance GHC.Read.Read Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: instance GHC.Show.Show Amazonka.FMS.Types.TargetType.TargetType
+ Amazonka.FMS.Types.TargetType: newtype TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_CARRIER_GATEWAY :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_EGRESS_ONLY_INTERNET_GATEWAY :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_GATEWAY :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_INSTANCE :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_LOCAL_GATEWAY :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_NAT_GATEWAY :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_NETWORK_INTERFACE :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_TRANSIT_GATEWAY :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_VPC_ENDPOINT :: TargetType
+ Amazonka.FMS.Types.TargetType: pattern TargetType_VPC_PEERING_CONNECTION :: TargetType
+ Amazonka.FMS.Types.ThirdPartyFirewall: ThirdPartyFirewall' :: Text -> ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: [fromThirdPartyFirewall] :: ThirdPartyFirewall -> Text
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance GHC.Classes.Eq Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance GHC.Classes.Ord Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance GHC.Generics.Generic Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance GHC.Read.Read Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: instance GHC.Show.Show Amazonka.FMS.Types.ThirdPartyFirewall.ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: newtype ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: pattern ThirdPartyFirewall_FORTIGATE_CLOUD_NATIVE_FIREWALL :: ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewall: pattern ThirdPartyFirewall_PALO_ALTO_NETWORKS_CLOUD_NGFW :: ThirdPartyFirewall
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: ThirdPartyFirewallAssociationStatus' :: Text -> ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: [fromThirdPartyFirewallAssociationStatus] :: ThirdPartyFirewallAssociationStatus -> Text
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance GHC.Classes.Eq Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance GHC.Classes.Ord Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance GHC.Generics.Generic Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance GHC.Read.Read Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: instance GHC.Show.Show Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus.ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: newtype ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: pattern ThirdPartyFirewallAssociationStatus_NOT_EXIST :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: pattern ThirdPartyFirewallAssociationStatus_OFFBOARDING :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: pattern ThirdPartyFirewallAssociationStatus_OFFBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: pattern ThirdPartyFirewallAssociationStatus_ONBOARDING :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus: pattern ThirdPartyFirewallAssociationStatus_ONBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: ThirdPartyFirewallFirewallPolicy' :: Maybe Text -> Maybe Text -> ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: [$sel:firewallPolicyId:ThirdPartyFirewallFirewallPolicy'] :: ThirdPartyFirewallFirewallPolicy -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: [$sel:firewallPolicyName:ThirdPartyFirewallFirewallPolicy'] :: ThirdPartyFirewallFirewallPolicy -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: data ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy.ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy.ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy.ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: instance GHC.Classes.Eq Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy.ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: instance GHC.Generics.Generic Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy.ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: instance GHC.Read.Read Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy.ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: instance GHC.Show.Show Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy.ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: newThirdPartyFirewallFirewallPolicy :: ThirdPartyFirewallFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: thirdPartyFirewallFirewallPolicy_firewallPolicyId :: Lens' ThirdPartyFirewallFirewallPolicy (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy: thirdPartyFirewallFirewallPolicy_firewallPolicyName :: Lens' ThirdPartyFirewallFirewallPolicy (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: ThirdPartyFirewallMissingExpectedRouteTableViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: [$sel:availabilityZone:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: [$sel:currentRouteTable:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: [$sel:expectedRouteTable:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: [$sel:violationTarget:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: [$sel:vpc:ThirdPartyFirewallMissingExpectedRouteTableViolation'] :: ThirdPartyFirewallMissingExpectedRouteTableViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: data ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation.ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation.ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation.ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation.ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation.ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: instance GHC.Read.Read Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation.ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: instance GHC.Show.Show Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation.ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: newThirdPartyFirewallMissingExpectedRouteTableViolation :: ThirdPartyFirewallMissingExpectedRouteTableViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation: thirdPartyFirewallMissingExpectedRouteTableViolation_vpc :: Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: ThirdPartyFirewallMissingFirewallViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: [$sel:availabilityZone:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: [$sel:targetViolationReason:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: [$sel:violationTarget:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: [$sel:vpc:ThirdPartyFirewallMissingFirewallViolation'] :: ThirdPartyFirewallMissingFirewallViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: data ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation.ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation.ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation.ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation.ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation.ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: instance GHC.Read.Read Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation.ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: instance GHC.Show.Show Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation.ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: newThirdPartyFirewallMissingFirewallViolation :: ThirdPartyFirewallMissingFirewallViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: thirdPartyFirewallMissingFirewallViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: thirdPartyFirewallMissingFirewallViolation_targetViolationReason :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: thirdPartyFirewallMissingFirewallViolation_violationTarget :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation: thirdPartyFirewallMissingFirewallViolation_vpc :: Lens' ThirdPartyFirewallMissingFirewallViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: ThirdPartyFirewallMissingSubnetViolation' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: [$sel:availabilityZone:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: [$sel:targetViolationReason:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: [$sel:violationTarget:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: [$sel:vpc:ThirdPartyFirewallMissingSubnetViolation'] :: ThirdPartyFirewallMissingSubnetViolation -> Maybe Text
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: data ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation.ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation.ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation.ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: instance GHC.Classes.Eq Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation.ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: instance GHC.Generics.Generic Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation.ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: instance GHC.Read.Read Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation.ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: instance GHC.Show.Show Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation.ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: newThirdPartyFirewallMissingSubnetViolation :: ThirdPartyFirewallMissingSubnetViolation
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: thirdPartyFirewallMissingSubnetViolation_availabilityZone :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: thirdPartyFirewallMissingSubnetViolation_targetViolationReason :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: thirdPartyFirewallMissingSubnetViolation_violationTarget :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation: thirdPartyFirewallMissingSubnetViolation_vpc :: Lens' ThirdPartyFirewallMissingSubnetViolation (Maybe Text)
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: ThirdPartyFirewallPolicy' :: Maybe FirewallDeploymentModel -> ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: [$sel:firewallDeploymentModel:ThirdPartyFirewallPolicy'] :: ThirdPartyFirewallPolicy -> Maybe FirewallDeploymentModel
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: data ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance GHC.Classes.Eq Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance GHC.Generics.Generic Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance GHC.Read.Read Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: instance GHC.Show.Show Amazonka.FMS.Types.ThirdPartyFirewallPolicy.ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: newThirdPartyFirewallPolicy :: ThirdPartyFirewallPolicy
+ Amazonka.FMS.Types.ThirdPartyFirewallPolicy: thirdPartyFirewallPolicy_firewallDeploymentModel :: Lens' ThirdPartyFirewallPolicy (Maybe FirewallDeploymentModel)
+ Amazonka.FMS.Types.ViolationDetail: ViolationDetail' :: Maybe Text -> Maybe [Tag] -> Text -> Text -> Text -> Text -> [ResourceViolation] -> ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: [$sel:memberAccount:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types.ViolationDetail: [$sel:policyId:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types.ViolationDetail: [$sel:resourceDescription:ViolationDetail'] :: ViolationDetail -> Maybe Text
+ Amazonka.FMS.Types.ViolationDetail: [$sel:resourceId:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types.ViolationDetail: [$sel:resourceTags:ViolationDetail'] :: ViolationDetail -> Maybe [Tag]
+ Amazonka.FMS.Types.ViolationDetail: [$sel:resourceType:ViolationDetail'] :: ViolationDetail -> Text
+ Amazonka.FMS.Types.ViolationDetail: [$sel:resourceViolations:ViolationDetail'] :: ViolationDetail -> [ResourceViolation]
+ Amazonka.FMS.Types.ViolationDetail: data ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ViolationDetail.ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ViolationDetail.ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ViolationDetail.ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: instance GHC.Classes.Eq Amazonka.FMS.Types.ViolationDetail.ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: instance GHC.Generics.Generic Amazonka.FMS.Types.ViolationDetail.ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: instance GHC.Read.Read Amazonka.FMS.Types.ViolationDetail.ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: instance GHC.Show.Show Amazonka.FMS.Types.ViolationDetail.ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: newViolationDetail :: Text -> Text -> Text -> Text -> ViolationDetail
+ Amazonka.FMS.Types.ViolationDetail: violationDetail_memberAccount :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types.ViolationDetail: violationDetail_policyId :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types.ViolationDetail: violationDetail_resourceDescription :: Lens' ViolationDetail (Maybe Text)
+ Amazonka.FMS.Types.ViolationDetail: violationDetail_resourceId :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types.ViolationDetail: violationDetail_resourceTags :: Lens' ViolationDetail (Maybe [Tag])
+ Amazonka.FMS.Types.ViolationDetail: violationDetail_resourceType :: Lens' ViolationDetail Text
+ Amazonka.FMS.Types.ViolationDetail: violationDetail_resourceViolations :: Lens' ViolationDetail [ResourceViolation]
+ Amazonka.FMS.Types.ViolationReason: ViolationReason' :: Text -> ViolationReason
+ Amazonka.FMS.Types.ViolationReason: [fromViolationReason] :: ViolationReason -> Text
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.ByteString.ToByteString Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.Headers.ToHeader Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.Log.ToLog Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.Text.FromText Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.Text.ToText Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.XML.FromXML Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Amazonka.Data.XML.ToXML Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Control.DeepSeq.NFData Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance Data.Hashable.Class.Hashable Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance GHC.Classes.Eq Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance GHC.Classes.Ord Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance GHC.Generics.Generic Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance GHC.Read.Read Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: instance GHC.Show.Show Amazonka.FMS.Types.ViolationReason.ViolationReason
+ Amazonka.FMS.Types.ViolationReason: newtype ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_FIREWALL_SUBNET_IS_OUT_OF_SCOPE :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_FMS_CREATED_SECURITY_GROUP_EDITED :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_INTERNET_TRAFFIC_NOT_INSPECTED :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_INVALID_ROUTE_CONFIGURATION :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_MISSING_EXPECTED_ROUTE_TABLE :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_MISSING_FIREWALL :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_MISSING_FIREWALL_SUBNET_IN_AZ :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_MISSING_TARGET_GATEWAY :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_NETWORK_FIREWALL_POLICY_MODIFIED :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_RESOURCE_INCORRECT_WEB_ACL :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_RESOURCE_MISSING_DNS_FIREWALL :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_RESOURCE_MISSING_SECURITY_GROUP :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_RESOURCE_MISSING_SHIELD_PROTECTION :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_RESOURCE_MISSING_WEB_ACL :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_SECURITY_GROUP_REDUNDANT :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_SECURITY_GROUP_UNUSED :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_UNEXPECTED_FIREWALL_ROUTES :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_UNEXPECTED_TARGET_GATEWAY_ROUTES :: ViolationReason
+ Amazonka.FMS.Types.ViolationReason: pattern ViolationReason_WEB_ACL_MISSING_RULE_GROUP :: ViolationReason
+ Amazonka.FMS.UntagResource: UntagResource' :: Text -> [Text] -> UntagResource
+ Amazonka.FMS.UntagResource: UntagResourceResponse' :: Int -> UntagResourceResponse
+ Amazonka.FMS.UntagResource: [$sel:httpStatus:UntagResourceResponse'] :: UntagResourceResponse -> Int
+ Amazonka.FMS.UntagResource: [$sel:resourceArn:UntagResource'] :: UntagResource -> Text
+ Amazonka.FMS.UntagResource: [$sel:tagKeys:UntagResource'] :: UntagResource -> [Text]
+ Amazonka.FMS.UntagResource: data UntagResource
+ Amazonka.FMS.UntagResource: data UntagResourceResponse
+ Amazonka.FMS.UntagResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance Amazonka.Data.Path.ToPath Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance Amazonka.Data.Query.ToQuery Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance Amazonka.Types.AWSRequest Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance Control.DeepSeq.NFData Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance Control.DeepSeq.NFData Amazonka.FMS.UntagResource.UntagResourceResponse
+ Amazonka.FMS.UntagResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance Data.Hashable.Class.Hashable Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance GHC.Classes.Eq Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance GHC.Classes.Eq Amazonka.FMS.UntagResource.UntagResourceResponse
+ Amazonka.FMS.UntagResource: instance GHC.Generics.Generic Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance GHC.Generics.Generic Amazonka.FMS.UntagResource.UntagResourceResponse
+ Amazonka.FMS.UntagResource: instance GHC.Read.Read Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance GHC.Read.Read Amazonka.FMS.UntagResource.UntagResourceResponse
+ Amazonka.FMS.UntagResource: instance GHC.Show.Show Amazonka.FMS.UntagResource.UntagResource
+ Amazonka.FMS.UntagResource: instance GHC.Show.Show Amazonka.FMS.UntagResource.UntagResourceResponse
+ Amazonka.FMS.UntagResource: newUntagResource :: Text -> UntagResource
+ Amazonka.FMS.UntagResource: newUntagResourceResponse :: Int -> UntagResourceResponse
+ Amazonka.FMS.UntagResource: untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int
+ Amazonka.FMS.UntagResource: untagResource_resourceArn :: Lens' UntagResource Text
+ Amazonka.FMS.UntagResource: untagResource_tagKeys :: Lens' UntagResource [Text]

Files

README.md view
@@ -7,9 +7,8 @@   ## Version--`1.6.1`-+ +`2.0` - Derived from API version @2018-01-01@ of the AWS service descriptions, licensed under Apache 2.0.  ## Description @@ -26,7 +25,7 @@ The provided lenses should be compatible with any of the major lens libraries [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). -See [Network.AWS.FMS](http://hackage.haskell.org/package/amazonka-fms/docs/Network-AWS-FMS.html)+See [Amazonka.FMS](http://hackage.haskell.org/package/amazonka-fms/docs/Amazonka-FMS.html) or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.  
− Setup.hs
@@ -1,2 +0,0 @@-import           Distribution.Simple-main = defaultMain
amazonka-fms.cabal view
@@ -1,97 +1,207 @@-name:                  amazonka-fms-version:               1.6.1-synopsis:              Amazon Firewall Management Service SDK.-homepage:              https://github.com/brendanhay/amazonka-bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               MPL-2.0-license-file:          LICENSE-author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2018 Brendan Hay-category:              Network, AWS, Cloud, Distributed Computing-build-type:            Simple-cabal-version:         >= 1.10-extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep+cabal-version:      2.2+name:               amazonka-fms+version:            2.0+synopsis:           Amazon Firewall Management Service SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep+ description:-    The types from this library are intended to be used with-    <http://hackage.haskell.org/package/amazonka amazonka>, which provides-    mechanisms for specifying AuthN/AuthZ information, sending requests,-    and receiving responses.-    .-    Lenses are used for constructing and manipulating types,-    due to the depth of nesting of AWS types and transparency regarding-    de/serialisation into more palatable Haskell values.-    The provided lenses should be compatible with any of the major lens libraries-    such as <http://hackage.haskell.org/package/lens lens> or-    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.-    .-    See "Network.AWS.FMS" or <https://aws.amazon.com/documentation/ the AWS documentation>-    to get started.+  Derived from API version @2018-01-01@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka 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 <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.FMS.Lens" and are+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+  .+  See "Amazonka.FMS" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.  source-repository head-    type:              git-    location:          git://github.com/brendanhay/amazonka.git-    subdir:            amazonka-fms+  type:     git+  location: git://github.com/brendanhay/amazonka.git+  subdir:   amazonka-fms  library-    default-language:  Haskell2010-    hs-source-dirs:    src gen--    ghc-options:-        -Wall-        -fwarn-incomplete-uni-patterns-        -fwarn-incomplete-record-updates-        -funbox-strict-fields--    exposed-modules:-          Network.AWS.FMS-        , Network.AWS.FMS.AssociateAdminAccount-        , Network.AWS.FMS.DeleteNotificationChannel-        , Network.AWS.FMS.DeletePolicy-        , Network.AWS.FMS.DisassociateAdminAccount-        , Network.AWS.FMS.GetAdminAccount-        , Network.AWS.FMS.GetComplianceDetail-        , Network.AWS.FMS.GetNotificationChannel-        , Network.AWS.FMS.GetPolicy-        , Network.AWS.FMS.ListComplianceStatus-        , Network.AWS.FMS.ListPolicies-        , Network.AWS.FMS.PutNotificationChannel-        , Network.AWS.FMS.PutPolicy-        , Network.AWS.FMS.Types-        , Network.AWS.FMS.Waiters+  default-language: Haskell2010+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields -    other-modules:-          Network.AWS.FMS.Types.Product-        , Network.AWS.FMS.Types.Sum+  exposed-modules:+    Amazonka.FMS+    Amazonka.FMS.AssociateAdminAccount+    Amazonka.FMS.AssociateThirdPartyFirewall+    Amazonka.FMS.BatchAssociateResource+    Amazonka.FMS.BatchDisassociateResource+    Amazonka.FMS.DeleteAppsList+    Amazonka.FMS.DeleteNotificationChannel+    Amazonka.FMS.DeletePolicy+    Amazonka.FMS.DeleteProtocolsList+    Amazonka.FMS.DeleteResourceSet+    Amazonka.FMS.DisassociateAdminAccount+    Amazonka.FMS.DisassociateThirdPartyFirewall+    Amazonka.FMS.GetAdminAccount+    Amazonka.FMS.GetAppsList+    Amazonka.FMS.GetComplianceDetail+    Amazonka.FMS.GetNotificationChannel+    Amazonka.FMS.GetPolicy+    Amazonka.FMS.GetProtectionStatus+    Amazonka.FMS.GetProtocolsList+    Amazonka.FMS.GetResourceSet+    Amazonka.FMS.GetThirdPartyFirewallAssociationStatus+    Amazonka.FMS.GetViolationDetails+    Amazonka.FMS.Lens+    Amazonka.FMS.ListAppsLists+    Amazonka.FMS.ListComplianceStatus+    Amazonka.FMS.ListDiscoveredResources+    Amazonka.FMS.ListMemberAccounts+    Amazonka.FMS.ListPolicies+    Amazonka.FMS.ListProtocolsLists+    Amazonka.FMS.ListResourceSetResources+    Amazonka.FMS.ListResourceSets+    Amazonka.FMS.ListTagsForResource+    Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies+    Amazonka.FMS.PutAppsList+    Amazonka.FMS.PutNotificationChannel+    Amazonka.FMS.PutPolicy+    Amazonka.FMS.PutProtocolsList+    Amazonka.FMS.PutResourceSet+    Amazonka.FMS.TagResource+    Amazonka.FMS.Types+    Amazonka.FMS.Types.AccountRoleStatus+    Amazonka.FMS.Types.ActionTarget+    Amazonka.FMS.Types.App+    Amazonka.FMS.Types.AppsListData+    Amazonka.FMS.Types.AppsListDataSummary+    Amazonka.FMS.Types.AwsEc2InstanceViolation+    Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation+    Amazonka.FMS.Types.AwsVPCSecurityGroupViolation+    Amazonka.FMS.Types.ComplianceViolator+    Amazonka.FMS.Types.CustomerPolicyScopeIdType+    Amazonka.FMS.Types.DependentServiceName+    Amazonka.FMS.Types.DestinationType+    Amazonka.FMS.Types.DiscoveredResource+    Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation+    Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation+    Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation+    Amazonka.FMS.Types.EC2AssociateRouteTableAction+    Amazonka.FMS.Types.EC2CopyRouteTableAction+    Amazonka.FMS.Types.EC2CreateRouteAction+    Amazonka.FMS.Types.EC2CreateRouteTableAction+    Amazonka.FMS.Types.EC2DeleteRouteAction+    Amazonka.FMS.Types.EC2ReplaceRouteAction+    Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction+    Amazonka.FMS.Types.EvaluationResult+    Amazonka.FMS.Types.ExpectedRoute+    Amazonka.FMS.Types.FailedItem+    Amazonka.FMS.Types.FailedItemReason+    Amazonka.FMS.Types.FirewallDeploymentModel+    Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation+    Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation+    Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction+    Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus+    Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation+    Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation+    Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation+    Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation+    Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation+    Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation+    Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation+    Amazonka.FMS.Types.NetworkFirewallOverrideAction+    Amazonka.FMS.Types.NetworkFirewallPolicy+    Amazonka.FMS.Types.NetworkFirewallPolicyDescription+    Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation+    Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride+    Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation+    Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation+    Amazonka.FMS.Types.PartialMatch+    Amazonka.FMS.Types.Policy+    Amazonka.FMS.Types.PolicyComplianceDetail+    Amazonka.FMS.Types.PolicyComplianceStatus+    Amazonka.FMS.Types.PolicyComplianceStatusType+    Amazonka.FMS.Types.PolicyOption+    Amazonka.FMS.Types.PolicySummary+    Amazonka.FMS.Types.PossibleRemediationAction+    Amazonka.FMS.Types.PossibleRemediationActions+    Amazonka.FMS.Types.ProtocolsListData+    Amazonka.FMS.Types.ProtocolsListDataSummary+    Amazonka.FMS.Types.RemediationAction+    Amazonka.FMS.Types.RemediationActionType+    Amazonka.FMS.Types.RemediationActionWithOrder+    Amazonka.FMS.Types.Resource+    Amazonka.FMS.Types.ResourceSet+    Amazonka.FMS.Types.ResourceSetSummary+    Amazonka.FMS.Types.ResourceTag+    Amazonka.FMS.Types.ResourceViolation+    Amazonka.FMS.Types.Route+    Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation+    Amazonka.FMS.Types.RuleOrder+    Amazonka.FMS.Types.SecurityGroupRemediationAction+    Amazonka.FMS.Types.SecurityGroupRuleDescription+    Amazonka.FMS.Types.SecurityServicePolicyData+    Amazonka.FMS.Types.SecurityServiceType+    Amazonka.FMS.Types.StatefulEngineOptions+    Amazonka.FMS.Types.StatefulRuleGroup+    Amazonka.FMS.Types.StatelessRuleGroup+    Amazonka.FMS.Types.Tag+    Amazonka.FMS.Types.TargetType+    Amazonka.FMS.Types.ThirdPartyFirewall+    Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus+    Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy+    Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation+    Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation+    Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation+    Amazonka.FMS.Types.ThirdPartyFirewallPolicy+    Amazonka.FMS.Types.ViolationDetail+    Amazonka.FMS.Types.ViolationReason+    Amazonka.FMS.UntagResource+    Amazonka.FMS.Waiters -    build-depends:-          amazonka-core == 1.6.1.*-        , base          >= 4.7     && < 5+  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5  test-suite amazonka-fms-test-    type:              exitcode-stdio-1.0-    default-language:  Haskell2010-    hs-source-dirs:    test-    main-is:           Main.hs--    ghc-options:       -Wall -threaded+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded -    -- This section is encoded by the template and any modules added by-    -- hand outside these namespaces will not correctly be added to the-    -- distribution package.-    other-modules:-          Test.AWS.FMS-        , Test.AWS.Gen.FMS-        , Test.AWS.FMS.Internal+  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.FMS+    Test.Amazonka.FMS.Internal+    Test.Amazonka.Gen.FMS -    build-depends:-          amazonka-core == 1.6.1.*-        , amazonka-test == 1.6.1.*-        , amazonka-fms-        , base-        , bytestring-        , tasty-        , tasty-hunit-        , text-        , time-        , unordered-containers+  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-fms+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AssociateThirdPartyFirewall.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/AssociateThirdPartyFirewallResponse.proto view
+ fixture/BatchAssociateResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/BatchAssociateResourceResponse.proto view
+ fixture/BatchDisassociateResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/BatchDisassociateResourceResponse.proto view
+ fixture/DeleteAppsList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteAppsListResponse.proto view
+ fixture/DeleteProtocolsList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteProtocolsListResponse.proto view
+ fixture/DeleteResourceSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteResourceSetResponse.proto view
+ fixture/DisassociateThirdPartyFirewall.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DisassociateThirdPartyFirewallResponse.proto view
+ fixture/GetAppsList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetAppsListResponse.proto view
+ fixture/GetProtectionStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetProtectionStatusResponse.proto view
+ fixture/GetProtocolsList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetProtocolsListResponse.proto view
+ fixture/GetResourceSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetResourceSetResponse.proto view
+ fixture/GetThirdPartyFirewallAssociationStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetThirdPartyFirewallAssociationStatusResponse.proto view
+ fixture/GetViolationDetails.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetViolationDetailsResponse.proto view
+ fixture/ListAppsLists.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListAppsListsResponse.proto view
+ fixture/ListDiscoveredResources.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListDiscoveredResourcesResponse.proto view
+ fixture/ListMemberAccounts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListMemberAccountsResponse.proto view
+ fixture/ListProtocolsLists.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListProtocolsListsResponse.proto view
+ fixture/ListResourceSetResources.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListResourceSetResourcesResponse.proto view
+ fixture/ListResourceSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListResourceSetsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/ListThirdPartyFirewallFirewallPolicies.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListThirdPartyFirewallFirewallPoliciesResponse.proto view
+ fixture/PutAppsList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutAppsListResponse.proto view
+ fixture/PutProtocolsList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutProtocolsListResponse.proto view
+ fixture/PutResourceSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutResourceSetResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fms/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  fms.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ gen/Amazonka/FMS.hs view
@@ -0,0 +1,681 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.FMS+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-01-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- This is the /Firewall Manager API Reference/. This guide is for+-- developers who need detailed information about the Firewall Manager API+-- actions, data types, and errors. For detailed information about Firewall+-- Manager features, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html Firewall Manager Developer Guide>.+--+-- Some API actions require explicit resource permissions. For information,+-- see the developer guide topic+-- <https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html Firewall Manager required permissions for API actions>.+module Amazonka.FMS+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** InternalErrorException+    _InternalErrorException,++    -- ** InvalidInputException+    _InvalidInputException,++    -- ** InvalidOperationException+    _InvalidOperationException,++    -- ** InvalidTypeException+    _InvalidTypeException,++    -- ** LimitExceededException+    _LimitExceededException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AssociateAdminAccount+    AssociateAdminAccount (AssociateAdminAccount'),+    newAssociateAdminAccount,+    AssociateAdminAccountResponse (AssociateAdminAccountResponse'),+    newAssociateAdminAccountResponse,++    -- ** AssociateThirdPartyFirewall+    AssociateThirdPartyFirewall (AssociateThirdPartyFirewall'),+    newAssociateThirdPartyFirewall,+    AssociateThirdPartyFirewallResponse (AssociateThirdPartyFirewallResponse'),+    newAssociateThirdPartyFirewallResponse,++    -- ** BatchAssociateResource+    BatchAssociateResource (BatchAssociateResource'),+    newBatchAssociateResource,+    BatchAssociateResourceResponse (BatchAssociateResourceResponse'),+    newBatchAssociateResourceResponse,++    -- ** BatchDisassociateResource+    BatchDisassociateResource (BatchDisassociateResource'),+    newBatchDisassociateResource,+    BatchDisassociateResourceResponse (BatchDisassociateResourceResponse'),+    newBatchDisassociateResourceResponse,++    -- ** DeleteAppsList+    DeleteAppsList (DeleteAppsList'),+    newDeleteAppsList,+    DeleteAppsListResponse (DeleteAppsListResponse'),+    newDeleteAppsListResponse,++    -- ** DeleteNotificationChannel+    DeleteNotificationChannel (DeleteNotificationChannel'),+    newDeleteNotificationChannel,+    DeleteNotificationChannelResponse (DeleteNotificationChannelResponse'),+    newDeleteNotificationChannelResponse,++    -- ** DeletePolicy+    DeletePolicy (DeletePolicy'),+    newDeletePolicy,+    DeletePolicyResponse (DeletePolicyResponse'),+    newDeletePolicyResponse,++    -- ** DeleteProtocolsList+    DeleteProtocolsList (DeleteProtocolsList'),+    newDeleteProtocolsList,+    DeleteProtocolsListResponse (DeleteProtocolsListResponse'),+    newDeleteProtocolsListResponse,++    -- ** DeleteResourceSet+    DeleteResourceSet (DeleteResourceSet'),+    newDeleteResourceSet,+    DeleteResourceSetResponse (DeleteResourceSetResponse'),+    newDeleteResourceSetResponse,++    -- ** DisassociateAdminAccount+    DisassociateAdminAccount (DisassociateAdminAccount'),+    newDisassociateAdminAccount,+    DisassociateAdminAccountResponse (DisassociateAdminAccountResponse'),+    newDisassociateAdminAccountResponse,++    -- ** DisassociateThirdPartyFirewall+    DisassociateThirdPartyFirewall (DisassociateThirdPartyFirewall'),+    newDisassociateThirdPartyFirewall,+    DisassociateThirdPartyFirewallResponse (DisassociateThirdPartyFirewallResponse'),+    newDisassociateThirdPartyFirewallResponse,++    -- ** GetAdminAccount+    GetAdminAccount (GetAdminAccount'),+    newGetAdminAccount,+    GetAdminAccountResponse (GetAdminAccountResponse'),+    newGetAdminAccountResponse,++    -- ** GetAppsList+    GetAppsList (GetAppsList'),+    newGetAppsList,+    GetAppsListResponse (GetAppsListResponse'),+    newGetAppsListResponse,++    -- ** GetComplianceDetail+    GetComplianceDetail (GetComplianceDetail'),+    newGetComplianceDetail,+    GetComplianceDetailResponse (GetComplianceDetailResponse'),+    newGetComplianceDetailResponse,++    -- ** GetNotificationChannel+    GetNotificationChannel (GetNotificationChannel'),+    newGetNotificationChannel,+    GetNotificationChannelResponse (GetNotificationChannelResponse'),+    newGetNotificationChannelResponse,++    -- ** GetPolicy+    GetPolicy (GetPolicy'),+    newGetPolicy,+    GetPolicyResponse (GetPolicyResponse'),+    newGetPolicyResponse,++    -- ** GetProtectionStatus+    GetProtectionStatus (GetProtectionStatus'),+    newGetProtectionStatus,+    GetProtectionStatusResponse (GetProtectionStatusResponse'),+    newGetProtectionStatusResponse,++    -- ** GetProtocolsList+    GetProtocolsList (GetProtocolsList'),+    newGetProtocolsList,+    GetProtocolsListResponse (GetProtocolsListResponse'),+    newGetProtocolsListResponse,++    -- ** GetResourceSet+    GetResourceSet (GetResourceSet'),+    newGetResourceSet,+    GetResourceSetResponse (GetResourceSetResponse'),+    newGetResourceSetResponse,++    -- ** GetThirdPartyFirewallAssociationStatus+    GetThirdPartyFirewallAssociationStatus (GetThirdPartyFirewallAssociationStatus'),+    newGetThirdPartyFirewallAssociationStatus,+    GetThirdPartyFirewallAssociationStatusResponse (GetThirdPartyFirewallAssociationStatusResponse'),+    newGetThirdPartyFirewallAssociationStatusResponse,++    -- ** GetViolationDetails+    GetViolationDetails (GetViolationDetails'),+    newGetViolationDetails,+    GetViolationDetailsResponse (GetViolationDetailsResponse'),+    newGetViolationDetailsResponse,++    -- ** ListAppsLists (Paginated)+    ListAppsLists (ListAppsLists'),+    newListAppsLists,+    ListAppsListsResponse (ListAppsListsResponse'),+    newListAppsListsResponse,++    -- ** ListComplianceStatus (Paginated)+    ListComplianceStatus (ListComplianceStatus'),+    newListComplianceStatus,+    ListComplianceStatusResponse (ListComplianceStatusResponse'),+    newListComplianceStatusResponse,++    -- ** ListDiscoveredResources+    ListDiscoveredResources (ListDiscoveredResources'),+    newListDiscoveredResources,+    ListDiscoveredResourcesResponse (ListDiscoveredResourcesResponse'),+    newListDiscoveredResourcesResponse,++    -- ** ListMemberAccounts (Paginated)+    ListMemberAccounts (ListMemberAccounts'),+    newListMemberAccounts,+    ListMemberAccountsResponse (ListMemberAccountsResponse'),+    newListMemberAccountsResponse,++    -- ** ListPolicies (Paginated)+    ListPolicies (ListPolicies'),+    newListPolicies,+    ListPoliciesResponse (ListPoliciesResponse'),+    newListPoliciesResponse,++    -- ** ListProtocolsLists (Paginated)+    ListProtocolsLists (ListProtocolsLists'),+    newListProtocolsLists,+    ListProtocolsListsResponse (ListProtocolsListsResponse'),+    newListProtocolsListsResponse,++    -- ** ListResourceSetResources+    ListResourceSetResources (ListResourceSetResources'),+    newListResourceSetResources,+    ListResourceSetResourcesResponse (ListResourceSetResourcesResponse'),+    newListResourceSetResourcesResponse,++    -- ** ListResourceSets+    ListResourceSets (ListResourceSets'),+    newListResourceSets,+    ListResourceSetsResponse (ListResourceSetsResponse'),+    newListResourceSetsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListThirdPartyFirewallFirewallPolicies (Paginated)+    ListThirdPartyFirewallFirewallPolicies (ListThirdPartyFirewallFirewallPolicies'),+    newListThirdPartyFirewallFirewallPolicies,+    ListThirdPartyFirewallFirewallPoliciesResponse (ListThirdPartyFirewallFirewallPoliciesResponse'),+    newListThirdPartyFirewallFirewallPoliciesResponse,++    -- ** PutAppsList+    PutAppsList (PutAppsList'),+    newPutAppsList,+    PutAppsListResponse (PutAppsListResponse'),+    newPutAppsListResponse,++    -- ** PutNotificationChannel+    PutNotificationChannel (PutNotificationChannel'),+    newPutNotificationChannel,+    PutNotificationChannelResponse (PutNotificationChannelResponse'),+    newPutNotificationChannelResponse,++    -- ** PutPolicy+    PutPolicy (PutPolicy'),+    newPutPolicy,+    PutPolicyResponse (PutPolicyResponse'),+    newPutPolicyResponse,++    -- ** PutProtocolsList+    PutProtocolsList (PutProtocolsList'),+    newPutProtocolsList,+    PutProtocolsListResponse (PutProtocolsListResponse'),+    newPutProtocolsListResponse,++    -- ** PutResourceSet+    PutResourceSet (PutResourceSet'),+    newPutResourceSet,+    PutResourceSetResponse (PutResourceSetResponse'),+    newPutResourceSetResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- * Types++    -- ** AccountRoleStatus+    AccountRoleStatus (..),++    -- ** CustomerPolicyScopeIdType+    CustomerPolicyScopeIdType (..),++    -- ** DependentServiceName+    DependentServiceName (..),++    -- ** DestinationType+    DestinationType (..),++    -- ** FailedItemReason+    FailedItemReason (..),++    -- ** FirewallDeploymentModel+    FirewallDeploymentModel (..),++    -- ** MarketplaceSubscriptionOnboardingStatus+    MarketplaceSubscriptionOnboardingStatus (..),++    -- ** NetworkFirewallOverrideAction+    NetworkFirewallOverrideAction (..),++    -- ** PolicyComplianceStatusType+    PolicyComplianceStatusType (..),++    -- ** RemediationActionType+    RemediationActionType (..),++    -- ** RuleOrder+    RuleOrder (..),++    -- ** SecurityServiceType+    SecurityServiceType (..),++    -- ** TargetType+    TargetType (..),++    -- ** ThirdPartyFirewall+    ThirdPartyFirewall (..),++    -- ** ThirdPartyFirewallAssociationStatus+    ThirdPartyFirewallAssociationStatus (..),++    -- ** ViolationReason+    ViolationReason (..),++    -- ** ActionTarget+    ActionTarget (ActionTarget'),+    newActionTarget,++    -- ** App+    App (App'),+    newApp,++    -- ** AppsListData+    AppsListData (AppsListData'),+    newAppsListData,++    -- ** AppsListDataSummary+    AppsListDataSummary (AppsListDataSummary'),+    newAppsListDataSummary,++    -- ** AwsEc2InstanceViolation+    AwsEc2InstanceViolation (AwsEc2InstanceViolation'),+    newAwsEc2InstanceViolation,++    -- ** AwsEc2NetworkInterfaceViolation+    AwsEc2NetworkInterfaceViolation (AwsEc2NetworkInterfaceViolation'),+    newAwsEc2NetworkInterfaceViolation,++    -- ** AwsVPCSecurityGroupViolation+    AwsVPCSecurityGroupViolation (AwsVPCSecurityGroupViolation'),+    newAwsVPCSecurityGroupViolation,++    -- ** ComplianceViolator+    ComplianceViolator (ComplianceViolator'),+    newComplianceViolator,++    -- ** DiscoveredResource+    DiscoveredResource (DiscoveredResource'),+    newDiscoveredResource,++    -- ** DnsDuplicateRuleGroupViolation+    DnsDuplicateRuleGroupViolation (DnsDuplicateRuleGroupViolation'),+    newDnsDuplicateRuleGroupViolation,++    -- ** DnsRuleGroupLimitExceededViolation+    DnsRuleGroupLimitExceededViolation (DnsRuleGroupLimitExceededViolation'),+    newDnsRuleGroupLimitExceededViolation,++    -- ** DnsRuleGroupPriorityConflictViolation+    DnsRuleGroupPriorityConflictViolation (DnsRuleGroupPriorityConflictViolation'),+    newDnsRuleGroupPriorityConflictViolation,++    -- ** EC2AssociateRouteTableAction+    EC2AssociateRouteTableAction (EC2AssociateRouteTableAction'),+    newEC2AssociateRouteTableAction,++    -- ** EC2CopyRouteTableAction+    EC2CopyRouteTableAction (EC2CopyRouteTableAction'),+    newEC2CopyRouteTableAction,++    -- ** EC2CreateRouteAction+    EC2CreateRouteAction (EC2CreateRouteAction'),+    newEC2CreateRouteAction,++    -- ** EC2CreateRouteTableAction+    EC2CreateRouteTableAction (EC2CreateRouteTableAction'),+    newEC2CreateRouteTableAction,++    -- ** EC2DeleteRouteAction+    EC2DeleteRouteAction (EC2DeleteRouteAction'),+    newEC2DeleteRouteAction,++    -- ** EC2ReplaceRouteAction+    EC2ReplaceRouteAction (EC2ReplaceRouteAction'),+    newEC2ReplaceRouteAction,++    -- ** EC2ReplaceRouteTableAssociationAction+    EC2ReplaceRouteTableAssociationAction (EC2ReplaceRouteTableAssociationAction'),+    newEC2ReplaceRouteTableAssociationAction,++    -- ** EvaluationResult+    EvaluationResult (EvaluationResult'),+    newEvaluationResult,++    -- ** ExpectedRoute+    ExpectedRoute (ExpectedRoute'),+    newExpectedRoute,++    -- ** FMSPolicyUpdateFirewallCreationConfigAction+    FMSPolicyUpdateFirewallCreationConfigAction (FMSPolicyUpdateFirewallCreationConfigAction'),+    newFMSPolicyUpdateFirewallCreationConfigAction,++    -- ** FailedItem+    FailedItem (FailedItem'),+    newFailedItem,++    -- ** FirewallSubnetIsOutOfScopeViolation+    FirewallSubnetIsOutOfScopeViolation (FirewallSubnetIsOutOfScopeViolation'),+    newFirewallSubnetIsOutOfScopeViolation,++    -- ** FirewallSubnetMissingVPCEndpointViolation+    FirewallSubnetMissingVPCEndpointViolation (FirewallSubnetMissingVPCEndpointViolation'),+    newFirewallSubnetMissingVPCEndpointViolation,++    -- ** NetworkFirewallBlackHoleRouteDetectedViolation+    NetworkFirewallBlackHoleRouteDetectedViolation (NetworkFirewallBlackHoleRouteDetectedViolation'),+    newNetworkFirewallBlackHoleRouteDetectedViolation,++    -- ** NetworkFirewallInternetTrafficNotInspectedViolation+    NetworkFirewallInternetTrafficNotInspectedViolation (NetworkFirewallInternetTrafficNotInspectedViolation'),+    newNetworkFirewallInternetTrafficNotInspectedViolation,++    -- ** NetworkFirewallInvalidRouteConfigurationViolation+    NetworkFirewallInvalidRouteConfigurationViolation (NetworkFirewallInvalidRouteConfigurationViolation'),+    newNetworkFirewallInvalidRouteConfigurationViolation,++    -- ** NetworkFirewallMissingExpectedRTViolation+    NetworkFirewallMissingExpectedRTViolation (NetworkFirewallMissingExpectedRTViolation'),+    newNetworkFirewallMissingExpectedRTViolation,++    -- ** NetworkFirewallMissingExpectedRoutesViolation+    NetworkFirewallMissingExpectedRoutesViolation (NetworkFirewallMissingExpectedRoutesViolation'),+    newNetworkFirewallMissingExpectedRoutesViolation,++    -- ** NetworkFirewallMissingFirewallViolation+    NetworkFirewallMissingFirewallViolation (NetworkFirewallMissingFirewallViolation'),+    newNetworkFirewallMissingFirewallViolation,++    -- ** NetworkFirewallMissingSubnetViolation+    NetworkFirewallMissingSubnetViolation (NetworkFirewallMissingSubnetViolation'),+    newNetworkFirewallMissingSubnetViolation,++    -- ** NetworkFirewallPolicy+    NetworkFirewallPolicy (NetworkFirewallPolicy'),+    newNetworkFirewallPolicy,++    -- ** NetworkFirewallPolicyDescription+    NetworkFirewallPolicyDescription (NetworkFirewallPolicyDescription'),+    newNetworkFirewallPolicyDescription,++    -- ** NetworkFirewallPolicyModifiedViolation+    NetworkFirewallPolicyModifiedViolation (NetworkFirewallPolicyModifiedViolation'),+    newNetworkFirewallPolicyModifiedViolation,++    -- ** NetworkFirewallStatefulRuleGroupOverride+    NetworkFirewallStatefulRuleGroupOverride (NetworkFirewallStatefulRuleGroupOverride'),+    newNetworkFirewallStatefulRuleGroupOverride,++    -- ** NetworkFirewallUnexpectedFirewallRoutesViolation+    NetworkFirewallUnexpectedFirewallRoutesViolation (NetworkFirewallUnexpectedFirewallRoutesViolation'),+    newNetworkFirewallUnexpectedFirewallRoutesViolation,++    -- ** NetworkFirewallUnexpectedGatewayRoutesViolation+    NetworkFirewallUnexpectedGatewayRoutesViolation (NetworkFirewallUnexpectedGatewayRoutesViolation'),+    newNetworkFirewallUnexpectedGatewayRoutesViolation,++    -- ** PartialMatch+    PartialMatch (PartialMatch'),+    newPartialMatch,++    -- ** Policy+    Policy (Policy'),+    newPolicy,++    -- ** PolicyComplianceDetail+    PolicyComplianceDetail (PolicyComplianceDetail'),+    newPolicyComplianceDetail,++    -- ** PolicyComplianceStatus+    PolicyComplianceStatus (PolicyComplianceStatus'),+    newPolicyComplianceStatus,++    -- ** PolicyOption+    PolicyOption (PolicyOption'),+    newPolicyOption,++    -- ** PolicySummary+    PolicySummary (PolicySummary'),+    newPolicySummary,++    -- ** PossibleRemediationAction+    PossibleRemediationAction (PossibleRemediationAction'),+    newPossibleRemediationAction,++    -- ** PossibleRemediationActions+    PossibleRemediationActions (PossibleRemediationActions'),+    newPossibleRemediationActions,++    -- ** ProtocolsListData+    ProtocolsListData (ProtocolsListData'),+    newProtocolsListData,++    -- ** ProtocolsListDataSummary+    ProtocolsListDataSummary (ProtocolsListDataSummary'),+    newProtocolsListDataSummary,++    -- ** RemediationAction+    RemediationAction (RemediationAction'),+    newRemediationAction,++    -- ** RemediationActionWithOrder+    RemediationActionWithOrder (RemediationActionWithOrder'),+    newRemediationActionWithOrder,++    -- ** Resource+    Resource (Resource'),+    newResource,++    -- ** ResourceSet+    ResourceSet (ResourceSet'),+    newResourceSet,++    -- ** ResourceSetSummary+    ResourceSetSummary (ResourceSetSummary'),+    newResourceSetSummary,++    -- ** ResourceTag+    ResourceTag (ResourceTag'),+    newResourceTag,++    -- ** ResourceViolation+    ResourceViolation (ResourceViolation'),+    newResourceViolation,++    -- ** Route+    Route (Route'),+    newRoute,++    -- ** RouteHasOutOfScopeEndpointViolation+    RouteHasOutOfScopeEndpointViolation (RouteHasOutOfScopeEndpointViolation'),+    newRouteHasOutOfScopeEndpointViolation,++    -- ** SecurityGroupRemediationAction+    SecurityGroupRemediationAction (SecurityGroupRemediationAction'),+    newSecurityGroupRemediationAction,++    -- ** SecurityGroupRuleDescription+    SecurityGroupRuleDescription (SecurityGroupRuleDescription'),+    newSecurityGroupRuleDescription,++    -- ** SecurityServicePolicyData+    SecurityServicePolicyData (SecurityServicePolicyData'),+    newSecurityServicePolicyData,++    -- ** StatefulEngineOptions+    StatefulEngineOptions (StatefulEngineOptions'),+    newStatefulEngineOptions,++    -- ** StatefulRuleGroup+    StatefulRuleGroup (StatefulRuleGroup'),+    newStatefulRuleGroup,++    -- ** StatelessRuleGroup+    StatelessRuleGroup (StatelessRuleGroup'),+    newStatelessRuleGroup,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** ThirdPartyFirewallFirewallPolicy+    ThirdPartyFirewallFirewallPolicy (ThirdPartyFirewallFirewallPolicy'),+    newThirdPartyFirewallFirewallPolicy,++    -- ** ThirdPartyFirewallMissingExpectedRouteTableViolation+    ThirdPartyFirewallMissingExpectedRouteTableViolation (ThirdPartyFirewallMissingExpectedRouteTableViolation'),+    newThirdPartyFirewallMissingExpectedRouteTableViolation,++    -- ** ThirdPartyFirewallMissingFirewallViolation+    ThirdPartyFirewallMissingFirewallViolation (ThirdPartyFirewallMissingFirewallViolation'),+    newThirdPartyFirewallMissingFirewallViolation,++    -- ** ThirdPartyFirewallMissingSubnetViolation+    ThirdPartyFirewallMissingSubnetViolation (ThirdPartyFirewallMissingSubnetViolation'),+    newThirdPartyFirewallMissingSubnetViolation,++    -- ** ThirdPartyFirewallPolicy+    ThirdPartyFirewallPolicy (ThirdPartyFirewallPolicy'),+    newThirdPartyFirewallPolicy,++    -- ** ViolationDetail+    ViolationDetail (ViolationDetail'),+    newViolationDetail,+  )+where++import Amazonka.FMS.AssociateAdminAccount+import Amazonka.FMS.AssociateThirdPartyFirewall+import Amazonka.FMS.BatchAssociateResource+import Amazonka.FMS.BatchDisassociateResource+import Amazonka.FMS.DeleteAppsList+import Amazonka.FMS.DeleteNotificationChannel+import Amazonka.FMS.DeletePolicy+import Amazonka.FMS.DeleteProtocolsList+import Amazonka.FMS.DeleteResourceSet+import Amazonka.FMS.DisassociateAdminAccount+import Amazonka.FMS.DisassociateThirdPartyFirewall+import Amazonka.FMS.GetAdminAccount+import Amazonka.FMS.GetAppsList+import Amazonka.FMS.GetComplianceDetail+import Amazonka.FMS.GetNotificationChannel+import Amazonka.FMS.GetPolicy+import Amazonka.FMS.GetProtectionStatus+import Amazonka.FMS.GetProtocolsList+import Amazonka.FMS.GetResourceSet+import Amazonka.FMS.GetThirdPartyFirewallAssociationStatus+import Amazonka.FMS.GetViolationDetails+import Amazonka.FMS.Lens+import Amazonka.FMS.ListAppsLists+import Amazonka.FMS.ListComplianceStatus+import Amazonka.FMS.ListDiscoveredResources+import Amazonka.FMS.ListMemberAccounts+import Amazonka.FMS.ListPolicies+import Amazonka.FMS.ListProtocolsLists+import Amazonka.FMS.ListResourceSetResources+import Amazonka.FMS.ListResourceSets+import Amazonka.FMS.ListTagsForResource+import Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies+import Amazonka.FMS.PutAppsList+import Amazonka.FMS.PutNotificationChannel+import Amazonka.FMS.PutPolicy+import Amazonka.FMS.PutProtocolsList+import Amazonka.FMS.PutResourceSet+import Amazonka.FMS.TagResource+import Amazonka.FMS.Types+import Amazonka.FMS.UntagResource+import Amazonka.FMS.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'FMS'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/FMS/AssociateAdminAccount.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.AssociateAdminAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the Firewall Manager administrator account. The account must be a+-- member of the organization in Organizations whose resources you want to+-- protect. Firewall Manager sets the permissions that allow the account to+-- administer your Firewall Manager policies.+--+-- The account that you associate with Firewall Manager is called the+-- Firewall Manager administrator account.+module Amazonka.FMS.AssociateAdminAccount+  ( -- * Creating a Request+    AssociateAdminAccount (..),+    newAssociateAdminAccount,++    -- * Request Lenses+    associateAdminAccount_adminAccount,++    -- * Destructuring the Response+    AssociateAdminAccountResponse (..),+    newAssociateAdminAccountResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateAdminAccount' smart constructor.+data AssociateAdminAccount = AssociateAdminAccount'+  { -- | The Amazon Web Services account ID to associate with Firewall Manager as+    -- the Firewall Manager administrator account. This must be an+    -- Organizations member account. For more information about Organizations,+    -- see+    -- <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html Managing the Amazon Web Services Accounts in Your Organization>.+    adminAccount :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAdminAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adminAccount', 'associateAdminAccount_adminAccount' - The Amazon Web Services account ID to associate with Firewall Manager as+-- the Firewall Manager administrator account. This must be an+-- Organizations member account. For more information about Organizations,+-- see+-- <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html Managing the Amazon Web Services Accounts in Your Organization>.+newAssociateAdminAccount ::+  -- | 'adminAccount'+  Prelude.Text ->+  AssociateAdminAccount+newAssociateAdminAccount pAdminAccount_ =+  AssociateAdminAccount'+    { adminAccount =+        pAdminAccount_+    }++-- | The Amazon Web Services account ID to associate with Firewall Manager as+-- the Firewall Manager administrator account. This must be an+-- Organizations member account. For more information about Organizations,+-- see+-- <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html Managing the Amazon Web Services Accounts in Your Organization>.+associateAdminAccount_adminAccount :: Lens.Lens' AssociateAdminAccount Prelude.Text+associateAdminAccount_adminAccount = Lens.lens (\AssociateAdminAccount' {adminAccount} -> adminAccount) (\s@AssociateAdminAccount' {} a -> s {adminAccount = a} :: AssociateAdminAccount)++instance Core.AWSRequest AssociateAdminAccount where+  type+    AWSResponse AssociateAdminAccount =+      AssociateAdminAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull AssociateAdminAccountResponse'++instance Prelude.Hashable AssociateAdminAccount where+  hashWithSalt _salt AssociateAdminAccount' {..} =+    _salt `Prelude.hashWithSalt` adminAccount++instance Prelude.NFData AssociateAdminAccount where+  rnf AssociateAdminAccount' {..} =+    Prelude.rnf adminAccount++instance Data.ToHeaders AssociateAdminAccount where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.AssociateAdminAccount" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateAdminAccount where+  toJSON AssociateAdminAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("AdminAccount" Data..= adminAccount)]+      )++instance Data.ToPath AssociateAdminAccount where+  toPath = Prelude.const "/"++instance Data.ToQuery AssociateAdminAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateAdminAccountResponse' smart constructor.+data AssociateAdminAccountResponse = AssociateAdminAccountResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAdminAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAssociateAdminAccountResponse ::+  AssociateAdminAccountResponse+newAssociateAdminAccountResponse =+  AssociateAdminAccountResponse'++instance Prelude.NFData AssociateAdminAccountResponse where+  rnf _ = ()
+ gen/Amazonka/FMS/AssociateThirdPartyFirewall.hs view
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.AssociateThirdPartyFirewall+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the Firewall Manager policy administrator as a tenant administrator+-- of a third-party firewall service. A tenant is an instance of the+-- third-party firewall service that\'s associated with your Amazon Web+-- Services customer account.+module Amazonka.FMS.AssociateThirdPartyFirewall+  ( -- * Creating a Request+    AssociateThirdPartyFirewall (..),+    newAssociateThirdPartyFirewall,++    -- * Request Lenses+    associateThirdPartyFirewall_thirdPartyFirewall,++    -- * Destructuring the Response+    AssociateThirdPartyFirewallResponse (..),+    newAssociateThirdPartyFirewallResponse,++    -- * Response Lenses+    associateThirdPartyFirewallResponse_thirdPartyFirewallStatus,+    associateThirdPartyFirewallResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateThirdPartyFirewall' smart constructor.+data AssociateThirdPartyFirewall = AssociateThirdPartyFirewall'+  { -- | The name of the third-party firewall vendor.+    thirdPartyFirewall :: ThirdPartyFirewall+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateThirdPartyFirewall' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'thirdPartyFirewall', 'associateThirdPartyFirewall_thirdPartyFirewall' - The name of the third-party firewall vendor.+newAssociateThirdPartyFirewall ::+  -- | 'thirdPartyFirewall'+  ThirdPartyFirewall ->+  AssociateThirdPartyFirewall+newAssociateThirdPartyFirewall pThirdPartyFirewall_ =+  AssociateThirdPartyFirewall'+    { thirdPartyFirewall =+        pThirdPartyFirewall_+    }++-- | The name of the third-party firewall vendor.+associateThirdPartyFirewall_thirdPartyFirewall :: Lens.Lens' AssociateThirdPartyFirewall ThirdPartyFirewall+associateThirdPartyFirewall_thirdPartyFirewall = Lens.lens (\AssociateThirdPartyFirewall' {thirdPartyFirewall} -> thirdPartyFirewall) (\s@AssociateThirdPartyFirewall' {} a -> s {thirdPartyFirewall = a} :: AssociateThirdPartyFirewall)++instance Core.AWSRequest AssociateThirdPartyFirewall where+  type+    AWSResponse AssociateThirdPartyFirewall =+      AssociateThirdPartyFirewallResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateThirdPartyFirewallResponse'+            Prelude.<$> (x Data..?> "ThirdPartyFirewallStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AssociateThirdPartyFirewall where+  hashWithSalt _salt AssociateThirdPartyFirewall' {..} =+    _salt `Prelude.hashWithSalt` thirdPartyFirewall++instance Prelude.NFData AssociateThirdPartyFirewall where+  rnf AssociateThirdPartyFirewall' {..} =+    Prelude.rnf thirdPartyFirewall++instance Data.ToHeaders AssociateThirdPartyFirewall where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.AssociateThirdPartyFirewall" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateThirdPartyFirewall where+  toJSON AssociateThirdPartyFirewall' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ThirdPartyFirewall" Data..= thirdPartyFirewall)+          ]+      )++instance Data.ToPath AssociateThirdPartyFirewall where+  toPath = Prelude.const "/"++instance Data.ToQuery AssociateThirdPartyFirewall where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateThirdPartyFirewallResponse' smart constructor.+data AssociateThirdPartyFirewallResponse = AssociateThirdPartyFirewallResponse'+  { -- | The current status for setting a Firewall Manager policy+    -- administrator\'s account as an administrator of the third-party firewall+    -- tenant.+    --+    -- -   @ONBOARDING@ - The Firewall Manager policy administrator is being+    --     designated as a tenant administrator.+    --+    -- -   @ONBOARD_COMPLETE@ - The Firewall Manager policy administrator is+    --     designated as a tenant administrator.+    --+    -- -   @OFFBOARDING@ - The Firewall Manager policy administrator is being+    --     removed as a tenant administrator.+    --+    -- -   @OFFBOARD_COMPLETE@ - The Firewall Manager policy administrator has+    --     been removed as a tenant administrator.+    --+    -- -   @NOT_EXIST@ - The Firewall Manager policy administrator doesn\'t+    --     exist as a tenant administrator.+    thirdPartyFirewallStatus :: Prelude.Maybe ThirdPartyFirewallAssociationStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateThirdPartyFirewallResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'thirdPartyFirewallStatus', 'associateThirdPartyFirewallResponse_thirdPartyFirewallStatus' - The current status for setting a Firewall Manager policy+-- administrator\'s account as an administrator of the third-party firewall+-- tenant.+--+-- -   @ONBOARDING@ - The Firewall Manager policy administrator is being+--     designated as a tenant administrator.+--+-- -   @ONBOARD_COMPLETE@ - The Firewall Manager policy administrator is+--     designated as a tenant administrator.+--+-- -   @OFFBOARDING@ - The Firewall Manager policy administrator is being+--     removed as a tenant administrator.+--+-- -   @OFFBOARD_COMPLETE@ - The Firewall Manager policy administrator has+--     been removed as a tenant administrator.+--+-- -   @NOT_EXIST@ - The Firewall Manager policy administrator doesn\'t+--     exist as a tenant administrator.+--+-- 'httpStatus', 'associateThirdPartyFirewallResponse_httpStatus' - The response's http status code.+newAssociateThirdPartyFirewallResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateThirdPartyFirewallResponse+newAssociateThirdPartyFirewallResponse pHttpStatus_ =+  AssociateThirdPartyFirewallResponse'+    { thirdPartyFirewallStatus =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The current status for setting a Firewall Manager policy+-- administrator\'s account as an administrator of the third-party firewall+-- tenant.+--+-- -   @ONBOARDING@ - The Firewall Manager policy administrator is being+--     designated as a tenant administrator.+--+-- -   @ONBOARD_COMPLETE@ - The Firewall Manager policy administrator is+--     designated as a tenant administrator.+--+-- -   @OFFBOARDING@ - The Firewall Manager policy administrator is being+--     removed as a tenant administrator.+--+-- -   @OFFBOARD_COMPLETE@ - The Firewall Manager policy administrator has+--     been removed as a tenant administrator.+--+-- -   @NOT_EXIST@ - The Firewall Manager policy administrator doesn\'t+--     exist as a tenant administrator.+associateThirdPartyFirewallResponse_thirdPartyFirewallStatus :: Lens.Lens' AssociateThirdPartyFirewallResponse (Prelude.Maybe ThirdPartyFirewallAssociationStatus)+associateThirdPartyFirewallResponse_thirdPartyFirewallStatus = Lens.lens (\AssociateThirdPartyFirewallResponse' {thirdPartyFirewallStatus} -> thirdPartyFirewallStatus) (\s@AssociateThirdPartyFirewallResponse' {} a -> s {thirdPartyFirewallStatus = a} :: AssociateThirdPartyFirewallResponse)++-- | The response's http status code.+associateThirdPartyFirewallResponse_httpStatus :: Lens.Lens' AssociateThirdPartyFirewallResponse Prelude.Int+associateThirdPartyFirewallResponse_httpStatus = Lens.lens (\AssociateThirdPartyFirewallResponse' {httpStatus} -> httpStatus) (\s@AssociateThirdPartyFirewallResponse' {} a -> s {httpStatus = a} :: AssociateThirdPartyFirewallResponse)++instance+  Prelude.NFData+    AssociateThirdPartyFirewallResponse+  where+  rnf AssociateThirdPartyFirewallResponse' {..} =+    Prelude.rnf thirdPartyFirewallStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/BatchAssociateResource.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.BatchAssociateResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associate resources to a Firewall Manager resource set.+module Amazonka.FMS.BatchAssociateResource+  ( -- * Creating a Request+    BatchAssociateResource (..),+    newBatchAssociateResource,++    -- * Request Lenses+    batchAssociateResource_resourceSetIdentifier,+    batchAssociateResource_items,++    -- * Destructuring the Response+    BatchAssociateResourceResponse (..),+    newBatchAssociateResourceResponse,++    -- * Response Lenses+    batchAssociateResourceResponse_httpStatus,+    batchAssociateResourceResponse_resourceSetIdentifier,+    batchAssociateResourceResponse_failedItems,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchAssociateResource' smart constructor.+data BatchAssociateResource = BatchAssociateResource'+  { -- | A unique identifier for the resource set, used in a TODO to refer to the+    -- resource set.+    resourceSetIdentifier :: Prelude.Text,+    -- | The uniform resource identifiers (URIs) of resources that should be+    -- associated to the resource set. The URIs must be Amazon Resource Names+    -- (ARNs).+    items :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceSetIdentifier', 'batchAssociateResource_resourceSetIdentifier' - A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+--+-- 'items', 'batchAssociateResource_items' - The uniform resource identifiers (URIs) of resources that should be+-- associated to the resource set. The URIs must be Amazon Resource Names+-- (ARNs).+newBatchAssociateResource ::+  -- | 'resourceSetIdentifier'+  Prelude.Text ->+  BatchAssociateResource+newBatchAssociateResource pResourceSetIdentifier_ =+  BatchAssociateResource'+    { resourceSetIdentifier =+        pResourceSetIdentifier_,+      items = Prelude.mempty+    }++-- | A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+batchAssociateResource_resourceSetIdentifier :: Lens.Lens' BatchAssociateResource Prelude.Text+batchAssociateResource_resourceSetIdentifier = Lens.lens (\BatchAssociateResource' {resourceSetIdentifier} -> resourceSetIdentifier) (\s@BatchAssociateResource' {} a -> s {resourceSetIdentifier = a} :: BatchAssociateResource)++-- | The uniform resource identifiers (URIs) of resources that should be+-- associated to the resource set. The URIs must be Amazon Resource Names+-- (ARNs).+batchAssociateResource_items :: Lens.Lens' BatchAssociateResource [Prelude.Text]+batchAssociateResource_items = Lens.lens (\BatchAssociateResource' {items} -> items) (\s@BatchAssociateResource' {} a -> s {items = a} :: BatchAssociateResource) Prelude.. Lens.coerced++instance Core.AWSRequest BatchAssociateResource where+  type+    AWSResponse BatchAssociateResource =+      BatchAssociateResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchAssociateResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ResourceSetIdentifier")+            Prelude.<*> (x Data..?> "FailedItems" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable BatchAssociateResource where+  hashWithSalt _salt BatchAssociateResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceSetIdentifier+      `Prelude.hashWithSalt` items++instance Prelude.NFData BatchAssociateResource where+  rnf BatchAssociateResource' {..} =+    Prelude.rnf resourceSetIdentifier+      `Prelude.seq` Prelude.rnf items++instance Data.ToHeaders BatchAssociateResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.BatchAssociateResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON BatchAssociateResource where+  toJSON BatchAssociateResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ResourceSetIdentifier"+                  Data..= resourceSetIdentifier+              ),+            Prelude.Just ("Items" Data..= items)+          ]+      )++instance Data.ToPath BatchAssociateResource where+  toPath = Prelude.const "/"++instance Data.ToQuery BatchAssociateResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchAssociateResourceResponse' smart constructor.+data BatchAssociateResourceResponse = BatchAssociateResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A unique identifier for the resource set, used in a TODO to refer to the+    -- resource set.+    resourceSetIdentifier :: Prelude.Text,+    -- | The resources that failed to associate to the resource set.+    failedItems :: [FailedItem]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'batchAssociateResourceResponse_httpStatus' - The response's http status code.+--+-- 'resourceSetIdentifier', 'batchAssociateResourceResponse_resourceSetIdentifier' - A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+--+-- 'failedItems', 'batchAssociateResourceResponse_failedItems' - The resources that failed to associate to the resource set.+newBatchAssociateResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'resourceSetIdentifier'+  Prelude.Text ->+  BatchAssociateResourceResponse+newBatchAssociateResourceResponse+  pHttpStatus_+  pResourceSetIdentifier_ =+    BatchAssociateResourceResponse'+      { httpStatus =+          pHttpStatus_,+        resourceSetIdentifier =+          pResourceSetIdentifier_,+        failedItems = Prelude.mempty+      }++-- | The response's http status code.+batchAssociateResourceResponse_httpStatus :: Lens.Lens' BatchAssociateResourceResponse Prelude.Int+batchAssociateResourceResponse_httpStatus = Lens.lens (\BatchAssociateResourceResponse' {httpStatus} -> httpStatus) (\s@BatchAssociateResourceResponse' {} a -> s {httpStatus = a} :: BatchAssociateResourceResponse)++-- | A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+batchAssociateResourceResponse_resourceSetIdentifier :: Lens.Lens' BatchAssociateResourceResponse Prelude.Text+batchAssociateResourceResponse_resourceSetIdentifier = Lens.lens (\BatchAssociateResourceResponse' {resourceSetIdentifier} -> resourceSetIdentifier) (\s@BatchAssociateResourceResponse' {} a -> s {resourceSetIdentifier = a} :: BatchAssociateResourceResponse)++-- | The resources that failed to associate to the resource set.+batchAssociateResourceResponse_failedItems :: Lens.Lens' BatchAssociateResourceResponse [FailedItem]+batchAssociateResourceResponse_failedItems = Lens.lens (\BatchAssociateResourceResponse' {failedItems} -> failedItems) (\s@BatchAssociateResourceResponse' {} a -> s {failedItems = a} :: BatchAssociateResourceResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    BatchAssociateResourceResponse+  where+  rnf BatchAssociateResourceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf resourceSetIdentifier+      `Prelude.seq` Prelude.rnf failedItems
+ gen/Amazonka/FMS/BatchDisassociateResource.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.BatchDisassociateResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates resources from a Firewall Manager resource set.+module Amazonka.FMS.BatchDisassociateResource+  ( -- * Creating a Request+    BatchDisassociateResource (..),+    newBatchDisassociateResource,++    -- * Request Lenses+    batchDisassociateResource_resourceSetIdentifier,+    batchDisassociateResource_items,++    -- * Destructuring the Response+    BatchDisassociateResourceResponse (..),+    newBatchDisassociateResourceResponse,++    -- * Response Lenses+    batchDisassociateResourceResponse_httpStatus,+    batchDisassociateResourceResponse_resourceSetIdentifier,+    batchDisassociateResourceResponse_failedItems,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchDisassociateResource' smart constructor.+data BatchDisassociateResource = BatchDisassociateResource'+  { -- | A unique identifier for the resource set, used in a TODO to refer to the+    -- resource set.+    resourceSetIdentifier :: Prelude.Text,+    -- | The uniform resource identifiers (URI) of resources that should be+    -- disassociated from the resource set. The URIs must be Amazon Resource+    -- Names (ARNs).+    items :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceSetIdentifier', 'batchDisassociateResource_resourceSetIdentifier' - A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+--+-- 'items', 'batchDisassociateResource_items' - The uniform resource identifiers (URI) of resources that should be+-- disassociated from the resource set. The URIs must be Amazon Resource+-- Names (ARNs).+newBatchDisassociateResource ::+  -- | 'resourceSetIdentifier'+  Prelude.Text ->+  BatchDisassociateResource+newBatchDisassociateResource pResourceSetIdentifier_ =+  BatchDisassociateResource'+    { resourceSetIdentifier =+        pResourceSetIdentifier_,+      items = Prelude.mempty+    }++-- | A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+batchDisassociateResource_resourceSetIdentifier :: Lens.Lens' BatchDisassociateResource Prelude.Text+batchDisassociateResource_resourceSetIdentifier = Lens.lens (\BatchDisassociateResource' {resourceSetIdentifier} -> resourceSetIdentifier) (\s@BatchDisassociateResource' {} a -> s {resourceSetIdentifier = a} :: BatchDisassociateResource)++-- | The uniform resource identifiers (URI) of resources that should be+-- disassociated from the resource set. The URIs must be Amazon Resource+-- Names (ARNs).+batchDisassociateResource_items :: Lens.Lens' BatchDisassociateResource [Prelude.Text]+batchDisassociateResource_items = Lens.lens (\BatchDisassociateResource' {items} -> items) (\s@BatchDisassociateResource' {} a -> s {items = a} :: BatchDisassociateResource) Prelude.. Lens.coerced++instance Core.AWSRequest BatchDisassociateResource where+  type+    AWSResponse BatchDisassociateResource =+      BatchDisassociateResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          BatchDisassociateResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ResourceSetIdentifier")+            Prelude.<*> (x Data..?> "FailedItems" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable BatchDisassociateResource where+  hashWithSalt _salt BatchDisassociateResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceSetIdentifier+      `Prelude.hashWithSalt` items++instance Prelude.NFData BatchDisassociateResource where+  rnf BatchDisassociateResource' {..} =+    Prelude.rnf resourceSetIdentifier+      `Prelude.seq` Prelude.rnf items++instance Data.ToHeaders BatchDisassociateResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.BatchDisassociateResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON BatchDisassociateResource where+  toJSON BatchDisassociateResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ResourceSetIdentifier"+                  Data..= resourceSetIdentifier+              ),+            Prelude.Just ("Items" Data..= items)+          ]+      )++instance Data.ToPath BatchDisassociateResource where+  toPath = Prelude.const "/"++instance Data.ToQuery BatchDisassociateResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDisassociateResourceResponse' smart constructor.+data BatchDisassociateResourceResponse = BatchDisassociateResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A unique identifier for the resource set, used in a TODO to refer to the+    -- resource set.+    resourceSetIdentifier :: Prelude.Text,+    -- | The resources that failed to disassociate from the resource set.+    failedItems :: [FailedItem]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'batchDisassociateResourceResponse_httpStatus' - The response's http status code.+--+-- 'resourceSetIdentifier', 'batchDisassociateResourceResponse_resourceSetIdentifier' - A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+--+-- 'failedItems', 'batchDisassociateResourceResponse_failedItems' - The resources that failed to disassociate from the resource set.+newBatchDisassociateResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'resourceSetIdentifier'+  Prelude.Text ->+  BatchDisassociateResourceResponse+newBatchDisassociateResourceResponse+  pHttpStatus_+  pResourceSetIdentifier_ =+    BatchDisassociateResourceResponse'+      { httpStatus =+          pHttpStatus_,+        resourceSetIdentifier =+          pResourceSetIdentifier_,+        failedItems = Prelude.mempty+      }++-- | The response's http status code.+batchDisassociateResourceResponse_httpStatus :: Lens.Lens' BatchDisassociateResourceResponse Prelude.Int+batchDisassociateResourceResponse_httpStatus = Lens.lens (\BatchDisassociateResourceResponse' {httpStatus} -> httpStatus) (\s@BatchDisassociateResourceResponse' {} a -> s {httpStatus = a} :: BatchDisassociateResourceResponse)++-- | A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+batchDisassociateResourceResponse_resourceSetIdentifier :: Lens.Lens' BatchDisassociateResourceResponse Prelude.Text+batchDisassociateResourceResponse_resourceSetIdentifier = Lens.lens (\BatchDisassociateResourceResponse' {resourceSetIdentifier} -> resourceSetIdentifier) (\s@BatchDisassociateResourceResponse' {} a -> s {resourceSetIdentifier = a} :: BatchDisassociateResourceResponse)++-- | The resources that failed to disassociate from the resource set.+batchDisassociateResourceResponse_failedItems :: Lens.Lens' BatchDisassociateResourceResponse [FailedItem]+batchDisassociateResourceResponse_failedItems = Lens.lens (\BatchDisassociateResourceResponse' {failedItems} -> failedItems) (\s@BatchDisassociateResourceResponse' {} a -> s {failedItems = a} :: BatchDisassociateResourceResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    BatchDisassociateResourceResponse+  where+  rnf BatchDisassociateResourceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf resourceSetIdentifier+      `Prelude.seq` Prelude.rnf failedItems
+ gen/Amazonka/FMS/DeleteAppsList.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.DeleteAppsList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently deletes an Firewall Manager applications list.+module Amazonka.FMS.DeleteAppsList+  ( -- * Creating a Request+    DeleteAppsList (..),+    newDeleteAppsList,++    -- * Request Lenses+    deleteAppsList_listId,++    -- * Destructuring the Response+    DeleteAppsListResponse (..),+    newDeleteAppsListResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAppsList' smart constructor.+data DeleteAppsList = DeleteAppsList'+  { -- | The ID of the applications list that you want to delete. You can+    -- retrieve this ID from @PutAppsList@, @ListAppsLists@, and @GetAppsList@.+    listId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppsList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'listId', 'deleteAppsList_listId' - The ID of the applications list that you want to delete. You can+-- retrieve this ID from @PutAppsList@, @ListAppsLists@, and @GetAppsList@.+newDeleteAppsList ::+  -- | 'listId'+  Prelude.Text ->+  DeleteAppsList+newDeleteAppsList pListId_ =+  DeleteAppsList' {listId = pListId_}++-- | The ID of the applications list that you want to delete. You can+-- retrieve this ID from @PutAppsList@, @ListAppsLists@, and @GetAppsList@.+deleteAppsList_listId :: Lens.Lens' DeleteAppsList Prelude.Text+deleteAppsList_listId = Lens.lens (\DeleteAppsList' {listId} -> listId) (\s@DeleteAppsList' {} a -> s {listId = a} :: DeleteAppsList)++instance Core.AWSRequest DeleteAppsList where+  type+    AWSResponse DeleteAppsList =+      DeleteAppsListResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteAppsListResponse'++instance Prelude.Hashable DeleteAppsList where+  hashWithSalt _salt DeleteAppsList' {..} =+    _salt `Prelude.hashWithSalt` listId++instance Prelude.NFData DeleteAppsList where+  rnf DeleteAppsList' {..} = Prelude.rnf listId++instance Data.ToHeaders DeleteAppsList where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.DeleteAppsList" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteAppsList where+  toJSON DeleteAppsList' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ListId" Data..= listId)]+      )++instance Data.ToPath DeleteAppsList where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteAppsList where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppsListResponse' smart constructor.+data DeleteAppsListResponse = DeleteAppsListResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppsListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteAppsListResponse ::+  DeleteAppsListResponse+newDeleteAppsListResponse = DeleteAppsListResponse'++instance Prelude.NFData DeleteAppsListResponse where+  rnf _ = ()
+ gen/Amazonka/FMS/DeleteNotificationChannel.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.DeleteNotificationChannel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an Firewall Manager association with the IAM role and the Amazon+-- Simple Notification Service (SNS) topic that is used to record Firewall+-- Manager SNS logs.+module Amazonka.FMS.DeleteNotificationChannel+  ( -- * Creating a Request+    DeleteNotificationChannel (..),+    newDeleteNotificationChannel,++    -- * Destructuring the Response+    DeleteNotificationChannelResponse (..),+    newDeleteNotificationChannelResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteNotificationChannel' smart constructor.+data DeleteNotificationChannel = DeleteNotificationChannel'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNotificationChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteNotificationChannel ::+  DeleteNotificationChannel+newDeleteNotificationChannel =+  DeleteNotificationChannel'++instance Core.AWSRequest DeleteNotificationChannel where+  type+    AWSResponse DeleteNotificationChannel =+      DeleteNotificationChannelResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DeleteNotificationChannelResponse'++instance Prelude.Hashable DeleteNotificationChannel where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DeleteNotificationChannel where+  rnf _ = ()++instance Data.ToHeaders DeleteNotificationChannel where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.DeleteNotificationChannel" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteNotificationChannel where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DeleteNotificationChannel where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteNotificationChannel where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteNotificationChannelResponse' smart constructor.+data DeleteNotificationChannelResponse = DeleteNotificationChannelResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNotificationChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteNotificationChannelResponse ::+  DeleteNotificationChannelResponse+newDeleteNotificationChannelResponse =+  DeleteNotificationChannelResponse'++instance+  Prelude.NFData+    DeleteNotificationChannelResponse+  where+  rnf _ = ()
+ gen/Amazonka/FMS/DeletePolicy.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.DeletePolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently deletes an Firewall Manager policy.+module Amazonka.FMS.DeletePolicy+  ( -- * Creating a Request+    DeletePolicy (..),+    newDeletePolicy,++    -- * Request Lenses+    deletePolicy_deleteAllPolicyResources,+    deletePolicy_policyId,++    -- * Destructuring the Response+    DeletePolicyResponse (..),+    newDeletePolicyResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePolicy' smart constructor.+data DeletePolicy = DeletePolicy'+  { -- | If @True@, the request performs cleanup according to the policy type.+    --+    -- For WAF and Shield Advanced policies, the cleanup does the following:+    --+    -- -   Deletes rule groups created by Firewall Manager+    --+    -- -   Removes web ACLs from in-scope resources+    --+    -- -   Deletes web ACLs that contain no rules or rule groups+    --+    -- For security group policies, the cleanup does the following for each+    -- security group in the policy:+    --+    -- -   Disassociates the security group from in-scope resources+    --+    -- -   Deletes the security group if it was created through Firewall+    --     Manager and if it\'s no longer associated with any resources through+    --     another policy+    --+    -- After the cleanup, in-scope resources are no longer protected by web+    -- ACLs in this policy. Protection of out-of-scope resources remains+    -- unchanged. Scope is determined by tags that you create and accounts that+    -- you associate with the policy. When creating the policy, if you specify+    -- that only resources in specific accounts or with specific tags are in+    -- scope of the policy, those accounts and resources are handled by the+    -- policy. All others are out of scope. If you don\'t specify tags or+    -- accounts, all resources are in scope.+    deleteAllPolicyResources :: Prelude.Maybe Prelude.Bool,+    -- | The ID of the policy that you want to delete. You can retrieve this ID+    -- from @PutPolicy@ and @ListPolicies@.+    policyId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteAllPolicyResources', 'deletePolicy_deleteAllPolicyResources' - If @True@, the request performs cleanup according to the policy type.+--+-- For WAF and Shield Advanced policies, the cleanup does the following:+--+-- -   Deletes rule groups created by Firewall Manager+--+-- -   Removes web ACLs from in-scope resources+--+-- -   Deletes web ACLs that contain no rules or rule groups+--+-- For security group policies, the cleanup does the following for each+-- security group in the policy:+--+-- -   Disassociates the security group from in-scope resources+--+-- -   Deletes the security group if it was created through Firewall+--     Manager and if it\'s no longer associated with any resources through+--     another policy+--+-- After the cleanup, in-scope resources are no longer protected by web+-- ACLs in this policy. Protection of out-of-scope resources remains+-- unchanged. Scope is determined by tags that you create and accounts that+-- you associate with the policy. When creating the policy, if you specify+-- that only resources in specific accounts or with specific tags are in+-- scope of the policy, those accounts and resources are handled by the+-- policy. All others are out of scope. If you don\'t specify tags or+-- accounts, all resources are in scope.+--+-- 'policyId', 'deletePolicy_policyId' - The ID of the policy that you want to delete. You can retrieve this ID+-- from @PutPolicy@ and @ListPolicies@.+newDeletePolicy ::+  -- | 'policyId'+  Prelude.Text ->+  DeletePolicy+newDeletePolicy pPolicyId_ =+  DeletePolicy'+    { deleteAllPolicyResources =+        Prelude.Nothing,+      policyId = pPolicyId_+    }++-- | If @True@, the request performs cleanup according to the policy type.+--+-- For WAF and Shield Advanced policies, the cleanup does the following:+--+-- -   Deletes rule groups created by Firewall Manager+--+-- -   Removes web ACLs from in-scope resources+--+-- -   Deletes web ACLs that contain no rules or rule groups+--+-- For security group policies, the cleanup does the following for each+-- security group in the policy:+--+-- -   Disassociates the security group from in-scope resources+--+-- -   Deletes the security group if it was created through Firewall+--     Manager and if it\'s no longer associated with any resources through+--     another policy+--+-- After the cleanup, in-scope resources are no longer protected by web+-- ACLs in this policy. Protection of out-of-scope resources remains+-- unchanged. Scope is determined by tags that you create and accounts that+-- you associate with the policy. When creating the policy, if you specify+-- that only resources in specific accounts or with specific tags are in+-- scope of the policy, those accounts and resources are handled by the+-- policy. All others are out of scope. If you don\'t specify tags or+-- accounts, all resources are in scope.+deletePolicy_deleteAllPolicyResources :: Lens.Lens' DeletePolicy (Prelude.Maybe Prelude.Bool)+deletePolicy_deleteAllPolicyResources = Lens.lens (\DeletePolicy' {deleteAllPolicyResources} -> deleteAllPolicyResources) (\s@DeletePolicy' {} a -> s {deleteAllPolicyResources = a} :: DeletePolicy)++-- | The ID of the policy that you want to delete. You can retrieve this ID+-- from @PutPolicy@ and @ListPolicies@.+deletePolicy_policyId :: Lens.Lens' DeletePolicy Prelude.Text+deletePolicy_policyId = Lens.lens (\DeletePolicy' {policyId} -> policyId) (\s@DeletePolicy' {} a -> s {policyId = a} :: DeletePolicy)++instance Core.AWSRequest DeletePolicy where+  type AWSResponse DeletePolicy = DeletePolicyResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response = Response.receiveNull DeletePolicyResponse'++instance Prelude.Hashable DeletePolicy where+  hashWithSalt _salt DeletePolicy' {..} =+    _salt+      `Prelude.hashWithSalt` deleteAllPolicyResources+      `Prelude.hashWithSalt` policyId++instance Prelude.NFData DeletePolicy where+  rnf DeletePolicy' {..} =+    Prelude.rnf deleteAllPolicyResources+      `Prelude.seq` Prelude.rnf policyId++instance Data.ToHeaders DeletePolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.DeletePolicy" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeletePolicy where+  toJSON DeletePolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DeleteAllPolicyResources" Data..=)+              Prelude.<$> deleteAllPolicyResources,+            Prelude.Just ("PolicyId" Data..= policyId)+          ]+      )++instance Data.ToPath DeletePolicy where+  toPath = Prelude.const "/"++instance Data.ToQuery DeletePolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePolicyResponse' smart constructor.+data DeletePolicyResponse = DeletePolicyResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeletePolicyResponse ::+  DeletePolicyResponse+newDeletePolicyResponse = DeletePolicyResponse'++instance Prelude.NFData DeletePolicyResponse where+  rnf _ = ()
+ gen/Amazonka/FMS/DeleteProtocolsList.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.DeleteProtocolsList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently deletes an Firewall Manager protocols list.+module Amazonka.FMS.DeleteProtocolsList+  ( -- * Creating a Request+    DeleteProtocolsList (..),+    newDeleteProtocolsList,++    -- * Request Lenses+    deleteProtocolsList_listId,++    -- * Destructuring the Response+    DeleteProtocolsListResponse (..),+    newDeleteProtocolsListResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteProtocolsList' smart constructor.+data DeleteProtocolsList = DeleteProtocolsList'+  { -- | The ID of the protocols list that you want to delete. You can retrieve+    -- this ID from @PutProtocolsList@, @ListProtocolsLists@, and+    -- @GetProtocolsLost@.+    listId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProtocolsList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'listId', 'deleteProtocolsList_listId' - The ID of the protocols list that you want to delete. You can retrieve+-- this ID from @PutProtocolsList@, @ListProtocolsLists@, and+-- @GetProtocolsLost@.+newDeleteProtocolsList ::+  -- | 'listId'+  Prelude.Text ->+  DeleteProtocolsList+newDeleteProtocolsList pListId_ =+  DeleteProtocolsList' {listId = pListId_}++-- | The ID of the protocols list that you want to delete. You can retrieve+-- this ID from @PutProtocolsList@, @ListProtocolsLists@, and+-- @GetProtocolsLost@.+deleteProtocolsList_listId :: Lens.Lens' DeleteProtocolsList Prelude.Text+deleteProtocolsList_listId = Lens.lens (\DeleteProtocolsList' {listId} -> listId) (\s@DeleteProtocolsList' {} a -> s {listId = a} :: DeleteProtocolsList)++instance Core.AWSRequest DeleteProtocolsList where+  type+    AWSResponse DeleteProtocolsList =+      DeleteProtocolsListResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteProtocolsListResponse'++instance Prelude.Hashable DeleteProtocolsList where+  hashWithSalt _salt DeleteProtocolsList' {..} =+    _salt `Prelude.hashWithSalt` listId++instance Prelude.NFData DeleteProtocolsList where+  rnf DeleteProtocolsList' {..} = Prelude.rnf listId++instance Data.ToHeaders DeleteProtocolsList where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.DeleteProtocolsList" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteProtocolsList where+  toJSON DeleteProtocolsList' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ListId" Data..= listId)]+      )++instance Data.ToPath DeleteProtocolsList where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteProtocolsList where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteProtocolsListResponse' smart constructor.+data DeleteProtocolsListResponse = DeleteProtocolsListResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProtocolsListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteProtocolsListResponse ::+  DeleteProtocolsListResponse+newDeleteProtocolsListResponse =+  DeleteProtocolsListResponse'++instance Prelude.NFData DeleteProtocolsListResponse where+  rnf _ = ()
+ gen/Amazonka/FMS/DeleteResourceSet.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.DeleteResourceSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified ResourceSet.+module Amazonka.FMS.DeleteResourceSet+  ( -- * Creating a Request+    DeleteResourceSet (..),+    newDeleteResourceSet,++    -- * Request Lenses+    deleteResourceSet_identifier,++    -- * Destructuring the Response+    DeleteResourceSetResponse (..),+    newDeleteResourceSetResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteResourceSet' smart constructor.+data DeleteResourceSet = DeleteResourceSet'+  { -- | A unique identifier for the resource set, used in a TODO to refer to the+    -- resource set.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourceSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identifier', 'deleteResourceSet_identifier' - A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+newDeleteResourceSet ::+  -- | 'identifier'+  Prelude.Text ->+  DeleteResourceSet+newDeleteResourceSet pIdentifier_ =+  DeleteResourceSet' {identifier = pIdentifier_}++-- | A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+deleteResourceSet_identifier :: Lens.Lens' DeleteResourceSet Prelude.Text+deleteResourceSet_identifier = Lens.lens (\DeleteResourceSet' {identifier} -> identifier) (\s@DeleteResourceSet' {} a -> s {identifier = a} :: DeleteResourceSet)++instance Core.AWSRequest DeleteResourceSet where+  type+    AWSResponse DeleteResourceSet =+      DeleteResourceSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteResourceSetResponse'++instance Prelude.Hashable DeleteResourceSet where+  hashWithSalt _salt DeleteResourceSet' {..} =+    _salt `Prelude.hashWithSalt` identifier++instance Prelude.NFData DeleteResourceSet where+  rnf DeleteResourceSet' {..} = Prelude.rnf identifier++instance Data.ToHeaders DeleteResourceSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.DeleteResourceSet" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteResourceSet where+  toJSON DeleteResourceSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Identifier" Data..= identifier)]+      )++instance Data.ToPath DeleteResourceSet where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteResourceSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResourceSetResponse' smart constructor.+data DeleteResourceSetResponse = DeleteResourceSetResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourceSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteResourceSetResponse ::+  DeleteResourceSetResponse+newDeleteResourceSetResponse =+  DeleteResourceSetResponse'++instance Prelude.NFData DeleteResourceSetResponse where+  rnf _ = ()
+ gen/Amazonka/FMS/DisassociateAdminAccount.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.DisassociateAdminAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates the account that has been set as the Firewall Manager+-- administrator account. To set a different account as the administrator+-- account, you must submit an @AssociateAdminAccount@ request.+module Amazonka.FMS.DisassociateAdminAccount+  ( -- * Creating a Request+    DisassociateAdminAccount (..),+    newDisassociateAdminAccount,++    -- * Destructuring the Response+    DisassociateAdminAccountResponse (..),+    newDisassociateAdminAccountResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateAdminAccount' smart constructor.+data DisassociateAdminAccount = DisassociateAdminAccount'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAdminAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDisassociateAdminAccount ::+  DisassociateAdminAccount+newDisassociateAdminAccount =+  DisassociateAdminAccount'++instance Core.AWSRequest DisassociateAdminAccount where+  type+    AWSResponse DisassociateAdminAccount =+      DisassociateAdminAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DisassociateAdminAccountResponse'++instance Prelude.Hashable DisassociateAdminAccount where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DisassociateAdminAccount where+  rnf _ = ()++instance Data.ToHeaders DisassociateAdminAccount where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.DisassociateAdminAccount" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DisassociateAdminAccount where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DisassociateAdminAccount where+  toPath = Prelude.const "/"++instance Data.ToQuery DisassociateAdminAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateAdminAccountResponse' smart constructor.+data DisassociateAdminAccountResponse = DisassociateAdminAccountResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAdminAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDisassociateAdminAccountResponse ::+  DisassociateAdminAccountResponse+newDisassociateAdminAccountResponse =+  DisassociateAdminAccountResponse'++instance+  Prelude.NFData+    DisassociateAdminAccountResponse+  where+  rnf _ = ()
+ gen/Amazonka/FMS/DisassociateThirdPartyFirewall.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.DisassociateThirdPartyFirewall+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a Firewall Manager policy administrator from a third-party+-- firewall tenant. When you call @DisassociateThirdPartyFirewall@, the+-- third-party firewall vendor deletes all of the firewalls that are+-- associated with the account.+module Amazonka.FMS.DisassociateThirdPartyFirewall+  ( -- * Creating a Request+    DisassociateThirdPartyFirewall (..),+    newDisassociateThirdPartyFirewall,++    -- * Request Lenses+    disassociateThirdPartyFirewall_thirdPartyFirewall,++    -- * Destructuring the Response+    DisassociateThirdPartyFirewallResponse (..),+    newDisassociateThirdPartyFirewallResponse,++    -- * Response Lenses+    disassociateThirdPartyFirewallResponse_thirdPartyFirewallStatus,+    disassociateThirdPartyFirewallResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateThirdPartyFirewall' smart constructor.+data DisassociateThirdPartyFirewall = DisassociateThirdPartyFirewall'+  { -- | The name of the third-party firewall vendor.+    thirdPartyFirewall :: ThirdPartyFirewall+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateThirdPartyFirewall' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'thirdPartyFirewall', 'disassociateThirdPartyFirewall_thirdPartyFirewall' - The name of the third-party firewall vendor.+newDisassociateThirdPartyFirewall ::+  -- | 'thirdPartyFirewall'+  ThirdPartyFirewall ->+  DisassociateThirdPartyFirewall+newDisassociateThirdPartyFirewall+  pThirdPartyFirewall_ =+    DisassociateThirdPartyFirewall'+      { thirdPartyFirewall =+          pThirdPartyFirewall_+      }++-- | The name of the third-party firewall vendor.+disassociateThirdPartyFirewall_thirdPartyFirewall :: Lens.Lens' DisassociateThirdPartyFirewall ThirdPartyFirewall+disassociateThirdPartyFirewall_thirdPartyFirewall = Lens.lens (\DisassociateThirdPartyFirewall' {thirdPartyFirewall} -> thirdPartyFirewall) (\s@DisassociateThirdPartyFirewall' {} a -> s {thirdPartyFirewall = a} :: DisassociateThirdPartyFirewall)++instance+  Core.AWSRequest+    DisassociateThirdPartyFirewall+  where+  type+    AWSResponse DisassociateThirdPartyFirewall =+      DisassociateThirdPartyFirewallResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateThirdPartyFirewallResponse'+            Prelude.<$> (x Data..?> "ThirdPartyFirewallStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateThirdPartyFirewall+  where+  hashWithSalt+    _salt+    DisassociateThirdPartyFirewall' {..} =+      _salt `Prelude.hashWithSalt` thirdPartyFirewall++instance+  Prelude.NFData+    DisassociateThirdPartyFirewall+  where+  rnf DisassociateThirdPartyFirewall' {..} =+    Prelude.rnf thirdPartyFirewall++instance+  Data.ToHeaders+    DisassociateThirdPartyFirewall+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.DisassociateThirdPartyFirewall" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DisassociateThirdPartyFirewall where+  toJSON DisassociateThirdPartyFirewall' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ThirdPartyFirewall" Data..= thirdPartyFirewall)+          ]+      )++instance Data.ToPath DisassociateThirdPartyFirewall where+  toPath = Prelude.const "/"++instance Data.ToQuery DisassociateThirdPartyFirewall where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateThirdPartyFirewallResponse' smart constructor.+data DisassociateThirdPartyFirewallResponse = DisassociateThirdPartyFirewallResponse'+  { -- | The current status for the disassociation of a Firewall Manager+    -- administrators account with a third-party firewall.+    thirdPartyFirewallStatus :: Prelude.Maybe ThirdPartyFirewallAssociationStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateThirdPartyFirewallResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'thirdPartyFirewallStatus', 'disassociateThirdPartyFirewallResponse_thirdPartyFirewallStatus' - The current status for the disassociation of a Firewall Manager+-- administrators account with a third-party firewall.+--+-- 'httpStatus', 'disassociateThirdPartyFirewallResponse_httpStatus' - The response's http status code.+newDisassociateThirdPartyFirewallResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateThirdPartyFirewallResponse+newDisassociateThirdPartyFirewallResponse+  pHttpStatus_ =+    DisassociateThirdPartyFirewallResponse'+      { thirdPartyFirewallStatus =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The current status for the disassociation of a Firewall Manager+-- administrators account with a third-party firewall.+disassociateThirdPartyFirewallResponse_thirdPartyFirewallStatus :: Lens.Lens' DisassociateThirdPartyFirewallResponse (Prelude.Maybe ThirdPartyFirewallAssociationStatus)+disassociateThirdPartyFirewallResponse_thirdPartyFirewallStatus = Lens.lens (\DisassociateThirdPartyFirewallResponse' {thirdPartyFirewallStatus} -> thirdPartyFirewallStatus) (\s@DisassociateThirdPartyFirewallResponse' {} a -> s {thirdPartyFirewallStatus = a} :: DisassociateThirdPartyFirewallResponse)++-- | The response's http status code.+disassociateThirdPartyFirewallResponse_httpStatus :: Lens.Lens' DisassociateThirdPartyFirewallResponse Prelude.Int+disassociateThirdPartyFirewallResponse_httpStatus = Lens.lens (\DisassociateThirdPartyFirewallResponse' {httpStatus} -> httpStatus) (\s@DisassociateThirdPartyFirewallResponse' {} a -> s {httpStatus = a} :: DisassociateThirdPartyFirewallResponse)++instance+  Prelude.NFData+    DisassociateThirdPartyFirewallResponse+  where+  rnf DisassociateThirdPartyFirewallResponse' {..} =+    Prelude.rnf thirdPartyFirewallStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetAdminAccount.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetAdminAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the Organizations account that is associated with Firewall+-- Manager as the Firewall Manager administrator.+module Amazonka.FMS.GetAdminAccount+  ( -- * Creating a Request+    GetAdminAccount (..),+    newGetAdminAccount,++    -- * Destructuring the Response+    GetAdminAccountResponse (..),+    newGetAdminAccountResponse,++    -- * Response Lenses+    getAdminAccountResponse_adminAccount,+    getAdminAccountResponse_roleStatus,+    getAdminAccountResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAdminAccount' smart constructor.+data GetAdminAccount = GetAdminAccount'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAdminAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetAdminAccount ::+  GetAdminAccount+newGetAdminAccount = GetAdminAccount'++instance Core.AWSRequest GetAdminAccount where+  type+    AWSResponse GetAdminAccount =+      GetAdminAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAdminAccountResponse'+            Prelude.<$> (x Data..?> "AdminAccount")+            Prelude.<*> (x Data..?> "RoleStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAdminAccount where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetAdminAccount where+  rnf _ = ()++instance Data.ToHeaders GetAdminAccount where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetAdminAccount" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetAdminAccount where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetAdminAccount where+  toPath = Prelude.const "/"++instance Data.ToQuery GetAdminAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAdminAccountResponse' smart constructor.+data GetAdminAccountResponse = GetAdminAccountResponse'+  { -- | The Amazon Web Services account that is set as the Firewall Manager+    -- administrator.+    adminAccount :: Prelude.Maybe Prelude.Text,+    -- | The status of the Amazon Web Services account that you set as the+    -- Firewall Manager administrator.+    roleStatus :: Prelude.Maybe AccountRoleStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAdminAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adminAccount', 'getAdminAccountResponse_adminAccount' - The Amazon Web Services account that is set as the Firewall Manager+-- administrator.+--+-- 'roleStatus', 'getAdminAccountResponse_roleStatus' - The status of the Amazon Web Services account that you set as the+-- Firewall Manager administrator.+--+-- 'httpStatus', 'getAdminAccountResponse_httpStatus' - The response's http status code.+newGetAdminAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAdminAccountResponse+newGetAdminAccountResponse pHttpStatus_ =+  GetAdminAccountResponse'+    { adminAccount =+        Prelude.Nothing,+      roleStatus = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Web Services account that is set as the Firewall Manager+-- administrator.+getAdminAccountResponse_adminAccount :: Lens.Lens' GetAdminAccountResponse (Prelude.Maybe Prelude.Text)+getAdminAccountResponse_adminAccount = Lens.lens (\GetAdminAccountResponse' {adminAccount} -> adminAccount) (\s@GetAdminAccountResponse' {} a -> s {adminAccount = a} :: GetAdminAccountResponse)++-- | The status of the Amazon Web Services account that you set as the+-- Firewall Manager administrator.+getAdminAccountResponse_roleStatus :: Lens.Lens' GetAdminAccountResponse (Prelude.Maybe AccountRoleStatus)+getAdminAccountResponse_roleStatus = Lens.lens (\GetAdminAccountResponse' {roleStatus} -> roleStatus) (\s@GetAdminAccountResponse' {} a -> s {roleStatus = a} :: GetAdminAccountResponse)++-- | The response's http status code.+getAdminAccountResponse_httpStatus :: Lens.Lens' GetAdminAccountResponse Prelude.Int+getAdminAccountResponse_httpStatus = Lens.lens (\GetAdminAccountResponse' {httpStatus} -> httpStatus) (\s@GetAdminAccountResponse' {} a -> s {httpStatus = a} :: GetAdminAccountResponse)++instance Prelude.NFData GetAdminAccountResponse where+  rnf GetAdminAccountResponse' {..} =+    Prelude.rnf adminAccount+      `Prelude.seq` Prelude.rnf roleStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetAppsList.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetAppsList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the specified Firewall Manager applications+-- list.+module Amazonka.FMS.GetAppsList+  ( -- * Creating a Request+    GetAppsList (..),+    newGetAppsList,++    -- * Request Lenses+    getAppsList_defaultList,+    getAppsList_listId,++    -- * Destructuring the Response+    GetAppsListResponse (..),+    newGetAppsListResponse,++    -- * Response Lenses+    getAppsListResponse_appsList,+    getAppsListResponse_appsListArn,+    getAppsListResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAppsList' smart constructor.+data GetAppsList = GetAppsList'+  { -- | Specifies whether the list to retrieve is a default list owned by+    -- Firewall Manager.+    defaultList :: Prelude.Maybe Prelude.Bool,+    -- | The ID of the Firewall Manager applications list that you want the+    -- details for.+    listId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppsList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultList', 'getAppsList_defaultList' - Specifies whether the list to retrieve is a default list owned by+-- Firewall Manager.+--+-- 'listId', 'getAppsList_listId' - The ID of the Firewall Manager applications list that you want the+-- details for.+newGetAppsList ::+  -- | 'listId'+  Prelude.Text ->+  GetAppsList+newGetAppsList pListId_ =+  GetAppsList'+    { defaultList = Prelude.Nothing,+      listId = pListId_+    }++-- | Specifies whether the list to retrieve is a default list owned by+-- Firewall Manager.+getAppsList_defaultList :: Lens.Lens' GetAppsList (Prelude.Maybe Prelude.Bool)+getAppsList_defaultList = Lens.lens (\GetAppsList' {defaultList} -> defaultList) (\s@GetAppsList' {} a -> s {defaultList = a} :: GetAppsList)++-- | The ID of the Firewall Manager applications list that you want the+-- details for.+getAppsList_listId :: Lens.Lens' GetAppsList Prelude.Text+getAppsList_listId = Lens.lens (\GetAppsList' {listId} -> listId) (\s@GetAppsList' {} a -> s {listId = a} :: GetAppsList)++instance Core.AWSRequest GetAppsList where+  type AWSResponse GetAppsList = GetAppsListResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAppsListResponse'+            Prelude.<$> (x Data..?> "AppsList")+            Prelude.<*> (x Data..?> "AppsListArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAppsList where+  hashWithSalt _salt GetAppsList' {..} =+    _salt+      `Prelude.hashWithSalt` defaultList+      `Prelude.hashWithSalt` listId++instance Prelude.NFData GetAppsList where+  rnf GetAppsList' {..} =+    Prelude.rnf defaultList+      `Prelude.seq` Prelude.rnf listId++instance Data.ToHeaders GetAppsList where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetAppsList" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetAppsList where+  toJSON GetAppsList' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultList" Data..=) Prelude.<$> defaultList,+            Prelude.Just ("ListId" Data..= listId)+          ]+      )++instance Data.ToPath GetAppsList where+  toPath = Prelude.const "/"++instance Data.ToQuery GetAppsList where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAppsListResponse' smart constructor.+data GetAppsListResponse = GetAppsListResponse'+  { -- | Information about the specified Firewall Manager applications list.+    appsList :: Prelude.Maybe AppsListData,+    -- | The Amazon Resource Name (ARN) of the applications list.+    appsListArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppsListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appsList', 'getAppsListResponse_appsList' - Information about the specified Firewall Manager applications list.+--+-- 'appsListArn', 'getAppsListResponse_appsListArn' - The Amazon Resource Name (ARN) of the applications list.+--+-- 'httpStatus', 'getAppsListResponse_httpStatus' - The response's http status code.+newGetAppsListResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAppsListResponse+newGetAppsListResponse pHttpStatus_ =+  GetAppsListResponse'+    { appsList = Prelude.Nothing,+      appsListArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the specified Firewall Manager applications list.+getAppsListResponse_appsList :: Lens.Lens' GetAppsListResponse (Prelude.Maybe AppsListData)+getAppsListResponse_appsList = Lens.lens (\GetAppsListResponse' {appsList} -> appsList) (\s@GetAppsListResponse' {} a -> s {appsList = a} :: GetAppsListResponse)++-- | The Amazon Resource Name (ARN) of the applications list.+getAppsListResponse_appsListArn :: Lens.Lens' GetAppsListResponse (Prelude.Maybe Prelude.Text)+getAppsListResponse_appsListArn = Lens.lens (\GetAppsListResponse' {appsListArn} -> appsListArn) (\s@GetAppsListResponse' {} a -> s {appsListArn = a} :: GetAppsListResponse)++-- | The response's http status code.+getAppsListResponse_httpStatus :: Lens.Lens' GetAppsListResponse Prelude.Int+getAppsListResponse_httpStatus = Lens.lens (\GetAppsListResponse' {httpStatus} -> httpStatus) (\s@GetAppsListResponse' {} a -> s {httpStatus = a} :: GetAppsListResponse)++instance Prelude.NFData GetAppsListResponse where+  rnf GetAppsListResponse' {..} =+    Prelude.rnf appsList+      `Prelude.seq` Prelude.rnf appsListArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetComplianceDetail.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetComplianceDetail+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns detailed compliance information about the specified member+-- account. Details include resources that are in and out of compliance+-- with the specified policy.+--+-- -   Resources are considered noncompliant for WAF and Shield Advanced+--     policies if the specified policy has not been applied to them.+--+-- -   Resources are considered noncompliant for security group policies if+--     they are in scope of the policy, they violate one or more of the+--     policy rules, and remediation is disabled or not possible.+--+-- -   Resources are considered noncompliant for Network Firewall policies+--     if a firewall is missing in the VPC, if the firewall endpoint isn\'t+--     set up in an expected Availability Zone and subnet, if a subnet+--     created by the Firewall Manager doesn\'t have the expected route+--     table, and for modifications to a firewall policy that violate the+--     Firewall Manager policy\'s rules.+--+-- -   Resources are considered noncompliant for DNS Firewall policies if a+--     DNS Firewall rule group is missing from the rule group associations+--     for the VPC.+module Amazonka.FMS.GetComplianceDetail+  ( -- * Creating a Request+    GetComplianceDetail (..),+    newGetComplianceDetail,++    -- * Request Lenses+    getComplianceDetail_policyId,+    getComplianceDetail_memberAccount,++    -- * Destructuring the Response+    GetComplianceDetailResponse (..),+    newGetComplianceDetailResponse,++    -- * Response Lenses+    getComplianceDetailResponse_policyComplianceDetail,+    getComplianceDetailResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetComplianceDetail' smart constructor.+data GetComplianceDetail = GetComplianceDetail'+  { -- | The ID of the policy that you want to get the details for. @PolicyId@ is+    -- returned by @PutPolicy@ and by @ListPolicies@.+    policyId :: Prelude.Text,+    -- | The Amazon Web Services account that owns the resources that you want to+    -- get the details for.+    memberAccount :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetComplianceDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyId', 'getComplianceDetail_policyId' - The ID of the policy that you want to get the details for. @PolicyId@ is+-- returned by @PutPolicy@ and by @ListPolicies@.+--+-- 'memberAccount', 'getComplianceDetail_memberAccount' - The Amazon Web Services account that owns the resources that you want to+-- get the details for.+newGetComplianceDetail ::+  -- | 'policyId'+  Prelude.Text ->+  -- | 'memberAccount'+  Prelude.Text ->+  GetComplianceDetail+newGetComplianceDetail pPolicyId_ pMemberAccount_ =+  GetComplianceDetail'+    { policyId = pPolicyId_,+      memberAccount = pMemberAccount_+    }++-- | The ID of the policy that you want to get the details for. @PolicyId@ is+-- returned by @PutPolicy@ and by @ListPolicies@.+getComplianceDetail_policyId :: Lens.Lens' GetComplianceDetail Prelude.Text+getComplianceDetail_policyId = Lens.lens (\GetComplianceDetail' {policyId} -> policyId) (\s@GetComplianceDetail' {} a -> s {policyId = a} :: GetComplianceDetail)++-- | The Amazon Web Services account that owns the resources that you want to+-- get the details for.+getComplianceDetail_memberAccount :: Lens.Lens' GetComplianceDetail Prelude.Text+getComplianceDetail_memberAccount = Lens.lens (\GetComplianceDetail' {memberAccount} -> memberAccount) (\s@GetComplianceDetail' {} a -> s {memberAccount = a} :: GetComplianceDetail)++instance Core.AWSRequest GetComplianceDetail where+  type+    AWSResponse GetComplianceDetail =+      GetComplianceDetailResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetComplianceDetailResponse'+            Prelude.<$> (x Data..?> "PolicyComplianceDetail")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetComplianceDetail where+  hashWithSalt _salt GetComplianceDetail' {..} =+    _salt+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` memberAccount++instance Prelude.NFData GetComplianceDetail where+  rnf GetComplianceDetail' {..} =+    Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf memberAccount++instance Data.ToHeaders GetComplianceDetail where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetComplianceDetail" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetComplianceDetail where+  toJSON GetComplianceDetail' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("PolicyId" Data..= policyId),+            Prelude.Just+              ("MemberAccount" Data..= memberAccount)+          ]+      )++instance Data.ToPath GetComplianceDetail where+  toPath = Prelude.const "/"++instance Data.ToQuery GetComplianceDetail where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetComplianceDetailResponse' smart constructor.+data GetComplianceDetailResponse = GetComplianceDetailResponse'+  { -- | Information about the resources and the policy that you specified in the+    -- @GetComplianceDetail@ request.+    policyComplianceDetail :: Prelude.Maybe PolicyComplianceDetail,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetComplianceDetailResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyComplianceDetail', 'getComplianceDetailResponse_policyComplianceDetail' - Information about the resources and the policy that you specified in the+-- @GetComplianceDetail@ request.+--+-- 'httpStatus', 'getComplianceDetailResponse_httpStatus' - The response's http status code.+newGetComplianceDetailResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetComplianceDetailResponse+newGetComplianceDetailResponse pHttpStatus_ =+  GetComplianceDetailResponse'+    { policyComplianceDetail =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the resources and the policy that you specified in the+-- @GetComplianceDetail@ request.+getComplianceDetailResponse_policyComplianceDetail :: Lens.Lens' GetComplianceDetailResponse (Prelude.Maybe PolicyComplianceDetail)+getComplianceDetailResponse_policyComplianceDetail = Lens.lens (\GetComplianceDetailResponse' {policyComplianceDetail} -> policyComplianceDetail) (\s@GetComplianceDetailResponse' {} a -> s {policyComplianceDetail = a} :: GetComplianceDetailResponse)++-- | The response's http status code.+getComplianceDetailResponse_httpStatus :: Lens.Lens' GetComplianceDetailResponse Prelude.Int+getComplianceDetailResponse_httpStatus = Lens.lens (\GetComplianceDetailResponse' {httpStatus} -> httpStatus) (\s@GetComplianceDetailResponse' {} a -> s {httpStatus = a} :: GetComplianceDetailResponse)++instance Prelude.NFData GetComplianceDetailResponse where+  rnf GetComplianceDetailResponse' {..} =+    Prelude.rnf policyComplianceDetail+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetNotificationChannel.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetNotificationChannel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Information about the Amazon Simple Notification Service (SNS) topic+-- that is used to record Firewall Manager SNS logs.+module Amazonka.FMS.GetNotificationChannel+  ( -- * Creating a Request+    GetNotificationChannel (..),+    newGetNotificationChannel,++    -- * Destructuring the Response+    GetNotificationChannelResponse (..),+    newGetNotificationChannelResponse,++    -- * Response Lenses+    getNotificationChannelResponse_snsRoleName,+    getNotificationChannelResponse_snsTopicArn,+    getNotificationChannelResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNotificationChannel' smart constructor.+data GetNotificationChannel = GetNotificationChannel'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNotificationChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetNotificationChannel ::+  GetNotificationChannel+newGetNotificationChannel = GetNotificationChannel'++instance Core.AWSRequest GetNotificationChannel where+  type+    AWSResponse GetNotificationChannel =+      GetNotificationChannelResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNotificationChannelResponse'+            Prelude.<$> (x Data..?> "SnsRoleName")+            Prelude.<*> (x Data..?> "SnsTopicArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetNotificationChannel where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetNotificationChannel where+  rnf _ = ()++instance Data.ToHeaders GetNotificationChannel where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetNotificationChannel" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetNotificationChannel where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetNotificationChannel where+  toPath = Prelude.const "/"++instance Data.ToQuery GetNotificationChannel where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetNotificationChannelResponse' smart constructor.+data GetNotificationChannelResponse = GetNotificationChannelResponse'+  { -- | The IAM role that is used by Firewall Manager to record activity to SNS.+    snsRoleName :: Prelude.Maybe Prelude.Text,+    -- | The SNS topic that records Firewall Manager activity.+    snsTopicArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNotificationChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snsRoleName', 'getNotificationChannelResponse_snsRoleName' - The IAM role that is used by Firewall Manager to record activity to SNS.+--+-- 'snsTopicArn', 'getNotificationChannelResponse_snsTopicArn' - The SNS topic that records Firewall Manager activity.+--+-- 'httpStatus', 'getNotificationChannelResponse_httpStatus' - The response's http status code.+newGetNotificationChannelResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNotificationChannelResponse+newGetNotificationChannelResponse pHttpStatus_ =+  GetNotificationChannelResponse'+    { snsRoleName =+        Prelude.Nothing,+      snsTopicArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The IAM role that is used by Firewall Manager to record activity to SNS.+getNotificationChannelResponse_snsRoleName :: Lens.Lens' GetNotificationChannelResponse (Prelude.Maybe Prelude.Text)+getNotificationChannelResponse_snsRoleName = Lens.lens (\GetNotificationChannelResponse' {snsRoleName} -> snsRoleName) (\s@GetNotificationChannelResponse' {} a -> s {snsRoleName = a} :: GetNotificationChannelResponse)++-- | The SNS topic that records Firewall Manager activity.+getNotificationChannelResponse_snsTopicArn :: Lens.Lens' GetNotificationChannelResponse (Prelude.Maybe Prelude.Text)+getNotificationChannelResponse_snsTopicArn = Lens.lens (\GetNotificationChannelResponse' {snsTopicArn} -> snsTopicArn) (\s@GetNotificationChannelResponse' {} a -> s {snsTopicArn = a} :: GetNotificationChannelResponse)++-- | The response's http status code.+getNotificationChannelResponse_httpStatus :: Lens.Lens' GetNotificationChannelResponse Prelude.Int+getNotificationChannelResponse_httpStatus = Lens.lens (\GetNotificationChannelResponse' {httpStatus} -> httpStatus) (\s@GetNotificationChannelResponse' {} a -> s {httpStatus = a} :: GetNotificationChannelResponse)++instance+  Prelude.NFData+    GetNotificationChannelResponse+  where+  rnf GetNotificationChannelResponse' {..} =+    Prelude.rnf snsRoleName+      `Prelude.seq` Prelude.rnf snsTopicArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetPolicy.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the specified Firewall Manager policy.+module Amazonka.FMS.GetPolicy+  ( -- * Creating a Request+    GetPolicy (..),+    newGetPolicy,++    -- * Request Lenses+    getPolicy_policyId,++    -- * Destructuring the Response+    GetPolicyResponse (..),+    newGetPolicyResponse,++    -- * Response Lenses+    getPolicyResponse_policy,+    getPolicyResponse_policyArn,+    getPolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPolicy' smart constructor.+data GetPolicy = GetPolicy'+  { -- | The ID of the Firewall Manager policy that you want the details for.+    policyId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyId', 'getPolicy_policyId' - The ID of the Firewall Manager policy that you want the details for.+newGetPolicy ::+  -- | 'policyId'+  Prelude.Text ->+  GetPolicy+newGetPolicy pPolicyId_ =+  GetPolicy' {policyId = pPolicyId_}++-- | The ID of the Firewall Manager policy that you want the details for.+getPolicy_policyId :: Lens.Lens' GetPolicy Prelude.Text+getPolicy_policyId = Lens.lens (\GetPolicy' {policyId} -> policyId) (\s@GetPolicy' {} a -> s {policyId = a} :: GetPolicy)++instance Core.AWSRequest GetPolicy where+  type AWSResponse GetPolicy = GetPolicyResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetPolicyResponse'+            Prelude.<$> (x Data..?> "Policy")+            Prelude.<*> (x Data..?> "PolicyArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPolicy where+  hashWithSalt _salt GetPolicy' {..} =+    _salt `Prelude.hashWithSalt` policyId++instance Prelude.NFData GetPolicy where+  rnf GetPolicy' {..} = Prelude.rnf policyId++instance Data.ToHeaders GetPolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AWSFMS_20180101.GetPolicy" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetPolicy where+  toJSON GetPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("PolicyId" Data..= policyId)]+      )++instance Data.ToPath GetPolicy where+  toPath = Prelude.const "/"++instance Data.ToQuery GetPolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPolicyResponse' smart constructor.+data GetPolicyResponse = GetPolicyResponse'+  { -- | Information about the specified Firewall Manager policy.+    policy :: Prelude.Maybe Policy,+    -- | The Amazon Resource Name (ARN) of the specified policy.+    policyArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'getPolicyResponse_policy' - Information about the specified Firewall Manager policy.+--+-- 'policyArn', 'getPolicyResponse_policyArn' - The Amazon Resource Name (ARN) of the specified policy.+--+-- 'httpStatus', 'getPolicyResponse_httpStatus' - The response's http status code.+newGetPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPolicyResponse+newGetPolicyResponse pHttpStatus_ =+  GetPolicyResponse'+    { policy = Prelude.Nothing,+      policyArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the specified Firewall Manager policy.+getPolicyResponse_policy :: Lens.Lens' GetPolicyResponse (Prelude.Maybe Policy)+getPolicyResponse_policy = Lens.lens (\GetPolicyResponse' {policy} -> policy) (\s@GetPolicyResponse' {} a -> s {policy = a} :: GetPolicyResponse)++-- | The Amazon Resource Name (ARN) of the specified policy.+getPolicyResponse_policyArn :: Lens.Lens' GetPolicyResponse (Prelude.Maybe Prelude.Text)+getPolicyResponse_policyArn = Lens.lens (\GetPolicyResponse' {policyArn} -> policyArn) (\s@GetPolicyResponse' {} a -> s {policyArn = a} :: GetPolicyResponse)++-- | The response's http status code.+getPolicyResponse_httpStatus :: Lens.Lens' GetPolicyResponse Prelude.Int+getPolicyResponse_httpStatus = Lens.lens (\GetPolicyResponse' {httpStatus} -> httpStatus) (\s@GetPolicyResponse' {} a -> s {httpStatus = a} :: GetPolicyResponse)++instance Prelude.NFData GetPolicyResponse where+  rnf GetPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf policyArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetProtectionStatus.hs view
@@ -0,0 +1,391 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetProtectionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- If you created a Shield Advanced policy, returns policy-level attack+-- summary information in the event of a potential DDoS attack. Other+-- policy types are currently unsupported.+module Amazonka.FMS.GetProtectionStatus+  ( -- * Creating a Request+    GetProtectionStatus (..),+    newGetProtectionStatus,++    -- * Request Lenses+    getProtectionStatus_endTime,+    getProtectionStatus_maxResults,+    getProtectionStatus_memberAccountId,+    getProtectionStatus_nextToken,+    getProtectionStatus_startTime,+    getProtectionStatus_policyId,++    -- * Destructuring the Response+    GetProtectionStatusResponse (..),+    newGetProtectionStatusResponse,++    -- * Response Lenses+    getProtectionStatusResponse_adminAccountId,+    getProtectionStatusResponse_data,+    getProtectionStatusResponse_nextToken,+    getProtectionStatusResponse_serviceType,+    getProtectionStatusResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetProtectionStatus' smart constructor.+data GetProtectionStatus = GetProtectionStatus'+  { -- | The end of the time period to query for the attacks. This is a+    -- @timestamp@ type. The request syntax listing indicates a @number@ type+    -- because the default used by Firewall Manager is Unix time in seconds.+    -- However, any valid @timestamp@ format is allowed.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | Specifies the number of objects that you want Firewall Manager to return+    -- for this request. If you have more objects than the number that you+    -- specify for @MaxResults@, the response includes a @NextToken@ value that+    -- you can use to get another batch of objects.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The Amazon Web Services account that is in scope of the policy that you+    -- want to get the details for.+    memberAccountId :: Prelude.Maybe Prelude.Text,+    -- | If you specify a value for @MaxResults@ and you have more objects than+    -- the number that you specify for @MaxResults@, Firewall Manager returns a+    -- @NextToken@ value in the response, which you can use to retrieve another+    -- group of objects. For the second and subsequent @GetProtectionStatus@+    -- requests, specify the value of @NextToken@ from the previous response to+    -- get information about another batch of objects.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The start of the time period to query for the attacks. This is a+    -- @timestamp@ type. The request syntax listing indicates a @number@ type+    -- because the default used by Firewall Manager is Unix time in seconds.+    -- However, any valid @timestamp@ format is allowed.+    startTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the policy for which you want to get the attack information.+    policyId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProtectionStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endTime', 'getProtectionStatus_endTime' - The end of the time period to query for the attacks. This is a+-- @timestamp@ type. The request syntax listing indicates a @number@ type+-- because the default used by Firewall Manager is Unix time in seconds.+-- However, any valid @timestamp@ format is allowed.+--+-- 'maxResults', 'getProtectionStatus_maxResults' - Specifies the number of objects that you want Firewall Manager to return+-- for this request. If you have more objects than the number that you+-- specify for @MaxResults@, the response includes a @NextToken@ value that+-- you can use to get another batch of objects.+--+-- 'memberAccountId', 'getProtectionStatus_memberAccountId' - The Amazon Web Services account that is in scope of the policy that you+-- want to get the details for.+--+-- 'nextToken', 'getProtectionStatus_nextToken' - If you specify a value for @MaxResults@ and you have more objects than+-- the number that you specify for @MaxResults@, Firewall Manager returns a+-- @NextToken@ value in the response, which you can use to retrieve another+-- group of objects. For the second and subsequent @GetProtectionStatus@+-- requests, specify the value of @NextToken@ from the previous response to+-- get information about another batch of objects.+--+-- 'startTime', 'getProtectionStatus_startTime' - The start of the time period to query for the attacks. This is a+-- @timestamp@ type. The request syntax listing indicates a @number@ type+-- because the default used by Firewall Manager is Unix time in seconds.+-- However, any valid @timestamp@ format is allowed.+--+-- 'policyId', 'getProtectionStatus_policyId' - The ID of the policy for which you want to get the attack information.+newGetProtectionStatus ::+  -- | 'policyId'+  Prelude.Text ->+  GetProtectionStatus+newGetProtectionStatus pPolicyId_ =+  GetProtectionStatus'+    { endTime = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      memberAccountId = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      startTime = Prelude.Nothing,+      policyId = pPolicyId_+    }++-- | The end of the time period to query for the attacks. This is a+-- @timestamp@ type. The request syntax listing indicates a @number@ type+-- because the default used by Firewall Manager is Unix time in seconds.+-- However, any valid @timestamp@ format is allowed.+getProtectionStatus_endTime :: Lens.Lens' GetProtectionStatus (Prelude.Maybe Prelude.UTCTime)+getProtectionStatus_endTime = Lens.lens (\GetProtectionStatus' {endTime} -> endTime) (\s@GetProtectionStatus' {} a -> s {endTime = a} :: GetProtectionStatus) Prelude.. Lens.mapping Data._Time++-- | Specifies the number of objects that you want Firewall Manager to return+-- for this request. If you have more objects than the number that you+-- specify for @MaxResults@, the response includes a @NextToken@ value that+-- you can use to get another batch of objects.+getProtectionStatus_maxResults :: Lens.Lens' GetProtectionStatus (Prelude.Maybe Prelude.Natural)+getProtectionStatus_maxResults = Lens.lens (\GetProtectionStatus' {maxResults} -> maxResults) (\s@GetProtectionStatus' {} a -> s {maxResults = a} :: GetProtectionStatus)++-- | The Amazon Web Services account that is in scope of the policy that you+-- want to get the details for.+getProtectionStatus_memberAccountId :: Lens.Lens' GetProtectionStatus (Prelude.Maybe Prelude.Text)+getProtectionStatus_memberAccountId = Lens.lens (\GetProtectionStatus' {memberAccountId} -> memberAccountId) (\s@GetProtectionStatus' {} a -> s {memberAccountId = a} :: GetProtectionStatus)++-- | If you specify a value for @MaxResults@ and you have more objects than+-- the number that you specify for @MaxResults@, Firewall Manager returns a+-- @NextToken@ value in the response, which you can use to retrieve another+-- group of objects. For the second and subsequent @GetProtectionStatus@+-- requests, specify the value of @NextToken@ from the previous response to+-- get information about another batch of objects.+getProtectionStatus_nextToken :: Lens.Lens' GetProtectionStatus (Prelude.Maybe Prelude.Text)+getProtectionStatus_nextToken = Lens.lens (\GetProtectionStatus' {nextToken} -> nextToken) (\s@GetProtectionStatus' {} a -> s {nextToken = a} :: GetProtectionStatus)++-- | The start of the time period to query for the attacks. This is a+-- @timestamp@ type. The request syntax listing indicates a @number@ type+-- because the default used by Firewall Manager is Unix time in seconds.+-- However, any valid @timestamp@ format is allowed.+getProtectionStatus_startTime :: Lens.Lens' GetProtectionStatus (Prelude.Maybe Prelude.UTCTime)+getProtectionStatus_startTime = Lens.lens (\GetProtectionStatus' {startTime} -> startTime) (\s@GetProtectionStatus' {} a -> s {startTime = a} :: GetProtectionStatus) Prelude.. Lens.mapping Data._Time++-- | The ID of the policy for which you want to get the attack information.+getProtectionStatus_policyId :: Lens.Lens' GetProtectionStatus Prelude.Text+getProtectionStatus_policyId = Lens.lens (\GetProtectionStatus' {policyId} -> policyId) (\s@GetProtectionStatus' {} a -> s {policyId = a} :: GetProtectionStatus)++instance Core.AWSRequest GetProtectionStatus where+  type+    AWSResponse GetProtectionStatus =+      GetProtectionStatusResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetProtectionStatusResponse'+            Prelude.<$> (x Data..?> "AdminAccountId")+            Prelude.<*> (x Data..?> "Data")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "ServiceType")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetProtectionStatus where+  hashWithSalt _salt GetProtectionStatus' {..} =+    _salt+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` memberAccountId+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` startTime+      `Prelude.hashWithSalt` policyId++instance Prelude.NFData GetProtectionStatus where+  rnf GetProtectionStatus' {..} =+    Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf memberAccountId+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf startTime+      `Prelude.seq` Prelude.rnf policyId++instance Data.ToHeaders GetProtectionStatus where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetProtectionStatus" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetProtectionStatus where+  toJSON GetProtectionStatus' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EndTime" Data..=) Prelude.<$> endTime,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("MemberAccountId" Data..=)+              Prelude.<$> memberAccountId,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("StartTime" Data..=) Prelude.<$> startTime,+            Prelude.Just ("PolicyId" Data..= policyId)+          ]+      )++instance Data.ToPath GetProtectionStatus where+  toPath = Prelude.const "/"++instance Data.ToQuery GetProtectionStatus where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetProtectionStatusResponse' smart constructor.+data GetProtectionStatusResponse = GetProtectionStatusResponse'+  { -- | The ID of the Firewall Manager administrator account for this policy.+    adminAccountId :: Prelude.Maybe Prelude.Text,+    -- | Details about the attack, including the following:+    --+    -- -   Attack type+    --+    -- -   Account ID+    --+    -- -   ARN of the resource attacked+    --+    -- -   Start time of the attack+    --+    -- -   End time of the attack (ongoing attacks will not have an end time)+    --+    -- The details are in JSON format.+    data' :: Prelude.Maybe Prelude.Text,+    -- | If you have more objects than the number that you specified for+    -- @MaxResults@ in the request, the response includes a @NextToken@ value.+    -- To list more objects, submit another @GetProtectionStatus@ request, and+    -- specify the @NextToken@ value from the response in the @NextToken@ value+    -- in the next request.+    --+    -- Amazon Web Services SDKs provide auto-pagination that identify+    -- @NextToken@ in a response and make subsequent request calls+    -- automatically on your behalf. However, this feature is not supported by+    -- @GetProtectionStatus@. You must submit subsequent requests with+    -- @NextToken@ using your own processes.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The service type that is protected by the policy. Currently, this is+    -- always @SHIELD_ADVANCED@.+    serviceType :: Prelude.Maybe SecurityServiceType,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProtectionStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adminAccountId', 'getProtectionStatusResponse_adminAccountId' - The ID of the Firewall Manager administrator account for this policy.+--+-- 'data'', 'getProtectionStatusResponse_data' - Details about the attack, including the following:+--+-- -   Attack type+--+-- -   Account ID+--+-- -   ARN of the resource attacked+--+-- -   Start time of the attack+--+-- -   End time of the attack (ongoing attacks will not have an end time)+--+-- The details are in JSON format.+--+-- 'nextToken', 'getProtectionStatusResponse_nextToken' - If you have more objects than the number that you specified for+-- @MaxResults@ in the request, the response includes a @NextToken@ value.+-- To list more objects, submit another @GetProtectionStatus@ request, and+-- specify the @NextToken@ value from the response in the @NextToken@ value+-- in the next request.+--+-- Amazon Web Services SDKs provide auto-pagination that identify+-- @NextToken@ in a response and make subsequent request calls+-- automatically on your behalf. However, this feature is not supported by+-- @GetProtectionStatus@. You must submit subsequent requests with+-- @NextToken@ using your own processes.+--+-- 'serviceType', 'getProtectionStatusResponse_serviceType' - The service type that is protected by the policy. Currently, this is+-- always @SHIELD_ADVANCED@.+--+-- 'httpStatus', 'getProtectionStatusResponse_httpStatus' - The response's http status code.+newGetProtectionStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetProtectionStatusResponse+newGetProtectionStatusResponse pHttpStatus_ =+  GetProtectionStatusResponse'+    { adminAccountId =+        Prelude.Nothing,+      data' = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      serviceType = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the Firewall Manager administrator account for this policy.+getProtectionStatusResponse_adminAccountId :: Lens.Lens' GetProtectionStatusResponse (Prelude.Maybe Prelude.Text)+getProtectionStatusResponse_adminAccountId = Lens.lens (\GetProtectionStatusResponse' {adminAccountId} -> adminAccountId) (\s@GetProtectionStatusResponse' {} a -> s {adminAccountId = a} :: GetProtectionStatusResponse)++-- | Details about the attack, including the following:+--+-- -   Attack type+--+-- -   Account ID+--+-- -   ARN of the resource attacked+--+-- -   Start time of the attack+--+-- -   End time of the attack (ongoing attacks will not have an end time)+--+-- The details are in JSON format.+getProtectionStatusResponse_data :: Lens.Lens' GetProtectionStatusResponse (Prelude.Maybe Prelude.Text)+getProtectionStatusResponse_data = Lens.lens (\GetProtectionStatusResponse' {data'} -> data') (\s@GetProtectionStatusResponse' {} a -> s {data' = a} :: GetProtectionStatusResponse)++-- | If you have more objects than the number that you specified for+-- @MaxResults@ in the request, the response includes a @NextToken@ value.+-- To list more objects, submit another @GetProtectionStatus@ request, and+-- specify the @NextToken@ value from the response in the @NextToken@ value+-- in the next request.+--+-- Amazon Web Services SDKs provide auto-pagination that identify+-- @NextToken@ in a response and make subsequent request calls+-- automatically on your behalf. However, this feature is not supported by+-- @GetProtectionStatus@. You must submit subsequent requests with+-- @NextToken@ using your own processes.+getProtectionStatusResponse_nextToken :: Lens.Lens' GetProtectionStatusResponse (Prelude.Maybe Prelude.Text)+getProtectionStatusResponse_nextToken = Lens.lens (\GetProtectionStatusResponse' {nextToken} -> nextToken) (\s@GetProtectionStatusResponse' {} a -> s {nextToken = a} :: GetProtectionStatusResponse)++-- | The service type that is protected by the policy. Currently, this is+-- always @SHIELD_ADVANCED@.+getProtectionStatusResponse_serviceType :: Lens.Lens' GetProtectionStatusResponse (Prelude.Maybe SecurityServiceType)+getProtectionStatusResponse_serviceType = Lens.lens (\GetProtectionStatusResponse' {serviceType} -> serviceType) (\s@GetProtectionStatusResponse' {} a -> s {serviceType = a} :: GetProtectionStatusResponse)++-- | The response's http status code.+getProtectionStatusResponse_httpStatus :: Lens.Lens' GetProtectionStatusResponse Prelude.Int+getProtectionStatusResponse_httpStatus = Lens.lens (\GetProtectionStatusResponse' {httpStatus} -> httpStatus) (\s@GetProtectionStatusResponse' {} a -> s {httpStatus = a} :: GetProtectionStatusResponse)++instance Prelude.NFData GetProtectionStatusResponse where+  rnf GetProtectionStatusResponse' {..} =+    Prelude.rnf adminAccountId+      `Prelude.seq` Prelude.rnf data'+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf serviceType+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetProtocolsList.hs view
@@ -0,0 +1,204 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetProtocolsList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the specified Firewall Manager protocols list.+module Amazonka.FMS.GetProtocolsList+  ( -- * Creating a Request+    GetProtocolsList (..),+    newGetProtocolsList,++    -- * Request Lenses+    getProtocolsList_defaultList,+    getProtocolsList_listId,++    -- * Destructuring the Response+    GetProtocolsListResponse (..),+    newGetProtocolsListResponse,++    -- * Response Lenses+    getProtocolsListResponse_protocolsList,+    getProtocolsListResponse_protocolsListArn,+    getProtocolsListResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetProtocolsList' smart constructor.+data GetProtocolsList = GetProtocolsList'+  { -- | Specifies whether the list to retrieve is a default list owned by+    -- Firewall Manager.+    defaultList :: Prelude.Maybe Prelude.Bool,+    -- | The ID of the Firewall Manager protocols list that you want the details+    -- for.+    listId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProtocolsList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultList', 'getProtocolsList_defaultList' - Specifies whether the list to retrieve is a default list owned by+-- Firewall Manager.+--+-- 'listId', 'getProtocolsList_listId' - The ID of the Firewall Manager protocols list that you want the details+-- for.+newGetProtocolsList ::+  -- | 'listId'+  Prelude.Text ->+  GetProtocolsList+newGetProtocolsList pListId_ =+  GetProtocolsList'+    { defaultList = Prelude.Nothing,+      listId = pListId_+    }++-- | Specifies whether the list to retrieve is a default list owned by+-- Firewall Manager.+getProtocolsList_defaultList :: Lens.Lens' GetProtocolsList (Prelude.Maybe Prelude.Bool)+getProtocolsList_defaultList = Lens.lens (\GetProtocolsList' {defaultList} -> defaultList) (\s@GetProtocolsList' {} a -> s {defaultList = a} :: GetProtocolsList)++-- | The ID of the Firewall Manager protocols list that you want the details+-- for.+getProtocolsList_listId :: Lens.Lens' GetProtocolsList Prelude.Text+getProtocolsList_listId = Lens.lens (\GetProtocolsList' {listId} -> listId) (\s@GetProtocolsList' {} a -> s {listId = a} :: GetProtocolsList)++instance Core.AWSRequest GetProtocolsList where+  type+    AWSResponse GetProtocolsList =+      GetProtocolsListResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetProtocolsListResponse'+            Prelude.<$> (x Data..?> "ProtocolsList")+            Prelude.<*> (x Data..?> "ProtocolsListArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetProtocolsList where+  hashWithSalt _salt GetProtocolsList' {..} =+    _salt+      `Prelude.hashWithSalt` defaultList+      `Prelude.hashWithSalt` listId++instance Prelude.NFData GetProtocolsList where+  rnf GetProtocolsList' {..} =+    Prelude.rnf defaultList+      `Prelude.seq` Prelude.rnf listId++instance Data.ToHeaders GetProtocolsList where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetProtocolsList" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetProtocolsList where+  toJSON GetProtocolsList' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultList" Data..=) Prelude.<$> defaultList,+            Prelude.Just ("ListId" Data..= listId)+          ]+      )++instance Data.ToPath GetProtocolsList where+  toPath = Prelude.const "/"++instance Data.ToQuery GetProtocolsList where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetProtocolsListResponse' smart constructor.+data GetProtocolsListResponse = GetProtocolsListResponse'+  { -- | Information about the specified Firewall Manager protocols list.+    protocolsList :: Prelude.Maybe ProtocolsListData,+    -- | The Amazon Resource Name (ARN) of the specified protocols list.+    protocolsListArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProtocolsListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'protocolsList', 'getProtocolsListResponse_protocolsList' - Information about the specified Firewall Manager protocols list.+--+-- 'protocolsListArn', 'getProtocolsListResponse_protocolsListArn' - The Amazon Resource Name (ARN) of the specified protocols list.+--+-- 'httpStatus', 'getProtocolsListResponse_httpStatus' - The response's http status code.+newGetProtocolsListResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetProtocolsListResponse+newGetProtocolsListResponse pHttpStatus_ =+  GetProtocolsListResponse'+    { protocolsList =+        Prelude.Nothing,+      protocolsListArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the specified Firewall Manager protocols list.+getProtocolsListResponse_protocolsList :: Lens.Lens' GetProtocolsListResponse (Prelude.Maybe ProtocolsListData)+getProtocolsListResponse_protocolsList = Lens.lens (\GetProtocolsListResponse' {protocolsList} -> protocolsList) (\s@GetProtocolsListResponse' {} a -> s {protocolsList = a} :: GetProtocolsListResponse)++-- | The Amazon Resource Name (ARN) of the specified protocols list.+getProtocolsListResponse_protocolsListArn :: Lens.Lens' GetProtocolsListResponse (Prelude.Maybe Prelude.Text)+getProtocolsListResponse_protocolsListArn = Lens.lens (\GetProtocolsListResponse' {protocolsListArn} -> protocolsListArn) (\s@GetProtocolsListResponse' {} a -> s {protocolsListArn = a} :: GetProtocolsListResponse)++-- | The response's http status code.+getProtocolsListResponse_httpStatus :: Lens.Lens' GetProtocolsListResponse Prelude.Int+getProtocolsListResponse_httpStatus = Lens.lens (\GetProtocolsListResponse' {httpStatus} -> httpStatus) (\s@GetProtocolsListResponse' {} a -> s {httpStatus = a} :: GetProtocolsListResponse)++instance Prelude.NFData GetProtocolsListResponse where+  rnf GetProtocolsListResponse' {..} =+    Prelude.rnf protocolsList+      `Prelude.seq` Prelude.rnf protocolsListArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetResourceSet.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetResourceSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a specific resource set.+module Amazonka.FMS.GetResourceSet+  ( -- * Creating a Request+    GetResourceSet (..),+    newGetResourceSet,++    -- * Request Lenses+    getResourceSet_identifier,++    -- * Destructuring the Response+    GetResourceSetResponse (..),+    newGetResourceSetResponse,++    -- * Response Lenses+    getResourceSetResponse_httpStatus,+    getResourceSetResponse_resourceSet,+    getResourceSetResponse_resourceSetArn,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourceSet' smart constructor.+data GetResourceSet = GetResourceSet'+  { -- | A unique identifier for the resource set, used in a TODO to refer to the+    -- resource set.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identifier', 'getResourceSet_identifier' - A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+newGetResourceSet ::+  -- | 'identifier'+  Prelude.Text ->+  GetResourceSet+newGetResourceSet pIdentifier_ =+  GetResourceSet' {identifier = pIdentifier_}++-- | A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+getResourceSet_identifier :: Lens.Lens' GetResourceSet Prelude.Text+getResourceSet_identifier = Lens.lens (\GetResourceSet' {identifier} -> identifier) (\s@GetResourceSet' {} a -> s {identifier = a} :: GetResourceSet)++instance Core.AWSRequest GetResourceSet where+  type+    AWSResponse GetResourceSet =+      GetResourceSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetResourceSetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ResourceSet")+            Prelude.<*> (x Data..:> "ResourceSetArn")+      )++instance Prelude.Hashable GetResourceSet where+  hashWithSalt _salt GetResourceSet' {..} =+    _salt `Prelude.hashWithSalt` identifier++instance Prelude.NFData GetResourceSet where+  rnf GetResourceSet' {..} = Prelude.rnf identifier++instance Data.ToHeaders GetResourceSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetResourceSet" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetResourceSet where+  toJSON GetResourceSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Identifier" Data..= identifier)]+      )++instance Data.ToPath GetResourceSet where+  toPath = Prelude.const "/"++instance Data.ToQuery GetResourceSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResourceSetResponse' smart constructor.+data GetResourceSetResponse = GetResourceSetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the specified resource set.+    resourceSet :: ResourceSet,+    -- | The Amazon Resource Name (ARN) of the resource set.+    resourceSetArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getResourceSetResponse_httpStatus' - The response's http status code.+--+-- 'resourceSet', 'getResourceSetResponse_resourceSet' - Information about the specified resource set.+--+-- 'resourceSetArn', 'getResourceSetResponse_resourceSetArn' - The Amazon Resource Name (ARN) of the resource set.+newGetResourceSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'resourceSet'+  ResourceSet ->+  -- | 'resourceSetArn'+  Prelude.Text ->+  GetResourceSetResponse+newGetResourceSetResponse+  pHttpStatus_+  pResourceSet_+  pResourceSetArn_ =+    GetResourceSetResponse'+      { httpStatus = pHttpStatus_,+        resourceSet = pResourceSet_,+        resourceSetArn = pResourceSetArn_+      }++-- | The response's http status code.+getResourceSetResponse_httpStatus :: Lens.Lens' GetResourceSetResponse Prelude.Int+getResourceSetResponse_httpStatus = Lens.lens (\GetResourceSetResponse' {httpStatus} -> httpStatus) (\s@GetResourceSetResponse' {} a -> s {httpStatus = a} :: GetResourceSetResponse)++-- | Information about the specified resource set.+getResourceSetResponse_resourceSet :: Lens.Lens' GetResourceSetResponse ResourceSet+getResourceSetResponse_resourceSet = Lens.lens (\GetResourceSetResponse' {resourceSet} -> resourceSet) (\s@GetResourceSetResponse' {} a -> s {resourceSet = a} :: GetResourceSetResponse)++-- | The Amazon Resource Name (ARN) of the resource set.+getResourceSetResponse_resourceSetArn :: Lens.Lens' GetResourceSetResponse Prelude.Text+getResourceSetResponse_resourceSetArn = Lens.lens (\GetResourceSetResponse' {resourceSetArn} -> resourceSetArn) (\s@GetResourceSetResponse' {} a -> s {resourceSetArn = a} :: GetResourceSetResponse)++instance Prelude.NFData GetResourceSetResponse where+  rnf GetResourceSetResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf resourceSet+      `Prelude.seq` Prelude.rnf resourceSetArn
+ gen/Amazonka/FMS/GetThirdPartyFirewallAssociationStatus.hs view
@@ -0,0 +1,308 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetThirdPartyFirewallAssociationStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The onboarding status of a Firewall Manager admin account to third-party+-- firewall vendor tenant.+module Amazonka.FMS.GetThirdPartyFirewallAssociationStatus+  ( -- * Creating a Request+    GetThirdPartyFirewallAssociationStatus (..),+    newGetThirdPartyFirewallAssociationStatus,++    -- * Request Lenses+    getThirdPartyFirewallAssociationStatus_thirdPartyFirewall,++    -- * Destructuring the Response+    GetThirdPartyFirewallAssociationStatusResponse (..),+    newGetThirdPartyFirewallAssociationStatusResponse,++    -- * Response Lenses+    getThirdPartyFirewallAssociationStatusResponse_marketplaceOnboardingStatus,+    getThirdPartyFirewallAssociationStatusResponse_thirdPartyFirewallStatus,+    getThirdPartyFirewallAssociationStatusResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetThirdPartyFirewallAssociationStatus' smart constructor.+data GetThirdPartyFirewallAssociationStatus = GetThirdPartyFirewallAssociationStatus'+  { -- | The name of the third-party firewall vendor.+    thirdPartyFirewall :: ThirdPartyFirewall+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetThirdPartyFirewallAssociationStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'thirdPartyFirewall', 'getThirdPartyFirewallAssociationStatus_thirdPartyFirewall' - The name of the third-party firewall vendor.+newGetThirdPartyFirewallAssociationStatus ::+  -- | 'thirdPartyFirewall'+  ThirdPartyFirewall ->+  GetThirdPartyFirewallAssociationStatus+newGetThirdPartyFirewallAssociationStatus+  pThirdPartyFirewall_ =+    GetThirdPartyFirewallAssociationStatus'+      { thirdPartyFirewall =+          pThirdPartyFirewall_+      }++-- | The name of the third-party firewall vendor.+getThirdPartyFirewallAssociationStatus_thirdPartyFirewall :: Lens.Lens' GetThirdPartyFirewallAssociationStatus ThirdPartyFirewall+getThirdPartyFirewallAssociationStatus_thirdPartyFirewall = Lens.lens (\GetThirdPartyFirewallAssociationStatus' {thirdPartyFirewall} -> thirdPartyFirewall) (\s@GetThirdPartyFirewallAssociationStatus' {} a -> s {thirdPartyFirewall = a} :: GetThirdPartyFirewallAssociationStatus)++instance+  Core.AWSRequest+    GetThirdPartyFirewallAssociationStatus+  where+  type+    AWSResponse+      GetThirdPartyFirewallAssociationStatus =+      GetThirdPartyFirewallAssociationStatusResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetThirdPartyFirewallAssociationStatusResponse'+            Prelude.<$> (x Data..?> "MarketplaceOnboardingStatus")+            Prelude.<*> (x Data..?> "ThirdPartyFirewallStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetThirdPartyFirewallAssociationStatus+  where+  hashWithSalt+    _salt+    GetThirdPartyFirewallAssociationStatus' {..} =+      _salt `Prelude.hashWithSalt` thirdPartyFirewall++instance+  Prelude.NFData+    GetThirdPartyFirewallAssociationStatus+  where+  rnf GetThirdPartyFirewallAssociationStatus' {..} =+    Prelude.rnf thirdPartyFirewall++instance+  Data.ToHeaders+    GetThirdPartyFirewallAssociationStatus+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetThirdPartyFirewallAssociationStatus" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    GetThirdPartyFirewallAssociationStatus+  where+  toJSON GetThirdPartyFirewallAssociationStatus' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ThirdPartyFirewall" Data..= thirdPartyFirewall)+          ]+      )++instance+  Data.ToPath+    GetThirdPartyFirewallAssociationStatus+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    GetThirdPartyFirewallAssociationStatus+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetThirdPartyFirewallAssociationStatusResponse' smart constructor.+data GetThirdPartyFirewallAssociationStatusResponse = GetThirdPartyFirewallAssociationStatusResponse'+  { -- | The status for subscribing to the third-party firewall vendor in the+    -- Amazon Web Services Marketplace.+    --+    -- -   @NO_SUBSCRIPTION@ - The Firewall Manager policy administrator isn\'t+    --     subscribed to the third-party firewall service in the Amazon Web+    --     Services Marketplace.+    --+    -- -   @NOT_COMPLETE@ - The Firewall Manager policy administrator is in the+    --     process of subscribing to the third-party firewall service in the+    --     Amazon Web Services Marketplace, but doesn\'t yet have an active+    --     subscription.+    --+    -- -   @COMPLETE@ - The Firewall Manager policy administrator has an active+    --     subscription to the third-party firewall service in the Amazon Web+    --     Services Marketplace.+    marketplaceOnboardingStatus :: Prelude.Maybe MarketplaceSubscriptionOnboardingStatus,+    -- | The current status for setting a Firewall Manager policy administrators+    -- account as an administrator of the third-party firewall tenant.+    --+    -- -   @ONBOARDING@ - The Firewall Manager policy administrator is being+    --     designated as a tenant administrator.+    --+    -- -   @ONBOARD_COMPLETE@ - The Firewall Manager policy administrator is+    --     designated as a tenant administrator.+    --+    -- -   @OFFBOARDING@ - The Firewall Manager policy administrator is being+    --     removed as a tenant administrator.+    --+    -- -   @OFFBOARD_COMPLETE@ - The Firewall Manager policy administrator has+    --     been removed as a tenant administrator.+    --+    -- -   @NOT_EXIST@ - The Firewall Manager policy administrator doesn\'t+    --     exist as a tenant administrator.+    thirdPartyFirewallStatus :: Prelude.Maybe ThirdPartyFirewallAssociationStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetThirdPartyFirewallAssociationStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'marketplaceOnboardingStatus', 'getThirdPartyFirewallAssociationStatusResponse_marketplaceOnboardingStatus' - The status for subscribing to the third-party firewall vendor in the+-- Amazon Web Services Marketplace.+--+-- -   @NO_SUBSCRIPTION@ - The Firewall Manager policy administrator isn\'t+--     subscribed to the third-party firewall service in the Amazon Web+--     Services Marketplace.+--+-- -   @NOT_COMPLETE@ - The Firewall Manager policy administrator is in the+--     process of subscribing to the third-party firewall service in the+--     Amazon Web Services Marketplace, but doesn\'t yet have an active+--     subscription.+--+-- -   @COMPLETE@ - The Firewall Manager policy administrator has an active+--     subscription to the third-party firewall service in the Amazon Web+--     Services Marketplace.+--+-- 'thirdPartyFirewallStatus', 'getThirdPartyFirewallAssociationStatusResponse_thirdPartyFirewallStatus' - The current status for setting a Firewall Manager policy administrators+-- account as an administrator of the third-party firewall tenant.+--+-- -   @ONBOARDING@ - The Firewall Manager policy administrator is being+--     designated as a tenant administrator.+--+-- -   @ONBOARD_COMPLETE@ - The Firewall Manager policy administrator is+--     designated as a tenant administrator.+--+-- -   @OFFBOARDING@ - The Firewall Manager policy administrator is being+--     removed as a tenant administrator.+--+-- -   @OFFBOARD_COMPLETE@ - The Firewall Manager policy administrator has+--     been removed as a tenant administrator.+--+-- -   @NOT_EXIST@ - The Firewall Manager policy administrator doesn\'t+--     exist as a tenant administrator.+--+-- 'httpStatus', 'getThirdPartyFirewallAssociationStatusResponse_httpStatus' - The response's http status code.+newGetThirdPartyFirewallAssociationStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetThirdPartyFirewallAssociationStatusResponse+newGetThirdPartyFirewallAssociationStatusResponse+  pHttpStatus_ =+    GetThirdPartyFirewallAssociationStatusResponse'+      { marketplaceOnboardingStatus =+          Prelude.Nothing,+        thirdPartyFirewallStatus =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The status for subscribing to the third-party firewall vendor in the+-- Amazon Web Services Marketplace.+--+-- -   @NO_SUBSCRIPTION@ - The Firewall Manager policy administrator isn\'t+--     subscribed to the third-party firewall service in the Amazon Web+--     Services Marketplace.+--+-- -   @NOT_COMPLETE@ - The Firewall Manager policy administrator is in the+--     process of subscribing to the third-party firewall service in the+--     Amazon Web Services Marketplace, but doesn\'t yet have an active+--     subscription.+--+-- -   @COMPLETE@ - The Firewall Manager policy administrator has an active+--     subscription to the third-party firewall service in the Amazon Web+--     Services Marketplace.+getThirdPartyFirewallAssociationStatusResponse_marketplaceOnboardingStatus :: Lens.Lens' GetThirdPartyFirewallAssociationStatusResponse (Prelude.Maybe MarketplaceSubscriptionOnboardingStatus)+getThirdPartyFirewallAssociationStatusResponse_marketplaceOnboardingStatus = Lens.lens (\GetThirdPartyFirewallAssociationStatusResponse' {marketplaceOnboardingStatus} -> marketplaceOnboardingStatus) (\s@GetThirdPartyFirewallAssociationStatusResponse' {} a -> s {marketplaceOnboardingStatus = a} :: GetThirdPartyFirewallAssociationStatusResponse)++-- | The current status for setting a Firewall Manager policy administrators+-- account as an administrator of the third-party firewall tenant.+--+-- -   @ONBOARDING@ - The Firewall Manager policy administrator is being+--     designated as a tenant administrator.+--+-- -   @ONBOARD_COMPLETE@ - The Firewall Manager policy administrator is+--     designated as a tenant administrator.+--+-- -   @OFFBOARDING@ - The Firewall Manager policy administrator is being+--     removed as a tenant administrator.+--+-- -   @OFFBOARD_COMPLETE@ - The Firewall Manager policy administrator has+--     been removed as a tenant administrator.+--+-- -   @NOT_EXIST@ - The Firewall Manager policy administrator doesn\'t+--     exist as a tenant administrator.+getThirdPartyFirewallAssociationStatusResponse_thirdPartyFirewallStatus :: Lens.Lens' GetThirdPartyFirewallAssociationStatusResponse (Prelude.Maybe ThirdPartyFirewallAssociationStatus)+getThirdPartyFirewallAssociationStatusResponse_thirdPartyFirewallStatus = Lens.lens (\GetThirdPartyFirewallAssociationStatusResponse' {thirdPartyFirewallStatus} -> thirdPartyFirewallStatus) (\s@GetThirdPartyFirewallAssociationStatusResponse' {} a -> s {thirdPartyFirewallStatus = a} :: GetThirdPartyFirewallAssociationStatusResponse)++-- | The response's http status code.+getThirdPartyFirewallAssociationStatusResponse_httpStatus :: Lens.Lens' GetThirdPartyFirewallAssociationStatusResponse Prelude.Int+getThirdPartyFirewallAssociationStatusResponse_httpStatus = Lens.lens (\GetThirdPartyFirewallAssociationStatusResponse' {httpStatus} -> httpStatus) (\s@GetThirdPartyFirewallAssociationStatusResponse' {} a -> s {httpStatus = a} :: GetThirdPartyFirewallAssociationStatusResponse)++instance+  Prelude.NFData+    GetThirdPartyFirewallAssociationStatusResponse+  where+  rnf+    GetThirdPartyFirewallAssociationStatusResponse' {..} =+      Prelude.rnf marketplaceOnboardingStatus+        `Prelude.seq` Prelude.rnf thirdPartyFirewallStatus+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/GetViolationDetails.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.GetViolationDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves violations for a resource based on the specified Firewall+-- Manager policy and Amazon Web Services account.+module Amazonka.FMS.GetViolationDetails+  ( -- * Creating a Request+    GetViolationDetails (..),+    newGetViolationDetails,++    -- * Request Lenses+    getViolationDetails_policyId,+    getViolationDetails_memberAccount,+    getViolationDetails_resourceId,+    getViolationDetails_resourceType,++    -- * Destructuring the Response+    GetViolationDetailsResponse (..),+    newGetViolationDetailsResponse,++    -- * Response Lenses+    getViolationDetailsResponse_violationDetail,+    getViolationDetailsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetViolationDetails' smart constructor.+data GetViolationDetails = GetViolationDetails'+  { -- | The ID of the Firewall Manager policy that you want the details for.+    -- This currently only supports security group content audit policies.+    policyId :: Prelude.Text,+    -- | The Amazon Web Services account ID that you want the details for.+    memberAccount :: Prelude.Text,+    -- | The ID of the resource that has violations.+    resourceId :: Prelude.Text,+    -- | The resource type. This is in the format shown in the+    -- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+    -- Supported resource types are: @AWS::EC2::Instance@,+    -- @AWS::EC2::NetworkInterface@, @AWS::EC2::SecurityGroup@,+    -- @AWS::NetworkFirewall::FirewallPolicy@, and @AWS::EC2::Subnet@.+    resourceType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetViolationDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyId', 'getViolationDetails_policyId' - The ID of the Firewall Manager policy that you want the details for.+-- This currently only supports security group content audit policies.+--+-- 'memberAccount', 'getViolationDetails_memberAccount' - The Amazon Web Services account ID that you want the details for.+--+-- 'resourceId', 'getViolationDetails_resourceId' - The ID of the resource that has violations.+--+-- 'resourceType', 'getViolationDetails_resourceType' - The resource type. This is in the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- Supported resource types are: @AWS::EC2::Instance@,+-- @AWS::EC2::NetworkInterface@, @AWS::EC2::SecurityGroup@,+-- @AWS::NetworkFirewall::FirewallPolicy@, and @AWS::EC2::Subnet@.+newGetViolationDetails ::+  -- | 'policyId'+  Prelude.Text ->+  -- | 'memberAccount'+  Prelude.Text ->+  -- | 'resourceId'+  Prelude.Text ->+  -- | 'resourceType'+  Prelude.Text ->+  GetViolationDetails+newGetViolationDetails+  pPolicyId_+  pMemberAccount_+  pResourceId_+  pResourceType_ =+    GetViolationDetails'+      { policyId = pPolicyId_,+        memberAccount = pMemberAccount_,+        resourceId = pResourceId_,+        resourceType = pResourceType_+      }++-- | The ID of the Firewall Manager policy that you want the details for.+-- This currently only supports security group content audit policies.+getViolationDetails_policyId :: Lens.Lens' GetViolationDetails Prelude.Text+getViolationDetails_policyId = Lens.lens (\GetViolationDetails' {policyId} -> policyId) (\s@GetViolationDetails' {} a -> s {policyId = a} :: GetViolationDetails)++-- | The Amazon Web Services account ID that you want the details for.+getViolationDetails_memberAccount :: Lens.Lens' GetViolationDetails Prelude.Text+getViolationDetails_memberAccount = Lens.lens (\GetViolationDetails' {memberAccount} -> memberAccount) (\s@GetViolationDetails' {} a -> s {memberAccount = a} :: GetViolationDetails)++-- | The ID of the resource that has violations.+getViolationDetails_resourceId :: Lens.Lens' GetViolationDetails Prelude.Text+getViolationDetails_resourceId = Lens.lens (\GetViolationDetails' {resourceId} -> resourceId) (\s@GetViolationDetails' {} a -> s {resourceId = a} :: GetViolationDetails)++-- | The resource type. This is in the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- Supported resource types are: @AWS::EC2::Instance@,+-- @AWS::EC2::NetworkInterface@, @AWS::EC2::SecurityGroup@,+-- @AWS::NetworkFirewall::FirewallPolicy@, and @AWS::EC2::Subnet@.+getViolationDetails_resourceType :: Lens.Lens' GetViolationDetails Prelude.Text+getViolationDetails_resourceType = Lens.lens (\GetViolationDetails' {resourceType} -> resourceType) (\s@GetViolationDetails' {} a -> s {resourceType = a} :: GetViolationDetails)++instance Core.AWSRequest GetViolationDetails where+  type+    AWSResponse GetViolationDetails =+      GetViolationDetailsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetViolationDetailsResponse'+            Prelude.<$> (x Data..?> "ViolationDetail")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetViolationDetails where+  hashWithSalt _salt GetViolationDetails' {..} =+    _salt+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` memberAccount+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData GetViolationDetails where+  rnf GetViolationDetails' {..} =+    Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf memberAccount+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders GetViolationDetails where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.GetViolationDetails" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetViolationDetails where+  toJSON GetViolationDetails' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("PolicyId" Data..= policyId),+            Prelude.Just ("MemberAccount" Data..= memberAccount),+            Prelude.Just ("ResourceId" Data..= resourceId),+            Prelude.Just ("ResourceType" Data..= resourceType)+          ]+      )++instance Data.ToPath GetViolationDetails where+  toPath = Prelude.const "/"++instance Data.ToQuery GetViolationDetails where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetViolationDetailsResponse' smart constructor.+data GetViolationDetailsResponse = GetViolationDetailsResponse'+  { -- | Violation detail for a resource.+    violationDetail :: Prelude.Maybe ViolationDetail,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetViolationDetailsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'violationDetail', 'getViolationDetailsResponse_violationDetail' - Violation detail for a resource.+--+-- 'httpStatus', 'getViolationDetailsResponse_httpStatus' - The response's http status code.+newGetViolationDetailsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetViolationDetailsResponse+newGetViolationDetailsResponse pHttpStatus_ =+  GetViolationDetailsResponse'+    { violationDetail =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Violation detail for a resource.+getViolationDetailsResponse_violationDetail :: Lens.Lens' GetViolationDetailsResponse (Prelude.Maybe ViolationDetail)+getViolationDetailsResponse_violationDetail = Lens.lens (\GetViolationDetailsResponse' {violationDetail} -> violationDetail) (\s@GetViolationDetailsResponse' {} a -> s {violationDetail = a} :: GetViolationDetailsResponse)++-- | The response's http status code.+getViolationDetailsResponse_httpStatus :: Lens.Lens' GetViolationDetailsResponse Prelude.Int+getViolationDetailsResponse_httpStatus = Lens.lens (\GetViolationDetailsResponse' {httpStatus} -> httpStatus) (\s@GetViolationDetailsResponse' {} a -> s {httpStatus = a} :: GetViolationDetailsResponse)++instance Prelude.NFData GetViolationDetailsResponse where+  rnf GetViolationDetailsResponse' {..} =+    Prelude.rnf violationDetail+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/Lens.hs view
@@ -0,0 +1,829 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Lens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Lens+  ( -- * Operations++    -- ** AssociateAdminAccount+    associateAdminAccount_adminAccount,++    -- ** AssociateThirdPartyFirewall+    associateThirdPartyFirewall_thirdPartyFirewall,+    associateThirdPartyFirewallResponse_thirdPartyFirewallStatus,+    associateThirdPartyFirewallResponse_httpStatus,++    -- ** BatchAssociateResource+    batchAssociateResource_resourceSetIdentifier,+    batchAssociateResource_items,+    batchAssociateResourceResponse_httpStatus,+    batchAssociateResourceResponse_resourceSetIdentifier,+    batchAssociateResourceResponse_failedItems,++    -- ** BatchDisassociateResource+    batchDisassociateResource_resourceSetIdentifier,+    batchDisassociateResource_items,+    batchDisassociateResourceResponse_httpStatus,+    batchDisassociateResourceResponse_resourceSetIdentifier,+    batchDisassociateResourceResponse_failedItems,++    -- ** DeleteAppsList+    deleteAppsList_listId,++    -- ** DeleteNotificationChannel++    -- ** DeletePolicy+    deletePolicy_deleteAllPolicyResources,+    deletePolicy_policyId,++    -- ** DeleteProtocolsList+    deleteProtocolsList_listId,++    -- ** DeleteResourceSet+    deleteResourceSet_identifier,++    -- ** DisassociateAdminAccount++    -- ** DisassociateThirdPartyFirewall+    disassociateThirdPartyFirewall_thirdPartyFirewall,+    disassociateThirdPartyFirewallResponse_thirdPartyFirewallStatus,+    disassociateThirdPartyFirewallResponse_httpStatus,++    -- ** GetAdminAccount+    getAdminAccountResponse_adminAccount,+    getAdminAccountResponse_roleStatus,+    getAdminAccountResponse_httpStatus,++    -- ** GetAppsList+    getAppsList_defaultList,+    getAppsList_listId,+    getAppsListResponse_appsList,+    getAppsListResponse_appsListArn,+    getAppsListResponse_httpStatus,++    -- ** GetComplianceDetail+    getComplianceDetail_policyId,+    getComplianceDetail_memberAccount,+    getComplianceDetailResponse_policyComplianceDetail,+    getComplianceDetailResponse_httpStatus,++    -- ** GetNotificationChannel+    getNotificationChannelResponse_snsRoleName,+    getNotificationChannelResponse_snsTopicArn,+    getNotificationChannelResponse_httpStatus,++    -- ** GetPolicy+    getPolicy_policyId,+    getPolicyResponse_policy,+    getPolicyResponse_policyArn,+    getPolicyResponse_httpStatus,++    -- ** GetProtectionStatus+    getProtectionStatus_endTime,+    getProtectionStatus_maxResults,+    getProtectionStatus_memberAccountId,+    getProtectionStatus_nextToken,+    getProtectionStatus_startTime,+    getProtectionStatus_policyId,+    getProtectionStatusResponse_adminAccountId,+    getProtectionStatusResponse_data,+    getProtectionStatusResponse_nextToken,+    getProtectionStatusResponse_serviceType,+    getProtectionStatusResponse_httpStatus,++    -- ** GetProtocolsList+    getProtocolsList_defaultList,+    getProtocolsList_listId,+    getProtocolsListResponse_protocolsList,+    getProtocolsListResponse_protocolsListArn,+    getProtocolsListResponse_httpStatus,++    -- ** GetResourceSet+    getResourceSet_identifier,+    getResourceSetResponse_httpStatus,+    getResourceSetResponse_resourceSet,+    getResourceSetResponse_resourceSetArn,++    -- ** GetThirdPartyFirewallAssociationStatus+    getThirdPartyFirewallAssociationStatus_thirdPartyFirewall,+    getThirdPartyFirewallAssociationStatusResponse_marketplaceOnboardingStatus,+    getThirdPartyFirewallAssociationStatusResponse_thirdPartyFirewallStatus,+    getThirdPartyFirewallAssociationStatusResponse_httpStatus,++    -- ** GetViolationDetails+    getViolationDetails_policyId,+    getViolationDetails_memberAccount,+    getViolationDetails_resourceId,+    getViolationDetails_resourceType,+    getViolationDetailsResponse_violationDetail,+    getViolationDetailsResponse_httpStatus,++    -- ** ListAppsLists+    listAppsLists_defaultLists,+    listAppsLists_nextToken,+    listAppsLists_maxResults,+    listAppsListsResponse_appsLists,+    listAppsListsResponse_nextToken,+    listAppsListsResponse_httpStatus,++    -- ** ListComplianceStatus+    listComplianceStatus_maxResults,+    listComplianceStatus_nextToken,+    listComplianceStatus_policyId,+    listComplianceStatusResponse_nextToken,+    listComplianceStatusResponse_policyComplianceStatusList,+    listComplianceStatusResponse_httpStatus,++    -- ** ListDiscoveredResources+    listDiscoveredResources_maxResults,+    listDiscoveredResources_nextToken,+    listDiscoveredResources_memberAccountIds,+    listDiscoveredResources_resourceType,+    listDiscoveredResourcesResponse_items,+    listDiscoveredResourcesResponse_nextToken,+    listDiscoveredResourcesResponse_httpStatus,++    -- ** ListMemberAccounts+    listMemberAccounts_maxResults,+    listMemberAccounts_nextToken,+    listMemberAccountsResponse_memberAccounts,+    listMemberAccountsResponse_nextToken,+    listMemberAccountsResponse_httpStatus,++    -- ** ListPolicies+    listPolicies_maxResults,+    listPolicies_nextToken,+    listPoliciesResponse_nextToken,+    listPoliciesResponse_policyList,+    listPoliciesResponse_httpStatus,++    -- ** ListProtocolsLists+    listProtocolsLists_defaultLists,+    listProtocolsLists_nextToken,+    listProtocolsLists_maxResults,+    listProtocolsListsResponse_nextToken,+    listProtocolsListsResponse_protocolsLists,+    listProtocolsListsResponse_httpStatus,++    -- ** ListResourceSetResources+    listResourceSetResources_maxResults,+    listResourceSetResources_nextToken,+    listResourceSetResources_identifier,+    listResourceSetResourcesResponse_nextToken,+    listResourceSetResourcesResponse_httpStatus,+    listResourceSetResourcesResponse_items,++    -- ** ListResourceSets+    listResourceSets_maxResults,+    listResourceSets_nextToken,+    listResourceSetsResponse_nextToken,+    listResourceSetsResponse_resourceSets,+    listResourceSetsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tagList,+    listTagsForResourceResponse_httpStatus,++    -- ** ListThirdPartyFirewallFirewallPolicies+    listThirdPartyFirewallFirewallPolicies_nextToken,+    listThirdPartyFirewallFirewallPolicies_thirdPartyFirewall,+    listThirdPartyFirewallFirewallPolicies_maxResults,+    listThirdPartyFirewallFirewallPoliciesResponse_nextToken,+    listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies,+    listThirdPartyFirewallFirewallPoliciesResponse_httpStatus,++    -- ** PutAppsList+    putAppsList_tagList,+    putAppsList_appsList,+    putAppsListResponse_appsList,+    putAppsListResponse_appsListArn,+    putAppsListResponse_httpStatus,++    -- ** PutNotificationChannel+    putNotificationChannel_snsTopicArn,+    putNotificationChannel_snsRoleName,++    -- ** PutPolicy+    putPolicy_tagList,+    putPolicy_policy,+    putPolicyResponse_policy,+    putPolicyResponse_policyArn,+    putPolicyResponse_httpStatus,++    -- ** PutProtocolsList+    putProtocolsList_tagList,+    putProtocolsList_protocolsList,+    putProtocolsListResponse_protocolsList,+    putProtocolsListResponse_protocolsListArn,+    putProtocolsListResponse_httpStatus,++    -- ** PutResourceSet+    putResourceSet_tagList,+    putResourceSet_resourceSet,+    putResourceSetResponse_httpStatus,+    putResourceSetResponse_resourceSet,+    putResourceSetResponse_resourceSetArn,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tagList,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- * Types++    -- ** ActionTarget+    actionTarget_description,+    actionTarget_resourceId,++    -- ** App+    app_appName,+    app_protocol,+    app_port,++    -- ** AppsListData+    appsListData_createTime,+    appsListData_lastUpdateTime,+    appsListData_listId,+    appsListData_listUpdateToken,+    appsListData_previousAppsList,+    appsListData_listName,+    appsListData_appsList,++    -- ** AppsListDataSummary+    appsListDataSummary_appsList,+    appsListDataSummary_listArn,+    appsListDataSummary_listId,+    appsListDataSummary_listName,++    -- ** AwsEc2InstanceViolation+    awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations,+    awsEc2InstanceViolation_violationTarget,++    -- ** AwsEc2NetworkInterfaceViolation+    awsEc2NetworkInterfaceViolation_violatingSecurityGroups,+    awsEc2NetworkInterfaceViolation_violationTarget,++    -- ** AwsVPCSecurityGroupViolation+    awsVPCSecurityGroupViolation_partialMatches,+    awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions,+    awsVPCSecurityGroupViolation_violationTarget,+    awsVPCSecurityGroupViolation_violationTargetDescription,++    -- ** ComplianceViolator+    complianceViolator_metadata,+    complianceViolator_resourceId,+    complianceViolator_resourceType,+    complianceViolator_violationReason,++    -- ** DiscoveredResource+    discoveredResource_accountId,+    discoveredResource_name,+    discoveredResource_type,+    discoveredResource_uri,++    -- ** DnsDuplicateRuleGroupViolation+    dnsDuplicateRuleGroupViolation_violationTarget,+    dnsDuplicateRuleGroupViolation_violationTargetDescription,++    -- ** DnsRuleGroupLimitExceededViolation+    dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated,+    dnsRuleGroupLimitExceededViolation_violationTarget,+    dnsRuleGroupLimitExceededViolation_violationTargetDescription,++    -- ** DnsRuleGroupPriorityConflictViolation+    dnsRuleGroupPriorityConflictViolation_conflictingPolicyId,+    dnsRuleGroupPriorityConflictViolation_conflictingPriority,+    dnsRuleGroupPriorityConflictViolation_unavailablePriorities,+    dnsRuleGroupPriorityConflictViolation_violationTarget,+    dnsRuleGroupPriorityConflictViolation_violationTargetDescription,++    -- ** EC2AssociateRouteTableAction+    eC2AssociateRouteTableAction_description,+    eC2AssociateRouteTableAction_gatewayId,+    eC2AssociateRouteTableAction_subnetId,+    eC2AssociateRouteTableAction_routeTableId,++    -- ** EC2CopyRouteTableAction+    eC2CopyRouteTableAction_description,+    eC2CopyRouteTableAction_vpcId,+    eC2CopyRouteTableAction_routeTableId,++    -- ** EC2CreateRouteAction+    eC2CreateRouteAction_description,+    eC2CreateRouteAction_destinationCidrBlock,+    eC2CreateRouteAction_destinationIpv6CidrBlock,+    eC2CreateRouteAction_destinationPrefixListId,+    eC2CreateRouteAction_gatewayId,+    eC2CreateRouteAction_vpcEndpointId,+    eC2CreateRouteAction_routeTableId,++    -- ** EC2CreateRouteTableAction+    eC2CreateRouteTableAction_description,+    eC2CreateRouteTableAction_vpcId,++    -- ** EC2DeleteRouteAction+    eC2DeleteRouteAction_description,+    eC2DeleteRouteAction_destinationCidrBlock,+    eC2DeleteRouteAction_destinationIpv6CidrBlock,+    eC2DeleteRouteAction_destinationPrefixListId,+    eC2DeleteRouteAction_routeTableId,++    -- ** EC2ReplaceRouteAction+    eC2ReplaceRouteAction_description,+    eC2ReplaceRouteAction_destinationCidrBlock,+    eC2ReplaceRouteAction_destinationIpv6CidrBlock,+    eC2ReplaceRouteAction_destinationPrefixListId,+    eC2ReplaceRouteAction_gatewayId,+    eC2ReplaceRouteAction_routeTableId,++    -- ** EC2ReplaceRouteTableAssociationAction+    eC2ReplaceRouteTableAssociationAction_description,+    eC2ReplaceRouteTableAssociationAction_associationId,+    eC2ReplaceRouteTableAssociationAction_routeTableId,++    -- ** EvaluationResult+    evaluationResult_complianceStatus,+    evaluationResult_evaluationLimitExceeded,+    evaluationResult_violatorCount,++    -- ** ExpectedRoute+    expectedRoute_allowedTargets,+    expectedRoute_contributingSubnets,+    expectedRoute_ipV4Cidr,+    expectedRoute_ipV6Cidr,+    expectedRoute_prefixListId,+    expectedRoute_routeTableId,++    -- ** FMSPolicyUpdateFirewallCreationConfigAction+    fMSPolicyUpdateFirewallCreationConfigAction_description,+    fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig,++    -- ** FailedItem+    failedItem_reason,+    failedItem_uri,++    -- ** FirewallSubnetIsOutOfScopeViolation+    firewallSubnetIsOutOfScopeViolation_firewallSubnetId,+    firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone,+    firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId,+    firewallSubnetIsOutOfScopeViolation_vpcEndpointId,+    firewallSubnetIsOutOfScopeViolation_vpcId,++    -- ** FirewallSubnetMissingVPCEndpointViolation+    firewallSubnetMissingVPCEndpointViolation_firewallSubnetId,+    firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone,+    firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId,+    firewallSubnetMissingVPCEndpointViolation_vpcId,++    -- ** NetworkFirewallBlackHoleRouteDetectedViolation+    networkFirewallBlackHoleRouteDetectedViolation_routeTableId,+    networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes,+    networkFirewallBlackHoleRouteDetectedViolation_violationTarget,+    networkFirewallBlackHoleRouteDetectedViolation_vpcId,++    -- ** NetworkFirewallInternetTrafficNotInspectedViolation+    networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable,+    networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable,+    networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint,+    networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId,+    networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId,+    networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ,+    networkFirewallInternetTrafficNotInspectedViolation_routeTableId,+    networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone,+    networkFirewallInternetTrafficNotInspectedViolation_subnetId,+    networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_vpcId,++    -- ** NetworkFirewallInvalidRouteConfigurationViolation+    networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint,+    networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId,+    networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes,+    networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes,+    networkFirewallInvalidRouteConfigurationViolation_affectedSubnets,+    networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable,+    networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable,+    networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint,+    networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId,+    networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes,+    networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes,+    networkFirewallInvalidRouteConfigurationViolation_internetGatewayId,+    networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ,+    networkFirewallInvalidRouteConfigurationViolation_routeTableId,+    networkFirewallInvalidRouteConfigurationViolation_violatingRoute,+    networkFirewallInvalidRouteConfigurationViolation_vpcId,++    -- ** NetworkFirewallMissingExpectedRTViolation+    networkFirewallMissingExpectedRTViolation_availabilityZone,+    networkFirewallMissingExpectedRTViolation_currentRouteTable,+    networkFirewallMissingExpectedRTViolation_expectedRouteTable,+    networkFirewallMissingExpectedRTViolation_vpc,+    networkFirewallMissingExpectedRTViolation_violationTarget,++    -- ** NetworkFirewallMissingExpectedRoutesViolation+    networkFirewallMissingExpectedRoutesViolation_expectedRoutes,+    networkFirewallMissingExpectedRoutesViolation_violationTarget,+    networkFirewallMissingExpectedRoutesViolation_vpcId,++    -- ** NetworkFirewallMissingFirewallViolation+    networkFirewallMissingFirewallViolation_availabilityZone,+    networkFirewallMissingFirewallViolation_targetViolationReason,+    networkFirewallMissingFirewallViolation_vpc,+    networkFirewallMissingFirewallViolation_violationTarget,++    -- ** NetworkFirewallMissingSubnetViolation+    networkFirewallMissingSubnetViolation_availabilityZone,+    networkFirewallMissingSubnetViolation_targetViolationReason,+    networkFirewallMissingSubnetViolation_vpc,+    networkFirewallMissingSubnetViolation_violationTarget,++    -- ** NetworkFirewallPolicy+    networkFirewallPolicy_firewallDeploymentModel,++    -- ** NetworkFirewallPolicyDescription+    networkFirewallPolicyDescription_statefulDefaultActions,+    networkFirewallPolicyDescription_statefulEngineOptions,+    networkFirewallPolicyDescription_statefulRuleGroups,+    networkFirewallPolicyDescription_statelessCustomActions,+    networkFirewallPolicyDescription_statelessDefaultActions,+    networkFirewallPolicyDescription_statelessFragmentDefaultActions,+    networkFirewallPolicyDescription_statelessRuleGroups,++    -- ** NetworkFirewallPolicyModifiedViolation+    networkFirewallPolicyModifiedViolation_currentPolicyDescription,+    networkFirewallPolicyModifiedViolation_expectedPolicyDescription,+    networkFirewallPolicyModifiedViolation_violationTarget,++    -- ** NetworkFirewallStatefulRuleGroupOverride+    networkFirewallStatefulRuleGroupOverride_action,++    -- ** NetworkFirewallUnexpectedFirewallRoutesViolation+    networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint,+    networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId,+    networkFirewallUnexpectedFirewallRoutesViolation_routeTableId,+    networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes,+    networkFirewallUnexpectedFirewallRoutesViolation_vpcId,++    -- ** NetworkFirewallUnexpectedGatewayRoutesViolation+    networkFirewallUnexpectedGatewayRoutesViolation_gatewayId,+    networkFirewallUnexpectedGatewayRoutesViolation_routeTableId,+    networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes,+    networkFirewallUnexpectedGatewayRoutesViolation_vpcId,++    -- ** PartialMatch+    partialMatch_reference,+    partialMatch_targetViolationReasons,++    -- ** Policy+    policy_deleteUnusedFMManagedResources,+    policy_excludeMap,+    policy_includeMap,+    policy_policyDescription,+    policy_policyId,+    policy_policyUpdateToken,+    policy_resourceSetIds,+    policy_resourceTags,+    policy_resourceTypeList,+    policy_policyName,+    policy_securityServicePolicyData,+    policy_resourceType,+    policy_excludeResourceTags,+    policy_remediationEnabled,++    -- ** PolicyComplianceDetail+    policyComplianceDetail_evaluationLimitExceeded,+    policyComplianceDetail_expiredAt,+    policyComplianceDetail_issueInfoMap,+    policyComplianceDetail_memberAccount,+    policyComplianceDetail_policyId,+    policyComplianceDetail_policyOwner,+    policyComplianceDetail_violators,++    -- ** PolicyComplianceStatus+    policyComplianceStatus_evaluationResults,+    policyComplianceStatus_issueInfoMap,+    policyComplianceStatus_lastUpdated,+    policyComplianceStatus_memberAccount,+    policyComplianceStatus_policyId,+    policyComplianceStatus_policyName,+    policyComplianceStatus_policyOwner,++    -- ** PolicyOption+    policyOption_networkFirewallPolicy,+    policyOption_thirdPartyFirewallPolicy,++    -- ** PolicySummary+    policySummary_deleteUnusedFMManagedResources,+    policySummary_policyArn,+    policySummary_policyId,+    policySummary_policyName,+    policySummary_remediationEnabled,+    policySummary_resourceType,+    policySummary_securityServiceType,++    -- ** PossibleRemediationAction+    possibleRemediationAction_description,+    possibleRemediationAction_isDefaultAction,+    possibleRemediationAction_orderedRemediationActions,++    -- ** PossibleRemediationActions+    possibleRemediationActions_actions,+    possibleRemediationActions_description,++    -- ** ProtocolsListData+    protocolsListData_createTime,+    protocolsListData_lastUpdateTime,+    protocolsListData_listId,+    protocolsListData_listUpdateToken,+    protocolsListData_previousProtocolsList,+    protocolsListData_listName,+    protocolsListData_protocolsList,++    -- ** ProtocolsListDataSummary+    protocolsListDataSummary_listArn,+    protocolsListDataSummary_listId,+    protocolsListDataSummary_listName,+    protocolsListDataSummary_protocolsList,++    -- ** RemediationAction+    remediationAction_description,+    remediationAction_eC2AssociateRouteTableAction,+    remediationAction_eC2CopyRouteTableAction,+    remediationAction_eC2CreateRouteAction,+    remediationAction_eC2CreateRouteTableAction,+    remediationAction_eC2DeleteRouteAction,+    remediationAction_eC2ReplaceRouteAction,+    remediationAction_eC2ReplaceRouteTableAssociationAction,+    remediationAction_fMSPolicyUpdateFirewallCreationConfigAction,++    -- ** RemediationActionWithOrder+    remediationActionWithOrder_order,+    remediationActionWithOrder_remediationAction,++    -- ** Resource+    resource_accountId,+    resource_uri,++    -- ** ResourceSet+    resourceSet_description,+    resourceSet_id,+    resourceSet_lastUpdateTime,+    resourceSet_updateToken,+    resourceSet_name,+    resourceSet_resourceTypeList,++    -- ** ResourceSetSummary+    resourceSetSummary_description,+    resourceSetSummary_id,+    resourceSetSummary_lastUpdateTime,+    resourceSetSummary_name,++    -- ** ResourceTag+    resourceTag_value,+    resourceTag_key,++    -- ** ResourceViolation+    resourceViolation_awsEc2InstanceViolation,+    resourceViolation_awsEc2NetworkInterfaceViolation,+    resourceViolation_awsVPCSecurityGroupViolation,+    resourceViolation_dnsDuplicateRuleGroupViolation,+    resourceViolation_dnsRuleGroupLimitExceededViolation,+    resourceViolation_dnsRuleGroupPriorityConflictViolation,+    resourceViolation_firewallSubnetIsOutOfScopeViolation,+    resourceViolation_firewallSubnetMissingVPCEndpointViolation,+    resourceViolation_networkFirewallBlackHoleRouteDetectedViolation,+    resourceViolation_networkFirewallInternetTrafficNotInspectedViolation,+    resourceViolation_networkFirewallInvalidRouteConfigurationViolation,+    resourceViolation_networkFirewallMissingExpectedRTViolation,+    resourceViolation_networkFirewallMissingExpectedRoutesViolation,+    resourceViolation_networkFirewallMissingFirewallViolation,+    resourceViolation_networkFirewallMissingSubnetViolation,+    resourceViolation_networkFirewallPolicyModifiedViolation,+    resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation,+    resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation,+    resourceViolation_possibleRemediationActions,+    resourceViolation_routeHasOutOfScopeEndpointViolation,+    resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation,+    resourceViolation_thirdPartyFirewallMissingFirewallViolation,+    resourceViolation_thirdPartyFirewallMissingSubnetViolation,++    -- ** Route+    route_destination,+    route_destinationType,+    route_target,+    route_targetType,++    -- ** RouteHasOutOfScopeEndpointViolation+    routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable,+    routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable,+    routeHasOutOfScopeEndpointViolation_firewallSubnetId,+    routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes,+    routeHasOutOfScopeEndpointViolation_internetGatewayId,+    routeHasOutOfScopeEndpointViolation_internetGatewayRoutes,+    routeHasOutOfScopeEndpointViolation_routeTableId,+    routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone,+    routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId,+    routeHasOutOfScopeEndpointViolation_subnetId,+    routeHasOutOfScopeEndpointViolation_violatingRoutes,+    routeHasOutOfScopeEndpointViolation_vpcId,++    -- ** SecurityGroupRemediationAction+    securityGroupRemediationAction_description,+    securityGroupRemediationAction_isDefaultAction,+    securityGroupRemediationAction_remediationActionType,+    securityGroupRemediationAction_remediationResult,++    -- ** SecurityGroupRuleDescription+    securityGroupRuleDescription_fromPort,+    securityGroupRuleDescription_iPV4Range,+    securityGroupRuleDescription_iPV6Range,+    securityGroupRuleDescription_prefixListId,+    securityGroupRuleDescription_protocol,+    securityGroupRuleDescription_toPort,++    -- ** SecurityServicePolicyData+    securityServicePolicyData_managedServiceData,+    securityServicePolicyData_policyOption,+    securityServicePolicyData_type,++    -- ** StatefulEngineOptions+    statefulEngineOptions_ruleOrder,++    -- ** StatefulRuleGroup+    statefulRuleGroup_override,+    statefulRuleGroup_priority,+    statefulRuleGroup_resourceId,+    statefulRuleGroup_ruleGroupName,++    -- ** StatelessRuleGroup+    statelessRuleGroup_priority,+    statelessRuleGroup_resourceId,+    statelessRuleGroup_ruleGroupName,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** ThirdPartyFirewallFirewallPolicy+    thirdPartyFirewallFirewallPolicy_firewallPolicyId,+    thirdPartyFirewallFirewallPolicy_firewallPolicyName,++    -- ** ThirdPartyFirewallMissingExpectedRouteTableViolation+    thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone,+    thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable,+    thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable,+    thirdPartyFirewallMissingExpectedRouteTableViolation_vpc,+    thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget,++    -- ** ThirdPartyFirewallMissingFirewallViolation+    thirdPartyFirewallMissingFirewallViolation_availabilityZone,+    thirdPartyFirewallMissingFirewallViolation_targetViolationReason,+    thirdPartyFirewallMissingFirewallViolation_vpc,+    thirdPartyFirewallMissingFirewallViolation_violationTarget,++    -- ** ThirdPartyFirewallMissingSubnetViolation+    thirdPartyFirewallMissingSubnetViolation_availabilityZone,+    thirdPartyFirewallMissingSubnetViolation_targetViolationReason,+    thirdPartyFirewallMissingSubnetViolation_vpc,+    thirdPartyFirewallMissingSubnetViolation_violationTarget,++    -- ** ThirdPartyFirewallPolicy+    thirdPartyFirewallPolicy_firewallDeploymentModel,++    -- ** ViolationDetail+    violationDetail_resourceDescription,+    violationDetail_resourceTags,+    violationDetail_policyId,+    violationDetail_memberAccount,+    violationDetail_resourceId,+    violationDetail_resourceType,+    violationDetail_resourceViolations,+  )+where++import Amazonka.FMS.AssociateAdminAccount+import Amazonka.FMS.AssociateThirdPartyFirewall+import Amazonka.FMS.BatchAssociateResource+import Amazonka.FMS.BatchDisassociateResource+import Amazonka.FMS.DeleteAppsList+import Amazonka.FMS.DeleteNotificationChannel+import Amazonka.FMS.DeletePolicy+import Amazonka.FMS.DeleteProtocolsList+import Amazonka.FMS.DeleteResourceSet+import Amazonka.FMS.DisassociateAdminAccount+import Amazonka.FMS.DisassociateThirdPartyFirewall+import Amazonka.FMS.GetAdminAccount+import Amazonka.FMS.GetAppsList+import Amazonka.FMS.GetComplianceDetail+import Amazonka.FMS.GetNotificationChannel+import Amazonka.FMS.GetPolicy+import Amazonka.FMS.GetProtectionStatus+import Amazonka.FMS.GetProtocolsList+import Amazonka.FMS.GetResourceSet+import Amazonka.FMS.GetThirdPartyFirewallAssociationStatus+import Amazonka.FMS.GetViolationDetails+import Amazonka.FMS.ListAppsLists+import Amazonka.FMS.ListComplianceStatus+import Amazonka.FMS.ListDiscoveredResources+import Amazonka.FMS.ListMemberAccounts+import Amazonka.FMS.ListPolicies+import Amazonka.FMS.ListProtocolsLists+import Amazonka.FMS.ListResourceSetResources+import Amazonka.FMS.ListResourceSets+import Amazonka.FMS.ListTagsForResource+import Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies+import Amazonka.FMS.PutAppsList+import Amazonka.FMS.PutNotificationChannel+import Amazonka.FMS.PutPolicy+import Amazonka.FMS.PutProtocolsList+import Amazonka.FMS.PutResourceSet+import Amazonka.FMS.TagResource+import Amazonka.FMS.Types.ActionTarget+import Amazonka.FMS.Types.App+import Amazonka.FMS.Types.AppsListData+import Amazonka.FMS.Types.AppsListDataSummary+import Amazonka.FMS.Types.AwsEc2InstanceViolation+import Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation+import Amazonka.FMS.Types.AwsVPCSecurityGroupViolation+import Amazonka.FMS.Types.ComplianceViolator+import Amazonka.FMS.Types.DiscoveredResource+import Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation+import Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation+import Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation+import Amazonka.FMS.Types.EC2AssociateRouteTableAction+import Amazonka.FMS.Types.EC2CopyRouteTableAction+import Amazonka.FMS.Types.EC2CreateRouteAction+import Amazonka.FMS.Types.EC2CreateRouteTableAction+import Amazonka.FMS.Types.EC2DeleteRouteAction+import Amazonka.FMS.Types.EC2ReplaceRouteAction+import Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction+import Amazonka.FMS.Types.EvaluationResult+import Amazonka.FMS.Types.ExpectedRoute+import Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction+import Amazonka.FMS.Types.FailedItem+import Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation+import Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation+import Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation+import Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation+import Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation+import Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation+import Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation+import Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation+import Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation+import Amazonka.FMS.Types.NetworkFirewallPolicy+import Amazonka.FMS.Types.NetworkFirewallPolicyDescription+import Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation+import Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride+import Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation+import Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation+import Amazonka.FMS.Types.PartialMatch+import Amazonka.FMS.Types.Policy+import Amazonka.FMS.Types.PolicyComplianceDetail+import Amazonka.FMS.Types.PolicyComplianceStatus+import Amazonka.FMS.Types.PolicyOption+import Amazonka.FMS.Types.PolicySummary+import Amazonka.FMS.Types.PossibleRemediationAction+import Amazonka.FMS.Types.PossibleRemediationActions+import Amazonka.FMS.Types.ProtocolsListData+import Amazonka.FMS.Types.ProtocolsListDataSummary+import Amazonka.FMS.Types.RemediationAction+import Amazonka.FMS.Types.RemediationActionWithOrder+import Amazonka.FMS.Types.Resource+import Amazonka.FMS.Types.ResourceSet+import Amazonka.FMS.Types.ResourceSetSummary+import Amazonka.FMS.Types.ResourceTag+import Amazonka.FMS.Types.ResourceViolation+import Amazonka.FMS.Types.Route+import Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation+import Amazonka.FMS.Types.SecurityGroupRemediationAction+import Amazonka.FMS.Types.SecurityGroupRuleDescription+import Amazonka.FMS.Types.SecurityServicePolicyData+import Amazonka.FMS.Types.StatefulEngineOptions+import Amazonka.FMS.Types.StatefulRuleGroup+import Amazonka.FMS.Types.StatelessRuleGroup+import Amazonka.FMS.Types.Tag+import Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy+import Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation+import Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation+import Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation+import Amazonka.FMS.Types.ThirdPartyFirewallPolicy+import Amazonka.FMS.Types.ViolationDetail+import Amazonka.FMS.UntagResource
+ gen/Amazonka/FMS/ListAppsLists.hs view
@@ -0,0 +1,276 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListAppsLists+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of @AppsListDataSummary@ objects.+--+-- This operation returns paginated results.+module Amazonka.FMS.ListAppsLists+  ( -- * Creating a Request+    ListAppsLists (..),+    newListAppsLists,++    -- * Request Lenses+    listAppsLists_defaultLists,+    listAppsLists_nextToken,+    listAppsLists_maxResults,++    -- * Destructuring the Response+    ListAppsListsResponse (..),+    newListAppsListsResponse,++    -- * Response Lenses+    listAppsListsResponse_appsLists,+    listAppsListsResponse_nextToken,+    listAppsListsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAppsLists' smart constructor.+data ListAppsLists = ListAppsLists'+  { -- | Specifies whether the lists to retrieve are default lists owned by+    -- Firewall Manager.+    defaultLists :: Prelude.Maybe Prelude.Bool,+    -- | If you specify a value for @MaxResults@ in your list request, and you+    -- have more objects than the maximum, Firewall Manager returns this token+    -- in the response. For all but the first request, you provide the token+    -- returned by the prior request in the request parameters, to retrieve the+    -- next batch of objects.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of objects that you want Firewall Manager to return+    -- for this request. If more objects are available, in the response,+    -- Firewall Manager provides a @NextToken@ value that you can use in a+    -- subsequent call to get the next batch of objects.+    --+    -- If you don\'t specify this, Firewall Manager returns all available+    -- objects.+    maxResults :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppsLists' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultLists', 'listAppsLists_defaultLists' - Specifies whether the lists to retrieve are default lists owned by+-- Firewall Manager.+--+-- 'nextToken', 'listAppsLists_nextToken' - If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. For all but the first request, you provide the token+-- returned by the prior request in the request parameters, to retrieve the+-- next batch of objects.+--+-- 'maxResults', 'listAppsLists_maxResults' - The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+--+-- If you don\'t specify this, Firewall Manager returns all available+-- objects.+newListAppsLists ::+  -- | 'maxResults'+  Prelude.Natural ->+  ListAppsLists+newListAppsLists pMaxResults_ =+  ListAppsLists'+    { defaultLists = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      maxResults = pMaxResults_+    }++-- | Specifies whether the lists to retrieve are default lists owned by+-- Firewall Manager.+listAppsLists_defaultLists :: Lens.Lens' ListAppsLists (Prelude.Maybe Prelude.Bool)+listAppsLists_defaultLists = Lens.lens (\ListAppsLists' {defaultLists} -> defaultLists) (\s@ListAppsLists' {} a -> s {defaultLists = a} :: ListAppsLists)++-- | If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. For all but the first request, you provide the token+-- returned by the prior request in the request parameters, to retrieve the+-- next batch of objects.+listAppsLists_nextToken :: Lens.Lens' ListAppsLists (Prelude.Maybe Prelude.Text)+listAppsLists_nextToken = Lens.lens (\ListAppsLists' {nextToken} -> nextToken) (\s@ListAppsLists' {} a -> s {nextToken = a} :: ListAppsLists)++-- | The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+--+-- If you don\'t specify this, Firewall Manager returns all available+-- objects.+listAppsLists_maxResults :: Lens.Lens' ListAppsLists Prelude.Natural+listAppsLists_maxResults = Lens.lens (\ListAppsLists' {maxResults} -> maxResults) (\s@ListAppsLists' {} a -> s {maxResults = a} :: ListAppsLists)++instance Core.AWSPager ListAppsLists where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAppsListsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAppsListsResponse_appsLists+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAppsLists_nextToken+          Lens..~ rs+          Lens.^? listAppsListsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAppsLists where+  type+    AWSResponse ListAppsLists =+      ListAppsListsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppsListsResponse'+            Prelude.<$> (x Data..?> "AppsLists" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAppsLists where+  hashWithSalt _salt ListAppsLists' {..} =+    _salt+      `Prelude.hashWithSalt` defaultLists+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` maxResults++instance Prelude.NFData ListAppsLists where+  rnf ListAppsLists' {..} =+    Prelude.rnf defaultLists+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf maxResults++instance Data.ToHeaders ListAppsLists where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListAppsLists" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListAppsLists where+  toJSON ListAppsLists' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultLists" Data..=) Prelude.<$> defaultLists,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("MaxResults" Data..= maxResults)+          ]+      )++instance Data.ToPath ListAppsLists where+  toPath = Prelude.const "/"++instance Data.ToQuery ListAppsLists where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAppsListsResponse' smart constructor.+data ListAppsListsResponse = ListAppsListsResponse'+  { -- | An array of @AppsListDataSummary@ objects.+    appsLists :: Prelude.Maybe [AppsListDataSummary],+    -- | If you specify a value for @MaxResults@ in your list request, and you+    -- have more objects than the maximum, Firewall Manager returns this token+    -- in the response. You can use this token in subsequent requests to+    -- retrieve the next batch of objects.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppsListsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appsLists', 'listAppsListsResponse_appsLists' - An array of @AppsListDataSummary@ objects.+--+-- 'nextToken', 'listAppsListsResponse_nextToken' - If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. You can use this token in subsequent requests to+-- retrieve the next batch of objects.+--+-- 'httpStatus', 'listAppsListsResponse_httpStatus' - The response's http status code.+newListAppsListsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppsListsResponse+newListAppsListsResponse pHttpStatus_ =+  ListAppsListsResponse'+    { appsLists = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of @AppsListDataSummary@ objects.+listAppsListsResponse_appsLists :: Lens.Lens' ListAppsListsResponse (Prelude.Maybe [AppsListDataSummary])+listAppsListsResponse_appsLists = Lens.lens (\ListAppsListsResponse' {appsLists} -> appsLists) (\s@ListAppsListsResponse' {} a -> s {appsLists = a} :: ListAppsListsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. You can use this token in subsequent requests to+-- retrieve the next batch of objects.+listAppsListsResponse_nextToken :: Lens.Lens' ListAppsListsResponse (Prelude.Maybe Prelude.Text)+listAppsListsResponse_nextToken = Lens.lens (\ListAppsListsResponse' {nextToken} -> nextToken) (\s@ListAppsListsResponse' {} a -> s {nextToken = a} :: ListAppsListsResponse)++-- | The response's http status code.+listAppsListsResponse_httpStatus :: Lens.Lens' ListAppsListsResponse Prelude.Int+listAppsListsResponse_httpStatus = Lens.lens (\ListAppsListsResponse' {httpStatus} -> httpStatus) (\s@ListAppsListsResponse' {} a -> s {httpStatus = a} :: ListAppsListsResponse)++instance Prelude.NFData ListAppsListsResponse where+  rnf ListAppsListsResponse' {..} =+    Prelude.rnf appsLists+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListComplianceStatus.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListComplianceStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of @PolicyComplianceStatus@ objects. Use+-- @PolicyComplianceStatus@ to get a summary of which member accounts are+-- protected by the specified policy.+--+-- This operation returns paginated results.+module Amazonka.FMS.ListComplianceStatus+  ( -- * Creating a Request+    ListComplianceStatus (..),+    newListComplianceStatus,++    -- * Request Lenses+    listComplianceStatus_maxResults,+    listComplianceStatus_nextToken,+    listComplianceStatus_policyId,++    -- * Destructuring the Response+    ListComplianceStatusResponse (..),+    newListComplianceStatusResponse,++    -- * Response Lenses+    listComplianceStatusResponse_nextToken,+    listComplianceStatusResponse_policyComplianceStatusList,+    listComplianceStatusResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListComplianceStatus' smart constructor.+data ListComplianceStatus = ListComplianceStatus'+  { -- | Specifies the number of @PolicyComplianceStatus@ objects that you want+    -- Firewall Manager to return for this request. If you have more+    -- @PolicyComplianceStatus@ objects than the number that you specify for+    -- @MaxResults@, the response includes a @NextToken@ value that you can use+    -- to get another batch of @PolicyComplianceStatus@ objects.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If you specify a value for @MaxResults@ and you have more+    -- @PolicyComplianceStatus@ objects than the number that you specify for+    -- @MaxResults@, Firewall Manager returns a @NextToken@ value in the+    -- response that allows you to list another group of+    -- @PolicyComplianceStatus@ objects. For the second and subsequent+    -- @ListComplianceStatus@ requests, specify the value of @NextToken@ from+    -- the previous response to get information about another batch of+    -- @PolicyComplianceStatus@ objects.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Firewall Manager policy that you want the details for.+    policyId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListComplianceStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listComplianceStatus_maxResults' - Specifies the number of @PolicyComplianceStatus@ objects that you want+-- Firewall Manager to return for this request. If you have more+-- @PolicyComplianceStatus@ objects than the number that you specify for+-- @MaxResults@, the response includes a @NextToken@ value that you can use+-- to get another batch of @PolicyComplianceStatus@ objects.+--+-- 'nextToken', 'listComplianceStatus_nextToken' - If you specify a value for @MaxResults@ and you have more+-- @PolicyComplianceStatus@ objects than the number that you specify for+-- @MaxResults@, Firewall Manager returns a @NextToken@ value in the+-- response that allows you to list another group of+-- @PolicyComplianceStatus@ objects. For the second and subsequent+-- @ListComplianceStatus@ requests, specify the value of @NextToken@ from+-- the previous response to get information about another batch of+-- @PolicyComplianceStatus@ objects.+--+-- 'policyId', 'listComplianceStatus_policyId' - The ID of the Firewall Manager policy that you want the details for.+newListComplianceStatus ::+  -- | 'policyId'+  Prelude.Text ->+  ListComplianceStatus+newListComplianceStatus pPolicyId_ =+  ListComplianceStatus'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      policyId = pPolicyId_+    }++-- | Specifies the number of @PolicyComplianceStatus@ objects that you want+-- Firewall Manager to return for this request. If you have more+-- @PolicyComplianceStatus@ objects than the number that you specify for+-- @MaxResults@, the response includes a @NextToken@ value that you can use+-- to get another batch of @PolicyComplianceStatus@ objects.+listComplianceStatus_maxResults :: Lens.Lens' ListComplianceStatus (Prelude.Maybe Prelude.Natural)+listComplianceStatus_maxResults = Lens.lens (\ListComplianceStatus' {maxResults} -> maxResults) (\s@ListComplianceStatus' {} a -> s {maxResults = a} :: ListComplianceStatus)++-- | If you specify a value for @MaxResults@ and you have more+-- @PolicyComplianceStatus@ objects than the number that you specify for+-- @MaxResults@, Firewall Manager returns a @NextToken@ value in the+-- response that allows you to list another group of+-- @PolicyComplianceStatus@ objects. For the second and subsequent+-- @ListComplianceStatus@ requests, specify the value of @NextToken@ from+-- the previous response to get information about another batch of+-- @PolicyComplianceStatus@ objects.+listComplianceStatus_nextToken :: Lens.Lens' ListComplianceStatus (Prelude.Maybe Prelude.Text)+listComplianceStatus_nextToken = Lens.lens (\ListComplianceStatus' {nextToken} -> nextToken) (\s@ListComplianceStatus' {} a -> s {nextToken = a} :: ListComplianceStatus)++-- | The ID of the Firewall Manager policy that you want the details for.+listComplianceStatus_policyId :: Lens.Lens' ListComplianceStatus Prelude.Text+listComplianceStatus_policyId = Lens.lens (\ListComplianceStatus' {policyId} -> policyId) (\s@ListComplianceStatus' {} a -> s {policyId = a} :: ListComplianceStatus)++instance Core.AWSPager ListComplianceStatus where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listComplianceStatusResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listComplianceStatusResponse_policyComplianceStatusList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listComplianceStatus_nextToken+          Lens..~ rs+          Lens.^? listComplianceStatusResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListComplianceStatus where+  type+    AWSResponse ListComplianceStatus =+      ListComplianceStatusResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListComplianceStatusResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "PolicyComplianceStatusList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListComplianceStatus where+  hashWithSalt _salt ListComplianceStatus' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` policyId++instance Prelude.NFData ListComplianceStatus where+  rnf ListComplianceStatus' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf policyId++instance Data.ToHeaders ListComplianceStatus where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListComplianceStatus" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListComplianceStatus where+  toJSON ListComplianceStatus' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("PolicyId" Data..= policyId)+          ]+      )++instance Data.ToPath ListComplianceStatus where+  toPath = Prelude.const "/"++instance Data.ToQuery ListComplianceStatus where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListComplianceStatusResponse' smart constructor.+data ListComplianceStatusResponse = ListComplianceStatusResponse'+  { -- | If you have more @PolicyComplianceStatus@ objects than the number that+    -- you specified for @MaxResults@ in the request, the response includes a+    -- @NextToken@ value. To list more @PolicyComplianceStatus@ objects, submit+    -- another @ListComplianceStatus@ request, and specify the @NextToken@+    -- value from the response in the @NextToken@ value in the next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of @PolicyComplianceStatus@ objects.+    policyComplianceStatusList :: Prelude.Maybe [PolicyComplianceStatus],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListComplianceStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listComplianceStatusResponse_nextToken' - If you have more @PolicyComplianceStatus@ objects than the number that+-- you specified for @MaxResults@ in the request, the response includes a+-- @NextToken@ value. To list more @PolicyComplianceStatus@ objects, submit+-- another @ListComplianceStatus@ request, and specify the @NextToken@+-- value from the response in the @NextToken@ value in the next request.+--+-- 'policyComplianceStatusList', 'listComplianceStatusResponse_policyComplianceStatusList' - An array of @PolicyComplianceStatus@ objects.+--+-- 'httpStatus', 'listComplianceStatusResponse_httpStatus' - The response's http status code.+newListComplianceStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListComplianceStatusResponse+newListComplianceStatusResponse pHttpStatus_ =+  ListComplianceStatusResponse'+    { nextToken =+        Prelude.Nothing,+      policyComplianceStatusList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If you have more @PolicyComplianceStatus@ objects than the number that+-- you specified for @MaxResults@ in the request, the response includes a+-- @NextToken@ value. To list more @PolicyComplianceStatus@ objects, submit+-- another @ListComplianceStatus@ request, and specify the @NextToken@+-- value from the response in the @NextToken@ value in the next request.+listComplianceStatusResponse_nextToken :: Lens.Lens' ListComplianceStatusResponse (Prelude.Maybe Prelude.Text)+listComplianceStatusResponse_nextToken = Lens.lens (\ListComplianceStatusResponse' {nextToken} -> nextToken) (\s@ListComplianceStatusResponse' {} a -> s {nextToken = a} :: ListComplianceStatusResponse)++-- | An array of @PolicyComplianceStatus@ objects.+listComplianceStatusResponse_policyComplianceStatusList :: Lens.Lens' ListComplianceStatusResponse (Prelude.Maybe [PolicyComplianceStatus])+listComplianceStatusResponse_policyComplianceStatusList = Lens.lens (\ListComplianceStatusResponse' {policyComplianceStatusList} -> policyComplianceStatusList) (\s@ListComplianceStatusResponse' {} a -> s {policyComplianceStatusList = a} :: ListComplianceStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listComplianceStatusResponse_httpStatus :: Lens.Lens' ListComplianceStatusResponse Prelude.Int+listComplianceStatusResponse_httpStatus = Lens.lens (\ListComplianceStatusResponse' {httpStatus} -> httpStatus) (\s@ListComplianceStatusResponse' {} a -> s {httpStatus = a} :: ListComplianceStatusResponse)++instance Prelude.NFData ListComplianceStatusResponse where+  rnf ListComplianceStatusResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf policyComplianceStatusList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListDiscoveredResources.hs view
@@ -0,0 +1,269 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListDiscoveredResources+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of resources in the organization\'s accounts that are+-- available to be associated with a resource set.+module Amazonka.FMS.ListDiscoveredResources+  ( -- * Creating a Request+    ListDiscoveredResources (..),+    newListDiscoveredResources,++    -- * Request Lenses+    listDiscoveredResources_maxResults,+    listDiscoveredResources_nextToken,+    listDiscoveredResources_memberAccountIds,+    listDiscoveredResources_resourceType,++    -- * Destructuring the Response+    ListDiscoveredResourcesResponse (..),+    newListDiscoveredResourcesResponse,++    -- * Response Lenses+    listDiscoveredResourcesResponse_items,+    listDiscoveredResourcesResponse_nextToken,+    listDiscoveredResourcesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDiscoveredResources' smart constructor.+data ListDiscoveredResources = ListDiscoveredResources'+  { -- | The maximum number of objects that you want Firewall Manager to return+    -- for this request. If more objects are available, in the response,+    -- Firewall Manager provides a @NextToken@ value that you can use in a+    -- subsequent call to get the next batch of objects.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | When you request a list of objects with a @MaxResults@ setting, if the+    -- number of objects that are still available for retrieval exceeds the+    -- maximum you requested, Firewall Manager returns a @NextToken@ value in+    -- the response. To retrieve the next batch of objects, use the token+    -- returned from the prior request in your next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account IDs to discover resources in. Only one+    -- account is supported per request. The account must be a member of your+    -- organization.+    memberAccountIds :: [Prelude.Text],+    -- | The type of resources to discover.+    resourceType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDiscoveredResources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDiscoveredResources_maxResults' - The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+--+-- 'nextToken', 'listDiscoveredResources_nextToken' - When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+--+-- 'memberAccountIds', 'listDiscoveredResources_memberAccountIds' - The Amazon Web Services account IDs to discover resources in. Only one+-- account is supported per request. The account must be a member of your+-- organization.+--+-- 'resourceType', 'listDiscoveredResources_resourceType' - The type of resources to discover.+newListDiscoveredResources ::+  -- | 'resourceType'+  Prelude.Text ->+  ListDiscoveredResources+newListDiscoveredResources pResourceType_ =+  ListDiscoveredResources'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      memberAccountIds = Prelude.mempty,+      resourceType = pResourceType_+    }++-- | The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+listDiscoveredResources_maxResults :: Lens.Lens' ListDiscoveredResources (Prelude.Maybe Prelude.Natural)+listDiscoveredResources_maxResults = Lens.lens (\ListDiscoveredResources' {maxResults} -> maxResults) (\s@ListDiscoveredResources' {} a -> s {maxResults = a} :: ListDiscoveredResources)++-- | When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+listDiscoveredResources_nextToken :: Lens.Lens' ListDiscoveredResources (Prelude.Maybe Prelude.Text)+listDiscoveredResources_nextToken = Lens.lens (\ListDiscoveredResources' {nextToken} -> nextToken) (\s@ListDiscoveredResources' {} a -> s {nextToken = a} :: ListDiscoveredResources)++-- | The Amazon Web Services account IDs to discover resources in. Only one+-- account is supported per request. The account must be a member of your+-- organization.+listDiscoveredResources_memberAccountIds :: Lens.Lens' ListDiscoveredResources [Prelude.Text]+listDiscoveredResources_memberAccountIds = Lens.lens (\ListDiscoveredResources' {memberAccountIds} -> memberAccountIds) (\s@ListDiscoveredResources' {} a -> s {memberAccountIds = a} :: ListDiscoveredResources) Prelude.. Lens.coerced++-- | The type of resources to discover.+listDiscoveredResources_resourceType :: Lens.Lens' ListDiscoveredResources Prelude.Text+listDiscoveredResources_resourceType = Lens.lens (\ListDiscoveredResources' {resourceType} -> resourceType) (\s@ListDiscoveredResources' {} a -> s {resourceType = a} :: ListDiscoveredResources)++instance Core.AWSRequest ListDiscoveredResources where+  type+    AWSResponse ListDiscoveredResources =+      ListDiscoveredResourcesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDiscoveredResourcesResponse'+            Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDiscoveredResources where+  hashWithSalt _salt ListDiscoveredResources' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` memberAccountIds+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ListDiscoveredResources where+  rnf ListDiscoveredResources' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf memberAccountIds+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders ListDiscoveredResources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListDiscoveredResources" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListDiscoveredResources where+  toJSON ListDiscoveredResources' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just+              ("MemberAccountIds" Data..= memberAccountIds),+            Prelude.Just ("ResourceType" Data..= resourceType)+          ]+      )++instance Data.ToPath ListDiscoveredResources where+  toPath = Prelude.const "/"++instance Data.ToQuery ListDiscoveredResources where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDiscoveredResourcesResponse' smart constructor.+data ListDiscoveredResourcesResponse = ListDiscoveredResourcesResponse'+  { -- | Details of the resources that were discovered.+    items :: Prelude.Maybe [DiscoveredResource],+    -- | When you request a list of objects with a @MaxResults@ setting, if the+    -- number of objects that are still available for retrieval exceeds the+    -- maximum you requested, Firewall Manager returns a @NextToken@ value in+    -- the response. To retrieve the next batch of objects, use the token+    -- returned from the prior request in your next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDiscoveredResourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listDiscoveredResourcesResponse_items' - Details of the resources that were discovered.+--+-- 'nextToken', 'listDiscoveredResourcesResponse_nextToken' - When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+--+-- 'httpStatus', 'listDiscoveredResourcesResponse_httpStatus' - The response's http status code.+newListDiscoveredResourcesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDiscoveredResourcesResponse+newListDiscoveredResourcesResponse pHttpStatus_ =+  ListDiscoveredResourcesResponse'+    { items =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details of the resources that were discovered.+listDiscoveredResourcesResponse_items :: Lens.Lens' ListDiscoveredResourcesResponse (Prelude.Maybe [DiscoveredResource])+listDiscoveredResourcesResponse_items = Lens.lens (\ListDiscoveredResourcesResponse' {items} -> items) (\s@ListDiscoveredResourcesResponse' {} a -> s {items = a} :: ListDiscoveredResourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+listDiscoveredResourcesResponse_nextToken :: Lens.Lens' ListDiscoveredResourcesResponse (Prelude.Maybe Prelude.Text)+listDiscoveredResourcesResponse_nextToken = Lens.lens (\ListDiscoveredResourcesResponse' {nextToken} -> nextToken) (\s@ListDiscoveredResourcesResponse' {} a -> s {nextToken = a} :: ListDiscoveredResourcesResponse)++-- | The response's http status code.+listDiscoveredResourcesResponse_httpStatus :: Lens.Lens' ListDiscoveredResourcesResponse Prelude.Int+listDiscoveredResourcesResponse_httpStatus = Lens.lens (\ListDiscoveredResourcesResponse' {httpStatus} -> httpStatus) (\s@ListDiscoveredResourcesResponse' {} a -> s {httpStatus = a} :: ListDiscoveredResourcesResponse)++instance+  Prelude.NFData+    ListDiscoveredResourcesResponse+  where+  rnf ListDiscoveredResourcesResponse' {..} =+    Prelude.rnf items+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListMemberAccounts.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListMemberAccounts+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a @MemberAccounts@ object that lists the member accounts in the+-- administrator\'s Amazon Web Services organization.+--+-- The @ListMemberAccounts@ must be submitted by the account that is set as+-- the Firewall Manager administrator.+--+-- This operation returns paginated results.+module Amazonka.FMS.ListMemberAccounts+  ( -- * Creating a Request+    ListMemberAccounts (..),+    newListMemberAccounts,++    -- * Request Lenses+    listMemberAccounts_maxResults,+    listMemberAccounts_nextToken,++    -- * Destructuring the Response+    ListMemberAccountsResponse (..),+    newListMemberAccountsResponse,++    -- * Response Lenses+    listMemberAccountsResponse_memberAccounts,+    listMemberAccountsResponse_nextToken,+    listMemberAccountsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMemberAccounts' smart constructor.+data ListMemberAccounts = ListMemberAccounts'+  { -- | Specifies the number of member account IDs that you want Firewall+    -- Manager to return for this request. If you have more IDs than the number+    -- that you specify for @MaxResults@, the response includes a @NextToken@+    -- value that you can use to get another batch of member account IDs.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If you specify a value for @MaxResults@ and you have more account IDs+    -- than the number that you specify for @MaxResults@, Firewall Manager+    -- returns a @NextToken@ value in the response that allows you to list+    -- another group of IDs. For the second and subsequent+    -- @ListMemberAccountsRequest@ requests, specify the value of @NextToken@+    -- from the previous response to get information about another batch of+    -- member account IDs.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMemberAccounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listMemberAccounts_maxResults' - Specifies the number of member account IDs that you want Firewall+-- Manager to return for this request. If you have more IDs than the number+-- that you specify for @MaxResults@, the response includes a @NextToken@+-- value that you can use to get another batch of member account IDs.+--+-- 'nextToken', 'listMemberAccounts_nextToken' - If you specify a value for @MaxResults@ and you have more account IDs+-- than the number that you specify for @MaxResults@, Firewall Manager+-- returns a @NextToken@ value in the response that allows you to list+-- another group of IDs. For the second and subsequent+-- @ListMemberAccountsRequest@ requests, specify the value of @NextToken@+-- from the previous response to get information about another batch of+-- member account IDs.+newListMemberAccounts ::+  ListMemberAccounts+newListMemberAccounts =+  ListMemberAccounts'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Specifies the number of member account IDs that you want Firewall+-- Manager to return for this request. If you have more IDs than the number+-- that you specify for @MaxResults@, the response includes a @NextToken@+-- value that you can use to get another batch of member account IDs.+listMemberAccounts_maxResults :: Lens.Lens' ListMemberAccounts (Prelude.Maybe Prelude.Natural)+listMemberAccounts_maxResults = Lens.lens (\ListMemberAccounts' {maxResults} -> maxResults) (\s@ListMemberAccounts' {} a -> s {maxResults = a} :: ListMemberAccounts)++-- | If you specify a value for @MaxResults@ and you have more account IDs+-- than the number that you specify for @MaxResults@, Firewall Manager+-- returns a @NextToken@ value in the response that allows you to list+-- another group of IDs. For the second and subsequent+-- @ListMemberAccountsRequest@ requests, specify the value of @NextToken@+-- from the previous response to get information about another batch of+-- member account IDs.+listMemberAccounts_nextToken :: Lens.Lens' ListMemberAccounts (Prelude.Maybe Prelude.Text)+listMemberAccounts_nextToken = Lens.lens (\ListMemberAccounts' {nextToken} -> nextToken) (\s@ListMemberAccounts' {} a -> s {nextToken = a} :: ListMemberAccounts)++instance Core.AWSPager ListMemberAccounts where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listMemberAccountsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listMemberAccountsResponse_memberAccounts+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listMemberAccounts_nextToken+          Lens..~ rs+          Lens.^? listMemberAccountsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListMemberAccounts where+  type+    AWSResponse ListMemberAccounts =+      ListMemberAccountsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMemberAccountsResponse'+            Prelude.<$> (x Data..?> "MemberAccounts" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMemberAccounts where+  hashWithSalt _salt ListMemberAccounts' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMemberAccounts where+  rnf ListMemberAccounts' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMemberAccounts where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListMemberAccounts" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListMemberAccounts where+  toJSON ListMemberAccounts' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListMemberAccounts where+  toPath = Prelude.const "/"++instance Data.ToQuery ListMemberAccounts where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListMemberAccountsResponse' smart constructor.+data ListMemberAccountsResponse = ListMemberAccountsResponse'+  { -- | An array of account IDs.+    memberAccounts :: Prelude.Maybe [Prelude.Text],+    -- | If you have more member account IDs than the number that you specified+    -- for @MaxResults@ in the request, the response includes a @NextToken@+    -- value. To list more IDs, submit another @ListMemberAccounts@ request,+    -- and specify the @NextToken@ value from the response in the @NextToken@+    -- value in the next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMemberAccountsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberAccounts', 'listMemberAccountsResponse_memberAccounts' - An array of account IDs.+--+-- 'nextToken', 'listMemberAccountsResponse_nextToken' - If you have more member account IDs than the number that you specified+-- for @MaxResults@ in the request, the response includes a @NextToken@+-- value. To list more IDs, submit another @ListMemberAccounts@ request,+-- and specify the @NextToken@ value from the response in the @NextToken@+-- value in the next request.+--+-- 'httpStatus', 'listMemberAccountsResponse_httpStatus' - The response's http status code.+newListMemberAccountsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMemberAccountsResponse+newListMemberAccountsResponse pHttpStatus_ =+  ListMemberAccountsResponse'+    { memberAccounts =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of account IDs.+listMemberAccountsResponse_memberAccounts :: Lens.Lens' ListMemberAccountsResponse (Prelude.Maybe [Prelude.Text])+listMemberAccountsResponse_memberAccounts = Lens.lens (\ListMemberAccountsResponse' {memberAccounts} -> memberAccounts) (\s@ListMemberAccountsResponse' {} a -> s {memberAccounts = a} :: ListMemberAccountsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If you have more member account IDs than the number that you specified+-- for @MaxResults@ in the request, the response includes a @NextToken@+-- value. To list more IDs, submit another @ListMemberAccounts@ request,+-- and specify the @NextToken@ value from the response in the @NextToken@+-- value in the next request.+listMemberAccountsResponse_nextToken :: Lens.Lens' ListMemberAccountsResponse (Prelude.Maybe Prelude.Text)+listMemberAccountsResponse_nextToken = Lens.lens (\ListMemberAccountsResponse' {nextToken} -> nextToken) (\s@ListMemberAccountsResponse' {} a -> s {nextToken = a} :: ListMemberAccountsResponse)++-- | The response's http status code.+listMemberAccountsResponse_httpStatus :: Lens.Lens' ListMemberAccountsResponse Prelude.Int+listMemberAccountsResponse_httpStatus = Lens.lens (\ListMemberAccountsResponse' {httpStatus} -> httpStatus) (\s@ListMemberAccountsResponse' {} a -> s {httpStatus = a} :: ListMemberAccountsResponse)++instance Prelude.NFData ListMemberAccountsResponse where+  rnf ListMemberAccountsResponse' {..} =+    Prelude.rnf memberAccounts+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListPolicies.hs view
@@ -0,0 +1,259 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListPolicies+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of @PolicySummary@ objects.+--+-- This operation returns paginated results.+module Amazonka.FMS.ListPolicies+  ( -- * Creating a Request+    ListPolicies (..),+    newListPolicies,++    -- * Request Lenses+    listPolicies_maxResults,+    listPolicies_nextToken,++    -- * Destructuring the Response+    ListPoliciesResponse (..),+    newListPoliciesResponse,++    -- * Response Lenses+    listPoliciesResponse_nextToken,+    listPoliciesResponse_policyList,+    listPoliciesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPolicies' smart constructor.+data ListPolicies = ListPolicies'+  { -- | Specifies the number of @PolicySummary@ objects that you want Firewall+    -- Manager to return for this request. If you have more @PolicySummary@+    -- objects than the number that you specify for @MaxResults@, the response+    -- includes a @NextToken@ value that you can use to get another batch of+    -- @PolicySummary@ objects.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If you specify a value for @MaxResults@ and you have more+    -- @PolicySummary@ objects than the number that you specify for+    -- @MaxResults@, Firewall Manager returns a @NextToken@ value in the+    -- response that allows you to list another group of @PolicySummary@+    -- objects. For the second and subsequent @ListPolicies@ requests, specify+    -- the value of @NextToken@ from the previous response to get information+    -- about another batch of @PolicySummary@ objects.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPolicies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listPolicies_maxResults' - Specifies the number of @PolicySummary@ objects that you want Firewall+-- Manager to return for this request. If you have more @PolicySummary@+-- objects than the number that you specify for @MaxResults@, the response+-- includes a @NextToken@ value that you can use to get another batch of+-- @PolicySummary@ objects.+--+-- 'nextToken', 'listPolicies_nextToken' - If you specify a value for @MaxResults@ and you have more+-- @PolicySummary@ objects than the number that you specify for+-- @MaxResults@, Firewall Manager returns a @NextToken@ value in the+-- response that allows you to list another group of @PolicySummary@+-- objects. For the second and subsequent @ListPolicies@ requests, specify+-- the value of @NextToken@ from the previous response to get information+-- about another batch of @PolicySummary@ objects.+newListPolicies ::+  ListPolicies+newListPolicies =+  ListPolicies'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Specifies the number of @PolicySummary@ objects that you want Firewall+-- Manager to return for this request. If you have more @PolicySummary@+-- objects than the number that you specify for @MaxResults@, the response+-- includes a @NextToken@ value that you can use to get another batch of+-- @PolicySummary@ objects.+listPolicies_maxResults :: Lens.Lens' ListPolicies (Prelude.Maybe Prelude.Natural)+listPolicies_maxResults = Lens.lens (\ListPolicies' {maxResults} -> maxResults) (\s@ListPolicies' {} a -> s {maxResults = a} :: ListPolicies)++-- | If you specify a value for @MaxResults@ and you have more+-- @PolicySummary@ objects than the number that you specify for+-- @MaxResults@, Firewall Manager returns a @NextToken@ value in the+-- response that allows you to list another group of @PolicySummary@+-- objects. For the second and subsequent @ListPolicies@ requests, specify+-- the value of @NextToken@ from the previous response to get information+-- about another batch of @PolicySummary@ objects.+listPolicies_nextToken :: Lens.Lens' ListPolicies (Prelude.Maybe Prelude.Text)+listPolicies_nextToken = Lens.lens (\ListPolicies' {nextToken} -> nextToken) (\s@ListPolicies' {} a -> s {nextToken = a} :: ListPolicies)++instance Core.AWSPager ListPolicies where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPoliciesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPoliciesResponse_policyList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPolicies_nextToken+          Lens..~ rs+          Lens.^? listPoliciesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPolicies where+  type AWSResponse ListPolicies = ListPoliciesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPoliciesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "PolicyList" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPolicies where+  hashWithSalt _salt ListPolicies' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPolicies where+  rnf ListPolicies' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPolicies where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListPolicies" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPolicies where+  toJSON ListPolicies' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListPolicies where+  toPath = Prelude.const "/"++instance Data.ToQuery ListPolicies where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPoliciesResponse' smart constructor.+data ListPoliciesResponse = ListPoliciesResponse'+  { -- | If you have more @PolicySummary@ objects than the number that you+    -- specified for @MaxResults@ in the request, the response includes a+    -- @NextToken@ value. To list more @PolicySummary@ objects, submit another+    -- @ListPolicies@ request, and specify the @NextToken@ value from the+    -- response in the @NextToken@ value in the next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of @PolicySummary@ objects.+    policyList :: Prelude.Maybe [PolicySummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPoliciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listPoliciesResponse_nextToken' - If you have more @PolicySummary@ objects than the number that you+-- specified for @MaxResults@ in the request, the response includes a+-- @NextToken@ value. To list more @PolicySummary@ objects, submit another+-- @ListPolicies@ request, and specify the @NextToken@ value from the+-- response in the @NextToken@ value in the next request.+--+-- 'policyList', 'listPoliciesResponse_policyList' - An array of @PolicySummary@ objects.+--+-- 'httpStatus', 'listPoliciesResponse_httpStatus' - The response's http status code.+newListPoliciesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPoliciesResponse+newListPoliciesResponse pHttpStatus_ =+  ListPoliciesResponse'+    { nextToken = Prelude.Nothing,+      policyList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If you have more @PolicySummary@ objects than the number that you+-- specified for @MaxResults@ in the request, the response includes a+-- @NextToken@ value. To list more @PolicySummary@ objects, submit another+-- @ListPolicies@ request, and specify the @NextToken@ value from the+-- response in the @NextToken@ value in the next request.+listPoliciesResponse_nextToken :: Lens.Lens' ListPoliciesResponse (Prelude.Maybe Prelude.Text)+listPoliciesResponse_nextToken = Lens.lens (\ListPoliciesResponse' {nextToken} -> nextToken) (\s@ListPoliciesResponse' {} a -> s {nextToken = a} :: ListPoliciesResponse)++-- | An array of @PolicySummary@ objects.+listPoliciesResponse_policyList :: Lens.Lens' ListPoliciesResponse (Prelude.Maybe [PolicySummary])+listPoliciesResponse_policyList = Lens.lens (\ListPoliciesResponse' {policyList} -> policyList) (\s@ListPoliciesResponse' {} a -> s {policyList = a} :: ListPoliciesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPoliciesResponse_httpStatus :: Lens.Lens' ListPoliciesResponse Prelude.Int+listPoliciesResponse_httpStatus = Lens.lens (\ListPoliciesResponse' {httpStatus} -> httpStatus) (\s@ListPoliciesResponse' {} a -> s {httpStatus = a} :: ListPoliciesResponse)++instance Prelude.NFData ListPoliciesResponse where+  rnf ListPoliciesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf policyList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListProtocolsLists.hs view
@@ -0,0 +1,277 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListProtocolsLists+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of @ProtocolsListDataSummary@ objects.+--+-- This operation returns paginated results.+module Amazonka.FMS.ListProtocolsLists+  ( -- * Creating a Request+    ListProtocolsLists (..),+    newListProtocolsLists,++    -- * Request Lenses+    listProtocolsLists_defaultLists,+    listProtocolsLists_nextToken,+    listProtocolsLists_maxResults,++    -- * Destructuring the Response+    ListProtocolsListsResponse (..),+    newListProtocolsListsResponse,++    -- * Response Lenses+    listProtocolsListsResponse_nextToken,+    listProtocolsListsResponse_protocolsLists,+    listProtocolsListsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListProtocolsLists' smart constructor.+data ListProtocolsLists = ListProtocolsLists'+  { -- | Specifies whether the lists to retrieve are default lists owned by+    -- Firewall Manager.+    defaultLists :: Prelude.Maybe Prelude.Bool,+    -- | If you specify a value for @MaxResults@ in your list request, and you+    -- have more objects than the maximum, Firewall Manager returns this token+    -- in the response. For all but the first request, you provide the token+    -- returned by the prior request in the request parameters, to retrieve the+    -- next batch of objects.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of objects that you want Firewall Manager to return+    -- for this request. If more objects are available, in the response,+    -- Firewall Manager provides a @NextToken@ value that you can use in a+    -- subsequent call to get the next batch of objects.+    --+    -- If you don\'t specify this, Firewall Manager returns all available+    -- objects.+    maxResults :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProtocolsLists' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultLists', 'listProtocolsLists_defaultLists' - Specifies whether the lists to retrieve are default lists owned by+-- Firewall Manager.+--+-- 'nextToken', 'listProtocolsLists_nextToken' - If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. For all but the first request, you provide the token+-- returned by the prior request in the request parameters, to retrieve the+-- next batch of objects.+--+-- 'maxResults', 'listProtocolsLists_maxResults' - The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+--+-- If you don\'t specify this, Firewall Manager returns all available+-- objects.+newListProtocolsLists ::+  -- | 'maxResults'+  Prelude.Natural ->+  ListProtocolsLists+newListProtocolsLists pMaxResults_ =+  ListProtocolsLists'+    { defaultLists = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      maxResults = pMaxResults_+    }++-- | Specifies whether the lists to retrieve are default lists owned by+-- Firewall Manager.+listProtocolsLists_defaultLists :: Lens.Lens' ListProtocolsLists (Prelude.Maybe Prelude.Bool)+listProtocolsLists_defaultLists = Lens.lens (\ListProtocolsLists' {defaultLists} -> defaultLists) (\s@ListProtocolsLists' {} a -> s {defaultLists = a} :: ListProtocolsLists)++-- | If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. For all but the first request, you provide the token+-- returned by the prior request in the request parameters, to retrieve the+-- next batch of objects.+listProtocolsLists_nextToken :: Lens.Lens' ListProtocolsLists (Prelude.Maybe Prelude.Text)+listProtocolsLists_nextToken = Lens.lens (\ListProtocolsLists' {nextToken} -> nextToken) (\s@ListProtocolsLists' {} a -> s {nextToken = a} :: ListProtocolsLists)++-- | The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+--+-- If you don\'t specify this, Firewall Manager returns all available+-- objects.+listProtocolsLists_maxResults :: Lens.Lens' ListProtocolsLists Prelude.Natural+listProtocolsLists_maxResults = Lens.lens (\ListProtocolsLists' {maxResults} -> maxResults) (\s@ListProtocolsLists' {} a -> s {maxResults = a} :: ListProtocolsLists)++instance Core.AWSPager ListProtocolsLists where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listProtocolsListsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listProtocolsListsResponse_protocolsLists+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listProtocolsLists_nextToken+          Lens..~ rs+          Lens.^? listProtocolsListsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListProtocolsLists where+  type+    AWSResponse ListProtocolsLists =+      ListProtocolsListsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListProtocolsListsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "ProtocolsLists" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListProtocolsLists where+  hashWithSalt _salt ListProtocolsLists' {..} =+    _salt+      `Prelude.hashWithSalt` defaultLists+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` maxResults++instance Prelude.NFData ListProtocolsLists where+  rnf ListProtocolsLists' {..} =+    Prelude.rnf defaultLists+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf maxResults++instance Data.ToHeaders ListProtocolsLists where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListProtocolsLists" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListProtocolsLists where+  toJSON ListProtocolsLists' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultLists" Data..=) Prelude.<$> defaultLists,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("MaxResults" Data..= maxResults)+          ]+      )++instance Data.ToPath ListProtocolsLists where+  toPath = Prelude.const "/"++instance Data.ToQuery ListProtocolsLists where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListProtocolsListsResponse' smart constructor.+data ListProtocolsListsResponse = ListProtocolsListsResponse'+  { -- | If you specify a value for @MaxResults@ in your list request, and you+    -- have more objects than the maximum, Firewall Manager returns this token+    -- in the response. You can use this token in subsequent requests to+    -- retrieve the next batch of objects.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of @ProtocolsListDataSummary@ objects.+    protocolsLists :: Prelude.Maybe [ProtocolsListDataSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProtocolsListsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listProtocolsListsResponse_nextToken' - If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. You can use this token in subsequent requests to+-- retrieve the next batch of objects.+--+-- 'protocolsLists', 'listProtocolsListsResponse_protocolsLists' - An array of @ProtocolsListDataSummary@ objects.+--+-- 'httpStatus', 'listProtocolsListsResponse_httpStatus' - The response's http status code.+newListProtocolsListsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListProtocolsListsResponse+newListProtocolsListsResponse pHttpStatus_ =+  ListProtocolsListsResponse'+    { nextToken =+        Prelude.Nothing,+      protocolsLists = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If you specify a value for @MaxResults@ in your list request, and you+-- have more objects than the maximum, Firewall Manager returns this token+-- in the response. You can use this token in subsequent requests to+-- retrieve the next batch of objects.+listProtocolsListsResponse_nextToken :: Lens.Lens' ListProtocolsListsResponse (Prelude.Maybe Prelude.Text)+listProtocolsListsResponse_nextToken = Lens.lens (\ListProtocolsListsResponse' {nextToken} -> nextToken) (\s@ListProtocolsListsResponse' {} a -> s {nextToken = a} :: ListProtocolsListsResponse)++-- | An array of @ProtocolsListDataSummary@ objects.+listProtocolsListsResponse_protocolsLists :: Lens.Lens' ListProtocolsListsResponse (Prelude.Maybe [ProtocolsListDataSummary])+listProtocolsListsResponse_protocolsLists = Lens.lens (\ListProtocolsListsResponse' {protocolsLists} -> protocolsLists) (\s@ListProtocolsListsResponse' {} a -> s {protocolsLists = a} :: ListProtocolsListsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listProtocolsListsResponse_httpStatus :: Lens.Lens' ListProtocolsListsResponse Prelude.Int+listProtocolsListsResponse_httpStatus = Lens.lens (\ListProtocolsListsResponse' {httpStatus} -> httpStatus) (\s@ListProtocolsListsResponse' {} a -> s {httpStatus = a} :: ListProtocolsListsResponse)++instance Prelude.NFData ListProtocolsListsResponse where+  rnf ListProtocolsListsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf protocolsLists+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListResourceSetResources.hs view
@@ -0,0 +1,255 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListResourceSetResources+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of resources that are currently associated to a+-- resource set.+module Amazonka.FMS.ListResourceSetResources+  ( -- * Creating a Request+    ListResourceSetResources (..),+    newListResourceSetResources,++    -- * Request Lenses+    listResourceSetResources_maxResults,+    listResourceSetResources_nextToken,+    listResourceSetResources_identifier,++    -- * Destructuring the Response+    ListResourceSetResourcesResponse (..),+    newListResourceSetResourcesResponse,++    -- * Response Lenses+    listResourceSetResourcesResponse_nextToken,+    listResourceSetResourcesResponse_httpStatus,+    listResourceSetResourcesResponse_items,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListResourceSetResources' smart constructor.+data ListResourceSetResources = ListResourceSetResources'+  { -- | The maximum number of objects that you want Firewall Manager to return+    -- for this request. If more objects are available, in the response,+    -- Firewall Manager provides a @NextToken@ value that you can use in a+    -- subsequent call to get the next batch of objects.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | When you request a list of objects with a @MaxResults@ setting, if the+    -- number of objects that are still available for retrieval exceeds the+    -- maximum you requested, Firewall Manager returns a @NextToken@ value in+    -- the response. To retrieve the next batch of objects, use the token+    -- returned from the prior request in your next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for the resource set, used in a TODO to refer to the+    -- resource set.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceSetResources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResourceSetResources_maxResults' - The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+--+-- 'nextToken', 'listResourceSetResources_nextToken' - When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+--+-- 'identifier', 'listResourceSetResources_identifier' - A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+newListResourceSetResources ::+  -- | 'identifier'+  Prelude.Text ->+  ListResourceSetResources+newListResourceSetResources pIdentifier_ =+  ListResourceSetResources'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      identifier = pIdentifier_+    }++-- | The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+listResourceSetResources_maxResults :: Lens.Lens' ListResourceSetResources (Prelude.Maybe Prelude.Natural)+listResourceSetResources_maxResults = Lens.lens (\ListResourceSetResources' {maxResults} -> maxResults) (\s@ListResourceSetResources' {} a -> s {maxResults = a} :: ListResourceSetResources)++-- | When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+listResourceSetResources_nextToken :: Lens.Lens' ListResourceSetResources (Prelude.Maybe Prelude.Text)+listResourceSetResources_nextToken = Lens.lens (\ListResourceSetResources' {nextToken} -> nextToken) (\s@ListResourceSetResources' {} a -> s {nextToken = a} :: ListResourceSetResources)++-- | A unique identifier for the resource set, used in a TODO to refer to the+-- resource set.+listResourceSetResources_identifier :: Lens.Lens' ListResourceSetResources Prelude.Text+listResourceSetResources_identifier = Lens.lens (\ListResourceSetResources' {identifier} -> identifier) (\s@ListResourceSetResources' {} a -> s {identifier = a} :: ListResourceSetResources)++instance Core.AWSRequest ListResourceSetResources where+  type+    AWSResponse ListResourceSetResources =+      ListResourceSetResourcesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListResourceSetResourcesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Items" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable ListResourceSetResources where+  hashWithSalt _salt ListResourceSetResources' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` identifier++instance Prelude.NFData ListResourceSetResources where+  rnf ListResourceSetResources' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf identifier++instance Data.ToHeaders ListResourceSetResources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListResourceSetResources" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListResourceSetResources where+  toJSON ListResourceSetResources' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("Identifier" Data..= identifier)+          ]+      )++instance Data.ToPath ListResourceSetResources where+  toPath = Prelude.const "/"++instance Data.ToQuery ListResourceSetResources where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResourceSetResourcesResponse' smart constructor.+data ListResourceSetResourcesResponse = ListResourceSetResourcesResponse'+  { -- | When you request a list of objects with a @MaxResults@ setting, if the+    -- number of objects that are still available for retrieval exceeds the+    -- maximum you requested, Firewall Manager returns a @NextToken@ value in+    -- the response. To retrieve the next batch of objects, use the token+    -- returned from the prior request in your next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | An array of the associated resources\' uniform resource identifiers+    -- (URI).+    items :: [Resource]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceSetResourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listResourceSetResourcesResponse_nextToken' - When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+--+-- 'httpStatus', 'listResourceSetResourcesResponse_httpStatus' - The response's http status code.+--+-- 'items', 'listResourceSetResourcesResponse_items' - An array of the associated resources\' uniform resource identifiers+-- (URI).+newListResourceSetResourcesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListResourceSetResourcesResponse+newListResourceSetResourcesResponse pHttpStatus_ =+  ListResourceSetResourcesResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      items = Prelude.mempty+    }++-- | When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+listResourceSetResourcesResponse_nextToken :: Lens.Lens' ListResourceSetResourcesResponse (Prelude.Maybe Prelude.Text)+listResourceSetResourcesResponse_nextToken = Lens.lens (\ListResourceSetResourcesResponse' {nextToken} -> nextToken) (\s@ListResourceSetResourcesResponse' {} a -> s {nextToken = a} :: ListResourceSetResourcesResponse)++-- | The response's http status code.+listResourceSetResourcesResponse_httpStatus :: Lens.Lens' ListResourceSetResourcesResponse Prelude.Int+listResourceSetResourcesResponse_httpStatus = Lens.lens (\ListResourceSetResourcesResponse' {httpStatus} -> httpStatus) (\s@ListResourceSetResourcesResponse' {} a -> s {httpStatus = a} :: ListResourceSetResourcesResponse)++-- | An array of the associated resources\' uniform resource identifiers+-- (URI).+listResourceSetResourcesResponse_items :: Lens.Lens' ListResourceSetResourcesResponse [Resource]+listResourceSetResourcesResponse_items = Lens.lens (\ListResourceSetResourcesResponse' {items} -> items) (\s@ListResourceSetResourcesResponse' {} a -> s {items = a} :: ListResourceSetResourcesResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListResourceSetResourcesResponse+  where+  rnf ListResourceSetResourcesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf items
+ gen/Amazonka/FMS/ListResourceSets.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListResourceSets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of @ResourceSetSummary@ objects.+module Amazonka.FMS.ListResourceSets+  ( -- * Creating a Request+    ListResourceSets (..),+    newListResourceSets,++    -- * Request Lenses+    listResourceSets_maxResults,+    listResourceSets_nextToken,++    -- * Destructuring the Response+    ListResourceSetsResponse (..),+    newListResourceSetsResponse,++    -- * Response Lenses+    listResourceSetsResponse_nextToken,+    listResourceSetsResponse_resourceSets,+    listResourceSetsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListResourceSets' smart constructor.+data ListResourceSets = ListResourceSets'+  { -- | The maximum number of objects that you want Firewall Manager to return+    -- for this request. If more objects are available, in the response,+    -- Firewall Manager provides a @NextToken@ value that you can use in a+    -- subsequent call to get the next batch of objects.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | When you request a list of objects with a @MaxResults@ setting, if the+    -- number of objects that are still available for retrieval exceeds the+    -- maximum you requested, Firewall Manager returns a @NextToken@ value in+    -- the response. To retrieve the next batch of objects, use the token+    -- returned from the prior request in your next request.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResourceSets_maxResults' - The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+--+-- 'nextToken', 'listResourceSets_nextToken' - When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+newListResourceSets ::+  ListResourceSets+newListResourceSets =+  ListResourceSets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of objects that you want Firewall Manager to return+-- for this request. If more objects are available, in the response,+-- Firewall Manager provides a @NextToken@ value that you can use in a+-- subsequent call to get the next batch of objects.+listResourceSets_maxResults :: Lens.Lens' ListResourceSets (Prelude.Maybe Prelude.Natural)+listResourceSets_maxResults = Lens.lens (\ListResourceSets' {maxResults} -> maxResults) (\s@ListResourceSets' {} a -> s {maxResults = a} :: ListResourceSets)++-- | When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+listResourceSets_nextToken :: Lens.Lens' ListResourceSets (Prelude.Maybe Prelude.Text)+listResourceSets_nextToken = Lens.lens (\ListResourceSets' {nextToken} -> nextToken) (\s@ListResourceSets' {} a -> s {nextToken = a} :: ListResourceSets)++instance Core.AWSRequest ListResourceSets where+  type+    AWSResponse ListResourceSets =+      ListResourceSetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListResourceSetsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "ResourceSets" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListResourceSets where+  hashWithSalt _salt ListResourceSets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResourceSets where+  rnf ListResourceSets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResourceSets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListResourceSets" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListResourceSets where+  toJSON ListResourceSets' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListResourceSets where+  toPath = Prelude.const "/"++instance Data.ToQuery ListResourceSets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResourceSetsResponse' smart constructor.+data ListResourceSetsResponse = ListResourceSetsResponse'+  { -- | When you request a list of objects with a @MaxResults@ setting, if the+    -- number of objects that are still available for retrieval exceeds the+    -- maximum you requested, Firewall Manager returns a @NextToken@ value in+    -- the response. To retrieve the next batch of objects, use the token+    -- returned from the prior request in your next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of @ResourceSetSummary@ objects.+    resourceSets :: Prelude.Maybe [ResourceSetSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listResourceSetsResponse_nextToken' - When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+--+-- 'resourceSets', 'listResourceSetsResponse_resourceSets' - An array of @ResourceSetSummary@ objects.+--+-- 'httpStatus', 'listResourceSetsResponse_httpStatus' - The response's http status code.+newListResourceSetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListResourceSetsResponse+newListResourceSetsResponse pHttpStatus_ =+  ListResourceSetsResponse'+    { nextToken =+        Prelude.Nothing,+      resourceSets = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When you request a list of objects with a @MaxResults@ setting, if the+-- number of objects that are still available for retrieval exceeds the+-- maximum you requested, Firewall Manager returns a @NextToken@ value in+-- the response. To retrieve the next batch of objects, use the token+-- returned from the prior request in your next request.+listResourceSetsResponse_nextToken :: Lens.Lens' ListResourceSetsResponse (Prelude.Maybe Prelude.Text)+listResourceSetsResponse_nextToken = Lens.lens (\ListResourceSetsResponse' {nextToken} -> nextToken) (\s@ListResourceSetsResponse' {} a -> s {nextToken = a} :: ListResourceSetsResponse)++-- | An array of @ResourceSetSummary@ objects.+listResourceSetsResponse_resourceSets :: Lens.Lens' ListResourceSetsResponse (Prelude.Maybe [ResourceSetSummary])+listResourceSetsResponse_resourceSets = Lens.lens (\ListResourceSetsResponse' {resourceSets} -> resourceSets) (\s@ListResourceSetsResponse' {} a -> s {resourceSets = a} :: ListResourceSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResourceSetsResponse_httpStatus :: Lens.Lens' ListResourceSetsResponse Prelude.Int+listResourceSetsResponse_httpStatus = Lens.lens (\ListResourceSetsResponse' {httpStatus} -> httpStatus) (\s@ListResourceSetsResponse' {} a -> s {httpStatus = a} :: ListResourceSetsResponse)++instance Prelude.NFData ListResourceSetsResponse where+  rnf ListResourceSetsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceSets+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListTagsForResource.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the list of tags for the specified Amazon Web Services+-- resource.+module Amazonka.FMS.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tagList,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource to return tags for. The+    -- Firewall Manager resources that support tagging are policies,+    -- applications lists, and protocols lists.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to return tags for. The+-- Firewall Manager resources that support tagging are policies,+-- applications lists, and protocols lists.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource to return tags for. The+-- Firewall Manager resources that support tagging are policies,+-- applications lists, and protocols lists.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "TagList" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListTagsForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTagsForResource where+  toJSON ListTagsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tags associated with the resource.+    tagList :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagList', 'listTagsForResourceResponse_tagList' - The tags associated with the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tagList =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags associated with the resource.+listTagsForResourceResponse_tagList :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tagList = Lens.lens (\ListTagsForResourceResponse' {tagList} -> tagList) (\s@ListTagsForResourceResponse' {} a -> s {tagList = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tagList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/ListThirdPartyFirewallFirewallPolicies.hs view
@@ -0,0 +1,333 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of all of the third-party firewall policies that are+-- associated with the third-party firewall administrator\'s account.+--+-- This operation returns paginated results.+module Amazonka.FMS.ListThirdPartyFirewallFirewallPolicies+  ( -- * Creating a Request+    ListThirdPartyFirewallFirewallPolicies (..),+    newListThirdPartyFirewallFirewallPolicies,++    -- * Request Lenses+    listThirdPartyFirewallFirewallPolicies_nextToken,+    listThirdPartyFirewallFirewallPolicies_thirdPartyFirewall,+    listThirdPartyFirewallFirewallPolicies_maxResults,++    -- * Destructuring the Response+    ListThirdPartyFirewallFirewallPoliciesResponse (..),+    newListThirdPartyFirewallFirewallPoliciesResponse,++    -- * Response Lenses+    listThirdPartyFirewallFirewallPoliciesResponse_nextToken,+    listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies,+    listThirdPartyFirewallFirewallPoliciesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListThirdPartyFirewallFirewallPolicies' smart constructor.+data ListThirdPartyFirewallFirewallPolicies = ListThirdPartyFirewallFirewallPolicies'+  { -- | If the previous response included a @NextToken@ element, the specified+    -- third-party firewall vendor is associated with more third-party firewall+    -- policies. To get more third-party firewall policies, submit another+    -- @ListThirdPartyFirewallFirewallPoliciesRequest@ request.+    --+    -- For the value of @NextToken@, specify the value of @NextToken@ from the+    -- previous response. If the previous response didn\'t include a+    -- @NextToken@ element, there are no more third-party firewall policies to+    -- get.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the third-party firewall vendor.+    thirdPartyFirewall :: ThirdPartyFirewall,+    -- | The maximum number of third-party firewall policies that you want+    -- Firewall Manager to return. If the specified third-party firewall vendor+    -- is associated with more than @MaxResults@ firewall policies, the+    -- response includes a @NextToken@ element. @NextToken@ contains an+    -- encrypted token that identifies the first third-party firewall policies+    -- that Firewall Manager will return if you submit another request.+    maxResults :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThirdPartyFirewallFirewallPolicies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listThirdPartyFirewallFirewallPolicies_nextToken' - If the previous response included a @NextToken@ element, the specified+-- third-party firewall vendor is associated with more third-party firewall+-- policies. To get more third-party firewall policies, submit another+-- @ListThirdPartyFirewallFirewallPoliciesRequest@ request.+--+-- For the value of @NextToken@, specify the value of @NextToken@ from the+-- previous response. If the previous response didn\'t include a+-- @NextToken@ element, there are no more third-party firewall policies to+-- get.+--+-- 'thirdPartyFirewall', 'listThirdPartyFirewallFirewallPolicies_thirdPartyFirewall' - The name of the third-party firewall vendor.+--+-- 'maxResults', 'listThirdPartyFirewallFirewallPolicies_maxResults' - The maximum number of third-party firewall policies that you want+-- Firewall Manager to return. If the specified third-party firewall vendor+-- is associated with more than @MaxResults@ firewall policies, the+-- response includes a @NextToken@ element. @NextToken@ contains an+-- encrypted token that identifies the first third-party firewall policies+-- that Firewall Manager will return if you submit another request.+newListThirdPartyFirewallFirewallPolicies ::+  -- | 'thirdPartyFirewall'+  ThirdPartyFirewall ->+  -- | 'maxResults'+  Prelude.Natural ->+  ListThirdPartyFirewallFirewallPolicies+newListThirdPartyFirewallFirewallPolicies+  pThirdPartyFirewall_+  pMaxResults_ =+    ListThirdPartyFirewallFirewallPolicies'+      { nextToken =+          Prelude.Nothing,+        thirdPartyFirewall =+          pThirdPartyFirewall_,+        maxResults = pMaxResults_+      }++-- | If the previous response included a @NextToken@ element, the specified+-- third-party firewall vendor is associated with more third-party firewall+-- policies. To get more third-party firewall policies, submit another+-- @ListThirdPartyFirewallFirewallPoliciesRequest@ request.+--+-- For the value of @NextToken@, specify the value of @NextToken@ from the+-- previous response. If the previous response didn\'t include a+-- @NextToken@ element, there are no more third-party firewall policies to+-- get.+listThirdPartyFirewallFirewallPolicies_nextToken :: Lens.Lens' ListThirdPartyFirewallFirewallPolicies (Prelude.Maybe Prelude.Text)+listThirdPartyFirewallFirewallPolicies_nextToken = Lens.lens (\ListThirdPartyFirewallFirewallPolicies' {nextToken} -> nextToken) (\s@ListThirdPartyFirewallFirewallPolicies' {} a -> s {nextToken = a} :: ListThirdPartyFirewallFirewallPolicies)++-- | The name of the third-party firewall vendor.+listThirdPartyFirewallFirewallPolicies_thirdPartyFirewall :: Lens.Lens' ListThirdPartyFirewallFirewallPolicies ThirdPartyFirewall+listThirdPartyFirewallFirewallPolicies_thirdPartyFirewall = Lens.lens (\ListThirdPartyFirewallFirewallPolicies' {thirdPartyFirewall} -> thirdPartyFirewall) (\s@ListThirdPartyFirewallFirewallPolicies' {} a -> s {thirdPartyFirewall = a} :: ListThirdPartyFirewallFirewallPolicies)++-- | The maximum number of third-party firewall policies that you want+-- Firewall Manager to return. If the specified third-party firewall vendor+-- is associated with more than @MaxResults@ firewall policies, the+-- response includes a @NextToken@ element. @NextToken@ contains an+-- encrypted token that identifies the first third-party firewall policies+-- that Firewall Manager will return if you submit another request.+listThirdPartyFirewallFirewallPolicies_maxResults :: Lens.Lens' ListThirdPartyFirewallFirewallPolicies Prelude.Natural+listThirdPartyFirewallFirewallPolicies_maxResults = Lens.lens (\ListThirdPartyFirewallFirewallPolicies' {maxResults} -> maxResults) (\s@ListThirdPartyFirewallFirewallPolicies' {} a -> s {maxResults = a} :: ListThirdPartyFirewallFirewallPolicies)++instance+  Core.AWSPager+    ListThirdPartyFirewallFirewallPolicies+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listThirdPartyFirewallFirewallPoliciesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listThirdPartyFirewallFirewallPolicies_nextToken+          Lens..~ rs+          Lens.^? listThirdPartyFirewallFirewallPoliciesResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListThirdPartyFirewallFirewallPolicies+  where+  type+    AWSResponse+      ListThirdPartyFirewallFirewallPolicies =+      ListThirdPartyFirewallFirewallPoliciesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListThirdPartyFirewallFirewallPoliciesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "ThirdPartyFirewallFirewallPolicies"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListThirdPartyFirewallFirewallPolicies+  where+  hashWithSalt+    _salt+    ListThirdPartyFirewallFirewallPolicies' {..} =+      _salt+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` thirdPartyFirewall+        `Prelude.hashWithSalt` maxResults++instance+  Prelude.NFData+    ListThirdPartyFirewallFirewallPolicies+  where+  rnf ListThirdPartyFirewallFirewallPolicies' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf thirdPartyFirewall+      `Prelude.seq` Prelude.rnf maxResults++instance+  Data.ToHeaders+    ListThirdPartyFirewallFirewallPolicies+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.ListThirdPartyFirewallFirewallPolicies" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    ListThirdPartyFirewallFirewallPolicies+  where+  toJSON ListThirdPartyFirewallFirewallPolicies' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just+              ("ThirdPartyFirewall" Data..= thirdPartyFirewall),+            Prelude.Just ("MaxResults" Data..= maxResults)+          ]+      )++instance+  Data.ToPath+    ListThirdPartyFirewallFirewallPolicies+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListThirdPartyFirewallFirewallPolicies+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListThirdPartyFirewallFirewallPoliciesResponse' smart constructor.+data ListThirdPartyFirewallFirewallPoliciesResponse = ListThirdPartyFirewallFirewallPoliciesResponse'+  { -- | The value that you will use for @NextToken@ in the next+    -- @ListThirdPartyFirewallFirewallPolicies@ request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list that contains one @ThirdPartyFirewallFirewallPolicies@ element+    -- for each third-party firewall policies that the specified third-party+    -- firewall vendor is associated with. Each+    -- @ThirdPartyFirewallFirewallPolicies@ element contains the firewall+    -- policy name and ID.+    thirdPartyFirewallFirewallPolicies :: Prelude.Maybe [ThirdPartyFirewallFirewallPolicy],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThirdPartyFirewallFirewallPoliciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listThirdPartyFirewallFirewallPoliciesResponse_nextToken' - The value that you will use for @NextToken@ in the next+-- @ListThirdPartyFirewallFirewallPolicies@ request.+--+-- 'thirdPartyFirewallFirewallPolicies', 'listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies' - A list that contains one @ThirdPartyFirewallFirewallPolicies@ element+-- for each third-party firewall policies that the specified third-party+-- firewall vendor is associated with. Each+-- @ThirdPartyFirewallFirewallPolicies@ element contains the firewall+-- policy name and ID.+--+-- 'httpStatus', 'listThirdPartyFirewallFirewallPoliciesResponse_httpStatus' - The response's http status code.+newListThirdPartyFirewallFirewallPoliciesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListThirdPartyFirewallFirewallPoliciesResponse+newListThirdPartyFirewallFirewallPoliciesResponse+  pHttpStatus_ =+    ListThirdPartyFirewallFirewallPoliciesResponse'+      { nextToken =+          Prelude.Nothing,+        thirdPartyFirewallFirewallPolicies =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The value that you will use for @NextToken@ in the next+-- @ListThirdPartyFirewallFirewallPolicies@ request.+listThirdPartyFirewallFirewallPoliciesResponse_nextToken :: Lens.Lens' ListThirdPartyFirewallFirewallPoliciesResponse (Prelude.Maybe Prelude.Text)+listThirdPartyFirewallFirewallPoliciesResponse_nextToken = Lens.lens (\ListThirdPartyFirewallFirewallPoliciesResponse' {nextToken} -> nextToken) (\s@ListThirdPartyFirewallFirewallPoliciesResponse' {} a -> s {nextToken = a} :: ListThirdPartyFirewallFirewallPoliciesResponse)++-- | A list that contains one @ThirdPartyFirewallFirewallPolicies@ element+-- for each third-party firewall policies that the specified third-party+-- firewall vendor is associated with. Each+-- @ThirdPartyFirewallFirewallPolicies@ element contains the firewall+-- policy name and ID.+listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies :: Lens.Lens' ListThirdPartyFirewallFirewallPoliciesResponse (Prelude.Maybe [ThirdPartyFirewallFirewallPolicy])+listThirdPartyFirewallFirewallPoliciesResponse_thirdPartyFirewallFirewallPolicies = Lens.lens (\ListThirdPartyFirewallFirewallPoliciesResponse' {thirdPartyFirewallFirewallPolicies} -> thirdPartyFirewallFirewallPolicies) (\s@ListThirdPartyFirewallFirewallPoliciesResponse' {} a -> s {thirdPartyFirewallFirewallPolicies = a} :: ListThirdPartyFirewallFirewallPoliciesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listThirdPartyFirewallFirewallPoliciesResponse_httpStatus :: Lens.Lens' ListThirdPartyFirewallFirewallPoliciesResponse Prelude.Int+listThirdPartyFirewallFirewallPoliciesResponse_httpStatus = Lens.lens (\ListThirdPartyFirewallFirewallPoliciesResponse' {httpStatus} -> httpStatus) (\s@ListThirdPartyFirewallFirewallPoliciesResponse' {} a -> s {httpStatus = a} :: ListThirdPartyFirewallFirewallPoliciesResponse)++instance+  Prelude.NFData+    ListThirdPartyFirewallFirewallPoliciesResponse+  where+  rnf+    ListThirdPartyFirewallFirewallPoliciesResponse' {..} =+      Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf thirdPartyFirewallFirewallPolicies+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/PutAppsList.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.PutAppsList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Firewall Manager applications list.+module Amazonka.FMS.PutAppsList+  ( -- * Creating a Request+    PutAppsList (..),+    newPutAppsList,++    -- * Request Lenses+    putAppsList_tagList,+    putAppsList_appsList,++    -- * Destructuring the Response+    PutAppsListResponse (..),+    newPutAppsListResponse,++    -- * Response Lenses+    putAppsListResponse_appsList,+    putAppsListResponse_appsListArn,+    putAppsListResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutAppsList' smart constructor.+data PutAppsList = PutAppsList'+  { -- | The tags associated with the resource.+    tagList :: Prelude.Maybe [Tag],+    -- | The details of the Firewall Manager applications list to be created.+    appsList :: AppsListData+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppsList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagList', 'putAppsList_tagList' - The tags associated with the resource.+--+-- 'appsList', 'putAppsList_appsList' - The details of the Firewall Manager applications list to be created.+newPutAppsList ::+  -- | 'appsList'+  AppsListData ->+  PutAppsList+newPutAppsList pAppsList_ =+  PutAppsList'+    { tagList = Prelude.Nothing,+      appsList = pAppsList_+    }++-- | The tags associated with the resource.+putAppsList_tagList :: Lens.Lens' PutAppsList (Prelude.Maybe [Tag])+putAppsList_tagList = Lens.lens (\PutAppsList' {tagList} -> tagList) (\s@PutAppsList' {} a -> s {tagList = a} :: PutAppsList) Prelude.. Lens.mapping Lens.coerced++-- | The details of the Firewall Manager applications list to be created.+putAppsList_appsList :: Lens.Lens' PutAppsList AppsListData+putAppsList_appsList = Lens.lens (\PutAppsList' {appsList} -> appsList) (\s@PutAppsList' {} a -> s {appsList = a} :: PutAppsList)++instance Core.AWSRequest PutAppsList where+  type AWSResponse PutAppsList = PutAppsListResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutAppsListResponse'+            Prelude.<$> (x Data..?> "AppsList")+            Prelude.<*> (x Data..?> "AppsListArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutAppsList where+  hashWithSalt _salt PutAppsList' {..} =+    _salt+      `Prelude.hashWithSalt` tagList+      `Prelude.hashWithSalt` appsList++instance Prelude.NFData PutAppsList where+  rnf PutAppsList' {..} =+    Prelude.rnf tagList+      `Prelude.seq` Prelude.rnf appsList++instance Data.ToHeaders PutAppsList where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.PutAppsList" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutAppsList where+  toJSON PutAppsList' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TagList" Data..=) Prelude.<$> tagList,+            Prelude.Just ("AppsList" Data..= appsList)+          ]+      )++instance Data.ToPath PutAppsList where+  toPath = Prelude.const "/"++instance Data.ToQuery PutAppsList where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutAppsListResponse' smart constructor.+data PutAppsListResponse = PutAppsListResponse'+  { -- | The details of the Firewall Manager applications list.+    appsList :: Prelude.Maybe AppsListData,+    -- | The Amazon Resource Name (ARN) of the applications list.+    appsListArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppsListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appsList', 'putAppsListResponse_appsList' - The details of the Firewall Manager applications list.+--+-- 'appsListArn', 'putAppsListResponse_appsListArn' - The Amazon Resource Name (ARN) of the applications list.+--+-- 'httpStatus', 'putAppsListResponse_httpStatus' - The response's http status code.+newPutAppsListResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutAppsListResponse+newPutAppsListResponse pHttpStatus_ =+  PutAppsListResponse'+    { appsList = Prelude.Nothing,+      appsListArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the Firewall Manager applications list.+putAppsListResponse_appsList :: Lens.Lens' PutAppsListResponse (Prelude.Maybe AppsListData)+putAppsListResponse_appsList = Lens.lens (\PutAppsListResponse' {appsList} -> appsList) (\s@PutAppsListResponse' {} a -> s {appsList = a} :: PutAppsListResponse)++-- | The Amazon Resource Name (ARN) of the applications list.+putAppsListResponse_appsListArn :: Lens.Lens' PutAppsListResponse (Prelude.Maybe Prelude.Text)+putAppsListResponse_appsListArn = Lens.lens (\PutAppsListResponse' {appsListArn} -> appsListArn) (\s@PutAppsListResponse' {} a -> s {appsListArn = a} :: PutAppsListResponse)++-- | The response's http status code.+putAppsListResponse_httpStatus :: Lens.Lens' PutAppsListResponse Prelude.Int+putAppsListResponse_httpStatus = Lens.lens (\PutAppsListResponse' {httpStatus} -> httpStatus) (\s@PutAppsListResponse' {} a -> s {httpStatus = a} :: PutAppsListResponse)++instance Prelude.NFData PutAppsListResponse where+  rnf PutAppsListResponse' {..} =+    Prelude.rnf appsList+      `Prelude.seq` Prelude.rnf appsListArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/PutNotificationChannel.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.PutNotificationChannel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Designates the IAM role and Amazon Simple Notification Service (SNS)+-- topic that Firewall Manager uses to record SNS logs.+--+-- To perform this action outside of the console, you must configure the+-- SNS topic to allow the Firewall Manager role @AWSServiceRoleForFMS@ to+-- publish SNS logs. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html Firewall Manager required permissions for API actions>+-- in the /Firewall Manager Developer Guide/.+module Amazonka.FMS.PutNotificationChannel+  ( -- * Creating a Request+    PutNotificationChannel (..),+    newPutNotificationChannel,++    -- * Request Lenses+    putNotificationChannel_snsTopicArn,+    putNotificationChannel_snsRoleName,++    -- * Destructuring the Response+    PutNotificationChannelResponse (..),+    newPutNotificationChannelResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutNotificationChannel' smart constructor.+data PutNotificationChannel = PutNotificationChannel'+  { -- | The Amazon Resource Name (ARN) of the SNS topic that collects+    -- notifications from Firewall Manager.+    snsTopicArn :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to+    -- record Firewall Manager activity.+    snsRoleName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutNotificationChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snsTopicArn', 'putNotificationChannel_snsTopicArn' - The Amazon Resource Name (ARN) of the SNS topic that collects+-- notifications from Firewall Manager.+--+-- 'snsRoleName', 'putNotificationChannel_snsRoleName' - The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to+-- record Firewall Manager activity.+newPutNotificationChannel ::+  -- | 'snsTopicArn'+  Prelude.Text ->+  -- | 'snsRoleName'+  Prelude.Text ->+  PutNotificationChannel+newPutNotificationChannel pSnsTopicArn_ pSnsRoleName_ =+  PutNotificationChannel'+    { snsTopicArn =+        pSnsTopicArn_,+      snsRoleName = pSnsRoleName_+    }++-- | The Amazon Resource Name (ARN) of the SNS topic that collects+-- notifications from Firewall Manager.+putNotificationChannel_snsTopicArn :: Lens.Lens' PutNotificationChannel Prelude.Text+putNotificationChannel_snsTopicArn = Lens.lens (\PutNotificationChannel' {snsTopicArn} -> snsTopicArn) (\s@PutNotificationChannel' {} a -> s {snsTopicArn = a} :: PutNotificationChannel)++-- | The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to+-- record Firewall Manager activity.+putNotificationChannel_snsRoleName :: Lens.Lens' PutNotificationChannel Prelude.Text+putNotificationChannel_snsRoleName = Lens.lens (\PutNotificationChannel' {snsRoleName} -> snsRoleName) (\s@PutNotificationChannel' {} a -> s {snsRoleName = a} :: PutNotificationChannel)++instance Core.AWSRequest PutNotificationChannel where+  type+    AWSResponse PutNotificationChannel =+      PutNotificationChannelResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      PutNotificationChannelResponse'++instance Prelude.Hashable PutNotificationChannel where+  hashWithSalt _salt PutNotificationChannel' {..} =+    _salt+      `Prelude.hashWithSalt` snsTopicArn+      `Prelude.hashWithSalt` snsRoleName++instance Prelude.NFData PutNotificationChannel where+  rnf PutNotificationChannel' {..} =+    Prelude.rnf snsTopicArn+      `Prelude.seq` Prelude.rnf snsRoleName++instance Data.ToHeaders PutNotificationChannel where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.PutNotificationChannel" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutNotificationChannel where+  toJSON PutNotificationChannel' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("SnsTopicArn" Data..= snsTopicArn),+            Prelude.Just ("SnsRoleName" Data..= snsRoleName)+          ]+      )++instance Data.ToPath PutNotificationChannel where+  toPath = Prelude.const "/"++instance Data.ToQuery PutNotificationChannel where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutNotificationChannelResponse' smart constructor.+data PutNotificationChannelResponse = PutNotificationChannelResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutNotificationChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutNotificationChannelResponse ::+  PutNotificationChannelResponse+newPutNotificationChannelResponse =+  PutNotificationChannelResponse'++instance+  Prelude.NFData+    PutNotificationChannelResponse+  where+  rnf _ = ()
+ gen/Amazonka/FMS/PutPolicy.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.PutPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Firewall Manager policy.+--+-- Firewall Manager provides the following types of policies:+--+-- -   An WAF policy (type WAFV2), which defines rule groups to run first+--     in the corresponding WAF web ACL and rule groups to run last in the+--     web ACL.+--+-- -   An WAF Classic policy (type WAF), which defines a rule group.+--+-- -   A Shield Advanced policy, which applies Shield Advanced protection+--     to specified accounts and resources.+--+-- -   A security group policy, which manages VPC security groups across+--     your Amazon Web Services organization.+--+-- -   An Network Firewall policy, which provides firewall rules to filter+--     network traffic in specified Amazon VPCs.+--+-- -   A DNS Firewall policy, which provides Route 53 Resolver DNS Firewall+--     rules to filter DNS queries for specified VPCs.+--+-- Each policy is specific to one of the types. If you want to enforce more+-- than one policy type across accounts, create multiple policies. You can+-- create multiple policies for each type.+--+-- You must be subscribed to Shield Advanced to create a Shield Advanced+-- policy. For more information about subscribing to Shield Advanced, see+-- <https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.html CreateSubscription>.+module Amazonka.FMS.PutPolicy+  ( -- * Creating a Request+    PutPolicy (..),+    newPutPolicy,++    -- * Request Lenses+    putPolicy_tagList,+    putPolicy_policy,++    -- * Destructuring the Response+    PutPolicyResponse (..),+    newPutPolicyResponse,++    -- * Response Lenses+    putPolicyResponse_policy,+    putPolicyResponse_policyArn,+    putPolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutPolicy' smart constructor.+data PutPolicy = PutPolicy'+  { -- | The tags to add to the Amazon Web Services resource.+    tagList :: Prelude.Maybe [Tag],+    -- | The details of the Firewall Manager policy to be created.+    policy :: Policy+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagList', 'putPolicy_tagList' - The tags to add to the Amazon Web Services resource.+--+-- 'policy', 'putPolicy_policy' - The details of the Firewall Manager policy to be created.+newPutPolicy ::+  -- | 'policy'+  Policy ->+  PutPolicy+newPutPolicy pPolicy_ =+  PutPolicy'+    { tagList = Prelude.Nothing,+      policy = pPolicy_+    }++-- | The tags to add to the Amazon Web Services resource.+putPolicy_tagList :: Lens.Lens' PutPolicy (Prelude.Maybe [Tag])+putPolicy_tagList = Lens.lens (\PutPolicy' {tagList} -> tagList) (\s@PutPolicy' {} a -> s {tagList = a} :: PutPolicy) Prelude.. Lens.mapping Lens.coerced++-- | The details of the Firewall Manager policy to be created.+putPolicy_policy :: Lens.Lens' PutPolicy Policy+putPolicy_policy = Lens.lens (\PutPolicy' {policy} -> policy) (\s@PutPolicy' {} a -> s {policy = a} :: PutPolicy)++instance Core.AWSRequest PutPolicy where+  type AWSResponse PutPolicy = PutPolicyResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutPolicyResponse'+            Prelude.<$> (x Data..?> "Policy")+            Prelude.<*> (x Data..?> "PolicyArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutPolicy where+  hashWithSalt _salt PutPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` tagList+      `Prelude.hashWithSalt` policy++instance Prelude.NFData PutPolicy where+  rnf PutPolicy' {..} =+    Prelude.rnf tagList+      `Prelude.seq` Prelude.rnf policy++instance Data.ToHeaders PutPolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AWSFMS_20180101.PutPolicy" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutPolicy where+  toJSON PutPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TagList" Data..=) Prelude.<$> tagList,+            Prelude.Just ("Policy" Data..= policy)+          ]+      )++instance Data.ToPath PutPolicy where+  toPath = Prelude.const "/"++instance Data.ToQuery PutPolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutPolicyResponse' smart constructor.+data PutPolicyResponse = PutPolicyResponse'+  { -- | The details of the Firewall Manager policy.+    policy :: Prelude.Maybe Policy,+    -- | The Amazon Resource Name (ARN) of the policy.+    policyArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'putPolicyResponse_policy' - The details of the Firewall Manager policy.+--+-- 'policyArn', 'putPolicyResponse_policyArn' - The Amazon Resource Name (ARN) of the policy.+--+-- 'httpStatus', 'putPolicyResponse_httpStatus' - The response's http status code.+newPutPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutPolicyResponse+newPutPolicyResponse pHttpStatus_ =+  PutPolicyResponse'+    { policy = Prelude.Nothing,+      policyArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the Firewall Manager policy.+putPolicyResponse_policy :: Lens.Lens' PutPolicyResponse (Prelude.Maybe Policy)+putPolicyResponse_policy = Lens.lens (\PutPolicyResponse' {policy} -> policy) (\s@PutPolicyResponse' {} a -> s {policy = a} :: PutPolicyResponse)++-- | The Amazon Resource Name (ARN) of the policy.+putPolicyResponse_policyArn :: Lens.Lens' PutPolicyResponse (Prelude.Maybe Prelude.Text)+putPolicyResponse_policyArn = Lens.lens (\PutPolicyResponse' {policyArn} -> policyArn) (\s@PutPolicyResponse' {} a -> s {policyArn = a} :: PutPolicyResponse)++-- | The response's http status code.+putPolicyResponse_httpStatus :: Lens.Lens' PutPolicyResponse Prelude.Int+putPolicyResponse_httpStatus = Lens.lens (\PutPolicyResponse' {httpStatus} -> httpStatus) (\s@PutPolicyResponse' {} a -> s {httpStatus = a} :: PutPolicyResponse)++instance Prelude.NFData PutPolicyResponse where+  rnf PutPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf policyArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/PutProtocolsList.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.PutProtocolsList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Firewall Manager protocols list.+module Amazonka.FMS.PutProtocolsList+  ( -- * Creating a Request+    PutProtocolsList (..),+    newPutProtocolsList,++    -- * Request Lenses+    putProtocolsList_tagList,+    putProtocolsList_protocolsList,++    -- * Destructuring the Response+    PutProtocolsListResponse (..),+    newPutProtocolsListResponse,++    -- * Response Lenses+    putProtocolsListResponse_protocolsList,+    putProtocolsListResponse_protocolsListArn,+    putProtocolsListResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutProtocolsList' smart constructor.+data PutProtocolsList = PutProtocolsList'+  { -- | The tags associated with the resource.+    tagList :: Prelude.Maybe [Tag],+    -- | The details of the Firewall Manager protocols list to be created.+    protocolsList :: ProtocolsListData+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutProtocolsList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagList', 'putProtocolsList_tagList' - The tags associated with the resource.+--+-- 'protocolsList', 'putProtocolsList_protocolsList' - The details of the Firewall Manager protocols list to be created.+newPutProtocolsList ::+  -- | 'protocolsList'+  ProtocolsListData ->+  PutProtocolsList+newPutProtocolsList pProtocolsList_ =+  PutProtocolsList'+    { tagList = Prelude.Nothing,+      protocolsList = pProtocolsList_+    }++-- | The tags associated with the resource.+putProtocolsList_tagList :: Lens.Lens' PutProtocolsList (Prelude.Maybe [Tag])+putProtocolsList_tagList = Lens.lens (\PutProtocolsList' {tagList} -> tagList) (\s@PutProtocolsList' {} a -> s {tagList = a} :: PutProtocolsList) Prelude.. Lens.mapping Lens.coerced++-- | The details of the Firewall Manager protocols list to be created.+putProtocolsList_protocolsList :: Lens.Lens' PutProtocolsList ProtocolsListData+putProtocolsList_protocolsList = Lens.lens (\PutProtocolsList' {protocolsList} -> protocolsList) (\s@PutProtocolsList' {} a -> s {protocolsList = a} :: PutProtocolsList)++instance Core.AWSRequest PutProtocolsList where+  type+    AWSResponse PutProtocolsList =+      PutProtocolsListResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutProtocolsListResponse'+            Prelude.<$> (x Data..?> "ProtocolsList")+            Prelude.<*> (x Data..?> "ProtocolsListArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutProtocolsList where+  hashWithSalt _salt PutProtocolsList' {..} =+    _salt+      `Prelude.hashWithSalt` tagList+      `Prelude.hashWithSalt` protocolsList++instance Prelude.NFData PutProtocolsList where+  rnf PutProtocolsList' {..} =+    Prelude.rnf tagList+      `Prelude.seq` Prelude.rnf protocolsList++instance Data.ToHeaders PutProtocolsList where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.PutProtocolsList" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutProtocolsList where+  toJSON PutProtocolsList' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TagList" Data..=) Prelude.<$> tagList,+            Prelude.Just+              ("ProtocolsList" Data..= protocolsList)+          ]+      )++instance Data.ToPath PutProtocolsList where+  toPath = Prelude.const "/"++instance Data.ToQuery PutProtocolsList where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutProtocolsListResponse' smart constructor.+data PutProtocolsListResponse = PutProtocolsListResponse'+  { -- | The details of the Firewall Manager protocols list.+    protocolsList :: Prelude.Maybe ProtocolsListData,+    -- | The Amazon Resource Name (ARN) of the protocols list.+    protocolsListArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutProtocolsListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'protocolsList', 'putProtocolsListResponse_protocolsList' - The details of the Firewall Manager protocols list.+--+-- 'protocolsListArn', 'putProtocolsListResponse_protocolsListArn' - The Amazon Resource Name (ARN) of the protocols list.+--+-- 'httpStatus', 'putProtocolsListResponse_httpStatus' - The response's http status code.+newPutProtocolsListResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutProtocolsListResponse+newPutProtocolsListResponse pHttpStatus_ =+  PutProtocolsListResponse'+    { protocolsList =+        Prelude.Nothing,+      protocolsListArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the Firewall Manager protocols list.+putProtocolsListResponse_protocolsList :: Lens.Lens' PutProtocolsListResponse (Prelude.Maybe ProtocolsListData)+putProtocolsListResponse_protocolsList = Lens.lens (\PutProtocolsListResponse' {protocolsList} -> protocolsList) (\s@PutProtocolsListResponse' {} a -> s {protocolsList = a} :: PutProtocolsListResponse)++-- | The Amazon Resource Name (ARN) of the protocols list.+putProtocolsListResponse_protocolsListArn :: Lens.Lens' PutProtocolsListResponse (Prelude.Maybe Prelude.Text)+putProtocolsListResponse_protocolsListArn = Lens.lens (\PutProtocolsListResponse' {protocolsListArn} -> protocolsListArn) (\s@PutProtocolsListResponse' {} a -> s {protocolsListArn = a} :: PutProtocolsListResponse)++-- | The response's http status code.+putProtocolsListResponse_httpStatus :: Lens.Lens' PutProtocolsListResponse Prelude.Int+putProtocolsListResponse_httpStatus = Lens.lens (\PutProtocolsListResponse' {httpStatus} -> httpStatus) (\s@PutProtocolsListResponse' {} a -> s {httpStatus = a} :: PutProtocolsListResponse)++instance Prelude.NFData PutProtocolsListResponse where+  rnf PutProtocolsListResponse' {..} =+    Prelude.rnf protocolsList+      `Prelude.seq` Prelude.rnf protocolsListArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FMS/PutResourceSet.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.PutResourceSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates the resource set.+--+-- An Firewall Manager resource set defines the resources to import into an+-- Firewall Manager policy from another Amazon Web Services service.+module Amazonka.FMS.PutResourceSet+  ( -- * Creating a Request+    PutResourceSet (..),+    newPutResourceSet,++    -- * Request Lenses+    putResourceSet_tagList,+    putResourceSet_resourceSet,++    -- * Destructuring the Response+    PutResourceSetResponse (..),+    newPutResourceSetResponse,++    -- * Response Lenses+    putResourceSetResponse_httpStatus,+    putResourceSetResponse_resourceSet,+    putResourceSetResponse_resourceSetArn,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutResourceSet' smart constructor.+data PutResourceSet = PutResourceSet'+  { -- | Retrieves the tags associated with the specified resource set. Tags are+    -- key:value pairs that you can use to categorize and manage your+    -- resources, for purposes like billing. For example, 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.+    tagList :: Prelude.Maybe [Tag],+    -- | Details about the resource set to be created or updated.>+    resourceSet :: ResourceSet+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourceSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagList', 'putResourceSet_tagList' - Retrieves the tags associated with the specified resource set. Tags are+-- key:value pairs that you can use to categorize and manage your+-- resources, for purposes like billing. For example, 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.+--+-- 'resourceSet', 'putResourceSet_resourceSet' - Details about the resource set to be created or updated.>+newPutResourceSet ::+  -- | 'resourceSet'+  ResourceSet ->+  PutResourceSet+newPutResourceSet pResourceSet_ =+  PutResourceSet'+    { tagList = Prelude.Nothing,+      resourceSet = pResourceSet_+    }++-- | Retrieves the tags associated with the specified resource set. Tags are+-- key:value pairs that you can use to categorize and manage your+-- resources, for purposes like billing. For example, 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.+putResourceSet_tagList :: Lens.Lens' PutResourceSet (Prelude.Maybe [Tag])+putResourceSet_tagList = Lens.lens (\PutResourceSet' {tagList} -> tagList) (\s@PutResourceSet' {} a -> s {tagList = a} :: PutResourceSet) Prelude.. Lens.mapping Lens.coerced++-- | Details about the resource set to be created or updated.>+putResourceSet_resourceSet :: Lens.Lens' PutResourceSet ResourceSet+putResourceSet_resourceSet = Lens.lens (\PutResourceSet' {resourceSet} -> resourceSet) (\s@PutResourceSet' {} a -> s {resourceSet = a} :: PutResourceSet)++instance Core.AWSRequest PutResourceSet where+  type+    AWSResponse PutResourceSet =+      PutResourceSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutResourceSetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ResourceSet")+            Prelude.<*> (x Data..:> "ResourceSetArn")+      )++instance Prelude.Hashable PutResourceSet where+  hashWithSalt _salt PutResourceSet' {..} =+    _salt+      `Prelude.hashWithSalt` tagList+      `Prelude.hashWithSalt` resourceSet++instance Prelude.NFData PutResourceSet where+  rnf PutResourceSet' {..} =+    Prelude.rnf tagList+      `Prelude.seq` Prelude.rnf resourceSet++instance Data.ToHeaders PutResourceSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.PutResourceSet" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutResourceSet where+  toJSON PutResourceSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TagList" Data..=) Prelude.<$> tagList,+            Prelude.Just ("ResourceSet" Data..= resourceSet)+          ]+      )++instance Data.ToPath PutResourceSet where+  toPath = Prelude.const "/"++instance Data.ToQuery PutResourceSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutResourceSetResponse' smart constructor.+data PutResourceSetResponse = PutResourceSetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details about the resource set.+    resourceSet :: ResourceSet,+    -- | The Amazon Resource Name (ARN) of the resource set.+    resourceSetArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourceSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'putResourceSetResponse_httpStatus' - The response's http status code.+--+-- 'resourceSet', 'putResourceSetResponse_resourceSet' - Details about the resource set.+--+-- 'resourceSetArn', 'putResourceSetResponse_resourceSetArn' - The Amazon Resource Name (ARN) of the resource set.+newPutResourceSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'resourceSet'+  ResourceSet ->+  -- | 'resourceSetArn'+  Prelude.Text ->+  PutResourceSetResponse+newPutResourceSetResponse+  pHttpStatus_+  pResourceSet_+  pResourceSetArn_ =+    PutResourceSetResponse'+      { httpStatus = pHttpStatus_,+        resourceSet = pResourceSet_,+        resourceSetArn = pResourceSetArn_+      }++-- | The response's http status code.+putResourceSetResponse_httpStatus :: Lens.Lens' PutResourceSetResponse Prelude.Int+putResourceSetResponse_httpStatus = Lens.lens (\PutResourceSetResponse' {httpStatus} -> httpStatus) (\s@PutResourceSetResponse' {} a -> s {httpStatus = a} :: PutResourceSetResponse)++-- | Details about the resource set.+putResourceSetResponse_resourceSet :: Lens.Lens' PutResourceSetResponse ResourceSet+putResourceSetResponse_resourceSet = Lens.lens (\PutResourceSetResponse' {resourceSet} -> resourceSet) (\s@PutResourceSetResponse' {} a -> s {resourceSet = a} :: PutResourceSetResponse)++-- | The Amazon Resource Name (ARN) of the resource set.+putResourceSetResponse_resourceSetArn :: Lens.Lens' PutResourceSetResponse Prelude.Text+putResourceSetResponse_resourceSetArn = Lens.lens (\PutResourceSetResponse' {resourceSetArn} -> resourceSetArn) (\s@PutResourceSetResponse' {} a -> s {resourceSetArn = a} :: PutResourceSetResponse)++instance Prelude.NFData PutResourceSetResponse where+  rnf PutResourceSetResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf resourceSet+      `Prelude.seq` Prelude.rnf resourceSetArn
+ gen/Amazonka/FMS/TagResource.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds one or more tags to an Amazon Web Services resource.+module Amazonka.FMS.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tagList,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource to return tags for. The+    -- Firewall Manager resources that support tagging are policies,+    -- applications lists, and protocols lists.+    resourceArn :: Prelude.Text,+    -- | The tags to add to the resource.+    tagList :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to return tags for. The+-- Firewall Manager resources that support tagging are policies,+-- applications lists, and protocols lists.+--+-- 'tagList', 'tagResource_tagList' - The tags to add to the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tagList = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource to return tags for. The+-- Firewall Manager resources that support tagging are policies,+-- applications lists, and protocols lists.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags to add to the resource.+tagResource_tagList :: Lens.Lens' TagResource [Tag]+tagResource_tagList = Lens.lens (\TagResource' {tagList} -> tagList) (\s@TagResource' {} a -> s {tagList = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagList++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagList++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.TagResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("TagList" Data..= tagList)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/FMS/Types.hs view
@@ -0,0 +1,901 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _InternalErrorException,+    _InvalidInputException,+    _InvalidOperationException,+    _InvalidTypeException,+    _LimitExceededException,+    _ResourceNotFoundException,++    -- * AccountRoleStatus+    AccountRoleStatus (..),++    -- * CustomerPolicyScopeIdType+    CustomerPolicyScopeIdType (..),++    -- * DependentServiceName+    DependentServiceName (..),++    -- * DestinationType+    DestinationType (..),++    -- * FailedItemReason+    FailedItemReason (..),++    -- * FirewallDeploymentModel+    FirewallDeploymentModel (..),++    -- * MarketplaceSubscriptionOnboardingStatus+    MarketplaceSubscriptionOnboardingStatus (..),++    -- * NetworkFirewallOverrideAction+    NetworkFirewallOverrideAction (..),++    -- * PolicyComplianceStatusType+    PolicyComplianceStatusType (..),++    -- * RemediationActionType+    RemediationActionType (..),++    -- * RuleOrder+    RuleOrder (..),++    -- * SecurityServiceType+    SecurityServiceType (..),++    -- * TargetType+    TargetType (..),++    -- * ThirdPartyFirewall+    ThirdPartyFirewall (..),++    -- * ThirdPartyFirewallAssociationStatus+    ThirdPartyFirewallAssociationStatus (..),++    -- * ViolationReason+    ViolationReason (..),++    -- * ActionTarget+    ActionTarget (..),+    newActionTarget,+    actionTarget_description,+    actionTarget_resourceId,++    -- * App+    App (..),+    newApp,+    app_appName,+    app_protocol,+    app_port,++    -- * AppsListData+    AppsListData (..),+    newAppsListData,+    appsListData_createTime,+    appsListData_lastUpdateTime,+    appsListData_listId,+    appsListData_listUpdateToken,+    appsListData_previousAppsList,+    appsListData_listName,+    appsListData_appsList,++    -- * AppsListDataSummary+    AppsListDataSummary (..),+    newAppsListDataSummary,+    appsListDataSummary_appsList,+    appsListDataSummary_listArn,+    appsListDataSummary_listId,+    appsListDataSummary_listName,++    -- * AwsEc2InstanceViolation+    AwsEc2InstanceViolation (..),+    newAwsEc2InstanceViolation,+    awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations,+    awsEc2InstanceViolation_violationTarget,++    -- * AwsEc2NetworkInterfaceViolation+    AwsEc2NetworkInterfaceViolation (..),+    newAwsEc2NetworkInterfaceViolation,+    awsEc2NetworkInterfaceViolation_violatingSecurityGroups,+    awsEc2NetworkInterfaceViolation_violationTarget,++    -- * AwsVPCSecurityGroupViolation+    AwsVPCSecurityGroupViolation (..),+    newAwsVPCSecurityGroupViolation,+    awsVPCSecurityGroupViolation_partialMatches,+    awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions,+    awsVPCSecurityGroupViolation_violationTarget,+    awsVPCSecurityGroupViolation_violationTargetDescription,++    -- * ComplianceViolator+    ComplianceViolator (..),+    newComplianceViolator,+    complianceViolator_metadata,+    complianceViolator_resourceId,+    complianceViolator_resourceType,+    complianceViolator_violationReason,++    -- * DiscoveredResource+    DiscoveredResource (..),+    newDiscoveredResource,+    discoveredResource_accountId,+    discoveredResource_name,+    discoveredResource_type,+    discoveredResource_uri,++    -- * DnsDuplicateRuleGroupViolation+    DnsDuplicateRuleGroupViolation (..),+    newDnsDuplicateRuleGroupViolation,+    dnsDuplicateRuleGroupViolation_violationTarget,+    dnsDuplicateRuleGroupViolation_violationTargetDescription,++    -- * DnsRuleGroupLimitExceededViolation+    DnsRuleGroupLimitExceededViolation (..),+    newDnsRuleGroupLimitExceededViolation,+    dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated,+    dnsRuleGroupLimitExceededViolation_violationTarget,+    dnsRuleGroupLimitExceededViolation_violationTargetDescription,++    -- * DnsRuleGroupPriorityConflictViolation+    DnsRuleGroupPriorityConflictViolation (..),+    newDnsRuleGroupPriorityConflictViolation,+    dnsRuleGroupPriorityConflictViolation_conflictingPolicyId,+    dnsRuleGroupPriorityConflictViolation_conflictingPriority,+    dnsRuleGroupPriorityConflictViolation_unavailablePriorities,+    dnsRuleGroupPriorityConflictViolation_violationTarget,+    dnsRuleGroupPriorityConflictViolation_violationTargetDescription,++    -- * EC2AssociateRouteTableAction+    EC2AssociateRouteTableAction (..),+    newEC2AssociateRouteTableAction,+    eC2AssociateRouteTableAction_description,+    eC2AssociateRouteTableAction_gatewayId,+    eC2AssociateRouteTableAction_subnetId,+    eC2AssociateRouteTableAction_routeTableId,++    -- * EC2CopyRouteTableAction+    EC2CopyRouteTableAction (..),+    newEC2CopyRouteTableAction,+    eC2CopyRouteTableAction_description,+    eC2CopyRouteTableAction_vpcId,+    eC2CopyRouteTableAction_routeTableId,++    -- * EC2CreateRouteAction+    EC2CreateRouteAction (..),+    newEC2CreateRouteAction,+    eC2CreateRouteAction_description,+    eC2CreateRouteAction_destinationCidrBlock,+    eC2CreateRouteAction_destinationIpv6CidrBlock,+    eC2CreateRouteAction_destinationPrefixListId,+    eC2CreateRouteAction_gatewayId,+    eC2CreateRouteAction_vpcEndpointId,+    eC2CreateRouteAction_routeTableId,++    -- * EC2CreateRouteTableAction+    EC2CreateRouteTableAction (..),+    newEC2CreateRouteTableAction,+    eC2CreateRouteTableAction_description,+    eC2CreateRouteTableAction_vpcId,++    -- * EC2DeleteRouteAction+    EC2DeleteRouteAction (..),+    newEC2DeleteRouteAction,+    eC2DeleteRouteAction_description,+    eC2DeleteRouteAction_destinationCidrBlock,+    eC2DeleteRouteAction_destinationIpv6CidrBlock,+    eC2DeleteRouteAction_destinationPrefixListId,+    eC2DeleteRouteAction_routeTableId,++    -- * EC2ReplaceRouteAction+    EC2ReplaceRouteAction (..),+    newEC2ReplaceRouteAction,+    eC2ReplaceRouteAction_description,+    eC2ReplaceRouteAction_destinationCidrBlock,+    eC2ReplaceRouteAction_destinationIpv6CidrBlock,+    eC2ReplaceRouteAction_destinationPrefixListId,+    eC2ReplaceRouteAction_gatewayId,+    eC2ReplaceRouteAction_routeTableId,++    -- * EC2ReplaceRouteTableAssociationAction+    EC2ReplaceRouteTableAssociationAction (..),+    newEC2ReplaceRouteTableAssociationAction,+    eC2ReplaceRouteTableAssociationAction_description,+    eC2ReplaceRouteTableAssociationAction_associationId,+    eC2ReplaceRouteTableAssociationAction_routeTableId,++    -- * EvaluationResult+    EvaluationResult (..),+    newEvaluationResult,+    evaluationResult_complianceStatus,+    evaluationResult_evaluationLimitExceeded,+    evaluationResult_violatorCount,++    -- * ExpectedRoute+    ExpectedRoute (..),+    newExpectedRoute,+    expectedRoute_allowedTargets,+    expectedRoute_contributingSubnets,+    expectedRoute_ipV4Cidr,+    expectedRoute_ipV6Cidr,+    expectedRoute_prefixListId,+    expectedRoute_routeTableId,++    -- * FMSPolicyUpdateFirewallCreationConfigAction+    FMSPolicyUpdateFirewallCreationConfigAction (..),+    newFMSPolicyUpdateFirewallCreationConfigAction,+    fMSPolicyUpdateFirewallCreationConfigAction_description,+    fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig,++    -- * FailedItem+    FailedItem (..),+    newFailedItem,+    failedItem_reason,+    failedItem_uri,++    -- * FirewallSubnetIsOutOfScopeViolation+    FirewallSubnetIsOutOfScopeViolation (..),+    newFirewallSubnetIsOutOfScopeViolation,+    firewallSubnetIsOutOfScopeViolation_firewallSubnetId,+    firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone,+    firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId,+    firewallSubnetIsOutOfScopeViolation_vpcEndpointId,+    firewallSubnetIsOutOfScopeViolation_vpcId,++    -- * FirewallSubnetMissingVPCEndpointViolation+    FirewallSubnetMissingVPCEndpointViolation (..),+    newFirewallSubnetMissingVPCEndpointViolation,+    firewallSubnetMissingVPCEndpointViolation_firewallSubnetId,+    firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone,+    firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId,+    firewallSubnetMissingVPCEndpointViolation_vpcId,++    -- * NetworkFirewallBlackHoleRouteDetectedViolation+    NetworkFirewallBlackHoleRouteDetectedViolation (..),+    newNetworkFirewallBlackHoleRouteDetectedViolation,+    networkFirewallBlackHoleRouteDetectedViolation_routeTableId,+    networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes,+    networkFirewallBlackHoleRouteDetectedViolation_violationTarget,+    networkFirewallBlackHoleRouteDetectedViolation_vpcId,++    -- * NetworkFirewallInternetTrafficNotInspectedViolation+    NetworkFirewallInternetTrafficNotInspectedViolation (..),+    newNetworkFirewallInternetTrafficNotInspectedViolation,+    networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable,+    networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable,+    networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint,+    networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId,+    networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId,+    networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ,+    networkFirewallInternetTrafficNotInspectedViolation_routeTableId,+    networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone,+    networkFirewallInternetTrafficNotInspectedViolation_subnetId,+    networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes,+    networkFirewallInternetTrafficNotInspectedViolation_vpcId,++    -- * NetworkFirewallInvalidRouteConfigurationViolation+    NetworkFirewallInvalidRouteConfigurationViolation (..),+    newNetworkFirewallInvalidRouteConfigurationViolation,+    networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint,+    networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId,+    networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes,+    networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes,+    networkFirewallInvalidRouteConfigurationViolation_affectedSubnets,+    networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable,+    networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable,+    networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint,+    networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId,+    networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes,+    networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes,+    networkFirewallInvalidRouteConfigurationViolation_internetGatewayId,+    networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ,+    networkFirewallInvalidRouteConfigurationViolation_routeTableId,+    networkFirewallInvalidRouteConfigurationViolation_violatingRoute,+    networkFirewallInvalidRouteConfigurationViolation_vpcId,++    -- * NetworkFirewallMissingExpectedRTViolation+    NetworkFirewallMissingExpectedRTViolation (..),+    newNetworkFirewallMissingExpectedRTViolation,+    networkFirewallMissingExpectedRTViolation_availabilityZone,+    networkFirewallMissingExpectedRTViolation_currentRouteTable,+    networkFirewallMissingExpectedRTViolation_expectedRouteTable,+    networkFirewallMissingExpectedRTViolation_vpc,+    networkFirewallMissingExpectedRTViolation_violationTarget,++    -- * NetworkFirewallMissingExpectedRoutesViolation+    NetworkFirewallMissingExpectedRoutesViolation (..),+    newNetworkFirewallMissingExpectedRoutesViolation,+    networkFirewallMissingExpectedRoutesViolation_expectedRoutes,+    networkFirewallMissingExpectedRoutesViolation_violationTarget,+    networkFirewallMissingExpectedRoutesViolation_vpcId,++    -- * NetworkFirewallMissingFirewallViolation+    NetworkFirewallMissingFirewallViolation (..),+    newNetworkFirewallMissingFirewallViolation,+    networkFirewallMissingFirewallViolation_availabilityZone,+    networkFirewallMissingFirewallViolation_targetViolationReason,+    networkFirewallMissingFirewallViolation_vpc,+    networkFirewallMissingFirewallViolation_violationTarget,++    -- * NetworkFirewallMissingSubnetViolation+    NetworkFirewallMissingSubnetViolation (..),+    newNetworkFirewallMissingSubnetViolation,+    networkFirewallMissingSubnetViolation_availabilityZone,+    networkFirewallMissingSubnetViolation_targetViolationReason,+    networkFirewallMissingSubnetViolation_vpc,+    networkFirewallMissingSubnetViolation_violationTarget,++    -- * NetworkFirewallPolicy+    NetworkFirewallPolicy (..),+    newNetworkFirewallPolicy,+    networkFirewallPolicy_firewallDeploymentModel,++    -- * NetworkFirewallPolicyDescription+    NetworkFirewallPolicyDescription (..),+    newNetworkFirewallPolicyDescription,+    networkFirewallPolicyDescription_statefulDefaultActions,+    networkFirewallPolicyDescription_statefulEngineOptions,+    networkFirewallPolicyDescription_statefulRuleGroups,+    networkFirewallPolicyDescription_statelessCustomActions,+    networkFirewallPolicyDescription_statelessDefaultActions,+    networkFirewallPolicyDescription_statelessFragmentDefaultActions,+    networkFirewallPolicyDescription_statelessRuleGroups,++    -- * NetworkFirewallPolicyModifiedViolation+    NetworkFirewallPolicyModifiedViolation (..),+    newNetworkFirewallPolicyModifiedViolation,+    networkFirewallPolicyModifiedViolation_currentPolicyDescription,+    networkFirewallPolicyModifiedViolation_expectedPolicyDescription,+    networkFirewallPolicyModifiedViolation_violationTarget,++    -- * NetworkFirewallStatefulRuleGroupOverride+    NetworkFirewallStatefulRuleGroupOverride (..),+    newNetworkFirewallStatefulRuleGroupOverride,+    networkFirewallStatefulRuleGroupOverride_action,++    -- * NetworkFirewallUnexpectedFirewallRoutesViolation+    NetworkFirewallUnexpectedFirewallRoutesViolation (..),+    newNetworkFirewallUnexpectedFirewallRoutesViolation,+    networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint,+    networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId,+    networkFirewallUnexpectedFirewallRoutesViolation_routeTableId,+    networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes,+    networkFirewallUnexpectedFirewallRoutesViolation_vpcId,++    -- * NetworkFirewallUnexpectedGatewayRoutesViolation+    NetworkFirewallUnexpectedGatewayRoutesViolation (..),+    newNetworkFirewallUnexpectedGatewayRoutesViolation,+    networkFirewallUnexpectedGatewayRoutesViolation_gatewayId,+    networkFirewallUnexpectedGatewayRoutesViolation_routeTableId,+    networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes,+    networkFirewallUnexpectedGatewayRoutesViolation_vpcId,++    -- * PartialMatch+    PartialMatch (..),+    newPartialMatch,+    partialMatch_reference,+    partialMatch_targetViolationReasons,++    -- * Policy+    Policy (..),+    newPolicy,+    policy_deleteUnusedFMManagedResources,+    policy_excludeMap,+    policy_includeMap,+    policy_policyDescription,+    policy_policyId,+    policy_policyUpdateToken,+    policy_resourceSetIds,+    policy_resourceTags,+    policy_resourceTypeList,+    policy_policyName,+    policy_securityServicePolicyData,+    policy_resourceType,+    policy_excludeResourceTags,+    policy_remediationEnabled,++    -- * PolicyComplianceDetail+    PolicyComplianceDetail (..),+    newPolicyComplianceDetail,+    policyComplianceDetail_evaluationLimitExceeded,+    policyComplianceDetail_expiredAt,+    policyComplianceDetail_issueInfoMap,+    policyComplianceDetail_memberAccount,+    policyComplianceDetail_policyId,+    policyComplianceDetail_policyOwner,+    policyComplianceDetail_violators,++    -- * PolicyComplianceStatus+    PolicyComplianceStatus (..),+    newPolicyComplianceStatus,+    policyComplianceStatus_evaluationResults,+    policyComplianceStatus_issueInfoMap,+    policyComplianceStatus_lastUpdated,+    policyComplianceStatus_memberAccount,+    policyComplianceStatus_policyId,+    policyComplianceStatus_policyName,+    policyComplianceStatus_policyOwner,++    -- * PolicyOption+    PolicyOption (..),+    newPolicyOption,+    policyOption_networkFirewallPolicy,+    policyOption_thirdPartyFirewallPolicy,++    -- * PolicySummary+    PolicySummary (..),+    newPolicySummary,+    policySummary_deleteUnusedFMManagedResources,+    policySummary_policyArn,+    policySummary_policyId,+    policySummary_policyName,+    policySummary_remediationEnabled,+    policySummary_resourceType,+    policySummary_securityServiceType,++    -- * PossibleRemediationAction+    PossibleRemediationAction (..),+    newPossibleRemediationAction,+    possibleRemediationAction_description,+    possibleRemediationAction_isDefaultAction,+    possibleRemediationAction_orderedRemediationActions,++    -- * PossibleRemediationActions+    PossibleRemediationActions (..),+    newPossibleRemediationActions,+    possibleRemediationActions_actions,+    possibleRemediationActions_description,++    -- * ProtocolsListData+    ProtocolsListData (..),+    newProtocolsListData,+    protocolsListData_createTime,+    protocolsListData_lastUpdateTime,+    protocolsListData_listId,+    protocolsListData_listUpdateToken,+    protocolsListData_previousProtocolsList,+    protocolsListData_listName,+    protocolsListData_protocolsList,++    -- * ProtocolsListDataSummary+    ProtocolsListDataSummary (..),+    newProtocolsListDataSummary,+    protocolsListDataSummary_listArn,+    protocolsListDataSummary_listId,+    protocolsListDataSummary_listName,+    protocolsListDataSummary_protocolsList,++    -- * RemediationAction+    RemediationAction (..),+    newRemediationAction,+    remediationAction_description,+    remediationAction_eC2AssociateRouteTableAction,+    remediationAction_eC2CopyRouteTableAction,+    remediationAction_eC2CreateRouteAction,+    remediationAction_eC2CreateRouteTableAction,+    remediationAction_eC2DeleteRouteAction,+    remediationAction_eC2ReplaceRouteAction,+    remediationAction_eC2ReplaceRouteTableAssociationAction,+    remediationAction_fMSPolicyUpdateFirewallCreationConfigAction,++    -- * RemediationActionWithOrder+    RemediationActionWithOrder (..),+    newRemediationActionWithOrder,+    remediationActionWithOrder_order,+    remediationActionWithOrder_remediationAction,++    -- * Resource+    Resource (..),+    newResource,+    resource_accountId,+    resource_uri,++    -- * ResourceSet+    ResourceSet (..),+    newResourceSet,+    resourceSet_description,+    resourceSet_id,+    resourceSet_lastUpdateTime,+    resourceSet_updateToken,+    resourceSet_name,+    resourceSet_resourceTypeList,++    -- * ResourceSetSummary+    ResourceSetSummary (..),+    newResourceSetSummary,+    resourceSetSummary_description,+    resourceSetSummary_id,+    resourceSetSummary_lastUpdateTime,+    resourceSetSummary_name,++    -- * ResourceTag+    ResourceTag (..),+    newResourceTag,+    resourceTag_value,+    resourceTag_key,++    -- * ResourceViolation+    ResourceViolation (..),+    newResourceViolation,+    resourceViolation_awsEc2InstanceViolation,+    resourceViolation_awsEc2NetworkInterfaceViolation,+    resourceViolation_awsVPCSecurityGroupViolation,+    resourceViolation_dnsDuplicateRuleGroupViolation,+    resourceViolation_dnsRuleGroupLimitExceededViolation,+    resourceViolation_dnsRuleGroupPriorityConflictViolation,+    resourceViolation_firewallSubnetIsOutOfScopeViolation,+    resourceViolation_firewallSubnetMissingVPCEndpointViolation,+    resourceViolation_networkFirewallBlackHoleRouteDetectedViolation,+    resourceViolation_networkFirewallInternetTrafficNotInspectedViolation,+    resourceViolation_networkFirewallInvalidRouteConfigurationViolation,+    resourceViolation_networkFirewallMissingExpectedRTViolation,+    resourceViolation_networkFirewallMissingExpectedRoutesViolation,+    resourceViolation_networkFirewallMissingFirewallViolation,+    resourceViolation_networkFirewallMissingSubnetViolation,+    resourceViolation_networkFirewallPolicyModifiedViolation,+    resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation,+    resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation,+    resourceViolation_possibleRemediationActions,+    resourceViolation_routeHasOutOfScopeEndpointViolation,+    resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation,+    resourceViolation_thirdPartyFirewallMissingFirewallViolation,+    resourceViolation_thirdPartyFirewallMissingSubnetViolation,++    -- * Route+    Route (..),+    newRoute,+    route_destination,+    route_destinationType,+    route_target,+    route_targetType,++    -- * RouteHasOutOfScopeEndpointViolation+    RouteHasOutOfScopeEndpointViolation (..),+    newRouteHasOutOfScopeEndpointViolation,+    routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable,+    routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable,+    routeHasOutOfScopeEndpointViolation_firewallSubnetId,+    routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes,+    routeHasOutOfScopeEndpointViolation_internetGatewayId,+    routeHasOutOfScopeEndpointViolation_internetGatewayRoutes,+    routeHasOutOfScopeEndpointViolation_routeTableId,+    routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone,+    routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId,+    routeHasOutOfScopeEndpointViolation_subnetId,+    routeHasOutOfScopeEndpointViolation_violatingRoutes,+    routeHasOutOfScopeEndpointViolation_vpcId,++    -- * SecurityGroupRemediationAction+    SecurityGroupRemediationAction (..),+    newSecurityGroupRemediationAction,+    securityGroupRemediationAction_description,+    securityGroupRemediationAction_isDefaultAction,+    securityGroupRemediationAction_remediationActionType,+    securityGroupRemediationAction_remediationResult,++    -- * SecurityGroupRuleDescription+    SecurityGroupRuleDescription (..),+    newSecurityGroupRuleDescription,+    securityGroupRuleDescription_fromPort,+    securityGroupRuleDescription_iPV4Range,+    securityGroupRuleDescription_iPV6Range,+    securityGroupRuleDescription_prefixListId,+    securityGroupRuleDescription_protocol,+    securityGroupRuleDescription_toPort,++    -- * SecurityServicePolicyData+    SecurityServicePolicyData (..),+    newSecurityServicePolicyData,+    securityServicePolicyData_managedServiceData,+    securityServicePolicyData_policyOption,+    securityServicePolicyData_type,++    -- * StatefulEngineOptions+    StatefulEngineOptions (..),+    newStatefulEngineOptions,+    statefulEngineOptions_ruleOrder,++    -- * StatefulRuleGroup+    StatefulRuleGroup (..),+    newStatefulRuleGroup,+    statefulRuleGroup_override,+    statefulRuleGroup_priority,+    statefulRuleGroup_resourceId,+    statefulRuleGroup_ruleGroupName,++    -- * StatelessRuleGroup+    StatelessRuleGroup (..),+    newStatelessRuleGroup,+    statelessRuleGroup_priority,+    statelessRuleGroup_resourceId,+    statelessRuleGroup_ruleGroupName,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * ThirdPartyFirewallFirewallPolicy+    ThirdPartyFirewallFirewallPolicy (..),+    newThirdPartyFirewallFirewallPolicy,+    thirdPartyFirewallFirewallPolicy_firewallPolicyId,+    thirdPartyFirewallFirewallPolicy_firewallPolicyName,++    -- * ThirdPartyFirewallMissingExpectedRouteTableViolation+    ThirdPartyFirewallMissingExpectedRouteTableViolation (..),+    newThirdPartyFirewallMissingExpectedRouteTableViolation,+    thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone,+    thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable,+    thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable,+    thirdPartyFirewallMissingExpectedRouteTableViolation_vpc,+    thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget,++    -- * ThirdPartyFirewallMissingFirewallViolation+    ThirdPartyFirewallMissingFirewallViolation (..),+    newThirdPartyFirewallMissingFirewallViolation,+    thirdPartyFirewallMissingFirewallViolation_availabilityZone,+    thirdPartyFirewallMissingFirewallViolation_targetViolationReason,+    thirdPartyFirewallMissingFirewallViolation_vpc,+    thirdPartyFirewallMissingFirewallViolation_violationTarget,++    -- * ThirdPartyFirewallMissingSubnetViolation+    ThirdPartyFirewallMissingSubnetViolation (..),+    newThirdPartyFirewallMissingSubnetViolation,+    thirdPartyFirewallMissingSubnetViolation_availabilityZone,+    thirdPartyFirewallMissingSubnetViolation_targetViolationReason,+    thirdPartyFirewallMissingSubnetViolation_vpc,+    thirdPartyFirewallMissingSubnetViolation_violationTarget,++    -- * ThirdPartyFirewallPolicy+    ThirdPartyFirewallPolicy (..),+    newThirdPartyFirewallPolicy,+    thirdPartyFirewallPolicy_firewallDeploymentModel,++    -- * ViolationDetail+    ViolationDetail (..),+    newViolationDetail,+    violationDetail_resourceDescription,+    violationDetail_resourceTags,+    violationDetail_policyId,+    violationDetail_memberAccount,+    violationDetail_resourceId,+    violationDetail_resourceType,+    violationDetail_resourceViolations,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.FMS.Types.AccountRoleStatus+import Amazonka.FMS.Types.ActionTarget+import Amazonka.FMS.Types.App+import Amazonka.FMS.Types.AppsListData+import Amazonka.FMS.Types.AppsListDataSummary+import Amazonka.FMS.Types.AwsEc2InstanceViolation+import Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation+import Amazonka.FMS.Types.AwsVPCSecurityGroupViolation+import Amazonka.FMS.Types.ComplianceViolator+import Amazonka.FMS.Types.CustomerPolicyScopeIdType+import Amazonka.FMS.Types.DependentServiceName+import Amazonka.FMS.Types.DestinationType+import Amazonka.FMS.Types.DiscoveredResource+import Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation+import Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation+import Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation+import Amazonka.FMS.Types.EC2AssociateRouteTableAction+import Amazonka.FMS.Types.EC2CopyRouteTableAction+import Amazonka.FMS.Types.EC2CreateRouteAction+import Amazonka.FMS.Types.EC2CreateRouteTableAction+import Amazonka.FMS.Types.EC2DeleteRouteAction+import Amazonka.FMS.Types.EC2ReplaceRouteAction+import Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction+import Amazonka.FMS.Types.EvaluationResult+import Amazonka.FMS.Types.ExpectedRoute+import Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction+import Amazonka.FMS.Types.FailedItem+import Amazonka.FMS.Types.FailedItemReason+import Amazonka.FMS.Types.FirewallDeploymentModel+import Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation+import Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation+import Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus+import Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation+import Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation+import Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation+import Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation+import Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation+import Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation+import Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation+import Amazonka.FMS.Types.NetworkFirewallOverrideAction+import Amazonka.FMS.Types.NetworkFirewallPolicy+import Amazonka.FMS.Types.NetworkFirewallPolicyDescription+import Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation+import Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride+import Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation+import Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation+import Amazonka.FMS.Types.PartialMatch+import Amazonka.FMS.Types.Policy+import Amazonka.FMS.Types.PolicyComplianceDetail+import Amazonka.FMS.Types.PolicyComplianceStatus+import Amazonka.FMS.Types.PolicyComplianceStatusType+import Amazonka.FMS.Types.PolicyOption+import Amazonka.FMS.Types.PolicySummary+import Amazonka.FMS.Types.PossibleRemediationAction+import Amazonka.FMS.Types.PossibleRemediationActions+import Amazonka.FMS.Types.ProtocolsListData+import Amazonka.FMS.Types.ProtocolsListDataSummary+import Amazonka.FMS.Types.RemediationAction+import Amazonka.FMS.Types.RemediationActionType+import Amazonka.FMS.Types.RemediationActionWithOrder+import Amazonka.FMS.Types.Resource+import Amazonka.FMS.Types.ResourceSet+import Amazonka.FMS.Types.ResourceSetSummary+import Amazonka.FMS.Types.ResourceTag+import Amazonka.FMS.Types.ResourceViolation+import Amazonka.FMS.Types.Route+import Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation+import Amazonka.FMS.Types.RuleOrder+import Amazonka.FMS.Types.SecurityGroupRemediationAction+import Amazonka.FMS.Types.SecurityGroupRuleDescription+import Amazonka.FMS.Types.SecurityServicePolicyData+import Amazonka.FMS.Types.SecurityServiceType+import Amazonka.FMS.Types.StatefulEngineOptions+import Amazonka.FMS.Types.StatefulRuleGroup+import Amazonka.FMS.Types.StatelessRuleGroup+import Amazonka.FMS.Types.Tag+import Amazonka.FMS.Types.TargetType+import Amazonka.FMS.Types.ThirdPartyFirewall+import Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus+import Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy+import Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation+import Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation+import Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation+import Amazonka.FMS.Types.ThirdPartyFirewallPolicy+import Amazonka.FMS.Types.ViolationDetail+import Amazonka.FMS.Types.ViolationReason+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-01-01@ of the Amazon Firewall Management Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "FMS",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "fms",+      Core.signingName = "fms",+      Core.version = "2018-01-01",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "FMS",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | The operation failed because of a system problem, even though the+-- request was valid. Retry your request.+_InternalErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalErrorException =+  Core._MatchServiceError+    defaultService+    "InternalErrorException"++-- | The parameters of the request were invalid.+_InvalidInputException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidInputException =+  Core._MatchServiceError+    defaultService+    "InvalidInputException"++-- | The operation failed because there was nothing to do or the operation+-- wasn\'t possible. For example, you might have submitted an+-- @AssociateAdminAccount@ request for an account ID that was already set+-- as the Firewall Manager administrator. Or you might have tried to access+-- a Region that\'s disabled by default, and that you need to enable for+-- the Firewall Manager administrator account and for Organizations before+-- you can access it.+_InvalidOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidOperationException =+  Core._MatchServiceError+    defaultService+    "InvalidOperationException"++-- | The value of the @Type@ parameter is invalid.+_InvalidTypeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidTypeException =+  Core._MatchServiceError+    defaultService+    "InvalidTypeException"++-- | The operation exceeds a resource limit, for example, the maximum number+-- of @policy@ objects that you can create for an Amazon Web Services+-- account. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html Firewall Manager Limits>+-- in the /WAF Developer Guide/.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+  Core._MatchServiceError+    defaultService+    "LimitExceededException"++-- | The specified resource was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"
+ gen/Amazonka/FMS/Types/AccountRoleStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.AccountRoleStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.AccountRoleStatus+  ( AccountRoleStatus+      ( ..,+        AccountRoleStatus_CREATING,+        AccountRoleStatus_DELETED,+        AccountRoleStatus_DELETING,+        AccountRoleStatus_PENDING_DELETION,+        AccountRoleStatus_READY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccountRoleStatus = AccountRoleStatus'+  { fromAccountRoleStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern AccountRoleStatus_CREATING :: AccountRoleStatus+pattern AccountRoleStatus_CREATING = AccountRoleStatus' "CREATING"++pattern AccountRoleStatus_DELETED :: AccountRoleStatus+pattern AccountRoleStatus_DELETED = AccountRoleStatus' "DELETED"++pattern AccountRoleStatus_DELETING :: AccountRoleStatus+pattern AccountRoleStatus_DELETING = AccountRoleStatus' "DELETING"++pattern AccountRoleStatus_PENDING_DELETION :: AccountRoleStatus+pattern AccountRoleStatus_PENDING_DELETION = AccountRoleStatus' "PENDING_DELETION"++pattern AccountRoleStatus_READY :: AccountRoleStatus+pattern AccountRoleStatus_READY = AccountRoleStatus' "READY"++{-# COMPLETE+  AccountRoleStatus_CREATING,+  AccountRoleStatus_DELETED,+  AccountRoleStatus_DELETING,+  AccountRoleStatus_PENDING_DELETION,+  AccountRoleStatus_READY,+  AccountRoleStatus'+  #-}
+ gen/Amazonka/FMS/Types/ActionTarget.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ActionTarget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ActionTarget where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a remediation action target.+--+-- /See:/ 'newActionTarget' smart constructor.+data ActionTarget = ActionTarget'+  { -- | A description of the remediation action target.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the remediation target.+    resourceId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActionTarget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'actionTarget_description' - A description of the remediation action target.+--+-- 'resourceId', 'actionTarget_resourceId' - The ID of the remediation target.+newActionTarget ::+  ActionTarget+newActionTarget =+  ActionTarget'+    { description = Prelude.Nothing,+      resourceId = Prelude.Nothing+    }++-- | A description of the remediation action target.+actionTarget_description :: Lens.Lens' ActionTarget (Prelude.Maybe Prelude.Text)+actionTarget_description = Lens.lens (\ActionTarget' {description} -> description) (\s@ActionTarget' {} a -> s {description = a} :: ActionTarget)++-- | The ID of the remediation target.+actionTarget_resourceId :: Lens.Lens' ActionTarget (Prelude.Maybe Prelude.Text)+actionTarget_resourceId = Lens.lens (\ActionTarget' {resourceId} -> resourceId) (\s@ActionTarget' {} a -> s {resourceId = a} :: ActionTarget)++instance Data.FromJSON ActionTarget where+  parseJSON =+    Data.withObject+      "ActionTarget"+      ( \x ->+          ActionTarget'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "ResourceId")+      )++instance Prelude.Hashable ActionTarget where+  hashWithSalt _salt ActionTarget' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` resourceId++instance Prelude.NFData ActionTarget where+  rnf ActionTarget' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf resourceId
+ gen/Amazonka/FMS/Types/App.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.App+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.App where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An individual Firewall Manager application.+--+-- /See:/ 'newApp' smart constructor.+data App = App'+  { -- | The application\'s name.+    appName :: Prelude.Text,+    -- | The IP protocol name or number. The name can be one of @tcp@, @udp@, or+    -- @icmp@. For information on possible numbers, see+    -- <https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>.+    protocol :: Prelude.Text,+    -- | The application\'s port number, for example @80@.+    port :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'App' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appName', 'app_appName' - The application\'s name.+--+-- 'protocol', 'app_protocol' - The IP protocol name or number. The name can be one of @tcp@, @udp@, or+-- @icmp@. For information on possible numbers, see+-- <https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>.+--+-- 'port', 'app_port' - The application\'s port number, for example @80@.+newApp ::+  -- | 'appName'+  Prelude.Text ->+  -- | 'protocol'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  App+newApp pAppName_ pProtocol_ pPort_ =+  App'+    { appName = pAppName_,+      protocol = pProtocol_,+      port = pPort_+    }++-- | The application\'s name.+app_appName :: Lens.Lens' App Prelude.Text+app_appName = Lens.lens (\App' {appName} -> appName) (\s@App' {} a -> s {appName = a} :: App)++-- | The IP protocol name or number. The name can be one of @tcp@, @udp@, or+-- @icmp@. For information on possible numbers, see+-- <https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Protocol Numbers>.+app_protocol :: Lens.Lens' App Prelude.Text+app_protocol = Lens.lens (\App' {protocol} -> protocol) (\s@App' {} a -> s {protocol = a} :: App)++-- | The application\'s port number, for example @80@.+app_port :: Lens.Lens' App Prelude.Natural+app_port = Lens.lens (\App' {port} -> port) (\s@App' {} a -> s {port = a} :: App)++instance Data.FromJSON App where+  parseJSON =+    Data.withObject+      "App"+      ( \x ->+          App'+            Prelude.<$> (x Data..: "AppName")+            Prelude.<*> (x Data..: "Protocol")+            Prelude.<*> (x Data..: "Port")+      )++instance Prelude.Hashable App where+  hashWithSalt _salt App' {..} =+    _salt+      `Prelude.hashWithSalt` appName+      `Prelude.hashWithSalt` protocol+      `Prelude.hashWithSalt` port++instance Prelude.NFData App where+  rnf App' {..} =+    Prelude.rnf appName+      `Prelude.seq` Prelude.rnf protocol+      `Prelude.seq` Prelude.rnf port++instance Data.ToJSON App where+  toJSON App' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AppName" Data..= appName),+            Prelude.Just ("Protocol" Data..= protocol),+            Prelude.Just ("Port" Data..= port)+          ]+      )
+ gen/Amazonka/FMS/Types/AppsListData.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.AppsListData+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.AppsListData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.App+import qualified Amazonka.Prelude as Prelude++-- | An Firewall Manager applications list.+--+-- /See:/ 'newAppsListData' smart constructor.+data AppsListData = AppsListData'+  { -- | The time that the Firewall Manager applications list was created.+    createTime :: Prelude.Maybe Data.POSIX,+    -- | The time that the Firewall Manager applications list was last updated.+    lastUpdateTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the Firewall Manager applications list.+    listId :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for each update to the list. When you update the+    -- list, the update token must match the token of the current version of+    -- the application list. You can retrieve the update token by getting the+    -- list.+    listUpdateToken :: Prelude.Maybe Prelude.Text,+    -- | A map of previous version numbers to their corresponding @App@ object+    -- arrays.+    previousAppsList :: Prelude.Maybe (Prelude.HashMap Prelude.Text [App]),+    -- | The name of the Firewall Manager applications list.+    listName :: Prelude.Text,+    -- | An array of applications in the Firewall Manager applications list.+    appsList :: [App]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppsListData' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createTime', 'appsListData_createTime' - The time that the Firewall Manager applications list was created.+--+-- 'lastUpdateTime', 'appsListData_lastUpdateTime' - The time that the Firewall Manager applications list was last updated.+--+-- 'listId', 'appsListData_listId' - The ID of the Firewall Manager applications list.+--+-- 'listUpdateToken', 'appsListData_listUpdateToken' - A unique identifier for each update to the list. When you update the+-- list, the update token must match the token of the current version of+-- the application list. You can retrieve the update token by getting the+-- list.+--+-- 'previousAppsList', 'appsListData_previousAppsList' - A map of previous version numbers to their corresponding @App@ object+-- arrays.+--+-- 'listName', 'appsListData_listName' - The name of the Firewall Manager applications list.+--+-- 'appsList', 'appsListData_appsList' - An array of applications in the Firewall Manager applications list.+newAppsListData ::+  -- | 'listName'+  Prelude.Text ->+  AppsListData+newAppsListData pListName_ =+  AppsListData'+    { createTime = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      listId = Prelude.Nothing,+      listUpdateToken = Prelude.Nothing,+      previousAppsList = Prelude.Nothing,+      listName = pListName_,+      appsList = Prelude.mempty+    }++-- | The time that the Firewall Manager applications list was created.+appsListData_createTime :: Lens.Lens' AppsListData (Prelude.Maybe Prelude.UTCTime)+appsListData_createTime = Lens.lens (\AppsListData' {createTime} -> createTime) (\s@AppsListData' {} a -> s {createTime = a} :: AppsListData) Prelude.. Lens.mapping Data._Time++-- | The time that the Firewall Manager applications list was last updated.+appsListData_lastUpdateTime :: Lens.Lens' AppsListData (Prelude.Maybe Prelude.UTCTime)+appsListData_lastUpdateTime = Lens.lens (\AppsListData' {lastUpdateTime} -> lastUpdateTime) (\s@AppsListData' {} a -> s {lastUpdateTime = a} :: AppsListData) Prelude.. Lens.mapping Data._Time++-- | The ID of the Firewall Manager applications list.+appsListData_listId :: Lens.Lens' AppsListData (Prelude.Maybe Prelude.Text)+appsListData_listId = Lens.lens (\AppsListData' {listId} -> listId) (\s@AppsListData' {} a -> s {listId = a} :: AppsListData)++-- | A unique identifier for each update to the list. When you update the+-- list, the update token must match the token of the current version of+-- the application list. You can retrieve the update token by getting the+-- list.+appsListData_listUpdateToken :: Lens.Lens' AppsListData (Prelude.Maybe Prelude.Text)+appsListData_listUpdateToken = Lens.lens (\AppsListData' {listUpdateToken} -> listUpdateToken) (\s@AppsListData' {} a -> s {listUpdateToken = a} :: AppsListData)++-- | A map of previous version numbers to their corresponding @App@ object+-- arrays.+appsListData_previousAppsList :: Lens.Lens' AppsListData (Prelude.Maybe (Prelude.HashMap Prelude.Text [App]))+appsListData_previousAppsList = Lens.lens (\AppsListData' {previousAppsList} -> previousAppsList) (\s@AppsListData' {} a -> s {previousAppsList = a} :: AppsListData) Prelude.. Lens.mapping Lens.coerced++-- | The name of the Firewall Manager applications list.+appsListData_listName :: Lens.Lens' AppsListData Prelude.Text+appsListData_listName = Lens.lens (\AppsListData' {listName} -> listName) (\s@AppsListData' {} a -> s {listName = a} :: AppsListData)++-- | An array of applications in the Firewall Manager applications list.+appsListData_appsList :: Lens.Lens' AppsListData [App]+appsListData_appsList = Lens.lens (\AppsListData' {appsList} -> appsList) (\s@AppsListData' {} a -> s {appsList = a} :: AppsListData) Prelude.. Lens.coerced++instance Data.FromJSON AppsListData where+  parseJSON =+    Data.withObject+      "AppsListData"+      ( \x ->+          AppsListData'+            Prelude.<$> (x Data..:? "CreateTime")+            Prelude.<*> (x Data..:? "LastUpdateTime")+            Prelude.<*> (x Data..:? "ListId")+            Prelude.<*> (x Data..:? "ListUpdateToken")+            Prelude.<*> ( x+                            Data..:? "PreviousAppsList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "ListName")+            Prelude.<*> (x Data..:? "AppsList" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable AppsListData where+  hashWithSalt _salt AppsListData' {..} =+    _salt+      `Prelude.hashWithSalt` createTime+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` listId+      `Prelude.hashWithSalt` listUpdateToken+      `Prelude.hashWithSalt` previousAppsList+      `Prelude.hashWithSalt` listName+      `Prelude.hashWithSalt` appsList++instance Prelude.NFData AppsListData where+  rnf AppsListData' {..} =+    Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf listId+      `Prelude.seq` Prelude.rnf listUpdateToken+      `Prelude.seq` Prelude.rnf previousAppsList+      `Prelude.seq` Prelude.rnf listName+      `Prelude.seq` Prelude.rnf appsList++instance Data.ToJSON AppsListData where+  toJSON AppsListData' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CreateTime" Data..=) Prelude.<$> createTime,+            ("LastUpdateTime" Data..=)+              Prelude.<$> lastUpdateTime,+            ("ListId" Data..=) Prelude.<$> listId,+            ("ListUpdateToken" Data..=)+              Prelude.<$> listUpdateToken,+            ("PreviousAppsList" Data..=)+              Prelude.<$> previousAppsList,+            Prelude.Just ("ListName" Data..= listName),+            Prelude.Just ("AppsList" Data..= appsList)+          ]+      )
+ gen/Amazonka/FMS/Types/AppsListDataSummary.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.AppsListDataSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.AppsListDataSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.App+import qualified Amazonka.Prelude as Prelude++-- | Details of the Firewall Manager applications list.+--+-- /See:/ 'newAppsListDataSummary' smart constructor.+data AppsListDataSummary = AppsListDataSummary'+  { -- | An array of @App@ objects in the Firewall Manager applications list.+    appsList :: Prelude.Maybe [App],+    -- | The Amazon Resource Name (ARN) of the applications list.+    listArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the applications list.+    listId :: Prelude.Maybe Prelude.Text,+    -- | The name of the applications list.+    listName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppsListDataSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appsList', 'appsListDataSummary_appsList' - An array of @App@ objects in the Firewall Manager applications list.+--+-- 'listArn', 'appsListDataSummary_listArn' - The Amazon Resource Name (ARN) of the applications list.+--+-- 'listId', 'appsListDataSummary_listId' - The ID of the applications list.+--+-- 'listName', 'appsListDataSummary_listName' - The name of the applications list.+newAppsListDataSummary ::+  AppsListDataSummary+newAppsListDataSummary =+  AppsListDataSummary'+    { appsList = Prelude.Nothing,+      listArn = Prelude.Nothing,+      listId = Prelude.Nothing,+      listName = Prelude.Nothing+    }++-- | An array of @App@ objects in the Firewall Manager applications list.+appsListDataSummary_appsList :: Lens.Lens' AppsListDataSummary (Prelude.Maybe [App])+appsListDataSummary_appsList = Lens.lens (\AppsListDataSummary' {appsList} -> appsList) (\s@AppsListDataSummary' {} a -> s {appsList = a} :: AppsListDataSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the applications list.+appsListDataSummary_listArn :: Lens.Lens' AppsListDataSummary (Prelude.Maybe Prelude.Text)+appsListDataSummary_listArn = Lens.lens (\AppsListDataSummary' {listArn} -> listArn) (\s@AppsListDataSummary' {} a -> s {listArn = a} :: AppsListDataSummary)++-- | The ID of the applications list.+appsListDataSummary_listId :: Lens.Lens' AppsListDataSummary (Prelude.Maybe Prelude.Text)+appsListDataSummary_listId = Lens.lens (\AppsListDataSummary' {listId} -> listId) (\s@AppsListDataSummary' {} a -> s {listId = a} :: AppsListDataSummary)++-- | The name of the applications list.+appsListDataSummary_listName :: Lens.Lens' AppsListDataSummary (Prelude.Maybe Prelude.Text)+appsListDataSummary_listName = Lens.lens (\AppsListDataSummary' {listName} -> listName) (\s@AppsListDataSummary' {} a -> s {listName = a} :: AppsListDataSummary)++instance Data.FromJSON AppsListDataSummary where+  parseJSON =+    Data.withObject+      "AppsListDataSummary"+      ( \x ->+          AppsListDataSummary'+            Prelude.<$> (x Data..:? "AppsList" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ListArn")+            Prelude.<*> (x Data..:? "ListId")+            Prelude.<*> (x Data..:? "ListName")+      )++instance Prelude.Hashable AppsListDataSummary where+  hashWithSalt _salt AppsListDataSummary' {..} =+    _salt+      `Prelude.hashWithSalt` appsList+      `Prelude.hashWithSalt` listArn+      `Prelude.hashWithSalt` listId+      `Prelude.hashWithSalt` listName++instance Prelude.NFData AppsListDataSummary where+  rnf AppsListDataSummary' {..} =+    Prelude.rnf appsList+      `Prelude.seq` Prelude.rnf listArn+      `Prelude.seq` Prelude.rnf listId+      `Prelude.seq` Prelude.rnf listName
+ gen/Amazonka/FMS/Types/AwsEc2InstanceViolation.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.AwsEc2InstanceViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.AwsEc2InstanceViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for an EC2 instance resource.+--+-- /See:/ 'newAwsEc2InstanceViolation' smart constructor.+data AwsEc2InstanceViolation = AwsEc2InstanceViolation'+  { -- | Violation detail for network interfaces associated with the EC2+    -- instance.+    awsEc2NetworkInterfaceViolations :: Prelude.Maybe [AwsEc2NetworkInterfaceViolation],+    -- | The resource ID of the EC2 instance.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AwsEc2InstanceViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsEc2NetworkInterfaceViolations', 'awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations' - Violation detail for network interfaces associated with the EC2+-- instance.+--+-- 'violationTarget', 'awsEc2InstanceViolation_violationTarget' - The resource ID of the EC2 instance.+newAwsEc2InstanceViolation ::+  AwsEc2InstanceViolation+newAwsEc2InstanceViolation =+  AwsEc2InstanceViolation'+    { awsEc2NetworkInterfaceViolations =+        Prelude.Nothing,+      violationTarget = Prelude.Nothing+    }++-- | Violation detail for network interfaces associated with the EC2+-- instance.+awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations :: Lens.Lens' AwsEc2InstanceViolation (Prelude.Maybe [AwsEc2NetworkInterfaceViolation])+awsEc2InstanceViolation_awsEc2NetworkInterfaceViolations = Lens.lens (\AwsEc2InstanceViolation' {awsEc2NetworkInterfaceViolations} -> awsEc2NetworkInterfaceViolations) (\s@AwsEc2InstanceViolation' {} a -> s {awsEc2NetworkInterfaceViolations = a} :: AwsEc2InstanceViolation) Prelude.. Lens.mapping Lens.coerced++-- | The resource ID of the EC2 instance.+awsEc2InstanceViolation_violationTarget :: Lens.Lens' AwsEc2InstanceViolation (Prelude.Maybe Prelude.Text)+awsEc2InstanceViolation_violationTarget = Lens.lens (\AwsEc2InstanceViolation' {violationTarget} -> violationTarget) (\s@AwsEc2InstanceViolation' {} a -> s {violationTarget = a} :: AwsEc2InstanceViolation)++instance Data.FromJSON AwsEc2InstanceViolation where+  parseJSON =+    Data.withObject+      "AwsEc2InstanceViolation"+      ( \x ->+          AwsEc2InstanceViolation'+            Prelude.<$> ( x+                            Data..:? "AwsEc2NetworkInterfaceViolations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance Prelude.Hashable AwsEc2InstanceViolation where+  hashWithSalt _salt AwsEc2InstanceViolation' {..} =+    _salt+      `Prelude.hashWithSalt` awsEc2NetworkInterfaceViolations+      `Prelude.hashWithSalt` violationTarget++instance Prelude.NFData AwsEc2InstanceViolation where+  rnf AwsEc2InstanceViolation' {..} =+    Prelude.rnf awsEc2NetworkInterfaceViolations+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/AwsEc2NetworkInterfaceViolation.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for network interfaces associated with an EC2 instance.+--+-- /See:/ 'newAwsEc2NetworkInterfaceViolation' smart constructor.+data AwsEc2NetworkInterfaceViolation = AwsEc2NetworkInterfaceViolation'+  { -- | List of security groups that violate the rules specified in the primary+    -- security group of the Firewall Manager policy.+    violatingSecurityGroups :: Prelude.Maybe [Prelude.Text],+    -- | The resource ID of the network interface.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AwsEc2NetworkInterfaceViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'violatingSecurityGroups', 'awsEc2NetworkInterfaceViolation_violatingSecurityGroups' - List of security groups that violate the rules specified in the primary+-- security group of the Firewall Manager policy.+--+-- 'violationTarget', 'awsEc2NetworkInterfaceViolation_violationTarget' - The resource ID of the network interface.+newAwsEc2NetworkInterfaceViolation ::+  AwsEc2NetworkInterfaceViolation+newAwsEc2NetworkInterfaceViolation =+  AwsEc2NetworkInterfaceViolation'+    { violatingSecurityGroups =+        Prelude.Nothing,+      violationTarget = Prelude.Nothing+    }++-- | List of security groups that violate the rules specified in the primary+-- security group of the Firewall Manager policy.+awsEc2NetworkInterfaceViolation_violatingSecurityGroups :: Lens.Lens' AwsEc2NetworkInterfaceViolation (Prelude.Maybe [Prelude.Text])+awsEc2NetworkInterfaceViolation_violatingSecurityGroups = Lens.lens (\AwsEc2NetworkInterfaceViolation' {violatingSecurityGroups} -> violatingSecurityGroups) (\s@AwsEc2NetworkInterfaceViolation' {} a -> s {violatingSecurityGroups = a} :: AwsEc2NetworkInterfaceViolation) Prelude.. Lens.mapping Lens.coerced++-- | The resource ID of the network interface.+awsEc2NetworkInterfaceViolation_violationTarget :: Lens.Lens' AwsEc2NetworkInterfaceViolation (Prelude.Maybe Prelude.Text)+awsEc2NetworkInterfaceViolation_violationTarget = Lens.lens (\AwsEc2NetworkInterfaceViolation' {violationTarget} -> violationTarget) (\s@AwsEc2NetworkInterfaceViolation' {} a -> s {violationTarget = a} :: AwsEc2NetworkInterfaceViolation)++instance+  Data.FromJSON+    AwsEc2NetworkInterfaceViolation+  where+  parseJSON =+    Data.withObject+      "AwsEc2NetworkInterfaceViolation"+      ( \x ->+          AwsEc2NetworkInterfaceViolation'+            Prelude.<$> ( x+                            Data..:? "ViolatingSecurityGroups"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    AwsEc2NetworkInterfaceViolation+  where+  hashWithSalt+    _salt+    AwsEc2NetworkInterfaceViolation' {..} =+      _salt+        `Prelude.hashWithSalt` violatingSecurityGroups+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    AwsEc2NetworkInterfaceViolation+  where+  rnf AwsEc2NetworkInterfaceViolation' {..} =+    Prelude.rnf violatingSecurityGroups+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/AwsVPCSecurityGroupViolation.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.AwsVPCSecurityGroupViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.AwsVPCSecurityGroupViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.PartialMatch+import Amazonka.FMS.Types.SecurityGroupRemediationAction+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for the rule violation in a security group when+-- compared to the primary security group of the Firewall Manager policy.+--+-- /See:/ 'newAwsVPCSecurityGroupViolation' smart constructor.+data AwsVPCSecurityGroupViolation = AwsVPCSecurityGroupViolation'+  { -- | List of rules specified in the security group of the Firewall Manager+    -- policy that partially match the @ViolationTarget@ rule.+    partialMatches :: Prelude.Maybe [PartialMatch],+    -- | Remediation options for the rule specified in the @ViolationTarget@.+    possibleSecurityGroupRemediationActions :: Prelude.Maybe [SecurityGroupRemediationAction],+    -- | The security group rule that is being evaluated.+    violationTarget :: Prelude.Maybe Prelude.Text,+    -- | A description of the security group that violates the policy.+    violationTargetDescription :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AwsVPCSecurityGroupViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'partialMatches', 'awsVPCSecurityGroupViolation_partialMatches' - List of rules specified in the security group of the Firewall Manager+-- policy that partially match the @ViolationTarget@ rule.+--+-- 'possibleSecurityGroupRemediationActions', 'awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions' - Remediation options for the rule specified in the @ViolationTarget@.+--+-- 'violationTarget', 'awsVPCSecurityGroupViolation_violationTarget' - The security group rule that is being evaluated.+--+-- 'violationTargetDescription', 'awsVPCSecurityGroupViolation_violationTargetDescription' - A description of the security group that violates the policy.+newAwsVPCSecurityGroupViolation ::+  AwsVPCSecurityGroupViolation+newAwsVPCSecurityGroupViolation =+  AwsVPCSecurityGroupViolation'+    { partialMatches =+        Prelude.Nothing,+      possibleSecurityGroupRemediationActions =+        Prelude.Nothing,+      violationTarget = Prelude.Nothing,+      violationTargetDescription = Prelude.Nothing+    }++-- | List of rules specified in the security group of the Firewall Manager+-- policy that partially match the @ViolationTarget@ rule.+awsVPCSecurityGroupViolation_partialMatches :: Lens.Lens' AwsVPCSecurityGroupViolation (Prelude.Maybe [PartialMatch])+awsVPCSecurityGroupViolation_partialMatches = Lens.lens (\AwsVPCSecurityGroupViolation' {partialMatches} -> partialMatches) (\s@AwsVPCSecurityGroupViolation' {} a -> s {partialMatches = a} :: AwsVPCSecurityGroupViolation) Prelude.. Lens.mapping Lens.coerced++-- | Remediation options for the rule specified in the @ViolationTarget@.+awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions :: Lens.Lens' AwsVPCSecurityGroupViolation (Prelude.Maybe [SecurityGroupRemediationAction])+awsVPCSecurityGroupViolation_possibleSecurityGroupRemediationActions = Lens.lens (\AwsVPCSecurityGroupViolation' {possibleSecurityGroupRemediationActions} -> possibleSecurityGroupRemediationActions) (\s@AwsVPCSecurityGroupViolation' {} a -> s {possibleSecurityGroupRemediationActions = a} :: AwsVPCSecurityGroupViolation) Prelude.. Lens.mapping Lens.coerced++-- | The security group rule that is being evaluated.+awsVPCSecurityGroupViolation_violationTarget :: Lens.Lens' AwsVPCSecurityGroupViolation (Prelude.Maybe Prelude.Text)+awsVPCSecurityGroupViolation_violationTarget = Lens.lens (\AwsVPCSecurityGroupViolation' {violationTarget} -> violationTarget) (\s@AwsVPCSecurityGroupViolation' {} a -> s {violationTarget = a} :: AwsVPCSecurityGroupViolation)++-- | A description of the security group that violates the policy.+awsVPCSecurityGroupViolation_violationTargetDescription :: Lens.Lens' AwsVPCSecurityGroupViolation (Prelude.Maybe Prelude.Text)+awsVPCSecurityGroupViolation_violationTargetDescription = Lens.lens (\AwsVPCSecurityGroupViolation' {violationTargetDescription} -> violationTargetDescription) (\s@AwsVPCSecurityGroupViolation' {} a -> s {violationTargetDescription = a} :: AwsVPCSecurityGroupViolation)++instance Data.FromJSON AwsVPCSecurityGroupViolation where+  parseJSON =+    Data.withObject+      "AwsVPCSecurityGroupViolation"+      ( \x ->+          AwsVPCSecurityGroupViolation'+            Prelude.<$> (x Data..:? "PartialMatches" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "PossibleSecurityGroupRemediationActions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ViolationTarget")+            Prelude.<*> (x Data..:? "ViolationTargetDescription")+      )++instance+  Prelude.Hashable+    AwsVPCSecurityGroupViolation+  where+  hashWithSalt _salt AwsVPCSecurityGroupViolation' {..} =+    _salt+      `Prelude.hashWithSalt` partialMatches+      `Prelude.hashWithSalt` possibleSecurityGroupRemediationActions+      `Prelude.hashWithSalt` violationTarget+      `Prelude.hashWithSalt` violationTargetDescription++instance Prelude.NFData AwsVPCSecurityGroupViolation where+  rnf AwsVPCSecurityGroupViolation' {..} =+    Prelude.rnf partialMatches+      `Prelude.seq` Prelude.rnf possibleSecurityGroupRemediationActions+      `Prelude.seq` Prelude.rnf violationTarget+      `Prelude.seq` Prelude.rnf violationTargetDescription
+ gen/Amazonka/FMS/Types/ComplianceViolator.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ComplianceViolator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ComplianceViolator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ViolationReason+import qualified Amazonka.Prelude as Prelude++-- | Details of the resource that is not protected by the policy.+--+-- /See:/ 'newComplianceViolator' smart constructor.+data ComplianceViolator = ComplianceViolator'+  { -- | Metadata about the resource that doesn\'t comply with the policy scope.+    metadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The resource ID.+    resourceId :: Prelude.Maybe Prelude.Text,+    -- | The resource type. This is in the format shown in the+    -- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+    -- For example: @AWS::ElasticLoadBalancingV2::LoadBalancer@,+    -- @AWS::CloudFront::Distribution@, or+    -- @AWS::NetworkFirewall::FirewallPolicy@.+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The reason that the resource is not protected by the policy.+    violationReason :: Prelude.Maybe ViolationReason+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComplianceViolator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metadata', 'complianceViolator_metadata' - Metadata about the resource that doesn\'t comply with the policy scope.+--+-- 'resourceId', 'complianceViolator_resourceId' - The resource ID.+--+-- 'resourceType', 'complianceViolator_resourceType' - The resource type. This is in the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- For example: @AWS::ElasticLoadBalancingV2::LoadBalancer@,+-- @AWS::CloudFront::Distribution@, or+-- @AWS::NetworkFirewall::FirewallPolicy@.+--+-- 'violationReason', 'complianceViolator_violationReason' - The reason that the resource is not protected by the policy.+newComplianceViolator ::+  ComplianceViolator+newComplianceViolator =+  ComplianceViolator'+    { metadata = Prelude.Nothing,+      resourceId = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      violationReason = Prelude.Nothing+    }++-- | Metadata about the resource that doesn\'t comply with the policy scope.+complianceViolator_metadata :: Lens.Lens' ComplianceViolator (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+complianceViolator_metadata = Lens.lens (\ComplianceViolator' {metadata} -> metadata) (\s@ComplianceViolator' {} a -> s {metadata = a} :: ComplianceViolator) Prelude.. Lens.mapping Lens.coerced++-- | The resource ID.+complianceViolator_resourceId :: Lens.Lens' ComplianceViolator (Prelude.Maybe Prelude.Text)+complianceViolator_resourceId = Lens.lens (\ComplianceViolator' {resourceId} -> resourceId) (\s@ComplianceViolator' {} a -> s {resourceId = a} :: ComplianceViolator)++-- | The resource type. This is in the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- For example: @AWS::ElasticLoadBalancingV2::LoadBalancer@,+-- @AWS::CloudFront::Distribution@, or+-- @AWS::NetworkFirewall::FirewallPolicy@.+complianceViolator_resourceType :: Lens.Lens' ComplianceViolator (Prelude.Maybe Prelude.Text)+complianceViolator_resourceType = Lens.lens (\ComplianceViolator' {resourceType} -> resourceType) (\s@ComplianceViolator' {} a -> s {resourceType = a} :: ComplianceViolator)++-- | The reason that the resource is not protected by the policy.+complianceViolator_violationReason :: Lens.Lens' ComplianceViolator (Prelude.Maybe ViolationReason)+complianceViolator_violationReason = Lens.lens (\ComplianceViolator' {violationReason} -> violationReason) (\s@ComplianceViolator' {} a -> s {violationReason = a} :: ComplianceViolator)++instance Data.FromJSON ComplianceViolator where+  parseJSON =+    Data.withObject+      "ComplianceViolator"+      ( \x ->+          ComplianceViolator'+            Prelude.<$> (x Data..:? "Metadata" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ResourceId")+            Prelude.<*> (x Data..:? "ResourceType")+            Prelude.<*> (x Data..:? "ViolationReason")+      )++instance Prelude.Hashable ComplianceViolator where+  hashWithSalt _salt ComplianceViolator' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` violationReason++instance Prelude.NFData ComplianceViolator where+  rnf ComplianceViolator' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf violationReason
+ gen/Amazonka/FMS/Types/CustomerPolicyScopeIdType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.CustomerPolicyScopeIdType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.CustomerPolicyScopeIdType+  ( CustomerPolicyScopeIdType+      ( ..,+        CustomerPolicyScopeIdType_ACCOUNT,+        CustomerPolicyScopeIdType_ORG_UNIT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomerPolicyScopeIdType = CustomerPolicyScopeIdType'+  { fromCustomerPolicyScopeIdType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern CustomerPolicyScopeIdType_ACCOUNT :: CustomerPolicyScopeIdType+pattern CustomerPolicyScopeIdType_ACCOUNT = CustomerPolicyScopeIdType' "ACCOUNT"++pattern CustomerPolicyScopeIdType_ORG_UNIT :: CustomerPolicyScopeIdType+pattern CustomerPolicyScopeIdType_ORG_UNIT = CustomerPolicyScopeIdType' "ORG_UNIT"++{-# COMPLETE+  CustomerPolicyScopeIdType_ACCOUNT,+  CustomerPolicyScopeIdType_ORG_UNIT,+  CustomerPolicyScopeIdType'+  #-}
+ gen/Amazonka/FMS/Types/DependentServiceName.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.DependentServiceName+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.DependentServiceName+  ( DependentServiceName+      ( ..,+        DependentServiceName_AWSCONFIG,+        DependentServiceName_AWSSHIELD_ADVANCED,+        DependentServiceName_AWSVPC,+        DependentServiceName_AWSWAF+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DependentServiceName = DependentServiceName'+  { fromDependentServiceName ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DependentServiceName_AWSCONFIG :: DependentServiceName+pattern DependentServiceName_AWSCONFIG = DependentServiceName' "AWSCONFIG"++pattern DependentServiceName_AWSSHIELD_ADVANCED :: DependentServiceName+pattern DependentServiceName_AWSSHIELD_ADVANCED = DependentServiceName' "AWSSHIELD_ADVANCED"++pattern DependentServiceName_AWSVPC :: DependentServiceName+pattern DependentServiceName_AWSVPC = DependentServiceName' "AWSVPC"++pattern DependentServiceName_AWSWAF :: DependentServiceName+pattern DependentServiceName_AWSWAF = DependentServiceName' "AWSWAF"++{-# COMPLETE+  DependentServiceName_AWSCONFIG,+  DependentServiceName_AWSSHIELD_ADVANCED,+  DependentServiceName_AWSVPC,+  DependentServiceName_AWSWAF,+  DependentServiceName'+  #-}
+ gen/Amazonka/FMS/Types/DestinationType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.DestinationType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.DestinationType+  ( DestinationType+      ( ..,+        DestinationType_IPV4,+        DestinationType_IPV6,+        DestinationType_PREFIX_LIST+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DestinationType = DestinationType'+  { fromDestinationType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DestinationType_IPV4 :: DestinationType+pattern DestinationType_IPV4 = DestinationType' "IPV4"++pattern DestinationType_IPV6 :: DestinationType+pattern DestinationType_IPV6 = DestinationType' "IPV6"++pattern DestinationType_PREFIX_LIST :: DestinationType+pattern DestinationType_PREFIX_LIST = DestinationType' "PREFIX_LIST"++{-# COMPLETE+  DestinationType_IPV4,+  DestinationType_IPV6,+  DestinationType_PREFIX_LIST,+  DestinationType'+  #-}
+ gen/Amazonka/FMS/Types/DiscoveredResource.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.DiscoveredResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.DiscoveredResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A resource in the organization that\'s available to be associated with a+-- Firewall Manager resource set.+--+-- /See:/ 'newDiscoveredResource' smart constructor.+data DiscoveredResource = DiscoveredResource'+  { -- | The Amazon Web Services account ID associated with the discovered+    -- resource.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The name of the discovered resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The type of the discovered resource.+    type' :: Prelude.Maybe Prelude.Text,+    -- | The universal resource identifier (URI) of the discovered resource.+    uri :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DiscoveredResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'discoveredResource_accountId' - The Amazon Web Services account ID associated with the discovered+-- resource.+--+-- 'name', 'discoveredResource_name' - The name of the discovered resource.+--+-- 'type'', 'discoveredResource_type' - The type of the discovered resource.+--+-- 'uri', 'discoveredResource_uri' - The universal resource identifier (URI) of the discovered resource.+newDiscoveredResource ::+  DiscoveredResource+newDiscoveredResource =+  DiscoveredResource'+    { accountId = Prelude.Nothing,+      name = Prelude.Nothing,+      type' = Prelude.Nothing,+      uri = Prelude.Nothing+    }++-- | The Amazon Web Services account ID associated with the discovered+-- resource.+discoveredResource_accountId :: Lens.Lens' DiscoveredResource (Prelude.Maybe Prelude.Text)+discoveredResource_accountId = Lens.lens (\DiscoveredResource' {accountId} -> accountId) (\s@DiscoveredResource' {} a -> s {accountId = a} :: DiscoveredResource)++-- | The name of the discovered resource.+discoveredResource_name :: Lens.Lens' DiscoveredResource (Prelude.Maybe Prelude.Text)+discoveredResource_name = Lens.lens (\DiscoveredResource' {name} -> name) (\s@DiscoveredResource' {} a -> s {name = a} :: DiscoveredResource)++-- | The type of the discovered resource.+discoveredResource_type :: Lens.Lens' DiscoveredResource (Prelude.Maybe Prelude.Text)+discoveredResource_type = Lens.lens (\DiscoveredResource' {type'} -> type') (\s@DiscoveredResource' {} a -> s {type' = a} :: DiscoveredResource)++-- | The universal resource identifier (URI) of the discovered resource.+discoveredResource_uri :: Lens.Lens' DiscoveredResource (Prelude.Maybe Prelude.Text)+discoveredResource_uri = Lens.lens (\DiscoveredResource' {uri} -> uri) (\s@DiscoveredResource' {} a -> s {uri = a} :: DiscoveredResource)++instance Data.FromJSON DiscoveredResource where+  parseJSON =+    Data.withObject+      "DiscoveredResource"+      ( \x ->+          DiscoveredResource'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "URI")+      )++instance Prelude.Hashable DiscoveredResource where+  hashWithSalt _salt DiscoveredResource' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` uri++instance Prelude.NFData DiscoveredResource where+  rnf DiscoveredResource' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf uri
+ gen/Amazonka/FMS/Types/DnsDuplicateRuleGroupViolation.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A DNS Firewall rule group that Firewall Manager tried to associate with+-- a VPC is already associated with the VPC and can\'t be associated again.+--+-- /See:/ 'newDnsDuplicateRuleGroupViolation' smart constructor.+data DnsDuplicateRuleGroupViolation = DnsDuplicateRuleGroupViolation'+  { -- | Information about the VPC ID.+    violationTarget :: Prelude.Maybe Prelude.Text,+    -- | A description of the violation that specifies the rule group and VPC.+    violationTargetDescription :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DnsDuplicateRuleGroupViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'violationTarget', 'dnsDuplicateRuleGroupViolation_violationTarget' - Information about the VPC ID.+--+-- 'violationTargetDescription', 'dnsDuplicateRuleGroupViolation_violationTargetDescription' - A description of the violation that specifies the rule group and VPC.+newDnsDuplicateRuleGroupViolation ::+  DnsDuplicateRuleGroupViolation+newDnsDuplicateRuleGroupViolation =+  DnsDuplicateRuleGroupViolation'+    { violationTarget =+        Prelude.Nothing,+      violationTargetDescription =+        Prelude.Nothing+    }++-- | Information about the VPC ID.+dnsDuplicateRuleGroupViolation_violationTarget :: Lens.Lens' DnsDuplicateRuleGroupViolation (Prelude.Maybe Prelude.Text)+dnsDuplicateRuleGroupViolation_violationTarget = Lens.lens (\DnsDuplicateRuleGroupViolation' {violationTarget} -> violationTarget) (\s@DnsDuplicateRuleGroupViolation' {} a -> s {violationTarget = a} :: DnsDuplicateRuleGroupViolation)++-- | A description of the violation that specifies the rule group and VPC.+dnsDuplicateRuleGroupViolation_violationTargetDescription :: Lens.Lens' DnsDuplicateRuleGroupViolation (Prelude.Maybe Prelude.Text)+dnsDuplicateRuleGroupViolation_violationTargetDescription = Lens.lens (\DnsDuplicateRuleGroupViolation' {violationTargetDescription} -> violationTargetDescription) (\s@DnsDuplicateRuleGroupViolation' {} a -> s {violationTargetDescription = a} :: DnsDuplicateRuleGroupViolation)++instance Data.FromJSON DnsDuplicateRuleGroupViolation where+  parseJSON =+    Data.withObject+      "DnsDuplicateRuleGroupViolation"+      ( \x ->+          DnsDuplicateRuleGroupViolation'+            Prelude.<$> (x Data..:? "ViolationTarget")+            Prelude.<*> (x Data..:? "ViolationTargetDescription")+      )++instance+  Prelude.Hashable+    DnsDuplicateRuleGroupViolation+  where+  hashWithSalt+    _salt+    DnsDuplicateRuleGroupViolation' {..} =+      _salt+        `Prelude.hashWithSalt` violationTarget+        `Prelude.hashWithSalt` violationTargetDescription++instance+  Prelude.NFData+    DnsDuplicateRuleGroupViolation+  where+  rnf DnsDuplicateRuleGroupViolation' {..} =+    Prelude.rnf violationTarget+      `Prelude.seq` Prelude.rnf violationTargetDescription
+ gen/Amazonka/FMS/Types/DnsRuleGroupLimitExceededViolation.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The VPC that Firewall Manager was applying a DNS Fireall policy to+-- reached the limit for associated DNS Firewall rule groups. Firewall+-- Manager tried to associate another rule group with the VPC and failed+-- due to the limit.+--+-- /See:/ 'newDnsRuleGroupLimitExceededViolation' smart constructor.+data DnsRuleGroupLimitExceededViolation = DnsRuleGroupLimitExceededViolation'+  { -- | The number of rule groups currently associated with the VPC.+    numberOfRuleGroupsAlreadyAssociated :: Prelude.Maybe Prelude.Int,+    -- | Information about the VPC ID.+    violationTarget :: Prelude.Maybe Prelude.Text,+    -- | A description of the violation that specifies the rule group and VPC.+    violationTargetDescription :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DnsRuleGroupLimitExceededViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'numberOfRuleGroupsAlreadyAssociated', 'dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated' - The number of rule groups currently associated with the VPC.+--+-- 'violationTarget', 'dnsRuleGroupLimitExceededViolation_violationTarget' - Information about the VPC ID.+--+-- 'violationTargetDescription', 'dnsRuleGroupLimitExceededViolation_violationTargetDescription' - A description of the violation that specifies the rule group and VPC.+newDnsRuleGroupLimitExceededViolation ::+  DnsRuleGroupLimitExceededViolation+newDnsRuleGroupLimitExceededViolation =+  DnsRuleGroupLimitExceededViolation'+    { numberOfRuleGroupsAlreadyAssociated =+        Prelude.Nothing,+      violationTarget = Prelude.Nothing,+      violationTargetDescription =+        Prelude.Nothing+    }++-- | The number of rule groups currently associated with the VPC.+dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated :: Lens.Lens' DnsRuleGroupLimitExceededViolation (Prelude.Maybe Prelude.Int)+dnsRuleGroupLimitExceededViolation_numberOfRuleGroupsAlreadyAssociated = Lens.lens (\DnsRuleGroupLimitExceededViolation' {numberOfRuleGroupsAlreadyAssociated} -> numberOfRuleGroupsAlreadyAssociated) (\s@DnsRuleGroupLimitExceededViolation' {} a -> s {numberOfRuleGroupsAlreadyAssociated = a} :: DnsRuleGroupLimitExceededViolation)++-- | Information about the VPC ID.+dnsRuleGroupLimitExceededViolation_violationTarget :: Lens.Lens' DnsRuleGroupLimitExceededViolation (Prelude.Maybe Prelude.Text)+dnsRuleGroupLimitExceededViolation_violationTarget = Lens.lens (\DnsRuleGroupLimitExceededViolation' {violationTarget} -> violationTarget) (\s@DnsRuleGroupLimitExceededViolation' {} a -> s {violationTarget = a} :: DnsRuleGroupLimitExceededViolation)++-- | A description of the violation that specifies the rule group and VPC.+dnsRuleGroupLimitExceededViolation_violationTargetDescription :: Lens.Lens' DnsRuleGroupLimitExceededViolation (Prelude.Maybe Prelude.Text)+dnsRuleGroupLimitExceededViolation_violationTargetDescription = Lens.lens (\DnsRuleGroupLimitExceededViolation' {violationTargetDescription} -> violationTargetDescription) (\s@DnsRuleGroupLimitExceededViolation' {} a -> s {violationTargetDescription = a} :: DnsRuleGroupLimitExceededViolation)++instance+  Data.FromJSON+    DnsRuleGroupLimitExceededViolation+  where+  parseJSON =+    Data.withObject+      "DnsRuleGroupLimitExceededViolation"+      ( \x ->+          DnsRuleGroupLimitExceededViolation'+            Prelude.<$> (x Data..:? "NumberOfRuleGroupsAlreadyAssociated")+            Prelude.<*> (x Data..:? "ViolationTarget")+            Prelude.<*> (x Data..:? "ViolationTargetDescription")+      )++instance+  Prelude.Hashable+    DnsRuleGroupLimitExceededViolation+  where+  hashWithSalt+    _salt+    DnsRuleGroupLimitExceededViolation' {..} =+      _salt+        `Prelude.hashWithSalt` numberOfRuleGroupsAlreadyAssociated+        `Prelude.hashWithSalt` violationTarget+        `Prelude.hashWithSalt` violationTargetDescription++instance+  Prelude.NFData+    DnsRuleGroupLimitExceededViolation+  where+  rnf DnsRuleGroupLimitExceededViolation' {..} =+    Prelude.rnf numberOfRuleGroupsAlreadyAssociated+      `Prelude.seq` Prelude.rnf violationTarget+      `Prelude.seq` Prelude.rnf violationTargetDescription
+ gen/Amazonka/FMS/Types/DnsRuleGroupPriorityConflictViolation.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A rule group that Firewall Manager tried to associate with a VPC has the+-- same priority as a rule group that\'s already associated.+--+-- /See:/ 'newDnsRuleGroupPriorityConflictViolation' smart constructor.+data DnsRuleGroupPriorityConflictViolation = DnsRuleGroupPriorityConflictViolation'+  { -- | The ID of the Firewall Manager DNS Firewall policy that was already+    -- applied to the VPC. This policy contains the rule group that\'s already+    -- associated with the VPC.+    conflictingPolicyId :: Prelude.Maybe Prelude.Text,+    -- | The priority setting of the two conflicting rule groups.+    conflictingPriority :: Prelude.Maybe Prelude.Natural,+    -- | The priorities of rule groups that are already associated with the VPC.+    -- To retry your operation, choose priority settings that aren\'t in this+    -- list for the rule groups in your new DNS Firewall policy.+    unavailablePriorities :: Prelude.Maybe [Prelude.Natural],+    -- | Information about the VPC ID.+    violationTarget :: Prelude.Maybe Prelude.Text,+    -- | A description of the violation that specifies the VPC and the rule group+    -- that\'s already associated with it.+    violationTargetDescription :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DnsRuleGroupPriorityConflictViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conflictingPolicyId', 'dnsRuleGroupPriorityConflictViolation_conflictingPolicyId' - The ID of the Firewall Manager DNS Firewall policy that was already+-- applied to the VPC. This policy contains the rule group that\'s already+-- associated with the VPC.+--+-- 'conflictingPriority', 'dnsRuleGroupPriorityConflictViolation_conflictingPriority' - The priority setting of the two conflicting rule groups.+--+-- 'unavailablePriorities', 'dnsRuleGroupPriorityConflictViolation_unavailablePriorities' - The priorities of rule groups that are already associated with the VPC.+-- To retry your operation, choose priority settings that aren\'t in this+-- list for the rule groups in your new DNS Firewall policy.+--+-- 'violationTarget', 'dnsRuleGroupPriorityConflictViolation_violationTarget' - Information about the VPC ID.+--+-- 'violationTargetDescription', 'dnsRuleGroupPriorityConflictViolation_violationTargetDescription' - A description of the violation that specifies the VPC and the rule group+-- that\'s already associated with it.+newDnsRuleGroupPriorityConflictViolation ::+  DnsRuleGroupPriorityConflictViolation+newDnsRuleGroupPriorityConflictViolation =+  DnsRuleGroupPriorityConflictViolation'+    { conflictingPolicyId =+        Prelude.Nothing,+      conflictingPriority =+        Prelude.Nothing,+      unavailablePriorities =+        Prelude.Nothing,+      violationTarget = Prelude.Nothing,+      violationTargetDescription =+        Prelude.Nothing+    }++-- | The ID of the Firewall Manager DNS Firewall policy that was already+-- applied to the VPC. This policy contains the rule group that\'s already+-- associated with the VPC.+dnsRuleGroupPriorityConflictViolation_conflictingPolicyId :: Lens.Lens' DnsRuleGroupPriorityConflictViolation (Prelude.Maybe Prelude.Text)+dnsRuleGroupPriorityConflictViolation_conflictingPolicyId = Lens.lens (\DnsRuleGroupPriorityConflictViolation' {conflictingPolicyId} -> conflictingPolicyId) (\s@DnsRuleGroupPriorityConflictViolation' {} a -> s {conflictingPolicyId = a} :: DnsRuleGroupPriorityConflictViolation)++-- | The priority setting of the two conflicting rule groups.+dnsRuleGroupPriorityConflictViolation_conflictingPriority :: Lens.Lens' DnsRuleGroupPriorityConflictViolation (Prelude.Maybe Prelude.Natural)+dnsRuleGroupPriorityConflictViolation_conflictingPriority = Lens.lens (\DnsRuleGroupPriorityConflictViolation' {conflictingPriority} -> conflictingPriority) (\s@DnsRuleGroupPriorityConflictViolation' {} a -> s {conflictingPriority = a} :: DnsRuleGroupPriorityConflictViolation)++-- | The priorities of rule groups that are already associated with the VPC.+-- To retry your operation, choose priority settings that aren\'t in this+-- list for the rule groups in your new DNS Firewall policy.+dnsRuleGroupPriorityConflictViolation_unavailablePriorities :: Lens.Lens' DnsRuleGroupPriorityConflictViolation (Prelude.Maybe [Prelude.Natural])+dnsRuleGroupPriorityConflictViolation_unavailablePriorities = Lens.lens (\DnsRuleGroupPriorityConflictViolation' {unavailablePriorities} -> unavailablePriorities) (\s@DnsRuleGroupPriorityConflictViolation' {} a -> s {unavailablePriorities = a} :: DnsRuleGroupPriorityConflictViolation) Prelude.. Lens.mapping Lens.coerced++-- | Information about the VPC ID.+dnsRuleGroupPriorityConflictViolation_violationTarget :: Lens.Lens' DnsRuleGroupPriorityConflictViolation (Prelude.Maybe Prelude.Text)+dnsRuleGroupPriorityConflictViolation_violationTarget = Lens.lens (\DnsRuleGroupPriorityConflictViolation' {violationTarget} -> violationTarget) (\s@DnsRuleGroupPriorityConflictViolation' {} a -> s {violationTarget = a} :: DnsRuleGroupPriorityConflictViolation)++-- | A description of the violation that specifies the VPC and the rule group+-- that\'s already associated with it.+dnsRuleGroupPriorityConflictViolation_violationTargetDescription :: Lens.Lens' DnsRuleGroupPriorityConflictViolation (Prelude.Maybe Prelude.Text)+dnsRuleGroupPriorityConflictViolation_violationTargetDescription = Lens.lens (\DnsRuleGroupPriorityConflictViolation' {violationTargetDescription} -> violationTargetDescription) (\s@DnsRuleGroupPriorityConflictViolation' {} a -> s {violationTargetDescription = a} :: DnsRuleGroupPriorityConflictViolation)++instance+  Data.FromJSON+    DnsRuleGroupPriorityConflictViolation+  where+  parseJSON =+    Data.withObject+      "DnsRuleGroupPriorityConflictViolation"+      ( \x ->+          DnsRuleGroupPriorityConflictViolation'+            Prelude.<$> (x Data..:? "ConflictingPolicyId")+            Prelude.<*> (x Data..:? "ConflictingPriority")+            Prelude.<*> ( x+                            Data..:? "UnavailablePriorities"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ViolationTarget")+            Prelude.<*> (x Data..:? "ViolationTargetDescription")+      )++instance+  Prelude.Hashable+    DnsRuleGroupPriorityConflictViolation+  where+  hashWithSalt+    _salt+    DnsRuleGroupPriorityConflictViolation' {..} =+      _salt+        `Prelude.hashWithSalt` conflictingPolicyId+        `Prelude.hashWithSalt` conflictingPriority+        `Prelude.hashWithSalt` unavailablePriorities+        `Prelude.hashWithSalt` violationTarget+        `Prelude.hashWithSalt` violationTargetDescription++instance+  Prelude.NFData+    DnsRuleGroupPriorityConflictViolation+  where+  rnf DnsRuleGroupPriorityConflictViolation' {..} =+    Prelude.rnf conflictingPolicyId+      `Prelude.seq` Prelude.rnf conflictingPriority+      `Prelude.seq` Prelude.rnf unavailablePriorities+      `Prelude.seq` Prelude.rnf violationTarget+      `Prelude.seq` Prelude.rnf violationTargetDescription
+ gen/Amazonka/FMS/Types/EC2AssociateRouteTableAction.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EC2AssociateRouteTableAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EC2AssociateRouteTableAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ActionTarget+import qualified Amazonka.Prelude as Prelude++-- | The action of associating an EC2 resource, such as a subnet or internet+-- gateway, with a route table.+--+-- /See:/ 'newEC2AssociateRouteTableAction' smart constructor.+data EC2AssociateRouteTableAction = EC2AssociateRouteTableAction'+  { -- | A description of the EC2 route table that is associated with the+    -- remediation action.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the gateway to be used with the EC2 route table that is+    -- associated with the remediation action.+    gatewayId :: Prelude.Maybe ActionTarget,+    -- | The ID of the subnet for the EC2 route table that is associated with the+    -- remediation action.+    subnetId :: Prelude.Maybe ActionTarget,+    -- | The ID of the EC2 route table that is associated with the remediation+    -- action.+    routeTableId :: ActionTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2AssociateRouteTableAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'eC2AssociateRouteTableAction_description' - A description of the EC2 route table that is associated with the+-- remediation action.+--+-- 'gatewayId', 'eC2AssociateRouteTableAction_gatewayId' - The ID of the gateway to be used with the EC2 route table that is+-- associated with the remediation action.+--+-- 'subnetId', 'eC2AssociateRouteTableAction_subnetId' - The ID of the subnet for the EC2 route table that is associated with the+-- remediation action.+--+-- 'routeTableId', 'eC2AssociateRouteTableAction_routeTableId' - The ID of the EC2 route table that is associated with the remediation+-- action.+newEC2AssociateRouteTableAction ::+  -- | 'routeTableId'+  ActionTarget ->+  EC2AssociateRouteTableAction+newEC2AssociateRouteTableAction pRouteTableId_ =+  EC2AssociateRouteTableAction'+    { description =+        Prelude.Nothing,+      gatewayId = Prelude.Nothing,+      subnetId = Prelude.Nothing,+      routeTableId = pRouteTableId_+    }++-- | A description of the EC2 route table that is associated with the+-- remediation action.+eC2AssociateRouteTableAction_description :: Lens.Lens' EC2AssociateRouteTableAction (Prelude.Maybe Prelude.Text)+eC2AssociateRouteTableAction_description = Lens.lens (\EC2AssociateRouteTableAction' {description} -> description) (\s@EC2AssociateRouteTableAction' {} a -> s {description = a} :: EC2AssociateRouteTableAction)++-- | The ID of the gateway to be used with the EC2 route table that is+-- associated with the remediation action.+eC2AssociateRouteTableAction_gatewayId :: Lens.Lens' EC2AssociateRouteTableAction (Prelude.Maybe ActionTarget)+eC2AssociateRouteTableAction_gatewayId = Lens.lens (\EC2AssociateRouteTableAction' {gatewayId} -> gatewayId) (\s@EC2AssociateRouteTableAction' {} a -> s {gatewayId = a} :: EC2AssociateRouteTableAction)++-- | The ID of the subnet for the EC2 route table that is associated with the+-- remediation action.+eC2AssociateRouteTableAction_subnetId :: Lens.Lens' EC2AssociateRouteTableAction (Prelude.Maybe ActionTarget)+eC2AssociateRouteTableAction_subnetId = Lens.lens (\EC2AssociateRouteTableAction' {subnetId} -> subnetId) (\s@EC2AssociateRouteTableAction' {} a -> s {subnetId = a} :: EC2AssociateRouteTableAction)++-- | The ID of the EC2 route table that is associated with the remediation+-- action.+eC2AssociateRouteTableAction_routeTableId :: Lens.Lens' EC2AssociateRouteTableAction ActionTarget+eC2AssociateRouteTableAction_routeTableId = Lens.lens (\EC2AssociateRouteTableAction' {routeTableId} -> routeTableId) (\s@EC2AssociateRouteTableAction' {} a -> s {routeTableId = a} :: EC2AssociateRouteTableAction)++instance Data.FromJSON EC2AssociateRouteTableAction where+  parseJSON =+    Data.withObject+      "EC2AssociateRouteTableAction"+      ( \x ->+          EC2AssociateRouteTableAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GatewayId")+            Prelude.<*> (x Data..:? "SubnetId")+            Prelude.<*> (x Data..: "RouteTableId")+      )++instance+  Prelude.Hashable+    EC2AssociateRouteTableAction+  where+  hashWithSalt _salt EC2AssociateRouteTableAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` gatewayId+      `Prelude.hashWithSalt` subnetId+      `Prelude.hashWithSalt` routeTableId++instance Prelude.NFData EC2AssociateRouteTableAction where+  rnf EC2AssociateRouteTableAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf gatewayId+      `Prelude.seq` Prelude.rnf subnetId+      `Prelude.seq` Prelude.rnf routeTableId
+ gen/Amazonka/FMS/Types/EC2CopyRouteTableAction.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EC2CopyRouteTableAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EC2CopyRouteTableAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ActionTarget+import qualified Amazonka.Prelude as Prelude++-- | An action that copies the EC2 route table for use in remediation.+--+-- /See:/ 'newEC2CopyRouteTableAction' smart constructor.+data EC2CopyRouteTableAction = EC2CopyRouteTableAction'+  { -- | A description of the copied EC2 route table that is associated with the+    -- remediation action.+    description :: Prelude.Maybe Prelude.Text,+    -- | The VPC ID of the copied EC2 route table that is associated with the+    -- remediation action.+    vpcId :: ActionTarget,+    -- | The ID of the copied EC2 route table that is associated with the+    -- remediation action.+    routeTableId :: ActionTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2CopyRouteTableAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'eC2CopyRouteTableAction_description' - A description of the copied EC2 route table that is associated with the+-- remediation action.+--+-- 'vpcId', 'eC2CopyRouteTableAction_vpcId' - The VPC ID of the copied EC2 route table that is associated with the+-- remediation action.+--+-- 'routeTableId', 'eC2CopyRouteTableAction_routeTableId' - The ID of the copied EC2 route table that is associated with the+-- remediation action.+newEC2CopyRouteTableAction ::+  -- | 'vpcId'+  ActionTarget ->+  -- | 'routeTableId'+  ActionTarget ->+  EC2CopyRouteTableAction+newEC2CopyRouteTableAction pVpcId_ pRouteTableId_ =+  EC2CopyRouteTableAction'+    { description =+        Prelude.Nothing,+      vpcId = pVpcId_,+      routeTableId = pRouteTableId_+    }++-- | A description of the copied EC2 route table that is associated with the+-- remediation action.+eC2CopyRouteTableAction_description :: Lens.Lens' EC2CopyRouteTableAction (Prelude.Maybe Prelude.Text)+eC2CopyRouteTableAction_description = Lens.lens (\EC2CopyRouteTableAction' {description} -> description) (\s@EC2CopyRouteTableAction' {} a -> s {description = a} :: EC2CopyRouteTableAction)++-- | The VPC ID of the copied EC2 route table that is associated with the+-- remediation action.+eC2CopyRouteTableAction_vpcId :: Lens.Lens' EC2CopyRouteTableAction ActionTarget+eC2CopyRouteTableAction_vpcId = Lens.lens (\EC2CopyRouteTableAction' {vpcId} -> vpcId) (\s@EC2CopyRouteTableAction' {} a -> s {vpcId = a} :: EC2CopyRouteTableAction)++-- | The ID of the copied EC2 route table that is associated with the+-- remediation action.+eC2CopyRouteTableAction_routeTableId :: Lens.Lens' EC2CopyRouteTableAction ActionTarget+eC2CopyRouteTableAction_routeTableId = Lens.lens (\EC2CopyRouteTableAction' {routeTableId} -> routeTableId) (\s@EC2CopyRouteTableAction' {} a -> s {routeTableId = a} :: EC2CopyRouteTableAction)++instance Data.FromJSON EC2CopyRouteTableAction where+  parseJSON =+    Data.withObject+      "EC2CopyRouteTableAction"+      ( \x ->+          EC2CopyRouteTableAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..: "VpcId")+            Prelude.<*> (x Data..: "RouteTableId")+      )++instance Prelude.Hashable EC2CopyRouteTableAction where+  hashWithSalt _salt EC2CopyRouteTableAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` vpcId+      `Prelude.hashWithSalt` routeTableId++instance Prelude.NFData EC2CopyRouteTableAction where+  rnf EC2CopyRouteTableAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf routeTableId
+ gen/Amazonka/FMS/Types/EC2CreateRouteAction.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EC2CreateRouteAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EC2CreateRouteAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ActionTarget+import qualified Amazonka.Prelude as Prelude++-- | Information about the CreateRoute action in Amazon EC2.+--+-- /See:/ 'newEC2CreateRouteAction' smart constructor.+data EC2CreateRouteAction = EC2CreateRouteAction'+  { -- | A description of CreateRoute action in Amazon EC2.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about the IPv4 CIDR address block used for the destination+    -- match.+    destinationCidrBlock :: Prelude.Maybe Prelude.Text,+    -- | Information about the IPv6 CIDR block destination.+    destinationIpv6CidrBlock :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of a prefix list used for the destination+    -- match.+    destinationPrefixListId :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of an internet gateway or virtual private+    -- gateway attached to your VPC.+    gatewayId :: Prelude.Maybe ActionTarget,+    -- | Information about the ID of a VPC endpoint. Supported for Gateway Load+    -- Balancer endpoints only.+    vpcEndpointId :: Prelude.Maybe ActionTarget,+    -- | Information about the ID of the route table for the route.+    routeTableId :: ActionTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2CreateRouteAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'eC2CreateRouteAction_description' - A description of CreateRoute action in Amazon EC2.+--+-- 'destinationCidrBlock', 'eC2CreateRouteAction_destinationCidrBlock' - Information about the IPv4 CIDR address block used for the destination+-- match.+--+-- 'destinationIpv6CidrBlock', 'eC2CreateRouteAction_destinationIpv6CidrBlock' - Information about the IPv6 CIDR block destination.+--+-- 'destinationPrefixListId', 'eC2CreateRouteAction_destinationPrefixListId' - Information about the ID of a prefix list used for the destination+-- match.+--+-- 'gatewayId', 'eC2CreateRouteAction_gatewayId' - Information about the ID of an internet gateway or virtual private+-- gateway attached to your VPC.+--+-- 'vpcEndpointId', 'eC2CreateRouteAction_vpcEndpointId' - Information about the ID of a VPC endpoint. Supported for Gateway Load+-- Balancer endpoints only.+--+-- 'routeTableId', 'eC2CreateRouteAction_routeTableId' - Information about the ID of the route table for the route.+newEC2CreateRouteAction ::+  -- | 'routeTableId'+  ActionTarget ->+  EC2CreateRouteAction+newEC2CreateRouteAction pRouteTableId_ =+  EC2CreateRouteAction'+    { description =+        Prelude.Nothing,+      destinationCidrBlock = Prelude.Nothing,+      destinationIpv6CidrBlock = Prelude.Nothing,+      destinationPrefixListId = Prelude.Nothing,+      gatewayId = Prelude.Nothing,+      vpcEndpointId = Prelude.Nothing,+      routeTableId = pRouteTableId_+    }++-- | A description of CreateRoute action in Amazon EC2.+eC2CreateRouteAction_description :: Lens.Lens' EC2CreateRouteAction (Prelude.Maybe Prelude.Text)+eC2CreateRouteAction_description = Lens.lens (\EC2CreateRouteAction' {description} -> description) (\s@EC2CreateRouteAction' {} a -> s {description = a} :: EC2CreateRouteAction)++-- | Information about the IPv4 CIDR address block used for the destination+-- match.+eC2CreateRouteAction_destinationCidrBlock :: Lens.Lens' EC2CreateRouteAction (Prelude.Maybe Prelude.Text)+eC2CreateRouteAction_destinationCidrBlock = Lens.lens (\EC2CreateRouteAction' {destinationCidrBlock} -> destinationCidrBlock) (\s@EC2CreateRouteAction' {} a -> s {destinationCidrBlock = a} :: EC2CreateRouteAction)++-- | Information about the IPv6 CIDR block destination.+eC2CreateRouteAction_destinationIpv6CidrBlock :: Lens.Lens' EC2CreateRouteAction (Prelude.Maybe Prelude.Text)+eC2CreateRouteAction_destinationIpv6CidrBlock = Lens.lens (\EC2CreateRouteAction' {destinationIpv6CidrBlock} -> destinationIpv6CidrBlock) (\s@EC2CreateRouteAction' {} a -> s {destinationIpv6CidrBlock = a} :: EC2CreateRouteAction)++-- | Information about the ID of a prefix list used for the destination+-- match.+eC2CreateRouteAction_destinationPrefixListId :: Lens.Lens' EC2CreateRouteAction (Prelude.Maybe Prelude.Text)+eC2CreateRouteAction_destinationPrefixListId = Lens.lens (\EC2CreateRouteAction' {destinationPrefixListId} -> destinationPrefixListId) (\s@EC2CreateRouteAction' {} a -> s {destinationPrefixListId = a} :: EC2CreateRouteAction)++-- | Information about the ID of an internet gateway or virtual private+-- gateway attached to your VPC.+eC2CreateRouteAction_gatewayId :: Lens.Lens' EC2CreateRouteAction (Prelude.Maybe ActionTarget)+eC2CreateRouteAction_gatewayId = Lens.lens (\EC2CreateRouteAction' {gatewayId} -> gatewayId) (\s@EC2CreateRouteAction' {} a -> s {gatewayId = a} :: EC2CreateRouteAction)++-- | Information about the ID of a VPC endpoint. Supported for Gateway Load+-- Balancer endpoints only.+eC2CreateRouteAction_vpcEndpointId :: Lens.Lens' EC2CreateRouteAction (Prelude.Maybe ActionTarget)+eC2CreateRouteAction_vpcEndpointId = Lens.lens (\EC2CreateRouteAction' {vpcEndpointId} -> vpcEndpointId) (\s@EC2CreateRouteAction' {} a -> s {vpcEndpointId = a} :: EC2CreateRouteAction)++-- | Information about the ID of the route table for the route.+eC2CreateRouteAction_routeTableId :: Lens.Lens' EC2CreateRouteAction ActionTarget+eC2CreateRouteAction_routeTableId = Lens.lens (\EC2CreateRouteAction' {routeTableId} -> routeTableId) (\s@EC2CreateRouteAction' {} a -> s {routeTableId = a} :: EC2CreateRouteAction)++instance Data.FromJSON EC2CreateRouteAction where+  parseJSON =+    Data.withObject+      "EC2CreateRouteAction"+      ( \x ->+          EC2CreateRouteAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DestinationCidrBlock")+            Prelude.<*> (x Data..:? "DestinationIpv6CidrBlock")+            Prelude.<*> (x Data..:? "DestinationPrefixListId")+            Prelude.<*> (x Data..:? "GatewayId")+            Prelude.<*> (x Data..:? "VpcEndpointId")+            Prelude.<*> (x Data..: "RouteTableId")+      )++instance Prelude.Hashable EC2CreateRouteAction where+  hashWithSalt _salt EC2CreateRouteAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` destinationCidrBlock+      `Prelude.hashWithSalt` destinationIpv6CidrBlock+      `Prelude.hashWithSalt` destinationPrefixListId+      `Prelude.hashWithSalt` gatewayId+      `Prelude.hashWithSalt` vpcEndpointId+      `Prelude.hashWithSalt` routeTableId++instance Prelude.NFData EC2CreateRouteAction where+  rnf EC2CreateRouteAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationCidrBlock+      `Prelude.seq` Prelude.rnf destinationIpv6CidrBlock+      `Prelude.seq` Prelude.rnf destinationPrefixListId+      `Prelude.seq` Prelude.rnf gatewayId+      `Prelude.seq` Prelude.rnf vpcEndpointId+      `Prelude.seq` Prelude.rnf routeTableId
+ gen/Amazonka/FMS/Types/EC2CreateRouteTableAction.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EC2CreateRouteTableAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EC2CreateRouteTableAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ActionTarget+import qualified Amazonka.Prelude as Prelude++-- | Information about the CreateRouteTable action in Amazon EC2.+--+-- /See:/ 'newEC2CreateRouteTableAction' smart constructor.+data EC2CreateRouteTableAction = EC2CreateRouteTableAction'+  { -- | A description of the CreateRouteTable action.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of a VPC.+    vpcId :: ActionTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2CreateRouteTableAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'eC2CreateRouteTableAction_description' - A description of the CreateRouteTable action.+--+-- 'vpcId', 'eC2CreateRouteTableAction_vpcId' - Information about the ID of a VPC.+newEC2CreateRouteTableAction ::+  -- | 'vpcId'+  ActionTarget ->+  EC2CreateRouteTableAction+newEC2CreateRouteTableAction pVpcId_ =+  EC2CreateRouteTableAction'+    { description =+        Prelude.Nothing,+      vpcId = pVpcId_+    }++-- | A description of the CreateRouteTable action.+eC2CreateRouteTableAction_description :: Lens.Lens' EC2CreateRouteTableAction (Prelude.Maybe Prelude.Text)+eC2CreateRouteTableAction_description = Lens.lens (\EC2CreateRouteTableAction' {description} -> description) (\s@EC2CreateRouteTableAction' {} a -> s {description = a} :: EC2CreateRouteTableAction)++-- | Information about the ID of a VPC.+eC2CreateRouteTableAction_vpcId :: Lens.Lens' EC2CreateRouteTableAction ActionTarget+eC2CreateRouteTableAction_vpcId = Lens.lens (\EC2CreateRouteTableAction' {vpcId} -> vpcId) (\s@EC2CreateRouteTableAction' {} a -> s {vpcId = a} :: EC2CreateRouteTableAction)++instance Data.FromJSON EC2CreateRouteTableAction where+  parseJSON =+    Data.withObject+      "EC2CreateRouteTableAction"+      ( \x ->+          EC2CreateRouteTableAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..: "VpcId")+      )++instance Prelude.Hashable EC2CreateRouteTableAction where+  hashWithSalt _salt EC2CreateRouteTableAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` vpcId++instance Prelude.NFData EC2CreateRouteTableAction where+  rnf EC2CreateRouteTableAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/EC2DeleteRouteAction.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EC2DeleteRouteAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EC2DeleteRouteAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ActionTarget+import qualified Amazonka.Prelude as Prelude++-- | Information about the DeleteRoute action in Amazon EC2.+--+-- /See:/ 'newEC2DeleteRouteAction' smart constructor.+data EC2DeleteRouteAction = EC2DeleteRouteAction'+  { -- | A description of the DeleteRoute action.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about the IPv4 CIDR range for the route. The value you+    -- specify must match the CIDR for the route exactly.+    destinationCidrBlock :: Prelude.Maybe Prelude.Text,+    -- | Information about the IPv6 CIDR range for the route. The value you+    -- specify must match the CIDR for the route exactly.+    destinationIpv6CidrBlock :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of the prefix list for the route.+    destinationPrefixListId :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of the route table.+    routeTableId :: ActionTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2DeleteRouteAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'eC2DeleteRouteAction_description' - A description of the DeleteRoute action.+--+-- 'destinationCidrBlock', 'eC2DeleteRouteAction_destinationCidrBlock' - Information about the IPv4 CIDR range for the route. The value you+-- specify must match the CIDR for the route exactly.+--+-- 'destinationIpv6CidrBlock', 'eC2DeleteRouteAction_destinationIpv6CidrBlock' - Information about the IPv6 CIDR range for the route. The value you+-- specify must match the CIDR for the route exactly.+--+-- 'destinationPrefixListId', 'eC2DeleteRouteAction_destinationPrefixListId' - Information about the ID of the prefix list for the route.+--+-- 'routeTableId', 'eC2DeleteRouteAction_routeTableId' - Information about the ID of the route table.+newEC2DeleteRouteAction ::+  -- | 'routeTableId'+  ActionTarget ->+  EC2DeleteRouteAction+newEC2DeleteRouteAction pRouteTableId_ =+  EC2DeleteRouteAction'+    { description =+        Prelude.Nothing,+      destinationCidrBlock = Prelude.Nothing,+      destinationIpv6CidrBlock = Prelude.Nothing,+      destinationPrefixListId = Prelude.Nothing,+      routeTableId = pRouteTableId_+    }++-- | A description of the DeleteRoute action.+eC2DeleteRouteAction_description :: Lens.Lens' EC2DeleteRouteAction (Prelude.Maybe Prelude.Text)+eC2DeleteRouteAction_description = Lens.lens (\EC2DeleteRouteAction' {description} -> description) (\s@EC2DeleteRouteAction' {} a -> s {description = a} :: EC2DeleteRouteAction)++-- | Information about the IPv4 CIDR range for the route. The value you+-- specify must match the CIDR for the route exactly.+eC2DeleteRouteAction_destinationCidrBlock :: Lens.Lens' EC2DeleteRouteAction (Prelude.Maybe Prelude.Text)+eC2DeleteRouteAction_destinationCidrBlock = Lens.lens (\EC2DeleteRouteAction' {destinationCidrBlock} -> destinationCidrBlock) (\s@EC2DeleteRouteAction' {} a -> s {destinationCidrBlock = a} :: EC2DeleteRouteAction)++-- | Information about the IPv6 CIDR range for the route. The value you+-- specify must match the CIDR for the route exactly.+eC2DeleteRouteAction_destinationIpv6CidrBlock :: Lens.Lens' EC2DeleteRouteAction (Prelude.Maybe Prelude.Text)+eC2DeleteRouteAction_destinationIpv6CidrBlock = Lens.lens (\EC2DeleteRouteAction' {destinationIpv6CidrBlock} -> destinationIpv6CidrBlock) (\s@EC2DeleteRouteAction' {} a -> s {destinationIpv6CidrBlock = a} :: EC2DeleteRouteAction)++-- | Information about the ID of the prefix list for the route.+eC2DeleteRouteAction_destinationPrefixListId :: Lens.Lens' EC2DeleteRouteAction (Prelude.Maybe Prelude.Text)+eC2DeleteRouteAction_destinationPrefixListId = Lens.lens (\EC2DeleteRouteAction' {destinationPrefixListId} -> destinationPrefixListId) (\s@EC2DeleteRouteAction' {} a -> s {destinationPrefixListId = a} :: EC2DeleteRouteAction)++-- | Information about the ID of the route table.+eC2DeleteRouteAction_routeTableId :: Lens.Lens' EC2DeleteRouteAction ActionTarget+eC2DeleteRouteAction_routeTableId = Lens.lens (\EC2DeleteRouteAction' {routeTableId} -> routeTableId) (\s@EC2DeleteRouteAction' {} a -> s {routeTableId = a} :: EC2DeleteRouteAction)++instance Data.FromJSON EC2DeleteRouteAction where+  parseJSON =+    Data.withObject+      "EC2DeleteRouteAction"+      ( \x ->+          EC2DeleteRouteAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DestinationCidrBlock")+            Prelude.<*> (x Data..:? "DestinationIpv6CidrBlock")+            Prelude.<*> (x Data..:? "DestinationPrefixListId")+            Prelude.<*> (x Data..: "RouteTableId")+      )++instance Prelude.Hashable EC2DeleteRouteAction where+  hashWithSalt _salt EC2DeleteRouteAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` destinationCidrBlock+      `Prelude.hashWithSalt` destinationIpv6CidrBlock+      `Prelude.hashWithSalt` destinationPrefixListId+      `Prelude.hashWithSalt` routeTableId++instance Prelude.NFData EC2DeleteRouteAction where+  rnf EC2DeleteRouteAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationCidrBlock+      `Prelude.seq` Prelude.rnf destinationIpv6CidrBlock+      `Prelude.seq` Prelude.rnf destinationPrefixListId+      `Prelude.seq` Prelude.rnf routeTableId
+ gen/Amazonka/FMS/Types/EC2ReplaceRouteAction.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EC2ReplaceRouteAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EC2ReplaceRouteAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ActionTarget+import qualified Amazonka.Prelude as Prelude++-- | Information about the ReplaceRoute action in Amazon EC2.+--+-- /See:/ 'newEC2ReplaceRouteAction' smart constructor.+data EC2ReplaceRouteAction = EC2ReplaceRouteAction'+  { -- | A description of the ReplaceRoute action in Amazon EC2.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about the IPv4 CIDR address block used for the destination+    -- match. The value that you provide must match the CIDR of an existing+    -- route in the table.+    destinationCidrBlock :: Prelude.Maybe Prelude.Text,+    -- | Information about the IPv6 CIDR address block used for the destination+    -- match. The value that you provide must match the CIDR of an existing+    -- route in the table.+    destinationIpv6CidrBlock :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of the prefix list for the route.+    destinationPrefixListId :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of an internet gateway or virtual private+    -- gateway.+    gatewayId :: Prelude.Maybe ActionTarget,+    -- | Information about the ID of the route table.+    routeTableId :: ActionTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2ReplaceRouteAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'eC2ReplaceRouteAction_description' - A description of the ReplaceRoute action in Amazon EC2.+--+-- 'destinationCidrBlock', 'eC2ReplaceRouteAction_destinationCidrBlock' - Information about the IPv4 CIDR address block used for the destination+-- match. The value that you provide must match the CIDR of an existing+-- route in the table.+--+-- 'destinationIpv6CidrBlock', 'eC2ReplaceRouteAction_destinationIpv6CidrBlock' - Information about the IPv6 CIDR address block used for the destination+-- match. The value that you provide must match the CIDR of an existing+-- route in the table.+--+-- 'destinationPrefixListId', 'eC2ReplaceRouteAction_destinationPrefixListId' - Information about the ID of the prefix list for the route.+--+-- 'gatewayId', 'eC2ReplaceRouteAction_gatewayId' - Information about the ID of an internet gateway or virtual private+-- gateway.+--+-- 'routeTableId', 'eC2ReplaceRouteAction_routeTableId' - Information about the ID of the route table.+newEC2ReplaceRouteAction ::+  -- | 'routeTableId'+  ActionTarget ->+  EC2ReplaceRouteAction+newEC2ReplaceRouteAction pRouteTableId_ =+  EC2ReplaceRouteAction'+    { description =+        Prelude.Nothing,+      destinationCidrBlock = Prelude.Nothing,+      destinationIpv6CidrBlock = Prelude.Nothing,+      destinationPrefixListId = Prelude.Nothing,+      gatewayId = Prelude.Nothing,+      routeTableId = pRouteTableId_+    }++-- | A description of the ReplaceRoute action in Amazon EC2.+eC2ReplaceRouteAction_description :: Lens.Lens' EC2ReplaceRouteAction (Prelude.Maybe Prelude.Text)+eC2ReplaceRouteAction_description = Lens.lens (\EC2ReplaceRouteAction' {description} -> description) (\s@EC2ReplaceRouteAction' {} a -> s {description = a} :: EC2ReplaceRouteAction)++-- | Information about the IPv4 CIDR address block used for the destination+-- match. The value that you provide must match the CIDR of an existing+-- route in the table.+eC2ReplaceRouteAction_destinationCidrBlock :: Lens.Lens' EC2ReplaceRouteAction (Prelude.Maybe Prelude.Text)+eC2ReplaceRouteAction_destinationCidrBlock = Lens.lens (\EC2ReplaceRouteAction' {destinationCidrBlock} -> destinationCidrBlock) (\s@EC2ReplaceRouteAction' {} a -> s {destinationCidrBlock = a} :: EC2ReplaceRouteAction)++-- | Information about the IPv6 CIDR address block used for the destination+-- match. The value that you provide must match the CIDR of an existing+-- route in the table.+eC2ReplaceRouteAction_destinationIpv6CidrBlock :: Lens.Lens' EC2ReplaceRouteAction (Prelude.Maybe Prelude.Text)+eC2ReplaceRouteAction_destinationIpv6CidrBlock = Lens.lens (\EC2ReplaceRouteAction' {destinationIpv6CidrBlock} -> destinationIpv6CidrBlock) (\s@EC2ReplaceRouteAction' {} a -> s {destinationIpv6CidrBlock = a} :: EC2ReplaceRouteAction)++-- | Information about the ID of the prefix list for the route.+eC2ReplaceRouteAction_destinationPrefixListId :: Lens.Lens' EC2ReplaceRouteAction (Prelude.Maybe Prelude.Text)+eC2ReplaceRouteAction_destinationPrefixListId = Lens.lens (\EC2ReplaceRouteAction' {destinationPrefixListId} -> destinationPrefixListId) (\s@EC2ReplaceRouteAction' {} a -> s {destinationPrefixListId = a} :: EC2ReplaceRouteAction)++-- | Information about the ID of an internet gateway or virtual private+-- gateway.+eC2ReplaceRouteAction_gatewayId :: Lens.Lens' EC2ReplaceRouteAction (Prelude.Maybe ActionTarget)+eC2ReplaceRouteAction_gatewayId = Lens.lens (\EC2ReplaceRouteAction' {gatewayId} -> gatewayId) (\s@EC2ReplaceRouteAction' {} a -> s {gatewayId = a} :: EC2ReplaceRouteAction)++-- | Information about the ID of the route table.+eC2ReplaceRouteAction_routeTableId :: Lens.Lens' EC2ReplaceRouteAction ActionTarget+eC2ReplaceRouteAction_routeTableId = Lens.lens (\EC2ReplaceRouteAction' {routeTableId} -> routeTableId) (\s@EC2ReplaceRouteAction' {} a -> s {routeTableId = a} :: EC2ReplaceRouteAction)++instance Data.FromJSON EC2ReplaceRouteAction where+  parseJSON =+    Data.withObject+      "EC2ReplaceRouteAction"+      ( \x ->+          EC2ReplaceRouteAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DestinationCidrBlock")+            Prelude.<*> (x Data..:? "DestinationIpv6CidrBlock")+            Prelude.<*> (x Data..:? "DestinationPrefixListId")+            Prelude.<*> (x Data..:? "GatewayId")+            Prelude.<*> (x Data..: "RouteTableId")+      )++instance Prelude.Hashable EC2ReplaceRouteAction where+  hashWithSalt _salt EC2ReplaceRouteAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` destinationCidrBlock+      `Prelude.hashWithSalt` destinationIpv6CidrBlock+      `Prelude.hashWithSalt` destinationPrefixListId+      `Prelude.hashWithSalt` gatewayId+      `Prelude.hashWithSalt` routeTableId++instance Prelude.NFData EC2ReplaceRouteAction where+  rnf EC2ReplaceRouteAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationCidrBlock+      `Prelude.seq` Prelude.rnf destinationIpv6CidrBlock+      `Prelude.seq` Prelude.rnf destinationPrefixListId+      `Prelude.seq` Prelude.rnf gatewayId+      `Prelude.seq` Prelude.rnf routeTableId
+ gen/Amazonka/FMS/Types/EC2ReplaceRouteTableAssociationAction.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ActionTarget+import qualified Amazonka.Prelude as Prelude++-- | Information about the ReplaceRouteTableAssociation action in Amazon EC2.+--+-- /See:/ 'newEC2ReplaceRouteTableAssociationAction' smart constructor.+data EC2ReplaceRouteTableAssociationAction = EC2ReplaceRouteTableAssociationAction'+  { -- | A description of the ReplaceRouteTableAssociation action in Amazon EC2.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about the association ID.+    associationId :: ActionTarget,+    -- | Information about the ID of the new route table to associate with the+    -- subnet.+    routeTableId :: ActionTarget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2ReplaceRouteTableAssociationAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'eC2ReplaceRouteTableAssociationAction_description' - A description of the ReplaceRouteTableAssociation action in Amazon EC2.+--+-- 'associationId', 'eC2ReplaceRouteTableAssociationAction_associationId' - Information about the association ID.+--+-- 'routeTableId', 'eC2ReplaceRouteTableAssociationAction_routeTableId' - Information about the ID of the new route table to associate with the+-- subnet.+newEC2ReplaceRouteTableAssociationAction ::+  -- | 'associationId'+  ActionTarget ->+  -- | 'routeTableId'+  ActionTarget ->+  EC2ReplaceRouteTableAssociationAction+newEC2ReplaceRouteTableAssociationAction+  pAssociationId_+  pRouteTableId_ =+    EC2ReplaceRouteTableAssociationAction'+      { description =+          Prelude.Nothing,+        associationId = pAssociationId_,+        routeTableId = pRouteTableId_+      }++-- | A description of the ReplaceRouteTableAssociation action in Amazon EC2.+eC2ReplaceRouteTableAssociationAction_description :: Lens.Lens' EC2ReplaceRouteTableAssociationAction (Prelude.Maybe Prelude.Text)+eC2ReplaceRouteTableAssociationAction_description = Lens.lens (\EC2ReplaceRouteTableAssociationAction' {description} -> description) (\s@EC2ReplaceRouteTableAssociationAction' {} a -> s {description = a} :: EC2ReplaceRouteTableAssociationAction)++-- | Information about the association ID.+eC2ReplaceRouteTableAssociationAction_associationId :: Lens.Lens' EC2ReplaceRouteTableAssociationAction ActionTarget+eC2ReplaceRouteTableAssociationAction_associationId = Lens.lens (\EC2ReplaceRouteTableAssociationAction' {associationId} -> associationId) (\s@EC2ReplaceRouteTableAssociationAction' {} a -> s {associationId = a} :: EC2ReplaceRouteTableAssociationAction)++-- | Information about the ID of the new route table to associate with the+-- subnet.+eC2ReplaceRouteTableAssociationAction_routeTableId :: Lens.Lens' EC2ReplaceRouteTableAssociationAction ActionTarget+eC2ReplaceRouteTableAssociationAction_routeTableId = Lens.lens (\EC2ReplaceRouteTableAssociationAction' {routeTableId} -> routeTableId) (\s@EC2ReplaceRouteTableAssociationAction' {} a -> s {routeTableId = a} :: EC2ReplaceRouteTableAssociationAction)++instance+  Data.FromJSON+    EC2ReplaceRouteTableAssociationAction+  where+  parseJSON =+    Data.withObject+      "EC2ReplaceRouteTableAssociationAction"+      ( \x ->+          EC2ReplaceRouteTableAssociationAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..: "AssociationId")+            Prelude.<*> (x Data..: "RouteTableId")+      )++instance+  Prelude.Hashable+    EC2ReplaceRouteTableAssociationAction+  where+  hashWithSalt+    _salt+    EC2ReplaceRouteTableAssociationAction' {..} =+      _salt+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` associationId+        `Prelude.hashWithSalt` routeTableId++instance+  Prelude.NFData+    EC2ReplaceRouteTableAssociationAction+  where+  rnf EC2ReplaceRouteTableAssociationAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf associationId+      `Prelude.seq` Prelude.rnf routeTableId
+ gen/Amazonka/FMS/Types/EvaluationResult.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.EvaluationResult+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.EvaluationResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.PolicyComplianceStatusType+import qualified Amazonka.Prelude as Prelude++-- | Describes the compliance status for the account. An account is+-- considered noncompliant if it includes resources that are not protected+-- by the specified policy or that don\'t comply with the policy.+--+-- /See:/ 'newEvaluationResult' smart constructor.+data EvaluationResult = EvaluationResult'+  { -- | Describes an Amazon Web Services account\'s compliance with the Firewall+    -- Manager policy.+    complianceStatus :: Prelude.Maybe PolicyComplianceStatusType,+    -- | Indicates that over 100 resources are noncompliant with the Firewall+    -- Manager policy.+    evaluationLimitExceeded :: Prelude.Maybe Prelude.Bool,+    -- | The number of resources that are noncompliant with the specified policy.+    -- For WAF and Shield Advanced policies, a resource is considered+    -- noncompliant if it is not associated with the policy. For security group+    -- policies, a resource is considered noncompliant if it doesn\'t comply+    -- with the rules of the policy and remediation is disabled or not+    -- possible.+    violatorCount :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EvaluationResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'complianceStatus', 'evaluationResult_complianceStatus' - Describes an Amazon Web Services account\'s compliance with the Firewall+-- Manager policy.+--+-- 'evaluationLimitExceeded', 'evaluationResult_evaluationLimitExceeded' - Indicates that over 100 resources are noncompliant with the Firewall+-- Manager policy.+--+-- 'violatorCount', 'evaluationResult_violatorCount' - The number of resources that are noncompliant with the specified policy.+-- For WAF and Shield Advanced policies, a resource is considered+-- noncompliant if it is not associated with the policy. For security group+-- policies, a resource is considered noncompliant if it doesn\'t comply+-- with the rules of the policy and remediation is disabled or not+-- possible.+newEvaluationResult ::+  EvaluationResult+newEvaluationResult =+  EvaluationResult'+    { complianceStatus =+        Prelude.Nothing,+      evaluationLimitExceeded = Prelude.Nothing,+      violatorCount = Prelude.Nothing+    }++-- | Describes an Amazon Web Services account\'s compliance with the Firewall+-- Manager policy.+evaluationResult_complianceStatus :: Lens.Lens' EvaluationResult (Prelude.Maybe PolicyComplianceStatusType)+evaluationResult_complianceStatus = Lens.lens (\EvaluationResult' {complianceStatus} -> complianceStatus) (\s@EvaluationResult' {} a -> s {complianceStatus = a} :: EvaluationResult)++-- | Indicates that over 100 resources are noncompliant with the Firewall+-- Manager policy.+evaluationResult_evaluationLimitExceeded :: Lens.Lens' EvaluationResult (Prelude.Maybe Prelude.Bool)+evaluationResult_evaluationLimitExceeded = Lens.lens (\EvaluationResult' {evaluationLimitExceeded} -> evaluationLimitExceeded) (\s@EvaluationResult' {} a -> s {evaluationLimitExceeded = a} :: EvaluationResult)++-- | The number of resources that are noncompliant with the specified policy.+-- For WAF and Shield Advanced policies, a resource is considered+-- noncompliant if it is not associated with the policy. For security group+-- policies, a resource is considered noncompliant if it doesn\'t comply+-- with the rules of the policy and remediation is disabled or not+-- possible.+evaluationResult_violatorCount :: Lens.Lens' EvaluationResult (Prelude.Maybe Prelude.Natural)+evaluationResult_violatorCount = Lens.lens (\EvaluationResult' {violatorCount} -> violatorCount) (\s@EvaluationResult' {} a -> s {violatorCount = a} :: EvaluationResult)++instance Data.FromJSON EvaluationResult where+  parseJSON =+    Data.withObject+      "EvaluationResult"+      ( \x ->+          EvaluationResult'+            Prelude.<$> (x Data..:? "ComplianceStatus")+            Prelude.<*> (x Data..:? "EvaluationLimitExceeded")+            Prelude.<*> (x Data..:? "ViolatorCount")+      )++instance Prelude.Hashable EvaluationResult where+  hashWithSalt _salt EvaluationResult' {..} =+    _salt+      `Prelude.hashWithSalt` complianceStatus+      `Prelude.hashWithSalt` evaluationLimitExceeded+      `Prelude.hashWithSalt` violatorCount++instance Prelude.NFData EvaluationResult where+  rnf EvaluationResult' {..} =+    Prelude.rnf complianceStatus+      `Prelude.seq` Prelude.rnf evaluationLimitExceeded+      `Prelude.seq` Prelude.rnf violatorCount
+ gen/Amazonka/FMS/Types/ExpectedRoute.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ExpectedRoute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ExpectedRoute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the expected route in the route table.+--+-- /See:/ 'newExpectedRoute' smart constructor.+data ExpectedRoute = ExpectedRoute'+  { -- | Information about the allowed targets.+    allowedTargets :: Prelude.Maybe [Prelude.Text],+    -- | Information about the contributing subnets.+    contributingSubnets :: Prelude.Maybe [Prelude.Text],+    -- | Information about the IPv4 CIDR block.+    ipV4Cidr :: Prelude.Maybe Prelude.Text,+    -- | Information about the IPv6 CIDR block.+    ipV6Cidr :: Prelude.Maybe Prelude.Text,+    -- | Information about the ID of the prefix list for the route.+    prefixListId :: Prelude.Maybe Prelude.Text,+    -- | Information about the route table ID.+    routeTableId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExpectedRoute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedTargets', 'expectedRoute_allowedTargets' - Information about the allowed targets.+--+-- 'contributingSubnets', 'expectedRoute_contributingSubnets' - Information about the contributing subnets.+--+-- 'ipV4Cidr', 'expectedRoute_ipV4Cidr' - Information about the IPv4 CIDR block.+--+-- 'ipV6Cidr', 'expectedRoute_ipV6Cidr' - Information about the IPv6 CIDR block.+--+-- 'prefixListId', 'expectedRoute_prefixListId' - Information about the ID of the prefix list for the route.+--+-- 'routeTableId', 'expectedRoute_routeTableId' - Information about the route table ID.+newExpectedRoute ::+  ExpectedRoute+newExpectedRoute =+  ExpectedRoute'+    { allowedTargets = Prelude.Nothing,+      contributingSubnets = Prelude.Nothing,+      ipV4Cidr = Prelude.Nothing,+      ipV6Cidr = Prelude.Nothing,+      prefixListId = Prelude.Nothing,+      routeTableId = Prelude.Nothing+    }++-- | Information about the allowed targets.+expectedRoute_allowedTargets :: Lens.Lens' ExpectedRoute (Prelude.Maybe [Prelude.Text])+expectedRoute_allowedTargets = Lens.lens (\ExpectedRoute' {allowedTargets} -> allowedTargets) (\s@ExpectedRoute' {} a -> s {allowedTargets = a} :: ExpectedRoute) Prelude.. Lens.mapping Lens.coerced++-- | Information about the contributing subnets.+expectedRoute_contributingSubnets :: Lens.Lens' ExpectedRoute (Prelude.Maybe [Prelude.Text])+expectedRoute_contributingSubnets = Lens.lens (\ExpectedRoute' {contributingSubnets} -> contributingSubnets) (\s@ExpectedRoute' {} a -> s {contributingSubnets = a} :: ExpectedRoute) Prelude.. Lens.mapping Lens.coerced++-- | Information about the IPv4 CIDR block.+expectedRoute_ipV4Cidr :: Lens.Lens' ExpectedRoute (Prelude.Maybe Prelude.Text)+expectedRoute_ipV4Cidr = Lens.lens (\ExpectedRoute' {ipV4Cidr} -> ipV4Cidr) (\s@ExpectedRoute' {} a -> s {ipV4Cidr = a} :: ExpectedRoute)++-- | Information about the IPv6 CIDR block.+expectedRoute_ipV6Cidr :: Lens.Lens' ExpectedRoute (Prelude.Maybe Prelude.Text)+expectedRoute_ipV6Cidr = Lens.lens (\ExpectedRoute' {ipV6Cidr} -> ipV6Cidr) (\s@ExpectedRoute' {} a -> s {ipV6Cidr = a} :: ExpectedRoute)++-- | Information about the ID of the prefix list for the route.+expectedRoute_prefixListId :: Lens.Lens' ExpectedRoute (Prelude.Maybe Prelude.Text)+expectedRoute_prefixListId = Lens.lens (\ExpectedRoute' {prefixListId} -> prefixListId) (\s@ExpectedRoute' {} a -> s {prefixListId = a} :: ExpectedRoute)++-- | Information about the route table ID.+expectedRoute_routeTableId :: Lens.Lens' ExpectedRoute (Prelude.Maybe Prelude.Text)+expectedRoute_routeTableId = Lens.lens (\ExpectedRoute' {routeTableId} -> routeTableId) (\s@ExpectedRoute' {} a -> s {routeTableId = a} :: ExpectedRoute)++instance Data.FromJSON ExpectedRoute where+  parseJSON =+    Data.withObject+      "ExpectedRoute"+      ( \x ->+          ExpectedRoute'+            Prelude.<$> (x Data..:? "AllowedTargets" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "ContributingSubnets"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "IpV4Cidr")+            Prelude.<*> (x Data..:? "IpV6Cidr")+            Prelude.<*> (x Data..:? "PrefixListId")+            Prelude.<*> (x Data..:? "RouteTableId")+      )++instance Prelude.Hashable ExpectedRoute where+  hashWithSalt _salt ExpectedRoute' {..} =+    _salt+      `Prelude.hashWithSalt` allowedTargets+      `Prelude.hashWithSalt` contributingSubnets+      `Prelude.hashWithSalt` ipV4Cidr+      `Prelude.hashWithSalt` ipV6Cidr+      `Prelude.hashWithSalt` prefixListId+      `Prelude.hashWithSalt` routeTableId++instance Prelude.NFData ExpectedRoute where+  rnf ExpectedRoute' {..} =+    Prelude.rnf allowedTargets+      `Prelude.seq` Prelude.rnf contributingSubnets+      `Prelude.seq` Prelude.rnf ipV4Cidr+      `Prelude.seq` Prelude.rnf ipV6Cidr+      `Prelude.seq` Prelude.rnf prefixListId+      `Prelude.seq` Prelude.rnf routeTableId
+ gen/Amazonka/FMS/Types/FMSPolicyUpdateFirewallCreationConfigAction.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the actions that you can take to remediate+-- scope violations caused by your policy\'s @FirewallCreationConfig@.+-- @FirewallCreationConfig@ is an optional configuration that you can use+-- to choose which Availability Zones Firewall Manager creates Network+-- Firewall endpoints in.+--+-- /See:/ 'newFMSPolicyUpdateFirewallCreationConfigAction' smart constructor.+data FMSPolicyUpdateFirewallCreationConfigAction = FMSPolicyUpdateFirewallCreationConfigAction'+  { -- | Describes the remedial action.+    description :: Prelude.Maybe Prelude.Text,+    -- | A @FirewallCreationConfig@ that you can copy into your current policy\'s+    -- <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_SecurityServicePolicyData.html SecurityServiceData>+    -- in order to remedy scope violations.+    firewallCreationConfig :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FMSPolicyUpdateFirewallCreationConfigAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'fMSPolicyUpdateFirewallCreationConfigAction_description' - Describes the remedial action.+--+-- 'firewallCreationConfig', 'fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig' - A @FirewallCreationConfig@ that you can copy into your current policy\'s+-- <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_SecurityServicePolicyData.html SecurityServiceData>+-- in order to remedy scope violations.+newFMSPolicyUpdateFirewallCreationConfigAction ::+  FMSPolicyUpdateFirewallCreationConfigAction+newFMSPolicyUpdateFirewallCreationConfigAction =+  FMSPolicyUpdateFirewallCreationConfigAction'+    { description =+        Prelude.Nothing,+      firewallCreationConfig =+        Prelude.Nothing+    }++-- | Describes the remedial action.+fMSPolicyUpdateFirewallCreationConfigAction_description :: Lens.Lens' FMSPolicyUpdateFirewallCreationConfigAction (Prelude.Maybe Prelude.Text)+fMSPolicyUpdateFirewallCreationConfigAction_description = Lens.lens (\FMSPolicyUpdateFirewallCreationConfigAction' {description} -> description) (\s@FMSPolicyUpdateFirewallCreationConfigAction' {} a -> s {description = a} :: FMSPolicyUpdateFirewallCreationConfigAction)++-- | A @FirewallCreationConfig@ that you can copy into your current policy\'s+-- <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_SecurityServicePolicyData.html SecurityServiceData>+-- in order to remedy scope violations.+fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig :: Lens.Lens' FMSPolicyUpdateFirewallCreationConfigAction (Prelude.Maybe Prelude.Text)+fMSPolicyUpdateFirewallCreationConfigAction_firewallCreationConfig = Lens.lens (\FMSPolicyUpdateFirewallCreationConfigAction' {firewallCreationConfig} -> firewallCreationConfig) (\s@FMSPolicyUpdateFirewallCreationConfigAction' {} a -> s {firewallCreationConfig = a} :: FMSPolicyUpdateFirewallCreationConfigAction)++instance+  Data.FromJSON+    FMSPolicyUpdateFirewallCreationConfigAction+  where+  parseJSON =+    Data.withObject+      "FMSPolicyUpdateFirewallCreationConfigAction"+      ( \x ->+          FMSPolicyUpdateFirewallCreationConfigAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "FirewallCreationConfig")+      )++instance+  Prelude.Hashable+    FMSPolicyUpdateFirewallCreationConfigAction+  where+  hashWithSalt+    _salt+    FMSPolicyUpdateFirewallCreationConfigAction' {..} =+      _salt+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` firewallCreationConfig++instance+  Prelude.NFData+    FMSPolicyUpdateFirewallCreationConfigAction+  where+  rnf FMSPolicyUpdateFirewallCreationConfigAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf firewallCreationConfig
+ gen/Amazonka/FMS/Types/FailedItem.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.FailedItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.FailedItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.FailedItemReason+import qualified Amazonka.Prelude as Prelude++-- | Details of a resource that failed when trying to update it\'s+-- association to a resource set.+--+-- /See:/ 'newFailedItem' smart constructor.+data FailedItem = FailedItem'+  { -- | The reason the resource\'s association could not be updated.+    reason :: Prelude.Maybe FailedItemReason,+    -- | The univeral resource indicator (URI) of the resource that failed.+    uri :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailedItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reason', 'failedItem_reason' - The reason the resource\'s association could not be updated.+--+-- 'uri', 'failedItem_uri' - The univeral resource indicator (URI) of the resource that failed.+newFailedItem ::+  FailedItem+newFailedItem =+  FailedItem'+    { reason = Prelude.Nothing,+      uri = Prelude.Nothing+    }++-- | The reason the resource\'s association could not be updated.+failedItem_reason :: Lens.Lens' FailedItem (Prelude.Maybe FailedItemReason)+failedItem_reason = Lens.lens (\FailedItem' {reason} -> reason) (\s@FailedItem' {} a -> s {reason = a} :: FailedItem)++-- | The univeral resource indicator (URI) of the resource that failed.+failedItem_uri :: Lens.Lens' FailedItem (Prelude.Maybe Prelude.Text)+failedItem_uri = Lens.lens (\FailedItem' {uri} -> uri) (\s@FailedItem' {} a -> s {uri = a} :: FailedItem)++instance Data.FromJSON FailedItem where+  parseJSON =+    Data.withObject+      "FailedItem"+      ( \x ->+          FailedItem'+            Prelude.<$> (x Data..:? "Reason")+            Prelude.<*> (x Data..:? "URI")+      )++instance Prelude.Hashable FailedItem where+  hashWithSalt _salt FailedItem' {..} =+    _salt+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` uri++instance Prelude.NFData FailedItem where+  rnf FailedItem' {..} =+    Prelude.rnf reason `Prelude.seq` Prelude.rnf uri
+ gen/Amazonka/FMS/Types/FailedItemReason.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.FailedItemReason+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.FailedItemReason+  ( FailedItemReason+      ( ..,+        FailedItemReason_NOT_VALID_ACCOUNT_ID,+        FailedItemReason_NOT_VALID_ARN,+        FailedItemReason_NOT_VALID_PARTITION,+        FailedItemReason_NOT_VALID_REGION,+        FailedItemReason_NOT_VALID_RESOURCE_TYPE,+        FailedItemReason_NOT_VALID_SERVICE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FailedItemReason = FailedItemReason'+  { fromFailedItemReason ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FailedItemReason_NOT_VALID_ACCOUNT_ID :: FailedItemReason+pattern FailedItemReason_NOT_VALID_ACCOUNT_ID = FailedItemReason' "NOT_VALID_ACCOUNT_ID"++pattern FailedItemReason_NOT_VALID_ARN :: FailedItemReason+pattern FailedItemReason_NOT_VALID_ARN = FailedItemReason' "NOT_VALID_ARN"++pattern FailedItemReason_NOT_VALID_PARTITION :: FailedItemReason+pattern FailedItemReason_NOT_VALID_PARTITION = FailedItemReason' "NOT_VALID_PARTITION"++pattern FailedItemReason_NOT_VALID_REGION :: FailedItemReason+pattern FailedItemReason_NOT_VALID_REGION = FailedItemReason' "NOT_VALID_REGION"++pattern FailedItemReason_NOT_VALID_RESOURCE_TYPE :: FailedItemReason+pattern FailedItemReason_NOT_VALID_RESOURCE_TYPE = FailedItemReason' "NOT_VALID_RESOURCE_TYPE"++pattern FailedItemReason_NOT_VALID_SERVICE :: FailedItemReason+pattern FailedItemReason_NOT_VALID_SERVICE = FailedItemReason' "NOT_VALID_SERVICE"++{-# COMPLETE+  FailedItemReason_NOT_VALID_ACCOUNT_ID,+  FailedItemReason_NOT_VALID_ARN,+  FailedItemReason_NOT_VALID_PARTITION,+  FailedItemReason_NOT_VALID_REGION,+  FailedItemReason_NOT_VALID_RESOURCE_TYPE,+  FailedItemReason_NOT_VALID_SERVICE,+  FailedItemReason'+  #-}
+ gen/Amazonka/FMS/Types/FirewallDeploymentModel.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.FirewallDeploymentModel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.FirewallDeploymentModel+  ( FirewallDeploymentModel+      ( ..,+        FirewallDeploymentModel_CENTRALIZED,+        FirewallDeploymentModel_DISTRIBUTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FirewallDeploymentModel = FirewallDeploymentModel'+  { fromFirewallDeploymentModel ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FirewallDeploymentModel_CENTRALIZED :: FirewallDeploymentModel+pattern FirewallDeploymentModel_CENTRALIZED = FirewallDeploymentModel' "CENTRALIZED"++pattern FirewallDeploymentModel_DISTRIBUTED :: FirewallDeploymentModel+pattern FirewallDeploymentModel_DISTRIBUTED = FirewallDeploymentModel' "DISTRIBUTED"++{-# COMPLETE+  FirewallDeploymentModel_CENTRALIZED,+  FirewallDeploymentModel_DISTRIBUTED,+  FirewallDeploymentModel'+  #-}
+ gen/Amazonka/FMS/Types/FirewallSubnetIsOutOfScopeViolation.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains details about the firewall subnet that violates the policy+-- scope.+--+-- /See:/ 'newFirewallSubnetIsOutOfScopeViolation' smart constructor.+data FirewallSubnetIsOutOfScopeViolation = FirewallSubnetIsOutOfScopeViolation'+  { -- | The ID of the firewall subnet that violates the policy scope.+    firewallSubnetId :: Prelude.Maybe Prelude.Text,+    -- | The Availability Zone of the firewall subnet that violates the policy+    -- scope.+    subnetAvailabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The Availability Zone ID of the firewall subnet that violates the policy+    -- scope.+    subnetAvailabilityZoneId :: Prelude.Maybe Prelude.Text,+    -- | The VPC endpoint ID of the firewall subnet that violates the policy+    -- scope.+    vpcEndpointId :: Prelude.Maybe Prelude.Text,+    -- | The VPC ID of the firewall subnet that violates the policy scope.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallSubnetIsOutOfScopeViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallSubnetId', 'firewallSubnetIsOutOfScopeViolation_firewallSubnetId' - The ID of the firewall subnet that violates the policy scope.+--+-- 'subnetAvailabilityZone', 'firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone' - The Availability Zone of the firewall subnet that violates the policy+-- scope.+--+-- 'subnetAvailabilityZoneId', 'firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId' - The Availability Zone ID of the firewall subnet that violates the policy+-- scope.+--+-- 'vpcEndpointId', 'firewallSubnetIsOutOfScopeViolation_vpcEndpointId' - The VPC endpoint ID of the firewall subnet that violates the policy+-- scope.+--+-- 'vpcId', 'firewallSubnetIsOutOfScopeViolation_vpcId' - The VPC ID of the firewall subnet that violates the policy scope.+newFirewallSubnetIsOutOfScopeViolation ::+  FirewallSubnetIsOutOfScopeViolation+newFirewallSubnetIsOutOfScopeViolation =+  FirewallSubnetIsOutOfScopeViolation'+    { firewallSubnetId =+        Prelude.Nothing,+      subnetAvailabilityZone =+        Prelude.Nothing,+      subnetAvailabilityZoneId =+        Prelude.Nothing,+      vpcEndpointId = Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The ID of the firewall subnet that violates the policy scope.+firewallSubnetIsOutOfScopeViolation_firewallSubnetId :: Lens.Lens' FirewallSubnetIsOutOfScopeViolation (Prelude.Maybe Prelude.Text)+firewallSubnetIsOutOfScopeViolation_firewallSubnetId = Lens.lens (\FirewallSubnetIsOutOfScopeViolation' {firewallSubnetId} -> firewallSubnetId) (\s@FirewallSubnetIsOutOfScopeViolation' {} a -> s {firewallSubnetId = a} :: FirewallSubnetIsOutOfScopeViolation)++-- | The Availability Zone of the firewall subnet that violates the policy+-- scope.+firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone :: Lens.Lens' FirewallSubnetIsOutOfScopeViolation (Prelude.Maybe Prelude.Text)+firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZone = Lens.lens (\FirewallSubnetIsOutOfScopeViolation' {subnetAvailabilityZone} -> subnetAvailabilityZone) (\s@FirewallSubnetIsOutOfScopeViolation' {} a -> s {subnetAvailabilityZone = a} :: FirewallSubnetIsOutOfScopeViolation)++-- | The Availability Zone ID of the firewall subnet that violates the policy+-- scope.+firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId :: Lens.Lens' FirewallSubnetIsOutOfScopeViolation (Prelude.Maybe Prelude.Text)+firewallSubnetIsOutOfScopeViolation_subnetAvailabilityZoneId = Lens.lens (\FirewallSubnetIsOutOfScopeViolation' {subnetAvailabilityZoneId} -> subnetAvailabilityZoneId) (\s@FirewallSubnetIsOutOfScopeViolation' {} a -> s {subnetAvailabilityZoneId = a} :: FirewallSubnetIsOutOfScopeViolation)++-- | The VPC endpoint ID of the firewall subnet that violates the policy+-- scope.+firewallSubnetIsOutOfScopeViolation_vpcEndpointId :: Lens.Lens' FirewallSubnetIsOutOfScopeViolation (Prelude.Maybe Prelude.Text)+firewallSubnetIsOutOfScopeViolation_vpcEndpointId = Lens.lens (\FirewallSubnetIsOutOfScopeViolation' {vpcEndpointId} -> vpcEndpointId) (\s@FirewallSubnetIsOutOfScopeViolation' {} a -> s {vpcEndpointId = a} :: FirewallSubnetIsOutOfScopeViolation)++-- | The VPC ID of the firewall subnet that violates the policy scope.+firewallSubnetIsOutOfScopeViolation_vpcId :: Lens.Lens' FirewallSubnetIsOutOfScopeViolation (Prelude.Maybe Prelude.Text)+firewallSubnetIsOutOfScopeViolation_vpcId = Lens.lens (\FirewallSubnetIsOutOfScopeViolation' {vpcId} -> vpcId) (\s@FirewallSubnetIsOutOfScopeViolation' {} a -> s {vpcId = a} :: FirewallSubnetIsOutOfScopeViolation)++instance+  Data.FromJSON+    FirewallSubnetIsOutOfScopeViolation+  where+  parseJSON =+    Data.withObject+      "FirewallSubnetIsOutOfScopeViolation"+      ( \x ->+          FirewallSubnetIsOutOfScopeViolation'+            Prelude.<$> (x Data..:? "FirewallSubnetId")+            Prelude.<*> (x Data..:? "SubnetAvailabilityZone")+            Prelude.<*> (x Data..:? "SubnetAvailabilityZoneId")+            Prelude.<*> (x Data..:? "VpcEndpointId")+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    FirewallSubnetIsOutOfScopeViolation+  where+  hashWithSalt+    _salt+    FirewallSubnetIsOutOfScopeViolation' {..} =+      _salt+        `Prelude.hashWithSalt` firewallSubnetId+        `Prelude.hashWithSalt` subnetAvailabilityZone+        `Prelude.hashWithSalt` subnetAvailabilityZoneId+        `Prelude.hashWithSalt` vpcEndpointId+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    FirewallSubnetIsOutOfScopeViolation+  where+  rnf FirewallSubnetIsOutOfScopeViolation' {..} =+    Prelude.rnf firewallSubnetId+      `Prelude.seq` Prelude.rnf subnetAvailabilityZone+      `Prelude.seq` Prelude.rnf subnetAvailabilityZoneId+      `Prelude.seq` Prelude.rnf vpcEndpointId+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/FirewallSubnetMissingVPCEndpointViolation.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The violation details for a firewall subnet\'s VPC endpoint that\'s+-- deleted or missing.+--+-- /See:/ 'newFirewallSubnetMissingVPCEndpointViolation' smart constructor.+data FirewallSubnetMissingVPCEndpointViolation = FirewallSubnetMissingVPCEndpointViolation'+  { -- | The ID of the firewall that this VPC endpoint is associated with.+    firewallSubnetId :: Prelude.Maybe Prelude.Text,+    -- | The name of the Availability Zone of the deleted VPC subnet.+    subnetAvailabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Availability Zone of the deleted VPC subnet.+    subnetAvailabilityZoneId :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the VPC associated with the deleted VPC subnet.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallSubnetMissingVPCEndpointViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallSubnetId', 'firewallSubnetMissingVPCEndpointViolation_firewallSubnetId' - The ID of the firewall that this VPC endpoint is associated with.+--+-- 'subnetAvailabilityZone', 'firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone' - The name of the Availability Zone of the deleted VPC subnet.+--+-- 'subnetAvailabilityZoneId', 'firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId' - The ID of the Availability Zone of the deleted VPC subnet.+--+-- 'vpcId', 'firewallSubnetMissingVPCEndpointViolation_vpcId' - The resource ID of the VPC associated with the deleted VPC subnet.+newFirewallSubnetMissingVPCEndpointViolation ::+  FirewallSubnetMissingVPCEndpointViolation+newFirewallSubnetMissingVPCEndpointViolation =+  FirewallSubnetMissingVPCEndpointViolation'+    { firewallSubnetId =+        Prelude.Nothing,+      subnetAvailabilityZone =+        Prelude.Nothing,+      subnetAvailabilityZoneId =+        Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The ID of the firewall that this VPC endpoint is associated with.+firewallSubnetMissingVPCEndpointViolation_firewallSubnetId :: Lens.Lens' FirewallSubnetMissingVPCEndpointViolation (Prelude.Maybe Prelude.Text)+firewallSubnetMissingVPCEndpointViolation_firewallSubnetId = Lens.lens (\FirewallSubnetMissingVPCEndpointViolation' {firewallSubnetId} -> firewallSubnetId) (\s@FirewallSubnetMissingVPCEndpointViolation' {} a -> s {firewallSubnetId = a} :: FirewallSubnetMissingVPCEndpointViolation)++-- | The name of the Availability Zone of the deleted VPC subnet.+firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone :: Lens.Lens' FirewallSubnetMissingVPCEndpointViolation (Prelude.Maybe Prelude.Text)+firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZone = Lens.lens (\FirewallSubnetMissingVPCEndpointViolation' {subnetAvailabilityZone} -> subnetAvailabilityZone) (\s@FirewallSubnetMissingVPCEndpointViolation' {} a -> s {subnetAvailabilityZone = a} :: FirewallSubnetMissingVPCEndpointViolation)++-- | The ID of the Availability Zone of the deleted VPC subnet.+firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId :: Lens.Lens' FirewallSubnetMissingVPCEndpointViolation (Prelude.Maybe Prelude.Text)+firewallSubnetMissingVPCEndpointViolation_subnetAvailabilityZoneId = Lens.lens (\FirewallSubnetMissingVPCEndpointViolation' {subnetAvailabilityZoneId} -> subnetAvailabilityZoneId) (\s@FirewallSubnetMissingVPCEndpointViolation' {} a -> s {subnetAvailabilityZoneId = a} :: FirewallSubnetMissingVPCEndpointViolation)++-- | The resource ID of the VPC associated with the deleted VPC subnet.+firewallSubnetMissingVPCEndpointViolation_vpcId :: Lens.Lens' FirewallSubnetMissingVPCEndpointViolation (Prelude.Maybe Prelude.Text)+firewallSubnetMissingVPCEndpointViolation_vpcId = Lens.lens (\FirewallSubnetMissingVPCEndpointViolation' {vpcId} -> vpcId) (\s@FirewallSubnetMissingVPCEndpointViolation' {} a -> s {vpcId = a} :: FirewallSubnetMissingVPCEndpointViolation)++instance+  Data.FromJSON+    FirewallSubnetMissingVPCEndpointViolation+  where+  parseJSON =+    Data.withObject+      "FirewallSubnetMissingVPCEndpointViolation"+      ( \x ->+          FirewallSubnetMissingVPCEndpointViolation'+            Prelude.<$> (x Data..:? "FirewallSubnetId")+            Prelude.<*> (x Data..:? "SubnetAvailabilityZone")+            Prelude.<*> (x Data..:? "SubnetAvailabilityZoneId")+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    FirewallSubnetMissingVPCEndpointViolation+  where+  hashWithSalt+    _salt+    FirewallSubnetMissingVPCEndpointViolation' {..} =+      _salt+        `Prelude.hashWithSalt` firewallSubnetId+        `Prelude.hashWithSalt` subnetAvailabilityZone+        `Prelude.hashWithSalt` subnetAvailabilityZoneId+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    FirewallSubnetMissingVPCEndpointViolation+  where+  rnf FirewallSubnetMissingVPCEndpointViolation' {..} =+    Prelude.rnf firewallSubnetId+      `Prelude.seq` Prelude.rnf subnetAvailabilityZone+      `Prelude.seq` Prelude.rnf subnetAvailabilityZoneId+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/MarketplaceSubscriptionOnboardingStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus+  ( MarketplaceSubscriptionOnboardingStatus+      ( ..,+        MarketplaceSubscriptionOnboardingStatus_COMPLETE,+        MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE,+        MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MarketplaceSubscriptionOnboardingStatus = MarketplaceSubscriptionOnboardingStatus'+  { fromMarketplaceSubscriptionOnboardingStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern MarketplaceSubscriptionOnboardingStatus_COMPLETE :: MarketplaceSubscriptionOnboardingStatus+pattern MarketplaceSubscriptionOnboardingStatus_COMPLETE = MarketplaceSubscriptionOnboardingStatus' "COMPLETE"++pattern MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE :: MarketplaceSubscriptionOnboardingStatus+pattern MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE = MarketplaceSubscriptionOnboardingStatus' "NOT_COMPLETE"++pattern MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION :: MarketplaceSubscriptionOnboardingStatus+pattern MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION = MarketplaceSubscriptionOnboardingStatus' "NO_SUBSCRIPTION"++{-# COMPLETE+  MarketplaceSubscriptionOnboardingStatus_COMPLETE,+  MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE,+  MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION,+  MarketplaceSubscriptionOnboardingStatus'+  #-}
+ gen/Amazonka/FMS/Types/NetworkFirewallBlackHoleRouteDetectedViolation.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.Route+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for an internet gateway route with an inactive state in+-- the customer subnet route table or Network Firewall subnet route table.+--+-- /See:/ 'newNetworkFirewallBlackHoleRouteDetectedViolation' smart constructor.+data NetworkFirewallBlackHoleRouteDetectedViolation = NetworkFirewallBlackHoleRouteDetectedViolation'+  { -- | Information about the route table ID.+    routeTableId :: Prelude.Maybe Prelude.Text,+    -- | Information about the route or routes that are in violation.+    violatingRoutes :: Prelude.Maybe [Route],+    -- | The subnet that has an inactive state.+    violationTarget :: Prelude.Maybe Prelude.Text,+    -- | Information about the VPC ID.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallBlackHoleRouteDetectedViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'routeTableId', 'networkFirewallBlackHoleRouteDetectedViolation_routeTableId' - Information about the route table ID.+--+-- 'violatingRoutes', 'networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes' - Information about the route or routes that are in violation.+--+-- 'violationTarget', 'networkFirewallBlackHoleRouteDetectedViolation_violationTarget' - The subnet that has an inactive state.+--+-- 'vpcId', 'networkFirewallBlackHoleRouteDetectedViolation_vpcId' - Information about the VPC ID.+newNetworkFirewallBlackHoleRouteDetectedViolation ::+  NetworkFirewallBlackHoleRouteDetectedViolation+newNetworkFirewallBlackHoleRouteDetectedViolation =+  NetworkFirewallBlackHoleRouteDetectedViolation'+    { routeTableId =+        Prelude.Nothing,+      violatingRoutes =+        Prelude.Nothing,+      violationTarget =+        Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | Information about the route table ID.+networkFirewallBlackHoleRouteDetectedViolation_routeTableId :: Lens.Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallBlackHoleRouteDetectedViolation_routeTableId = Lens.lens (\NetworkFirewallBlackHoleRouteDetectedViolation' {routeTableId} -> routeTableId) (\s@NetworkFirewallBlackHoleRouteDetectedViolation' {} a -> s {routeTableId = a} :: NetworkFirewallBlackHoleRouteDetectedViolation)++-- | Information about the route or routes that are in violation.+networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes :: Lens.Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Prelude.Maybe [Route])+networkFirewallBlackHoleRouteDetectedViolation_violatingRoutes = Lens.lens (\NetworkFirewallBlackHoleRouteDetectedViolation' {violatingRoutes} -> violatingRoutes) (\s@NetworkFirewallBlackHoleRouteDetectedViolation' {} a -> s {violatingRoutes = a} :: NetworkFirewallBlackHoleRouteDetectedViolation) Prelude.. Lens.mapping Lens.coerced++-- | The subnet that has an inactive state.+networkFirewallBlackHoleRouteDetectedViolation_violationTarget :: Lens.Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallBlackHoleRouteDetectedViolation_violationTarget = Lens.lens (\NetworkFirewallBlackHoleRouteDetectedViolation' {violationTarget} -> violationTarget) (\s@NetworkFirewallBlackHoleRouteDetectedViolation' {} a -> s {violationTarget = a} :: NetworkFirewallBlackHoleRouteDetectedViolation)++-- | Information about the VPC ID.+networkFirewallBlackHoleRouteDetectedViolation_vpcId :: Lens.Lens' NetworkFirewallBlackHoleRouteDetectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallBlackHoleRouteDetectedViolation_vpcId = Lens.lens (\NetworkFirewallBlackHoleRouteDetectedViolation' {vpcId} -> vpcId) (\s@NetworkFirewallBlackHoleRouteDetectedViolation' {} a -> s {vpcId = a} :: NetworkFirewallBlackHoleRouteDetectedViolation)++instance+  Data.FromJSON+    NetworkFirewallBlackHoleRouteDetectedViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallBlackHoleRouteDetectedViolation"+      ( \x ->+          NetworkFirewallBlackHoleRouteDetectedViolation'+            Prelude.<$> (x Data..:? "RouteTableId")+            Prelude.<*> ( x+                            Data..:? "ViolatingRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ViolationTarget")+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    NetworkFirewallBlackHoleRouteDetectedViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallBlackHoleRouteDetectedViolation' {..} =+      _salt+        `Prelude.hashWithSalt` routeTableId+        `Prelude.hashWithSalt` violatingRoutes+        `Prelude.hashWithSalt` violationTarget+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    NetworkFirewallBlackHoleRouteDetectedViolation+  where+  rnf+    NetworkFirewallBlackHoleRouteDetectedViolation' {..} =+      Prelude.rnf routeTableId+        `Prelude.seq` Prelude.rnf violatingRoutes+        `Prelude.seq` Prelude.rnf violationTarget+        `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/NetworkFirewallInternetTrafficNotInspectedViolation.hs view
@@ -0,0 +1,288 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ExpectedRoute+import Amazonka.FMS.Types.Route+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for the subnet for which internet traffic that hasn\'t+-- been inspected.+--+-- /See:/ 'newNetworkFirewallInternetTrafficNotInspectedViolation' smart constructor.+data NetworkFirewallInternetTrafficNotInspectedViolation = NetworkFirewallInternetTrafficNotInspectedViolation'+  { -- | The actual firewall subnet routes.+    actualFirewallSubnetRoutes :: Prelude.Maybe [Route],+    -- | The actual internet gateway routes.+    actualInternetGatewayRoutes :: Prelude.Maybe [Route],+    -- | Information about the subnet route table for the current firewall.+    currentFirewallSubnetRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The current route table for the internet gateway.+    currentInternetGatewayRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The expected endpoint for the current firewall.+    expectedFirewallEndpoint :: Prelude.Maybe Prelude.Text,+    -- | The firewall subnet routes that are expected.+    expectedFirewallSubnetRoutes :: Prelude.Maybe [ExpectedRoute],+    -- | The internet gateway routes that are expected.+    expectedInternetGatewayRoutes :: Prelude.Maybe [ExpectedRoute],+    -- | The firewall subnet ID.+    firewallSubnetId :: Prelude.Maybe Prelude.Text,+    -- | The internet gateway ID.+    internetGatewayId :: Prelude.Maybe Prelude.Text,+    -- | Information about whether the route table is used in another+    -- Availability Zone.+    isRouteTableUsedInDifferentAZ :: Prelude.Maybe Prelude.Bool,+    -- | Information about the route table ID.+    routeTableId :: Prelude.Maybe Prelude.Text,+    -- | The subnet Availability Zone.+    subnetAvailabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The subnet ID.+    subnetId :: Prelude.Maybe Prelude.Text,+    -- | The route or routes that are in violation.+    violatingRoutes :: Prelude.Maybe [Route],+    -- | Information about the VPC ID.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallInternetTrafficNotInspectedViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actualFirewallSubnetRoutes', 'networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes' - The actual firewall subnet routes.+--+-- 'actualInternetGatewayRoutes', 'networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes' - The actual internet gateway routes.+--+-- 'currentFirewallSubnetRouteTable', 'networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable' - Information about the subnet route table for the current firewall.+--+-- 'currentInternetGatewayRouteTable', 'networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable' - The current route table for the internet gateway.+--+-- 'expectedFirewallEndpoint', 'networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint' - The expected endpoint for the current firewall.+--+-- 'expectedFirewallSubnetRoutes', 'networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes' - The firewall subnet routes that are expected.+--+-- 'expectedInternetGatewayRoutes', 'networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes' - The internet gateway routes that are expected.+--+-- 'firewallSubnetId', 'networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId' - The firewall subnet ID.+--+-- 'internetGatewayId', 'networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId' - The internet gateway ID.+--+-- 'isRouteTableUsedInDifferentAZ', 'networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ' - Information about whether the route table is used in another+-- Availability Zone.+--+-- 'routeTableId', 'networkFirewallInternetTrafficNotInspectedViolation_routeTableId' - Information about the route table ID.+--+-- 'subnetAvailabilityZone', 'networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone' - The subnet Availability Zone.+--+-- 'subnetId', 'networkFirewallInternetTrafficNotInspectedViolation_subnetId' - The subnet ID.+--+-- 'violatingRoutes', 'networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes' - The route or routes that are in violation.+--+-- 'vpcId', 'networkFirewallInternetTrafficNotInspectedViolation_vpcId' - Information about the VPC ID.+newNetworkFirewallInternetTrafficNotInspectedViolation ::+  NetworkFirewallInternetTrafficNotInspectedViolation+newNetworkFirewallInternetTrafficNotInspectedViolation =+  NetworkFirewallInternetTrafficNotInspectedViolation'+    { actualFirewallSubnetRoutes =+        Prelude.Nothing,+      actualInternetGatewayRoutes =+        Prelude.Nothing,+      currentFirewallSubnetRouteTable =+        Prelude.Nothing,+      currentInternetGatewayRouteTable =+        Prelude.Nothing,+      expectedFirewallEndpoint =+        Prelude.Nothing,+      expectedFirewallSubnetRoutes =+        Prelude.Nothing,+      expectedInternetGatewayRoutes =+        Prelude.Nothing,+      firewallSubnetId =+        Prelude.Nothing,+      internetGatewayId =+        Prelude.Nothing,+      isRouteTableUsedInDifferentAZ =+        Prelude.Nothing,+      routeTableId =+        Prelude.Nothing,+      subnetAvailabilityZone =+        Prelude.Nothing,+      subnetId =+        Prelude.Nothing,+      violatingRoutes =+        Prelude.Nothing,+      vpcId =+        Prelude.Nothing+    }++-- | The actual firewall subnet routes.+networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe [Route])+networkFirewallInternetTrafficNotInspectedViolation_actualFirewallSubnetRoutes = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {actualFirewallSubnetRoutes} -> actualFirewallSubnetRoutes) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {actualFirewallSubnetRoutes = a} :: NetworkFirewallInternetTrafficNotInspectedViolation) Prelude.. Lens.mapping Lens.coerced++-- | The actual internet gateway routes.+networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe [Route])+networkFirewallInternetTrafficNotInspectedViolation_actualInternetGatewayRoutes = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {actualInternetGatewayRoutes} -> actualInternetGatewayRoutes) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {actualInternetGatewayRoutes = a} :: NetworkFirewallInternetTrafficNotInspectedViolation) Prelude.. Lens.mapping Lens.coerced++-- | Information about the subnet route table for the current firewall.+networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_currentFirewallSubnetRouteTable = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {currentFirewallSubnetRouteTable} -> currentFirewallSubnetRouteTable) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {currentFirewallSubnetRouteTable = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | The current route table for the internet gateway.+networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_currentInternetGatewayRouteTable = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {currentInternetGatewayRouteTable} -> currentInternetGatewayRouteTable) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {currentInternetGatewayRouteTable = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | The expected endpoint for the current firewall.+networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallEndpoint = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {expectedFirewallEndpoint} -> expectedFirewallEndpoint) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {expectedFirewallEndpoint = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | The firewall subnet routes that are expected.+networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe [ExpectedRoute])+networkFirewallInternetTrafficNotInspectedViolation_expectedFirewallSubnetRoutes = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {expectedFirewallSubnetRoutes} -> expectedFirewallSubnetRoutes) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {expectedFirewallSubnetRoutes = a} :: NetworkFirewallInternetTrafficNotInspectedViolation) Prelude.. Lens.mapping Lens.coerced++-- | The internet gateway routes that are expected.+networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe [ExpectedRoute])+networkFirewallInternetTrafficNotInspectedViolation_expectedInternetGatewayRoutes = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {expectedInternetGatewayRoutes} -> expectedInternetGatewayRoutes) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {expectedInternetGatewayRoutes = a} :: NetworkFirewallInternetTrafficNotInspectedViolation) Prelude.. Lens.mapping Lens.coerced++-- | The firewall subnet ID.+networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_firewallSubnetId = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {firewallSubnetId} -> firewallSubnetId) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {firewallSubnetId = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | The internet gateway ID.+networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_internetGatewayId = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {internetGatewayId} -> internetGatewayId) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {internetGatewayId = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | Information about whether the route table is used in another+-- Availability Zone.+networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Bool)+networkFirewallInternetTrafficNotInspectedViolation_isRouteTableUsedInDifferentAZ = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {isRouteTableUsedInDifferentAZ} -> isRouteTableUsedInDifferentAZ) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {isRouteTableUsedInDifferentAZ = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | Information about the route table ID.+networkFirewallInternetTrafficNotInspectedViolation_routeTableId :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_routeTableId = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {routeTableId} -> routeTableId) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {routeTableId = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | The subnet Availability Zone.+networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_subnetAvailabilityZone = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {subnetAvailabilityZone} -> subnetAvailabilityZone) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {subnetAvailabilityZone = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | The subnet ID.+networkFirewallInternetTrafficNotInspectedViolation_subnetId :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_subnetId = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {subnetId} -> subnetId) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {subnetId = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++-- | The route or routes that are in violation.+networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe [Route])+networkFirewallInternetTrafficNotInspectedViolation_violatingRoutes = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {violatingRoutes} -> violatingRoutes) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {violatingRoutes = a} :: NetworkFirewallInternetTrafficNotInspectedViolation) Prelude.. Lens.mapping Lens.coerced++-- | Information about the VPC ID.+networkFirewallInternetTrafficNotInspectedViolation_vpcId :: Lens.Lens' NetworkFirewallInternetTrafficNotInspectedViolation (Prelude.Maybe Prelude.Text)+networkFirewallInternetTrafficNotInspectedViolation_vpcId = Lens.lens (\NetworkFirewallInternetTrafficNotInspectedViolation' {vpcId} -> vpcId) (\s@NetworkFirewallInternetTrafficNotInspectedViolation' {} a -> s {vpcId = a} :: NetworkFirewallInternetTrafficNotInspectedViolation)++instance+  Data.FromJSON+    NetworkFirewallInternetTrafficNotInspectedViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallInternetTrafficNotInspectedViolation"+      ( \x ->+          NetworkFirewallInternetTrafficNotInspectedViolation'+            Prelude.<$> ( x+                            Data..:? "ActualFirewallSubnetRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "ActualInternetGatewayRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "CurrentFirewallSubnetRouteTable")+            Prelude.<*> (x Data..:? "CurrentInternetGatewayRouteTable")+            Prelude.<*> (x Data..:? "ExpectedFirewallEndpoint")+            Prelude.<*> ( x+                            Data..:? "ExpectedFirewallSubnetRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "ExpectedInternetGatewayRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "FirewallSubnetId")+            Prelude.<*> (x Data..:? "InternetGatewayId")+            Prelude.<*> (x Data..:? "IsRouteTableUsedInDifferentAZ")+            Prelude.<*> (x Data..:? "RouteTableId")+            Prelude.<*> (x Data..:? "SubnetAvailabilityZone")+            Prelude.<*> (x Data..:? "SubnetId")+            Prelude.<*> ( x+                            Data..:? "ViolatingRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    NetworkFirewallInternetTrafficNotInspectedViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallInternetTrafficNotInspectedViolation' {..} =+      _salt+        `Prelude.hashWithSalt` actualFirewallSubnetRoutes+        `Prelude.hashWithSalt` actualInternetGatewayRoutes+        `Prelude.hashWithSalt` currentFirewallSubnetRouteTable+        `Prelude.hashWithSalt` currentInternetGatewayRouteTable+        `Prelude.hashWithSalt` expectedFirewallEndpoint+        `Prelude.hashWithSalt` expectedFirewallSubnetRoutes+        `Prelude.hashWithSalt` expectedInternetGatewayRoutes+        `Prelude.hashWithSalt` firewallSubnetId+        `Prelude.hashWithSalt` internetGatewayId+        `Prelude.hashWithSalt` isRouteTableUsedInDifferentAZ+        `Prelude.hashWithSalt` routeTableId+        `Prelude.hashWithSalt` subnetAvailabilityZone+        `Prelude.hashWithSalt` subnetId+        `Prelude.hashWithSalt` violatingRoutes+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    NetworkFirewallInternetTrafficNotInspectedViolation+  where+  rnf+    NetworkFirewallInternetTrafficNotInspectedViolation' {..} =+      Prelude.rnf actualFirewallSubnetRoutes+        `Prelude.seq` Prelude.rnf actualInternetGatewayRoutes+        `Prelude.seq` Prelude.rnf currentFirewallSubnetRouteTable+        `Prelude.seq` Prelude.rnf currentInternetGatewayRouteTable+        `Prelude.seq` Prelude.rnf expectedFirewallEndpoint+        `Prelude.seq` Prelude.rnf expectedFirewallSubnetRoutes+        `Prelude.seq` Prelude.rnf expectedInternetGatewayRoutes+        `Prelude.seq` Prelude.rnf firewallSubnetId+        `Prelude.seq` Prelude.rnf internetGatewayId+        `Prelude.seq` Prelude.rnf isRouteTableUsedInDifferentAZ+        `Prelude.seq` Prelude.rnf routeTableId+        `Prelude.seq` Prelude.rnf subnetAvailabilityZone+        `Prelude.seq` Prelude.rnf subnetId+        `Prelude.seq` Prelude.rnf violatingRoutes+        `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/NetworkFirewallInvalidRouteConfigurationViolation.hs view
@@ -0,0 +1,301 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ExpectedRoute+import Amazonka.FMS.Types.Route+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for the improperly configured subnet route. It\'s+-- possible there is a missing route table route, or a configuration that+-- causes traffic to cross an Availability Zone boundary.+--+-- /See:/ 'newNetworkFirewallInvalidRouteConfigurationViolation' smart constructor.+data NetworkFirewallInvalidRouteConfigurationViolation = NetworkFirewallInvalidRouteConfigurationViolation'+  { -- | The actual firewall endpoint.+    actualFirewallEndpoint :: Prelude.Maybe Prelude.Text,+    -- | The actual subnet ID for the firewall.+    actualFirewallSubnetId :: Prelude.Maybe Prelude.Text,+    -- | The actual firewall subnet routes that are expected.+    actualFirewallSubnetRoutes :: Prelude.Maybe [Route],+    -- | The actual internet gateway routes.+    actualInternetGatewayRoutes :: Prelude.Maybe [Route],+    -- | The subnets that are affected.+    affectedSubnets :: Prelude.Maybe [Prelude.Text],+    -- | The subnet route table for the current firewall.+    currentFirewallSubnetRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The route table for the current internet gateway.+    currentInternetGatewayRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The firewall endpoint that\'s expected.+    expectedFirewallEndpoint :: Prelude.Maybe Prelude.Text,+    -- | The expected subnet ID for the firewall.+    expectedFirewallSubnetId :: Prelude.Maybe Prelude.Text,+    -- | The firewall subnet routes that are expected.+    expectedFirewallSubnetRoutes :: Prelude.Maybe [ExpectedRoute],+    -- | The expected routes for the internet gateway.+    expectedInternetGatewayRoutes :: Prelude.Maybe [ExpectedRoute],+    -- | The internet gateway ID.+    internetGatewayId :: Prelude.Maybe Prelude.Text,+    -- | Information about whether the route table is used in another+    -- Availability Zone.+    isRouteTableUsedInDifferentAZ :: Prelude.Maybe Prelude.Bool,+    -- | The route table ID.+    routeTableId :: Prelude.Maybe Prelude.Text,+    -- | The route that\'s in violation.+    violatingRoute :: Prelude.Maybe Route,+    -- | Information about the VPC ID.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallInvalidRouteConfigurationViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actualFirewallEndpoint', 'networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint' - The actual firewall endpoint.+--+-- 'actualFirewallSubnetId', 'networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId' - The actual subnet ID for the firewall.+--+-- 'actualFirewallSubnetRoutes', 'networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes' - The actual firewall subnet routes that are expected.+--+-- 'actualInternetGatewayRoutes', 'networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes' - The actual internet gateway routes.+--+-- 'affectedSubnets', 'networkFirewallInvalidRouteConfigurationViolation_affectedSubnets' - The subnets that are affected.+--+-- 'currentFirewallSubnetRouteTable', 'networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable' - The subnet route table for the current firewall.+--+-- 'currentInternetGatewayRouteTable', 'networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable' - The route table for the current internet gateway.+--+-- 'expectedFirewallEndpoint', 'networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint' - The firewall endpoint that\'s expected.+--+-- 'expectedFirewallSubnetId', 'networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId' - The expected subnet ID for the firewall.+--+-- 'expectedFirewallSubnetRoutes', 'networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes' - The firewall subnet routes that are expected.+--+-- 'expectedInternetGatewayRoutes', 'networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes' - The expected routes for the internet gateway.+--+-- 'internetGatewayId', 'networkFirewallInvalidRouteConfigurationViolation_internetGatewayId' - The internet gateway ID.+--+-- 'isRouteTableUsedInDifferentAZ', 'networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ' - Information about whether the route table is used in another+-- Availability Zone.+--+-- 'routeTableId', 'networkFirewallInvalidRouteConfigurationViolation_routeTableId' - The route table ID.+--+-- 'violatingRoute', 'networkFirewallInvalidRouteConfigurationViolation_violatingRoute' - The route that\'s in violation.+--+-- 'vpcId', 'networkFirewallInvalidRouteConfigurationViolation_vpcId' - Information about the VPC ID.+newNetworkFirewallInvalidRouteConfigurationViolation ::+  NetworkFirewallInvalidRouteConfigurationViolation+newNetworkFirewallInvalidRouteConfigurationViolation =+  NetworkFirewallInvalidRouteConfigurationViolation'+    { actualFirewallEndpoint =+        Prelude.Nothing,+      actualFirewallSubnetId =+        Prelude.Nothing,+      actualFirewallSubnetRoutes =+        Prelude.Nothing,+      actualInternetGatewayRoutes =+        Prelude.Nothing,+      affectedSubnets =+        Prelude.Nothing,+      currentFirewallSubnetRouteTable =+        Prelude.Nothing,+      currentInternetGatewayRouteTable =+        Prelude.Nothing,+      expectedFirewallEndpoint =+        Prelude.Nothing,+      expectedFirewallSubnetId =+        Prelude.Nothing,+      expectedFirewallSubnetRoutes =+        Prelude.Nothing,+      expectedInternetGatewayRoutes =+        Prelude.Nothing,+      internetGatewayId =+        Prelude.Nothing,+      isRouteTableUsedInDifferentAZ =+        Prelude.Nothing,+      routeTableId =+        Prelude.Nothing,+      violatingRoute =+        Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The actual firewall endpoint.+networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_actualFirewallEndpoint = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {actualFirewallEndpoint} -> actualFirewallEndpoint) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {actualFirewallEndpoint = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The actual subnet ID for the firewall.+networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetId = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {actualFirewallSubnetId} -> actualFirewallSubnetId) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {actualFirewallSubnetId = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The actual firewall subnet routes that are expected.+networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe [Route])+networkFirewallInvalidRouteConfigurationViolation_actualFirewallSubnetRoutes = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {actualFirewallSubnetRoutes} -> actualFirewallSubnetRoutes) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {actualFirewallSubnetRoutes = a} :: NetworkFirewallInvalidRouteConfigurationViolation) Prelude.. Lens.mapping Lens.coerced++-- | The actual internet gateway routes.+networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe [Route])+networkFirewallInvalidRouteConfigurationViolation_actualInternetGatewayRoutes = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {actualInternetGatewayRoutes} -> actualInternetGatewayRoutes) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {actualInternetGatewayRoutes = a} :: NetworkFirewallInvalidRouteConfigurationViolation) Prelude.. Lens.mapping Lens.coerced++-- | The subnets that are affected.+networkFirewallInvalidRouteConfigurationViolation_affectedSubnets :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe [Prelude.Text])+networkFirewallInvalidRouteConfigurationViolation_affectedSubnets = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {affectedSubnets} -> affectedSubnets) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {affectedSubnets = a} :: NetworkFirewallInvalidRouteConfigurationViolation) Prelude.. Lens.mapping Lens.coerced++-- | The subnet route table for the current firewall.+networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_currentFirewallSubnetRouteTable = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {currentFirewallSubnetRouteTable} -> currentFirewallSubnetRouteTable) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {currentFirewallSubnetRouteTable = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The route table for the current internet gateway.+networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_currentInternetGatewayRouteTable = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {currentInternetGatewayRouteTable} -> currentInternetGatewayRouteTable) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {currentInternetGatewayRouteTable = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The firewall endpoint that\'s expected.+networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_expectedFirewallEndpoint = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {expectedFirewallEndpoint} -> expectedFirewallEndpoint) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {expectedFirewallEndpoint = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The expected subnet ID for the firewall.+networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetId = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {expectedFirewallSubnetId} -> expectedFirewallSubnetId) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {expectedFirewallSubnetId = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The firewall subnet routes that are expected.+networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe [ExpectedRoute])+networkFirewallInvalidRouteConfigurationViolation_expectedFirewallSubnetRoutes = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {expectedFirewallSubnetRoutes} -> expectedFirewallSubnetRoutes) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {expectedFirewallSubnetRoutes = a} :: NetworkFirewallInvalidRouteConfigurationViolation) Prelude.. Lens.mapping Lens.coerced++-- | The expected routes for the internet gateway.+networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe [ExpectedRoute])+networkFirewallInvalidRouteConfigurationViolation_expectedInternetGatewayRoutes = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {expectedInternetGatewayRoutes} -> expectedInternetGatewayRoutes) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {expectedInternetGatewayRoutes = a} :: NetworkFirewallInvalidRouteConfigurationViolation) Prelude.. Lens.mapping Lens.coerced++-- | The internet gateway ID.+networkFirewallInvalidRouteConfigurationViolation_internetGatewayId :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_internetGatewayId = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {internetGatewayId} -> internetGatewayId) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {internetGatewayId = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | Information about whether the route table is used in another+-- Availability Zone.+networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Bool)+networkFirewallInvalidRouteConfigurationViolation_isRouteTableUsedInDifferentAZ = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {isRouteTableUsedInDifferentAZ} -> isRouteTableUsedInDifferentAZ) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {isRouteTableUsedInDifferentAZ = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The route table ID.+networkFirewallInvalidRouteConfigurationViolation_routeTableId :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_routeTableId = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {routeTableId} -> routeTableId) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {routeTableId = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | The route that\'s in violation.+networkFirewallInvalidRouteConfigurationViolation_violatingRoute :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Route)+networkFirewallInvalidRouteConfigurationViolation_violatingRoute = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {violatingRoute} -> violatingRoute) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {violatingRoute = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++-- | Information about the VPC ID.+networkFirewallInvalidRouteConfigurationViolation_vpcId :: Lens.Lens' NetworkFirewallInvalidRouteConfigurationViolation (Prelude.Maybe Prelude.Text)+networkFirewallInvalidRouteConfigurationViolation_vpcId = Lens.lens (\NetworkFirewallInvalidRouteConfigurationViolation' {vpcId} -> vpcId) (\s@NetworkFirewallInvalidRouteConfigurationViolation' {} a -> s {vpcId = a} :: NetworkFirewallInvalidRouteConfigurationViolation)++instance+  Data.FromJSON+    NetworkFirewallInvalidRouteConfigurationViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallInvalidRouteConfigurationViolation"+      ( \x ->+          NetworkFirewallInvalidRouteConfigurationViolation'+            Prelude.<$> (x Data..:? "ActualFirewallEndpoint")+            Prelude.<*> (x Data..:? "ActualFirewallSubnetId")+            Prelude.<*> ( x+                            Data..:? "ActualFirewallSubnetRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "ActualInternetGatewayRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "AffectedSubnets"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "CurrentFirewallSubnetRouteTable")+            Prelude.<*> (x Data..:? "CurrentInternetGatewayRouteTable")+            Prelude.<*> (x Data..:? "ExpectedFirewallEndpoint")+            Prelude.<*> (x Data..:? "ExpectedFirewallSubnetId")+            Prelude.<*> ( x+                            Data..:? "ExpectedFirewallSubnetRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "ExpectedInternetGatewayRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "InternetGatewayId")+            Prelude.<*> (x Data..:? "IsRouteTableUsedInDifferentAZ")+            Prelude.<*> (x Data..:? "RouteTableId")+            Prelude.<*> (x Data..:? "ViolatingRoute")+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    NetworkFirewallInvalidRouteConfigurationViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallInvalidRouteConfigurationViolation' {..} =+      _salt+        `Prelude.hashWithSalt` actualFirewallEndpoint+        `Prelude.hashWithSalt` actualFirewallSubnetId+        `Prelude.hashWithSalt` actualFirewallSubnetRoutes+        `Prelude.hashWithSalt` actualInternetGatewayRoutes+        `Prelude.hashWithSalt` affectedSubnets+        `Prelude.hashWithSalt` currentFirewallSubnetRouteTable+        `Prelude.hashWithSalt` currentInternetGatewayRouteTable+        `Prelude.hashWithSalt` expectedFirewallEndpoint+        `Prelude.hashWithSalt` expectedFirewallSubnetId+        `Prelude.hashWithSalt` expectedFirewallSubnetRoutes+        `Prelude.hashWithSalt` expectedInternetGatewayRoutes+        `Prelude.hashWithSalt` internetGatewayId+        `Prelude.hashWithSalt` isRouteTableUsedInDifferentAZ+        `Prelude.hashWithSalt` routeTableId+        `Prelude.hashWithSalt` violatingRoute+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    NetworkFirewallInvalidRouteConfigurationViolation+  where+  rnf+    NetworkFirewallInvalidRouteConfigurationViolation' {..} =+      Prelude.rnf actualFirewallEndpoint+        `Prelude.seq` Prelude.rnf actualFirewallSubnetId+        `Prelude.seq` Prelude.rnf actualFirewallSubnetRoutes+        `Prelude.seq` Prelude.rnf actualInternetGatewayRoutes+        `Prelude.seq` Prelude.rnf affectedSubnets+        `Prelude.seq` Prelude.rnf currentFirewallSubnetRouteTable+        `Prelude.seq` Prelude.rnf currentInternetGatewayRouteTable+        `Prelude.seq` Prelude.rnf expectedFirewallEndpoint+        `Prelude.seq` Prelude.rnf expectedFirewallSubnetId+        `Prelude.seq` Prelude.rnf expectedFirewallSubnetRoutes+        `Prelude.seq` Prelude.rnf expectedInternetGatewayRoutes+        `Prelude.seq` Prelude.rnf internetGatewayId+        `Prelude.seq` Prelude.rnf isRouteTableUsedInDifferentAZ+        `Prelude.seq` Prelude.rnf routeTableId+        `Prelude.seq` Prelude.rnf violatingRoute+        `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/NetworkFirewallMissingExpectedRTViolation.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for Network Firewall for a subnet that\'s not+-- associated to the expected Firewall Manager managed route table.+--+-- /See:/ 'newNetworkFirewallMissingExpectedRTViolation' smart constructor.+data NetworkFirewallMissingExpectedRTViolation = NetworkFirewallMissingExpectedRTViolation'+  { -- | The Availability Zone of a violating subnet.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the current route table that\'s associated with the+    -- subnet, if one is available.+    currentRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the route table that should be associated with the+    -- subnet.+    expectedRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the VPC associated with a violating subnet.+    vpc :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Network Firewall or VPC resource that\'s in violation.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallMissingExpectedRTViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'networkFirewallMissingExpectedRTViolation_availabilityZone' - The Availability Zone of a violating subnet.+--+-- 'currentRouteTable', 'networkFirewallMissingExpectedRTViolation_currentRouteTable' - The resource ID of the current route table that\'s associated with the+-- subnet, if one is available.+--+-- 'expectedRouteTable', 'networkFirewallMissingExpectedRTViolation_expectedRouteTable' - The resource ID of the route table that should be associated with the+-- subnet.+--+-- 'vpc', 'networkFirewallMissingExpectedRTViolation_vpc' - The resource ID of the VPC associated with a violating subnet.+--+-- 'violationTarget', 'networkFirewallMissingExpectedRTViolation_violationTarget' - The ID of the Network Firewall or VPC resource that\'s in violation.+newNetworkFirewallMissingExpectedRTViolation ::+  NetworkFirewallMissingExpectedRTViolation+newNetworkFirewallMissingExpectedRTViolation =+  NetworkFirewallMissingExpectedRTViolation'+    { availabilityZone =+        Prelude.Nothing,+      currentRouteTable =+        Prelude.Nothing,+      expectedRouteTable =+        Prelude.Nothing,+      vpc = Prelude.Nothing,+      violationTarget =+        Prelude.Nothing+    }++-- | The Availability Zone of a violating subnet.+networkFirewallMissingExpectedRTViolation_availabilityZone :: Lens.Lens' NetworkFirewallMissingExpectedRTViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingExpectedRTViolation_availabilityZone = Lens.lens (\NetworkFirewallMissingExpectedRTViolation' {availabilityZone} -> availabilityZone) (\s@NetworkFirewallMissingExpectedRTViolation' {} a -> s {availabilityZone = a} :: NetworkFirewallMissingExpectedRTViolation)++-- | The resource ID of the current route table that\'s associated with the+-- subnet, if one is available.+networkFirewallMissingExpectedRTViolation_currentRouteTable :: Lens.Lens' NetworkFirewallMissingExpectedRTViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingExpectedRTViolation_currentRouteTable = Lens.lens (\NetworkFirewallMissingExpectedRTViolation' {currentRouteTable} -> currentRouteTable) (\s@NetworkFirewallMissingExpectedRTViolation' {} a -> s {currentRouteTable = a} :: NetworkFirewallMissingExpectedRTViolation)++-- | The resource ID of the route table that should be associated with the+-- subnet.+networkFirewallMissingExpectedRTViolation_expectedRouteTable :: Lens.Lens' NetworkFirewallMissingExpectedRTViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingExpectedRTViolation_expectedRouteTable = Lens.lens (\NetworkFirewallMissingExpectedRTViolation' {expectedRouteTable} -> expectedRouteTable) (\s@NetworkFirewallMissingExpectedRTViolation' {} a -> s {expectedRouteTable = a} :: NetworkFirewallMissingExpectedRTViolation)++-- | The resource ID of the VPC associated with a violating subnet.+networkFirewallMissingExpectedRTViolation_vpc :: Lens.Lens' NetworkFirewallMissingExpectedRTViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingExpectedRTViolation_vpc = Lens.lens (\NetworkFirewallMissingExpectedRTViolation' {vpc} -> vpc) (\s@NetworkFirewallMissingExpectedRTViolation' {} a -> s {vpc = a} :: NetworkFirewallMissingExpectedRTViolation)++-- | The ID of the Network Firewall or VPC resource that\'s in violation.+networkFirewallMissingExpectedRTViolation_violationTarget :: Lens.Lens' NetworkFirewallMissingExpectedRTViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingExpectedRTViolation_violationTarget = Lens.lens (\NetworkFirewallMissingExpectedRTViolation' {violationTarget} -> violationTarget) (\s@NetworkFirewallMissingExpectedRTViolation' {} a -> s {violationTarget = a} :: NetworkFirewallMissingExpectedRTViolation)++instance+  Data.FromJSON+    NetworkFirewallMissingExpectedRTViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallMissingExpectedRTViolation"+      ( \x ->+          NetworkFirewallMissingExpectedRTViolation'+            Prelude.<$> (x Data..:? "AvailabilityZone")+            Prelude.<*> (x Data..:? "CurrentRouteTable")+            Prelude.<*> (x Data..:? "ExpectedRouteTable")+            Prelude.<*> (x Data..:? "VPC")+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    NetworkFirewallMissingExpectedRTViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallMissingExpectedRTViolation' {..} =+      _salt+        `Prelude.hashWithSalt` availabilityZone+        `Prelude.hashWithSalt` currentRouteTable+        `Prelude.hashWithSalt` expectedRouteTable+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    NetworkFirewallMissingExpectedRTViolation+  where+  rnf NetworkFirewallMissingExpectedRTViolation' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf currentRouteTable+      `Prelude.seq` Prelude.rnf expectedRouteTable+      `Prelude.seq` Prelude.rnf vpc+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/NetworkFirewallMissingExpectedRoutesViolation.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ExpectedRoute+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for an expected route missing in Network Firewall.+--+-- /See:/ 'newNetworkFirewallMissingExpectedRoutesViolation' smart constructor.+data NetworkFirewallMissingExpectedRoutesViolation = NetworkFirewallMissingExpectedRoutesViolation'+  { -- | The expected routes.+    expectedRoutes :: Prelude.Maybe [ExpectedRoute],+    -- | The target of the violation.+    violationTarget :: Prelude.Maybe Prelude.Text,+    -- | Information about the VPC ID.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallMissingExpectedRoutesViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedRoutes', 'networkFirewallMissingExpectedRoutesViolation_expectedRoutes' - The expected routes.+--+-- 'violationTarget', 'networkFirewallMissingExpectedRoutesViolation_violationTarget' - The target of the violation.+--+-- 'vpcId', 'networkFirewallMissingExpectedRoutesViolation_vpcId' - Information about the VPC ID.+newNetworkFirewallMissingExpectedRoutesViolation ::+  NetworkFirewallMissingExpectedRoutesViolation+newNetworkFirewallMissingExpectedRoutesViolation =+  NetworkFirewallMissingExpectedRoutesViolation'+    { expectedRoutes =+        Prelude.Nothing,+      violationTarget =+        Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The expected routes.+networkFirewallMissingExpectedRoutesViolation_expectedRoutes :: Lens.Lens' NetworkFirewallMissingExpectedRoutesViolation (Prelude.Maybe [ExpectedRoute])+networkFirewallMissingExpectedRoutesViolation_expectedRoutes = Lens.lens (\NetworkFirewallMissingExpectedRoutesViolation' {expectedRoutes} -> expectedRoutes) (\s@NetworkFirewallMissingExpectedRoutesViolation' {} a -> s {expectedRoutes = a} :: NetworkFirewallMissingExpectedRoutesViolation) Prelude.. Lens.mapping Lens.coerced++-- | The target of the violation.+networkFirewallMissingExpectedRoutesViolation_violationTarget :: Lens.Lens' NetworkFirewallMissingExpectedRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingExpectedRoutesViolation_violationTarget = Lens.lens (\NetworkFirewallMissingExpectedRoutesViolation' {violationTarget} -> violationTarget) (\s@NetworkFirewallMissingExpectedRoutesViolation' {} a -> s {violationTarget = a} :: NetworkFirewallMissingExpectedRoutesViolation)++-- | Information about the VPC ID.+networkFirewallMissingExpectedRoutesViolation_vpcId :: Lens.Lens' NetworkFirewallMissingExpectedRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingExpectedRoutesViolation_vpcId = Lens.lens (\NetworkFirewallMissingExpectedRoutesViolation' {vpcId} -> vpcId) (\s@NetworkFirewallMissingExpectedRoutesViolation' {} a -> s {vpcId = a} :: NetworkFirewallMissingExpectedRoutesViolation)++instance+  Data.FromJSON+    NetworkFirewallMissingExpectedRoutesViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallMissingExpectedRoutesViolation"+      ( \x ->+          NetworkFirewallMissingExpectedRoutesViolation'+            Prelude.<$> (x Data..:? "ExpectedRoutes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ViolationTarget")+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    NetworkFirewallMissingExpectedRoutesViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallMissingExpectedRoutesViolation' {..} =+      _salt+        `Prelude.hashWithSalt` expectedRoutes+        `Prelude.hashWithSalt` violationTarget+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    NetworkFirewallMissingExpectedRoutesViolation+  where+  rnf+    NetworkFirewallMissingExpectedRoutesViolation' {..} =+      Prelude.rnf expectedRoutes+        `Prelude.seq` Prelude.rnf violationTarget+        `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/NetworkFirewallMissingFirewallViolation.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for Network Firewall for a subnet that doesn\'t have a+-- Firewall Manager managed firewall in its VPC.+--+-- /See:/ 'newNetworkFirewallMissingFirewallViolation' smart constructor.+data NetworkFirewallMissingFirewallViolation = NetworkFirewallMissingFirewallViolation'+  { -- | The Availability Zone of a violating subnet.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The reason the resource has this violation, if one is available.+    targetViolationReason :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the VPC associated with a violating subnet.+    vpc :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Network Firewall or VPC resource that\'s in violation.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallMissingFirewallViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'networkFirewallMissingFirewallViolation_availabilityZone' - The Availability Zone of a violating subnet.+--+-- 'targetViolationReason', 'networkFirewallMissingFirewallViolation_targetViolationReason' - The reason the resource has this violation, if one is available.+--+-- 'vpc', 'networkFirewallMissingFirewallViolation_vpc' - The resource ID of the VPC associated with a violating subnet.+--+-- 'violationTarget', 'networkFirewallMissingFirewallViolation_violationTarget' - The ID of the Network Firewall or VPC resource that\'s in violation.+newNetworkFirewallMissingFirewallViolation ::+  NetworkFirewallMissingFirewallViolation+newNetworkFirewallMissingFirewallViolation =+  NetworkFirewallMissingFirewallViolation'+    { availabilityZone =+        Prelude.Nothing,+      targetViolationReason =+        Prelude.Nothing,+      vpc = Prelude.Nothing,+      violationTarget = Prelude.Nothing+    }++-- | The Availability Zone of a violating subnet.+networkFirewallMissingFirewallViolation_availabilityZone :: Lens.Lens' NetworkFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingFirewallViolation_availabilityZone = Lens.lens (\NetworkFirewallMissingFirewallViolation' {availabilityZone} -> availabilityZone) (\s@NetworkFirewallMissingFirewallViolation' {} a -> s {availabilityZone = a} :: NetworkFirewallMissingFirewallViolation)++-- | The reason the resource has this violation, if one is available.+networkFirewallMissingFirewallViolation_targetViolationReason :: Lens.Lens' NetworkFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingFirewallViolation_targetViolationReason = Lens.lens (\NetworkFirewallMissingFirewallViolation' {targetViolationReason} -> targetViolationReason) (\s@NetworkFirewallMissingFirewallViolation' {} a -> s {targetViolationReason = a} :: NetworkFirewallMissingFirewallViolation)++-- | The resource ID of the VPC associated with a violating subnet.+networkFirewallMissingFirewallViolation_vpc :: Lens.Lens' NetworkFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingFirewallViolation_vpc = Lens.lens (\NetworkFirewallMissingFirewallViolation' {vpc} -> vpc) (\s@NetworkFirewallMissingFirewallViolation' {} a -> s {vpc = a} :: NetworkFirewallMissingFirewallViolation)++-- | The ID of the Network Firewall or VPC resource that\'s in violation.+networkFirewallMissingFirewallViolation_violationTarget :: Lens.Lens' NetworkFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingFirewallViolation_violationTarget = Lens.lens (\NetworkFirewallMissingFirewallViolation' {violationTarget} -> violationTarget) (\s@NetworkFirewallMissingFirewallViolation' {} a -> s {violationTarget = a} :: NetworkFirewallMissingFirewallViolation)++instance+  Data.FromJSON+    NetworkFirewallMissingFirewallViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallMissingFirewallViolation"+      ( \x ->+          NetworkFirewallMissingFirewallViolation'+            Prelude.<$> (x Data..:? "AvailabilityZone")+            Prelude.<*> (x Data..:? "TargetViolationReason")+            Prelude.<*> (x Data..:? "VPC")+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    NetworkFirewallMissingFirewallViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallMissingFirewallViolation' {..} =+      _salt+        `Prelude.hashWithSalt` availabilityZone+        `Prelude.hashWithSalt` targetViolationReason+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    NetworkFirewallMissingFirewallViolation+  where+  rnf NetworkFirewallMissingFirewallViolation' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf targetViolationReason+      `Prelude.seq` Prelude.rnf vpc+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/NetworkFirewallMissingSubnetViolation.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for Network Firewall for an Availability Zone that\'s+-- missing the expected Firewall Manager managed subnet.+--+-- /See:/ 'newNetworkFirewallMissingSubnetViolation' smart constructor.+data NetworkFirewallMissingSubnetViolation = NetworkFirewallMissingSubnetViolation'+  { -- | The Availability Zone of a violating subnet.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The reason the resource has this violation, if one is available.+    targetViolationReason :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the VPC associated with a violating subnet.+    vpc :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Network Firewall or VPC resource that\'s in violation.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallMissingSubnetViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'networkFirewallMissingSubnetViolation_availabilityZone' - The Availability Zone of a violating subnet.+--+-- 'targetViolationReason', 'networkFirewallMissingSubnetViolation_targetViolationReason' - The reason the resource has this violation, if one is available.+--+-- 'vpc', 'networkFirewallMissingSubnetViolation_vpc' - The resource ID of the VPC associated with a violating subnet.+--+-- 'violationTarget', 'networkFirewallMissingSubnetViolation_violationTarget' - The ID of the Network Firewall or VPC resource that\'s in violation.+newNetworkFirewallMissingSubnetViolation ::+  NetworkFirewallMissingSubnetViolation+newNetworkFirewallMissingSubnetViolation =+  NetworkFirewallMissingSubnetViolation'+    { availabilityZone =+        Prelude.Nothing,+      targetViolationReason =+        Prelude.Nothing,+      vpc = Prelude.Nothing,+      violationTarget = Prelude.Nothing+    }++-- | The Availability Zone of a violating subnet.+networkFirewallMissingSubnetViolation_availabilityZone :: Lens.Lens' NetworkFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingSubnetViolation_availabilityZone = Lens.lens (\NetworkFirewallMissingSubnetViolation' {availabilityZone} -> availabilityZone) (\s@NetworkFirewallMissingSubnetViolation' {} a -> s {availabilityZone = a} :: NetworkFirewallMissingSubnetViolation)++-- | The reason the resource has this violation, if one is available.+networkFirewallMissingSubnetViolation_targetViolationReason :: Lens.Lens' NetworkFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingSubnetViolation_targetViolationReason = Lens.lens (\NetworkFirewallMissingSubnetViolation' {targetViolationReason} -> targetViolationReason) (\s@NetworkFirewallMissingSubnetViolation' {} a -> s {targetViolationReason = a} :: NetworkFirewallMissingSubnetViolation)++-- | The resource ID of the VPC associated with a violating subnet.+networkFirewallMissingSubnetViolation_vpc :: Lens.Lens' NetworkFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingSubnetViolation_vpc = Lens.lens (\NetworkFirewallMissingSubnetViolation' {vpc} -> vpc) (\s@NetworkFirewallMissingSubnetViolation' {} a -> s {vpc = a} :: NetworkFirewallMissingSubnetViolation)++-- | The ID of the Network Firewall or VPC resource that\'s in violation.+networkFirewallMissingSubnetViolation_violationTarget :: Lens.Lens' NetworkFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+networkFirewallMissingSubnetViolation_violationTarget = Lens.lens (\NetworkFirewallMissingSubnetViolation' {violationTarget} -> violationTarget) (\s@NetworkFirewallMissingSubnetViolation' {} a -> s {violationTarget = a} :: NetworkFirewallMissingSubnetViolation)++instance+  Data.FromJSON+    NetworkFirewallMissingSubnetViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallMissingSubnetViolation"+      ( \x ->+          NetworkFirewallMissingSubnetViolation'+            Prelude.<$> (x Data..:? "AvailabilityZone")+            Prelude.<*> (x Data..:? "TargetViolationReason")+            Prelude.<*> (x Data..:? "VPC")+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    NetworkFirewallMissingSubnetViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallMissingSubnetViolation' {..} =+      _salt+        `Prelude.hashWithSalt` availabilityZone+        `Prelude.hashWithSalt` targetViolationReason+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    NetworkFirewallMissingSubnetViolation+  where+  rnf NetworkFirewallMissingSubnetViolation' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf targetViolationReason+      `Prelude.seq` Prelude.rnf vpc+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/NetworkFirewallOverrideAction.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallOverrideAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallOverrideAction+  ( NetworkFirewallOverrideAction+      ( ..,+        NetworkFirewallOverrideAction_DROP_TO_ALERT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkFirewallOverrideAction = NetworkFirewallOverrideAction'+  { fromNetworkFirewallOverrideAction ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern NetworkFirewallOverrideAction_DROP_TO_ALERT :: NetworkFirewallOverrideAction+pattern NetworkFirewallOverrideAction_DROP_TO_ALERT = NetworkFirewallOverrideAction' "DROP_TO_ALERT"++{-# COMPLETE+  NetworkFirewallOverrideAction_DROP_TO_ALERT,+  NetworkFirewallOverrideAction'+  #-}
+ gen/Amazonka/FMS/Types/NetworkFirewallPolicy.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.FirewallDeploymentModel+import qualified Amazonka.Prelude as Prelude++-- | Configures the firewall policy deployment model of Network Firewall. For+-- information about Network Firewall deployment models, see+-- <https://docs.aws.amazon.com/network-firewall/latest/developerguide/architectures.html Network Firewall example architectures with routing>+-- in the /Network Firewall Developer Guide/.+--+-- /See:/ 'newNetworkFirewallPolicy' smart constructor.+data NetworkFirewallPolicy = NetworkFirewallPolicy'+  { -- | Defines the deployment model to use for the firewall policy. To use a+    -- distributed model, set+    -- <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+    -- to @NULL@.+    firewallDeploymentModel :: Prelude.Maybe FirewallDeploymentModel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDeploymentModel', 'networkFirewallPolicy_firewallDeploymentModel' - Defines the deployment model to use for the firewall policy. To use a+-- distributed model, set+-- <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+-- to @NULL@.+newNetworkFirewallPolicy ::+  NetworkFirewallPolicy+newNetworkFirewallPolicy =+  NetworkFirewallPolicy'+    { firewallDeploymentModel =+        Prelude.Nothing+    }++-- | Defines the deployment model to use for the firewall policy. To use a+-- distributed model, set+-- <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+-- to @NULL@.+networkFirewallPolicy_firewallDeploymentModel :: Lens.Lens' NetworkFirewallPolicy (Prelude.Maybe FirewallDeploymentModel)+networkFirewallPolicy_firewallDeploymentModel = Lens.lens (\NetworkFirewallPolicy' {firewallDeploymentModel} -> firewallDeploymentModel) (\s@NetworkFirewallPolicy' {} a -> s {firewallDeploymentModel = a} :: NetworkFirewallPolicy)++instance Data.FromJSON NetworkFirewallPolicy where+  parseJSON =+    Data.withObject+      "NetworkFirewallPolicy"+      ( \x ->+          NetworkFirewallPolicy'+            Prelude.<$> (x Data..:? "FirewallDeploymentModel")+      )++instance Prelude.Hashable NetworkFirewallPolicy where+  hashWithSalt _salt NetworkFirewallPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` firewallDeploymentModel++instance Prelude.NFData NetworkFirewallPolicy where+  rnf NetworkFirewallPolicy' {..} =+    Prelude.rnf firewallDeploymentModel++instance Data.ToJSON NetworkFirewallPolicy where+  toJSON NetworkFirewallPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FirewallDeploymentModel" Data..=)+              Prelude.<$> firewallDeploymentModel+          ]+      )
+ gen/Amazonka/FMS/Types/NetworkFirewallPolicyDescription.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallPolicyDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallPolicyDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.StatefulEngineOptions+import Amazonka.FMS.Types.StatefulRuleGroup+import Amazonka.FMS.Types.StatelessRuleGroup+import qualified Amazonka.Prelude as Prelude++-- | The definition of the Network Firewall firewall policy.+--+-- /See:/ 'newNetworkFirewallPolicyDescription' smart constructor.+data NetworkFirewallPolicyDescription = NetworkFirewallPolicyDescription'+  { -- | The default actions to take on a packet that doesn\'t match any stateful+    -- rules. The stateful default action is optional, and is only valid when+    -- using the strict rule order.+    --+    -- Valid values of the stateful default action:+    --+    -- -   aws:drop_strict+    --+    -- -   aws:drop_established+    --+    -- -   aws:alert_strict+    --+    -- -   aws:alert_established+    statefulDefaultActions :: Prelude.Maybe [Prelude.Text],+    -- | Additional options governing how Network Firewall handles stateful+    -- rules. The stateful rule groups that you use in your policy must have+    -- stateful rule options settings that are compatible with these settings.+    statefulEngineOptions :: Prelude.Maybe StatefulEngineOptions,+    -- | The stateful rule groups that are used in the Network Firewall firewall+    -- policy.+    statefulRuleGroups :: Prelude.Maybe [StatefulRuleGroup],+    -- | Names of custom actions that are available for use in the stateless+    -- default actions settings.+    statelessCustomActions :: Prelude.Maybe [Prelude.Text],+    -- | The actions to take on packets that don\'t match any of the stateless+    -- rule groups.+    statelessDefaultActions :: Prelude.Maybe [Prelude.Text],+    -- | The actions to take on packet fragments that don\'t match any of the+    -- stateless rule groups.+    statelessFragmentDefaultActions :: Prelude.Maybe [Prelude.Text],+    -- | The stateless rule groups that are used in the Network Firewall firewall+    -- policy.+    statelessRuleGroups :: Prelude.Maybe [StatelessRuleGroup]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallPolicyDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'statefulDefaultActions', 'networkFirewallPolicyDescription_statefulDefaultActions' - The default actions to take on a packet that doesn\'t match any stateful+-- rules. The stateful default action is optional, and is only valid when+-- using the strict rule order.+--+-- Valid values of the stateful default action:+--+-- -   aws:drop_strict+--+-- -   aws:drop_established+--+-- -   aws:alert_strict+--+-- -   aws:alert_established+--+-- 'statefulEngineOptions', 'networkFirewallPolicyDescription_statefulEngineOptions' - Additional options governing how Network Firewall handles stateful+-- rules. The stateful rule groups that you use in your policy must have+-- stateful rule options settings that are compatible with these settings.+--+-- 'statefulRuleGroups', 'networkFirewallPolicyDescription_statefulRuleGroups' - The stateful rule groups that are used in the Network Firewall firewall+-- policy.+--+-- 'statelessCustomActions', 'networkFirewallPolicyDescription_statelessCustomActions' - Names of custom actions that are available for use in the stateless+-- default actions settings.+--+-- 'statelessDefaultActions', 'networkFirewallPolicyDescription_statelessDefaultActions' - The actions to take on packets that don\'t match any of the stateless+-- rule groups.+--+-- 'statelessFragmentDefaultActions', 'networkFirewallPolicyDescription_statelessFragmentDefaultActions' - The actions to take on packet fragments that don\'t match any of the+-- stateless rule groups.+--+-- 'statelessRuleGroups', 'networkFirewallPolicyDescription_statelessRuleGroups' - The stateless rule groups that are used in the Network Firewall firewall+-- policy.+newNetworkFirewallPolicyDescription ::+  NetworkFirewallPolicyDescription+newNetworkFirewallPolicyDescription =+  NetworkFirewallPolicyDescription'+    { statefulDefaultActions =+        Prelude.Nothing,+      statefulEngineOptions = Prelude.Nothing,+      statefulRuleGroups = Prelude.Nothing,+      statelessCustomActions = Prelude.Nothing,+      statelessDefaultActions = Prelude.Nothing,+      statelessFragmentDefaultActions =+        Prelude.Nothing,+      statelessRuleGroups = Prelude.Nothing+    }++-- | The default actions to take on a packet that doesn\'t match any stateful+-- rules. The stateful default action is optional, and is only valid when+-- using the strict rule order.+--+-- Valid values of the stateful default action:+--+-- -   aws:drop_strict+--+-- -   aws:drop_established+--+-- -   aws:alert_strict+--+-- -   aws:alert_established+networkFirewallPolicyDescription_statefulDefaultActions :: Lens.Lens' NetworkFirewallPolicyDescription (Prelude.Maybe [Prelude.Text])+networkFirewallPolicyDescription_statefulDefaultActions = Lens.lens (\NetworkFirewallPolicyDescription' {statefulDefaultActions} -> statefulDefaultActions) (\s@NetworkFirewallPolicyDescription' {} a -> s {statefulDefaultActions = a} :: NetworkFirewallPolicyDescription) Prelude.. Lens.mapping Lens.coerced++-- | Additional options governing how Network Firewall handles stateful+-- rules. The stateful rule groups that you use in your policy must have+-- stateful rule options settings that are compatible with these settings.+networkFirewallPolicyDescription_statefulEngineOptions :: Lens.Lens' NetworkFirewallPolicyDescription (Prelude.Maybe StatefulEngineOptions)+networkFirewallPolicyDescription_statefulEngineOptions = Lens.lens (\NetworkFirewallPolicyDescription' {statefulEngineOptions} -> statefulEngineOptions) (\s@NetworkFirewallPolicyDescription' {} a -> s {statefulEngineOptions = a} :: NetworkFirewallPolicyDescription)++-- | The stateful rule groups that are used in the Network Firewall firewall+-- policy.+networkFirewallPolicyDescription_statefulRuleGroups :: Lens.Lens' NetworkFirewallPolicyDescription (Prelude.Maybe [StatefulRuleGroup])+networkFirewallPolicyDescription_statefulRuleGroups = Lens.lens (\NetworkFirewallPolicyDescription' {statefulRuleGroups} -> statefulRuleGroups) (\s@NetworkFirewallPolicyDescription' {} a -> s {statefulRuleGroups = a} :: NetworkFirewallPolicyDescription) Prelude.. Lens.mapping Lens.coerced++-- | Names of custom actions that are available for use in the stateless+-- default actions settings.+networkFirewallPolicyDescription_statelessCustomActions :: Lens.Lens' NetworkFirewallPolicyDescription (Prelude.Maybe [Prelude.Text])+networkFirewallPolicyDescription_statelessCustomActions = Lens.lens (\NetworkFirewallPolicyDescription' {statelessCustomActions} -> statelessCustomActions) (\s@NetworkFirewallPolicyDescription' {} a -> s {statelessCustomActions = a} :: NetworkFirewallPolicyDescription) Prelude.. Lens.mapping Lens.coerced++-- | The actions to take on packets that don\'t match any of the stateless+-- rule groups.+networkFirewallPolicyDescription_statelessDefaultActions :: Lens.Lens' NetworkFirewallPolicyDescription (Prelude.Maybe [Prelude.Text])+networkFirewallPolicyDescription_statelessDefaultActions = Lens.lens (\NetworkFirewallPolicyDescription' {statelessDefaultActions} -> statelessDefaultActions) (\s@NetworkFirewallPolicyDescription' {} a -> s {statelessDefaultActions = a} :: NetworkFirewallPolicyDescription) Prelude.. Lens.mapping Lens.coerced++-- | The actions to take on packet fragments that don\'t match any of the+-- stateless rule groups.+networkFirewallPolicyDescription_statelessFragmentDefaultActions :: Lens.Lens' NetworkFirewallPolicyDescription (Prelude.Maybe [Prelude.Text])+networkFirewallPolicyDescription_statelessFragmentDefaultActions = Lens.lens (\NetworkFirewallPolicyDescription' {statelessFragmentDefaultActions} -> statelessFragmentDefaultActions) (\s@NetworkFirewallPolicyDescription' {} a -> s {statelessFragmentDefaultActions = a} :: NetworkFirewallPolicyDescription) Prelude.. Lens.mapping Lens.coerced++-- | The stateless rule groups that are used in the Network Firewall firewall+-- policy.+networkFirewallPolicyDescription_statelessRuleGroups :: Lens.Lens' NetworkFirewallPolicyDescription (Prelude.Maybe [StatelessRuleGroup])+networkFirewallPolicyDescription_statelessRuleGroups = Lens.lens (\NetworkFirewallPolicyDescription' {statelessRuleGroups} -> statelessRuleGroups) (\s@NetworkFirewallPolicyDescription' {} a -> s {statelessRuleGroups = a} :: NetworkFirewallPolicyDescription) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    NetworkFirewallPolicyDescription+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallPolicyDescription"+      ( \x ->+          NetworkFirewallPolicyDescription'+            Prelude.<$> ( x+                            Data..:? "StatefulDefaultActions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "StatefulEngineOptions")+            Prelude.<*> ( x+                            Data..:? "StatefulRuleGroups"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "StatelessCustomActions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "StatelessDefaultActions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "StatelessFragmentDefaultActions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "StatelessRuleGroups"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    NetworkFirewallPolicyDescription+  where+  hashWithSalt+    _salt+    NetworkFirewallPolicyDescription' {..} =+      _salt+        `Prelude.hashWithSalt` statefulDefaultActions+        `Prelude.hashWithSalt` statefulEngineOptions+        `Prelude.hashWithSalt` statefulRuleGroups+        `Prelude.hashWithSalt` statelessCustomActions+        `Prelude.hashWithSalt` statelessDefaultActions+        `Prelude.hashWithSalt` statelessFragmentDefaultActions+        `Prelude.hashWithSalt` statelessRuleGroups++instance+  Prelude.NFData+    NetworkFirewallPolicyDescription+  where+  rnf NetworkFirewallPolicyDescription' {..} =+    Prelude.rnf statefulDefaultActions+      `Prelude.seq` Prelude.rnf statefulEngineOptions+      `Prelude.seq` Prelude.rnf statefulRuleGroups+      `Prelude.seq` Prelude.rnf statelessCustomActions+      `Prelude.seq` Prelude.rnf statelessDefaultActions+      `Prelude.seq` Prelude.rnf statelessFragmentDefaultActions+      `Prelude.seq` Prelude.rnf statelessRuleGroups
+ gen/Amazonka/FMS/Types/NetworkFirewallPolicyModifiedViolation.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.NetworkFirewallPolicyDescription+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for Network Firewall for a firewall policy that has a+-- different NetworkFirewallPolicyDescription than is required by the+-- Firewall Manager policy.+--+-- /See:/ 'newNetworkFirewallPolicyModifiedViolation' smart constructor.+data NetworkFirewallPolicyModifiedViolation = NetworkFirewallPolicyModifiedViolation'+  { -- | The policy that\'s currently in use in the individual account.+    currentPolicyDescription :: Prelude.Maybe NetworkFirewallPolicyDescription,+    -- | The policy that should be in use in the individual account in order to+    -- be compliant.+    expectedPolicyDescription :: Prelude.Maybe NetworkFirewallPolicyDescription,+    -- | The ID of the Network Firewall or VPC resource that\'s in violation.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallPolicyModifiedViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currentPolicyDescription', 'networkFirewallPolicyModifiedViolation_currentPolicyDescription' - The policy that\'s currently in use in the individual account.+--+-- 'expectedPolicyDescription', 'networkFirewallPolicyModifiedViolation_expectedPolicyDescription' - The policy that should be in use in the individual account in order to+-- be compliant.+--+-- 'violationTarget', 'networkFirewallPolicyModifiedViolation_violationTarget' - The ID of the Network Firewall or VPC resource that\'s in violation.+newNetworkFirewallPolicyModifiedViolation ::+  NetworkFirewallPolicyModifiedViolation+newNetworkFirewallPolicyModifiedViolation =+  NetworkFirewallPolicyModifiedViolation'+    { currentPolicyDescription =+        Prelude.Nothing,+      expectedPolicyDescription =+        Prelude.Nothing,+      violationTarget = Prelude.Nothing+    }++-- | The policy that\'s currently in use in the individual account.+networkFirewallPolicyModifiedViolation_currentPolicyDescription :: Lens.Lens' NetworkFirewallPolicyModifiedViolation (Prelude.Maybe NetworkFirewallPolicyDescription)+networkFirewallPolicyModifiedViolation_currentPolicyDescription = Lens.lens (\NetworkFirewallPolicyModifiedViolation' {currentPolicyDescription} -> currentPolicyDescription) (\s@NetworkFirewallPolicyModifiedViolation' {} a -> s {currentPolicyDescription = a} :: NetworkFirewallPolicyModifiedViolation)++-- | The policy that should be in use in the individual account in order to+-- be compliant.+networkFirewallPolicyModifiedViolation_expectedPolicyDescription :: Lens.Lens' NetworkFirewallPolicyModifiedViolation (Prelude.Maybe NetworkFirewallPolicyDescription)+networkFirewallPolicyModifiedViolation_expectedPolicyDescription = Lens.lens (\NetworkFirewallPolicyModifiedViolation' {expectedPolicyDescription} -> expectedPolicyDescription) (\s@NetworkFirewallPolicyModifiedViolation' {} a -> s {expectedPolicyDescription = a} :: NetworkFirewallPolicyModifiedViolation)++-- | The ID of the Network Firewall or VPC resource that\'s in violation.+networkFirewallPolicyModifiedViolation_violationTarget :: Lens.Lens' NetworkFirewallPolicyModifiedViolation (Prelude.Maybe Prelude.Text)+networkFirewallPolicyModifiedViolation_violationTarget = Lens.lens (\NetworkFirewallPolicyModifiedViolation' {violationTarget} -> violationTarget) (\s@NetworkFirewallPolicyModifiedViolation' {} a -> s {violationTarget = a} :: NetworkFirewallPolicyModifiedViolation)++instance+  Data.FromJSON+    NetworkFirewallPolicyModifiedViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallPolicyModifiedViolation"+      ( \x ->+          NetworkFirewallPolicyModifiedViolation'+            Prelude.<$> (x Data..:? "CurrentPolicyDescription")+            Prelude.<*> (x Data..:? "ExpectedPolicyDescription")+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    NetworkFirewallPolicyModifiedViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallPolicyModifiedViolation' {..} =+      _salt+        `Prelude.hashWithSalt` currentPolicyDescription+        `Prelude.hashWithSalt` expectedPolicyDescription+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    NetworkFirewallPolicyModifiedViolation+  where+  rnf NetworkFirewallPolicyModifiedViolation' {..} =+    Prelude.rnf currentPolicyDescription+      `Prelude.seq` Prelude.rnf expectedPolicyDescription+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/NetworkFirewallStatefulRuleGroupOverride.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.NetworkFirewallOverrideAction+import qualified Amazonka.Prelude as Prelude++-- | The setting that allows the policy owner to change the behavior of the+-- rule group within a policy.+--+-- /See:/ 'newNetworkFirewallStatefulRuleGroupOverride' smart constructor.+data NetworkFirewallStatefulRuleGroupOverride = NetworkFirewallStatefulRuleGroupOverride'+  { -- | The action that changes the rule group from @DROP@ to @ALERT@. This only+    -- applies to managed rule groups.+    action :: Prelude.Maybe NetworkFirewallOverrideAction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallStatefulRuleGroupOverride' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'networkFirewallStatefulRuleGroupOverride_action' - The action that changes the rule group from @DROP@ to @ALERT@. This only+-- applies to managed rule groups.+newNetworkFirewallStatefulRuleGroupOverride ::+  NetworkFirewallStatefulRuleGroupOverride+newNetworkFirewallStatefulRuleGroupOverride =+  NetworkFirewallStatefulRuleGroupOverride'+    { action =+        Prelude.Nothing+    }++-- | The action that changes the rule group from @DROP@ to @ALERT@. This only+-- applies to managed rule groups.+networkFirewallStatefulRuleGroupOverride_action :: Lens.Lens' NetworkFirewallStatefulRuleGroupOverride (Prelude.Maybe NetworkFirewallOverrideAction)+networkFirewallStatefulRuleGroupOverride_action = Lens.lens (\NetworkFirewallStatefulRuleGroupOverride' {action} -> action) (\s@NetworkFirewallStatefulRuleGroupOverride' {} a -> s {action = a} :: NetworkFirewallStatefulRuleGroupOverride)++instance+  Data.FromJSON+    NetworkFirewallStatefulRuleGroupOverride+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallStatefulRuleGroupOverride"+      ( \x ->+          NetworkFirewallStatefulRuleGroupOverride'+            Prelude.<$> (x Data..:? "Action")+      )++instance+  Prelude.Hashable+    NetworkFirewallStatefulRuleGroupOverride+  where+  hashWithSalt+    _salt+    NetworkFirewallStatefulRuleGroupOverride' {..} =+      _salt `Prelude.hashWithSalt` action++instance+  Prelude.NFData+    NetworkFirewallStatefulRuleGroupOverride+  where+  rnf NetworkFirewallStatefulRuleGroupOverride' {..} =+    Prelude.rnf action
+ gen/Amazonka/FMS/Types/NetworkFirewallUnexpectedFirewallRoutesViolation.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.Route+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for an unexpected route that\'s present in a route+-- table.+--+-- /See:/ 'newNetworkFirewallUnexpectedFirewallRoutesViolation' smart constructor.+data NetworkFirewallUnexpectedFirewallRoutesViolation = NetworkFirewallUnexpectedFirewallRoutesViolation'+  { -- | The endpoint of the firewall.+    firewallEndpoint :: Prelude.Maybe Prelude.Text,+    -- | The subnet ID for the firewall.+    firewallSubnetId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the route table.+    routeTableId :: Prelude.Maybe Prelude.Text,+    -- | The routes that are in violation.+    violatingRoutes :: Prelude.Maybe [Route],+    -- | Information about the VPC ID.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallUnexpectedFirewallRoutesViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallEndpoint', 'networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint' - The endpoint of the firewall.+--+-- 'firewallSubnetId', 'networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId' - The subnet ID for the firewall.+--+-- 'routeTableId', 'networkFirewallUnexpectedFirewallRoutesViolation_routeTableId' - The ID of the route table.+--+-- 'violatingRoutes', 'networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes' - The routes that are in violation.+--+-- 'vpcId', 'networkFirewallUnexpectedFirewallRoutesViolation_vpcId' - Information about the VPC ID.+newNetworkFirewallUnexpectedFirewallRoutesViolation ::+  NetworkFirewallUnexpectedFirewallRoutesViolation+newNetworkFirewallUnexpectedFirewallRoutesViolation =+  NetworkFirewallUnexpectedFirewallRoutesViolation'+    { firewallEndpoint =+        Prelude.Nothing,+      firewallSubnetId =+        Prelude.Nothing,+      routeTableId =+        Prelude.Nothing,+      violatingRoutes =+        Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The endpoint of the firewall.+networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint :: Lens.Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallUnexpectedFirewallRoutesViolation_firewallEndpoint = Lens.lens (\NetworkFirewallUnexpectedFirewallRoutesViolation' {firewallEndpoint} -> firewallEndpoint) (\s@NetworkFirewallUnexpectedFirewallRoutesViolation' {} a -> s {firewallEndpoint = a} :: NetworkFirewallUnexpectedFirewallRoutesViolation)++-- | The subnet ID for the firewall.+networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId :: Lens.Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallUnexpectedFirewallRoutesViolation_firewallSubnetId = Lens.lens (\NetworkFirewallUnexpectedFirewallRoutesViolation' {firewallSubnetId} -> firewallSubnetId) (\s@NetworkFirewallUnexpectedFirewallRoutesViolation' {} a -> s {firewallSubnetId = a} :: NetworkFirewallUnexpectedFirewallRoutesViolation)++-- | The ID of the route table.+networkFirewallUnexpectedFirewallRoutesViolation_routeTableId :: Lens.Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallUnexpectedFirewallRoutesViolation_routeTableId = Lens.lens (\NetworkFirewallUnexpectedFirewallRoutesViolation' {routeTableId} -> routeTableId) (\s@NetworkFirewallUnexpectedFirewallRoutesViolation' {} a -> s {routeTableId = a} :: NetworkFirewallUnexpectedFirewallRoutesViolation)++-- | The routes that are in violation.+networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes :: Lens.Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Prelude.Maybe [Route])+networkFirewallUnexpectedFirewallRoutesViolation_violatingRoutes = Lens.lens (\NetworkFirewallUnexpectedFirewallRoutesViolation' {violatingRoutes} -> violatingRoutes) (\s@NetworkFirewallUnexpectedFirewallRoutesViolation' {} a -> s {violatingRoutes = a} :: NetworkFirewallUnexpectedFirewallRoutesViolation) Prelude.. Lens.mapping Lens.coerced++-- | Information about the VPC ID.+networkFirewallUnexpectedFirewallRoutesViolation_vpcId :: Lens.Lens' NetworkFirewallUnexpectedFirewallRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallUnexpectedFirewallRoutesViolation_vpcId = Lens.lens (\NetworkFirewallUnexpectedFirewallRoutesViolation' {vpcId} -> vpcId) (\s@NetworkFirewallUnexpectedFirewallRoutesViolation' {} a -> s {vpcId = a} :: NetworkFirewallUnexpectedFirewallRoutesViolation)++instance+  Data.FromJSON+    NetworkFirewallUnexpectedFirewallRoutesViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallUnexpectedFirewallRoutesViolation"+      ( \x ->+          NetworkFirewallUnexpectedFirewallRoutesViolation'+            Prelude.<$> (x Data..:? "FirewallEndpoint")+            Prelude.<*> (x Data..:? "FirewallSubnetId")+            Prelude.<*> (x Data..:? "RouteTableId")+            Prelude.<*> ( x+                            Data..:? "ViolatingRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    NetworkFirewallUnexpectedFirewallRoutesViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallUnexpectedFirewallRoutesViolation' {..} =+      _salt+        `Prelude.hashWithSalt` firewallEndpoint+        `Prelude.hashWithSalt` firewallSubnetId+        `Prelude.hashWithSalt` routeTableId+        `Prelude.hashWithSalt` violatingRoutes+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    NetworkFirewallUnexpectedFirewallRoutesViolation+  where+  rnf+    NetworkFirewallUnexpectedFirewallRoutesViolation' {..} =+      Prelude.rnf firewallEndpoint+        `Prelude.seq` Prelude.rnf firewallSubnetId+        `Prelude.seq` Prelude.rnf routeTableId+        `Prelude.seq` Prelude.rnf violatingRoutes+        `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/NetworkFirewallUnexpectedGatewayRoutesViolation.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.Route+import qualified Amazonka.Prelude as Prelude++-- | Violation detail for an unexpected gateway route that’s present in a+-- route table.+--+-- /See:/ 'newNetworkFirewallUnexpectedGatewayRoutesViolation' smart constructor.+data NetworkFirewallUnexpectedGatewayRoutesViolation = NetworkFirewallUnexpectedGatewayRoutesViolation'+  { -- | Information about the gateway ID.+    gatewayId :: Prelude.Maybe Prelude.Text,+    -- | Information about the route table.+    routeTableId :: Prelude.Maybe Prelude.Text,+    -- | The routes that are in violation.+    violatingRoutes :: Prelude.Maybe [Route],+    -- | Information about the VPC ID.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFirewallUnexpectedGatewayRoutesViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayId', 'networkFirewallUnexpectedGatewayRoutesViolation_gatewayId' - Information about the gateway ID.+--+-- 'routeTableId', 'networkFirewallUnexpectedGatewayRoutesViolation_routeTableId' - Information about the route table.+--+-- 'violatingRoutes', 'networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes' - The routes that are in violation.+--+-- 'vpcId', 'networkFirewallUnexpectedGatewayRoutesViolation_vpcId' - Information about the VPC ID.+newNetworkFirewallUnexpectedGatewayRoutesViolation ::+  NetworkFirewallUnexpectedGatewayRoutesViolation+newNetworkFirewallUnexpectedGatewayRoutesViolation =+  NetworkFirewallUnexpectedGatewayRoutesViolation'+    { gatewayId =+        Prelude.Nothing,+      routeTableId =+        Prelude.Nothing,+      violatingRoutes =+        Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | Information about the gateway ID.+networkFirewallUnexpectedGatewayRoutesViolation_gatewayId :: Lens.Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallUnexpectedGatewayRoutesViolation_gatewayId = Lens.lens (\NetworkFirewallUnexpectedGatewayRoutesViolation' {gatewayId} -> gatewayId) (\s@NetworkFirewallUnexpectedGatewayRoutesViolation' {} a -> s {gatewayId = a} :: NetworkFirewallUnexpectedGatewayRoutesViolation)++-- | Information about the route table.+networkFirewallUnexpectedGatewayRoutesViolation_routeTableId :: Lens.Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallUnexpectedGatewayRoutesViolation_routeTableId = Lens.lens (\NetworkFirewallUnexpectedGatewayRoutesViolation' {routeTableId} -> routeTableId) (\s@NetworkFirewallUnexpectedGatewayRoutesViolation' {} a -> s {routeTableId = a} :: NetworkFirewallUnexpectedGatewayRoutesViolation)++-- | The routes that are in violation.+networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes :: Lens.Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Prelude.Maybe [Route])+networkFirewallUnexpectedGatewayRoutesViolation_violatingRoutes = Lens.lens (\NetworkFirewallUnexpectedGatewayRoutesViolation' {violatingRoutes} -> violatingRoutes) (\s@NetworkFirewallUnexpectedGatewayRoutesViolation' {} a -> s {violatingRoutes = a} :: NetworkFirewallUnexpectedGatewayRoutesViolation) Prelude.. Lens.mapping Lens.coerced++-- | Information about the VPC ID.+networkFirewallUnexpectedGatewayRoutesViolation_vpcId :: Lens.Lens' NetworkFirewallUnexpectedGatewayRoutesViolation (Prelude.Maybe Prelude.Text)+networkFirewallUnexpectedGatewayRoutesViolation_vpcId = Lens.lens (\NetworkFirewallUnexpectedGatewayRoutesViolation' {vpcId} -> vpcId) (\s@NetworkFirewallUnexpectedGatewayRoutesViolation' {} a -> s {vpcId = a} :: NetworkFirewallUnexpectedGatewayRoutesViolation)++instance+  Data.FromJSON+    NetworkFirewallUnexpectedGatewayRoutesViolation+  where+  parseJSON =+    Data.withObject+      "NetworkFirewallUnexpectedGatewayRoutesViolation"+      ( \x ->+          NetworkFirewallUnexpectedGatewayRoutesViolation'+            Prelude.<$> (x Data..:? "GatewayId")+            Prelude.<*> (x Data..:? "RouteTableId")+            Prelude.<*> ( x+                            Data..:? "ViolatingRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    NetworkFirewallUnexpectedGatewayRoutesViolation+  where+  hashWithSalt+    _salt+    NetworkFirewallUnexpectedGatewayRoutesViolation' {..} =+      _salt+        `Prelude.hashWithSalt` gatewayId+        `Prelude.hashWithSalt` routeTableId+        `Prelude.hashWithSalt` violatingRoutes+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    NetworkFirewallUnexpectedGatewayRoutesViolation+  where+  rnf+    NetworkFirewallUnexpectedGatewayRoutesViolation' {..} =+      Prelude.rnf gatewayId+        `Prelude.seq` Prelude.rnf routeTableId+        `Prelude.seq` Prelude.rnf violatingRoutes+        `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/PartialMatch.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PartialMatch+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PartialMatch where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The reference rule that partially matches the @ViolationTarget@ rule and+-- violation reason.+--+-- /See:/ 'newPartialMatch' smart constructor.+data PartialMatch = PartialMatch'+  { -- | The reference rule from the primary security group of the Firewall+    -- Manager policy.+    reference :: Prelude.Maybe Prelude.Text,+    -- | The violation reason.+    targetViolationReasons :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PartialMatch' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reference', 'partialMatch_reference' - The reference rule from the primary security group of the Firewall+-- Manager policy.+--+-- 'targetViolationReasons', 'partialMatch_targetViolationReasons' - The violation reason.+newPartialMatch ::+  PartialMatch+newPartialMatch =+  PartialMatch'+    { reference = Prelude.Nothing,+      targetViolationReasons = Prelude.Nothing+    }++-- | The reference rule from the primary security group of the Firewall+-- Manager policy.+partialMatch_reference :: Lens.Lens' PartialMatch (Prelude.Maybe Prelude.Text)+partialMatch_reference = Lens.lens (\PartialMatch' {reference} -> reference) (\s@PartialMatch' {} a -> s {reference = a} :: PartialMatch)++-- | The violation reason.+partialMatch_targetViolationReasons :: Lens.Lens' PartialMatch (Prelude.Maybe [Prelude.Text])+partialMatch_targetViolationReasons = Lens.lens (\PartialMatch' {targetViolationReasons} -> targetViolationReasons) (\s@PartialMatch' {} a -> s {targetViolationReasons = a} :: PartialMatch) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PartialMatch where+  parseJSON =+    Data.withObject+      "PartialMatch"+      ( \x ->+          PartialMatch'+            Prelude.<$> (x Data..:? "Reference")+            Prelude.<*> ( x+                            Data..:? "TargetViolationReasons"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PartialMatch where+  hashWithSalt _salt PartialMatch' {..} =+    _salt+      `Prelude.hashWithSalt` reference+      `Prelude.hashWithSalt` targetViolationReasons++instance Prelude.NFData PartialMatch where+  rnf PartialMatch' {..} =+    Prelude.rnf reference+      `Prelude.seq` Prelude.rnf targetViolationReasons
+ gen/Amazonka/FMS/Types/Policy.hs view
@@ -0,0 +1,537 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.Policy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.Policy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.CustomerPolicyScopeIdType+import Amazonka.FMS.Types.ResourceTag+import Amazonka.FMS.Types.SecurityServicePolicyData+import qualified Amazonka.Prelude as Prelude++-- | An Firewall Manager policy.+--+-- /See:/ 'newPolicy' smart constructor.+data Policy = Policy'+  { -- | Indicates whether Firewall Manager should automatically remove+    -- protections from resources that leave the policy scope and clean up+    -- resources that Firewall Manager is managing for accounts when those+    -- accounts leave policy scope. For example, Firewall Manager will+    -- disassociate a Firewall Manager managed web ACL from a protected+    -- customer resource when the customer resource leaves policy scope.+    --+    -- By default, Firewall Manager doesn\'t remove protections or delete+    -- Firewall Manager managed resources.+    --+    -- This option is not available for Shield Advanced or WAF Classic+    -- policies.+    deleteUnusedFMManagedResources :: Prelude.Maybe Prelude.Bool,+    -- | Specifies the Amazon Web Services account IDs and Organizations+    -- organizational units (OUs) to exclude from the policy. Specifying an OU+    -- is the equivalent of specifying all accounts in the OU and in any of its+    -- child OUs, including any child OUs and accounts that are added at a+    -- later time.+    --+    -- You can specify inclusions or exclusions, but not both. If you specify+    -- an @IncludeMap@, Firewall Manager applies the policy to all accounts+    -- specified by the @IncludeMap@, and does not evaluate any @ExcludeMap@+    -- specifications. If you do not specify an @IncludeMap@, then Firewall+    -- Manager applies the policy to all accounts except for those specified by+    -- the @ExcludeMap@.+    --+    -- You can specify account IDs, OUs, or a combination:+    --+    -- -   Specify account IDs by setting the key to @ACCOUNT@. For example,+    --     the following is a valid map:+    --     @{“ACCOUNT” : [“accountID1”, “accountID2”]}@.+    --+    -- -   Specify OUs by setting the key to @ORG_UNIT@. For example, the+    --     following is a valid map: @{“ORG_UNIT” : [“ouid111”, “ouid112”]}@.+    --+    -- -   Specify accounts and OUs together in a single map, separated with a+    --     comma. For example, the following is a valid map:+    --     @{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}@.+    excludeMap :: Prelude.Maybe (Prelude.HashMap CustomerPolicyScopeIdType [Prelude.Text]),+    -- | Specifies the Amazon Web Services account IDs and Organizations+    -- organizational units (OUs) to include in the policy. Specifying an OU is+    -- the equivalent of specifying all accounts in the OU and in any of its+    -- child OUs, including any child OUs and accounts that are added at a+    -- later time.+    --+    -- You can specify inclusions or exclusions, but not both. If you specify+    -- an @IncludeMap@, Firewall Manager applies the policy to all accounts+    -- specified by the @IncludeMap@, and does not evaluate any @ExcludeMap@+    -- specifications. If you do not specify an @IncludeMap@, then Firewall+    -- Manager applies the policy to all accounts except for those specified by+    -- the @ExcludeMap@.+    --+    -- You can specify account IDs, OUs, or a combination:+    --+    -- -   Specify account IDs by setting the key to @ACCOUNT@. For example,+    --     the following is a valid map:+    --     @{“ACCOUNT” : [“accountID1”, “accountID2”]}@.+    --+    -- -   Specify OUs by setting the key to @ORG_UNIT@. For example, the+    --     following is a valid map: @{“ORG_UNIT” : [“ouid111”, “ouid112”]}@.+    --+    -- -   Specify accounts and OUs together in a single map, separated with a+    --     comma. For example, the following is a valid map:+    --     @{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}@.+    includeMap :: Prelude.Maybe (Prelude.HashMap CustomerPolicyScopeIdType [Prelude.Text]),+    -- | The definition of the Network Firewall firewall policy.+    policyDescription :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Firewall Manager policy.+    policyId :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for each update to the policy. When issuing a+    -- @PutPolicy@ request, the @PolicyUpdateToken@ in the request must match+    -- the @PolicyUpdateToken@ of the current policy version. To get the+    -- @PolicyUpdateToken@ of the current policy version, use a @GetPolicy@+    -- request.+    policyUpdateToken :: Prelude.Maybe Prelude.Text,+    -- | The unique identifiers of the resource sets used by the policy.+    resourceSetIds :: Prelude.Maybe [Prelude.Text],+    -- | An array of @ResourceTag@ objects.+    resourceTags :: Prelude.Maybe [ResourceTag],+    -- | An array of @ResourceType@ objects. Use this only to specify multiple+    -- resource types. To specify a single resource type, use @ResourceType@.+    resourceTypeList :: Prelude.Maybe [Prelude.Text],+    -- | The name of the Firewall Manager policy.+    policyName :: Prelude.Text,+    -- | Details about the security service that is being used to protect the+    -- resources.+    securityServicePolicyData :: SecurityServicePolicyData,+    -- | The type of resource protected by or in scope of the policy. This is in+    -- the format shown in the+    -- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+    -- To apply this policy to multiple resource types, specify a resource type+    -- of @ResourceTypeList@ and then specify the resource types in a+    -- @ResourceTypeList@.+    --+    -- For WAF and Shield Advanced, resource types include+    -- @AWS::ElasticLoadBalancingV2::LoadBalancer@,+    -- @AWS::ElasticLoadBalancing::LoadBalancer@, @AWS::EC2::EIP@, and+    -- @AWS::CloudFront::Distribution@. For a security group common policy,+    -- valid values are @AWS::EC2::NetworkInterface@ and @AWS::EC2::Instance@.+    -- For a security group content audit policy, valid values are+    -- @AWS::EC2::SecurityGroup@, @AWS::EC2::NetworkInterface@, and+    -- @AWS::EC2::Instance@. For a security group usage audit policy, the value+    -- is @AWS::EC2::SecurityGroup@. For an Network Firewall policy or DNS+    -- Firewall policy, the value is @AWS::EC2::VPC@.+    resourceType :: Prelude.Text,+    -- | If set to @True@, resources with the tags that are specified in the+    -- @ResourceTag@ array are not in scope of the policy. If set to @False@,+    -- and the @ResourceTag@ array is not null, only resources with the+    -- specified tags are in scope of the policy.+    excludeResourceTags :: Prelude.Bool,+    -- | Indicates if the policy should be automatically applied to new+    -- resources.+    remediationEnabled :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Policy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteUnusedFMManagedResources', 'policy_deleteUnusedFMManagedResources' - Indicates whether Firewall Manager should automatically remove+-- protections from resources that leave the policy scope and clean up+-- resources that Firewall Manager is managing for accounts when those+-- accounts leave policy scope. For example, Firewall Manager will+-- disassociate a Firewall Manager managed web ACL from a protected+-- customer resource when the customer resource leaves policy scope.+--+-- By default, Firewall Manager doesn\'t remove protections or delete+-- Firewall Manager managed resources.+--+-- This option is not available for Shield Advanced or WAF Classic+-- policies.+--+-- 'excludeMap', 'policy_excludeMap' - Specifies the Amazon Web Services account IDs and Organizations+-- organizational units (OUs) to exclude from the policy. Specifying an OU+-- is the equivalent of specifying all accounts in the OU and in any of its+-- child OUs, including any child OUs and accounts that are added at a+-- later time.+--+-- You can specify inclusions or exclusions, but not both. If you specify+-- an @IncludeMap@, Firewall Manager applies the policy to all accounts+-- specified by the @IncludeMap@, and does not evaluate any @ExcludeMap@+-- specifications. If you do not specify an @IncludeMap@, then Firewall+-- Manager applies the policy to all accounts except for those specified by+-- the @ExcludeMap@.+--+-- You can specify account IDs, OUs, or a combination:+--+-- -   Specify account IDs by setting the key to @ACCOUNT@. For example,+--     the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”]}@.+--+-- -   Specify OUs by setting the key to @ORG_UNIT@. For example, the+--     following is a valid map: @{“ORG_UNIT” : [“ouid111”, “ouid112”]}@.+--+-- -   Specify accounts and OUs together in a single map, separated with a+--     comma. For example, the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}@.+--+-- 'includeMap', 'policy_includeMap' - Specifies the Amazon Web Services account IDs and Organizations+-- organizational units (OUs) to include in the policy. Specifying an OU is+-- the equivalent of specifying all accounts in the OU and in any of its+-- child OUs, including any child OUs and accounts that are added at a+-- later time.+--+-- You can specify inclusions or exclusions, but not both. If you specify+-- an @IncludeMap@, Firewall Manager applies the policy to all accounts+-- specified by the @IncludeMap@, and does not evaluate any @ExcludeMap@+-- specifications. If you do not specify an @IncludeMap@, then Firewall+-- Manager applies the policy to all accounts except for those specified by+-- the @ExcludeMap@.+--+-- You can specify account IDs, OUs, or a combination:+--+-- -   Specify account IDs by setting the key to @ACCOUNT@. For example,+--     the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”]}@.+--+-- -   Specify OUs by setting the key to @ORG_UNIT@. For example, the+--     following is a valid map: @{“ORG_UNIT” : [“ouid111”, “ouid112”]}@.+--+-- -   Specify accounts and OUs together in a single map, separated with a+--     comma. For example, the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}@.+--+-- 'policyDescription', 'policy_policyDescription' - The definition of the Network Firewall firewall policy.+--+-- 'policyId', 'policy_policyId' - The ID of the Firewall Manager policy.+--+-- 'policyUpdateToken', 'policy_policyUpdateToken' - A unique identifier for each update to the policy. When issuing a+-- @PutPolicy@ request, the @PolicyUpdateToken@ in the request must match+-- the @PolicyUpdateToken@ of the current policy version. To get the+-- @PolicyUpdateToken@ of the current policy version, use a @GetPolicy@+-- request.+--+-- 'resourceSetIds', 'policy_resourceSetIds' - The unique identifiers of the resource sets used by the policy.+--+-- 'resourceTags', 'policy_resourceTags' - An array of @ResourceTag@ objects.+--+-- 'resourceTypeList', 'policy_resourceTypeList' - An array of @ResourceType@ objects. Use this only to specify multiple+-- resource types. To specify a single resource type, use @ResourceType@.+--+-- 'policyName', 'policy_policyName' - The name of the Firewall Manager policy.+--+-- 'securityServicePolicyData', 'policy_securityServicePolicyData' - Details about the security service that is being used to protect the+-- resources.+--+-- 'resourceType', 'policy_resourceType' - The type of resource protected by or in scope of the policy. This is in+-- the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- To apply this policy to multiple resource types, specify a resource type+-- of @ResourceTypeList@ and then specify the resource types in a+-- @ResourceTypeList@.+--+-- For WAF and Shield Advanced, resource types include+-- @AWS::ElasticLoadBalancingV2::LoadBalancer@,+-- @AWS::ElasticLoadBalancing::LoadBalancer@, @AWS::EC2::EIP@, and+-- @AWS::CloudFront::Distribution@. For a security group common policy,+-- valid values are @AWS::EC2::NetworkInterface@ and @AWS::EC2::Instance@.+-- For a security group content audit policy, valid values are+-- @AWS::EC2::SecurityGroup@, @AWS::EC2::NetworkInterface@, and+-- @AWS::EC2::Instance@. For a security group usage audit policy, the value+-- is @AWS::EC2::SecurityGroup@. For an Network Firewall policy or DNS+-- Firewall policy, the value is @AWS::EC2::VPC@.+--+-- 'excludeResourceTags', 'policy_excludeResourceTags' - If set to @True@, resources with the tags that are specified in the+-- @ResourceTag@ array are not in scope of the policy. If set to @False@,+-- and the @ResourceTag@ array is not null, only resources with the+-- specified tags are in scope of the policy.+--+-- 'remediationEnabled', 'policy_remediationEnabled' - Indicates if the policy should be automatically applied to new+-- resources.+newPolicy ::+  -- | 'policyName'+  Prelude.Text ->+  -- | 'securityServicePolicyData'+  SecurityServicePolicyData ->+  -- | 'resourceType'+  Prelude.Text ->+  -- | 'excludeResourceTags'+  Prelude.Bool ->+  -- | 'remediationEnabled'+  Prelude.Bool ->+  Policy+newPolicy+  pPolicyName_+  pSecurityServicePolicyData_+  pResourceType_+  pExcludeResourceTags_+  pRemediationEnabled_ =+    Policy'+      { deleteUnusedFMManagedResources =+          Prelude.Nothing,+        excludeMap = Prelude.Nothing,+        includeMap = Prelude.Nothing,+        policyDescription = Prelude.Nothing,+        policyId = Prelude.Nothing,+        policyUpdateToken = Prelude.Nothing,+        resourceSetIds = Prelude.Nothing,+        resourceTags = Prelude.Nothing,+        resourceTypeList = Prelude.Nothing,+        policyName = pPolicyName_,+        securityServicePolicyData =+          pSecurityServicePolicyData_,+        resourceType = pResourceType_,+        excludeResourceTags = pExcludeResourceTags_,+        remediationEnabled = pRemediationEnabled_+      }++-- | Indicates whether Firewall Manager should automatically remove+-- protections from resources that leave the policy scope and clean up+-- resources that Firewall Manager is managing for accounts when those+-- accounts leave policy scope. For example, Firewall Manager will+-- disassociate a Firewall Manager managed web ACL from a protected+-- customer resource when the customer resource leaves policy scope.+--+-- By default, Firewall Manager doesn\'t remove protections or delete+-- Firewall Manager managed resources.+--+-- This option is not available for Shield Advanced or WAF Classic+-- policies.+policy_deleteUnusedFMManagedResources :: Lens.Lens' Policy (Prelude.Maybe Prelude.Bool)+policy_deleteUnusedFMManagedResources = Lens.lens (\Policy' {deleteUnusedFMManagedResources} -> deleteUnusedFMManagedResources) (\s@Policy' {} a -> s {deleteUnusedFMManagedResources = a} :: Policy)++-- | Specifies the Amazon Web Services account IDs and Organizations+-- organizational units (OUs) to exclude from the policy. Specifying an OU+-- is the equivalent of specifying all accounts in the OU and in any of its+-- child OUs, including any child OUs and accounts that are added at a+-- later time.+--+-- You can specify inclusions or exclusions, but not both. If you specify+-- an @IncludeMap@, Firewall Manager applies the policy to all accounts+-- specified by the @IncludeMap@, and does not evaluate any @ExcludeMap@+-- specifications. If you do not specify an @IncludeMap@, then Firewall+-- Manager applies the policy to all accounts except for those specified by+-- the @ExcludeMap@.+--+-- You can specify account IDs, OUs, or a combination:+--+-- -   Specify account IDs by setting the key to @ACCOUNT@. For example,+--     the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”]}@.+--+-- -   Specify OUs by setting the key to @ORG_UNIT@. For example, the+--     following is a valid map: @{“ORG_UNIT” : [“ouid111”, “ouid112”]}@.+--+-- -   Specify accounts and OUs together in a single map, separated with a+--     comma. For example, the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}@.+policy_excludeMap :: Lens.Lens' Policy (Prelude.Maybe (Prelude.HashMap CustomerPolicyScopeIdType [Prelude.Text]))+policy_excludeMap = Lens.lens (\Policy' {excludeMap} -> excludeMap) (\s@Policy' {} a -> s {excludeMap = a} :: Policy) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the Amazon Web Services account IDs and Organizations+-- organizational units (OUs) to include in the policy. Specifying an OU is+-- the equivalent of specifying all accounts in the OU and in any of its+-- child OUs, including any child OUs and accounts that are added at a+-- later time.+--+-- You can specify inclusions or exclusions, but not both. If you specify+-- an @IncludeMap@, Firewall Manager applies the policy to all accounts+-- specified by the @IncludeMap@, and does not evaluate any @ExcludeMap@+-- specifications. If you do not specify an @IncludeMap@, then Firewall+-- Manager applies the policy to all accounts except for those specified by+-- the @ExcludeMap@.+--+-- You can specify account IDs, OUs, or a combination:+--+-- -   Specify account IDs by setting the key to @ACCOUNT@. For example,+--     the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”]}@.+--+-- -   Specify OUs by setting the key to @ORG_UNIT@. For example, the+--     following is a valid map: @{“ORG_UNIT” : [“ouid111”, “ouid112”]}@.+--+-- -   Specify accounts and OUs together in a single map, separated with a+--     comma. For example, the following is a valid map:+--     @{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}@.+policy_includeMap :: Lens.Lens' Policy (Prelude.Maybe (Prelude.HashMap CustomerPolicyScopeIdType [Prelude.Text]))+policy_includeMap = Lens.lens (\Policy' {includeMap} -> includeMap) (\s@Policy' {} a -> s {includeMap = a} :: Policy) Prelude.. Lens.mapping Lens.coerced++-- | The definition of the Network Firewall firewall policy.+policy_policyDescription :: Lens.Lens' Policy (Prelude.Maybe Prelude.Text)+policy_policyDescription = Lens.lens (\Policy' {policyDescription} -> policyDescription) (\s@Policy' {} a -> s {policyDescription = a} :: Policy)++-- | The ID of the Firewall Manager policy.+policy_policyId :: Lens.Lens' Policy (Prelude.Maybe Prelude.Text)+policy_policyId = Lens.lens (\Policy' {policyId} -> policyId) (\s@Policy' {} a -> s {policyId = a} :: Policy)++-- | A unique identifier for each update to the policy. When issuing a+-- @PutPolicy@ request, the @PolicyUpdateToken@ in the request must match+-- the @PolicyUpdateToken@ of the current policy version. To get the+-- @PolicyUpdateToken@ of the current policy version, use a @GetPolicy@+-- request.+policy_policyUpdateToken :: Lens.Lens' Policy (Prelude.Maybe Prelude.Text)+policy_policyUpdateToken = Lens.lens (\Policy' {policyUpdateToken} -> policyUpdateToken) (\s@Policy' {} a -> s {policyUpdateToken = a} :: Policy)++-- | The unique identifiers of the resource sets used by the policy.+policy_resourceSetIds :: Lens.Lens' Policy (Prelude.Maybe [Prelude.Text])+policy_resourceSetIds = Lens.lens (\Policy' {resourceSetIds} -> resourceSetIds) (\s@Policy' {} a -> s {resourceSetIds = a} :: Policy) Prelude.. Lens.mapping Lens.coerced++-- | An array of @ResourceTag@ objects.+policy_resourceTags :: Lens.Lens' Policy (Prelude.Maybe [ResourceTag])+policy_resourceTags = Lens.lens (\Policy' {resourceTags} -> resourceTags) (\s@Policy' {} a -> s {resourceTags = a} :: Policy) Prelude.. Lens.mapping Lens.coerced++-- | An array of @ResourceType@ objects. Use this only to specify multiple+-- resource types. To specify a single resource type, use @ResourceType@.+policy_resourceTypeList :: Lens.Lens' Policy (Prelude.Maybe [Prelude.Text])+policy_resourceTypeList = Lens.lens (\Policy' {resourceTypeList} -> resourceTypeList) (\s@Policy' {} a -> s {resourceTypeList = a} :: Policy) Prelude.. Lens.mapping Lens.coerced++-- | The name of the Firewall Manager policy.+policy_policyName :: Lens.Lens' Policy Prelude.Text+policy_policyName = Lens.lens (\Policy' {policyName} -> policyName) (\s@Policy' {} a -> s {policyName = a} :: Policy)++-- | Details about the security service that is being used to protect the+-- resources.+policy_securityServicePolicyData :: Lens.Lens' Policy SecurityServicePolicyData+policy_securityServicePolicyData = Lens.lens (\Policy' {securityServicePolicyData} -> securityServicePolicyData) (\s@Policy' {} a -> s {securityServicePolicyData = a} :: Policy)++-- | The type of resource protected by or in scope of the policy. This is in+-- the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- To apply this policy to multiple resource types, specify a resource type+-- of @ResourceTypeList@ and then specify the resource types in a+-- @ResourceTypeList@.+--+-- For WAF and Shield Advanced, resource types include+-- @AWS::ElasticLoadBalancingV2::LoadBalancer@,+-- @AWS::ElasticLoadBalancing::LoadBalancer@, @AWS::EC2::EIP@, and+-- @AWS::CloudFront::Distribution@. For a security group common policy,+-- valid values are @AWS::EC2::NetworkInterface@ and @AWS::EC2::Instance@.+-- For a security group content audit policy, valid values are+-- @AWS::EC2::SecurityGroup@, @AWS::EC2::NetworkInterface@, and+-- @AWS::EC2::Instance@. For a security group usage audit policy, the value+-- is @AWS::EC2::SecurityGroup@. For an Network Firewall policy or DNS+-- Firewall policy, the value is @AWS::EC2::VPC@.+policy_resourceType :: Lens.Lens' Policy Prelude.Text+policy_resourceType = Lens.lens (\Policy' {resourceType} -> resourceType) (\s@Policy' {} a -> s {resourceType = a} :: Policy)++-- | If set to @True@, resources with the tags that are specified in the+-- @ResourceTag@ array are not in scope of the policy. If set to @False@,+-- and the @ResourceTag@ array is not null, only resources with the+-- specified tags are in scope of the policy.+policy_excludeResourceTags :: Lens.Lens' Policy Prelude.Bool+policy_excludeResourceTags = Lens.lens (\Policy' {excludeResourceTags} -> excludeResourceTags) (\s@Policy' {} a -> s {excludeResourceTags = a} :: Policy)++-- | Indicates if the policy should be automatically applied to new+-- resources.+policy_remediationEnabled :: Lens.Lens' Policy Prelude.Bool+policy_remediationEnabled = Lens.lens (\Policy' {remediationEnabled} -> remediationEnabled) (\s@Policy' {} a -> s {remediationEnabled = a} :: Policy)++instance Data.FromJSON Policy where+  parseJSON =+    Data.withObject+      "Policy"+      ( \x ->+          Policy'+            Prelude.<$> (x Data..:? "DeleteUnusedFMManagedResources")+            Prelude.<*> (x Data..:? "ExcludeMap" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "IncludeMap" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "PolicyDescription")+            Prelude.<*> (x Data..:? "PolicyId")+            Prelude.<*> (x Data..:? "PolicyUpdateToken")+            Prelude.<*> (x Data..:? "ResourceSetIds" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ResourceTags" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "ResourceTypeList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "PolicyName")+            Prelude.<*> (x Data..: "SecurityServicePolicyData")+            Prelude.<*> (x Data..: "ResourceType")+            Prelude.<*> (x Data..: "ExcludeResourceTags")+            Prelude.<*> (x Data..: "RemediationEnabled")+      )++instance Prelude.Hashable Policy where+  hashWithSalt _salt Policy' {..} =+    _salt+      `Prelude.hashWithSalt` deleteUnusedFMManagedResources+      `Prelude.hashWithSalt` excludeMap+      `Prelude.hashWithSalt` includeMap+      `Prelude.hashWithSalt` policyDescription+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` policyUpdateToken+      `Prelude.hashWithSalt` resourceSetIds+      `Prelude.hashWithSalt` resourceTags+      `Prelude.hashWithSalt` resourceTypeList+      `Prelude.hashWithSalt` policyName+      `Prelude.hashWithSalt` securityServicePolicyData+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` excludeResourceTags+      `Prelude.hashWithSalt` remediationEnabled++instance Prelude.NFData Policy where+  rnf Policy' {..} =+    Prelude.rnf deleteUnusedFMManagedResources+      `Prelude.seq` Prelude.rnf excludeMap+      `Prelude.seq` Prelude.rnf includeMap+      `Prelude.seq` Prelude.rnf policyDescription+      `Prelude.seq` Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf policyUpdateToken+      `Prelude.seq` Prelude.rnf resourceSetIds+      `Prelude.seq` Prelude.rnf resourceTags+      `Prelude.seq` Prelude.rnf resourceTypeList+      `Prelude.seq` Prelude.rnf policyName+      `Prelude.seq` Prelude.rnf securityServicePolicyData+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf excludeResourceTags+      `Prelude.seq` Prelude.rnf remediationEnabled++instance Data.ToJSON Policy where+  toJSON Policy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DeleteUnusedFMManagedResources" Data..=)+              Prelude.<$> deleteUnusedFMManagedResources,+            ("ExcludeMap" Data..=) Prelude.<$> excludeMap,+            ("IncludeMap" Data..=) Prelude.<$> includeMap,+            ("PolicyDescription" Data..=)+              Prelude.<$> policyDescription,+            ("PolicyId" Data..=) Prelude.<$> policyId,+            ("PolicyUpdateToken" Data..=)+              Prelude.<$> policyUpdateToken,+            ("ResourceSetIds" Data..=)+              Prelude.<$> resourceSetIds,+            ("ResourceTags" Data..=) Prelude.<$> resourceTags,+            ("ResourceTypeList" Data..=)+              Prelude.<$> resourceTypeList,+            Prelude.Just ("PolicyName" Data..= policyName),+            Prelude.Just+              ( "SecurityServicePolicyData"+                  Data..= securityServicePolicyData+              ),+            Prelude.Just ("ResourceType" Data..= resourceType),+            Prelude.Just+              ("ExcludeResourceTags" Data..= excludeResourceTags),+            Prelude.Just+              ("RemediationEnabled" Data..= remediationEnabled)+          ]+      )
+ gen/Amazonka/FMS/Types/PolicyComplianceDetail.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PolicyComplianceDetail+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PolicyComplianceDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ComplianceViolator+import Amazonka.FMS.Types.DependentServiceName+import qualified Amazonka.Prelude as Prelude++-- | Describes the noncompliant resources in a member account for a specific+-- Firewall Manager policy. A maximum of 100 entries are displayed. If more+-- than 100 resources are noncompliant, @EvaluationLimitExceeded@ is set to+-- @True@.+--+-- /See:/ 'newPolicyComplianceDetail' smart constructor.+data PolicyComplianceDetail = PolicyComplianceDetail'+  { -- | Indicates if over 100 resources are noncompliant with the Firewall+    -- Manager policy.+    evaluationLimitExceeded :: Prelude.Maybe Prelude.Bool,+    -- | A timestamp that indicates when the returned information should be+    -- considered out of date.+    expiredAt :: Prelude.Maybe Data.POSIX,+    -- | Details about problems with dependent services, such as WAF or Config,+    -- and the error message received that indicates the problem with the+    -- service.+    issueInfoMap :: Prelude.Maybe (Prelude.HashMap DependentServiceName Prelude.Text),+    -- | The Amazon Web Services account ID.+    memberAccount :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Firewall Manager policy.+    policyId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account that created the Firewall Manager+    -- policy.+    policyOwner :: Prelude.Maybe Prelude.Text,+    -- | An array of resources that aren\'t protected by the WAF or Shield+    -- Advanced policy or that aren\'t in compliance with the security group+    -- policy.+    violators :: Prelude.Maybe [ComplianceViolator]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PolicyComplianceDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'evaluationLimitExceeded', 'policyComplianceDetail_evaluationLimitExceeded' - Indicates if over 100 resources are noncompliant with the Firewall+-- Manager policy.+--+-- 'expiredAt', 'policyComplianceDetail_expiredAt' - A timestamp that indicates when the returned information should be+-- considered out of date.+--+-- 'issueInfoMap', 'policyComplianceDetail_issueInfoMap' - Details about problems with dependent services, such as WAF or Config,+-- and the error message received that indicates the problem with the+-- service.+--+-- 'memberAccount', 'policyComplianceDetail_memberAccount' - The Amazon Web Services account ID.+--+-- 'policyId', 'policyComplianceDetail_policyId' - The ID of the Firewall Manager policy.+--+-- 'policyOwner', 'policyComplianceDetail_policyOwner' - The Amazon Web Services account that created the Firewall Manager+-- policy.+--+-- 'violators', 'policyComplianceDetail_violators' - An array of resources that aren\'t protected by the WAF or Shield+-- Advanced policy or that aren\'t in compliance with the security group+-- policy.+newPolicyComplianceDetail ::+  PolicyComplianceDetail+newPolicyComplianceDetail =+  PolicyComplianceDetail'+    { evaluationLimitExceeded =+        Prelude.Nothing,+      expiredAt = Prelude.Nothing,+      issueInfoMap = Prelude.Nothing,+      memberAccount = Prelude.Nothing,+      policyId = Prelude.Nothing,+      policyOwner = Prelude.Nothing,+      violators = Prelude.Nothing+    }++-- | Indicates if over 100 resources are noncompliant with the Firewall+-- Manager policy.+policyComplianceDetail_evaluationLimitExceeded :: Lens.Lens' PolicyComplianceDetail (Prelude.Maybe Prelude.Bool)+policyComplianceDetail_evaluationLimitExceeded = Lens.lens (\PolicyComplianceDetail' {evaluationLimitExceeded} -> evaluationLimitExceeded) (\s@PolicyComplianceDetail' {} a -> s {evaluationLimitExceeded = a} :: PolicyComplianceDetail)++-- | A timestamp that indicates when the returned information should be+-- considered out of date.+policyComplianceDetail_expiredAt :: Lens.Lens' PolicyComplianceDetail (Prelude.Maybe Prelude.UTCTime)+policyComplianceDetail_expiredAt = Lens.lens (\PolicyComplianceDetail' {expiredAt} -> expiredAt) (\s@PolicyComplianceDetail' {} a -> s {expiredAt = a} :: PolicyComplianceDetail) Prelude.. Lens.mapping Data._Time++-- | Details about problems with dependent services, such as WAF or Config,+-- and the error message received that indicates the problem with the+-- service.+policyComplianceDetail_issueInfoMap :: Lens.Lens' PolicyComplianceDetail (Prelude.Maybe (Prelude.HashMap DependentServiceName Prelude.Text))+policyComplianceDetail_issueInfoMap = Lens.lens (\PolicyComplianceDetail' {issueInfoMap} -> issueInfoMap) (\s@PolicyComplianceDetail' {} a -> s {issueInfoMap = a} :: PolicyComplianceDetail) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services account ID.+policyComplianceDetail_memberAccount :: Lens.Lens' PolicyComplianceDetail (Prelude.Maybe Prelude.Text)+policyComplianceDetail_memberAccount = Lens.lens (\PolicyComplianceDetail' {memberAccount} -> memberAccount) (\s@PolicyComplianceDetail' {} a -> s {memberAccount = a} :: PolicyComplianceDetail)++-- | The ID of the Firewall Manager policy.+policyComplianceDetail_policyId :: Lens.Lens' PolicyComplianceDetail (Prelude.Maybe Prelude.Text)+policyComplianceDetail_policyId = Lens.lens (\PolicyComplianceDetail' {policyId} -> policyId) (\s@PolicyComplianceDetail' {} a -> s {policyId = a} :: PolicyComplianceDetail)++-- | The Amazon Web Services account that created the Firewall Manager+-- policy.+policyComplianceDetail_policyOwner :: Lens.Lens' PolicyComplianceDetail (Prelude.Maybe Prelude.Text)+policyComplianceDetail_policyOwner = Lens.lens (\PolicyComplianceDetail' {policyOwner} -> policyOwner) (\s@PolicyComplianceDetail' {} a -> s {policyOwner = a} :: PolicyComplianceDetail)++-- | An array of resources that aren\'t protected by the WAF or Shield+-- Advanced policy or that aren\'t in compliance with the security group+-- policy.+policyComplianceDetail_violators :: Lens.Lens' PolicyComplianceDetail (Prelude.Maybe [ComplianceViolator])+policyComplianceDetail_violators = Lens.lens (\PolicyComplianceDetail' {violators} -> violators) (\s@PolicyComplianceDetail' {} a -> s {violators = a} :: PolicyComplianceDetail) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PolicyComplianceDetail where+  parseJSON =+    Data.withObject+      "PolicyComplianceDetail"+      ( \x ->+          PolicyComplianceDetail'+            Prelude.<$> (x Data..:? "EvaluationLimitExceeded")+            Prelude.<*> (x Data..:? "ExpiredAt")+            Prelude.<*> (x Data..:? "IssueInfoMap" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "MemberAccount")+            Prelude.<*> (x Data..:? "PolicyId")+            Prelude.<*> (x Data..:? "PolicyOwner")+            Prelude.<*> (x Data..:? "Violators" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable PolicyComplianceDetail where+  hashWithSalt _salt PolicyComplianceDetail' {..} =+    _salt+      `Prelude.hashWithSalt` evaluationLimitExceeded+      `Prelude.hashWithSalt` expiredAt+      `Prelude.hashWithSalt` issueInfoMap+      `Prelude.hashWithSalt` memberAccount+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` policyOwner+      `Prelude.hashWithSalt` violators++instance Prelude.NFData PolicyComplianceDetail where+  rnf PolicyComplianceDetail' {..} =+    Prelude.rnf evaluationLimitExceeded+      `Prelude.seq` Prelude.rnf expiredAt+      `Prelude.seq` Prelude.rnf issueInfoMap+      `Prelude.seq` Prelude.rnf memberAccount+      `Prelude.seq` Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf policyOwner+      `Prelude.seq` Prelude.rnf violators
+ gen/Amazonka/FMS/Types/PolicyComplianceStatus.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PolicyComplianceStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PolicyComplianceStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.DependentServiceName+import Amazonka.FMS.Types.EvaluationResult+import qualified Amazonka.Prelude as Prelude++-- | Indicates whether the account is compliant with the specified policy. An+-- account is considered noncompliant if it includes resources that are not+-- protected by the policy, for WAF and Shield Advanced policies, or that+-- are noncompliant with the policy, for security group policies.+--+-- /See:/ 'newPolicyComplianceStatus' smart constructor.+data PolicyComplianceStatus = PolicyComplianceStatus'+  { -- | An array of @EvaluationResult@ objects.+    evaluationResults :: Prelude.Maybe [EvaluationResult],+    -- | Details about problems with dependent services, such as WAF or Config,+    -- and the error message received that indicates the problem with the+    -- service.+    issueInfoMap :: Prelude.Maybe (Prelude.HashMap DependentServiceName Prelude.Text),+    -- | Timestamp of the last update to the @EvaluationResult@ objects.+    lastUpdated :: Prelude.Maybe Data.POSIX,+    -- | The member account ID.+    memberAccount :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Firewall Manager policy.+    policyId :: Prelude.Maybe Prelude.Text,+    -- | The name of the Firewall Manager policy.+    policyName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account that created the Firewall Manager+    -- policy.+    policyOwner :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PolicyComplianceStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'evaluationResults', 'policyComplianceStatus_evaluationResults' - An array of @EvaluationResult@ objects.+--+-- 'issueInfoMap', 'policyComplianceStatus_issueInfoMap' - Details about problems with dependent services, such as WAF or Config,+-- and the error message received that indicates the problem with the+-- service.+--+-- 'lastUpdated', 'policyComplianceStatus_lastUpdated' - Timestamp of the last update to the @EvaluationResult@ objects.+--+-- 'memberAccount', 'policyComplianceStatus_memberAccount' - The member account ID.+--+-- 'policyId', 'policyComplianceStatus_policyId' - The ID of the Firewall Manager policy.+--+-- 'policyName', 'policyComplianceStatus_policyName' - The name of the Firewall Manager policy.+--+-- 'policyOwner', 'policyComplianceStatus_policyOwner' - The Amazon Web Services account that created the Firewall Manager+-- policy.+newPolicyComplianceStatus ::+  PolicyComplianceStatus+newPolicyComplianceStatus =+  PolicyComplianceStatus'+    { evaluationResults =+        Prelude.Nothing,+      issueInfoMap = Prelude.Nothing,+      lastUpdated = Prelude.Nothing,+      memberAccount = Prelude.Nothing,+      policyId = Prelude.Nothing,+      policyName = Prelude.Nothing,+      policyOwner = Prelude.Nothing+    }++-- | An array of @EvaluationResult@ objects.+policyComplianceStatus_evaluationResults :: Lens.Lens' PolicyComplianceStatus (Prelude.Maybe [EvaluationResult])+policyComplianceStatus_evaluationResults = Lens.lens (\PolicyComplianceStatus' {evaluationResults} -> evaluationResults) (\s@PolicyComplianceStatus' {} a -> s {evaluationResults = a} :: PolicyComplianceStatus) Prelude.. Lens.mapping Lens.coerced++-- | Details about problems with dependent services, such as WAF or Config,+-- and the error message received that indicates the problem with the+-- service.+policyComplianceStatus_issueInfoMap :: Lens.Lens' PolicyComplianceStatus (Prelude.Maybe (Prelude.HashMap DependentServiceName Prelude.Text))+policyComplianceStatus_issueInfoMap = Lens.lens (\PolicyComplianceStatus' {issueInfoMap} -> issueInfoMap) (\s@PolicyComplianceStatus' {} a -> s {issueInfoMap = a} :: PolicyComplianceStatus) Prelude.. Lens.mapping Lens.coerced++-- | Timestamp of the last update to the @EvaluationResult@ objects.+policyComplianceStatus_lastUpdated :: Lens.Lens' PolicyComplianceStatus (Prelude.Maybe Prelude.UTCTime)+policyComplianceStatus_lastUpdated = Lens.lens (\PolicyComplianceStatus' {lastUpdated} -> lastUpdated) (\s@PolicyComplianceStatus' {} a -> s {lastUpdated = a} :: PolicyComplianceStatus) Prelude.. Lens.mapping Data._Time++-- | The member account ID.+policyComplianceStatus_memberAccount :: Lens.Lens' PolicyComplianceStatus (Prelude.Maybe Prelude.Text)+policyComplianceStatus_memberAccount = Lens.lens (\PolicyComplianceStatus' {memberAccount} -> memberAccount) (\s@PolicyComplianceStatus' {} a -> s {memberAccount = a} :: PolicyComplianceStatus)++-- | The ID of the Firewall Manager policy.+policyComplianceStatus_policyId :: Lens.Lens' PolicyComplianceStatus (Prelude.Maybe Prelude.Text)+policyComplianceStatus_policyId = Lens.lens (\PolicyComplianceStatus' {policyId} -> policyId) (\s@PolicyComplianceStatus' {} a -> s {policyId = a} :: PolicyComplianceStatus)++-- | The name of the Firewall Manager policy.+policyComplianceStatus_policyName :: Lens.Lens' PolicyComplianceStatus (Prelude.Maybe Prelude.Text)+policyComplianceStatus_policyName = Lens.lens (\PolicyComplianceStatus' {policyName} -> policyName) (\s@PolicyComplianceStatus' {} a -> s {policyName = a} :: PolicyComplianceStatus)++-- | The Amazon Web Services account that created the Firewall Manager+-- policy.+policyComplianceStatus_policyOwner :: Lens.Lens' PolicyComplianceStatus (Prelude.Maybe Prelude.Text)+policyComplianceStatus_policyOwner = Lens.lens (\PolicyComplianceStatus' {policyOwner} -> policyOwner) (\s@PolicyComplianceStatus' {} a -> s {policyOwner = a} :: PolicyComplianceStatus)++instance Data.FromJSON PolicyComplianceStatus where+  parseJSON =+    Data.withObject+      "PolicyComplianceStatus"+      ( \x ->+          PolicyComplianceStatus'+            Prelude.<$> ( x+                            Data..:? "EvaluationResults"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "IssueInfoMap" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "LastUpdated")+            Prelude.<*> (x Data..:? "MemberAccount")+            Prelude.<*> (x Data..:? "PolicyId")+            Prelude.<*> (x Data..:? "PolicyName")+            Prelude.<*> (x Data..:? "PolicyOwner")+      )++instance Prelude.Hashable PolicyComplianceStatus where+  hashWithSalt _salt PolicyComplianceStatus' {..} =+    _salt+      `Prelude.hashWithSalt` evaluationResults+      `Prelude.hashWithSalt` issueInfoMap+      `Prelude.hashWithSalt` lastUpdated+      `Prelude.hashWithSalt` memberAccount+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` policyName+      `Prelude.hashWithSalt` policyOwner++instance Prelude.NFData PolicyComplianceStatus where+  rnf PolicyComplianceStatus' {..} =+    Prelude.rnf evaluationResults+      `Prelude.seq` Prelude.rnf issueInfoMap+      `Prelude.seq` Prelude.rnf lastUpdated+      `Prelude.seq` Prelude.rnf memberAccount+      `Prelude.seq` Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf policyName+      `Prelude.seq` Prelude.rnf policyOwner
+ gen/Amazonka/FMS/Types/PolicyComplianceStatusType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PolicyComplianceStatusType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PolicyComplianceStatusType+  ( PolicyComplianceStatusType+      ( ..,+        PolicyComplianceStatusType_COMPLIANT,+        PolicyComplianceStatusType_NON_COMPLIANT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PolicyComplianceStatusType = PolicyComplianceStatusType'+  { fromPolicyComplianceStatusType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern PolicyComplianceStatusType_COMPLIANT :: PolicyComplianceStatusType+pattern PolicyComplianceStatusType_COMPLIANT = PolicyComplianceStatusType' "COMPLIANT"++pattern PolicyComplianceStatusType_NON_COMPLIANT :: PolicyComplianceStatusType+pattern PolicyComplianceStatusType_NON_COMPLIANT = PolicyComplianceStatusType' "NON_COMPLIANT"++{-# COMPLETE+  PolicyComplianceStatusType_COMPLIANT,+  PolicyComplianceStatusType_NON_COMPLIANT,+  PolicyComplianceStatusType'+  #-}
+ gen/Amazonka/FMS/Types/PolicyOption.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PolicyOption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PolicyOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.NetworkFirewallPolicy+import Amazonka.FMS.Types.ThirdPartyFirewallPolicy+import qualified Amazonka.Prelude as Prelude++-- | Contains the Network Firewall firewall policy options to configure the+-- policy\'s deployment model and third-party firewall policy settings.+--+-- /See:/ 'newPolicyOption' smart constructor.+data PolicyOption = PolicyOption'+  { -- | Defines the deployment model to use for the firewall policy.+    networkFirewallPolicy :: Prelude.Maybe NetworkFirewallPolicy,+    -- | Defines the policy options for a third-party firewall policy.+    thirdPartyFirewallPolicy :: Prelude.Maybe ThirdPartyFirewallPolicy+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PolicyOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkFirewallPolicy', 'policyOption_networkFirewallPolicy' - Defines the deployment model to use for the firewall policy.+--+-- 'thirdPartyFirewallPolicy', 'policyOption_thirdPartyFirewallPolicy' - Defines the policy options for a third-party firewall policy.+newPolicyOption ::+  PolicyOption+newPolicyOption =+  PolicyOption'+    { networkFirewallPolicy =+        Prelude.Nothing,+      thirdPartyFirewallPolicy = Prelude.Nothing+    }++-- | Defines the deployment model to use for the firewall policy.+policyOption_networkFirewallPolicy :: Lens.Lens' PolicyOption (Prelude.Maybe NetworkFirewallPolicy)+policyOption_networkFirewallPolicy = Lens.lens (\PolicyOption' {networkFirewallPolicy} -> networkFirewallPolicy) (\s@PolicyOption' {} a -> s {networkFirewallPolicy = a} :: PolicyOption)++-- | Defines the policy options for a third-party firewall policy.+policyOption_thirdPartyFirewallPolicy :: Lens.Lens' PolicyOption (Prelude.Maybe ThirdPartyFirewallPolicy)+policyOption_thirdPartyFirewallPolicy = Lens.lens (\PolicyOption' {thirdPartyFirewallPolicy} -> thirdPartyFirewallPolicy) (\s@PolicyOption' {} a -> s {thirdPartyFirewallPolicy = a} :: PolicyOption)++instance Data.FromJSON PolicyOption where+  parseJSON =+    Data.withObject+      "PolicyOption"+      ( \x ->+          PolicyOption'+            Prelude.<$> (x Data..:? "NetworkFirewallPolicy")+            Prelude.<*> (x Data..:? "ThirdPartyFirewallPolicy")+      )++instance Prelude.Hashable PolicyOption where+  hashWithSalt _salt PolicyOption' {..} =+    _salt+      `Prelude.hashWithSalt` networkFirewallPolicy+      `Prelude.hashWithSalt` thirdPartyFirewallPolicy++instance Prelude.NFData PolicyOption where+  rnf PolicyOption' {..} =+    Prelude.rnf networkFirewallPolicy+      `Prelude.seq` Prelude.rnf thirdPartyFirewallPolicy++instance Data.ToJSON PolicyOption where+  toJSON PolicyOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NetworkFirewallPolicy" Data..=)+              Prelude.<$> networkFirewallPolicy,+            ("ThirdPartyFirewallPolicy" Data..=)+              Prelude.<$> thirdPartyFirewallPolicy+          ]+      )
+ gen/Amazonka/FMS/Types/PolicySummary.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PolicySummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PolicySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.SecurityServiceType+import qualified Amazonka.Prelude as Prelude++-- | Details of the Firewall Manager policy.+--+-- /See:/ 'newPolicySummary' smart constructor.+data PolicySummary = PolicySummary'+  { -- | Indicates whether Firewall Manager should automatically remove+    -- protections from resources that leave the policy scope and clean up+    -- resources that Firewall Manager is managing for accounts when those+    -- accounts leave policy scope. For example, Firewall Manager will+    -- disassociate a Firewall Manager managed web ACL from a protected+    -- customer resource when the customer resource leaves policy scope.+    --+    -- By default, Firewall Manager doesn\'t remove protections or delete+    -- Firewall Manager managed resources.+    --+    -- This option is not available for Shield Advanced or WAF Classic+    -- policies.+    deleteUnusedFMManagedResources :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Resource Name (ARN) of the specified policy.+    policyArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the specified policy.+    policyId :: Prelude.Maybe Prelude.Text,+    -- | The name of the specified policy.+    policyName :: Prelude.Maybe Prelude.Text,+    -- | Indicates if the policy should be automatically applied to new+    -- resources.+    remediationEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The type of resource protected by or in scope of the policy. This is in+    -- the format shown in the+    -- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+    -- For WAF and Shield Advanced, examples include+    -- @AWS::ElasticLoadBalancingV2::LoadBalancer@ and+    -- @AWS::CloudFront::Distribution@. For a security group common policy,+    -- valid values are @AWS::EC2::NetworkInterface@ and @AWS::EC2::Instance@.+    -- For a security group content audit policy, valid values are+    -- @AWS::EC2::SecurityGroup@, @AWS::EC2::NetworkInterface@, and+    -- @AWS::EC2::Instance@. For a security group usage audit policy, the value+    -- is @AWS::EC2::SecurityGroup@. For an Network Firewall policy or DNS+    -- Firewall policy, the value is @AWS::EC2::VPC@.+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The service that the policy is using to protect the resources. This+    -- specifies the type of policy that is created, either an WAF policy, a+    -- Shield Advanced policy, or a security group policy.+    securityServiceType :: Prelude.Maybe SecurityServiceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PolicySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteUnusedFMManagedResources', 'policySummary_deleteUnusedFMManagedResources' - Indicates whether Firewall Manager should automatically remove+-- protections from resources that leave the policy scope and clean up+-- resources that Firewall Manager is managing for accounts when those+-- accounts leave policy scope. For example, Firewall Manager will+-- disassociate a Firewall Manager managed web ACL from a protected+-- customer resource when the customer resource leaves policy scope.+--+-- By default, Firewall Manager doesn\'t remove protections or delete+-- Firewall Manager managed resources.+--+-- This option is not available for Shield Advanced or WAF Classic+-- policies.+--+-- 'policyArn', 'policySummary_policyArn' - The Amazon Resource Name (ARN) of the specified policy.+--+-- 'policyId', 'policySummary_policyId' - The ID of the specified policy.+--+-- 'policyName', 'policySummary_policyName' - The name of the specified policy.+--+-- 'remediationEnabled', 'policySummary_remediationEnabled' - Indicates if the policy should be automatically applied to new+-- resources.+--+-- 'resourceType', 'policySummary_resourceType' - The type of resource protected by or in scope of the policy. This is in+-- the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- For WAF and Shield Advanced, examples include+-- @AWS::ElasticLoadBalancingV2::LoadBalancer@ and+-- @AWS::CloudFront::Distribution@. For a security group common policy,+-- valid values are @AWS::EC2::NetworkInterface@ and @AWS::EC2::Instance@.+-- For a security group content audit policy, valid values are+-- @AWS::EC2::SecurityGroup@, @AWS::EC2::NetworkInterface@, and+-- @AWS::EC2::Instance@. For a security group usage audit policy, the value+-- is @AWS::EC2::SecurityGroup@. For an Network Firewall policy or DNS+-- Firewall policy, the value is @AWS::EC2::VPC@.+--+-- 'securityServiceType', 'policySummary_securityServiceType' - The service that the policy is using to protect the resources. This+-- specifies the type of policy that is created, either an WAF policy, a+-- Shield Advanced policy, or a security group policy.+newPolicySummary ::+  PolicySummary+newPolicySummary =+  PolicySummary'+    { deleteUnusedFMManagedResources =+        Prelude.Nothing,+      policyArn = Prelude.Nothing,+      policyId = Prelude.Nothing,+      policyName = Prelude.Nothing,+      remediationEnabled = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      securityServiceType = Prelude.Nothing+    }++-- | Indicates whether Firewall Manager should automatically remove+-- protections from resources that leave the policy scope and clean up+-- resources that Firewall Manager is managing for accounts when those+-- accounts leave policy scope. For example, Firewall Manager will+-- disassociate a Firewall Manager managed web ACL from a protected+-- customer resource when the customer resource leaves policy scope.+--+-- By default, Firewall Manager doesn\'t remove protections or delete+-- Firewall Manager managed resources.+--+-- This option is not available for Shield Advanced or WAF Classic+-- policies.+policySummary_deleteUnusedFMManagedResources :: Lens.Lens' PolicySummary (Prelude.Maybe Prelude.Bool)+policySummary_deleteUnusedFMManagedResources = Lens.lens (\PolicySummary' {deleteUnusedFMManagedResources} -> deleteUnusedFMManagedResources) (\s@PolicySummary' {} a -> s {deleteUnusedFMManagedResources = a} :: PolicySummary)++-- | The Amazon Resource Name (ARN) of the specified policy.+policySummary_policyArn :: Lens.Lens' PolicySummary (Prelude.Maybe Prelude.Text)+policySummary_policyArn = Lens.lens (\PolicySummary' {policyArn} -> policyArn) (\s@PolicySummary' {} a -> s {policyArn = a} :: PolicySummary)++-- | The ID of the specified policy.+policySummary_policyId :: Lens.Lens' PolicySummary (Prelude.Maybe Prelude.Text)+policySummary_policyId = Lens.lens (\PolicySummary' {policyId} -> policyId) (\s@PolicySummary' {} a -> s {policyId = a} :: PolicySummary)++-- | The name of the specified policy.+policySummary_policyName :: Lens.Lens' PolicySummary (Prelude.Maybe Prelude.Text)+policySummary_policyName = Lens.lens (\PolicySummary' {policyName} -> policyName) (\s@PolicySummary' {} a -> s {policyName = a} :: PolicySummary)++-- | Indicates if the policy should be automatically applied to new+-- resources.+policySummary_remediationEnabled :: Lens.Lens' PolicySummary (Prelude.Maybe Prelude.Bool)+policySummary_remediationEnabled = Lens.lens (\PolicySummary' {remediationEnabled} -> remediationEnabled) (\s@PolicySummary' {} a -> s {remediationEnabled = a} :: PolicySummary)++-- | The type of resource protected by or in scope of the policy. This is in+-- the format shown in the+-- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html Amazon Web Services Resource Types Reference>.+-- For WAF and Shield Advanced, examples include+-- @AWS::ElasticLoadBalancingV2::LoadBalancer@ and+-- @AWS::CloudFront::Distribution@. For a security group common policy,+-- valid values are @AWS::EC2::NetworkInterface@ and @AWS::EC2::Instance@.+-- For a security group content audit policy, valid values are+-- @AWS::EC2::SecurityGroup@, @AWS::EC2::NetworkInterface@, and+-- @AWS::EC2::Instance@. For a security group usage audit policy, the value+-- is @AWS::EC2::SecurityGroup@. For an Network Firewall policy or DNS+-- Firewall policy, the value is @AWS::EC2::VPC@.+policySummary_resourceType :: Lens.Lens' PolicySummary (Prelude.Maybe Prelude.Text)+policySummary_resourceType = Lens.lens (\PolicySummary' {resourceType} -> resourceType) (\s@PolicySummary' {} a -> s {resourceType = a} :: PolicySummary)++-- | The service that the policy is using to protect the resources. This+-- specifies the type of policy that is created, either an WAF policy, a+-- Shield Advanced policy, or a security group policy.+policySummary_securityServiceType :: Lens.Lens' PolicySummary (Prelude.Maybe SecurityServiceType)+policySummary_securityServiceType = Lens.lens (\PolicySummary' {securityServiceType} -> securityServiceType) (\s@PolicySummary' {} a -> s {securityServiceType = a} :: PolicySummary)++instance Data.FromJSON PolicySummary where+  parseJSON =+    Data.withObject+      "PolicySummary"+      ( \x ->+          PolicySummary'+            Prelude.<$> (x Data..:? "DeleteUnusedFMManagedResources")+            Prelude.<*> (x Data..:? "PolicyArn")+            Prelude.<*> (x Data..:? "PolicyId")+            Prelude.<*> (x Data..:? "PolicyName")+            Prelude.<*> (x Data..:? "RemediationEnabled")+            Prelude.<*> (x Data..:? "ResourceType")+            Prelude.<*> (x Data..:? "SecurityServiceType")+      )++instance Prelude.Hashable PolicySummary where+  hashWithSalt _salt PolicySummary' {..} =+    _salt+      `Prelude.hashWithSalt` deleteUnusedFMManagedResources+      `Prelude.hashWithSalt` policyArn+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` policyName+      `Prelude.hashWithSalt` remediationEnabled+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` securityServiceType++instance Prelude.NFData PolicySummary where+  rnf PolicySummary' {..} =+    Prelude.rnf deleteUnusedFMManagedResources+      `Prelude.seq` Prelude.rnf policyArn+      `Prelude.seq` Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf policyName+      `Prelude.seq` Prelude.rnf remediationEnabled+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf securityServiceType
+ gen/Amazonka/FMS/Types/PossibleRemediationAction.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PossibleRemediationAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PossibleRemediationAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.RemediationActionWithOrder+import qualified Amazonka.Prelude as Prelude++-- | A list of remediation actions.+--+-- /See:/ 'newPossibleRemediationAction' smart constructor.+data PossibleRemediationAction = PossibleRemediationAction'+  { -- | A description of the list of remediation actions.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about whether an action is taken by default.+    isDefaultAction :: Prelude.Maybe Prelude.Bool,+    -- | The ordered list of remediation actions.+    orderedRemediationActions :: [RemediationActionWithOrder]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PossibleRemediationAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'possibleRemediationAction_description' - A description of the list of remediation actions.+--+-- 'isDefaultAction', 'possibleRemediationAction_isDefaultAction' - Information about whether an action is taken by default.+--+-- 'orderedRemediationActions', 'possibleRemediationAction_orderedRemediationActions' - The ordered list of remediation actions.+newPossibleRemediationAction ::+  PossibleRemediationAction+newPossibleRemediationAction =+  PossibleRemediationAction'+    { description =+        Prelude.Nothing,+      isDefaultAction = Prelude.Nothing,+      orderedRemediationActions = Prelude.mempty+    }++-- | A description of the list of remediation actions.+possibleRemediationAction_description :: Lens.Lens' PossibleRemediationAction (Prelude.Maybe Prelude.Text)+possibleRemediationAction_description = Lens.lens (\PossibleRemediationAction' {description} -> description) (\s@PossibleRemediationAction' {} a -> s {description = a} :: PossibleRemediationAction)++-- | Information about whether an action is taken by default.+possibleRemediationAction_isDefaultAction :: Lens.Lens' PossibleRemediationAction (Prelude.Maybe Prelude.Bool)+possibleRemediationAction_isDefaultAction = Lens.lens (\PossibleRemediationAction' {isDefaultAction} -> isDefaultAction) (\s@PossibleRemediationAction' {} a -> s {isDefaultAction = a} :: PossibleRemediationAction)++-- | The ordered list of remediation actions.+possibleRemediationAction_orderedRemediationActions :: Lens.Lens' PossibleRemediationAction [RemediationActionWithOrder]+possibleRemediationAction_orderedRemediationActions = Lens.lens (\PossibleRemediationAction' {orderedRemediationActions} -> orderedRemediationActions) (\s@PossibleRemediationAction' {} a -> s {orderedRemediationActions = a} :: PossibleRemediationAction) Prelude.. Lens.coerced++instance Data.FromJSON PossibleRemediationAction where+  parseJSON =+    Data.withObject+      "PossibleRemediationAction"+      ( \x ->+          PossibleRemediationAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "IsDefaultAction")+            Prelude.<*> ( x+                            Data..:? "OrderedRemediationActions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PossibleRemediationAction where+  hashWithSalt _salt PossibleRemediationAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` isDefaultAction+      `Prelude.hashWithSalt` orderedRemediationActions++instance Prelude.NFData PossibleRemediationAction where+  rnf PossibleRemediationAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf isDefaultAction+      `Prelude.seq` Prelude.rnf orderedRemediationActions
+ gen/Amazonka/FMS/Types/PossibleRemediationActions.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.PossibleRemediationActions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.PossibleRemediationActions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.PossibleRemediationAction+import qualified Amazonka.Prelude as Prelude++-- | A list of possible remediation action lists. Each individual possible+-- remediation action is a list of individual remediation actions.+--+-- /See:/ 'newPossibleRemediationActions' smart constructor.+data PossibleRemediationActions = PossibleRemediationActions'+  { -- | Information about the actions.+    actions :: Prelude.Maybe [PossibleRemediationAction],+    -- | A description of the possible remediation actions list.+    description :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PossibleRemediationActions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'possibleRemediationActions_actions' - Information about the actions.+--+-- 'description', 'possibleRemediationActions_description' - A description of the possible remediation actions list.+newPossibleRemediationActions ::+  PossibleRemediationActions+newPossibleRemediationActions =+  PossibleRemediationActions'+    { actions =+        Prelude.Nothing,+      description = Prelude.Nothing+    }++-- | Information about the actions.+possibleRemediationActions_actions :: Lens.Lens' PossibleRemediationActions (Prelude.Maybe [PossibleRemediationAction])+possibleRemediationActions_actions = Lens.lens (\PossibleRemediationActions' {actions} -> actions) (\s@PossibleRemediationActions' {} a -> s {actions = a} :: PossibleRemediationActions) Prelude.. Lens.mapping Lens.coerced++-- | A description of the possible remediation actions list.+possibleRemediationActions_description :: Lens.Lens' PossibleRemediationActions (Prelude.Maybe Prelude.Text)+possibleRemediationActions_description = Lens.lens (\PossibleRemediationActions' {description} -> description) (\s@PossibleRemediationActions' {} a -> s {description = a} :: PossibleRemediationActions)++instance Data.FromJSON PossibleRemediationActions where+  parseJSON =+    Data.withObject+      "PossibleRemediationActions"+      ( \x ->+          PossibleRemediationActions'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Description")+      )++instance Prelude.Hashable PossibleRemediationActions where+  hashWithSalt _salt PossibleRemediationActions' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` description++instance Prelude.NFData PossibleRemediationActions where+  rnf PossibleRemediationActions' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf description
+ gen/Amazonka/FMS/Types/ProtocolsListData.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ProtocolsListData+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ProtocolsListData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An Firewall Manager protocols list.+--+-- /See:/ 'newProtocolsListData' smart constructor.+data ProtocolsListData = ProtocolsListData'+  { -- | The time that the Firewall Manager protocols list was created.+    createTime :: Prelude.Maybe Data.POSIX,+    -- | The time that the Firewall Manager protocols list was last updated.+    lastUpdateTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the Firewall Manager protocols list.+    listId :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for each update to the list. When you update the+    -- list, the update token must match the token of the current version of+    -- the application list. You can retrieve the update token by getting the+    -- list.+    listUpdateToken :: Prelude.Maybe Prelude.Text,+    -- | A map of previous version numbers to their corresponding protocol+    -- arrays.+    previousProtocolsList :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The name of the Firewall Manager protocols list.+    listName :: Prelude.Text,+    -- | An array of protocols in the Firewall Manager protocols list.+    protocolsList :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProtocolsListData' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createTime', 'protocolsListData_createTime' - The time that the Firewall Manager protocols list was created.+--+-- 'lastUpdateTime', 'protocolsListData_lastUpdateTime' - The time that the Firewall Manager protocols list was last updated.+--+-- 'listId', 'protocolsListData_listId' - The ID of the Firewall Manager protocols list.+--+-- 'listUpdateToken', 'protocolsListData_listUpdateToken' - A unique identifier for each update to the list. When you update the+-- list, the update token must match the token of the current version of+-- the application list. You can retrieve the update token by getting the+-- list.+--+-- 'previousProtocolsList', 'protocolsListData_previousProtocolsList' - A map of previous version numbers to their corresponding protocol+-- arrays.+--+-- 'listName', 'protocolsListData_listName' - The name of the Firewall Manager protocols list.+--+-- 'protocolsList', 'protocolsListData_protocolsList' - An array of protocols in the Firewall Manager protocols list.+newProtocolsListData ::+  -- | 'listName'+  Prelude.Text ->+  ProtocolsListData+newProtocolsListData pListName_ =+  ProtocolsListData'+    { createTime = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      listId = Prelude.Nothing,+      listUpdateToken = Prelude.Nothing,+      previousProtocolsList = Prelude.Nothing,+      listName = pListName_,+      protocolsList = Prelude.mempty+    }++-- | The time that the Firewall Manager protocols list was created.+protocolsListData_createTime :: Lens.Lens' ProtocolsListData (Prelude.Maybe Prelude.UTCTime)+protocolsListData_createTime = Lens.lens (\ProtocolsListData' {createTime} -> createTime) (\s@ProtocolsListData' {} a -> s {createTime = a} :: ProtocolsListData) Prelude.. Lens.mapping Data._Time++-- | The time that the Firewall Manager protocols list was last updated.+protocolsListData_lastUpdateTime :: Lens.Lens' ProtocolsListData (Prelude.Maybe Prelude.UTCTime)+protocolsListData_lastUpdateTime = Lens.lens (\ProtocolsListData' {lastUpdateTime} -> lastUpdateTime) (\s@ProtocolsListData' {} a -> s {lastUpdateTime = a} :: ProtocolsListData) Prelude.. Lens.mapping Data._Time++-- | The ID of the Firewall Manager protocols list.+protocolsListData_listId :: Lens.Lens' ProtocolsListData (Prelude.Maybe Prelude.Text)+protocolsListData_listId = Lens.lens (\ProtocolsListData' {listId} -> listId) (\s@ProtocolsListData' {} a -> s {listId = a} :: ProtocolsListData)++-- | A unique identifier for each update to the list. When you update the+-- list, the update token must match the token of the current version of+-- the application list. You can retrieve the update token by getting the+-- list.+protocolsListData_listUpdateToken :: Lens.Lens' ProtocolsListData (Prelude.Maybe Prelude.Text)+protocolsListData_listUpdateToken = Lens.lens (\ProtocolsListData' {listUpdateToken} -> listUpdateToken) (\s@ProtocolsListData' {} a -> s {listUpdateToken = a} :: ProtocolsListData)++-- | A map of previous version numbers to their corresponding protocol+-- arrays.+protocolsListData_previousProtocolsList :: Lens.Lens' ProtocolsListData (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+protocolsListData_previousProtocolsList = Lens.lens (\ProtocolsListData' {previousProtocolsList} -> previousProtocolsList) (\s@ProtocolsListData' {} a -> s {previousProtocolsList = a} :: ProtocolsListData) Prelude.. Lens.mapping Lens.coerced++-- | The name of the Firewall Manager protocols list.+protocolsListData_listName :: Lens.Lens' ProtocolsListData Prelude.Text+protocolsListData_listName = Lens.lens (\ProtocolsListData' {listName} -> listName) (\s@ProtocolsListData' {} a -> s {listName = a} :: ProtocolsListData)++-- | An array of protocols in the Firewall Manager protocols list.+protocolsListData_protocolsList :: Lens.Lens' ProtocolsListData [Prelude.Text]+protocolsListData_protocolsList = Lens.lens (\ProtocolsListData' {protocolsList} -> protocolsList) (\s@ProtocolsListData' {} a -> s {protocolsList = a} :: ProtocolsListData) Prelude.. Lens.coerced++instance Data.FromJSON ProtocolsListData where+  parseJSON =+    Data.withObject+      "ProtocolsListData"+      ( \x ->+          ProtocolsListData'+            Prelude.<$> (x Data..:? "CreateTime")+            Prelude.<*> (x Data..:? "LastUpdateTime")+            Prelude.<*> (x Data..:? "ListId")+            Prelude.<*> (x Data..:? "ListUpdateToken")+            Prelude.<*> ( x+                            Data..:? "PreviousProtocolsList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "ListName")+            Prelude.<*> (x Data..:? "ProtocolsList" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ProtocolsListData where+  hashWithSalt _salt ProtocolsListData' {..} =+    _salt+      `Prelude.hashWithSalt` createTime+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` listId+      `Prelude.hashWithSalt` listUpdateToken+      `Prelude.hashWithSalt` previousProtocolsList+      `Prelude.hashWithSalt` listName+      `Prelude.hashWithSalt` protocolsList++instance Prelude.NFData ProtocolsListData where+  rnf ProtocolsListData' {..} =+    Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf listId+      `Prelude.seq` Prelude.rnf listUpdateToken+      `Prelude.seq` Prelude.rnf previousProtocolsList+      `Prelude.seq` Prelude.rnf listName+      `Prelude.seq` Prelude.rnf protocolsList++instance Data.ToJSON ProtocolsListData where+  toJSON ProtocolsListData' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CreateTime" Data..=) Prelude.<$> createTime,+            ("LastUpdateTime" Data..=)+              Prelude.<$> lastUpdateTime,+            ("ListId" Data..=) Prelude.<$> listId,+            ("ListUpdateToken" Data..=)+              Prelude.<$> listUpdateToken,+            ("PreviousProtocolsList" Data..=)+              Prelude.<$> previousProtocolsList,+            Prelude.Just ("ListName" Data..= listName),+            Prelude.Just+              ("ProtocolsList" Data..= protocolsList)+          ]+      )
+ gen/Amazonka/FMS/Types/ProtocolsListDataSummary.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ProtocolsListDataSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ProtocolsListDataSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details of the Firewall Manager protocols list.+--+-- /See:/ 'newProtocolsListDataSummary' smart constructor.+data ProtocolsListDataSummary = ProtocolsListDataSummary'+  { -- | The Amazon Resource Name (ARN) of the specified protocols list.+    listArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the specified protocols list.+    listId :: Prelude.Maybe Prelude.Text,+    -- | The name of the specified protocols list.+    listName :: Prelude.Maybe Prelude.Text,+    -- | An array of protocols in the Firewall Manager protocols list.+    protocolsList :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProtocolsListDataSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'listArn', 'protocolsListDataSummary_listArn' - The Amazon Resource Name (ARN) of the specified protocols list.+--+-- 'listId', 'protocolsListDataSummary_listId' - The ID of the specified protocols list.+--+-- 'listName', 'protocolsListDataSummary_listName' - The name of the specified protocols list.+--+-- 'protocolsList', 'protocolsListDataSummary_protocolsList' - An array of protocols in the Firewall Manager protocols list.+newProtocolsListDataSummary ::+  ProtocolsListDataSummary+newProtocolsListDataSummary =+  ProtocolsListDataSummary'+    { listArn =+        Prelude.Nothing,+      listId = Prelude.Nothing,+      listName = Prelude.Nothing,+      protocolsList = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the specified protocols list.+protocolsListDataSummary_listArn :: Lens.Lens' ProtocolsListDataSummary (Prelude.Maybe Prelude.Text)+protocolsListDataSummary_listArn = Lens.lens (\ProtocolsListDataSummary' {listArn} -> listArn) (\s@ProtocolsListDataSummary' {} a -> s {listArn = a} :: ProtocolsListDataSummary)++-- | The ID of the specified protocols list.+protocolsListDataSummary_listId :: Lens.Lens' ProtocolsListDataSummary (Prelude.Maybe Prelude.Text)+protocolsListDataSummary_listId = Lens.lens (\ProtocolsListDataSummary' {listId} -> listId) (\s@ProtocolsListDataSummary' {} a -> s {listId = a} :: ProtocolsListDataSummary)++-- | The name of the specified protocols list.+protocolsListDataSummary_listName :: Lens.Lens' ProtocolsListDataSummary (Prelude.Maybe Prelude.Text)+protocolsListDataSummary_listName = Lens.lens (\ProtocolsListDataSummary' {listName} -> listName) (\s@ProtocolsListDataSummary' {} a -> s {listName = a} :: ProtocolsListDataSummary)++-- | An array of protocols in the Firewall Manager protocols list.+protocolsListDataSummary_protocolsList :: Lens.Lens' ProtocolsListDataSummary (Prelude.Maybe [Prelude.Text])+protocolsListDataSummary_protocolsList = Lens.lens (\ProtocolsListDataSummary' {protocolsList} -> protocolsList) (\s@ProtocolsListDataSummary' {} a -> s {protocolsList = a} :: ProtocolsListDataSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ProtocolsListDataSummary where+  parseJSON =+    Data.withObject+      "ProtocolsListDataSummary"+      ( \x ->+          ProtocolsListDataSummary'+            Prelude.<$> (x Data..:? "ListArn")+            Prelude.<*> (x Data..:? "ListId")+            Prelude.<*> (x Data..:? "ListName")+            Prelude.<*> (x Data..:? "ProtocolsList" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ProtocolsListDataSummary where+  hashWithSalt _salt ProtocolsListDataSummary' {..} =+    _salt+      `Prelude.hashWithSalt` listArn+      `Prelude.hashWithSalt` listId+      `Prelude.hashWithSalt` listName+      `Prelude.hashWithSalt` protocolsList++instance Prelude.NFData ProtocolsListDataSummary where+  rnf ProtocolsListDataSummary' {..} =+    Prelude.rnf listArn+      `Prelude.seq` Prelude.rnf listId+      `Prelude.seq` Prelude.rnf listName+      `Prelude.seq` Prelude.rnf protocolsList
+ gen/Amazonka/FMS/Types/RemediationAction.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.RemediationAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.RemediationAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.EC2AssociateRouteTableAction+import Amazonka.FMS.Types.EC2CopyRouteTableAction+import Amazonka.FMS.Types.EC2CreateRouteAction+import Amazonka.FMS.Types.EC2CreateRouteTableAction+import Amazonka.FMS.Types.EC2DeleteRouteAction+import Amazonka.FMS.Types.EC2ReplaceRouteAction+import Amazonka.FMS.Types.EC2ReplaceRouteTableAssociationAction+import Amazonka.FMS.Types.FMSPolicyUpdateFirewallCreationConfigAction+import qualified Amazonka.Prelude as Prelude++-- | Information about an individual action you can take to remediate a+-- violation.+--+-- /See:/ 'newRemediationAction' smart constructor.+data RemediationAction = RemediationAction'+  { -- | A description of a remediation action.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about the AssociateRouteTable action in the Amazon EC2 API.+    eC2AssociateRouteTableAction :: Prelude.Maybe EC2AssociateRouteTableAction,+    -- | Information about the CopyRouteTable action in the Amazon EC2 API.+    eC2CopyRouteTableAction :: Prelude.Maybe EC2CopyRouteTableAction,+    -- | Information about the CreateRoute action in the Amazon EC2 API.+    eC2CreateRouteAction :: Prelude.Maybe EC2CreateRouteAction,+    -- | Information about the CreateRouteTable action in the Amazon EC2 API.+    eC2CreateRouteTableAction :: Prelude.Maybe EC2CreateRouteTableAction,+    -- | Information about the DeleteRoute action in the Amazon EC2 API.+    eC2DeleteRouteAction :: Prelude.Maybe EC2DeleteRouteAction,+    -- | Information about the ReplaceRoute action in the Amazon EC2 API.+    eC2ReplaceRouteAction :: Prelude.Maybe EC2ReplaceRouteAction,+    -- | Information about the ReplaceRouteTableAssociation action in the Amazon+    -- EC2 API.+    eC2ReplaceRouteTableAssociationAction :: Prelude.Maybe EC2ReplaceRouteTableAssociationAction,+    -- | The remedial action to take when updating a firewall configuration.+    fMSPolicyUpdateFirewallCreationConfigAction :: Prelude.Maybe FMSPolicyUpdateFirewallCreationConfigAction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemediationAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'remediationAction_description' - A description of a remediation action.+--+-- 'eC2AssociateRouteTableAction', 'remediationAction_eC2AssociateRouteTableAction' - Information about the AssociateRouteTable action in the Amazon EC2 API.+--+-- 'eC2CopyRouteTableAction', 'remediationAction_eC2CopyRouteTableAction' - Information about the CopyRouteTable action in the Amazon EC2 API.+--+-- 'eC2CreateRouteAction', 'remediationAction_eC2CreateRouteAction' - Information about the CreateRoute action in the Amazon EC2 API.+--+-- 'eC2CreateRouteTableAction', 'remediationAction_eC2CreateRouteTableAction' - Information about the CreateRouteTable action in the Amazon EC2 API.+--+-- 'eC2DeleteRouteAction', 'remediationAction_eC2DeleteRouteAction' - Information about the DeleteRoute action in the Amazon EC2 API.+--+-- 'eC2ReplaceRouteAction', 'remediationAction_eC2ReplaceRouteAction' - Information about the ReplaceRoute action in the Amazon EC2 API.+--+-- 'eC2ReplaceRouteTableAssociationAction', 'remediationAction_eC2ReplaceRouteTableAssociationAction' - Information about the ReplaceRouteTableAssociation action in the Amazon+-- EC2 API.+--+-- 'fMSPolicyUpdateFirewallCreationConfigAction', 'remediationAction_fMSPolicyUpdateFirewallCreationConfigAction' - The remedial action to take when updating a firewall configuration.+newRemediationAction ::+  RemediationAction+newRemediationAction =+  RemediationAction'+    { description = Prelude.Nothing,+      eC2AssociateRouteTableAction = Prelude.Nothing,+      eC2CopyRouteTableAction = Prelude.Nothing,+      eC2CreateRouteAction = Prelude.Nothing,+      eC2CreateRouteTableAction = Prelude.Nothing,+      eC2DeleteRouteAction = Prelude.Nothing,+      eC2ReplaceRouteAction = Prelude.Nothing,+      eC2ReplaceRouteTableAssociationAction =+        Prelude.Nothing,+      fMSPolicyUpdateFirewallCreationConfigAction =+        Prelude.Nothing+    }++-- | A description of a remediation action.+remediationAction_description :: Lens.Lens' RemediationAction (Prelude.Maybe Prelude.Text)+remediationAction_description = Lens.lens (\RemediationAction' {description} -> description) (\s@RemediationAction' {} a -> s {description = a} :: RemediationAction)++-- | Information about the AssociateRouteTable action in the Amazon EC2 API.+remediationAction_eC2AssociateRouteTableAction :: Lens.Lens' RemediationAction (Prelude.Maybe EC2AssociateRouteTableAction)+remediationAction_eC2AssociateRouteTableAction = Lens.lens (\RemediationAction' {eC2AssociateRouteTableAction} -> eC2AssociateRouteTableAction) (\s@RemediationAction' {} a -> s {eC2AssociateRouteTableAction = a} :: RemediationAction)++-- | Information about the CopyRouteTable action in the Amazon EC2 API.+remediationAction_eC2CopyRouteTableAction :: Lens.Lens' RemediationAction (Prelude.Maybe EC2CopyRouteTableAction)+remediationAction_eC2CopyRouteTableAction = Lens.lens (\RemediationAction' {eC2CopyRouteTableAction} -> eC2CopyRouteTableAction) (\s@RemediationAction' {} a -> s {eC2CopyRouteTableAction = a} :: RemediationAction)++-- | Information about the CreateRoute action in the Amazon EC2 API.+remediationAction_eC2CreateRouteAction :: Lens.Lens' RemediationAction (Prelude.Maybe EC2CreateRouteAction)+remediationAction_eC2CreateRouteAction = Lens.lens (\RemediationAction' {eC2CreateRouteAction} -> eC2CreateRouteAction) (\s@RemediationAction' {} a -> s {eC2CreateRouteAction = a} :: RemediationAction)++-- | Information about the CreateRouteTable action in the Amazon EC2 API.+remediationAction_eC2CreateRouteTableAction :: Lens.Lens' RemediationAction (Prelude.Maybe EC2CreateRouteTableAction)+remediationAction_eC2CreateRouteTableAction = Lens.lens (\RemediationAction' {eC2CreateRouteTableAction} -> eC2CreateRouteTableAction) (\s@RemediationAction' {} a -> s {eC2CreateRouteTableAction = a} :: RemediationAction)++-- | Information about the DeleteRoute action in the Amazon EC2 API.+remediationAction_eC2DeleteRouteAction :: Lens.Lens' RemediationAction (Prelude.Maybe EC2DeleteRouteAction)+remediationAction_eC2DeleteRouteAction = Lens.lens (\RemediationAction' {eC2DeleteRouteAction} -> eC2DeleteRouteAction) (\s@RemediationAction' {} a -> s {eC2DeleteRouteAction = a} :: RemediationAction)++-- | Information about the ReplaceRoute action in the Amazon EC2 API.+remediationAction_eC2ReplaceRouteAction :: Lens.Lens' RemediationAction (Prelude.Maybe EC2ReplaceRouteAction)+remediationAction_eC2ReplaceRouteAction = Lens.lens (\RemediationAction' {eC2ReplaceRouteAction} -> eC2ReplaceRouteAction) (\s@RemediationAction' {} a -> s {eC2ReplaceRouteAction = a} :: RemediationAction)++-- | Information about the ReplaceRouteTableAssociation action in the Amazon+-- EC2 API.+remediationAction_eC2ReplaceRouteTableAssociationAction :: Lens.Lens' RemediationAction (Prelude.Maybe EC2ReplaceRouteTableAssociationAction)+remediationAction_eC2ReplaceRouteTableAssociationAction = Lens.lens (\RemediationAction' {eC2ReplaceRouteTableAssociationAction} -> eC2ReplaceRouteTableAssociationAction) (\s@RemediationAction' {} a -> s {eC2ReplaceRouteTableAssociationAction = a} :: RemediationAction)++-- | The remedial action to take when updating a firewall configuration.+remediationAction_fMSPolicyUpdateFirewallCreationConfigAction :: Lens.Lens' RemediationAction (Prelude.Maybe FMSPolicyUpdateFirewallCreationConfigAction)+remediationAction_fMSPolicyUpdateFirewallCreationConfigAction = Lens.lens (\RemediationAction' {fMSPolicyUpdateFirewallCreationConfigAction} -> fMSPolicyUpdateFirewallCreationConfigAction) (\s@RemediationAction' {} a -> s {fMSPolicyUpdateFirewallCreationConfigAction = a} :: RemediationAction)++instance Data.FromJSON RemediationAction where+  parseJSON =+    Data.withObject+      "RemediationAction"+      ( \x ->+          RemediationAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "EC2AssociateRouteTableAction")+            Prelude.<*> (x Data..:? "EC2CopyRouteTableAction")+            Prelude.<*> (x Data..:? "EC2CreateRouteAction")+            Prelude.<*> (x Data..:? "EC2CreateRouteTableAction")+            Prelude.<*> (x Data..:? "EC2DeleteRouteAction")+            Prelude.<*> (x Data..:? "EC2ReplaceRouteAction")+            Prelude.<*> (x Data..:? "EC2ReplaceRouteTableAssociationAction")+            Prelude.<*> ( x+                            Data..:? "FMSPolicyUpdateFirewallCreationConfigAction"+                        )+      )++instance Prelude.Hashable RemediationAction where+  hashWithSalt _salt RemediationAction' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` eC2AssociateRouteTableAction+      `Prelude.hashWithSalt` eC2CopyRouteTableAction+      `Prelude.hashWithSalt` eC2CreateRouteAction+      `Prelude.hashWithSalt` eC2CreateRouteTableAction+      `Prelude.hashWithSalt` eC2DeleteRouteAction+      `Prelude.hashWithSalt` eC2ReplaceRouteAction+      `Prelude.hashWithSalt` eC2ReplaceRouteTableAssociationAction+      `Prelude.hashWithSalt` fMSPolicyUpdateFirewallCreationConfigAction++instance Prelude.NFData RemediationAction where+  rnf RemediationAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf eC2AssociateRouteTableAction+      `Prelude.seq` Prelude.rnf eC2CopyRouteTableAction+      `Prelude.seq` Prelude.rnf eC2CreateRouteAction+      `Prelude.seq` Prelude.rnf eC2CreateRouteTableAction+      `Prelude.seq` Prelude.rnf eC2DeleteRouteAction+      `Prelude.seq` Prelude.rnf eC2ReplaceRouteAction+      `Prelude.seq` Prelude.rnf eC2ReplaceRouteTableAssociationAction+      `Prelude.seq` Prelude.rnf+        fMSPolicyUpdateFirewallCreationConfigAction
+ gen/Amazonka/FMS/Types/RemediationActionType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.RemediationActionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.RemediationActionType+  ( RemediationActionType+      ( ..,+        RemediationActionType_MODIFY,+        RemediationActionType_REMOVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RemediationActionType = RemediationActionType'+  { fromRemediationActionType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RemediationActionType_MODIFY :: RemediationActionType+pattern RemediationActionType_MODIFY = RemediationActionType' "MODIFY"++pattern RemediationActionType_REMOVE :: RemediationActionType+pattern RemediationActionType_REMOVE = RemediationActionType' "REMOVE"++{-# COMPLETE+  RemediationActionType_MODIFY,+  RemediationActionType_REMOVE,+  RemediationActionType'+  #-}
+ gen/Amazonka/FMS/Types/RemediationActionWithOrder.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.RemediationActionWithOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.RemediationActionWithOrder where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.RemediationAction+import qualified Amazonka.Prelude as Prelude++-- | An ordered list of actions you can take to remediate a violation.+--+-- /See:/ 'newRemediationActionWithOrder' smart constructor.+data RemediationActionWithOrder = RemediationActionWithOrder'+  { -- | The order of the remediation actions in the list.+    order :: Prelude.Maybe Prelude.Int,+    -- | Information about an action you can take to remediate a violation.+    remediationAction :: Prelude.Maybe RemediationAction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemediationActionWithOrder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'order', 'remediationActionWithOrder_order' - The order of the remediation actions in the list.+--+-- 'remediationAction', 'remediationActionWithOrder_remediationAction' - Information about an action you can take to remediate a violation.+newRemediationActionWithOrder ::+  RemediationActionWithOrder+newRemediationActionWithOrder =+  RemediationActionWithOrder'+    { order =+        Prelude.Nothing,+      remediationAction = Prelude.Nothing+    }++-- | The order of the remediation actions in the list.+remediationActionWithOrder_order :: Lens.Lens' RemediationActionWithOrder (Prelude.Maybe Prelude.Int)+remediationActionWithOrder_order = Lens.lens (\RemediationActionWithOrder' {order} -> order) (\s@RemediationActionWithOrder' {} a -> s {order = a} :: RemediationActionWithOrder)++-- | Information about an action you can take to remediate a violation.+remediationActionWithOrder_remediationAction :: Lens.Lens' RemediationActionWithOrder (Prelude.Maybe RemediationAction)+remediationActionWithOrder_remediationAction = Lens.lens (\RemediationActionWithOrder' {remediationAction} -> remediationAction) (\s@RemediationActionWithOrder' {} a -> s {remediationAction = a} :: RemediationActionWithOrder)++instance Data.FromJSON RemediationActionWithOrder where+  parseJSON =+    Data.withObject+      "RemediationActionWithOrder"+      ( \x ->+          RemediationActionWithOrder'+            Prelude.<$> (x Data..:? "Order")+            Prelude.<*> (x Data..:? "RemediationAction")+      )++instance Prelude.Hashable RemediationActionWithOrder where+  hashWithSalt _salt RemediationActionWithOrder' {..} =+    _salt+      `Prelude.hashWithSalt` order+      `Prelude.hashWithSalt` remediationAction++instance Prelude.NFData RemediationActionWithOrder where+  rnf RemediationActionWithOrder' {..} =+    Prelude.rnf order+      `Prelude.seq` Prelude.rnf remediationAction
+ gen/Amazonka/FMS/Types/Resource.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.Resource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.Resource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details of a resource that is associated to an Firewall Manager resource+-- set.+--+-- /See:/ 'newResource' smart constructor.+data Resource = Resource'+  { -- | The Amazon Web Services account ID that the associated resource belongs+    -- to.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The resource\'s universal resource indicator (URI).+    uri :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Resource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'resource_accountId' - The Amazon Web Services account ID that the associated resource belongs+-- to.+--+-- 'uri', 'resource_uri' - The resource\'s universal resource indicator (URI).+newResource ::+  -- | 'uri'+  Prelude.Text ->+  Resource+newResource pURI_ =+  Resource' {accountId = Prelude.Nothing, uri = pURI_}++-- | The Amazon Web Services account ID that the associated resource belongs+-- to.+resource_accountId :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_accountId = Lens.lens (\Resource' {accountId} -> accountId) (\s@Resource' {} a -> s {accountId = a} :: Resource)++-- | The resource\'s universal resource indicator (URI).+resource_uri :: Lens.Lens' Resource Prelude.Text+resource_uri = Lens.lens (\Resource' {uri} -> uri) (\s@Resource' {} a -> s {uri = a} :: Resource)++instance Data.FromJSON Resource where+  parseJSON =+    Data.withObject+      "Resource"+      ( \x ->+          Resource'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..: "URI")+      )++instance Prelude.Hashable Resource where+  hashWithSalt _salt Resource' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` uri++instance Prelude.NFData Resource where+  rnf Resource' {..} =+    Prelude.rnf accountId `Prelude.seq` Prelude.rnf uri
+ gen/Amazonka/FMS/Types/ResourceSet.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ResourceSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ResourceSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A set of resources to include in a policy.+--+-- /See:/ 'newResourceSet' smart constructor.+data ResourceSet = ResourceSet'+  { -- | A description of the resource set.+    description :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for the resource set. This ID is returned in the+    -- responses to create and list commands. You provide it to operations like+    -- update and delete.+    id :: Prelude.Maybe Prelude.Text,+    -- | The last time that the resource set was changed.+    lastUpdateTime :: Prelude.Maybe Data.POSIX,+    -- | An optional token that you can use for optimistic locking. Firewall+    -- Manager returns a token to your requests that access the resource set.+    -- The token marks the state of the resource set resource at the time of+    -- the request. Update tokens are not allowed when creating a resource set.+    -- After creation, each subsequent update call to the resource set requires+    -- the update token.+    --+    -- To make an unconditional change to the resource set, omit the token in+    -- your update request. Without the token, Firewall Manager performs your+    -- updates regardless of whether the resource set has changed since you+    -- last retrieved it.+    --+    -- To make a conditional change to the resource set, provide the token in+    -- your update request. Firewall Manager uses the token to ensure that the+    -- resource set hasn\'t changed since you last retrieved it. If it has+    -- changed, the operation fails with an @InvalidTokenException@. If this+    -- happens, retrieve the resource set again to get a current copy of it+    -- with a new token. Reapply your changes as needed, then try the operation+    -- again using the new token.+    updateToken :: Prelude.Maybe Prelude.Text,+    -- | The descriptive name of the resource set. You can\'t change the name of+    -- a resource set after you create it.+    name :: Prelude.Text,+    -- | Determines the resources that can be associated to the resource set.+    -- Depending on your setting for max results and the number of resource+    -- sets, a single call might not return the full list.+    resourceTypeList :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'resourceSet_description' - A description of the resource set.+--+-- 'id', 'resourceSet_id' - A unique identifier for the resource set. This ID is returned in the+-- responses to create and list commands. You provide it to operations like+-- update and delete.+--+-- 'lastUpdateTime', 'resourceSet_lastUpdateTime' - The last time that the resource set was changed.+--+-- 'updateToken', 'resourceSet_updateToken' - An optional token that you can use for optimistic locking. Firewall+-- Manager returns a token to your requests that access the resource set.+-- The token marks the state of the resource set resource at the time of+-- the request. Update tokens are not allowed when creating a resource set.+-- After creation, each subsequent update call to the resource set requires+-- the update token.+--+-- To make an unconditional change to the resource set, omit the token in+-- your update request. Without the token, Firewall Manager performs your+-- updates regardless of whether the resource set has changed since you+-- last retrieved it.+--+-- To make a conditional change to the resource set, provide the token in+-- your update request. Firewall Manager uses the token to ensure that the+-- resource set hasn\'t changed since you last retrieved it. If it has+-- changed, the operation fails with an @InvalidTokenException@. If this+-- happens, retrieve the resource set again to get a current copy of it+-- with a new token. Reapply your changes as needed, then try the operation+-- again using the new token.+--+-- 'name', 'resourceSet_name' - The descriptive name of the resource set. You can\'t change the name of+-- a resource set after you create it.+--+-- 'resourceTypeList', 'resourceSet_resourceTypeList' - Determines the resources that can be associated to the resource set.+-- Depending on your setting for max results and the number of resource+-- sets, a single call might not return the full list.+newResourceSet ::+  -- | 'name'+  Prelude.Text ->+  ResourceSet+newResourceSet pName_ =+  ResourceSet'+    { description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      updateToken = Prelude.Nothing,+      name = pName_,+      resourceTypeList = Prelude.mempty+    }++-- | A description of the resource set.+resourceSet_description :: Lens.Lens' ResourceSet (Prelude.Maybe Prelude.Text)+resourceSet_description = Lens.lens (\ResourceSet' {description} -> description) (\s@ResourceSet' {} a -> s {description = a} :: ResourceSet)++-- | A unique identifier for the resource set. This ID is returned in the+-- responses to create and list commands. You provide it to operations like+-- update and delete.+resourceSet_id :: Lens.Lens' ResourceSet (Prelude.Maybe Prelude.Text)+resourceSet_id = Lens.lens (\ResourceSet' {id} -> id) (\s@ResourceSet' {} a -> s {id = a} :: ResourceSet)++-- | The last time that the resource set was changed.+resourceSet_lastUpdateTime :: Lens.Lens' ResourceSet (Prelude.Maybe Prelude.UTCTime)+resourceSet_lastUpdateTime = Lens.lens (\ResourceSet' {lastUpdateTime} -> lastUpdateTime) (\s@ResourceSet' {} a -> s {lastUpdateTime = a} :: ResourceSet) Prelude.. Lens.mapping Data._Time++-- | An optional token that you can use for optimistic locking. Firewall+-- Manager returns a token to your requests that access the resource set.+-- The token marks the state of the resource set resource at the time of+-- the request. Update tokens are not allowed when creating a resource set.+-- After creation, each subsequent update call to the resource set requires+-- the update token.+--+-- To make an unconditional change to the resource set, omit the token in+-- your update request. Without the token, Firewall Manager performs your+-- updates regardless of whether the resource set has changed since you+-- last retrieved it.+--+-- To make a conditional change to the resource set, provide the token in+-- your update request. Firewall Manager uses the token to ensure that the+-- resource set hasn\'t changed since you last retrieved it. If it has+-- changed, the operation fails with an @InvalidTokenException@. If this+-- happens, retrieve the resource set again to get a current copy of it+-- with a new token. Reapply your changes as needed, then try the operation+-- again using the new token.+resourceSet_updateToken :: Lens.Lens' ResourceSet (Prelude.Maybe Prelude.Text)+resourceSet_updateToken = Lens.lens (\ResourceSet' {updateToken} -> updateToken) (\s@ResourceSet' {} a -> s {updateToken = a} :: ResourceSet)++-- | The descriptive name of the resource set. You can\'t change the name of+-- a resource set after you create it.+resourceSet_name :: Lens.Lens' ResourceSet Prelude.Text+resourceSet_name = Lens.lens (\ResourceSet' {name} -> name) (\s@ResourceSet' {} a -> s {name = a} :: ResourceSet)++-- | Determines the resources that can be associated to the resource set.+-- Depending on your setting for max results and the number of resource+-- sets, a single call might not return the full list.+resourceSet_resourceTypeList :: Lens.Lens' ResourceSet [Prelude.Text]+resourceSet_resourceTypeList = Lens.lens (\ResourceSet' {resourceTypeList} -> resourceTypeList) (\s@ResourceSet' {} a -> s {resourceTypeList = a} :: ResourceSet) Prelude.. Lens.coerced++instance Data.FromJSON ResourceSet where+  parseJSON =+    Data.withObject+      "ResourceSet"+      ( \x ->+          ResourceSet'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LastUpdateTime")+            Prelude.<*> (x Data..:? "UpdateToken")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> ( x+                            Data..:? "ResourceTypeList"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable ResourceSet where+  hashWithSalt _salt ResourceSet' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` updateToken+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` resourceTypeList++instance Prelude.NFData ResourceSet where+  rnf ResourceSet' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf updateToken+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf resourceTypeList++instance Data.ToJSON ResourceSet where+  toJSON ResourceSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Id" Data..=) Prelude.<$> id,+            ("LastUpdateTime" Data..=)+              Prelude.<$> lastUpdateTime,+            ("UpdateToken" Data..=) Prelude.<$> updateToken,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("ResourceTypeList" Data..= resourceTypeList)+          ]+      )
+ gen/Amazonka/FMS/Types/ResourceSetSummary.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ResourceSetSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ResourceSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Summarizes the resource sets used in a policy.+--+-- /See:/ 'newResourceSetSummary' smart constructor.+data ResourceSetSummary = ResourceSetSummary'+  { -- | A description of the resource set.+    description :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for the resource set. This ID is returned in the+    -- responses to create and list commands. You provide it to operations like+    -- update and delete.+    id :: Prelude.Maybe Prelude.Text,+    -- | The last time that the resource set was changed.+    lastUpdateTime :: Prelude.Maybe Data.POSIX,+    -- | The descriptive name of the resource set. You can\'t change the name of+    -- a resource set after you create it.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'resourceSetSummary_description' - A description of the resource set.+--+-- 'id', 'resourceSetSummary_id' - A unique identifier for the resource set. This ID is returned in the+-- responses to create and list commands. You provide it to operations like+-- update and delete.+--+-- 'lastUpdateTime', 'resourceSetSummary_lastUpdateTime' - The last time that the resource set was changed.+--+-- 'name', 'resourceSetSummary_name' - The descriptive name of the resource set. You can\'t change the name of+-- a resource set after you create it.+newResourceSetSummary ::+  ResourceSetSummary+newResourceSetSummary =+  ResourceSetSummary'+    { description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | A description of the resource set.+resourceSetSummary_description :: Lens.Lens' ResourceSetSummary (Prelude.Maybe Prelude.Text)+resourceSetSummary_description = Lens.lens (\ResourceSetSummary' {description} -> description) (\s@ResourceSetSummary' {} a -> s {description = a} :: ResourceSetSummary)++-- | A unique identifier for the resource set. This ID is returned in the+-- responses to create and list commands. You provide it to operations like+-- update and delete.+resourceSetSummary_id :: Lens.Lens' ResourceSetSummary (Prelude.Maybe Prelude.Text)+resourceSetSummary_id = Lens.lens (\ResourceSetSummary' {id} -> id) (\s@ResourceSetSummary' {} a -> s {id = a} :: ResourceSetSummary)++-- | The last time that the resource set was changed.+resourceSetSummary_lastUpdateTime :: Lens.Lens' ResourceSetSummary (Prelude.Maybe Prelude.UTCTime)+resourceSetSummary_lastUpdateTime = Lens.lens (\ResourceSetSummary' {lastUpdateTime} -> lastUpdateTime) (\s@ResourceSetSummary' {} a -> s {lastUpdateTime = a} :: ResourceSetSummary) Prelude.. Lens.mapping Data._Time++-- | The descriptive name of the resource set. You can\'t change the name of+-- a resource set after you create it.+resourceSetSummary_name :: Lens.Lens' ResourceSetSummary (Prelude.Maybe Prelude.Text)+resourceSetSummary_name = Lens.lens (\ResourceSetSummary' {name} -> name) (\s@ResourceSetSummary' {} a -> s {name = a} :: ResourceSetSummary)++instance Data.FromJSON ResourceSetSummary where+  parseJSON =+    Data.withObject+      "ResourceSetSummary"+      ( \x ->+          ResourceSetSummary'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LastUpdateTime")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable ResourceSetSummary where+  hashWithSalt _salt ResourceSetSummary' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` name++instance Prelude.NFData ResourceSetSummary where+  rnf ResourceSetSummary' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/FMS/Types/ResourceTag.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ResourceTag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ResourceTag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The resource tags that Firewall Manager uses to determine if a+-- particular resource should be included or excluded from the Firewall+-- Manager policy. Tags enable you to categorize your Amazon Web Services+-- resources in different ways, for example, by purpose, owner, or+-- environment. Each tag consists of a key and an optional value. Firewall+-- Manager combines the tags with \"AND\" so that, if you add more than one+-- tag to a policy scope, a resource must have all the specified tags to be+-- included or excluded. For more information, see+-- <https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html Working with Tag Editor>.+--+-- /See:/ 'newResourceTag' smart constructor.+data ResourceTag = ResourceTag'+  { -- | The resource tag value.+    value :: Prelude.Maybe Prelude.Text,+    -- | The resource tag key.+    key :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceTag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'value', 'resourceTag_value' - The resource tag value.+--+-- 'key', 'resourceTag_key' - The resource tag key.+newResourceTag ::+  -- | 'key'+  Prelude.Text ->+  ResourceTag+newResourceTag pKey_ =+  ResourceTag' {value = Prelude.Nothing, key = pKey_}++-- | The resource tag value.+resourceTag_value :: Lens.Lens' ResourceTag (Prelude.Maybe Prelude.Text)+resourceTag_value = Lens.lens (\ResourceTag' {value} -> value) (\s@ResourceTag' {} a -> s {value = a} :: ResourceTag)++-- | The resource tag key.+resourceTag_key :: Lens.Lens' ResourceTag Prelude.Text+resourceTag_key = Lens.lens (\ResourceTag' {key} -> key) (\s@ResourceTag' {} a -> s {key = a} :: ResourceTag)++instance Data.FromJSON ResourceTag where+  parseJSON =+    Data.withObject+      "ResourceTag"+      ( \x ->+          ResourceTag'+            Prelude.<$> (x Data..:? "Value")+            Prelude.<*> (x Data..: "Key")+      )++instance Prelude.Hashable ResourceTag where+  hashWithSalt _salt ResourceTag' {..} =+    _salt+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` key++instance Prelude.NFData ResourceTag where+  rnf ResourceTag' {..} =+    Prelude.rnf value `Prelude.seq` Prelude.rnf key++instance Data.ToJSON ResourceTag where+  toJSON ResourceTag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("Key" Data..= key)+          ]+      )
+ gen/Amazonka/FMS/Types/ResourceViolation.hs view
@@ -0,0 +1,484 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ResourceViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ResourceViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.AwsEc2InstanceViolation+import Amazonka.FMS.Types.AwsEc2NetworkInterfaceViolation+import Amazonka.FMS.Types.AwsVPCSecurityGroupViolation+import Amazonka.FMS.Types.DnsDuplicateRuleGroupViolation+import Amazonka.FMS.Types.DnsRuleGroupLimitExceededViolation+import Amazonka.FMS.Types.DnsRuleGroupPriorityConflictViolation+import Amazonka.FMS.Types.FirewallSubnetIsOutOfScopeViolation+import Amazonka.FMS.Types.FirewallSubnetMissingVPCEndpointViolation+import Amazonka.FMS.Types.NetworkFirewallBlackHoleRouteDetectedViolation+import Amazonka.FMS.Types.NetworkFirewallInternetTrafficNotInspectedViolation+import Amazonka.FMS.Types.NetworkFirewallInvalidRouteConfigurationViolation+import Amazonka.FMS.Types.NetworkFirewallMissingExpectedRTViolation+import Amazonka.FMS.Types.NetworkFirewallMissingExpectedRoutesViolation+import Amazonka.FMS.Types.NetworkFirewallMissingFirewallViolation+import Amazonka.FMS.Types.NetworkFirewallMissingSubnetViolation+import Amazonka.FMS.Types.NetworkFirewallPolicyModifiedViolation+import Amazonka.FMS.Types.NetworkFirewallUnexpectedFirewallRoutesViolation+import Amazonka.FMS.Types.NetworkFirewallUnexpectedGatewayRoutesViolation+import Amazonka.FMS.Types.PossibleRemediationActions+import Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation+import Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation+import Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation+import Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation+import qualified Amazonka.Prelude as Prelude++-- | Violation detail based on resource type.+--+-- /See:/ 'newResourceViolation' smart constructor.+data ResourceViolation = ResourceViolation'+  { -- | Violation detail for an EC2 instance.+    awsEc2InstanceViolation :: Prelude.Maybe AwsEc2InstanceViolation,+    -- | Violation detail for a network interface.+    awsEc2NetworkInterfaceViolation :: Prelude.Maybe AwsEc2NetworkInterfaceViolation,+    -- | Violation detail for security groups.+    awsVPCSecurityGroupViolation :: Prelude.Maybe AwsVPCSecurityGroupViolation,+    -- | Violation detail for a DNS Firewall policy that indicates that a rule+    -- group that Firewall Manager tried to associate with a VPC is already+    -- associated with the VPC and can\'t be associated again.+    dnsDuplicateRuleGroupViolation :: Prelude.Maybe DnsDuplicateRuleGroupViolation,+    -- | Violation detail for a DNS Firewall policy that indicates that the VPC+    -- reached the limit for associated DNS Firewall rule groups. Firewall+    -- Manager tried to associate another rule group with the VPC and failed.+    dnsRuleGroupLimitExceededViolation :: Prelude.Maybe DnsRuleGroupLimitExceededViolation,+    -- | Violation detail for a DNS Firewall policy that indicates that a rule+    -- group that Firewall Manager tried to associate with a VPC has the same+    -- priority as a rule group that\'s already associated.+    dnsRuleGroupPriorityConflictViolation :: Prelude.Maybe DnsRuleGroupPriorityConflictViolation,+    -- | Contains details about the firewall subnet that violates the policy+    -- scope.+    firewallSubnetIsOutOfScopeViolation :: Prelude.Maybe FirewallSubnetIsOutOfScopeViolation,+    -- | The violation details for a third-party firewall\'s VPC endpoint subnet+    -- that was deleted.+    firewallSubnetMissingVPCEndpointViolation :: Prelude.Maybe FirewallSubnetMissingVPCEndpointViolation,+    networkFirewallBlackHoleRouteDetectedViolation :: Prelude.Maybe NetworkFirewallBlackHoleRouteDetectedViolation,+    -- | Violation detail for the subnet for which internet traffic hasn\'t been+    -- inspected.+    networkFirewallInternetTrafficNotInspectedViolation :: Prelude.Maybe NetworkFirewallInternetTrafficNotInspectedViolation,+    -- | The route configuration is invalid.+    networkFirewallInvalidRouteConfigurationViolation :: Prelude.Maybe NetworkFirewallInvalidRouteConfigurationViolation,+    -- | Violation detail for an Network Firewall policy that indicates that a+    -- subnet is not associated with the expected Firewall Manager managed+    -- route table.+    networkFirewallMissingExpectedRTViolation :: Prelude.Maybe NetworkFirewallMissingExpectedRTViolation,+    -- | Expected routes are missing from Network Firewall.+    networkFirewallMissingExpectedRoutesViolation :: Prelude.Maybe NetworkFirewallMissingExpectedRoutesViolation,+    -- | Violation detail for an Network Firewall policy that indicates that a+    -- subnet has no Firewall Manager managed firewall in its VPC.+    networkFirewallMissingFirewallViolation :: Prelude.Maybe NetworkFirewallMissingFirewallViolation,+    -- | Violation detail for an Network Firewall policy that indicates that an+    -- Availability Zone is missing the expected Firewall Manager managed+    -- subnet.+    networkFirewallMissingSubnetViolation :: Prelude.Maybe NetworkFirewallMissingSubnetViolation,+    -- | Violation detail for an Network Firewall policy that indicates that a+    -- firewall policy in an individual account has been modified in a way that+    -- makes it noncompliant. For example, the individual account owner might+    -- have deleted a rule group, changed the priority of a stateless rule+    -- group, or changed a policy default action.+    networkFirewallPolicyModifiedViolation :: Prelude.Maybe NetworkFirewallPolicyModifiedViolation,+    -- | There\'s an unexpected firewall route.+    networkFirewallUnexpectedFirewallRoutesViolation :: Prelude.Maybe NetworkFirewallUnexpectedFirewallRoutesViolation,+    -- | There\'s an unexpected gateway route.+    networkFirewallUnexpectedGatewayRoutesViolation :: Prelude.Maybe NetworkFirewallUnexpectedGatewayRoutesViolation,+    -- | A list of possible remediation action lists. Each individual possible+    -- remediation action is a list of individual remediation actions.+    possibleRemediationActions :: Prelude.Maybe PossibleRemediationActions,+    -- | Contains details about the route endpoint that violates the policy+    -- scope.+    routeHasOutOfScopeEndpointViolation :: Prelude.Maybe RouteHasOutOfScopeEndpointViolation,+    -- | The violation details for a third-party firewall that has the Firewall+    -- Manager managed route table that was associated with the third-party+    -- firewall has been deleted.+    thirdPartyFirewallMissingExpectedRouteTableViolation :: Prelude.Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation,+    -- | The violation details for a third-party firewall that\'s been deleted.+    thirdPartyFirewallMissingFirewallViolation :: Prelude.Maybe ThirdPartyFirewallMissingFirewallViolation,+    -- | The violation details for a third-party firewall\'s subnet that\'s been+    -- deleted.+    thirdPartyFirewallMissingSubnetViolation :: Prelude.Maybe ThirdPartyFirewallMissingSubnetViolation+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsEc2InstanceViolation', 'resourceViolation_awsEc2InstanceViolation' - Violation detail for an EC2 instance.+--+-- 'awsEc2NetworkInterfaceViolation', 'resourceViolation_awsEc2NetworkInterfaceViolation' - Violation detail for a network interface.+--+-- 'awsVPCSecurityGroupViolation', 'resourceViolation_awsVPCSecurityGroupViolation' - Violation detail for security groups.+--+-- 'dnsDuplicateRuleGroupViolation', 'resourceViolation_dnsDuplicateRuleGroupViolation' - Violation detail for a DNS Firewall policy that indicates that a rule+-- group that Firewall Manager tried to associate with a VPC is already+-- associated with the VPC and can\'t be associated again.+--+-- 'dnsRuleGroupLimitExceededViolation', 'resourceViolation_dnsRuleGroupLimitExceededViolation' - Violation detail for a DNS Firewall policy that indicates that the VPC+-- reached the limit for associated DNS Firewall rule groups. Firewall+-- Manager tried to associate another rule group with the VPC and failed.+--+-- 'dnsRuleGroupPriorityConflictViolation', 'resourceViolation_dnsRuleGroupPriorityConflictViolation' - Violation detail for a DNS Firewall policy that indicates that a rule+-- group that Firewall Manager tried to associate with a VPC has the same+-- priority as a rule group that\'s already associated.+--+-- 'firewallSubnetIsOutOfScopeViolation', 'resourceViolation_firewallSubnetIsOutOfScopeViolation' - Contains details about the firewall subnet that violates the policy+-- scope.+--+-- 'firewallSubnetMissingVPCEndpointViolation', 'resourceViolation_firewallSubnetMissingVPCEndpointViolation' - The violation details for a third-party firewall\'s VPC endpoint subnet+-- that was deleted.+--+-- 'networkFirewallBlackHoleRouteDetectedViolation', 'resourceViolation_networkFirewallBlackHoleRouteDetectedViolation' - Undocumented member.+--+-- 'networkFirewallInternetTrafficNotInspectedViolation', 'resourceViolation_networkFirewallInternetTrafficNotInspectedViolation' - Violation detail for the subnet for which internet traffic hasn\'t been+-- inspected.+--+-- 'networkFirewallInvalidRouteConfigurationViolation', 'resourceViolation_networkFirewallInvalidRouteConfigurationViolation' - The route configuration is invalid.+--+-- 'networkFirewallMissingExpectedRTViolation', 'resourceViolation_networkFirewallMissingExpectedRTViolation' - Violation detail for an Network Firewall policy that indicates that a+-- subnet is not associated with the expected Firewall Manager managed+-- route table.+--+-- 'networkFirewallMissingExpectedRoutesViolation', 'resourceViolation_networkFirewallMissingExpectedRoutesViolation' - Expected routes are missing from Network Firewall.+--+-- 'networkFirewallMissingFirewallViolation', 'resourceViolation_networkFirewallMissingFirewallViolation' - Violation detail for an Network Firewall policy that indicates that a+-- subnet has no Firewall Manager managed firewall in its VPC.+--+-- 'networkFirewallMissingSubnetViolation', 'resourceViolation_networkFirewallMissingSubnetViolation' - Violation detail for an Network Firewall policy that indicates that an+-- Availability Zone is missing the expected Firewall Manager managed+-- subnet.+--+-- 'networkFirewallPolicyModifiedViolation', 'resourceViolation_networkFirewallPolicyModifiedViolation' - Violation detail for an Network Firewall policy that indicates that a+-- firewall policy in an individual account has been modified in a way that+-- makes it noncompliant. For example, the individual account owner might+-- have deleted a rule group, changed the priority of a stateless rule+-- group, or changed a policy default action.+--+-- 'networkFirewallUnexpectedFirewallRoutesViolation', 'resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation' - There\'s an unexpected firewall route.+--+-- 'networkFirewallUnexpectedGatewayRoutesViolation', 'resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation' - There\'s an unexpected gateway route.+--+-- 'possibleRemediationActions', 'resourceViolation_possibleRemediationActions' - A list of possible remediation action lists. Each individual possible+-- remediation action is a list of individual remediation actions.+--+-- 'routeHasOutOfScopeEndpointViolation', 'resourceViolation_routeHasOutOfScopeEndpointViolation' - Contains details about the route endpoint that violates the policy+-- scope.+--+-- 'thirdPartyFirewallMissingExpectedRouteTableViolation', 'resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation' - The violation details for a third-party firewall that has the Firewall+-- Manager managed route table that was associated with the third-party+-- firewall has been deleted.+--+-- 'thirdPartyFirewallMissingFirewallViolation', 'resourceViolation_thirdPartyFirewallMissingFirewallViolation' - The violation details for a third-party firewall that\'s been deleted.+--+-- 'thirdPartyFirewallMissingSubnetViolation', 'resourceViolation_thirdPartyFirewallMissingSubnetViolation' - The violation details for a third-party firewall\'s subnet that\'s been+-- deleted.+newResourceViolation ::+  ResourceViolation+newResourceViolation =+  ResourceViolation'+    { awsEc2InstanceViolation =+        Prelude.Nothing,+      awsEc2NetworkInterfaceViolation = Prelude.Nothing,+      awsVPCSecurityGroupViolation = Prelude.Nothing,+      dnsDuplicateRuleGroupViolation = Prelude.Nothing,+      dnsRuleGroupLimitExceededViolation = Prelude.Nothing,+      dnsRuleGroupPriorityConflictViolation =+        Prelude.Nothing,+      firewallSubnetIsOutOfScopeViolation =+        Prelude.Nothing,+      firewallSubnetMissingVPCEndpointViolation =+        Prelude.Nothing,+      networkFirewallBlackHoleRouteDetectedViolation =+        Prelude.Nothing,+      networkFirewallInternetTrafficNotInspectedViolation =+        Prelude.Nothing,+      networkFirewallInvalidRouteConfigurationViolation =+        Prelude.Nothing,+      networkFirewallMissingExpectedRTViolation =+        Prelude.Nothing,+      networkFirewallMissingExpectedRoutesViolation =+        Prelude.Nothing,+      networkFirewallMissingFirewallViolation =+        Prelude.Nothing,+      networkFirewallMissingSubnetViolation =+        Prelude.Nothing,+      networkFirewallPolicyModifiedViolation =+        Prelude.Nothing,+      networkFirewallUnexpectedFirewallRoutesViolation =+        Prelude.Nothing,+      networkFirewallUnexpectedGatewayRoutesViolation =+        Prelude.Nothing,+      possibleRemediationActions = Prelude.Nothing,+      routeHasOutOfScopeEndpointViolation =+        Prelude.Nothing,+      thirdPartyFirewallMissingExpectedRouteTableViolation =+        Prelude.Nothing,+      thirdPartyFirewallMissingFirewallViolation =+        Prelude.Nothing,+      thirdPartyFirewallMissingSubnetViolation =+        Prelude.Nothing+    }++-- | Violation detail for an EC2 instance.+resourceViolation_awsEc2InstanceViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe AwsEc2InstanceViolation)+resourceViolation_awsEc2InstanceViolation = Lens.lens (\ResourceViolation' {awsEc2InstanceViolation} -> awsEc2InstanceViolation) (\s@ResourceViolation' {} a -> s {awsEc2InstanceViolation = a} :: ResourceViolation)++-- | Violation detail for a network interface.+resourceViolation_awsEc2NetworkInterfaceViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe AwsEc2NetworkInterfaceViolation)+resourceViolation_awsEc2NetworkInterfaceViolation = Lens.lens (\ResourceViolation' {awsEc2NetworkInterfaceViolation} -> awsEc2NetworkInterfaceViolation) (\s@ResourceViolation' {} a -> s {awsEc2NetworkInterfaceViolation = a} :: ResourceViolation)++-- | Violation detail for security groups.+resourceViolation_awsVPCSecurityGroupViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe AwsVPCSecurityGroupViolation)+resourceViolation_awsVPCSecurityGroupViolation = Lens.lens (\ResourceViolation' {awsVPCSecurityGroupViolation} -> awsVPCSecurityGroupViolation) (\s@ResourceViolation' {} a -> s {awsVPCSecurityGroupViolation = a} :: ResourceViolation)++-- | Violation detail for a DNS Firewall policy that indicates that a rule+-- group that Firewall Manager tried to associate with a VPC is already+-- associated with the VPC and can\'t be associated again.+resourceViolation_dnsDuplicateRuleGroupViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe DnsDuplicateRuleGroupViolation)+resourceViolation_dnsDuplicateRuleGroupViolation = Lens.lens (\ResourceViolation' {dnsDuplicateRuleGroupViolation} -> dnsDuplicateRuleGroupViolation) (\s@ResourceViolation' {} a -> s {dnsDuplicateRuleGroupViolation = a} :: ResourceViolation)++-- | Violation detail for a DNS Firewall policy that indicates that the VPC+-- reached the limit for associated DNS Firewall rule groups. Firewall+-- Manager tried to associate another rule group with the VPC and failed.+resourceViolation_dnsRuleGroupLimitExceededViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe DnsRuleGroupLimitExceededViolation)+resourceViolation_dnsRuleGroupLimitExceededViolation = Lens.lens (\ResourceViolation' {dnsRuleGroupLimitExceededViolation} -> dnsRuleGroupLimitExceededViolation) (\s@ResourceViolation' {} a -> s {dnsRuleGroupLimitExceededViolation = a} :: ResourceViolation)++-- | Violation detail for a DNS Firewall policy that indicates that a rule+-- group that Firewall Manager tried to associate with a VPC has the same+-- priority as a rule group that\'s already associated.+resourceViolation_dnsRuleGroupPriorityConflictViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe DnsRuleGroupPriorityConflictViolation)+resourceViolation_dnsRuleGroupPriorityConflictViolation = Lens.lens (\ResourceViolation' {dnsRuleGroupPriorityConflictViolation} -> dnsRuleGroupPriorityConflictViolation) (\s@ResourceViolation' {} a -> s {dnsRuleGroupPriorityConflictViolation = a} :: ResourceViolation)++-- | Contains details about the firewall subnet that violates the policy+-- scope.+resourceViolation_firewallSubnetIsOutOfScopeViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe FirewallSubnetIsOutOfScopeViolation)+resourceViolation_firewallSubnetIsOutOfScopeViolation = Lens.lens (\ResourceViolation' {firewallSubnetIsOutOfScopeViolation} -> firewallSubnetIsOutOfScopeViolation) (\s@ResourceViolation' {} a -> s {firewallSubnetIsOutOfScopeViolation = a} :: ResourceViolation)++-- | The violation details for a third-party firewall\'s VPC endpoint subnet+-- that was deleted.+resourceViolation_firewallSubnetMissingVPCEndpointViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe FirewallSubnetMissingVPCEndpointViolation)+resourceViolation_firewallSubnetMissingVPCEndpointViolation = Lens.lens (\ResourceViolation' {firewallSubnetMissingVPCEndpointViolation} -> firewallSubnetMissingVPCEndpointViolation) (\s@ResourceViolation' {} a -> s {firewallSubnetMissingVPCEndpointViolation = a} :: ResourceViolation)++-- | Undocumented member.+resourceViolation_networkFirewallBlackHoleRouteDetectedViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallBlackHoleRouteDetectedViolation)+resourceViolation_networkFirewallBlackHoleRouteDetectedViolation = Lens.lens (\ResourceViolation' {networkFirewallBlackHoleRouteDetectedViolation} -> networkFirewallBlackHoleRouteDetectedViolation) (\s@ResourceViolation' {} a -> s {networkFirewallBlackHoleRouteDetectedViolation = a} :: ResourceViolation)++-- | Violation detail for the subnet for which internet traffic hasn\'t been+-- inspected.+resourceViolation_networkFirewallInternetTrafficNotInspectedViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallInternetTrafficNotInspectedViolation)+resourceViolation_networkFirewallInternetTrafficNotInspectedViolation = Lens.lens (\ResourceViolation' {networkFirewallInternetTrafficNotInspectedViolation} -> networkFirewallInternetTrafficNotInspectedViolation) (\s@ResourceViolation' {} a -> s {networkFirewallInternetTrafficNotInspectedViolation = a} :: ResourceViolation)++-- | The route configuration is invalid.+resourceViolation_networkFirewallInvalidRouteConfigurationViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallInvalidRouteConfigurationViolation)+resourceViolation_networkFirewallInvalidRouteConfigurationViolation = Lens.lens (\ResourceViolation' {networkFirewallInvalidRouteConfigurationViolation} -> networkFirewallInvalidRouteConfigurationViolation) (\s@ResourceViolation' {} a -> s {networkFirewallInvalidRouteConfigurationViolation = a} :: ResourceViolation)++-- | Violation detail for an Network Firewall policy that indicates that a+-- subnet is not associated with the expected Firewall Manager managed+-- route table.+resourceViolation_networkFirewallMissingExpectedRTViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallMissingExpectedRTViolation)+resourceViolation_networkFirewallMissingExpectedRTViolation = Lens.lens (\ResourceViolation' {networkFirewallMissingExpectedRTViolation} -> networkFirewallMissingExpectedRTViolation) (\s@ResourceViolation' {} a -> s {networkFirewallMissingExpectedRTViolation = a} :: ResourceViolation)++-- | Expected routes are missing from Network Firewall.+resourceViolation_networkFirewallMissingExpectedRoutesViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallMissingExpectedRoutesViolation)+resourceViolation_networkFirewallMissingExpectedRoutesViolation = Lens.lens (\ResourceViolation' {networkFirewallMissingExpectedRoutesViolation} -> networkFirewallMissingExpectedRoutesViolation) (\s@ResourceViolation' {} a -> s {networkFirewallMissingExpectedRoutesViolation = a} :: ResourceViolation)++-- | Violation detail for an Network Firewall policy that indicates that a+-- subnet has no Firewall Manager managed firewall in its VPC.+resourceViolation_networkFirewallMissingFirewallViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallMissingFirewallViolation)+resourceViolation_networkFirewallMissingFirewallViolation = Lens.lens (\ResourceViolation' {networkFirewallMissingFirewallViolation} -> networkFirewallMissingFirewallViolation) (\s@ResourceViolation' {} a -> s {networkFirewallMissingFirewallViolation = a} :: ResourceViolation)++-- | Violation detail for an Network Firewall policy that indicates that an+-- Availability Zone is missing the expected Firewall Manager managed+-- subnet.+resourceViolation_networkFirewallMissingSubnetViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallMissingSubnetViolation)+resourceViolation_networkFirewallMissingSubnetViolation = Lens.lens (\ResourceViolation' {networkFirewallMissingSubnetViolation} -> networkFirewallMissingSubnetViolation) (\s@ResourceViolation' {} a -> s {networkFirewallMissingSubnetViolation = a} :: ResourceViolation)++-- | Violation detail for an Network Firewall policy that indicates that a+-- firewall policy in an individual account has been modified in a way that+-- makes it noncompliant. For example, the individual account owner might+-- have deleted a rule group, changed the priority of a stateless rule+-- group, or changed a policy default action.+resourceViolation_networkFirewallPolicyModifiedViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallPolicyModifiedViolation)+resourceViolation_networkFirewallPolicyModifiedViolation = Lens.lens (\ResourceViolation' {networkFirewallPolicyModifiedViolation} -> networkFirewallPolicyModifiedViolation) (\s@ResourceViolation' {} a -> s {networkFirewallPolicyModifiedViolation = a} :: ResourceViolation)++-- | There\'s an unexpected firewall route.+resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallUnexpectedFirewallRoutesViolation)+resourceViolation_networkFirewallUnexpectedFirewallRoutesViolation = Lens.lens (\ResourceViolation' {networkFirewallUnexpectedFirewallRoutesViolation} -> networkFirewallUnexpectedFirewallRoutesViolation) (\s@ResourceViolation' {} a -> s {networkFirewallUnexpectedFirewallRoutesViolation = a} :: ResourceViolation)++-- | There\'s an unexpected gateway route.+resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe NetworkFirewallUnexpectedGatewayRoutesViolation)+resourceViolation_networkFirewallUnexpectedGatewayRoutesViolation = Lens.lens (\ResourceViolation' {networkFirewallUnexpectedGatewayRoutesViolation} -> networkFirewallUnexpectedGatewayRoutesViolation) (\s@ResourceViolation' {} a -> s {networkFirewallUnexpectedGatewayRoutesViolation = a} :: ResourceViolation)++-- | A list of possible remediation action lists. Each individual possible+-- remediation action is a list of individual remediation actions.+resourceViolation_possibleRemediationActions :: Lens.Lens' ResourceViolation (Prelude.Maybe PossibleRemediationActions)+resourceViolation_possibleRemediationActions = Lens.lens (\ResourceViolation' {possibleRemediationActions} -> possibleRemediationActions) (\s@ResourceViolation' {} a -> s {possibleRemediationActions = a} :: ResourceViolation)++-- | Contains details about the route endpoint that violates the policy+-- scope.+resourceViolation_routeHasOutOfScopeEndpointViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe RouteHasOutOfScopeEndpointViolation)+resourceViolation_routeHasOutOfScopeEndpointViolation = Lens.lens (\ResourceViolation' {routeHasOutOfScopeEndpointViolation} -> routeHasOutOfScopeEndpointViolation) (\s@ResourceViolation' {} a -> s {routeHasOutOfScopeEndpointViolation = a} :: ResourceViolation)++-- | The violation details for a third-party firewall that has the Firewall+-- Manager managed route table that was associated with the third-party+-- firewall has been deleted.+resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe ThirdPartyFirewallMissingExpectedRouteTableViolation)+resourceViolation_thirdPartyFirewallMissingExpectedRouteTableViolation = Lens.lens (\ResourceViolation' {thirdPartyFirewallMissingExpectedRouteTableViolation} -> thirdPartyFirewallMissingExpectedRouteTableViolation) (\s@ResourceViolation' {} a -> s {thirdPartyFirewallMissingExpectedRouteTableViolation = a} :: ResourceViolation)++-- | The violation details for a third-party firewall that\'s been deleted.+resourceViolation_thirdPartyFirewallMissingFirewallViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe ThirdPartyFirewallMissingFirewallViolation)+resourceViolation_thirdPartyFirewallMissingFirewallViolation = Lens.lens (\ResourceViolation' {thirdPartyFirewallMissingFirewallViolation} -> thirdPartyFirewallMissingFirewallViolation) (\s@ResourceViolation' {} a -> s {thirdPartyFirewallMissingFirewallViolation = a} :: ResourceViolation)++-- | The violation details for a third-party firewall\'s subnet that\'s been+-- deleted.+resourceViolation_thirdPartyFirewallMissingSubnetViolation :: Lens.Lens' ResourceViolation (Prelude.Maybe ThirdPartyFirewallMissingSubnetViolation)+resourceViolation_thirdPartyFirewallMissingSubnetViolation = Lens.lens (\ResourceViolation' {thirdPartyFirewallMissingSubnetViolation} -> thirdPartyFirewallMissingSubnetViolation) (\s@ResourceViolation' {} a -> s {thirdPartyFirewallMissingSubnetViolation = a} :: ResourceViolation)++instance Data.FromJSON ResourceViolation where+  parseJSON =+    Data.withObject+      "ResourceViolation"+      ( \x ->+          ResourceViolation'+            Prelude.<$> (x Data..:? "AwsEc2InstanceViolation")+            Prelude.<*> (x Data..:? "AwsEc2NetworkInterfaceViolation")+            Prelude.<*> (x Data..:? "AwsVPCSecurityGroupViolation")+            Prelude.<*> (x Data..:? "DnsDuplicateRuleGroupViolation")+            Prelude.<*> (x Data..:? "DnsRuleGroupLimitExceededViolation")+            Prelude.<*> (x Data..:? "DnsRuleGroupPriorityConflictViolation")+            Prelude.<*> (x Data..:? "FirewallSubnetIsOutOfScopeViolation")+            Prelude.<*> ( x+                            Data..:? "FirewallSubnetMissingVPCEndpointViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallBlackHoleRouteDetectedViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallInternetTrafficNotInspectedViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallInvalidRouteConfigurationViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallMissingExpectedRTViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallMissingExpectedRoutesViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallMissingFirewallViolation"+                        )+            Prelude.<*> (x Data..:? "NetworkFirewallMissingSubnetViolation")+            Prelude.<*> (x Data..:? "NetworkFirewallPolicyModifiedViolation")+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallUnexpectedFirewallRoutesViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "NetworkFirewallUnexpectedGatewayRoutesViolation"+                        )+            Prelude.<*> (x Data..:? "PossibleRemediationActions")+            Prelude.<*> (x Data..:? "RouteHasOutOfScopeEndpointViolation")+            Prelude.<*> ( x+                            Data..:? "ThirdPartyFirewallMissingExpectedRouteTableViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "ThirdPartyFirewallMissingFirewallViolation"+                        )+            Prelude.<*> ( x+                            Data..:? "ThirdPartyFirewallMissingSubnetViolation"+                        )+      )++instance Prelude.Hashable ResourceViolation where+  hashWithSalt _salt ResourceViolation' {..} =+    _salt+      `Prelude.hashWithSalt` awsEc2InstanceViolation+      `Prelude.hashWithSalt` awsEc2NetworkInterfaceViolation+      `Prelude.hashWithSalt` awsVPCSecurityGroupViolation+      `Prelude.hashWithSalt` dnsDuplicateRuleGroupViolation+      `Prelude.hashWithSalt` dnsRuleGroupLimitExceededViolation+      `Prelude.hashWithSalt` dnsRuleGroupPriorityConflictViolation+      `Prelude.hashWithSalt` firewallSubnetIsOutOfScopeViolation+      `Prelude.hashWithSalt` firewallSubnetMissingVPCEndpointViolation+      `Prelude.hashWithSalt` networkFirewallBlackHoleRouteDetectedViolation+      `Prelude.hashWithSalt` networkFirewallInternetTrafficNotInspectedViolation+      `Prelude.hashWithSalt` networkFirewallInvalidRouteConfigurationViolation+      `Prelude.hashWithSalt` networkFirewallMissingExpectedRTViolation+      `Prelude.hashWithSalt` networkFirewallMissingExpectedRoutesViolation+      `Prelude.hashWithSalt` networkFirewallMissingFirewallViolation+      `Prelude.hashWithSalt` networkFirewallMissingSubnetViolation+      `Prelude.hashWithSalt` networkFirewallPolicyModifiedViolation+      `Prelude.hashWithSalt` networkFirewallUnexpectedFirewallRoutesViolation+      `Prelude.hashWithSalt` networkFirewallUnexpectedGatewayRoutesViolation+      `Prelude.hashWithSalt` possibleRemediationActions+      `Prelude.hashWithSalt` routeHasOutOfScopeEndpointViolation+      `Prelude.hashWithSalt` thirdPartyFirewallMissingExpectedRouteTableViolation+      `Prelude.hashWithSalt` thirdPartyFirewallMissingFirewallViolation+      `Prelude.hashWithSalt` thirdPartyFirewallMissingSubnetViolation++instance Prelude.NFData ResourceViolation where+  rnf ResourceViolation' {..} =+    Prelude.rnf awsEc2InstanceViolation+      `Prelude.seq` Prelude.rnf awsEc2NetworkInterfaceViolation+      `Prelude.seq` Prelude.rnf awsVPCSecurityGroupViolation+      `Prelude.seq` Prelude.rnf dnsDuplicateRuleGroupViolation+      `Prelude.seq` Prelude.rnf dnsRuleGroupLimitExceededViolation+      `Prelude.seq` Prelude.rnf dnsRuleGroupPriorityConflictViolation+      `Prelude.seq` Prelude.rnf firewallSubnetIsOutOfScopeViolation+      `Prelude.seq` Prelude.rnf firewallSubnetMissingVPCEndpointViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallBlackHoleRouteDetectedViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallInternetTrafficNotInspectedViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallInvalidRouteConfigurationViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallMissingExpectedRTViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallMissingExpectedRoutesViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallMissingFirewallViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallMissingSubnetViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallPolicyModifiedViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallUnexpectedFirewallRoutesViolation+      `Prelude.seq` Prelude.rnf+        networkFirewallUnexpectedGatewayRoutesViolation+      `Prelude.seq` Prelude.rnf+        possibleRemediationActions+      `Prelude.seq` Prelude.rnf+        routeHasOutOfScopeEndpointViolation+      `Prelude.seq` Prelude.rnf+        thirdPartyFirewallMissingExpectedRouteTableViolation+      `Prelude.seq` Prelude.rnf+        thirdPartyFirewallMissingFirewallViolation+      `Prelude.seq` Prelude.rnf+        thirdPartyFirewallMissingSubnetViolation
+ gen/Amazonka/FMS/Types/Route.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.Route+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.Route where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.DestinationType+import Amazonka.FMS.Types.TargetType+import qualified Amazonka.Prelude as Prelude++-- | Describes a route in a route table.+--+-- /See:/ 'newRoute' smart constructor.+data Route = Route'+  { -- | The destination of the route.+    destination :: Prelude.Maybe Prelude.Text,+    -- | The type of destination for the route.+    destinationType :: Prelude.Maybe DestinationType,+    -- | The route\'s target.+    target :: Prelude.Maybe Prelude.Text,+    -- | The type of target for the route.+    targetType :: Prelude.Maybe TargetType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Route' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination', 'route_destination' - The destination of the route.+--+-- 'destinationType', 'route_destinationType' - The type of destination for the route.+--+-- 'target', 'route_target' - The route\'s target.+--+-- 'targetType', 'route_targetType' - The type of target for the route.+newRoute ::+  Route+newRoute =+  Route'+    { destination = Prelude.Nothing,+      destinationType = Prelude.Nothing,+      target = Prelude.Nothing,+      targetType = Prelude.Nothing+    }++-- | The destination of the route.+route_destination :: Lens.Lens' Route (Prelude.Maybe Prelude.Text)+route_destination = Lens.lens (\Route' {destination} -> destination) (\s@Route' {} a -> s {destination = a} :: Route)++-- | The type of destination for the route.+route_destinationType :: Lens.Lens' Route (Prelude.Maybe DestinationType)+route_destinationType = Lens.lens (\Route' {destinationType} -> destinationType) (\s@Route' {} a -> s {destinationType = a} :: Route)++-- | The route\'s target.+route_target :: Lens.Lens' Route (Prelude.Maybe Prelude.Text)+route_target = Lens.lens (\Route' {target} -> target) (\s@Route' {} a -> s {target = a} :: Route)++-- | The type of target for the route.+route_targetType :: Lens.Lens' Route (Prelude.Maybe TargetType)+route_targetType = Lens.lens (\Route' {targetType} -> targetType) (\s@Route' {} a -> s {targetType = a} :: Route)++instance Data.FromJSON Route where+  parseJSON =+    Data.withObject+      "Route"+      ( \x ->+          Route'+            Prelude.<$> (x Data..:? "Destination")+            Prelude.<*> (x Data..:? "DestinationType")+            Prelude.<*> (x Data..:? "Target")+            Prelude.<*> (x Data..:? "TargetType")+      )++instance Prelude.Hashable Route where+  hashWithSalt _salt Route' {..} =+    _salt+      `Prelude.hashWithSalt` destination+      `Prelude.hashWithSalt` destinationType+      `Prelude.hashWithSalt` target+      `Prelude.hashWithSalt` targetType++instance Prelude.NFData Route where+  rnf Route' {..} =+    Prelude.rnf destination+      `Prelude.seq` Prelude.rnf destinationType+      `Prelude.seq` Prelude.rnf target+      `Prelude.seq` Prelude.rnf targetType
+ gen/Amazonka/FMS/Types/RouteHasOutOfScopeEndpointViolation.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.RouteHasOutOfScopeEndpointViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.Route+import qualified Amazonka.Prelude as Prelude++-- | Contains details about the route endpoint that violates the policy+-- scope.+--+-- /See:/ 'newRouteHasOutOfScopeEndpointViolation' smart constructor.+data RouteHasOutOfScopeEndpointViolation = RouteHasOutOfScopeEndpointViolation'+  { -- | The route table associated with the current firewall subnet.+    currentFirewallSubnetRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The current route table associated with the Internet Gateway.+    currentInternetGatewayRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The ID of the firewall subnet.+    firewallSubnetId :: Prelude.Maybe Prelude.Text,+    -- | The list of firewall subnet routes.+    firewallSubnetRoutes :: Prelude.Maybe [Route],+    -- | The ID of the Internet Gateway.+    internetGatewayId :: Prelude.Maybe Prelude.Text,+    -- | The routes in the route table associated with the Internet Gateway.+    internetGatewayRoutes :: Prelude.Maybe [Route],+    -- | The ID of the route table.+    routeTableId :: Prelude.Maybe Prelude.Text,+    -- | The subnet\'s Availability Zone.+    subnetAvailabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The ID of the subnet\'s Availability Zone.+    subnetAvailabilityZoneId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the subnet associated with the route that violates the policy+    -- scope.+    subnetId :: Prelude.Maybe Prelude.Text,+    -- | The list of routes that violate the route table.+    violatingRoutes :: Prelude.Maybe [Route],+    -- | The VPC ID of the route that violates the policy scope.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteHasOutOfScopeEndpointViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currentFirewallSubnetRouteTable', 'routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable' - The route table associated with the current firewall subnet.+--+-- 'currentInternetGatewayRouteTable', 'routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable' - The current route table associated with the Internet Gateway.+--+-- 'firewallSubnetId', 'routeHasOutOfScopeEndpointViolation_firewallSubnetId' - The ID of the firewall subnet.+--+-- 'firewallSubnetRoutes', 'routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes' - The list of firewall subnet routes.+--+-- 'internetGatewayId', 'routeHasOutOfScopeEndpointViolation_internetGatewayId' - The ID of the Internet Gateway.+--+-- 'internetGatewayRoutes', 'routeHasOutOfScopeEndpointViolation_internetGatewayRoutes' - The routes in the route table associated with the Internet Gateway.+--+-- 'routeTableId', 'routeHasOutOfScopeEndpointViolation_routeTableId' - The ID of the route table.+--+-- 'subnetAvailabilityZone', 'routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone' - The subnet\'s Availability Zone.+--+-- 'subnetAvailabilityZoneId', 'routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId' - The ID of the subnet\'s Availability Zone.+--+-- 'subnetId', 'routeHasOutOfScopeEndpointViolation_subnetId' - The ID of the subnet associated with the route that violates the policy+-- scope.+--+-- 'violatingRoutes', 'routeHasOutOfScopeEndpointViolation_violatingRoutes' - The list of routes that violate the route table.+--+-- 'vpcId', 'routeHasOutOfScopeEndpointViolation_vpcId' - The VPC ID of the route that violates the policy scope.+newRouteHasOutOfScopeEndpointViolation ::+  RouteHasOutOfScopeEndpointViolation+newRouteHasOutOfScopeEndpointViolation =+  RouteHasOutOfScopeEndpointViolation'+    { currentFirewallSubnetRouteTable =+        Prelude.Nothing,+      currentInternetGatewayRouteTable =+        Prelude.Nothing,+      firewallSubnetId = Prelude.Nothing,+      firewallSubnetRoutes = Prelude.Nothing,+      internetGatewayId = Prelude.Nothing,+      internetGatewayRoutes =+        Prelude.Nothing,+      routeTableId = Prelude.Nothing,+      subnetAvailabilityZone =+        Prelude.Nothing,+      subnetAvailabilityZoneId =+        Prelude.Nothing,+      subnetId = Prelude.Nothing,+      violatingRoutes = Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The route table associated with the current firewall subnet.+routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_currentFirewallSubnetRouteTable = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {currentFirewallSubnetRouteTable} -> currentFirewallSubnetRouteTable) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {currentFirewallSubnetRouteTable = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The current route table associated with the Internet Gateway.+routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_currentInternetGatewayRouteTable = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {currentInternetGatewayRouteTable} -> currentInternetGatewayRouteTable) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {currentInternetGatewayRouteTable = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The ID of the firewall subnet.+routeHasOutOfScopeEndpointViolation_firewallSubnetId :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_firewallSubnetId = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {firewallSubnetId} -> firewallSubnetId) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {firewallSubnetId = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The list of firewall subnet routes.+routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe [Route])+routeHasOutOfScopeEndpointViolation_firewallSubnetRoutes = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {firewallSubnetRoutes} -> firewallSubnetRoutes) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {firewallSubnetRoutes = a} :: RouteHasOutOfScopeEndpointViolation) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Internet Gateway.+routeHasOutOfScopeEndpointViolation_internetGatewayId :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_internetGatewayId = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {internetGatewayId} -> internetGatewayId) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {internetGatewayId = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The routes in the route table associated with the Internet Gateway.+routeHasOutOfScopeEndpointViolation_internetGatewayRoutes :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe [Route])+routeHasOutOfScopeEndpointViolation_internetGatewayRoutes = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {internetGatewayRoutes} -> internetGatewayRoutes) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {internetGatewayRoutes = a} :: RouteHasOutOfScopeEndpointViolation) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the route table.+routeHasOutOfScopeEndpointViolation_routeTableId :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_routeTableId = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {routeTableId} -> routeTableId) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {routeTableId = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The subnet\'s Availability Zone.+routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_subnetAvailabilityZone = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {subnetAvailabilityZone} -> subnetAvailabilityZone) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {subnetAvailabilityZone = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The ID of the subnet\'s Availability Zone.+routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_subnetAvailabilityZoneId = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {subnetAvailabilityZoneId} -> subnetAvailabilityZoneId) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {subnetAvailabilityZoneId = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The ID of the subnet associated with the route that violates the policy+-- scope.+routeHasOutOfScopeEndpointViolation_subnetId :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_subnetId = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {subnetId} -> subnetId) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {subnetId = a} :: RouteHasOutOfScopeEndpointViolation)++-- | The list of routes that violate the route table.+routeHasOutOfScopeEndpointViolation_violatingRoutes :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe [Route])+routeHasOutOfScopeEndpointViolation_violatingRoutes = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {violatingRoutes} -> violatingRoutes) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {violatingRoutes = a} :: RouteHasOutOfScopeEndpointViolation) Prelude.. Lens.mapping Lens.coerced++-- | The VPC ID of the route that violates the policy scope.+routeHasOutOfScopeEndpointViolation_vpcId :: Lens.Lens' RouteHasOutOfScopeEndpointViolation (Prelude.Maybe Prelude.Text)+routeHasOutOfScopeEndpointViolation_vpcId = Lens.lens (\RouteHasOutOfScopeEndpointViolation' {vpcId} -> vpcId) (\s@RouteHasOutOfScopeEndpointViolation' {} a -> s {vpcId = a} :: RouteHasOutOfScopeEndpointViolation)++instance+  Data.FromJSON+    RouteHasOutOfScopeEndpointViolation+  where+  parseJSON =+    Data.withObject+      "RouteHasOutOfScopeEndpointViolation"+      ( \x ->+          RouteHasOutOfScopeEndpointViolation'+            Prelude.<$> (x Data..:? "CurrentFirewallSubnetRouteTable")+            Prelude.<*> (x Data..:? "CurrentInternetGatewayRouteTable")+            Prelude.<*> (x Data..:? "FirewallSubnetId")+            Prelude.<*> ( x+                            Data..:? "FirewallSubnetRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "InternetGatewayId")+            Prelude.<*> ( x+                            Data..:? "InternetGatewayRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "RouteTableId")+            Prelude.<*> (x Data..:? "SubnetAvailabilityZone")+            Prelude.<*> (x Data..:? "SubnetAvailabilityZoneId")+            Prelude.<*> (x Data..:? "SubnetId")+            Prelude.<*> ( x+                            Data..:? "ViolatingRoutes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "VpcId")+      )++instance+  Prelude.Hashable+    RouteHasOutOfScopeEndpointViolation+  where+  hashWithSalt+    _salt+    RouteHasOutOfScopeEndpointViolation' {..} =+      _salt+        `Prelude.hashWithSalt` currentFirewallSubnetRouteTable+        `Prelude.hashWithSalt` currentInternetGatewayRouteTable+        `Prelude.hashWithSalt` firewallSubnetId+        `Prelude.hashWithSalt` firewallSubnetRoutes+        `Prelude.hashWithSalt` internetGatewayId+        `Prelude.hashWithSalt` internetGatewayRoutes+        `Prelude.hashWithSalt` routeTableId+        `Prelude.hashWithSalt` subnetAvailabilityZone+        `Prelude.hashWithSalt` subnetAvailabilityZoneId+        `Prelude.hashWithSalt` subnetId+        `Prelude.hashWithSalt` violatingRoutes+        `Prelude.hashWithSalt` vpcId++instance+  Prelude.NFData+    RouteHasOutOfScopeEndpointViolation+  where+  rnf RouteHasOutOfScopeEndpointViolation' {..} =+    Prelude.rnf currentFirewallSubnetRouteTable+      `Prelude.seq` Prelude.rnf currentInternetGatewayRouteTable+      `Prelude.seq` Prelude.rnf firewallSubnetId+      `Prelude.seq` Prelude.rnf firewallSubnetRoutes+      `Prelude.seq` Prelude.rnf internetGatewayId+      `Prelude.seq` Prelude.rnf internetGatewayRoutes+      `Prelude.seq` Prelude.rnf routeTableId+      `Prelude.seq` Prelude.rnf subnetAvailabilityZone+      `Prelude.seq` Prelude.rnf subnetAvailabilityZoneId+      `Prelude.seq` Prelude.rnf subnetId+      `Prelude.seq` Prelude.rnf violatingRoutes+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FMS/Types/RuleOrder.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.RuleOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.RuleOrder+  ( RuleOrder+      ( ..,+        RuleOrder_DEFAULT_ACTION_ORDER,+        RuleOrder_STRICT_ORDER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RuleOrder = RuleOrder'+  { fromRuleOrder ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RuleOrder_DEFAULT_ACTION_ORDER :: RuleOrder+pattern RuleOrder_DEFAULT_ACTION_ORDER = RuleOrder' "DEFAULT_ACTION_ORDER"++pattern RuleOrder_STRICT_ORDER :: RuleOrder+pattern RuleOrder_STRICT_ORDER = RuleOrder' "STRICT_ORDER"++{-# COMPLETE+  RuleOrder_DEFAULT_ACTION_ORDER,+  RuleOrder_STRICT_ORDER,+  RuleOrder'+  #-}
+ gen/Amazonka/FMS/Types/SecurityGroupRemediationAction.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.SecurityGroupRemediationAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.SecurityGroupRemediationAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.RemediationActionType+import Amazonka.FMS.Types.SecurityGroupRuleDescription+import qualified Amazonka.Prelude as Prelude++-- | Remediation option for the rule specified in the @ViolationTarget@.+--+-- /See:/ 'newSecurityGroupRemediationAction' smart constructor.+data SecurityGroupRemediationAction = SecurityGroupRemediationAction'+  { -- | Brief description of the action that will be performed.+    description :: Prelude.Maybe Prelude.Text,+    -- | Indicates if the current action is the default action.+    isDefaultAction :: Prelude.Maybe Prelude.Bool,+    -- | The remediation action that will be performed.+    remediationActionType :: Prelude.Maybe RemediationActionType,+    -- | The final state of the rule specified in the @ViolationTarget@ after it+    -- is remediated.+    remediationResult :: Prelude.Maybe SecurityGroupRuleDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityGroupRemediationAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'securityGroupRemediationAction_description' - Brief description of the action that will be performed.+--+-- 'isDefaultAction', 'securityGroupRemediationAction_isDefaultAction' - Indicates if the current action is the default action.+--+-- 'remediationActionType', 'securityGroupRemediationAction_remediationActionType' - The remediation action that will be performed.+--+-- 'remediationResult', 'securityGroupRemediationAction_remediationResult' - The final state of the rule specified in the @ViolationTarget@ after it+-- is remediated.+newSecurityGroupRemediationAction ::+  SecurityGroupRemediationAction+newSecurityGroupRemediationAction =+  SecurityGroupRemediationAction'+    { description =+        Prelude.Nothing,+      isDefaultAction = Prelude.Nothing,+      remediationActionType = Prelude.Nothing,+      remediationResult = Prelude.Nothing+    }++-- | Brief description of the action that will be performed.+securityGroupRemediationAction_description :: Lens.Lens' SecurityGroupRemediationAction (Prelude.Maybe Prelude.Text)+securityGroupRemediationAction_description = Lens.lens (\SecurityGroupRemediationAction' {description} -> description) (\s@SecurityGroupRemediationAction' {} a -> s {description = a} :: SecurityGroupRemediationAction)++-- | Indicates if the current action is the default action.+securityGroupRemediationAction_isDefaultAction :: Lens.Lens' SecurityGroupRemediationAction (Prelude.Maybe Prelude.Bool)+securityGroupRemediationAction_isDefaultAction = Lens.lens (\SecurityGroupRemediationAction' {isDefaultAction} -> isDefaultAction) (\s@SecurityGroupRemediationAction' {} a -> s {isDefaultAction = a} :: SecurityGroupRemediationAction)++-- | The remediation action that will be performed.+securityGroupRemediationAction_remediationActionType :: Lens.Lens' SecurityGroupRemediationAction (Prelude.Maybe RemediationActionType)+securityGroupRemediationAction_remediationActionType = Lens.lens (\SecurityGroupRemediationAction' {remediationActionType} -> remediationActionType) (\s@SecurityGroupRemediationAction' {} a -> s {remediationActionType = a} :: SecurityGroupRemediationAction)++-- | The final state of the rule specified in the @ViolationTarget@ after it+-- is remediated.+securityGroupRemediationAction_remediationResult :: Lens.Lens' SecurityGroupRemediationAction (Prelude.Maybe SecurityGroupRuleDescription)+securityGroupRemediationAction_remediationResult = Lens.lens (\SecurityGroupRemediationAction' {remediationResult} -> remediationResult) (\s@SecurityGroupRemediationAction' {} a -> s {remediationResult = a} :: SecurityGroupRemediationAction)++instance Data.FromJSON SecurityGroupRemediationAction where+  parseJSON =+    Data.withObject+      "SecurityGroupRemediationAction"+      ( \x ->+          SecurityGroupRemediationAction'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "IsDefaultAction")+            Prelude.<*> (x Data..:? "RemediationActionType")+            Prelude.<*> (x Data..:? "RemediationResult")+      )++instance+  Prelude.Hashable+    SecurityGroupRemediationAction+  where+  hashWithSalt+    _salt+    SecurityGroupRemediationAction' {..} =+      _salt+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` isDefaultAction+        `Prelude.hashWithSalt` remediationActionType+        `Prelude.hashWithSalt` remediationResult++instance+  Prelude.NFData+    SecurityGroupRemediationAction+  where+  rnf SecurityGroupRemediationAction' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf isDefaultAction+      `Prelude.seq` Prelude.rnf remediationActionType+      `Prelude.seq` Prelude.rnf remediationResult
+ gen/Amazonka/FMS/Types/SecurityGroupRuleDescription.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.SecurityGroupRuleDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.SecurityGroupRuleDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a set of permissions for a security group rule.+--+-- /See:/ 'newSecurityGroupRuleDescription' smart constructor.+data SecurityGroupRuleDescription = SecurityGroupRuleDescription'+  { -- | The start of the port range for the TCP and UDP protocols, or an+    -- ICMP\/ICMPv6 type number. A value of @-1@ indicates all ICMP\/ICMPv6+    -- types.+    fromPort :: Prelude.Maybe Prelude.Natural,+    -- | The IPv4 ranges for the security group rule.+    iPV4Range :: Prelude.Maybe Prelude.Text,+    -- | The IPv6 ranges for the security group rule.+    iPV6Range :: Prelude.Maybe Prelude.Text,+    -- | The ID of the prefix list for the security group rule.+    prefixListId :: Prelude.Maybe Prelude.Text,+    -- | The IP protocol name (@tcp@, @udp@, @icmp@, @icmpv6@) or number.+    protocol :: Prelude.Maybe Prelude.Text,+    -- | The end of the port range for the TCP and UDP protocols, or an+    -- ICMP\/ICMPv6 code. A value of @-1@ indicates all ICMP\/ICMPv6 codes.+    toPort :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityGroupRuleDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fromPort', 'securityGroupRuleDescription_fromPort' - The start of the port range for the TCP and UDP protocols, or an+-- ICMP\/ICMPv6 type number. A value of @-1@ indicates all ICMP\/ICMPv6+-- types.+--+-- 'iPV4Range', 'securityGroupRuleDescription_iPV4Range' - The IPv4 ranges for the security group rule.+--+-- 'iPV6Range', 'securityGroupRuleDescription_iPV6Range' - The IPv6 ranges for the security group rule.+--+-- 'prefixListId', 'securityGroupRuleDescription_prefixListId' - The ID of the prefix list for the security group rule.+--+-- 'protocol', 'securityGroupRuleDescription_protocol' - The IP protocol name (@tcp@, @udp@, @icmp@, @icmpv6@) or number.+--+-- 'toPort', 'securityGroupRuleDescription_toPort' - The end of the port range for the TCP and UDP protocols, or an+-- ICMP\/ICMPv6 code. A value of @-1@ indicates all ICMP\/ICMPv6 codes.+newSecurityGroupRuleDescription ::+  SecurityGroupRuleDescription+newSecurityGroupRuleDescription =+  SecurityGroupRuleDescription'+    { fromPort =+        Prelude.Nothing,+      iPV4Range = Prelude.Nothing,+      iPV6Range = Prelude.Nothing,+      prefixListId = Prelude.Nothing,+      protocol = Prelude.Nothing,+      toPort = Prelude.Nothing+    }++-- | The start of the port range for the TCP and UDP protocols, or an+-- ICMP\/ICMPv6 type number. A value of @-1@ indicates all ICMP\/ICMPv6+-- types.+securityGroupRuleDescription_fromPort :: Lens.Lens' SecurityGroupRuleDescription (Prelude.Maybe Prelude.Natural)+securityGroupRuleDescription_fromPort = Lens.lens (\SecurityGroupRuleDescription' {fromPort} -> fromPort) (\s@SecurityGroupRuleDescription' {} a -> s {fromPort = a} :: SecurityGroupRuleDescription)++-- | The IPv4 ranges for the security group rule.+securityGroupRuleDescription_iPV4Range :: Lens.Lens' SecurityGroupRuleDescription (Prelude.Maybe Prelude.Text)+securityGroupRuleDescription_iPV4Range = Lens.lens (\SecurityGroupRuleDescription' {iPV4Range} -> iPV4Range) (\s@SecurityGroupRuleDescription' {} a -> s {iPV4Range = a} :: SecurityGroupRuleDescription)++-- | The IPv6 ranges for the security group rule.+securityGroupRuleDescription_iPV6Range :: Lens.Lens' SecurityGroupRuleDescription (Prelude.Maybe Prelude.Text)+securityGroupRuleDescription_iPV6Range = Lens.lens (\SecurityGroupRuleDescription' {iPV6Range} -> iPV6Range) (\s@SecurityGroupRuleDescription' {} a -> s {iPV6Range = a} :: SecurityGroupRuleDescription)++-- | The ID of the prefix list for the security group rule.+securityGroupRuleDescription_prefixListId :: Lens.Lens' SecurityGroupRuleDescription (Prelude.Maybe Prelude.Text)+securityGroupRuleDescription_prefixListId = Lens.lens (\SecurityGroupRuleDescription' {prefixListId} -> prefixListId) (\s@SecurityGroupRuleDescription' {} a -> s {prefixListId = a} :: SecurityGroupRuleDescription)++-- | The IP protocol name (@tcp@, @udp@, @icmp@, @icmpv6@) or number.+securityGroupRuleDescription_protocol :: Lens.Lens' SecurityGroupRuleDescription (Prelude.Maybe Prelude.Text)+securityGroupRuleDescription_protocol = Lens.lens (\SecurityGroupRuleDescription' {protocol} -> protocol) (\s@SecurityGroupRuleDescription' {} a -> s {protocol = a} :: SecurityGroupRuleDescription)++-- | The end of the port range for the TCP and UDP protocols, or an+-- ICMP\/ICMPv6 code. A value of @-1@ indicates all ICMP\/ICMPv6 codes.+securityGroupRuleDescription_toPort :: Lens.Lens' SecurityGroupRuleDescription (Prelude.Maybe Prelude.Natural)+securityGroupRuleDescription_toPort = Lens.lens (\SecurityGroupRuleDescription' {toPort} -> toPort) (\s@SecurityGroupRuleDescription' {} a -> s {toPort = a} :: SecurityGroupRuleDescription)++instance Data.FromJSON SecurityGroupRuleDescription where+  parseJSON =+    Data.withObject+      "SecurityGroupRuleDescription"+      ( \x ->+          SecurityGroupRuleDescription'+            Prelude.<$> (x Data..:? "FromPort")+            Prelude.<*> (x Data..:? "IPV4Range")+            Prelude.<*> (x Data..:? "IPV6Range")+            Prelude.<*> (x Data..:? "PrefixListId")+            Prelude.<*> (x Data..:? "Protocol")+            Prelude.<*> (x Data..:? "ToPort")+      )++instance+  Prelude.Hashable+    SecurityGroupRuleDescription+  where+  hashWithSalt _salt SecurityGroupRuleDescription' {..} =+    _salt+      `Prelude.hashWithSalt` fromPort+      `Prelude.hashWithSalt` iPV4Range+      `Prelude.hashWithSalt` iPV6Range+      `Prelude.hashWithSalt` prefixListId+      `Prelude.hashWithSalt` protocol+      `Prelude.hashWithSalt` toPort++instance Prelude.NFData SecurityGroupRuleDescription where+  rnf SecurityGroupRuleDescription' {..} =+    Prelude.rnf fromPort+      `Prelude.seq` Prelude.rnf iPV4Range+      `Prelude.seq` Prelude.rnf iPV6Range+      `Prelude.seq` Prelude.rnf prefixListId+      `Prelude.seq` Prelude.rnf protocol+      `Prelude.seq` Prelude.rnf toPort
+ gen/Amazonka/FMS/Types/SecurityServicePolicyData.hs view
@@ -0,0 +1,569 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.SecurityServicePolicyData+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.SecurityServicePolicyData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.PolicyOption+import Amazonka.FMS.Types.SecurityServiceType+import qualified Amazonka.Prelude as Prelude++-- | Details about the security service that is being used to protect the+-- resources.+--+-- /See:/ 'newSecurityServicePolicyData' smart constructor.+data SecurityServicePolicyData = SecurityServicePolicyData'+  { -- | Details about the service that are specific to the service type, in JSON+    -- format.+    --+    -- -   Example: @DNS_FIREWALL@+    --+    --     @\"{\\\"type\\\":\\\"DNS_FIREWALL\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupId\\\":\\\"rslvr-frg-1\\\",\\\"priority\\\":10}],\\\"postProcessRuleGroups\\\":[{\\\"ruleGroupId\\\":\\\"rslvr-frg-2\\\",\\\"priority\\\":9911}]}\"@+    --+    --     Valid values for @preProcessRuleGroups@ are between 1 and 99. Valid+    --     values for @postProcessRuleGroups@ are between 9901 and 10000.+    --+    -- -   Example: @NETWORK_FIREWALL@ - Centralized deployment model+    --+    --     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"awsNetworkFirewallConfig\\\":{\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}},\\\"firewallDeploymentModel\\\":{\\\"centralizedFirewallDeploymentModel\\\":{\\\"centralizedFirewallOrchestrationConfig\\\":{\\\"inspectionVpcIds\\\":[{\\\"resourceId\\\":\\\"vpc-1234\\\",\\\"accountId\\\":\\\"123456789011\\\"}],\\\"firewallCreationConfig\\\":{\\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneId\\\":null,\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]}]}},\\\"allowedIPV4CidrList\\\":[]}}}}\"@+    --+    --     To use the centralized deployment model, you must set+    --     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+    --     to @CENTRALIZED@.+    --+    -- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+    --     automatic Availability Zone configuration+    --+    --     @ \"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\",\\\"192.168.0.0\/28\\\"],\\\"routeManagementAction\\\":\\\"OFF\\\"},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}}\" @+    --+    --     With automatic Availbility Zone configuration, Firewall Manager+    --     chooses which Availability Zones to create the endpoints in. To use+    --     the distributed deployment model, you must set+    --     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+    --     to @NULL@.+    --+    -- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+    --     automatic Availability Zone configuration and route management+    --+    --     @ \"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\",\\\"192.168.0.0\/28\\\"],\\\"routeManagementAction\\\":\\\"MONITOR\\\",\\\"routeManagementTargetTypes\\\":[\\\"InternetGateway\\\"]},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\": \\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}}\" @+    --+    --     To use the distributed deployment model, you must set+    --     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+    --     to @NULL@.+    --+    -- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+    --     custom Availability Zone configuration+    --+    --     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"fragmentcustomactionname\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\", \\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}},{\\\"actionName\\\":\\\"fragmentcustomactionname\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"fragmentmetricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"firewallCreationConfig\\\":{ \\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]},{\\\"availabilityZoneName\\\":\\\"us-east-1b\\\",\\\"allowedIPV4CidrList\\\":[ \\\"10.0.0.0\/28\\\"]}]} },\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":null,\\\"routeManagementAction\\\":\\\"OFF\\\",\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":boolean}}\" @+    --+    --     With custom Availability Zone configuration, you define which+    --     specific Availability Zones to create endpoints in by configuring+    --     @firewallCreationConfig@. To configure the Availability Zones in+    --     @firewallCreationConfig@, specify either the @availabilityZoneName@+    --     or @availabilityZoneId@ parameter, not both parameters.+    --+    --     To use the distributed deployment model, you must set+    --     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+    --     to @NULL@.+    --+    -- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+    --     custom Availability Zone configuration and route management+    --+    --     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"fragmentcustomactionname\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}},{\\\"actionName\\\":\\\"fragmentcustomactionname\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"fragmentmetricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"firewallCreationConfig\\\":{\\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]},{\\\"availabilityZoneName\\\":\\\"us-east-1b\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]}]}},\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":null,\\\"routeManagementAction\\\":\\\"MONITOR\\\",\\\"routeManagementTargetTypes\\\":[\\\"InternetGateway\\\"],\\\"routeManagementConfig\\\":{\\\"allowCrossAZTrafficIfNoEndpoint\\\":true}},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":boolean}}\" @+    --+    --     To use the distributed deployment model, you must set+    --     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+    --     to @NULL@.+    --+    -- -   Example: @THIRD_PARTY_FIREWALL@+    --+    --     @\"{ \"type\":\"THIRD_PARTY_FIREWALL\", \"thirdPartyFirewall\":\"PALO_ALTO_NETWORKS_CLOUD_NGFW\", \"thirdPartyFirewallConfig\":{ \"thirdPartyFirewallPolicyList\":[\"global-1\"] }, \"firewallDeploymentModel\":{ \"distributedFirewallDeploymentModel\":{ \"distributedFirewallOrchestrationConfig\":{ \"firewallCreationConfig\":{ \"endpointLocation\":{ \"availabilityZoneConfigList\":[ { \"availabilityZoneName\":\"${AvailabilityZone}\" } ] } }, \"allowedIPV4CidrList\":[ ] } } } }\"@+    --+    -- -   Example: @SECURITY_GROUPS_COMMON@+    --+    --     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"revertManualSecurityGroupChanges\\\":false,\\\"exclusiveResourceSecurityGroupManagement\\\":false, \\\"applyToAllEC2InstanceENIs\\\":false,\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd\\\"}]}\"@+    --+    -- -   Example: @SECURITY_GROUPS_COMMON@ - Security group tag distribution+    --+    --     @\"\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"securityGroups\\\":[{\\\"id\\\":\\\"sg-000e55995d61a06bd\\\"}],\\\"revertManualSecurityGroupChanges\\\":true,\\\"exclusiveResourceSecurityGroupManagement\\\":false,\\\"applyToAllEC2InstanceENIs\\\":false,\\\"includeSharedVPC\\\":false,\\\"enableTagDistribution\\\":true}\"\"@+    --+    --     Firewall Manager automatically distributes tags from the primary+    --     group to the security groups created by this policy. To use security+    --     group tag distribution, you must also set+    --     @revertManualSecurityGroupChanges@ to @true@, otherwise Firewall+    --     Manager won\'t be able to create the policy. When you enable+    --     @revertManualSecurityGroupChanges@, Firewall Manager identifies and+    --     reports when the security groups created by this policy become+    --     non-compliant.+    --+    --     Firewall Manager won\'t distrubute system tags added by Amazon Web+    --     Services services into the replica security groups. System tags+    --     begin with the @aws:@ prefix.+    --+    -- -   Example: Shared VPCs. Apply the preceding policy to resources in+    --     shared VPCs as well as to those in VPCs that the account owns+    --+    --     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"revertManualSecurityGroupChanges\\\":false,\\\"exclusiveResourceSecurityGroupManagement\\\":false, \\\"applyToAllEC2InstanceENIs\\\":false,\\\"includeSharedVPC\\\":true,\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd\\\"}]}\"@+    --+    -- -   Example: @SECURITY_GROUPS_CONTENT_AUDIT@+    --+    --     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_CONTENT_AUDIT\\\",\\\"securityGroups\\\":[{\\\"id\\\":\\\"sg-000e55995d61a06bd\\\"}],\\\"securityGroupAction\\\":{\\\"type\\\":\\\"ALLOW\\\"}}\"@+    --+    --     The security group action for content audit can be @ALLOW@ or+    --     @DENY@. For @ALLOW@, all in-scope security group rules must be+    --     within the allowed range of the policy\'s security group rules. For+    --     @DENY@, all in-scope security group rules must not contain a value+    --     or a range that matches a rule value or range in the policy security+    --     group.+    --+    -- -   Example: @SECURITY_GROUPS_USAGE_AUDIT@+    --+    --     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_USAGE_AUDIT\\\",\\\"deleteUnusedSecurityGroups\\\":true,\\\"coalesceRedundantSecurityGroups\\\":true}\"@+    --+    -- -   Specification for @SHIELD_ADVANCED@ for Amazon CloudFront+    --     distributions+    --+    --     @\"{\\\"type\\\":\\\"SHIELD_ADVANCED\\\",\\\"automaticResponseConfiguration\\\": {\\\"automaticResponseStatus\\\":\\\"ENABLED|IGNORED|DISABLED\\\", \\\"automaticResponseAction\\\":\\\"BLOCK|COUNT\\\"}, \\\"overrideCustomerWebaclClassic\\\":true|false}\"@+    --+    --     For example:+    --     @\"{\\\"type\\\":\\\"SHIELD_ADVANCED\\\",\\\"automaticResponseConfiguration\\\": {\\\"automaticResponseStatus\\\":\\\"ENABLED\\\", \\\"automaticResponseAction\\\":\\\"COUNT\\\"}}\"@+    --+    --     The default value for @automaticResponseStatus@ is @IGNORED@. The+    --     value for @automaticResponseAction@ is only required when+    --     @automaticResponseStatus@ is set to @ENABLED@. The default value for+    --     @overrideCustomerWebaclClassic@ is @false@.+    --+    --     For other resource types that you can protect with a Shield Advanced+    --     policy, this @ManagedServiceData@ configuration is an empty string.+    --+    -- -   Example: @WAFV2@+    --+    --     @\"{\\\"type\\\":\\\"WAFV2\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupArn\\\":null,\\\"overrideAction\\\":{\\\"type\\\":\\\"NONE\\\"},\\\"managedRuleGroupIdentifier\\\":{\\\"version\\\":null,\\\"vendorName\\\":\\\"AWS\\\",\\\"managedRuleGroupName\\\":\\\"AWSManagedRulesAmazonIpReputationList\\\"},\\\"ruleGroupType\\\":\\\"ManagedRuleGroup\\\",\\\"excludeRules\\\":[{\\\"name\\\":\\\"NoUserAgent_HEADER\\\"}]}],\\\"postProcessRuleGroups\\\":[],\\\"defaultAction\\\":{\\\"type\\\":\\\"ALLOW\\\"},\\\"overrideCustomerWebACLAssociation\\\":false,\\\"loggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[\\\"arn:aws:firehose:us-west-2:12345678912:deliverystream\/aws-waf-logs-fms-admin-destination\\\"],\\\"redactedFields\\\":[{\\\"redactedFieldType\\\":\\\"SingleHeader\\\",\\\"redactedFieldValue\\\":\\\"Cookies\\\"},{\\\"redactedFieldType\\\":\\\"Method\\\"}]}}\"@+    --+    --     In the @loggingConfiguration@, you can specify one+    --     @logDestinationConfigs@, you can optionally provide up to 20+    --     @redactedFields@, and the @RedactedFieldType@ must be one of @URI@,+    --     @QUERY_STRING@, @HEADER@, or @METHOD@.+    --+    -- -   Example: @WAFV2@ - Firewall Manager support for WAF managed rule+    --     group versioning+    --+    --     @\"{\\\"type\\\":\\\"WAFV2\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupArn\\\":null,\\\"overrideAction\\\":{\\\"type\\\":\\\"NONE\\\"},\\\"managedRuleGroupIdentifier\\\":{\\\"versionEnabled\\\":true,\\\"version\\\":\\\"Version_2.0\\\",\\\"vendorName\\\":\\\"AWS\\\",\\\"managedRuleGroupName\\\":\\\"AWSManagedRulesCommonRuleSet\\\"},\\\"ruleGroupType\\\":\\\"ManagedRuleGroup\\\",\\\"excludeRules\\\":[{\\\"name\\\":\\\"NoUserAgent_HEADER\\\"}]}],\\\"postProcessRuleGroups\\\":[],\\\"defaultAction\\\":{\\\"type\\\":\\\"ALLOW\\\"},\\\"overrideCustomerWebACLAssociation\\\":false,\\\"loggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[\\\"arn:aws:firehose:us-west-2:12345678912:deliverystream\/aws-waf-logs-fms-admin-destination\\\"],\\\"redactedFields\\\":[{\\\"redactedFieldType\\\":\\\"SingleHeader\\\",\\\"redactedFieldValue\\\":\\\"Cookies\\\"},{\\\"redactedFieldType\\\":\\\"Method\\\"}]}}\"@+    --+    --     To use a specific version of a WAF managed rule group in your+    --     Firewall Manager policy, you must set @versionEnabled@ to @true@,+    --     and set @version@ to the version you\'d like to use. If you don\'t+    --     set @versionEnabled@ to @true@, or if you omit @versionEnabled@,+    --     then Firewall Manager uses the default version of the WAF managed+    --     rule group.+    --+    -- -   Example: @WAF Classic@+    --+    --     @\"{\\\"type\\\": \\\"WAF\\\", \\\"ruleGroups\\\": [{\\\"id\\\":\\\"12345678-1bcd-9012-efga-0987654321ab\\\", \\\"overrideAction\\\" : {\\\"type\\\": \\\"COUNT\\\"}}], \\\"defaultAction\\\": {\\\"type\\\": \\\"BLOCK\\\"}}\"@+    managedServiceData :: Prelude.Maybe Prelude.Text,+    -- | Contains the Network Firewall firewall policy options to configure a+    -- centralized deployment model.+    policyOption :: Prelude.Maybe PolicyOption,+    -- | The service that the policy is using to protect the resources. This+    -- specifies the type of policy that is created, either an WAF policy, a+    -- Shield Advanced policy, or a security group policy. For security group+    -- policies, Firewall Manager supports one security group for each common+    -- policy and for each content audit policy. This is an adjustable limit+    -- that you can increase by contacting Amazon Web Services Support.+    type' :: SecurityServiceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityServicePolicyData' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'managedServiceData', 'securityServicePolicyData_managedServiceData' - Details about the service that are specific to the service type, in JSON+-- format.+--+-- -   Example: @DNS_FIREWALL@+--+--     @\"{\\\"type\\\":\\\"DNS_FIREWALL\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupId\\\":\\\"rslvr-frg-1\\\",\\\"priority\\\":10}],\\\"postProcessRuleGroups\\\":[{\\\"ruleGroupId\\\":\\\"rslvr-frg-2\\\",\\\"priority\\\":9911}]}\"@+--+--     Valid values for @preProcessRuleGroups@ are between 1 and 99. Valid+--     values for @postProcessRuleGroups@ are between 9901 and 10000.+--+-- -   Example: @NETWORK_FIREWALL@ - Centralized deployment model+--+--     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"awsNetworkFirewallConfig\\\":{\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}},\\\"firewallDeploymentModel\\\":{\\\"centralizedFirewallDeploymentModel\\\":{\\\"centralizedFirewallOrchestrationConfig\\\":{\\\"inspectionVpcIds\\\":[{\\\"resourceId\\\":\\\"vpc-1234\\\",\\\"accountId\\\":\\\"123456789011\\\"}],\\\"firewallCreationConfig\\\":{\\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneId\\\":null,\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]}]}},\\\"allowedIPV4CidrList\\\":[]}}}}\"@+--+--     To use the centralized deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @CENTRALIZED@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     automatic Availability Zone configuration+--+--     @ \"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\",\\\"192.168.0.0\/28\\\"],\\\"routeManagementAction\\\":\\\"OFF\\\"},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}}\" @+--+--     With automatic Availbility Zone configuration, Firewall Manager+--     chooses which Availability Zones to create the endpoints in. To use+--     the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     automatic Availability Zone configuration and route management+--+--     @ \"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\",\\\"192.168.0.0\/28\\\"],\\\"routeManagementAction\\\":\\\"MONITOR\\\",\\\"routeManagementTargetTypes\\\":[\\\"InternetGateway\\\"]},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\": \\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}}\" @+--+--     To use the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     custom Availability Zone configuration+--+--     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"fragmentcustomactionname\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\", \\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}},{\\\"actionName\\\":\\\"fragmentcustomactionname\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"fragmentmetricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"firewallCreationConfig\\\":{ \\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]},{\\\"availabilityZoneName\\\":\\\"us-east-1b\\\",\\\"allowedIPV4CidrList\\\":[ \\\"10.0.0.0\/28\\\"]}]} },\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":null,\\\"routeManagementAction\\\":\\\"OFF\\\",\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":boolean}}\" @+--+--     With custom Availability Zone configuration, you define which+--     specific Availability Zones to create endpoints in by configuring+--     @firewallCreationConfig@. To configure the Availability Zones in+--     @firewallCreationConfig@, specify either the @availabilityZoneName@+--     or @availabilityZoneId@ parameter, not both parameters.+--+--     To use the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     custom Availability Zone configuration and route management+--+--     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"fragmentcustomactionname\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}},{\\\"actionName\\\":\\\"fragmentcustomactionname\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"fragmentmetricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"firewallCreationConfig\\\":{\\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]},{\\\"availabilityZoneName\\\":\\\"us-east-1b\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]}]}},\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":null,\\\"routeManagementAction\\\":\\\"MONITOR\\\",\\\"routeManagementTargetTypes\\\":[\\\"InternetGateway\\\"],\\\"routeManagementConfig\\\":{\\\"allowCrossAZTrafficIfNoEndpoint\\\":true}},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":boolean}}\" @+--+--     To use the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @THIRD_PARTY_FIREWALL@+--+--     @\"{ \"type\":\"THIRD_PARTY_FIREWALL\", \"thirdPartyFirewall\":\"PALO_ALTO_NETWORKS_CLOUD_NGFW\", \"thirdPartyFirewallConfig\":{ \"thirdPartyFirewallPolicyList\":[\"global-1\"] }, \"firewallDeploymentModel\":{ \"distributedFirewallDeploymentModel\":{ \"distributedFirewallOrchestrationConfig\":{ \"firewallCreationConfig\":{ \"endpointLocation\":{ \"availabilityZoneConfigList\":[ { \"availabilityZoneName\":\"${AvailabilityZone}\" } ] } }, \"allowedIPV4CidrList\":[ ] } } } }\"@+--+-- -   Example: @SECURITY_GROUPS_COMMON@+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"revertManualSecurityGroupChanges\\\":false,\\\"exclusiveResourceSecurityGroupManagement\\\":false, \\\"applyToAllEC2InstanceENIs\\\":false,\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd\\\"}]}\"@+--+-- -   Example: @SECURITY_GROUPS_COMMON@ - Security group tag distribution+--+--     @\"\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"securityGroups\\\":[{\\\"id\\\":\\\"sg-000e55995d61a06bd\\\"}],\\\"revertManualSecurityGroupChanges\\\":true,\\\"exclusiveResourceSecurityGroupManagement\\\":false,\\\"applyToAllEC2InstanceENIs\\\":false,\\\"includeSharedVPC\\\":false,\\\"enableTagDistribution\\\":true}\"\"@+--+--     Firewall Manager automatically distributes tags from the primary+--     group to the security groups created by this policy. To use security+--     group tag distribution, you must also set+--     @revertManualSecurityGroupChanges@ to @true@, otherwise Firewall+--     Manager won\'t be able to create the policy. When you enable+--     @revertManualSecurityGroupChanges@, Firewall Manager identifies and+--     reports when the security groups created by this policy become+--     non-compliant.+--+--     Firewall Manager won\'t distrubute system tags added by Amazon Web+--     Services services into the replica security groups. System tags+--     begin with the @aws:@ prefix.+--+-- -   Example: Shared VPCs. Apply the preceding policy to resources in+--     shared VPCs as well as to those in VPCs that the account owns+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"revertManualSecurityGroupChanges\\\":false,\\\"exclusiveResourceSecurityGroupManagement\\\":false, \\\"applyToAllEC2InstanceENIs\\\":false,\\\"includeSharedVPC\\\":true,\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd\\\"}]}\"@+--+-- -   Example: @SECURITY_GROUPS_CONTENT_AUDIT@+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_CONTENT_AUDIT\\\",\\\"securityGroups\\\":[{\\\"id\\\":\\\"sg-000e55995d61a06bd\\\"}],\\\"securityGroupAction\\\":{\\\"type\\\":\\\"ALLOW\\\"}}\"@+--+--     The security group action for content audit can be @ALLOW@ or+--     @DENY@. For @ALLOW@, all in-scope security group rules must be+--     within the allowed range of the policy\'s security group rules. For+--     @DENY@, all in-scope security group rules must not contain a value+--     or a range that matches a rule value or range in the policy security+--     group.+--+-- -   Example: @SECURITY_GROUPS_USAGE_AUDIT@+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_USAGE_AUDIT\\\",\\\"deleteUnusedSecurityGroups\\\":true,\\\"coalesceRedundantSecurityGroups\\\":true}\"@+--+-- -   Specification for @SHIELD_ADVANCED@ for Amazon CloudFront+--     distributions+--+--     @\"{\\\"type\\\":\\\"SHIELD_ADVANCED\\\",\\\"automaticResponseConfiguration\\\": {\\\"automaticResponseStatus\\\":\\\"ENABLED|IGNORED|DISABLED\\\", \\\"automaticResponseAction\\\":\\\"BLOCK|COUNT\\\"}, \\\"overrideCustomerWebaclClassic\\\":true|false}\"@+--+--     For example:+--     @\"{\\\"type\\\":\\\"SHIELD_ADVANCED\\\",\\\"automaticResponseConfiguration\\\": {\\\"automaticResponseStatus\\\":\\\"ENABLED\\\", \\\"automaticResponseAction\\\":\\\"COUNT\\\"}}\"@+--+--     The default value for @automaticResponseStatus@ is @IGNORED@. The+--     value for @automaticResponseAction@ is only required when+--     @automaticResponseStatus@ is set to @ENABLED@. The default value for+--     @overrideCustomerWebaclClassic@ is @false@.+--+--     For other resource types that you can protect with a Shield Advanced+--     policy, this @ManagedServiceData@ configuration is an empty string.+--+-- -   Example: @WAFV2@+--+--     @\"{\\\"type\\\":\\\"WAFV2\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupArn\\\":null,\\\"overrideAction\\\":{\\\"type\\\":\\\"NONE\\\"},\\\"managedRuleGroupIdentifier\\\":{\\\"version\\\":null,\\\"vendorName\\\":\\\"AWS\\\",\\\"managedRuleGroupName\\\":\\\"AWSManagedRulesAmazonIpReputationList\\\"},\\\"ruleGroupType\\\":\\\"ManagedRuleGroup\\\",\\\"excludeRules\\\":[{\\\"name\\\":\\\"NoUserAgent_HEADER\\\"}]}],\\\"postProcessRuleGroups\\\":[],\\\"defaultAction\\\":{\\\"type\\\":\\\"ALLOW\\\"},\\\"overrideCustomerWebACLAssociation\\\":false,\\\"loggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[\\\"arn:aws:firehose:us-west-2:12345678912:deliverystream\/aws-waf-logs-fms-admin-destination\\\"],\\\"redactedFields\\\":[{\\\"redactedFieldType\\\":\\\"SingleHeader\\\",\\\"redactedFieldValue\\\":\\\"Cookies\\\"},{\\\"redactedFieldType\\\":\\\"Method\\\"}]}}\"@+--+--     In the @loggingConfiguration@, you can specify one+--     @logDestinationConfigs@, you can optionally provide up to 20+--     @redactedFields@, and the @RedactedFieldType@ must be one of @URI@,+--     @QUERY_STRING@, @HEADER@, or @METHOD@.+--+-- -   Example: @WAFV2@ - Firewall Manager support for WAF managed rule+--     group versioning+--+--     @\"{\\\"type\\\":\\\"WAFV2\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupArn\\\":null,\\\"overrideAction\\\":{\\\"type\\\":\\\"NONE\\\"},\\\"managedRuleGroupIdentifier\\\":{\\\"versionEnabled\\\":true,\\\"version\\\":\\\"Version_2.0\\\",\\\"vendorName\\\":\\\"AWS\\\",\\\"managedRuleGroupName\\\":\\\"AWSManagedRulesCommonRuleSet\\\"},\\\"ruleGroupType\\\":\\\"ManagedRuleGroup\\\",\\\"excludeRules\\\":[{\\\"name\\\":\\\"NoUserAgent_HEADER\\\"}]}],\\\"postProcessRuleGroups\\\":[],\\\"defaultAction\\\":{\\\"type\\\":\\\"ALLOW\\\"},\\\"overrideCustomerWebACLAssociation\\\":false,\\\"loggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[\\\"arn:aws:firehose:us-west-2:12345678912:deliverystream\/aws-waf-logs-fms-admin-destination\\\"],\\\"redactedFields\\\":[{\\\"redactedFieldType\\\":\\\"SingleHeader\\\",\\\"redactedFieldValue\\\":\\\"Cookies\\\"},{\\\"redactedFieldType\\\":\\\"Method\\\"}]}}\"@+--+--     To use a specific version of a WAF managed rule group in your+--     Firewall Manager policy, you must set @versionEnabled@ to @true@,+--     and set @version@ to the version you\'d like to use. If you don\'t+--     set @versionEnabled@ to @true@, or if you omit @versionEnabled@,+--     then Firewall Manager uses the default version of the WAF managed+--     rule group.+--+-- -   Example: @WAF Classic@+--+--     @\"{\\\"type\\\": \\\"WAF\\\", \\\"ruleGroups\\\": [{\\\"id\\\":\\\"12345678-1bcd-9012-efga-0987654321ab\\\", \\\"overrideAction\\\" : {\\\"type\\\": \\\"COUNT\\\"}}], \\\"defaultAction\\\": {\\\"type\\\": \\\"BLOCK\\\"}}\"@+--+-- 'policyOption', 'securityServicePolicyData_policyOption' - Contains the Network Firewall firewall policy options to configure a+-- centralized deployment model.+--+-- 'type'', 'securityServicePolicyData_type' - The service that the policy is using to protect the resources. This+-- specifies the type of policy that is created, either an WAF policy, a+-- Shield Advanced policy, or a security group policy. For security group+-- policies, Firewall Manager supports one security group for each common+-- policy and for each content audit policy. This is an adjustable limit+-- that you can increase by contacting Amazon Web Services Support.+newSecurityServicePolicyData ::+  -- | 'type''+  SecurityServiceType ->+  SecurityServicePolicyData+newSecurityServicePolicyData pType_ =+  SecurityServicePolicyData'+    { managedServiceData =+        Prelude.Nothing,+      policyOption = Prelude.Nothing,+      type' = pType_+    }++-- | Details about the service that are specific to the service type, in JSON+-- format.+--+-- -   Example: @DNS_FIREWALL@+--+--     @\"{\\\"type\\\":\\\"DNS_FIREWALL\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupId\\\":\\\"rslvr-frg-1\\\",\\\"priority\\\":10}],\\\"postProcessRuleGroups\\\":[{\\\"ruleGroupId\\\":\\\"rslvr-frg-2\\\",\\\"priority\\\":9911}]}\"@+--+--     Valid values for @preProcessRuleGroups@ are between 1 and 99. Valid+--     values for @postProcessRuleGroups@ are between 9901 and 10000.+--+-- -   Example: @NETWORK_FIREWALL@ - Centralized deployment model+--+--     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"awsNetworkFirewallConfig\\\":{\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}},\\\"firewallDeploymentModel\\\":{\\\"centralizedFirewallDeploymentModel\\\":{\\\"centralizedFirewallOrchestrationConfig\\\":{\\\"inspectionVpcIds\\\":[{\\\"resourceId\\\":\\\"vpc-1234\\\",\\\"accountId\\\":\\\"123456789011\\\"}],\\\"firewallCreationConfig\\\":{\\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneId\\\":null,\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]}]}},\\\"allowedIPV4CidrList\\\":[]}}}}\"@+--+--     To use the centralized deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @CENTRALIZED@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     automatic Availability Zone configuration+--+--     @ \"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\",\\\"192.168.0.0\/28\\\"],\\\"routeManagementAction\\\":\\\"OFF\\\"},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}}\" @+--+--     With automatic Availbility Zone configuration, Firewall Manager+--     chooses which Availability Zones to create the endpoints in. To use+--     the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     automatic Availability Zone configuration and route management+--+--     @ \"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\",\\\"192.168.0.0\/28\\\"],\\\"routeManagementAction\\\":\\\"MONITOR\\\",\\\"routeManagementTargetTypes\\\":[\\\"InternetGateway\\\"]},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\": \\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":true}}\" @+--+--     To use the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     custom Availability Zone configuration+--+--     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"fragmentcustomactionname\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\", \\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}},{\\\"actionName\\\":\\\"fragmentcustomactionname\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"fragmentmetricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"firewallCreationConfig\\\":{ \\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]},{\\\"availabilityZoneName\\\":\\\"us-east-1b\\\",\\\"allowedIPV4CidrList\\\":[ \\\"10.0.0.0\/28\\\"]}]} },\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":null,\\\"routeManagementAction\\\":\\\"OFF\\\",\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":boolean}}\" @+--+--     With custom Availability Zone configuration, you define which+--     specific Availability Zones to create endpoints in by configuring+--     @firewallCreationConfig@. To configure the Availability Zones in+--     @firewallCreationConfig@, specify either the @availabilityZoneName@+--     or @availabilityZoneId@ parameter, not both parameters.+--+--     To use the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @NETWORK_FIREWALL@ - Distributed deployment model with+--     custom Availability Zone configuration and route management+--+--     @\"{\\\"type\\\":\\\"NETWORK_FIREWALL\\\",\\\"networkFirewallStatelessRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup\/test\\\",\\\"priority\\\":1}],\\\"networkFirewallStatelessDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"customActionName\\\"],\\\"networkFirewallStatelessFragmentDefaultActions\\\":[\\\"aws:forward_to_sfe\\\",\\\"fragmentcustomactionname\\\"],\\\"networkFirewallStatelessCustomActions\\\":[{\\\"actionName\\\":\\\"customActionName\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"metricdimensionvalue\\\"}]}}},{\\\"actionName\\\":\\\"fragmentcustomactionname\\\",\\\"actionDefinition\\\":{\\\"publishMetricAction\\\":{\\\"dimensions\\\":[{\\\"value\\\":\\\"fragmentmetricdimensionvalue\\\"}]}}}],\\\"networkFirewallStatefulRuleGroupReferences\\\":[{\\\"resourceARN\\\":\\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup\/test\\\"}],\\\"networkFirewallOrchestrationConfig\\\":{\\\"firewallCreationConfig\\\":{\\\"endpointLocation\\\":{\\\"availabilityZoneConfigList\\\":[{\\\"availabilityZoneName\\\":\\\"us-east-1a\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]},{\\\"availabilityZoneName\\\":\\\"us-east-1b\\\",\\\"allowedIPV4CidrList\\\":[\\\"10.0.0.0\/28\\\"]}]}},\\\"singleFirewallEndpointPerVPC\\\":false,\\\"allowedIPV4CidrList\\\":null,\\\"routeManagementAction\\\":\\\"MONITOR\\\",\\\"routeManagementTargetTypes\\\":[\\\"InternetGateway\\\"],\\\"routeManagementConfig\\\":{\\\"allowCrossAZTrafficIfNoEndpoint\\\":true}},\\\"networkFirewallLoggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"ALERT\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}},{\\\"logDestinationType\\\":\\\"S3\\\",\\\"logType\\\":\\\"FLOW\\\",\\\"logDestination\\\":{\\\"bucketName\\\":\\\"s3-bucket-name\\\"}}],\\\"overrideExistingConfig\\\":boolean}}\" @+--+--     To use the distributed deployment model, you must set+--     <https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PolicyOption.html PolicyOption>+--     to @NULL@.+--+-- -   Example: @THIRD_PARTY_FIREWALL@+--+--     @\"{ \"type\":\"THIRD_PARTY_FIREWALL\", \"thirdPartyFirewall\":\"PALO_ALTO_NETWORKS_CLOUD_NGFW\", \"thirdPartyFirewallConfig\":{ \"thirdPartyFirewallPolicyList\":[\"global-1\"] }, \"firewallDeploymentModel\":{ \"distributedFirewallDeploymentModel\":{ \"distributedFirewallOrchestrationConfig\":{ \"firewallCreationConfig\":{ \"endpointLocation\":{ \"availabilityZoneConfigList\":[ { \"availabilityZoneName\":\"${AvailabilityZone}\" } ] } }, \"allowedIPV4CidrList\":[ ] } } } }\"@+--+-- -   Example: @SECURITY_GROUPS_COMMON@+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"revertManualSecurityGroupChanges\\\":false,\\\"exclusiveResourceSecurityGroupManagement\\\":false, \\\"applyToAllEC2InstanceENIs\\\":false,\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd\\\"}]}\"@+--+-- -   Example: @SECURITY_GROUPS_COMMON@ - Security group tag distribution+--+--     @\"\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"securityGroups\\\":[{\\\"id\\\":\\\"sg-000e55995d61a06bd\\\"}],\\\"revertManualSecurityGroupChanges\\\":true,\\\"exclusiveResourceSecurityGroupManagement\\\":false,\\\"applyToAllEC2InstanceENIs\\\":false,\\\"includeSharedVPC\\\":false,\\\"enableTagDistribution\\\":true}\"\"@+--+--     Firewall Manager automatically distributes tags from the primary+--     group to the security groups created by this policy. To use security+--     group tag distribution, you must also set+--     @revertManualSecurityGroupChanges@ to @true@, otherwise Firewall+--     Manager won\'t be able to create the policy. When you enable+--     @revertManualSecurityGroupChanges@, Firewall Manager identifies and+--     reports when the security groups created by this policy become+--     non-compliant.+--+--     Firewall Manager won\'t distrubute system tags added by Amazon Web+--     Services services into the replica security groups. System tags+--     begin with the @aws:@ prefix.+--+-- -   Example: Shared VPCs. Apply the preceding policy to resources in+--     shared VPCs as well as to those in VPCs that the account owns+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"revertManualSecurityGroupChanges\\\":false,\\\"exclusiveResourceSecurityGroupManagement\\\":false, \\\"applyToAllEC2InstanceENIs\\\":false,\\\"includeSharedVPC\\\":true,\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd\\\"}]}\"@+--+-- -   Example: @SECURITY_GROUPS_CONTENT_AUDIT@+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_CONTENT_AUDIT\\\",\\\"securityGroups\\\":[{\\\"id\\\":\\\"sg-000e55995d61a06bd\\\"}],\\\"securityGroupAction\\\":{\\\"type\\\":\\\"ALLOW\\\"}}\"@+--+--     The security group action for content audit can be @ALLOW@ or+--     @DENY@. For @ALLOW@, all in-scope security group rules must be+--     within the allowed range of the policy\'s security group rules. For+--     @DENY@, all in-scope security group rules must not contain a value+--     or a range that matches a rule value or range in the policy security+--     group.+--+-- -   Example: @SECURITY_GROUPS_USAGE_AUDIT@+--+--     @\"{\\\"type\\\":\\\"SECURITY_GROUPS_USAGE_AUDIT\\\",\\\"deleteUnusedSecurityGroups\\\":true,\\\"coalesceRedundantSecurityGroups\\\":true}\"@+--+-- -   Specification for @SHIELD_ADVANCED@ for Amazon CloudFront+--     distributions+--+--     @\"{\\\"type\\\":\\\"SHIELD_ADVANCED\\\",\\\"automaticResponseConfiguration\\\": {\\\"automaticResponseStatus\\\":\\\"ENABLED|IGNORED|DISABLED\\\", \\\"automaticResponseAction\\\":\\\"BLOCK|COUNT\\\"}, \\\"overrideCustomerWebaclClassic\\\":true|false}\"@+--+--     For example:+--     @\"{\\\"type\\\":\\\"SHIELD_ADVANCED\\\",\\\"automaticResponseConfiguration\\\": {\\\"automaticResponseStatus\\\":\\\"ENABLED\\\", \\\"automaticResponseAction\\\":\\\"COUNT\\\"}}\"@+--+--     The default value for @automaticResponseStatus@ is @IGNORED@. The+--     value for @automaticResponseAction@ is only required when+--     @automaticResponseStatus@ is set to @ENABLED@. The default value for+--     @overrideCustomerWebaclClassic@ is @false@.+--+--     For other resource types that you can protect with a Shield Advanced+--     policy, this @ManagedServiceData@ configuration is an empty string.+--+-- -   Example: @WAFV2@+--+--     @\"{\\\"type\\\":\\\"WAFV2\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupArn\\\":null,\\\"overrideAction\\\":{\\\"type\\\":\\\"NONE\\\"},\\\"managedRuleGroupIdentifier\\\":{\\\"version\\\":null,\\\"vendorName\\\":\\\"AWS\\\",\\\"managedRuleGroupName\\\":\\\"AWSManagedRulesAmazonIpReputationList\\\"},\\\"ruleGroupType\\\":\\\"ManagedRuleGroup\\\",\\\"excludeRules\\\":[{\\\"name\\\":\\\"NoUserAgent_HEADER\\\"}]}],\\\"postProcessRuleGroups\\\":[],\\\"defaultAction\\\":{\\\"type\\\":\\\"ALLOW\\\"},\\\"overrideCustomerWebACLAssociation\\\":false,\\\"loggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[\\\"arn:aws:firehose:us-west-2:12345678912:deliverystream\/aws-waf-logs-fms-admin-destination\\\"],\\\"redactedFields\\\":[{\\\"redactedFieldType\\\":\\\"SingleHeader\\\",\\\"redactedFieldValue\\\":\\\"Cookies\\\"},{\\\"redactedFieldType\\\":\\\"Method\\\"}]}}\"@+--+--     In the @loggingConfiguration@, you can specify one+--     @logDestinationConfigs@, you can optionally provide up to 20+--     @redactedFields@, and the @RedactedFieldType@ must be one of @URI@,+--     @QUERY_STRING@, @HEADER@, or @METHOD@.+--+-- -   Example: @WAFV2@ - Firewall Manager support for WAF managed rule+--     group versioning+--+--     @\"{\\\"type\\\":\\\"WAFV2\\\",\\\"preProcessRuleGroups\\\":[{\\\"ruleGroupArn\\\":null,\\\"overrideAction\\\":{\\\"type\\\":\\\"NONE\\\"},\\\"managedRuleGroupIdentifier\\\":{\\\"versionEnabled\\\":true,\\\"version\\\":\\\"Version_2.0\\\",\\\"vendorName\\\":\\\"AWS\\\",\\\"managedRuleGroupName\\\":\\\"AWSManagedRulesCommonRuleSet\\\"},\\\"ruleGroupType\\\":\\\"ManagedRuleGroup\\\",\\\"excludeRules\\\":[{\\\"name\\\":\\\"NoUserAgent_HEADER\\\"}]}],\\\"postProcessRuleGroups\\\":[],\\\"defaultAction\\\":{\\\"type\\\":\\\"ALLOW\\\"},\\\"overrideCustomerWebACLAssociation\\\":false,\\\"loggingConfiguration\\\":{\\\"logDestinationConfigs\\\":[\\\"arn:aws:firehose:us-west-2:12345678912:deliverystream\/aws-waf-logs-fms-admin-destination\\\"],\\\"redactedFields\\\":[{\\\"redactedFieldType\\\":\\\"SingleHeader\\\",\\\"redactedFieldValue\\\":\\\"Cookies\\\"},{\\\"redactedFieldType\\\":\\\"Method\\\"}]}}\"@+--+--     To use a specific version of a WAF managed rule group in your+--     Firewall Manager policy, you must set @versionEnabled@ to @true@,+--     and set @version@ to the version you\'d like to use. If you don\'t+--     set @versionEnabled@ to @true@, or if you omit @versionEnabled@,+--     then Firewall Manager uses the default version of the WAF managed+--     rule group.+--+-- -   Example: @WAF Classic@+--+--     @\"{\\\"type\\\": \\\"WAF\\\", \\\"ruleGroups\\\": [{\\\"id\\\":\\\"12345678-1bcd-9012-efga-0987654321ab\\\", \\\"overrideAction\\\" : {\\\"type\\\": \\\"COUNT\\\"}}], \\\"defaultAction\\\": {\\\"type\\\": \\\"BLOCK\\\"}}\"@+securityServicePolicyData_managedServiceData :: Lens.Lens' SecurityServicePolicyData (Prelude.Maybe Prelude.Text)+securityServicePolicyData_managedServiceData = Lens.lens (\SecurityServicePolicyData' {managedServiceData} -> managedServiceData) (\s@SecurityServicePolicyData' {} a -> s {managedServiceData = a} :: SecurityServicePolicyData)++-- | Contains the Network Firewall firewall policy options to configure a+-- centralized deployment model.+securityServicePolicyData_policyOption :: Lens.Lens' SecurityServicePolicyData (Prelude.Maybe PolicyOption)+securityServicePolicyData_policyOption = Lens.lens (\SecurityServicePolicyData' {policyOption} -> policyOption) (\s@SecurityServicePolicyData' {} a -> s {policyOption = a} :: SecurityServicePolicyData)++-- | The service that the policy is using to protect the resources. This+-- specifies the type of policy that is created, either an WAF policy, a+-- Shield Advanced policy, or a security group policy. For security group+-- policies, Firewall Manager supports one security group for each common+-- policy and for each content audit policy. This is an adjustable limit+-- that you can increase by contacting Amazon Web Services Support.+securityServicePolicyData_type :: Lens.Lens' SecurityServicePolicyData SecurityServiceType+securityServicePolicyData_type = Lens.lens (\SecurityServicePolicyData' {type'} -> type') (\s@SecurityServicePolicyData' {} a -> s {type' = a} :: SecurityServicePolicyData)++instance Data.FromJSON SecurityServicePolicyData where+  parseJSON =+    Data.withObject+      "SecurityServicePolicyData"+      ( \x ->+          SecurityServicePolicyData'+            Prelude.<$> (x Data..:? "ManagedServiceData")+            Prelude.<*> (x Data..:? "PolicyOption")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable SecurityServicePolicyData where+  hashWithSalt _salt SecurityServicePolicyData' {..} =+    _salt+      `Prelude.hashWithSalt` managedServiceData+      `Prelude.hashWithSalt` policyOption+      `Prelude.hashWithSalt` type'++instance Prelude.NFData SecurityServicePolicyData where+  rnf SecurityServicePolicyData' {..} =+    Prelude.rnf managedServiceData+      `Prelude.seq` Prelude.rnf policyOption+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON SecurityServicePolicyData where+  toJSON SecurityServicePolicyData' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ManagedServiceData" Data..=)+              Prelude.<$> managedServiceData,+            ("PolicyOption" Data..=) Prelude.<$> policyOption,+            Prelude.Just ("Type" Data..= type')+          ]+      )
+ gen/Amazonka/FMS/Types/SecurityServiceType.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.SecurityServiceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.SecurityServiceType+  ( SecurityServiceType+      ( ..,+        SecurityServiceType_DNS_FIREWALL,+        SecurityServiceType_IMPORT_NETWORK_FIREWALL,+        SecurityServiceType_NETWORK_FIREWALL,+        SecurityServiceType_SECURITY_GROUPS_COMMON,+        SecurityServiceType_SECURITY_GROUPS_CONTENT_AUDIT,+        SecurityServiceType_SECURITY_GROUPS_USAGE_AUDIT,+        SecurityServiceType_SHIELD_ADVANCED,+        SecurityServiceType_THIRD_PARTY_FIREWALL,+        SecurityServiceType_WAF,+        SecurityServiceType_WAFV2+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SecurityServiceType = SecurityServiceType'+  { fromSecurityServiceType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SecurityServiceType_DNS_FIREWALL :: SecurityServiceType+pattern SecurityServiceType_DNS_FIREWALL = SecurityServiceType' "DNS_FIREWALL"++pattern SecurityServiceType_IMPORT_NETWORK_FIREWALL :: SecurityServiceType+pattern SecurityServiceType_IMPORT_NETWORK_FIREWALL = SecurityServiceType' "IMPORT_NETWORK_FIREWALL"++pattern SecurityServiceType_NETWORK_FIREWALL :: SecurityServiceType+pattern SecurityServiceType_NETWORK_FIREWALL = SecurityServiceType' "NETWORK_FIREWALL"++pattern SecurityServiceType_SECURITY_GROUPS_COMMON :: SecurityServiceType+pattern SecurityServiceType_SECURITY_GROUPS_COMMON = SecurityServiceType' "SECURITY_GROUPS_COMMON"++pattern SecurityServiceType_SECURITY_GROUPS_CONTENT_AUDIT :: SecurityServiceType+pattern SecurityServiceType_SECURITY_GROUPS_CONTENT_AUDIT = SecurityServiceType' "SECURITY_GROUPS_CONTENT_AUDIT"++pattern SecurityServiceType_SECURITY_GROUPS_USAGE_AUDIT :: SecurityServiceType+pattern SecurityServiceType_SECURITY_GROUPS_USAGE_AUDIT = SecurityServiceType' "SECURITY_GROUPS_USAGE_AUDIT"++pattern SecurityServiceType_SHIELD_ADVANCED :: SecurityServiceType+pattern SecurityServiceType_SHIELD_ADVANCED = SecurityServiceType' "SHIELD_ADVANCED"++pattern SecurityServiceType_THIRD_PARTY_FIREWALL :: SecurityServiceType+pattern SecurityServiceType_THIRD_PARTY_FIREWALL = SecurityServiceType' "THIRD_PARTY_FIREWALL"++pattern SecurityServiceType_WAF :: SecurityServiceType+pattern SecurityServiceType_WAF = SecurityServiceType' "WAF"++pattern SecurityServiceType_WAFV2 :: SecurityServiceType+pattern SecurityServiceType_WAFV2 = SecurityServiceType' "WAFV2"++{-# COMPLETE+  SecurityServiceType_DNS_FIREWALL,+  SecurityServiceType_IMPORT_NETWORK_FIREWALL,+  SecurityServiceType_NETWORK_FIREWALL,+  SecurityServiceType_SECURITY_GROUPS_COMMON,+  SecurityServiceType_SECURITY_GROUPS_CONTENT_AUDIT,+  SecurityServiceType_SECURITY_GROUPS_USAGE_AUDIT,+  SecurityServiceType_SHIELD_ADVANCED,+  SecurityServiceType_THIRD_PARTY_FIREWALL,+  SecurityServiceType_WAF,+  SecurityServiceType_WAFV2,+  SecurityServiceType'+  #-}
+ gen/Amazonka/FMS/Types/StatefulEngineOptions.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.StatefulEngineOptions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.StatefulEngineOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.RuleOrder+import qualified Amazonka.Prelude as Prelude++-- | Configuration settings for the handling of the stateful rule groups in a+-- Network Firewall firewall policy.+--+-- /See:/ 'newStatefulEngineOptions' smart constructor.+data StatefulEngineOptions = StatefulEngineOptions'+  { -- | Indicates how to manage the order of stateful rule evaluation for the+    -- policy. @DEFAULT_ACTION_ORDER@ is the default behavior. Stateful rules+    -- are provided to the rule engine as Suricata compatible strings, and+    -- Suricata evaluates them based on certain settings. For more information,+    -- see+    -- <https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html Evaluation order for stateful rules>+    -- in the /Network Firewall Developer Guide/.+    ruleOrder :: Prelude.Maybe RuleOrder+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StatefulEngineOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleOrder', 'statefulEngineOptions_ruleOrder' - Indicates how to manage the order of stateful rule evaluation for the+-- policy. @DEFAULT_ACTION_ORDER@ is the default behavior. Stateful rules+-- are provided to the rule engine as Suricata compatible strings, and+-- Suricata evaluates them based on certain settings. For more information,+-- see+-- <https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html Evaluation order for stateful rules>+-- in the /Network Firewall Developer Guide/.+newStatefulEngineOptions ::+  StatefulEngineOptions+newStatefulEngineOptions =+  StatefulEngineOptions' {ruleOrder = Prelude.Nothing}++-- | Indicates how to manage the order of stateful rule evaluation for the+-- policy. @DEFAULT_ACTION_ORDER@ is the default behavior. Stateful rules+-- are provided to the rule engine as Suricata compatible strings, and+-- Suricata evaluates them based on certain settings. For more information,+-- see+-- <https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html Evaluation order for stateful rules>+-- in the /Network Firewall Developer Guide/.+statefulEngineOptions_ruleOrder :: Lens.Lens' StatefulEngineOptions (Prelude.Maybe RuleOrder)+statefulEngineOptions_ruleOrder = Lens.lens (\StatefulEngineOptions' {ruleOrder} -> ruleOrder) (\s@StatefulEngineOptions' {} a -> s {ruleOrder = a} :: StatefulEngineOptions)++instance Data.FromJSON StatefulEngineOptions where+  parseJSON =+    Data.withObject+      "StatefulEngineOptions"+      ( \x ->+          StatefulEngineOptions'+            Prelude.<$> (x Data..:? "RuleOrder")+      )++instance Prelude.Hashable StatefulEngineOptions where+  hashWithSalt _salt StatefulEngineOptions' {..} =+    _salt `Prelude.hashWithSalt` ruleOrder++instance Prelude.NFData StatefulEngineOptions where+  rnf StatefulEngineOptions' {..} =+    Prelude.rnf ruleOrder
+ gen/Amazonka/FMS/Types/StatefulRuleGroup.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.StatefulRuleGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.StatefulRuleGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.NetworkFirewallStatefulRuleGroupOverride+import qualified Amazonka.Prelude as Prelude++-- | Network Firewall stateful rule group, used in a+-- NetworkFirewallPolicyDescription.+--+-- /See:/ 'newStatefulRuleGroup' smart constructor.+data StatefulRuleGroup = StatefulRuleGroup'+  { -- | The action that allows the policy owner to override the behavior of the+    -- rule group within a policy.+    override :: Prelude.Maybe NetworkFirewallStatefulRuleGroupOverride,+    -- | An integer setting that indicates the order in which to run the stateful+    -- rule groups in a single Network Firewall firewall policy. This setting+    -- only applies to firewall policies that specify the @STRICT_ORDER@ rule+    -- order in the stateful engine options settings.+    --+    -- Network Firewall evalutes each stateful rule group against a packet+    -- starting with the group that has the lowest priority setting. You must+    -- ensure that the priority settings are unique within each policy. For+    -- information about+    --+    -- You can change the priority settings of your rule groups at any time. To+    -- make it easier to insert rule groups later, number them so there\'s a+    -- wide range in between, for example use 100, 200, and so on.+    priority :: Prelude.Maybe Prelude.Int,+    -- | The resource ID of the rule group.+    resourceId :: Prelude.Maybe Prelude.Text,+    -- | The name of the rule group.+    ruleGroupName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StatefulRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'override', 'statefulRuleGroup_override' - The action that allows the policy owner to override the behavior of the+-- rule group within a policy.+--+-- 'priority', 'statefulRuleGroup_priority' - An integer setting that indicates the order in which to run the stateful+-- rule groups in a single Network Firewall firewall policy. This setting+-- only applies to firewall policies that specify the @STRICT_ORDER@ rule+-- order in the stateful engine options settings.+--+-- Network Firewall evalutes each stateful rule group against a packet+-- starting with the group that has the lowest priority setting. You must+-- ensure that the priority settings are unique within each policy. For+-- information about+--+-- You can change the priority settings of your rule groups at any time. To+-- make it easier to insert rule groups later, number them so there\'s a+-- wide range in between, for example use 100, 200, and so on.+--+-- 'resourceId', 'statefulRuleGroup_resourceId' - The resource ID of the rule group.+--+-- 'ruleGroupName', 'statefulRuleGroup_ruleGroupName' - The name of the rule group.+newStatefulRuleGroup ::+  StatefulRuleGroup+newStatefulRuleGroup =+  StatefulRuleGroup'+    { override = Prelude.Nothing,+      priority = Prelude.Nothing,+      resourceId = Prelude.Nothing,+      ruleGroupName = Prelude.Nothing+    }++-- | The action that allows the policy owner to override the behavior of the+-- rule group within a policy.+statefulRuleGroup_override :: Lens.Lens' StatefulRuleGroup (Prelude.Maybe NetworkFirewallStatefulRuleGroupOverride)+statefulRuleGroup_override = Lens.lens (\StatefulRuleGroup' {override} -> override) (\s@StatefulRuleGroup' {} a -> s {override = a} :: StatefulRuleGroup)++-- | An integer setting that indicates the order in which to run the stateful+-- rule groups in a single Network Firewall firewall policy. This setting+-- only applies to firewall policies that specify the @STRICT_ORDER@ rule+-- order in the stateful engine options settings.+--+-- Network Firewall evalutes each stateful rule group against a packet+-- starting with the group that has the lowest priority setting. You must+-- ensure that the priority settings are unique within each policy. For+-- information about+--+-- You can change the priority settings of your rule groups at any time. To+-- make it easier to insert rule groups later, number them so there\'s a+-- wide range in between, for example use 100, 200, and so on.+statefulRuleGroup_priority :: Lens.Lens' StatefulRuleGroup (Prelude.Maybe Prelude.Int)+statefulRuleGroup_priority = Lens.lens (\StatefulRuleGroup' {priority} -> priority) (\s@StatefulRuleGroup' {} a -> s {priority = a} :: StatefulRuleGroup)++-- | The resource ID of the rule group.+statefulRuleGroup_resourceId :: Lens.Lens' StatefulRuleGroup (Prelude.Maybe Prelude.Text)+statefulRuleGroup_resourceId = Lens.lens (\StatefulRuleGroup' {resourceId} -> resourceId) (\s@StatefulRuleGroup' {} a -> s {resourceId = a} :: StatefulRuleGroup)++-- | The name of the rule group.+statefulRuleGroup_ruleGroupName :: Lens.Lens' StatefulRuleGroup (Prelude.Maybe Prelude.Text)+statefulRuleGroup_ruleGroupName = Lens.lens (\StatefulRuleGroup' {ruleGroupName} -> ruleGroupName) (\s@StatefulRuleGroup' {} a -> s {ruleGroupName = a} :: StatefulRuleGroup)++instance Data.FromJSON StatefulRuleGroup where+  parseJSON =+    Data.withObject+      "StatefulRuleGroup"+      ( \x ->+          StatefulRuleGroup'+            Prelude.<$> (x Data..:? "Override")+            Prelude.<*> (x Data..:? "Priority")+            Prelude.<*> (x Data..:? "ResourceId")+            Prelude.<*> (x Data..:? "RuleGroupName")+      )++instance Prelude.Hashable StatefulRuleGroup where+  hashWithSalt _salt StatefulRuleGroup' {..} =+    _salt+      `Prelude.hashWithSalt` override+      `Prelude.hashWithSalt` priority+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` ruleGroupName++instance Prelude.NFData StatefulRuleGroup where+  rnf StatefulRuleGroup' {..} =+    Prelude.rnf override+      `Prelude.seq` Prelude.rnf priority+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf ruleGroupName
+ gen/Amazonka/FMS/Types/StatelessRuleGroup.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.StatelessRuleGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.StatelessRuleGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Network Firewall stateless rule group, used in a+-- NetworkFirewallPolicyDescription.+--+-- /See:/ 'newStatelessRuleGroup' smart constructor.+data StatelessRuleGroup = StatelessRuleGroup'+  { -- | The priority of the rule group. Network Firewall evaluates the stateless+    -- rule groups in a firewall policy starting from the lowest priority+    -- setting.+    priority :: Prelude.Maybe Prelude.Natural,+    -- | The resource ID of the rule group.+    resourceId :: Prelude.Maybe Prelude.Text,+    -- | The name of the rule group.+    ruleGroupName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StatelessRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'priority', 'statelessRuleGroup_priority' - The priority of the rule group. Network Firewall evaluates the stateless+-- rule groups in a firewall policy starting from the lowest priority+-- setting.+--+-- 'resourceId', 'statelessRuleGroup_resourceId' - The resource ID of the rule group.+--+-- 'ruleGroupName', 'statelessRuleGroup_ruleGroupName' - The name of the rule group.+newStatelessRuleGroup ::+  StatelessRuleGroup+newStatelessRuleGroup =+  StatelessRuleGroup'+    { priority = Prelude.Nothing,+      resourceId = Prelude.Nothing,+      ruleGroupName = Prelude.Nothing+    }++-- | The priority of the rule group. Network Firewall evaluates the stateless+-- rule groups in a firewall policy starting from the lowest priority+-- setting.+statelessRuleGroup_priority :: Lens.Lens' StatelessRuleGroup (Prelude.Maybe Prelude.Natural)+statelessRuleGroup_priority = Lens.lens (\StatelessRuleGroup' {priority} -> priority) (\s@StatelessRuleGroup' {} a -> s {priority = a} :: StatelessRuleGroup)++-- | The resource ID of the rule group.+statelessRuleGroup_resourceId :: Lens.Lens' StatelessRuleGroup (Prelude.Maybe Prelude.Text)+statelessRuleGroup_resourceId = Lens.lens (\StatelessRuleGroup' {resourceId} -> resourceId) (\s@StatelessRuleGroup' {} a -> s {resourceId = a} :: StatelessRuleGroup)++-- | The name of the rule group.+statelessRuleGroup_ruleGroupName :: Lens.Lens' StatelessRuleGroup (Prelude.Maybe Prelude.Text)+statelessRuleGroup_ruleGroupName = Lens.lens (\StatelessRuleGroup' {ruleGroupName} -> ruleGroupName) (\s@StatelessRuleGroup' {} a -> s {ruleGroupName = a} :: StatelessRuleGroup)++instance Data.FromJSON StatelessRuleGroup where+  parseJSON =+    Data.withObject+      "StatelessRuleGroup"+      ( \x ->+          StatelessRuleGroup'+            Prelude.<$> (x Data..:? "Priority")+            Prelude.<*> (x Data..:? "ResourceId")+            Prelude.<*> (x Data..:? "RuleGroupName")+      )++instance Prelude.Hashable StatelessRuleGroup where+  hashWithSalt _salt StatelessRuleGroup' {..} =+    _salt+      `Prelude.hashWithSalt` priority+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` ruleGroupName++instance Prelude.NFData StatelessRuleGroup where+  rnf StatelessRuleGroup' {..} =+    Prelude.rnf priority+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf ruleGroupName
+ gen/Amazonka/FMS/Types/Tag.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A collection of key:value pairs associated with an Amazon Web Services+-- resource. The key:value pair can be anything you define. 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\"). You can add up to 50 tags+-- to each Amazon Web Services resource.+--+-- /See:/ 'newTag' smart constructor.+data Tag = 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.+    key :: Prelude.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.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', '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.+--+-- 'value', '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 ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | 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.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | 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.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/FMS/Types/TargetType.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.TargetType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.TargetType+  ( TargetType+      ( ..,+        TargetType_CARRIER_GATEWAY,+        TargetType_EGRESS_ONLY_INTERNET_GATEWAY,+        TargetType_GATEWAY,+        TargetType_INSTANCE,+        TargetType_LOCAL_GATEWAY,+        TargetType_NAT_GATEWAY,+        TargetType_NETWORK_INTERFACE,+        TargetType_TRANSIT_GATEWAY,+        TargetType_VPC_ENDPOINT,+        TargetType_VPC_PEERING_CONNECTION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetType = TargetType'+  { fromTargetType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TargetType_CARRIER_GATEWAY :: TargetType+pattern TargetType_CARRIER_GATEWAY = TargetType' "CARRIER_GATEWAY"++pattern TargetType_EGRESS_ONLY_INTERNET_GATEWAY :: TargetType+pattern TargetType_EGRESS_ONLY_INTERNET_GATEWAY = TargetType' "EGRESS_ONLY_INTERNET_GATEWAY"++pattern TargetType_GATEWAY :: TargetType+pattern TargetType_GATEWAY = TargetType' "GATEWAY"++pattern TargetType_INSTANCE :: TargetType+pattern TargetType_INSTANCE = TargetType' "INSTANCE"++pattern TargetType_LOCAL_GATEWAY :: TargetType+pattern TargetType_LOCAL_GATEWAY = TargetType' "LOCAL_GATEWAY"++pattern TargetType_NAT_GATEWAY :: TargetType+pattern TargetType_NAT_GATEWAY = TargetType' "NAT_GATEWAY"++pattern TargetType_NETWORK_INTERFACE :: TargetType+pattern TargetType_NETWORK_INTERFACE = TargetType' "NETWORK_INTERFACE"++pattern TargetType_TRANSIT_GATEWAY :: TargetType+pattern TargetType_TRANSIT_GATEWAY = TargetType' "TRANSIT_GATEWAY"++pattern TargetType_VPC_ENDPOINT :: TargetType+pattern TargetType_VPC_ENDPOINT = TargetType' "VPC_ENDPOINT"++pattern TargetType_VPC_PEERING_CONNECTION :: TargetType+pattern TargetType_VPC_PEERING_CONNECTION = TargetType' "VPC_PEERING_CONNECTION"++{-# COMPLETE+  TargetType_CARRIER_GATEWAY,+  TargetType_EGRESS_ONLY_INTERNET_GATEWAY,+  TargetType_GATEWAY,+  TargetType_INSTANCE,+  TargetType_LOCAL_GATEWAY,+  TargetType_NAT_GATEWAY,+  TargetType_NETWORK_INTERFACE,+  TargetType_TRANSIT_GATEWAY,+  TargetType_VPC_ENDPOINT,+  TargetType_VPC_PEERING_CONNECTION,+  TargetType'+  #-}
+ gen/Amazonka/FMS/Types/ThirdPartyFirewall.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ThirdPartyFirewall+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ThirdPartyFirewall+  ( ThirdPartyFirewall+      ( ..,+        ThirdPartyFirewall_FORTIGATE_CLOUD_NATIVE_FIREWALL,+        ThirdPartyFirewall_PALO_ALTO_NETWORKS_CLOUD_NGFW+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ThirdPartyFirewall = ThirdPartyFirewall'+  { fromThirdPartyFirewall ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ThirdPartyFirewall_FORTIGATE_CLOUD_NATIVE_FIREWALL :: ThirdPartyFirewall+pattern ThirdPartyFirewall_FORTIGATE_CLOUD_NATIVE_FIREWALL = ThirdPartyFirewall' "FORTIGATE_CLOUD_NATIVE_FIREWALL"++pattern ThirdPartyFirewall_PALO_ALTO_NETWORKS_CLOUD_NGFW :: ThirdPartyFirewall+pattern ThirdPartyFirewall_PALO_ALTO_NETWORKS_CLOUD_NGFW = ThirdPartyFirewall' "PALO_ALTO_NETWORKS_CLOUD_NGFW"++{-# COMPLETE+  ThirdPartyFirewall_FORTIGATE_CLOUD_NATIVE_FIREWALL,+  ThirdPartyFirewall_PALO_ALTO_NETWORKS_CLOUD_NGFW,+  ThirdPartyFirewall'+  #-}
+ gen/Amazonka/FMS/Types/ThirdPartyFirewallAssociationStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ThirdPartyFirewallAssociationStatus+  ( ThirdPartyFirewallAssociationStatus+      ( ..,+        ThirdPartyFirewallAssociationStatus_NOT_EXIST,+        ThirdPartyFirewallAssociationStatus_OFFBOARDING,+        ThirdPartyFirewallAssociationStatus_OFFBOARD_COMPLETE,+        ThirdPartyFirewallAssociationStatus_ONBOARDING,+        ThirdPartyFirewallAssociationStatus_ONBOARD_COMPLETE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ThirdPartyFirewallAssociationStatus = ThirdPartyFirewallAssociationStatus'+  { fromThirdPartyFirewallAssociationStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ThirdPartyFirewallAssociationStatus_NOT_EXIST :: ThirdPartyFirewallAssociationStatus+pattern ThirdPartyFirewallAssociationStatus_NOT_EXIST = ThirdPartyFirewallAssociationStatus' "NOT_EXIST"++pattern ThirdPartyFirewallAssociationStatus_OFFBOARDING :: ThirdPartyFirewallAssociationStatus+pattern ThirdPartyFirewallAssociationStatus_OFFBOARDING = ThirdPartyFirewallAssociationStatus' "OFFBOARDING"++pattern ThirdPartyFirewallAssociationStatus_OFFBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus+pattern ThirdPartyFirewallAssociationStatus_OFFBOARD_COMPLETE = ThirdPartyFirewallAssociationStatus' "OFFBOARD_COMPLETE"++pattern ThirdPartyFirewallAssociationStatus_ONBOARDING :: ThirdPartyFirewallAssociationStatus+pattern ThirdPartyFirewallAssociationStatus_ONBOARDING = ThirdPartyFirewallAssociationStatus' "ONBOARDING"++pattern ThirdPartyFirewallAssociationStatus_ONBOARD_COMPLETE :: ThirdPartyFirewallAssociationStatus+pattern ThirdPartyFirewallAssociationStatus_ONBOARD_COMPLETE = ThirdPartyFirewallAssociationStatus' "ONBOARD_COMPLETE"++{-# COMPLETE+  ThirdPartyFirewallAssociationStatus_NOT_EXIST,+  ThirdPartyFirewallAssociationStatus_OFFBOARDING,+  ThirdPartyFirewallAssociationStatus_OFFBOARD_COMPLETE,+  ThirdPartyFirewallAssociationStatus_ONBOARDING,+  ThirdPartyFirewallAssociationStatus_ONBOARD_COMPLETE,+  ThirdPartyFirewallAssociationStatus'+  #-}
+ gen/Amazonka/FMS/Types/ThirdPartyFirewallFirewallPolicy.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ThirdPartyFirewallFirewallPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Configures the third-party firewall\'s firewall policy.+--+-- /See:/ 'newThirdPartyFirewallFirewallPolicy' smart constructor.+data ThirdPartyFirewallFirewallPolicy = ThirdPartyFirewallFirewallPolicy'+  { -- | The ID of the specified firewall policy.+    firewallPolicyId :: Prelude.Maybe Prelude.Text,+    -- | The name of the specified firewall policy.+    firewallPolicyName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThirdPartyFirewallFirewallPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallPolicyId', 'thirdPartyFirewallFirewallPolicy_firewallPolicyId' - The ID of the specified firewall policy.+--+-- 'firewallPolicyName', 'thirdPartyFirewallFirewallPolicy_firewallPolicyName' - The name of the specified firewall policy.+newThirdPartyFirewallFirewallPolicy ::+  ThirdPartyFirewallFirewallPolicy+newThirdPartyFirewallFirewallPolicy =+  ThirdPartyFirewallFirewallPolicy'+    { firewallPolicyId =+        Prelude.Nothing,+      firewallPolicyName = Prelude.Nothing+    }++-- | The ID of the specified firewall policy.+thirdPartyFirewallFirewallPolicy_firewallPolicyId :: Lens.Lens' ThirdPartyFirewallFirewallPolicy (Prelude.Maybe Prelude.Text)+thirdPartyFirewallFirewallPolicy_firewallPolicyId = Lens.lens (\ThirdPartyFirewallFirewallPolicy' {firewallPolicyId} -> firewallPolicyId) (\s@ThirdPartyFirewallFirewallPolicy' {} a -> s {firewallPolicyId = a} :: ThirdPartyFirewallFirewallPolicy)++-- | The name of the specified firewall policy.+thirdPartyFirewallFirewallPolicy_firewallPolicyName :: Lens.Lens' ThirdPartyFirewallFirewallPolicy (Prelude.Maybe Prelude.Text)+thirdPartyFirewallFirewallPolicy_firewallPolicyName = Lens.lens (\ThirdPartyFirewallFirewallPolicy' {firewallPolicyName} -> firewallPolicyName) (\s@ThirdPartyFirewallFirewallPolicy' {} a -> s {firewallPolicyName = a} :: ThirdPartyFirewallFirewallPolicy)++instance+  Data.FromJSON+    ThirdPartyFirewallFirewallPolicy+  where+  parseJSON =+    Data.withObject+      "ThirdPartyFirewallFirewallPolicy"+      ( \x ->+          ThirdPartyFirewallFirewallPolicy'+            Prelude.<$> (x Data..:? "FirewallPolicyId")+            Prelude.<*> (x Data..:? "FirewallPolicyName")+      )++instance+  Prelude.Hashable+    ThirdPartyFirewallFirewallPolicy+  where+  hashWithSalt+    _salt+    ThirdPartyFirewallFirewallPolicy' {..} =+      _salt+        `Prelude.hashWithSalt` firewallPolicyId+        `Prelude.hashWithSalt` firewallPolicyName++instance+  Prelude.NFData+    ThirdPartyFirewallFirewallPolicy+  where+  rnf ThirdPartyFirewallFirewallPolicy' {..} =+    Prelude.rnf firewallPolicyId+      `Prelude.seq` Prelude.rnf firewallPolicyName
+ gen/Amazonka/FMS/Types/ThirdPartyFirewallMissingExpectedRouteTableViolation.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ThirdPartyFirewallMissingExpectedRouteTableViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The violation details for a third-party firewall that\'s not associated+-- with an Firewall Manager managed route table.+--+-- /See:/ 'newThirdPartyFirewallMissingExpectedRouteTableViolation' smart constructor.+data ThirdPartyFirewallMissingExpectedRouteTableViolation = ThirdPartyFirewallMissingExpectedRouteTableViolation'+  { -- | The Availability Zone of the firewall subnet that\'s causing the+    -- violation.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the current route table that\'s associated with the+    -- subnet, if one is available.+    currentRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the route table that should be associated with the+    -- subnet.+    expectedRouteTable :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the VPC associated with a fireawll subnet that\'s+    -- causing the violation.+    vpc :: Prelude.Maybe Prelude.Text,+    -- | The ID of the third-party firewall or VPC resource that\'s causing the+    -- violation.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThirdPartyFirewallMissingExpectedRouteTableViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone' - The Availability Zone of the firewall subnet that\'s causing the+-- violation.+--+-- 'currentRouteTable', 'thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable' - The resource ID of the current route table that\'s associated with the+-- subnet, if one is available.+--+-- 'expectedRouteTable', 'thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable' - The resource ID of the route table that should be associated with the+-- subnet.+--+-- 'vpc', 'thirdPartyFirewallMissingExpectedRouteTableViolation_vpc' - The resource ID of the VPC associated with a fireawll subnet that\'s+-- causing the violation.+--+-- 'violationTarget', 'thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget' - The ID of the third-party firewall or VPC resource that\'s causing the+-- violation.+newThirdPartyFirewallMissingExpectedRouteTableViolation ::+  ThirdPartyFirewallMissingExpectedRouteTableViolation+newThirdPartyFirewallMissingExpectedRouteTableViolation =+  ThirdPartyFirewallMissingExpectedRouteTableViolation'+    { availabilityZone =+        Prelude.Nothing,+      currentRouteTable =+        Prelude.Nothing,+      expectedRouteTable =+        Prelude.Nothing,+      vpc = Prelude.Nothing,+      violationTarget =+        Prelude.Nothing+    }++-- | The Availability Zone of the firewall subnet that\'s causing the+-- violation.+thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone :: Lens.Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingExpectedRouteTableViolation_availabilityZone = Lens.lens (\ThirdPartyFirewallMissingExpectedRouteTableViolation' {availabilityZone} -> availabilityZone) (\s@ThirdPartyFirewallMissingExpectedRouteTableViolation' {} a -> s {availabilityZone = a} :: ThirdPartyFirewallMissingExpectedRouteTableViolation)++-- | The resource ID of the current route table that\'s associated with the+-- subnet, if one is available.+thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable :: Lens.Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingExpectedRouteTableViolation_currentRouteTable = Lens.lens (\ThirdPartyFirewallMissingExpectedRouteTableViolation' {currentRouteTable} -> currentRouteTable) (\s@ThirdPartyFirewallMissingExpectedRouteTableViolation' {} a -> s {currentRouteTable = a} :: ThirdPartyFirewallMissingExpectedRouteTableViolation)++-- | The resource ID of the route table that should be associated with the+-- subnet.+thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable :: Lens.Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingExpectedRouteTableViolation_expectedRouteTable = Lens.lens (\ThirdPartyFirewallMissingExpectedRouteTableViolation' {expectedRouteTable} -> expectedRouteTable) (\s@ThirdPartyFirewallMissingExpectedRouteTableViolation' {} a -> s {expectedRouteTable = a} :: ThirdPartyFirewallMissingExpectedRouteTableViolation)++-- | The resource ID of the VPC associated with a fireawll subnet that\'s+-- causing the violation.+thirdPartyFirewallMissingExpectedRouteTableViolation_vpc :: Lens.Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingExpectedRouteTableViolation_vpc = Lens.lens (\ThirdPartyFirewallMissingExpectedRouteTableViolation' {vpc} -> vpc) (\s@ThirdPartyFirewallMissingExpectedRouteTableViolation' {} a -> s {vpc = a} :: ThirdPartyFirewallMissingExpectedRouteTableViolation)++-- | The ID of the third-party firewall or VPC resource that\'s causing the+-- violation.+thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget :: Lens.Lens' ThirdPartyFirewallMissingExpectedRouteTableViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingExpectedRouteTableViolation_violationTarget = Lens.lens (\ThirdPartyFirewallMissingExpectedRouteTableViolation' {violationTarget} -> violationTarget) (\s@ThirdPartyFirewallMissingExpectedRouteTableViolation' {} a -> s {violationTarget = a} :: ThirdPartyFirewallMissingExpectedRouteTableViolation)++instance+  Data.FromJSON+    ThirdPartyFirewallMissingExpectedRouteTableViolation+  where+  parseJSON =+    Data.withObject+      "ThirdPartyFirewallMissingExpectedRouteTableViolation"+      ( \x ->+          ThirdPartyFirewallMissingExpectedRouteTableViolation'+            Prelude.<$> (x Data..:? "AvailabilityZone")+            Prelude.<*> (x Data..:? "CurrentRouteTable")+            Prelude.<*> (x Data..:? "ExpectedRouteTable")+            Prelude.<*> (x Data..:? "VPC")+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    ThirdPartyFirewallMissingExpectedRouteTableViolation+  where+  hashWithSalt+    _salt+    ThirdPartyFirewallMissingExpectedRouteTableViolation' {..} =+      _salt+        `Prelude.hashWithSalt` availabilityZone+        `Prelude.hashWithSalt` currentRouteTable+        `Prelude.hashWithSalt` expectedRouteTable+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    ThirdPartyFirewallMissingExpectedRouteTableViolation+  where+  rnf+    ThirdPartyFirewallMissingExpectedRouteTableViolation' {..} =+      Prelude.rnf availabilityZone+        `Prelude.seq` Prelude.rnf currentRouteTable+        `Prelude.seq` Prelude.rnf expectedRouteTable+        `Prelude.seq` Prelude.rnf vpc+        `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/ThirdPartyFirewallMissingFirewallViolation.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ThirdPartyFirewallMissingFirewallViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The violation details about a third-party firewall\'s subnet that+-- doesn\'t have a Firewall Manager managed firewall in its VPC.+--+-- /See:/ 'newThirdPartyFirewallMissingFirewallViolation' smart constructor.+data ThirdPartyFirewallMissingFirewallViolation = ThirdPartyFirewallMissingFirewallViolation'+  { -- | The Availability Zone of the third-party firewall that\'s causing the+    -- violation.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The reason the resource is causing this violation, if a reason is+    -- available.+    targetViolationReason :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the VPC associated with a third-party firewall.+    vpc :: Prelude.Maybe Prelude.Text,+    -- | The ID of the third-party firewall that\'s causing the violation.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThirdPartyFirewallMissingFirewallViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'thirdPartyFirewallMissingFirewallViolation_availabilityZone' - The Availability Zone of the third-party firewall that\'s causing the+-- violation.+--+-- 'targetViolationReason', 'thirdPartyFirewallMissingFirewallViolation_targetViolationReason' - The reason the resource is causing this violation, if a reason is+-- available.+--+-- 'vpc', 'thirdPartyFirewallMissingFirewallViolation_vpc' - The resource ID of the VPC associated with a third-party firewall.+--+-- 'violationTarget', 'thirdPartyFirewallMissingFirewallViolation_violationTarget' - The ID of the third-party firewall that\'s causing the violation.+newThirdPartyFirewallMissingFirewallViolation ::+  ThirdPartyFirewallMissingFirewallViolation+newThirdPartyFirewallMissingFirewallViolation =+  ThirdPartyFirewallMissingFirewallViolation'+    { availabilityZone =+        Prelude.Nothing,+      targetViolationReason =+        Prelude.Nothing,+      vpc = Prelude.Nothing,+      violationTarget =+        Prelude.Nothing+    }++-- | The Availability Zone of the third-party firewall that\'s causing the+-- violation.+thirdPartyFirewallMissingFirewallViolation_availabilityZone :: Lens.Lens' ThirdPartyFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingFirewallViolation_availabilityZone = Lens.lens (\ThirdPartyFirewallMissingFirewallViolation' {availabilityZone} -> availabilityZone) (\s@ThirdPartyFirewallMissingFirewallViolation' {} a -> s {availabilityZone = a} :: ThirdPartyFirewallMissingFirewallViolation)++-- | The reason the resource is causing this violation, if a reason is+-- available.+thirdPartyFirewallMissingFirewallViolation_targetViolationReason :: Lens.Lens' ThirdPartyFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingFirewallViolation_targetViolationReason = Lens.lens (\ThirdPartyFirewallMissingFirewallViolation' {targetViolationReason} -> targetViolationReason) (\s@ThirdPartyFirewallMissingFirewallViolation' {} a -> s {targetViolationReason = a} :: ThirdPartyFirewallMissingFirewallViolation)++-- | The resource ID of the VPC associated with a third-party firewall.+thirdPartyFirewallMissingFirewallViolation_vpc :: Lens.Lens' ThirdPartyFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingFirewallViolation_vpc = Lens.lens (\ThirdPartyFirewallMissingFirewallViolation' {vpc} -> vpc) (\s@ThirdPartyFirewallMissingFirewallViolation' {} a -> s {vpc = a} :: ThirdPartyFirewallMissingFirewallViolation)++-- | The ID of the third-party firewall that\'s causing the violation.+thirdPartyFirewallMissingFirewallViolation_violationTarget :: Lens.Lens' ThirdPartyFirewallMissingFirewallViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingFirewallViolation_violationTarget = Lens.lens (\ThirdPartyFirewallMissingFirewallViolation' {violationTarget} -> violationTarget) (\s@ThirdPartyFirewallMissingFirewallViolation' {} a -> s {violationTarget = a} :: ThirdPartyFirewallMissingFirewallViolation)++instance+  Data.FromJSON+    ThirdPartyFirewallMissingFirewallViolation+  where+  parseJSON =+    Data.withObject+      "ThirdPartyFirewallMissingFirewallViolation"+      ( \x ->+          ThirdPartyFirewallMissingFirewallViolation'+            Prelude.<$> (x Data..:? "AvailabilityZone")+            Prelude.<*> (x Data..:? "TargetViolationReason")+            Prelude.<*> (x Data..:? "VPC")+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    ThirdPartyFirewallMissingFirewallViolation+  where+  hashWithSalt+    _salt+    ThirdPartyFirewallMissingFirewallViolation' {..} =+      _salt+        `Prelude.hashWithSalt` availabilityZone+        `Prelude.hashWithSalt` targetViolationReason+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    ThirdPartyFirewallMissingFirewallViolation+  where+  rnf ThirdPartyFirewallMissingFirewallViolation' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf targetViolationReason+      `Prelude.seq` Prelude.rnf vpc+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/ThirdPartyFirewallMissingSubnetViolation.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ThirdPartyFirewallMissingSubnetViolation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The violation details for a third-party firewall for an Availability+-- Zone that\'s missing the Firewall Manager managed subnet.+--+-- /See:/ 'newThirdPartyFirewallMissingSubnetViolation' smart constructor.+data ThirdPartyFirewallMissingSubnetViolation = ThirdPartyFirewallMissingSubnetViolation'+  { -- | The Availability Zone of a subnet that\'s causing the violation.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The reason the resource is causing the violation, if a reason is+    -- available.+    targetViolationReason :: Prelude.Maybe Prelude.Text,+    -- | The resource ID of the VPC associated with a subnet that\'s causing the+    -- violation.+    vpc :: Prelude.Maybe Prelude.Text,+    -- | The ID of the third-party firewall or VPC resource that\'s causing the+    -- violation.+    violationTarget :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThirdPartyFirewallMissingSubnetViolation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'thirdPartyFirewallMissingSubnetViolation_availabilityZone' - The Availability Zone of a subnet that\'s causing the violation.+--+-- 'targetViolationReason', 'thirdPartyFirewallMissingSubnetViolation_targetViolationReason' - The reason the resource is causing the violation, if a reason is+-- available.+--+-- 'vpc', 'thirdPartyFirewallMissingSubnetViolation_vpc' - The resource ID of the VPC associated with a subnet that\'s causing the+-- violation.+--+-- 'violationTarget', 'thirdPartyFirewallMissingSubnetViolation_violationTarget' - The ID of the third-party firewall or VPC resource that\'s causing the+-- violation.+newThirdPartyFirewallMissingSubnetViolation ::+  ThirdPartyFirewallMissingSubnetViolation+newThirdPartyFirewallMissingSubnetViolation =+  ThirdPartyFirewallMissingSubnetViolation'+    { availabilityZone =+        Prelude.Nothing,+      targetViolationReason =+        Prelude.Nothing,+      vpc = Prelude.Nothing,+      violationTarget = Prelude.Nothing+    }++-- | The Availability Zone of a subnet that\'s causing the violation.+thirdPartyFirewallMissingSubnetViolation_availabilityZone :: Lens.Lens' ThirdPartyFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingSubnetViolation_availabilityZone = Lens.lens (\ThirdPartyFirewallMissingSubnetViolation' {availabilityZone} -> availabilityZone) (\s@ThirdPartyFirewallMissingSubnetViolation' {} a -> s {availabilityZone = a} :: ThirdPartyFirewallMissingSubnetViolation)++-- | The reason the resource is causing the violation, if a reason is+-- available.+thirdPartyFirewallMissingSubnetViolation_targetViolationReason :: Lens.Lens' ThirdPartyFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingSubnetViolation_targetViolationReason = Lens.lens (\ThirdPartyFirewallMissingSubnetViolation' {targetViolationReason} -> targetViolationReason) (\s@ThirdPartyFirewallMissingSubnetViolation' {} a -> s {targetViolationReason = a} :: ThirdPartyFirewallMissingSubnetViolation)++-- | The resource ID of the VPC associated with a subnet that\'s causing the+-- violation.+thirdPartyFirewallMissingSubnetViolation_vpc :: Lens.Lens' ThirdPartyFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingSubnetViolation_vpc = Lens.lens (\ThirdPartyFirewallMissingSubnetViolation' {vpc} -> vpc) (\s@ThirdPartyFirewallMissingSubnetViolation' {} a -> s {vpc = a} :: ThirdPartyFirewallMissingSubnetViolation)++-- | The ID of the third-party firewall or VPC resource that\'s causing the+-- violation.+thirdPartyFirewallMissingSubnetViolation_violationTarget :: Lens.Lens' ThirdPartyFirewallMissingSubnetViolation (Prelude.Maybe Prelude.Text)+thirdPartyFirewallMissingSubnetViolation_violationTarget = Lens.lens (\ThirdPartyFirewallMissingSubnetViolation' {violationTarget} -> violationTarget) (\s@ThirdPartyFirewallMissingSubnetViolation' {} a -> s {violationTarget = a} :: ThirdPartyFirewallMissingSubnetViolation)++instance+  Data.FromJSON+    ThirdPartyFirewallMissingSubnetViolation+  where+  parseJSON =+    Data.withObject+      "ThirdPartyFirewallMissingSubnetViolation"+      ( \x ->+          ThirdPartyFirewallMissingSubnetViolation'+            Prelude.<$> (x Data..:? "AvailabilityZone")+            Prelude.<*> (x Data..:? "TargetViolationReason")+            Prelude.<*> (x Data..:? "VPC")+            Prelude.<*> (x Data..:? "ViolationTarget")+      )++instance+  Prelude.Hashable+    ThirdPartyFirewallMissingSubnetViolation+  where+  hashWithSalt+    _salt+    ThirdPartyFirewallMissingSubnetViolation' {..} =+      _salt+        `Prelude.hashWithSalt` availabilityZone+        `Prelude.hashWithSalt` targetViolationReason+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` violationTarget++instance+  Prelude.NFData+    ThirdPartyFirewallMissingSubnetViolation+  where+  rnf ThirdPartyFirewallMissingSubnetViolation' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf targetViolationReason+      `Prelude.seq` Prelude.rnf vpc+      `Prelude.seq` Prelude.rnf violationTarget
+ gen/Amazonka/FMS/Types/ThirdPartyFirewallPolicy.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ThirdPartyFirewallPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ThirdPartyFirewallPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.FirewallDeploymentModel+import qualified Amazonka.Prelude as Prelude++-- | Configures the deployment model for the third-party firewall.+--+-- /See:/ 'newThirdPartyFirewallPolicy' smart constructor.+data ThirdPartyFirewallPolicy = ThirdPartyFirewallPolicy'+  { -- | Defines the deployment model to use for the third-party firewall policy.+    firewallDeploymentModel :: Prelude.Maybe FirewallDeploymentModel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThirdPartyFirewallPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDeploymentModel', 'thirdPartyFirewallPolicy_firewallDeploymentModel' - Defines the deployment model to use for the third-party firewall policy.+newThirdPartyFirewallPolicy ::+  ThirdPartyFirewallPolicy+newThirdPartyFirewallPolicy =+  ThirdPartyFirewallPolicy'+    { firewallDeploymentModel =+        Prelude.Nothing+    }++-- | Defines the deployment model to use for the third-party firewall policy.+thirdPartyFirewallPolicy_firewallDeploymentModel :: Lens.Lens' ThirdPartyFirewallPolicy (Prelude.Maybe FirewallDeploymentModel)+thirdPartyFirewallPolicy_firewallDeploymentModel = Lens.lens (\ThirdPartyFirewallPolicy' {firewallDeploymentModel} -> firewallDeploymentModel) (\s@ThirdPartyFirewallPolicy' {} a -> s {firewallDeploymentModel = a} :: ThirdPartyFirewallPolicy)++instance Data.FromJSON ThirdPartyFirewallPolicy where+  parseJSON =+    Data.withObject+      "ThirdPartyFirewallPolicy"+      ( \x ->+          ThirdPartyFirewallPolicy'+            Prelude.<$> (x Data..:? "FirewallDeploymentModel")+      )++instance Prelude.Hashable ThirdPartyFirewallPolicy where+  hashWithSalt _salt ThirdPartyFirewallPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` firewallDeploymentModel++instance Prelude.NFData ThirdPartyFirewallPolicy where+  rnf ThirdPartyFirewallPolicy' {..} =+    Prelude.rnf firewallDeploymentModel++instance Data.ToJSON ThirdPartyFirewallPolicy where+  toJSON ThirdPartyFirewallPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FirewallDeploymentModel" Data..=)+              Prelude.<$> firewallDeploymentModel+          ]+      )
+ gen/Amazonka/FMS/Types/ViolationDetail.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ViolationDetail+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ViolationDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types.ResourceViolation+import Amazonka.FMS.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Violations for a resource based on the specified Firewall Manager policy+-- and Amazon Web Services account.+--+-- /See:/ 'newViolationDetail' smart constructor.+data ViolationDetail = ViolationDetail'+  { -- | Brief description for the requested resource.+    resourceDescription :: Prelude.Maybe Prelude.Text,+    -- | The @ResourceTag@ objects associated with the resource.+    resourceTags :: Prelude.Maybe [Tag],+    -- | The ID of the Firewall Manager policy that the violation details were+    -- requested for.+    policyId :: Prelude.Text,+    -- | The Amazon Web Services account that the violation details were+    -- requested for.+    memberAccount :: Prelude.Text,+    -- | The resource ID that the violation details were requested for.+    resourceId :: Prelude.Text,+    -- | The resource type that the violation details were requested for.+    resourceType :: Prelude.Text,+    -- | List of violations for the requested resource.+    resourceViolations :: [ResourceViolation]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ViolationDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceDescription', 'violationDetail_resourceDescription' - Brief description for the requested resource.+--+-- 'resourceTags', 'violationDetail_resourceTags' - The @ResourceTag@ objects associated with the resource.+--+-- 'policyId', 'violationDetail_policyId' - The ID of the Firewall Manager policy that the violation details were+-- requested for.+--+-- 'memberAccount', 'violationDetail_memberAccount' - The Amazon Web Services account that the violation details were+-- requested for.+--+-- 'resourceId', 'violationDetail_resourceId' - The resource ID that the violation details were requested for.+--+-- 'resourceType', 'violationDetail_resourceType' - The resource type that the violation details were requested for.+--+-- 'resourceViolations', 'violationDetail_resourceViolations' - List of violations for the requested resource.+newViolationDetail ::+  -- | 'policyId'+  Prelude.Text ->+  -- | 'memberAccount'+  Prelude.Text ->+  -- | 'resourceId'+  Prelude.Text ->+  -- | 'resourceType'+  Prelude.Text ->+  ViolationDetail+newViolationDetail+  pPolicyId_+  pMemberAccount_+  pResourceId_+  pResourceType_ =+    ViolationDetail'+      { resourceDescription =+          Prelude.Nothing,+        resourceTags = Prelude.Nothing,+        policyId = pPolicyId_,+        memberAccount = pMemberAccount_,+        resourceId = pResourceId_,+        resourceType = pResourceType_,+        resourceViolations = Prelude.mempty+      }++-- | Brief description for the requested resource.+violationDetail_resourceDescription :: Lens.Lens' ViolationDetail (Prelude.Maybe Prelude.Text)+violationDetail_resourceDescription = Lens.lens (\ViolationDetail' {resourceDescription} -> resourceDescription) (\s@ViolationDetail' {} a -> s {resourceDescription = a} :: ViolationDetail)++-- | The @ResourceTag@ objects associated with the resource.+violationDetail_resourceTags :: Lens.Lens' ViolationDetail (Prelude.Maybe [Tag])+violationDetail_resourceTags = Lens.lens (\ViolationDetail' {resourceTags} -> resourceTags) (\s@ViolationDetail' {} a -> s {resourceTags = a} :: ViolationDetail) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Firewall Manager policy that the violation details were+-- requested for.+violationDetail_policyId :: Lens.Lens' ViolationDetail Prelude.Text+violationDetail_policyId = Lens.lens (\ViolationDetail' {policyId} -> policyId) (\s@ViolationDetail' {} a -> s {policyId = a} :: ViolationDetail)++-- | The Amazon Web Services account that the violation details were+-- requested for.+violationDetail_memberAccount :: Lens.Lens' ViolationDetail Prelude.Text+violationDetail_memberAccount = Lens.lens (\ViolationDetail' {memberAccount} -> memberAccount) (\s@ViolationDetail' {} a -> s {memberAccount = a} :: ViolationDetail)++-- | The resource ID that the violation details were requested for.+violationDetail_resourceId :: Lens.Lens' ViolationDetail Prelude.Text+violationDetail_resourceId = Lens.lens (\ViolationDetail' {resourceId} -> resourceId) (\s@ViolationDetail' {} a -> s {resourceId = a} :: ViolationDetail)++-- | The resource type that the violation details were requested for.+violationDetail_resourceType :: Lens.Lens' ViolationDetail Prelude.Text+violationDetail_resourceType = Lens.lens (\ViolationDetail' {resourceType} -> resourceType) (\s@ViolationDetail' {} a -> s {resourceType = a} :: ViolationDetail)++-- | List of violations for the requested resource.+violationDetail_resourceViolations :: Lens.Lens' ViolationDetail [ResourceViolation]+violationDetail_resourceViolations = Lens.lens (\ViolationDetail' {resourceViolations} -> resourceViolations) (\s@ViolationDetail' {} a -> s {resourceViolations = a} :: ViolationDetail) Prelude.. Lens.coerced++instance Data.FromJSON ViolationDetail where+  parseJSON =+    Data.withObject+      "ViolationDetail"+      ( \x ->+          ViolationDetail'+            Prelude.<$> (x Data..:? "ResourceDescription")+            Prelude.<*> (x Data..:? "ResourceTags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "PolicyId")+            Prelude.<*> (x Data..: "MemberAccount")+            Prelude.<*> (x Data..: "ResourceId")+            Prelude.<*> (x Data..: "ResourceType")+            Prelude.<*> ( x+                            Data..:? "ResourceViolations"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable ViolationDetail where+  hashWithSalt _salt ViolationDetail' {..} =+    _salt+      `Prelude.hashWithSalt` resourceDescription+      `Prelude.hashWithSalt` resourceTags+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` memberAccount+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` resourceViolations++instance Prelude.NFData ViolationDetail where+  rnf ViolationDetail' {..} =+    Prelude.rnf resourceDescription+      `Prelude.seq` Prelude.rnf resourceTags+      `Prelude.seq` Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf memberAccount+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf resourceViolations
+ gen/Amazonka/FMS/Types/ViolationReason.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Types.ViolationReason+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Types.ViolationReason+  ( ViolationReason+      ( ..,+        ViolationReason_BLACK_HOLE_ROUTE_DETECTED,+        ViolationReason_BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET,+        ViolationReason_FIREWALL_SUBNET_IS_OUT_OF_SCOPE,+        ViolationReason_FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE,+        ViolationReason_FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT,+        ViolationReason_FMS_CREATED_SECURITY_GROUP_EDITED,+        ViolationReason_INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE,+        ViolationReason_INTERNET_TRAFFIC_NOT_INSPECTED,+        ViolationReason_INVALID_ROUTE_CONFIGURATION,+        ViolationReason_MISSING_EXPECTED_ROUTE_TABLE,+        ViolationReason_MISSING_FIREWALL,+        ViolationReason_MISSING_FIREWALL_SUBNET_IN_AZ,+        ViolationReason_MISSING_TARGET_GATEWAY,+        ViolationReason_NETWORK_FIREWALL_POLICY_MODIFIED,+        ViolationReason_RESOURCE_INCORRECT_WEB_ACL,+        ViolationReason_RESOURCE_MISSING_DNS_FIREWALL,+        ViolationReason_RESOURCE_MISSING_SECURITY_GROUP,+        ViolationReason_RESOURCE_MISSING_SHIELD_PROTECTION,+        ViolationReason_RESOURCE_MISSING_WEB_ACL,+        ViolationReason_RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION,+        ViolationReason_RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP,+        ViolationReason_ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT,+        ViolationReason_SECURITY_GROUP_REDUNDANT,+        ViolationReason_SECURITY_GROUP_UNUSED,+        ViolationReason_TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY,+        ViolationReason_UNEXPECTED_FIREWALL_ROUTES,+        ViolationReason_UNEXPECTED_TARGET_GATEWAY_ROUTES,+        ViolationReason_WEB_ACL_MISSING_RULE_GROUP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ViolationReason = ViolationReason'+  { fromViolationReason ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED :: ViolationReason+pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED = ViolationReason' "BLACK_HOLE_ROUTE_DETECTED"++pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET :: ViolationReason+pattern ViolationReason_BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET = ViolationReason' "BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET"++pattern ViolationReason_FIREWALL_SUBNET_IS_OUT_OF_SCOPE :: ViolationReason+pattern ViolationReason_FIREWALL_SUBNET_IS_OUT_OF_SCOPE = ViolationReason' "FIREWALL_SUBNET_IS_OUT_OF_SCOPE"++pattern ViolationReason_FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE :: ViolationReason+pattern ViolationReason_FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE = ViolationReason' "FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE"++pattern ViolationReason_FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT :: ViolationReason+pattern ViolationReason_FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT = ViolationReason' "FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT"++pattern ViolationReason_FMS_CREATED_SECURITY_GROUP_EDITED :: ViolationReason+pattern ViolationReason_FMS_CREATED_SECURITY_GROUP_EDITED = ViolationReason' "FMS_CREATED_SECURITY_GROUP_EDITED"++pattern ViolationReason_INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE :: ViolationReason+pattern ViolationReason_INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE = ViolationReason' "INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE"++pattern ViolationReason_INTERNET_TRAFFIC_NOT_INSPECTED :: ViolationReason+pattern ViolationReason_INTERNET_TRAFFIC_NOT_INSPECTED = ViolationReason' "INTERNET_TRAFFIC_NOT_INSPECTED"++pattern ViolationReason_INVALID_ROUTE_CONFIGURATION :: ViolationReason+pattern ViolationReason_INVALID_ROUTE_CONFIGURATION = ViolationReason' "INVALID_ROUTE_CONFIGURATION"++pattern ViolationReason_MISSING_EXPECTED_ROUTE_TABLE :: ViolationReason+pattern ViolationReason_MISSING_EXPECTED_ROUTE_TABLE = ViolationReason' "MISSING_EXPECTED_ROUTE_TABLE"++pattern ViolationReason_MISSING_FIREWALL :: ViolationReason+pattern ViolationReason_MISSING_FIREWALL = ViolationReason' "MISSING_FIREWALL"++pattern ViolationReason_MISSING_FIREWALL_SUBNET_IN_AZ :: ViolationReason+pattern ViolationReason_MISSING_FIREWALL_SUBNET_IN_AZ = ViolationReason' "MISSING_FIREWALL_SUBNET_IN_AZ"++pattern ViolationReason_MISSING_TARGET_GATEWAY :: ViolationReason+pattern ViolationReason_MISSING_TARGET_GATEWAY = ViolationReason' "MISSING_TARGET_GATEWAY"++pattern ViolationReason_NETWORK_FIREWALL_POLICY_MODIFIED :: ViolationReason+pattern ViolationReason_NETWORK_FIREWALL_POLICY_MODIFIED = ViolationReason' "NETWORK_FIREWALL_POLICY_MODIFIED"++pattern ViolationReason_RESOURCE_INCORRECT_WEB_ACL :: ViolationReason+pattern ViolationReason_RESOURCE_INCORRECT_WEB_ACL = ViolationReason' "RESOURCE_INCORRECT_WEB_ACL"++pattern ViolationReason_RESOURCE_MISSING_DNS_FIREWALL :: ViolationReason+pattern ViolationReason_RESOURCE_MISSING_DNS_FIREWALL = ViolationReason' "RESOURCE_MISSING_DNS_FIREWALL"++pattern ViolationReason_RESOURCE_MISSING_SECURITY_GROUP :: ViolationReason+pattern ViolationReason_RESOURCE_MISSING_SECURITY_GROUP = ViolationReason' "RESOURCE_MISSING_SECURITY_GROUP"++pattern ViolationReason_RESOURCE_MISSING_SHIELD_PROTECTION :: ViolationReason+pattern ViolationReason_RESOURCE_MISSING_SHIELD_PROTECTION = ViolationReason' "RESOURCE_MISSING_SHIELD_PROTECTION"++pattern ViolationReason_RESOURCE_MISSING_WEB_ACL :: ViolationReason+pattern ViolationReason_RESOURCE_MISSING_WEB_ACL = ViolationReason' "RESOURCE_MISSING_WEB_ACL"++pattern ViolationReason_RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION :: ViolationReason+pattern ViolationReason_RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION = ViolationReason' "RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION"++pattern ViolationReason_RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP :: ViolationReason+pattern ViolationReason_RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP = ViolationReason' "RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP"++pattern ViolationReason_ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT :: ViolationReason+pattern ViolationReason_ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT = ViolationReason' "ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT"++pattern ViolationReason_SECURITY_GROUP_REDUNDANT :: ViolationReason+pattern ViolationReason_SECURITY_GROUP_REDUNDANT = ViolationReason' "SECURITY_GROUP_REDUNDANT"++pattern ViolationReason_SECURITY_GROUP_UNUSED :: ViolationReason+pattern ViolationReason_SECURITY_GROUP_UNUSED = ViolationReason' "SECURITY_GROUP_UNUSED"++pattern ViolationReason_TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY :: ViolationReason+pattern ViolationReason_TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY = ViolationReason' "TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY"++pattern ViolationReason_UNEXPECTED_FIREWALL_ROUTES :: ViolationReason+pattern ViolationReason_UNEXPECTED_FIREWALL_ROUTES = ViolationReason' "UNEXPECTED_FIREWALL_ROUTES"++pattern ViolationReason_UNEXPECTED_TARGET_GATEWAY_ROUTES :: ViolationReason+pattern ViolationReason_UNEXPECTED_TARGET_GATEWAY_ROUTES = ViolationReason' "UNEXPECTED_TARGET_GATEWAY_ROUTES"++pattern ViolationReason_WEB_ACL_MISSING_RULE_GROUP :: ViolationReason+pattern ViolationReason_WEB_ACL_MISSING_RULE_GROUP = ViolationReason' "WEB_ACL_MISSING_RULE_GROUP"++{-# COMPLETE+  ViolationReason_BLACK_HOLE_ROUTE_DETECTED,+  ViolationReason_BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET,+  ViolationReason_FIREWALL_SUBNET_IS_OUT_OF_SCOPE,+  ViolationReason_FIREWALL_SUBNET_MISSING_EXPECTED_ROUTE,+  ViolationReason_FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT,+  ViolationReason_FMS_CREATED_SECURITY_GROUP_EDITED,+  ViolationReason_INTERNET_GATEWAY_MISSING_EXPECTED_ROUTE,+  ViolationReason_INTERNET_TRAFFIC_NOT_INSPECTED,+  ViolationReason_INVALID_ROUTE_CONFIGURATION,+  ViolationReason_MISSING_EXPECTED_ROUTE_TABLE,+  ViolationReason_MISSING_FIREWALL,+  ViolationReason_MISSING_FIREWALL_SUBNET_IN_AZ,+  ViolationReason_MISSING_TARGET_GATEWAY,+  ViolationReason_NETWORK_FIREWALL_POLICY_MODIFIED,+  ViolationReason_RESOURCE_INCORRECT_WEB_ACL,+  ViolationReason_RESOURCE_MISSING_DNS_FIREWALL,+  ViolationReason_RESOURCE_MISSING_SECURITY_GROUP,+  ViolationReason_RESOURCE_MISSING_SHIELD_PROTECTION,+  ViolationReason_RESOURCE_MISSING_WEB_ACL,+  ViolationReason_RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION,+  ViolationReason_RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP,+  ViolationReason_ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT,+  ViolationReason_SECURITY_GROUP_REDUNDANT,+  ViolationReason_SECURITY_GROUP_UNUSED,+  ViolationReason_TRAFFIC_INSPECTION_CROSSES_AZ_BOUNDARY,+  ViolationReason_UNEXPECTED_FIREWALL_ROUTES,+  ViolationReason_UNEXPECTED_TARGET_GATEWAY_ROUTES,+  ViolationReason_WEB_ACL_MISSING_RULE_GROUP,+  ViolationReason'+  #-}
+ gen/Amazonka/FMS/UntagResource.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes one or more tags from an Amazon Web Services resource.+module Amazonka.FMS.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource to return tags for. The+    -- Firewall Manager resources that support tagging are policies,+    -- applications lists, and protocols lists.+    resourceArn :: Prelude.Text,+    -- | The keys of the tags to remove from the resource.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to return tags for. The+-- Firewall Manager resources that support tagging are policies,+-- applications lists, and protocols lists.+--+-- 'tagKeys', 'untagResource_tagKeys' - The keys of the tags to remove from the resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource to return tags for. The+-- Firewall Manager resources that support tagging are policies,+-- applications lists, and protocols lists.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The keys of the tags to remove from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSFMS_20180101.UntagResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/FMS/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.FMS.Waiters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FMS.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FMS.Lens+import Amazonka.FMS.Types+import qualified Amazonka.Prelude as Prelude
− gen/Network/AWS/FMS.hs
@@ -1,206 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ __AWS Firewall Manager__------ This is the /AWS Firewall Manager API Reference/ . This guide is for developers who need detailed information about the AWS Firewall Manager API actions, data types, and errors. For detailed information about AWS Firewall Manager features, see the <http://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html AWS Firewall Manager Developer Guide> .----module Network.AWS.FMS-    (-    -- * Service Configuration-      fms--    -- * Errors-    -- $errors--    -- ** InternalErrorException-    , _InternalErrorException--    -- ** InvalidInputException-    , _InvalidInputException--    -- ** InvalidOperationException-    , _InvalidOperationException--    -- ** ResourceNotFoundException-    , _ResourceNotFoundException--    -- ** LimitExceededException-    , _LimitExceededException--    -- * Waiters-    -- $waiters--    -- * Operations-    -- $operations--    -- ** ListPolicies-    , module Network.AWS.FMS.ListPolicies--    -- ** GetComplianceDetail-    , module Network.AWS.FMS.GetComplianceDetail--    -- ** GetNotificationChannel-    , module Network.AWS.FMS.GetNotificationChannel--    -- ** GetAdminAccount-    , module Network.AWS.FMS.GetAdminAccount--    -- ** ListComplianceStatus-    , module Network.AWS.FMS.ListComplianceStatus--    -- ** PutPolicy-    , module Network.AWS.FMS.PutPolicy--    -- ** DeletePolicy-    , module Network.AWS.FMS.DeletePolicy--    -- ** DisassociateAdminAccount-    , module Network.AWS.FMS.DisassociateAdminAccount--    -- ** PutNotificationChannel-    , module Network.AWS.FMS.PutNotificationChannel--    -- ** DeleteNotificationChannel-    , module Network.AWS.FMS.DeleteNotificationChannel--    -- ** AssociateAdminAccount-    , module Network.AWS.FMS.AssociateAdminAccount--    -- ** GetPolicy-    , module Network.AWS.FMS.GetPolicy--    -- * Types--    -- ** PolicyComplianceStatusType-    , PolicyComplianceStatusType (..)--    -- ** SecurityServiceType-    , SecurityServiceType (..)--    -- ** ViolationReason-    , ViolationReason (..)--    -- ** ComplianceViolator-    , ComplianceViolator-    , complianceViolator-    , cvResourceId-    , cvResourceType-    , cvViolationReason--    -- ** EvaluationResult-    , EvaluationResult-    , evaluationResult-    , erViolatorCount-    , erComplianceStatus-    , erEvaluationLimitExceeded--    -- ** Policy-    , Policy-    , policy-    , pPolicyId-    , pResourceTags-    , pPolicyUpdateToken-    , pPolicyName-    , pSecurityServicePolicyData-    , pResourceType-    , pExcludeResourceTags-    , pRemediationEnabled--    -- ** PolicyComplianceDetail-    , PolicyComplianceDetail-    , policyComplianceDetail-    , pcdExpiredAt-    , pcdPolicyId-    , pcdViolators-    , pcdEvaluationLimitExceeded-    , pcdPolicyOwner-    , pcdMemberAccount--    -- ** PolicyComplianceStatus-    , PolicyComplianceStatus-    , policyComplianceStatus-    , pcsEvaluationResults-    , pcsLastUpdated-    , pcsPolicyName-    , pcsPolicyId-    , pcsPolicyOwner-    , pcsMemberAccount--    -- ** PolicySummary-    , PolicySummary-    , policySummary-    , psPolicyName-    , psRemediationEnabled-    , psResourceType-    , psPolicyId-    , psPolicyARN-    , psSecurityServiceType--    -- ** ResourceTag-    , ResourceTag-    , resourceTag-    , rtValue-    , rtKey--    -- ** SecurityServicePolicyData-    , SecurityServicePolicyData-    , securityServicePolicyData-    , sspdManagedServiceData-    , sspdType-    ) where--import Network.AWS.FMS.AssociateAdminAccount-import Network.AWS.FMS.DeleteNotificationChannel-import Network.AWS.FMS.DeletePolicy-import Network.AWS.FMS.DisassociateAdminAccount-import Network.AWS.FMS.GetAdminAccount-import Network.AWS.FMS.GetComplianceDetail-import Network.AWS.FMS.GetNotificationChannel-import Network.AWS.FMS.GetPolicy-import Network.AWS.FMS.ListComplianceStatus-import Network.AWS.FMS.ListPolicies-import Network.AWS.FMS.PutNotificationChannel-import Network.AWS.FMS.PutPolicy-import Network.AWS.FMS.Types-import Network.AWS.FMS.Waiters--{- $errors-Error matchers are designed for use with the functions provided by-<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.-This allows catching (and rethrowing) service specific errors returned-by 'FMS'.--}--{- $operations-Some AWS operations return results that are incomplete and require subsequent-requests in order to obtain the entire result set. The process of sending-subsequent requests to continue where a previous request left off is called-pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to-1000 objects at a time, and you must send subsequent requests with the-appropriate Marker in order to retrieve the next page of results.--Operations that have an 'AWSPager' instance can transparently perform subsequent-requests, correctly setting Markers and other request facets to iterate through-the entire result set of a truncated API operation. Operations which support-this have an additional note in the documentation.--Many operations have the ability to filter results on the server side. See the-individual operation parameters for details.--}--{- $waiters-Waiters poll by repeatedly sending a request until some remote success condition-configured by the 'Wait' specification is fulfilled. The 'Wait' specification-determines how many attempts should be made, in addition to delay and retry strategies.--}
− gen/Network/AWS/FMS/AssociateAdminAccount.hs
@@ -1,113 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.AssociateAdminAccount--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must be associated with a master account in AWS Organizations or associated with a member account that has the appropriate permissions. If the account ID that you submit is not an AWS Organizations master account, AWS Firewall Manager will set the appropriate permissions for the given member account.--------- The account that you associate with AWS Firewall Manager is called the AWS Firewall manager administrator account.----module Network.AWS.FMS.AssociateAdminAccount-    (-    -- * Creating a Request-      associateAdminAccount-    , AssociateAdminAccount-    -- * Request Lenses-    , aaaAdminAccount--    -- * Destructuring the Response-    , associateAdminAccountResponse-    , AssociateAdminAccountResponse-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'associateAdminAccount' smart constructor.-newtype AssociateAdminAccount = AssociateAdminAccount'-  { _aaaAdminAccount :: Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AssociateAdminAccount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aaaAdminAccount' - The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html Managing the AWS Accounts in Your Organization> .-associateAdminAccount-    :: Text -- ^ 'aaaAdminAccount'-    -> AssociateAdminAccount-associateAdminAccount pAdminAccount_ =-  AssociateAdminAccount' {_aaaAdminAccount = pAdminAccount_}----- | The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html Managing the AWS Accounts in Your Organization> .-aaaAdminAccount :: Lens' AssociateAdminAccount Text-aaaAdminAccount = lens _aaaAdminAccount (\ s a -> s{_aaaAdminAccount = a})--instance AWSRequest AssociateAdminAccount where-        type Rs AssociateAdminAccount =-             AssociateAdminAccountResponse-        request = postJSON fms-        response = receiveNull AssociateAdminAccountResponse'--instance Hashable AssociateAdminAccount where--instance NFData AssociateAdminAccount where--instance ToHeaders AssociateAdminAccount where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.AssociateAdminAccount" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON AssociateAdminAccount where-        toJSON AssociateAdminAccount'{..}-          = object-              (catMaybes-                 [Just ("AdminAccount" .= _aaaAdminAccount)])--instance ToPath AssociateAdminAccount where-        toPath = const "/"--instance ToQuery AssociateAdminAccount where-        toQuery = const mempty---- | /See:/ 'associateAdminAccountResponse' smart constructor.-data AssociateAdminAccountResponse =-  AssociateAdminAccountResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AssociateAdminAccountResponse' with the minimum fields required to make a request.----associateAdminAccountResponse-    :: AssociateAdminAccountResponse-associateAdminAccountResponse = AssociateAdminAccountResponse'---instance NFData AssociateAdminAccountResponse where
− gen/Network/AWS/FMS/DeleteNotificationChannel.hs
@@ -1,99 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.DeleteNotificationChannel--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes an AWS Firewall Manager association with the IAM role and the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.-------module Network.AWS.FMS.DeleteNotificationChannel-    (-    -- * Creating a Request-      deleteNotificationChannel-    , DeleteNotificationChannel--    -- * Destructuring the Response-    , deleteNotificationChannelResponse-    , DeleteNotificationChannelResponse-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'deleteNotificationChannel' smart constructor.-data DeleteNotificationChannel =-  DeleteNotificationChannel'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteNotificationChannel' with the minimum fields required to make a request.----deleteNotificationChannel-    :: DeleteNotificationChannel-deleteNotificationChannel = DeleteNotificationChannel'---instance AWSRequest DeleteNotificationChannel where-        type Rs DeleteNotificationChannel =-             DeleteNotificationChannelResponse-        request = postJSON fms-        response-          = receiveNull DeleteNotificationChannelResponse'--instance Hashable DeleteNotificationChannel where--instance NFData DeleteNotificationChannel where--instance ToHeaders DeleteNotificationChannel where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.DeleteNotificationChannel" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteNotificationChannel where-        toJSON = const (Object mempty)--instance ToPath DeleteNotificationChannel where-        toPath = const "/"--instance ToQuery DeleteNotificationChannel where-        toQuery = const mempty---- | /See:/ 'deleteNotificationChannelResponse' smart constructor.-data DeleteNotificationChannelResponse =-  DeleteNotificationChannelResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteNotificationChannelResponse' with the minimum fields required to make a request.----deleteNotificationChannelResponse-    :: DeleteNotificationChannelResponse-deleteNotificationChannelResponse = DeleteNotificationChannelResponse'---instance NFData DeleteNotificationChannelResponse-         where
− gen/Network/AWS/FMS/DeletePolicy.hs
@@ -1,107 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.DeletePolicy--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes an AWS Firewall Manager policy.-------module Network.AWS.FMS.DeletePolicy-    (-    -- * Creating a Request-      deletePolicy-    , DeletePolicy-    -- * Request Lenses-    , dpPolicyId--    -- * Destructuring the Response-    , deletePolicyResponse-    , DeletePolicyResponse-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'deletePolicy' smart constructor.-newtype DeletePolicy = DeletePolicy'-  { _dpPolicyId :: Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeletePolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpPolicyId' - The ID of the policy that you want to delete. @PolicyId@ is returned by @PutPolicy@ and by @ListPolicies@ .-deletePolicy-    :: Text -- ^ 'dpPolicyId'-    -> DeletePolicy-deletePolicy pPolicyId_ = DeletePolicy' {_dpPolicyId = pPolicyId_}----- | The ID of the policy that you want to delete. @PolicyId@ is returned by @PutPolicy@ and by @ListPolicies@ .-dpPolicyId :: Lens' DeletePolicy Text-dpPolicyId = lens _dpPolicyId (\ s a -> s{_dpPolicyId = a})--instance AWSRequest DeletePolicy where-        type Rs DeletePolicy = DeletePolicyResponse-        request = postJSON fms-        response = receiveNull DeletePolicyResponse'--instance Hashable DeletePolicy where--instance NFData DeletePolicy where--instance ToHeaders DeletePolicy where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.DeletePolicy" :: ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeletePolicy where-        toJSON DeletePolicy'{..}-          = object-              (catMaybes [Just ("PolicyId" .= _dpPolicyId)])--instance ToPath DeletePolicy where-        toPath = const "/"--instance ToQuery DeletePolicy where-        toQuery = const mempty---- | /See:/ 'deletePolicyResponse' smart constructor.-data DeletePolicyResponse =-  DeletePolicyResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeletePolicyResponse' with the minimum fields required to make a request.----deletePolicyResponse-    :: DeletePolicyResponse-deletePolicyResponse = DeletePolicyResponse'---instance NFData DeletePolicyResponse where
− gen/Network/AWS/FMS/DisassociateAdminAccount.hs
@@ -1,99 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.DisassociateAdminAccount--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Disassociates the account that has been set as the AWS Firewall Manager administrator account. You will need to submit an @AssociateAdminAccount@ request to set a new account as the AWS Firewall administrator.-------module Network.AWS.FMS.DisassociateAdminAccount-    (-    -- * Creating a Request-      disassociateAdminAccount-    , DisassociateAdminAccount--    -- * Destructuring the Response-    , disassociateAdminAccountResponse-    , DisassociateAdminAccountResponse-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'disassociateAdminAccount' smart constructor.-data DisassociateAdminAccount =-  DisassociateAdminAccount'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DisassociateAdminAccount' with the minimum fields required to make a request.----disassociateAdminAccount-    :: DisassociateAdminAccount-disassociateAdminAccount = DisassociateAdminAccount'---instance AWSRequest DisassociateAdminAccount where-        type Rs DisassociateAdminAccount =-             DisassociateAdminAccountResponse-        request = postJSON fms-        response-          = receiveNull DisassociateAdminAccountResponse'--instance Hashable DisassociateAdminAccount where--instance NFData DisassociateAdminAccount where--instance ToHeaders DisassociateAdminAccount where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.DisassociateAdminAccount" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DisassociateAdminAccount where-        toJSON = const (Object mempty)--instance ToPath DisassociateAdminAccount where-        toPath = const "/"--instance ToQuery DisassociateAdminAccount where-        toQuery = const mempty---- | /See:/ 'disassociateAdminAccountResponse' smart constructor.-data DisassociateAdminAccountResponse =-  DisassociateAdminAccountResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DisassociateAdminAccountResponse' with the minimum fields required to make a request.----disassociateAdminAccountResponse-    :: DisassociateAdminAccountResponse-disassociateAdminAccountResponse = DisassociateAdminAccountResponse'---instance NFData DisassociateAdminAccountResponse-         where
− gen/Network/AWS/FMS/GetAdminAccount.hs
@@ -1,119 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.GetAdminAccount--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator.-------module Network.AWS.FMS.GetAdminAccount-    (-    -- * Creating a Request-      getAdminAccount-    , GetAdminAccount--    -- * Destructuring the Response-    , getAdminAccountResponse-    , GetAdminAccountResponse-    -- * Response Lenses-    , gaarsAdminAccount-    , gaarsResponseStatus-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'getAdminAccount' smart constructor.-data GetAdminAccount =-  GetAdminAccount'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetAdminAccount' with the minimum fields required to make a request.----getAdminAccount-    :: GetAdminAccount-getAdminAccount = GetAdminAccount'---instance AWSRequest GetAdminAccount where-        type Rs GetAdminAccount = GetAdminAccountResponse-        request = postJSON fms-        response-          = receiveJSON-              (\ s h x ->-                 GetAdminAccountResponse' <$>-                   (x .?> "AdminAccount") <*> (pure (fromEnum s)))--instance Hashable GetAdminAccount where--instance NFData GetAdminAccount where--instance ToHeaders GetAdminAccount where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.GetAdminAccount" :: ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetAdminAccount where-        toJSON = const (Object mempty)--instance ToPath GetAdminAccount where-        toPath = const "/"--instance ToQuery GetAdminAccount where-        toQuery = const mempty---- | /See:/ 'getAdminAccountResponse' smart constructor.-data GetAdminAccountResponse = GetAdminAccountResponse'-  { _gaarsAdminAccount   :: !(Maybe Text)-  , _gaarsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetAdminAccountResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gaarsAdminAccount' - The AWS account that is set as the AWS Firewall Manager administrator.------ * 'gaarsResponseStatus' - -- | The response status code.-getAdminAccountResponse-    :: Int -- ^ 'gaarsResponseStatus'-    -> GetAdminAccountResponse-getAdminAccountResponse pResponseStatus_ =-  GetAdminAccountResponse'-    {_gaarsAdminAccount = Nothing, _gaarsResponseStatus = pResponseStatus_}----- | The AWS account that is set as the AWS Firewall Manager administrator.-gaarsAdminAccount :: Lens' GetAdminAccountResponse (Maybe Text)-gaarsAdminAccount = lens _gaarsAdminAccount (\ s a -> s{_gaarsAdminAccount = a})---- | -- | The response status code.-gaarsResponseStatus :: Lens' GetAdminAccountResponse Int-gaarsResponseStatus = lens _gaarsResponseStatus (\ s a -> s{_gaarsResponseStatus = a})--instance NFData GetAdminAccountResponse where
− gen/Network/AWS/FMS/GetComplianceDetail.hs
@@ -1,149 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.GetComplianceDetail--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns detailed compliance information about the specified member account. Details include resources that are in and out of compliance with the specified policy. Resources are considered non-compliant if the specified policy has not been applied to them.-------module Network.AWS.FMS.GetComplianceDetail-    (-    -- * Creating a Request-      getComplianceDetail-    , GetComplianceDetail-    -- * Request Lenses-    , gcdPolicyId-    , gcdMemberAccount--    -- * Destructuring the Response-    , getComplianceDetailResponse-    , GetComplianceDetailResponse-    -- * Response Lenses-    , gcdrsPolicyComplianceDetail-    , gcdrsResponseStatus-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'getComplianceDetail' smart constructor.-data GetComplianceDetail = GetComplianceDetail'-  { _gcdPolicyId      :: !Text-  , _gcdMemberAccount :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetComplianceDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gcdPolicyId' - The ID of the policy that you want to get the details for. @PolicyId@ is returned by @PutPolicy@ and by @ListPolicies@ .------ * 'gcdMemberAccount' - The AWS account that owns the resources that you want to get the details for.-getComplianceDetail-    :: Text -- ^ 'gcdPolicyId'-    -> Text -- ^ 'gcdMemberAccount'-    -> GetComplianceDetail-getComplianceDetail pPolicyId_ pMemberAccount_ =-  GetComplianceDetail'-    {_gcdPolicyId = pPolicyId_, _gcdMemberAccount = pMemberAccount_}----- | The ID of the policy that you want to get the details for. @PolicyId@ is returned by @PutPolicy@ and by @ListPolicies@ .-gcdPolicyId :: Lens' GetComplianceDetail Text-gcdPolicyId = lens _gcdPolicyId (\ s a -> s{_gcdPolicyId = a})---- | The AWS account that owns the resources that you want to get the details for.-gcdMemberAccount :: Lens' GetComplianceDetail Text-gcdMemberAccount = lens _gcdMemberAccount (\ s a -> s{_gcdMemberAccount = a})--instance AWSRequest GetComplianceDetail where-        type Rs GetComplianceDetail =-             GetComplianceDetailResponse-        request = postJSON fms-        response-          = receiveJSON-              (\ s h x ->-                 GetComplianceDetailResponse' <$>-                   (x .?> "PolicyComplianceDetail") <*>-                     (pure (fromEnum s)))--instance Hashable GetComplianceDetail where--instance NFData GetComplianceDetail where--instance ToHeaders GetComplianceDetail where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.GetComplianceDetail" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetComplianceDetail where-        toJSON GetComplianceDetail'{..}-          = object-              (catMaybes-                 [Just ("PolicyId" .= _gcdPolicyId),-                  Just ("MemberAccount" .= _gcdMemberAccount)])--instance ToPath GetComplianceDetail where-        toPath = const "/"--instance ToQuery GetComplianceDetail where-        toQuery = const mempty---- | /See:/ 'getComplianceDetailResponse' smart constructor.-data GetComplianceDetailResponse = GetComplianceDetailResponse'-  { _gcdrsPolicyComplianceDetail :: !(Maybe PolicyComplianceDetail)-  , _gcdrsResponseStatus         :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetComplianceDetailResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gcdrsPolicyComplianceDetail' - Information about the resources and the policy that you specified in the @GetComplianceDetail@ request.------ * 'gcdrsResponseStatus' - -- | The response status code.-getComplianceDetailResponse-    :: Int -- ^ 'gcdrsResponseStatus'-    -> GetComplianceDetailResponse-getComplianceDetailResponse pResponseStatus_ =-  GetComplianceDetailResponse'-    { _gcdrsPolicyComplianceDetail = Nothing-    , _gcdrsResponseStatus = pResponseStatus_-    }----- | Information about the resources and the policy that you specified in the @GetComplianceDetail@ request.-gcdrsPolicyComplianceDetail :: Lens' GetComplianceDetailResponse (Maybe PolicyComplianceDetail)-gcdrsPolicyComplianceDetail = lens _gcdrsPolicyComplianceDetail (\ s a -> s{_gcdrsPolicyComplianceDetail = a})---- | -- | The response status code.-gcdrsResponseStatus :: Lens' GetComplianceDetailResponse Int-gcdrsResponseStatus = lens _gcdrsResponseStatus (\ s a -> s{_gcdrsResponseStatus = a})--instance NFData GetComplianceDetailResponse where
− gen/Network/AWS/FMS/GetNotificationChannel.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.GetNotificationChannel--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.-------module Network.AWS.FMS.GetNotificationChannel-    (-    -- * Creating a Request-      getNotificationChannel-    , GetNotificationChannel--    -- * Destructuring the Response-    , getNotificationChannelResponse-    , GetNotificationChannelResponse-    -- * Response Lenses-    , gncrsSNSTopicARN-    , gncrsSNSRoleName-    , gncrsResponseStatus-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'getNotificationChannel' smart constructor.-data GetNotificationChannel =-  GetNotificationChannel'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetNotificationChannel' with the minimum fields required to make a request.----getNotificationChannel-    :: GetNotificationChannel-getNotificationChannel = GetNotificationChannel'---instance AWSRequest GetNotificationChannel where-        type Rs GetNotificationChannel =-             GetNotificationChannelResponse-        request = postJSON fms-        response-          = receiveJSON-              (\ s h x ->-                 GetNotificationChannelResponse' <$>-                   (x .?> "SnsTopicArn") <*> (x .?> "SnsRoleName") <*>-                     (pure (fromEnum s)))--instance Hashable GetNotificationChannel where--instance NFData GetNotificationChannel where--instance ToHeaders GetNotificationChannel where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.GetNotificationChannel" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetNotificationChannel where-        toJSON = const (Object mempty)--instance ToPath GetNotificationChannel where-        toPath = const "/"--instance ToQuery GetNotificationChannel where-        toQuery = const mempty---- | /See:/ 'getNotificationChannelResponse' smart constructor.-data GetNotificationChannelResponse = GetNotificationChannelResponse'-  { _gncrsSNSTopicARN    :: !(Maybe Text)-  , _gncrsSNSRoleName    :: !(Maybe Text)-  , _gncrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetNotificationChannelResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gncrsSNSTopicARN' - The SNS topic that records AWS Firewall Manager activity.------ * 'gncrsSNSRoleName' - The IAM role that is used by AWS Firewall Manager to record activity to SNS.------ * 'gncrsResponseStatus' - -- | The response status code.-getNotificationChannelResponse-    :: Int -- ^ 'gncrsResponseStatus'-    -> GetNotificationChannelResponse-getNotificationChannelResponse pResponseStatus_ =-  GetNotificationChannelResponse'-    { _gncrsSNSTopicARN = Nothing-    , _gncrsSNSRoleName = Nothing-    , _gncrsResponseStatus = pResponseStatus_-    }----- | The SNS topic that records AWS Firewall Manager activity.-gncrsSNSTopicARN :: Lens' GetNotificationChannelResponse (Maybe Text)-gncrsSNSTopicARN = lens _gncrsSNSTopicARN (\ s a -> s{_gncrsSNSTopicARN = a})---- | The IAM role that is used by AWS Firewall Manager to record activity to SNS.-gncrsSNSRoleName :: Lens' GetNotificationChannelResponse (Maybe Text)-gncrsSNSRoleName = lens _gncrsSNSRoleName (\ s a -> s{_gncrsSNSRoleName = a})---- | -- | The response status code.-gncrsResponseStatus :: Lens' GetNotificationChannelResponse Int-gncrsResponseStatus = lens _gncrsResponseStatus (\ s a -> s{_gncrsResponseStatus = a})--instance NFData GetNotificationChannelResponse where
− gen/Network/AWS/FMS/GetPolicy.hs
@@ -1,143 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.GetPolicy--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns information about the specified AWS Firewall Manager policy.-------module Network.AWS.FMS.GetPolicy-    (-    -- * Creating a Request-      getPolicy-    , GetPolicy-    -- * Request Lenses-    , gpPolicyId--    -- * Destructuring the Response-    , getPolicyResponse-    , GetPolicyResponse-    -- * Response Lenses-    , gprsPolicyARN-    , gprsPolicy-    , gprsResponseStatus-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'getPolicy' smart constructor.-newtype GetPolicy = GetPolicy'-  { _gpPolicyId :: Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpPolicyId' - The ID of the AWS Firewall Manager policy that you want the details for.-getPolicy-    :: Text -- ^ 'gpPolicyId'-    -> GetPolicy-getPolicy pPolicyId_ = GetPolicy' {_gpPolicyId = pPolicyId_}----- | The ID of the AWS Firewall Manager policy that you want the details for.-gpPolicyId :: Lens' GetPolicy Text-gpPolicyId = lens _gpPolicyId (\ s a -> s{_gpPolicyId = a})--instance AWSRequest GetPolicy where-        type Rs GetPolicy = GetPolicyResponse-        request = postJSON fms-        response-          = receiveJSON-              (\ s h x ->-                 GetPolicyResponse' <$>-                   (x .?> "PolicyArn") <*> (x .?> "Policy") <*>-                     (pure (fromEnum s)))--instance Hashable GetPolicy where--instance NFData GetPolicy where--instance ToHeaders GetPolicy where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.GetPolicy" :: ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetPolicy where-        toJSON GetPolicy'{..}-          = object-              (catMaybes [Just ("PolicyId" .= _gpPolicyId)])--instance ToPath GetPolicy where-        toPath = const "/"--instance ToQuery GetPolicy where-        toQuery = const mempty---- | /See:/ 'getPolicyResponse' smart constructor.-data GetPolicyResponse = GetPolicyResponse'-  { _gprsPolicyARN      :: !(Maybe Text)-  , _gprsPolicy         :: !(Maybe Policy)-  , _gprsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetPolicyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gprsPolicyARN' - The Amazon Resource Name (ARN) of the specified policy.------ * 'gprsPolicy' - Information about the specified AWS Firewall Manager policy.------ * 'gprsResponseStatus' - -- | The response status code.-getPolicyResponse-    :: Int -- ^ 'gprsResponseStatus'-    -> GetPolicyResponse-getPolicyResponse pResponseStatus_ =-  GetPolicyResponse'-    { _gprsPolicyARN = Nothing-    , _gprsPolicy = Nothing-    , _gprsResponseStatus = pResponseStatus_-    }----- | The Amazon Resource Name (ARN) of the specified policy.-gprsPolicyARN :: Lens' GetPolicyResponse (Maybe Text)-gprsPolicyARN = lens _gprsPolicyARN (\ s a -> s{_gprsPolicyARN = a})---- | Information about the specified AWS Firewall Manager policy.-gprsPolicy :: Lens' GetPolicyResponse (Maybe Policy)-gprsPolicy = lens _gprsPolicy (\ s a -> s{_gprsPolicy = a})---- | -- | The response status code.-gprsResponseStatus :: Lens' GetPolicyResponse Int-gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a})--instance NFData GetPolicyResponse where
− gen/Network/AWS/FMS/ListComplianceStatus.hs
@@ -1,170 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.ListComplianceStatus--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of @PolicyComplianceStatus@ objects in the response. Use @PolicyComplianceStatus@ to get a summary of which member accounts are protected by the specified policy.-------module Network.AWS.FMS.ListComplianceStatus-    (-    -- * Creating a Request-      listComplianceStatus-    , ListComplianceStatus-    -- * Request Lenses-    , lcsNextToken-    , lcsMaxResults-    , lcsPolicyId--    -- * Destructuring the Response-    , listComplianceStatusResponse-    , ListComplianceStatusResponse-    -- * Response Lenses-    , lcsrsNextToken-    , lcsrsPolicyComplianceStatusList-    , lcsrsResponseStatus-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'listComplianceStatus' smart constructor.-data ListComplianceStatus = ListComplianceStatus'-  { _lcsNextToken  :: !(Maybe Text)-  , _lcsMaxResults :: !(Maybe Nat)-  , _lcsPolicyId   :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListComplianceStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lcsNextToken' - If you specify a value for @MaxResults@ and you have more @PolicyComplianceStatus@ objects than the number that you specify for @MaxResults@ , AWS Firewall Manager returns a @NextToken@ value in the response that allows you to list another group of @PolicyComplianceStatus@ objects. For the second and subsequent @ListComplianceStatus@ requests, specify the value of @NextToken@ from the previous response to get information about another batch of @PolicyComplianceStatus@ objects.------ * 'lcsMaxResults' - Specifies the number of @PolicyComplianceStatus@ objects that you want AWS Firewall Manager to return for this request. If you have more @PolicyComplianceStatus@ objects than the number that you specify for @MaxResults@ , the response includes a @NextToken@ value that you can use to get another batch of @PolicyComplianceStatus@ objects.------ * 'lcsPolicyId' - The ID of the AWS Firewall Manager policy that you want the details for.-listComplianceStatus-    :: Text -- ^ 'lcsPolicyId'-    -> ListComplianceStatus-listComplianceStatus pPolicyId_ =-  ListComplianceStatus'-    { _lcsNextToken = Nothing-    , _lcsMaxResults = Nothing-    , _lcsPolicyId = pPolicyId_-    }----- | If you specify a value for @MaxResults@ and you have more @PolicyComplianceStatus@ objects than the number that you specify for @MaxResults@ , AWS Firewall Manager returns a @NextToken@ value in the response that allows you to list another group of @PolicyComplianceStatus@ objects. For the second and subsequent @ListComplianceStatus@ requests, specify the value of @NextToken@ from the previous response to get information about another batch of @PolicyComplianceStatus@ objects.-lcsNextToken :: Lens' ListComplianceStatus (Maybe Text)-lcsNextToken = lens _lcsNextToken (\ s a -> s{_lcsNextToken = a})---- | Specifies the number of @PolicyComplianceStatus@ objects that you want AWS Firewall Manager to return for this request. If you have more @PolicyComplianceStatus@ objects than the number that you specify for @MaxResults@ , the response includes a @NextToken@ value that you can use to get another batch of @PolicyComplianceStatus@ objects.-lcsMaxResults :: Lens' ListComplianceStatus (Maybe Natural)-lcsMaxResults = lens _lcsMaxResults (\ s a -> s{_lcsMaxResults = a}) . mapping _Nat---- | The ID of the AWS Firewall Manager policy that you want the details for.-lcsPolicyId :: Lens' ListComplianceStatus Text-lcsPolicyId = lens _lcsPolicyId (\ s a -> s{_lcsPolicyId = a})--instance AWSRequest ListComplianceStatus where-        type Rs ListComplianceStatus =-             ListComplianceStatusResponse-        request = postJSON fms-        response-          = receiveJSON-              (\ s h x ->-                 ListComplianceStatusResponse' <$>-                   (x .?> "NextToken") <*>-                     (x .?> "PolicyComplianceStatusList" .!@ mempty)-                     <*> (pure (fromEnum s)))--instance Hashable ListComplianceStatus where--instance NFData ListComplianceStatus where--instance ToHeaders ListComplianceStatus where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.ListComplianceStatus" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListComplianceStatus where-        toJSON ListComplianceStatus'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _lcsNextToken,-                  ("MaxResults" .=) <$> _lcsMaxResults,-                  Just ("PolicyId" .= _lcsPolicyId)])--instance ToPath ListComplianceStatus where-        toPath = const "/"--instance ToQuery ListComplianceStatus where-        toQuery = const mempty---- | /See:/ 'listComplianceStatusResponse' smart constructor.-data ListComplianceStatusResponse = ListComplianceStatusResponse'-  { _lcsrsNextToken                  :: !(Maybe Text)-  , _lcsrsPolicyComplianceStatusList :: !(Maybe [PolicyComplianceStatus])-  , _lcsrsResponseStatus             :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListComplianceStatusResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lcsrsNextToken' - If you have more @PolicyComplianceStatus@ objects than the number that you specified for @MaxResults@ in the request, the response includes a @NextToken@ value. To list more @PolicyComplianceStatus@ objects, submit another @ListComplianceStatus@ request, and specify the @NextToken@ value from the response in the @NextToken@ value in the next request.------ * 'lcsrsPolicyComplianceStatusList' - An array of @PolicyComplianceStatus@ objects.------ * 'lcsrsResponseStatus' - -- | The response status code.-listComplianceStatusResponse-    :: Int -- ^ 'lcsrsResponseStatus'-    -> ListComplianceStatusResponse-listComplianceStatusResponse pResponseStatus_ =-  ListComplianceStatusResponse'-    { _lcsrsNextToken = Nothing-    , _lcsrsPolicyComplianceStatusList = Nothing-    , _lcsrsResponseStatus = pResponseStatus_-    }----- | If you have more @PolicyComplianceStatus@ objects than the number that you specified for @MaxResults@ in the request, the response includes a @NextToken@ value. To list more @PolicyComplianceStatus@ objects, submit another @ListComplianceStatus@ request, and specify the @NextToken@ value from the response in the @NextToken@ value in the next request.-lcsrsNextToken :: Lens' ListComplianceStatusResponse (Maybe Text)-lcsrsNextToken = lens _lcsrsNextToken (\ s a -> s{_lcsrsNextToken = a})---- | An array of @PolicyComplianceStatus@ objects.-lcsrsPolicyComplianceStatusList :: Lens' ListComplianceStatusResponse [PolicyComplianceStatus]-lcsrsPolicyComplianceStatusList = lens _lcsrsPolicyComplianceStatusList (\ s a -> s{_lcsrsPolicyComplianceStatusList = a}) . _Default . _Coerce---- | -- | The response status code.-lcsrsResponseStatus :: Lens' ListComplianceStatusResponse Int-lcsrsResponseStatus = lens _lcsrsResponseStatus (\ s a -> s{_lcsrsResponseStatus = a})--instance NFData ListComplianceStatusResponse where
− gen/Network/AWS/FMS/ListPolicies.hs
@@ -1,153 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.ListPolicies--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of @PolicySummary@ objects in the response.-------module Network.AWS.FMS.ListPolicies-    (-    -- * Creating a Request-      listPolicies-    , ListPolicies-    -- * Request Lenses-    , lpNextToken-    , lpMaxResults--    -- * Destructuring the Response-    , listPoliciesResponse-    , ListPoliciesResponse-    -- * Response Lenses-    , lprsNextToken-    , lprsPolicyList-    , lprsResponseStatus-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'listPolicies' smart constructor.-data ListPolicies = ListPolicies'-  { _lpNextToken  :: !(Maybe Text)-  , _lpMaxResults :: !(Maybe Nat)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListPolicies' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lpNextToken' - If you specify a value for @MaxResults@ and you have more @PolicySummary@ objects than the number that you specify for @MaxResults@ , AWS Firewall Manager returns a @NextToken@ value in the response that allows you to list another group of @PolicySummary@ objects. For the second and subsequent @ListPolicies@ requests, specify the value of @NextToken@ from the previous response to get information about another batch of @PolicySummary@ objects.------ * 'lpMaxResults' - Specifies the number of @PolicySummary@ objects that you want AWS Firewall Manager to return for this request. If you have more @PolicySummary@ objects than the number that you specify for @MaxResults@ , the response includes a @NextToken@ value that you can use to get another batch of @PolicySummary@ objects.-listPolicies-    :: ListPolicies-listPolicies = ListPolicies' {_lpNextToken = Nothing, _lpMaxResults = Nothing}----- | If you specify a value for @MaxResults@ and you have more @PolicySummary@ objects than the number that you specify for @MaxResults@ , AWS Firewall Manager returns a @NextToken@ value in the response that allows you to list another group of @PolicySummary@ objects. For the second and subsequent @ListPolicies@ requests, specify the value of @NextToken@ from the previous response to get information about another batch of @PolicySummary@ objects.-lpNextToken :: Lens' ListPolicies (Maybe Text)-lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a})---- | Specifies the number of @PolicySummary@ objects that you want AWS Firewall Manager to return for this request. If you have more @PolicySummary@ objects than the number that you specify for @MaxResults@ , the response includes a @NextToken@ value that you can use to get another batch of @PolicySummary@ objects.-lpMaxResults :: Lens' ListPolicies (Maybe Natural)-lpMaxResults = lens _lpMaxResults (\ s a -> s{_lpMaxResults = a}) . mapping _Nat--instance AWSRequest ListPolicies where-        type Rs ListPolicies = ListPoliciesResponse-        request = postJSON fms-        response-          = receiveJSON-              (\ s h x ->-                 ListPoliciesResponse' <$>-                   (x .?> "NextToken") <*>-                     (x .?> "PolicyList" .!@ mempty)-                     <*> (pure (fromEnum s)))--instance Hashable ListPolicies where--instance NFData ListPolicies where--instance ToHeaders ListPolicies where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.ListPolicies" :: ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListPolicies where-        toJSON ListPolicies'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _lpNextToken,-                  ("MaxResults" .=) <$> _lpMaxResults])--instance ToPath ListPolicies where-        toPath = const "/"--instance ToQuery ListPolicies where-        toQuery = const mempty---- | /See:/ 'listPoliciesResponse' smart constructor.-data ListPoliciesResponse = ListPoliciesResponse'-  { _lprsNextToken      :: !(Maybe Text)-  , _lprsPolicyList     :: !(Maybe [PolicySummary])-  , _lprsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListPoliciesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lprsNextToken' - If you have more @PolicySummary@ objects than the number that you specified for @MaxResults@ in the request, the response includes a @NextToken@ value. To list more @PolicySummary@ objects, submit another @ListPolicies@ request, and specify the @NextToken@ value from the response in the @NextToken@ value in the next request.------ * 'lprsPolicyList' - An array of @PolicySummary@ objects.------ * 'lprsResponseStatus' - -- | The response status code.-listPoliciesResponse-    :: Int -- ^ 'lprsResponseStatus'-    -> ListPoliciesResponse-listPoliciesResponse pResponseStatus_ =-  ListPoliciesResponse'-    { _lprsNextToken = Nothing-    , _lprsPolicyList = Nothing-    , _lprsResponseStatus = pResponseStatus_-    }----- | If you have more @PolicySummary@ objects than the number that you specified for @MaxResults@ in the request, the response includes a @NextToken@ value. To list more @PolicySummary@ objects, submit another @ListPolicies@ request, and specify the @NextToken@ value from the response in the @NextToken@ value in the next request.-lprsNextToken :: Lens' ListPoliciesResponse (Maybe Text)-lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a})---- | An array of @PolicySummary@ objects.-lprsPolicyList :: Lens' ListPoliciesResponse [PolicySummary]-lprsPolicyList = lens _lprsPolicyList (\ s a -> s{_lprsPolicyList = a}) . _Default . _Coerce---- | -- | The response status code.-lprsResponseStatus :: Lens' ListPoliciesResponse Int-lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a})--instance NFData ListPoliciesResponse where
− gen/Network/AWS/FMS/PutNotificationChannel.hs
@@ -1,123 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.PutNotificationChannel--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.-------module Network.AWS.FMS.PutNotificationChannel-    (-    -- * Creating a Request-      putNotificationChannel-    , PutNotificationChannel-    -- * Request Lenses-    , pncSNSTopicARN-    , pncSNSRoleName--    -- * Destructuring the Response-    , putNotificationChannelResponse-    , PutNotificationChannelResponse-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'putNotificationChannel' smart constructor.-data PutNotificationChannel = PutNotificationChannel'-  { _pncSNSTopicARN :: !Text-  , _pncSNSRoleName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutNotificationChannel' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pncSNSTopicARN' - The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager.------ * 'pncSNSRoleName' - The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity.-putNotificationChannel-    :: Text -- ^ 'pncSNSTopicARN'-    -> Text -- ^ 'pncSNSRoleName'-    -> PutNotificationChannel-putNotificationChannel pSNSTopicARN_ pSNSRoleName_ =-  PutNotificationChannel'-    {_pncSNSTopicARN = pSNSTopicARN_, _pncSNSRoleName = pSNSRoleName_}----- | The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager.-pncSNSTopicARN :: Lens' PutNotificationChannel Text-pncSNSTopicARN = lens _pncSNSTopicARN (\ s a -> s{_pncSNSTopicARN = a})---- | The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity.-pncSNSRoleName :: Lens' PutNotificationChannel Text-pncSNSRoleName = lens _pncSNSRoleName (\ s a -> s{_pncSNSRoleName = a})--instance AWSRequest PutNotificationChannel where-        type Rs PutNotificationChannel =-             PutNotificationChannelResponse-        request = postJSON fms-        response-          = receiveNull PutNotificationChannelResponse'--instance Hashable PutNotificationChannel where--instance NFData PutNotificationChannel where--instance ToHeaders PutNotificationChannel where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.PutNotificationChannel" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON PutNotificationChannel where-        toJSON PutNotificationChannel'{..}-          = object-              (catMaybes-                 [Just ("SnsTopicArn" .= _pncSNSTopicARN),-                  Just ("SnsRoleName" .= _pncSNSRoleName)])--instance ToPath PutNotificationChannel where-        toPath = const "/"--instance ToQuery PutNotificationChannel where-        toQuery = const mempty---- | /See:/ 'putNotificationChannelResponse' smart constructor.-data PutNotificationChannelResponse =-  PutNotificationChannelResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutNotificationChannelResponse' with the minimum fields required to make a request.----putNotificationChannelResponse-    :: PutNotificationChannelResponse-putNotificationChannelResponse = PutNotificationChannelResponse'---instance NFData PutNotificationChannelResponse where
− gen/Network/AWS/FMS/PutPolicy.hs
@@ -1,142 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.PutPolicy--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates an AWS Firewall Manager policy.-------module Network.AWS.FMS.PutPolicy-    (-    -- * Creating a Request-      putPolicy-    , PutPolicy-    -- * Request Lenses-    , ppPolicy--    -- * Destructuring the Response-    , putPolicyResponse-    , PutPolicyResponse-    -- * Response Lenses-    , pprsPolicyARN-    , pprsPolicy-    , pprsResponseStatus-    ) where--import Network.AWS.FMS.Types-import Network.AWS.FMS.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'putPolicy' smart constructor.-newtype PutPolicy = PutPolicy'-  { _ppPolicy :: Policy-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ppPolicy' - The details of the AWS Firewall Manager policy to be created.-putPolicy-    :: Policy -- ^ 'ppPolicy'-    -> PutPolicy-putPolicy pPolicy_ = PutPolicy' {_ppPolicy = pPolicy_}----- | The details of the AWS Firewall Manager policy to be created.-ppPolicy :: Lens' PutPolicy Policy-ppPolicy = lens _ppPolicy (\ s a -> s{_ppPolicy = a})--instance AWSRequest PutPolicy where-        type Rs PutPolicy = PutPolicyResponse-        request = postJSON fms-        response-          = receiveJSON-              (\ s h x ->-                 PutPolicyResponse' <$>-                   (x .?> "PolicyArn") <*> (x .?> "Policy") <*>-                     (pure (fromEnum s)))--instance Hashable PutPolicy where--instance NFData PutPolicy where--instance ToHeaders PutPolicy where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSFMS_20180101.PutPolicy" :: ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON PutPolicy where-        toJSON PutPolicy'{..}-          = object (catMaybes [Just ("Policy" .= _ppPolicy)])--instance ToPath PutPolicy where-        toPath = const "/"--instance ToQuery PutPolicy where-        toQuery = const mempty---- | /See:/ 'putPolicyResponse' smart constructor.-data PutPolicyResponse = PutPolicyResponse'-  { _pprsPolicyARN      :: !(Maybe Text)-  , _pprsPolicy         :: !(Maybe Policy)-  , _pprsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutPolicyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pprsPolicyARN' - The Amazon Resource Name (ARN) of the policy that was created.------ * 'pprsPolicy' - The details of the AWS Firewall Manager policy that was created.------ * 'pprsResponseStatus' - -- | The response status code.-putPolicyResponse-    :: Int -- ^ 'pprsResponseStatus'-    -> PutPolicyResponse-putPolicyResponse pResponseStatus_ =-  PutPolicyResponse'-    { _pprsPolicyARN = Nothing-    , _pprsPolicy = Nothing-    , _pprsResponseStatus = pResponseStatus_-    }----- | The Amazon Resource Name (ARN) of the policy that was created.-pprsPolicyARN :: Lens' PutPolicyResponse (Maybe Text)-pprsPolicyARN = lens _pprsPolicyARN (\ s a -> s{_pprsPolicyARN = a})---- | The details of the AWS Firewall Manager policy that was created.-pprsPolicy :: Lens' PutPolicyResponse (Maybe Policy)-pprsPolicy = lens _pprsPolicy (\ s a -> s{_pprsPolicy = a})---- | -- | The response status code.-pprsResponseStatus :: Lens' PutPolicyResponse Int-pprsResponseStatus = lens _pprsResponseStatus (\ s a -> s{_pprsResponseStatus = a})--instance NFData PutPolicyResponse where
− gen/Network/AWS/FMS/Types.hs
@@ -1,181 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.Types--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.FMS.Types-    (-    -- * Service Configuration-      fms--    -- * Errors-    , _InternalErrorException-    , _InvalidInputException-    , _InvalidOperationException-    , _ResourceNotFoundException-    , _LimitExceededException--    -- * PolicyComplianceStatusType-    , PolicyComplianceStatusType (..)--    -- * SecurityServiceType-    , SecurityServiceType (..)--    -- * ViolationReason-    , ViolationReason (..)--    -- * ComplianceViolator-    , ComplianceViolator-    , complianceViolator-    , cvResourceId-    , cvResourceType-    , cvViolationReason--    -- * EvaluationResult-    , EvaluationResult-    , evaluationResult-    , erViolatorCount-    , erComplianceStatus-    , erEvaluationLimitExceeded--    -- * Policy-    , Policy-    , policy-    , pPolicyId-    , pResourceTags-    , pPolicyUpdateToken-    , pPolicyName-    , pSecurityServicePolicyData-    , pResourceType-    , pExcludeResourceTags-    , pRemediationEnabled--    -- * PolicyComplianceDetail-    , PolicyComplianceDetail-    , policyComplianceDetail-    , pcdExpiredAt-    , pcdPolicyId-    , pcdViolators-    , pcdEvaluationLimitExceeded-    , pcdPolicyOwner-    , pcdMemberAccount--    -- * PolicyComplianceStatus-    , PolicyComplianceStatus-    , policyComplianceStatus-    , pcsEvaluationResults-    , pcsLastUpdated-    , pcsPolicyName-    , pcsPolicyId-    , pcsPolicyOwner-    , pcsMemberAccount--    -- * PolicySummary-    , PolicySummary-    , policySummary-    , psPolicyName-    , psRemediationEnabled-    , psResourceType-    , psPolicyId-    , psPolicyARN-    , psSecurityServiceType--    -- * ResourceTag-    , ResourceTag-    , resourceTag-    , rtValue-    , rtKey--    -- * SecurityServicePolicyData-    , SecurityServicePolicyData-    , securityServicePolicyData-    , sspdManagedServiceData-    , sspdType-    ) where--import Network.AWS.FMS.Types.Product-import Network.AWS.FMS.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Sign.V4---- | API version @2018-01-01@ of the Amazon Firewall Management Service SDK configuration.-fms :: Service-fms =-  Service-    { _svcAbbrev = "FMS"-    , _svcSigner = v4-    , _svcPrefix = "fms"-    , _svcVersion = "2018-01-01"-    , _svcEndpoint = defaultEndpoint fms-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseJSONError "FMS"-    , _svcRetry = retry-    }-  where-    retry =-      Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }-    check e-      | has (hasCode "ThrottledException" . hasStatus 400) e =-        Just "throttled_exception"-      | has (hasStatus 429) e = Just "too_many_requests"-      | has (hasCode "ThrottlingException" . hasStatus 400) e =-        Just "throttling_exception"-      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"-      | has (hasStatus 504) e = Just "gateway_timeout"-      | has (hasCode "RequestThrottledException" . hasStatus 400) e =-        Just "request_throttled_exception"-      | has (hasStatus 502) e = Just "bad_gateway"-      | has (hasStatus 503) e = Just "service_unavailable"-      | has (hasStatus 500) e = Just "general_server_error"-      | has (hasStatus 509) e = Just "limit_exceeded"-      | otherwise = Nothing----- | The operation failed because of a system problem, even though the request was valid. Retry your request.-------_InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError-_InternalErrorException = _MatchServiceError fms "InternalErrorException"----- | The parameters of the request were invalid.-------_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidInputException = _MatchServiceError fms "InvalidInputException"----- | The operation failed because there was nothing to do. For example, you might have submitted an @AssociateAdminAccount@ request, but the account ID that you submitted was already set as the AWS Firewall Manager administrator.-------_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidOperationException = _MatchServiceError fms "InvalidOperationException"----- | The specified resource was not found.-------_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_ResourceNotFoundException = _MatchServiceError fms "ResourceNotFoundException"----- | The operation exceeds a resource limit, for example, the maximum number of @policy@ objects that you can create for an AWS account. For more information, see <http://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html Firewall Manager Limits> in the /AWS WAF Developer Guide/ .-------_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError-_LimitExceededException = _MatchServiceError fms "LimitExceededException"-
− gen/Network/AWS/FMS/Types/Product.hs
@@ -1,603 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.Types.Product--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.FMS.Types.Product where--import Network.AWS.FMS.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Details of the resource that is not protected by the policy.------------ /See:/ 'complianceViolator' smart constructor.-data ComplianceViolator = ComplianceViolator'-  { _cvResourceId      :: !(Maybe Text)-  , _cvResourceType    :: !(Maybe Text)-  , _cvViolationReason :: !(Maybe ViolationReason)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ComplianceViolator' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cvResourceId' - The resource ID.------ * 'cvResourceType' - The resource type. This is in the format shown in <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> . Valid values are @AWS::ElasticLoadBalancingV2::LoadBalancer@ or @AWS::CloudFront::Distribution@ .------ * 'cvViolationReason' - The reason that the resource is not protected by the policy.-complianceViolator-    :: ComplianceViolator-complianceViolator =-  ComplianceViolator'-    { _cvResourceId = Nothing-    , _cvResourceType = Nothing-    , _cvViolationReason = Nothing-    }----- | The resource ID.-cvResourceId :: Lens' ComplianceViolator (Maybe Text)-cvResourceId = lens _cvResourceId (\ s a -> s{_cvResourceId = a})---- | The resource type. This is in the format shown in <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> . Valid values are @AWS::ElasticLoadBalancingV2::LoadBalancer@ or @AWS::CloudFront::Distribution@ .-cvResourceType :: Lens' ComplianceViolator (Maybe Text)-cvResourceType = lens _cvResourceType (\ s a -> s{_cvResourceType = a})---- | The reason that the resource is not protected by the policy.-cvViolationReason :: Lens' ComplianceViolator (Maybe ViolationReason)-cvViolationReason = lens _cvViolationReason (\ s a -> s{_cvViolationReason = a})--instance FromJSON ComplianceViolator where-        parseJSON-          = withObject "ComplianceViolator"-              (\ x ->-                 ComplianceViolator' <$>-                   (x .:? "ResourceId") <*> (x .:? "ResourceType") <*>-                     (x .:? "ViolationReason"))--instance Hashable ComplianceViolator where--instance NFData ComplianceViolator where---- | Describes the compliance status for the account. An account is considered non-compliant if it includes resources that are not protected by the specified policy.------------ /See:/ 'evaluationResult' smart constructor.-data EvaluationResult = EvaluationResult'-  { _erViolatorCount           :: !(Maybe Nat)-  , _erComplianceStatus        :: !(Maybe PolicyComplianceStatusType)-  , _erEvaluationLimitExceeded :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'EvaluationResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'erViolatorCount' - Number of resources that are non-compliant with the specified policy. A resource is considered non-compliant if it is not associated with the specified policy.------ * 'erComplianceStatus' - Describes an AWS account's compliance with the AWS Firewall Manager policy.------ * 'erEvaluationLimitExceeded' - Indicates that over 100 resources are non-compliant with the AWS Firewall Manager policy.-evaluationResult-    :: EvaluationResult-evaluationResult =-  EvaluationResult'-    { _erViolatorCount = Nothing-    , _erComplianceStatus = Nothing-    , _erEvaluationLimitExceeded = Nothing-    }----- | Number of resources that are non-compliant with the specified policy. A resource is considered non-compliant if it is not associated with the specified policy.-erViolatorCount :: Lens' EvaluationResult (Maybe Natural)-erViolatorCount = lens _erViolatorCount (\ s a -> s{_erViolatorCount = a}) . mapping _Nat---- | Describes an AWS account's compliance with the AWS Firewall Manager policy.-erComplianceStatus :: Lens' EvaluationResult (Maybe PolicyComplianceStatusType)-erComplianceStatus = lens _erComplianceStatus (\ s a -> s{_erComplianceStatus = a})---- | Indicates that over 100 resources are non-compliant with the AWS Firewall Manager policy.-erEvaluationLimitExceeded :: Lens' EvaluationResult (Maybe Bool)-erEvaluationLimitExceeded = lens _erEvaluationLimitExceeded (\ s a -> s{_erEvaluationLimitExceeded = a})--instance FromJSON EvaluationResult where-        parseJSON-          = withObject "EvaluationResult"-              (\ x ->-                 EvaluationResult' <$>-                   (x .:? "ViolatorCount") <*>-                     (x .:? "ComplianceStatus")-                     <*> (x .:? "EvaluationLimitExceeded"))--instance Hashable EvaluationResult where--instance NFData EvaluationResult where---- | An AWS Firewall Manager policy.------------ /See:/ 'policy' smart constructor.-data Policy = Policy'-  { _pPolicyId                  :: !(Maybe Text)-  , _pResourceTags              :: !(Maybe [ResourceTag])-  , _pPolicyUpdateToken         :: !(Maybe Text)-  , _pPolicyName                :: !Text-  , _pSecurityServicePolicyData :: !SecurityServicePolicyData-  , _pResourceType              :: !Text-  , _pExcludeResourceTags       :: !Bool-  , _pRemediationEnabled        :: !Bool-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Policy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pPolicyId' - The ID of the AWS Firewall Manager policy.------ * 'pResourceTags' - An array of @ResourceTag@ objects.------ * 'pPolicyUpdateToken' - A unique identifier for each update to the policy. When issuing a @PutPolicy@ request, the @PolicyUpdateToken@ in the request must match the @PolicyUpdateToken@ of the current policy version. To get the @PolicyUpdateToken@ of the current policy version, use a @GetPolicy@ request.------ * 'pPolicyName' - The friendly name of the AWS Firewall Manager policy.------ * 'pSecurityServicePolicyData' - Details about the security service that is being used to protect the resources.------ * 'pResourceType' - The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> . Valid values are @AWS::ElasticLoadBalancingV2::LoadBalancer@ or @AWS::CloudFront::Distribution@ .------ * 'pExcludeResourceTags' - If set to @True@ , resources with the tags that are specified in the @ResourceTag@ array are not protected by the policy. If set to @False@ , and the @ResourceTag@ array is not null, only resources with the specified tags are associated with the policy.------ * 'pRemediationEnabled' - Indicates if the policy should be automatically applied to new resources.-policy-    :: Text -- ^ 'pPolicyName'-    -> SecurityServicePolicyData -- ^ 'pSecurityServicePolicyData'-    -> Text -- ^ 'pResourceType'-    -> Bool -- ^ 'pExcludeResourceTags'-    -> Bool -- ^ 'pRemediationEnabled'-    -> Policy-policy pPolicyName_ pSecurityServicePolicyData_ pResourceType_ pExcludeResourceTags_ pRemediationEnabled_ =-  Policy'-    { _pPolicyId = Nothing-    , _pResourceTags = Nothing-    , _pPolicyUpdateToken = Nothing-    , _pPolicyName = pPolicyName_-    , _pSecurityServicePolicyData = pSecurityServicePolicyData_-    , _pResourceType = pResourceType_-    , _pExcludeResourceTags = pExcludeResourceTags_-    , _pRemediationEnabled = pRemediationEnabled_-    }----- | The ID of the AWS Firewall Manager policy.-pPolicyId :: Lens' Policy (Maybe Text)-pPolicyId = lens _pPolicyId (\ s a -> s{_pPolicyId = a})---- | An array of @ResourceTag@ objects.-pResourceTags :: Lens' Policy [ResourceTag]-pResourceTags = lens _pResourceTags (\ s a -> s{_pResourceTags = a}) . _Default . _Coerce---- | A unique identifier for each update to the policy. When issuing a @PutPolicy@ request, the @PolicyUpdateToken@ in the request must match the @PolicyUpdateToken@ of the current policy version. To get the @PolicyUpdateToken@ of the current policy version, use a @GetPolicy@ request.-pPolicyUpdateToken :: Lens' Policy (Maybe Text)-pPolicyUpdateToken = lens _pPolicyUpdateToken (\ s a -> s{_pPolicyUpdateToken = a})---- | The friendly name of the AWS Firewall Manager policy.-pPolicyName :: Lens' Policy Text-pPolicyName = lens _pPolicyName (\ s a -> s{_pPolicyName = a})---- | Details about the security service that is being used to protect the resources.-pSecurityServicePolicyData :: Lens' Policy SecurityServicePolicyData-pSecurityServicePolicyData = lens _pSecurityServicePolicyData (\ s a -> s{_pSecurityServicePolicyData = a})---- | The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> . Valid values are @AWS::ElasticLoadBalancingV2::LoadBalancer@ or @AWS::CloudFront::Distribution@ .-pResourceType :: Lens' Policy Text-pResourceType = lens _pResourceType (\ s a -> s{_pResourceType = a})---- | If set to @True@ , resources with the tags that are specified in the @ResourceTag@ array are not protected by the policy. If set to @False@ , and the @ResourceTag@ array is not null, only resources with the specified tags are associated with the policy.-pExcludeResourceTags :: Lens' Policy Bool-pExcludeResourceTags = lens _pExcludeResourceTags (\ s a -> s{_pExcludeResourceTags = a})---- | Indicates if the policy should be automatically applied to new resources.-pRemediationEnabled :: Lens' Policy Bool-pRemediationEnabled = lens _pRemediationEnabled (\ s a -> s{_pRemediationEnabled = a})--instance FromJSON Policy where-        parseJSON-          = withObject "Policy"-              (\ x ->-                 Policy' <$>-                   (x .:? "PolicyId") <*>-                     (x .:? "ResourceTags" .!= mempty)-                     <*> (x .:? "PolicyUpdateToken")-                     <*> (x .: "PolicyName")-                     <*> (x .: "SecurityServicePolicyData")-                     <*> (x .: "ResourceType")-                     <*> (x .: "ExcludeResourceTags")-                     <*> (x .: "RemediationEnabled"))--instance Hashable Policy where--instance NFData Policy where--instance ToJSON Policy where-        toJSON Policy'{..}-          = object-              (catMaybes-                 [("PolicyId" .=) <$> _pPolicyId,-                  ("ResourceTags" .=) <$> _pResourceTags,-                  ("PolicyUpdateToken" .=) <$> _pPolicyUpdateToken,-                  Just ("PolicyName" .= _pPolicyName),-                  Just-                    ("SecurityServicePolicyData" .=-                       _pSecurityServicePolicyData),-                  Just ("ResourceType" .= _pResourceType),-                  Just-                    ("ExcludeResourceTags" .= _pExcludeResourceTags),-                  Just ("RemediationEnabled" .= _pRemediationEnabled)])---- | Describes the non-compliant resources in a member account for a specific AWS Firewall Manager policy. A maximum of 100 entries are displayed. If more than 100 resources are non-compliant, @EvaluationLimitExceeded@ is set to @True@ .------------ /See:/ 'policyComplianceDetail' smart constructor.-data PolicyComplianceDetail = PolicyComplianceDetail'-  { _pcdExpiredAt               :: !(Maybe POSIX)-  , _pcdPolicyId                :: !(Maybe Text)-  , _pcdViolators               :: !(Maybe [ComplianceViolator])-  , _pcdEvaluationLimitExceeded :: !(Maybe Bool)-  , _pcdPolicyOwner             :: !(Maybe Text)-  , _pcdMemberAccount           :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PolicyComplianceDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcdExpiredAt' - A time stamp that indicates when the returned information should be considered out-of-date.------ * 'pcdPolicyId' - The ID of the AWS Firewall Manager policy.------ * 'pcdViolators' - An array of resources that are not protected by the policy.------ * 'pcdEvaluationLimitExceeded' - Indicates if over 100 resources are non-compliant with the AWS Firewall Manager policy.------ * 'pcdPolicyOwner' - The AWS account that created the AWS Firewall Manager policy.------ * 'pcdMemberAccount' - The AWS account ID.-policyComplianceDetail-    :: PolicyComplianceDetail-policyComplianceDetail =-  PolicyComplianceDetail'-    { _pcdExpiredAt = Nothing-    , _pcdPolicyId = Nothing-    , _pcdViolators = Nothing-    , _pcdEvaluationLimitExceeded = Nothing-    , _pcdPolicyOwner = Nothing-    , _pcdMemberAccount = Nothing-    }----- | A time stamp that indicates when the returned information should be considered out-of-date.-pcdExpiredAt :: Lens' PolicyComplianceDetail (Maybe UTCTime)-pcdExpiredAt = lens _pcdExpiredAt (\ s a -> s{_pcdExpiredAt = a}) . mapping _Time---- | The ID of the AWS Firewall Manager policy.-pcdPolicyId :: Lens' PolicyComplianceDetail (Maybe Text)-pcdPolicyId = lens _pcdPolicyId (\ s a -> s{_pcdPolicyId = a})---- | An array of resources that are not protected by the policy.-pcdViolators :: Lens' PolicyComplianceDetail [ComplianceViolator]-pcdViolators = lens _pcdViolators (\ s a -> s{_pcdViolators = a}) . _Default . _Coerce---- | Indicates if over 100 resources are non-compliant with the AWS Firewall Manager policy.-pcdEvaluationLimitExceeded :: Lens' PolicyComplianceDetail (Maybe Bool)-pcdEvaluationLimitExceeded = lens _pcdEvaluationLimitExceeded (\ s a -> s{_pcdEvaluationLimitExceeded = a})---- | The AWS account that created the AWS Firewall Manager policy.-pcdPolicyOwner :: Lens' PolicyComplianceDetail (Maybe Text)-pcdPolicyOwner = lens _pcdPolicyOwner (\ s a -> s{_pcdPolicyOwner = a})---- | The AWS account ID.-pcdMemberAccount :: Lens' PolicyComplianceDetail (Maybe Text)-pcdMemberAccount = lens _pcdMemberAccount (\ s a -> s{_pcdMemberAccount = a})--instance FromJSON PolicyComplianceDetail where-        parseJSON-          = withObject "PolicyComplianceDetail"-              (\ x ->-                 PolicyComplianceDetail' <$>-                   (x .:? "ExpiredAt") <*> (x .:? "PolicyId") <*>-                     (x .:? "Violators" .!= mempty)-                     <*> (x .:? "EvaluationLimitExceeded")-                     <*> (x .:? "PolicyOwner")-                     <*> (x .:? "MemberAccount"))--instance Hashable PolicyComplianceDetail where--instance NFData PolicyComplianceDetail where---- | Indicates whether the account is compliant with the specified policy. An account is considered non-compliant if it includes resources that are not protected by the policy.------------ /See:/ 'policyComplianceStatus' smart constructor.-data PolicyComplianceStatus = PolicyComplianceStatus'-  { _pcsEvaluationResults :: !(Maybe [EvaluationResult])-  , _pcsLastUpdated       :: !(Maybe POSIX)-  , _pcsPolicyName        :: !(Maybe Text)-  , _pcsPolicyId          :: !(Maybe Text)-  , _pcsPolicyOwner       :: !(Maybe Text)-  , _pcsMemberAccount     :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PolicyComplianceStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcsEvaluationResults' - An array of @EvaluationResult@ objects.------ * 'pcsLastUpdated' - Time stamp of the last update to the @EvaluationResult@ objects.------ * 'pcsPolicyName' - The friendly name of the AWS Firewall Manager policy.------ * 'pcsPolicyId' - The ID of the AWS Firewall Manager policy.------ * 'pcsPolicyOwner' - The AWS account that created the AWS Firewall Manager policy.------ * 'pcsMemberAccount' - The member account ID.-policyComplianceStatus-    :: PolicyComplianceStatus-policyComplianceStatus =-  PolicyComplianceStatus'-    { _pcsEvaluationResults = Nothing-    , _pcsLastUpdated = Nothing-    , _pcsPolicyName = Nothing-    , _pcsPolicyId = Nothing-    , _pcsPolicyOwner = Nothing-    , _pcsMemberAccount = Nothing-    }----- | An array of @EvaluationResult@ objects.-pcsEvaluationResults :: Lens' PolicyComplianceStatus [EvaluationResult]-pcsEvaluationResults = lens _pcsEvaluationResults (\ s a -> s{_pcsEvaluationResults = a}) . _Default . _Coerce---- | Time stamp of the last update to the @EvaluationResult@ objects.-pcsLastUpdated :: Lens' PolicyComplianceStatus (Maybe UTCTime)-pcsLastUpdated = lens _pcsLastUpdated (\ s a -> s{_pcsLastUpdated = a}) . mapping _Time---- | The friendly name of the AWS Firewall Manager policy.-pcsPolicyName :: Lens' PolicyComplianceStatus (Maybe Text)-pcsPolicyName = lens _pcsPolicyName (\ s a -> s{_pcsPolicyName = a})---- | The ID of the AWS Firewall Manager policy.-pcsPolicyId :: Lens' PolicyComplianceStatus (Maybe Text)-pcsPolicyId = lens _pcsPolicyId (\ s a -> s{_pcsPolicyId = a})---- | The AWS account that created the AWS Firewall Manager policy.-pcsPolicyOwner :: Lens' PolicyComplianceStatus (Maybe Text)-pcsPolicyOwner = lens _pcsPolicyOwner (\ s a -> s{_pcsPolicyOwner = a})---- | The member account ID.-pcsMemberAccount :: Lens' PolicyComplianceStatus (Maybe Text)-pcsMemberAccount = lens _pcsMemberAccount (\ s a -> s{_pcsMemberAccount = a})--instance FromJSON PolicyComplianceStatus where-        parseJSON-          = withObject "PolicyComplianceStatus"-              (\ x ->-                 PolicyComplianceStatus' <$>-                   (x .:? "EvaluationResults" .!= mempty) <*>-                     (x .:? "LastUpdated")-                     <*> (x .:? "PolicyName")-                     <*> (x .:? "PolicyId")-                     <*> (x .:? "PolicyOwner")-                     <*> (x .:? "MemberAccount"))--instance Hashable PolicyComplianceStatus where--instance NFData PolicyComplianceStatus where---- | Details of the AWS Firewall Manager policy.------------ /See:/ 'policySummary' smart constructor.-data PolicySummary = PolicySummary'-  { _psPolicyName          :: !(Maybe Text)-  , _psRemediationEnabled  :: !(Maybe Bool)-  , _psResourceType        :: !(Maybe Text)-  , _psPolicyId            :: !(Maybe Text)-  , _psPolicyARN           :: !(Maybe Text)-  , _psSecurityServiceType :: !(Maybe SecurityServiceType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PolicySummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psPolicyName' - The friendly name of the specified policy.------ * 'psRemediationEnabled' - Indicates if the policy should be automatically applied to new resources.------ * 'psResourceType' - The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> . Valid values are @AWS::ElasticLoadBalancingV2::LoadBalancer@ or @AWS::CloudFront::Distribution@ .------ * 'psPolicyId' - The ID of the specified policy.------ * 'psPolicyARN' - The Amazon Resource Name (ARN) of the specified policy.------ * 'psSecurityServiceType' - The service that the policy is using to protect the resources. This value is @WAF@ .-policySummary-    :: PolicySummary-policySummary =-  PolicySummary'-    { _psPolicyName = Nothing-    , _psRemediationEnabled = Nothing-    , _psResourceType = Nothing-    , _psPolicyId = Nothing-    , _psPolicyARN = Nothing-    , _psSecurityServiceType = Nothing-    }----- | The friendly name of the specified policy.-psPolicyName :: Lens' PolicySummary (Maybe Text)-psPolicyName = lens _psPolicyName (\ s a -> s{_psPolicyName = a})---- | Indicates if the policy should be automatically applied to new resources.-psRemediationEnabled :: Lens' PolicySummary (Maybe Bool)-psRemediationEnabled = lens _psRemediationEnabled (\ s a -> s{_psRemediationEnabled = a})---- | The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> . Valid values are @AWS::ElasticLoadBalancingV2::LoadBalancer@ or @AWS::CloudFront::Distribution@ .-psResourceType :: Lens' PolicySummary (Maybe Text)-psResourceType = lens _psResourceType (\ s a -> s{_psResourceType = a})---- | The ID of the specified policy.-psPolicyId :: Lens' PolicySummary (Maybe Text)-psPolicyId = lens _psPolicyId (\ s a -> s{_psPolicyId = a})---- | The Amazon Resource Name (ARN) of the specified policy.-psPolicyARN :: Lens' PolicySummary (Maybe Text)-psPolicyARN = lens _psPolicyARN (\ s a -> s{_psPolicyARN = a})---- | The service that the policy is using to protect the resources. This value is @WAF@ .-psSecurityServiceType :: Lens' PolicySummary (Maybe SecurityServiceType)-psSecurityServiceType = lens _psSecurityServiceType (\ s a -> s{_psSecurityServiceType = a})--instance FromJSON PolicySummary where-        parseJSON-          = withObject "PolicySummary"-              (\ x ->-                 PolicySummary' <$>-                   (x .:? "PolicyName") <*> (x .:? "RemediationEnabled")-                     <*> (x .:? "ResourceType")-                     <*> (x .:? "PolicyId")-                     <*> (x .:? "PolicyArn")-                     <*> (x .:? "SecurityServiceType"))--instance Hashable PolicySummary where--instance NFData PolicySummary where---- | The resource tags that AWS Firewall Manager uses to determine if a particular resource should be included or excluded from protection by the AWS Firewall Manager policy. Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. Tags are combined with an "OR." That is, if you add more than one tag, if any of the tags matches, the resource is considered a match for the include or exclude. <https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html Working with Tag Editor> .------------ /See:/ 'resourceTag' smart constructor.-data ResourceTag = ResourceTag'-  { _rtValue :: !(Maybe Text)-  , _rtKey   :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResourceTag' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rtValue' - The resource tag value.------ * 'rtKey' - The resource tag key.-resourceTag-    :: Text -- ^ 'rtKey'-    -> ResourceTag-resourceTag pKey_ = ResourceTag' {_rtValue = Nothing, _rtKey = pKey_}----- | The resource tag value.-rtValue :: Lens' ResourceTag (Maybe Text)-rtValue = lens _rtValue (\ s a -> s{_rtValue = a})---- | The resource tag key.-rtKey :: Lens' ResourceTag Text-rtKey = lens _rtKey (\ s a -> s{_rtKey = a})--instance FromJSON ResourceTag where-        parseJSON-          = withObject "ResourceTag"-              (\ x ->-                 ResourceTag' <$> (x .:? "Value") <*> (x .: "Key"))--instance Hashable ResourceTag where--instance NFData ResourceTag where--instance ToJSON ResourceTag where-        toJSON ResourceTag'{..}-          = object-              (catMaybes-                 [("Value" .=) <$> _rtValue, Just ("Key" .= _rtKey)])---- | Details about the security service that is being used to protect the resources.------------ /See:/ 'securityServicePolicyData' smart constructor.-data SecurityServicePolicyData = SecurityServicePolicyData'-  { _sspdManagedServiceData :: !(Maybe Text)-  , _sspdType               :: !SecurityServiceType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SecurityServicePolicyData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sspdManagedServiceData' - Details about the service. This contains @WAF@ data in JSON format, as shown in the following example: @ManagedServiceData": "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\": \"12345678-1bcd-9012-efga-0987654321ab\", \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": \"BLOCK\"}}@------ * 'sspdType' - The service that the policy is using to protect the resources. This value is @WAF@ .-securityServicePolicyData-    :: SecurityServiceType -- ^ 'sspdType'-    -> SecurityServicePolicyData-securityServicePolicyData pType_ =-  SecurityServicePolicyData'-    {_sspdManagedServiceData = Nothing, _sspdType = pType_}----- | Details about the service. This contains @WAF@ data in JSON format, as shown in the following example: @ManagedServiceData": "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\": \"12345678-1bcd-9012-efga-0987654321ab\", \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": \"BLOCK\"}}@-sspdManagedServiceData :: Lens' SecurityServicePolicyData (Maybe Text)-sspdManagedServiceData = lens _sspdManagedServiceData (\ s a -> s{_sspdManagedServiceData = a})---- | The service that the policy is using to protect the resources. This value is @WAF@ .-sspdType :: Lens' SecurityServicePolicyData SecurityServiceType-sspdType = lens _sspdType (\ s a -> s{_sspdType = a})--instance FromJSON SecurityServicePolicyData where-        parseJSON-          = withObject "SecurityServicePolicyData"-              (\ x ->-                 SecurityServicePolicyData' <$>-                   (x .:? "ManagedServiceData") <*> (x .: "Type"))--instance Hashable SecurityServicePolicyData where--instance NFData SecurityServicePolicyData where--instance ToJSON SecurityServicePolicyData where-        toJSON SecurityServicePolicyData'{..}-          = object-              (catMaybes-                 [("ManagedServiceData" .=) <$>-                    _sspdManagedServiceData,-                  Just ("Type" .= _sspdType)])
− gen/Network/AWS/FMS/Types/Sum.hs
@@ -1,104 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.Types.Sum--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.FMS.Types.Sum where--import Network.AWS.Prelude--data PolicyComplianceStatusType-  = Compliant-  | NonCompliant-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText PolicyComplianceStatusType where-    parser = takeLowerText >>= \case-        "compliant" -> pure Compliant-        "non_compliant" -> pure NonCompliant-        e -> fromTextError $ "Failure parsing PolicyComplianceStatusType from value: '" <> e-           <> "'. Accepted values: compliant, non_compliant"--instance ToText PolicyComplianceStatusType where-    toText = \case-        Compliant -> "COMPLIANT"-        NonCompliant -> "NON_COMPLIANT"--instance Hashable     PolicyComplianceStatusType-instance NFData       PolicyComplianceStatusType-instance ToByteString PolicyComplianceStatusType-instance ToQuery      PolicyComplianceStatusType-instance ToHeader     PolicyComplianceStatusType--instance FromJSON PolicyComplianceStatusType where-    parseJSON = parseJSONText "PolicyComplianceStatusType"--data SecurityServiceType =-  Waf-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText SecurityServiceType where-    parser = takeLowerText >>= \case-        "waf" -> pure Waf-        e -> fromTextError $ "Failure parsing SecurityServiceType from value: '" <> e-           <> "'. Accepted values: waf"--instance ToText SecurityServiceType where-    toText = \case-        Waf -> "WAF"--instance Hashable     SecurityServiceType-instance NFData       SecurityServiceType-instance ToByteString SecurityServiceType-instance ToQuery      SecurityServiceType-instance ToHeader     SecurityServiceType--instance ToJSON SecurityServiceType where-    toJSON = toJSONText--instance FromJSON SecurityServiceType where-    parseJSON = parseJSONText "SecurityServiceType"--data ViolationReason-  = ResourceIncorrectWebACL-  | ResourceMissingWebACL-  | WebACLMissingRuleGroup-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ViolationReason where-    parser = takeLowerText >>= \case-        "resource_incorrect_web_acl" -> pure ResourceIncorrectWebACL-        "resource_missing_web_acl" -> pure ResourceMissingWebACL-        "web_acl_missing_rule_group" -> pure WebACLMissingRuleGroup-        e -> fromTextError $ "Failure parsing ViolationReason from value: '" <> e-           <> "'. Accepted values: resource_incorrect_web_acl, resource_missing_web_acl, web_acl_missing_rule_group"--instance ToText ViolationReason where-    toText = \case-        ResourceIncorrectWebACL -> "RESOURCE_INCORRECT_WEB_ACL"-        ResourceMissingWebACL -> "RESOURCE_MISSING_WEB_ACL"-        WebACLMissingRuleGroup -> "WEB_ACL_MISSING_RULE_GROUP"--instance Hashable     ViolationReason-instance NFData       ViolationReason-instance ToByteString ViolationReason-instance ToQuery      ViolationReason-instance ToHeader     ViolationReason--instance FromJSON ViolationReason where-    parseJSON = parseJSONText "ViolationReason"
− gen/Network/AWS/FMS/Waiters.hs
@@ -1,21 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeFamilies      #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.FMS.Waiters--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.FMS.Waiters where--import Network.AWS.FMS.Types-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Waiter
test/Main.hs view
@@ -2,20 +2,22 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2018 Brendan Hay+-- Copyright   : (c) 2013-2023 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Maintainer  : Brendan Hay -- Stability   : auto-generated -- Portability : non-portable (GHC extensions)--- module Main (main) where +import Test.Amazonka.FMS+import Test.Amazonka.FMS.Internal import Test.Tasty-import Test.AWS.FMS-import Test.AWS.FMS.Internal  main :: IO ()-main = defaultMain $ testGroup "FMS"-    [ testGroup "tests"    tests-    , testGroup "fixtures" fixtures-    ]+main =+  defaultMain $+    testGroup+      "FMS"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
− test/Test/AWS/FMS.hs
@@ -1,20 +0,0 @@--- |--- Module      : Test.AWS.FMS--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.FMS-    ( tests-    , fixtures-    ) where--import Test.Tasty (TestTree)--tests :: [TestTree]-tests = []--fixtures :: [TestTree]-fixtures = []
− test/Test/AWS/FMS/Internal.hs
@@ -1,9 +0,0 @@--- |--- Module      : Test.AWS.FMS.Internal--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.FMS.Internal where
− test/Test/AWS/Gen/FMS.hs
@@ -1,255 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-orphans        #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Test.AWS.Gen.FMS--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.Gen.FMS where--import Data.Proxy-import Network.AWS.FMS-import Test.AWS.Fixture-import Test.AWS.FMS.Internal-import Test.AWS.Prelude-import Test.Tasty---- Auto-generated: the actual test selection needs to be manually placed into--- the top-level so that real test data can be incrementally added.------ This commented snippet is what the entire set should look like:---- fixtures :: TestTree--- fixtures =---     [ testGroup "request"---         [ requestListPolicies $---             listPolicies------         , requestGetComplianceDetail $---             getComplianceDetail------         , requestGetNotificationChannel $---             getNotificationChannel------         , requestGetAdminAccount $---             getAdminAccount------         , requestListComplianceStatus $---             listComplianceStatus------         , requestPutPolicy $---             putPolicy------         , requestDeletePolicy $---             deletePolicy------         , requestDisassociateAdminAccount $---             disassociateAdminAccount------         , requestPutNotificationChannel $---             putNotificationChannel------         , requestDeleteNotificationChannel $---             deleteNotificationChannel------         , requestAssociateAdminAccount $---             associateAdminAccount------         , requestGetPolicy $---             getPolicy------           ]----     , testGroup "response"---         [ responseListPolicies $---             listPoliciesResponse------         , responseGetComplianceDetail $---             getComplianceDetailResponse------         , responseGetNotificationChannel $---             getNotificationChannelResponse------         , responseGetAdminAccount $---             getAdminAccountResponse------         , responseListComplianceStatus $---             listComplianceStatusResponse------         , responsePutPolicy $---             putPolicyResponse------         , responseDeletePolicy $---             deletePolicyResponse------         , responseDisassociateAdminAccount $---             disassociateAdminAccountResponse------         , responsePutNotificationChannel $---             putNotificationChannelResponse------         , responseDeleteNotificationChannel $---             deleteNotificationChannelResponse------         , responseAssociateAdminAccount $---             associateAdminAccountResponse------         , responseGetPolicy $---             getPolicyResponse------           ]---     ]---- Requests--requestListPolicies :: ListPolicies -> TestTree-requestListPolicies = req-    "ListPolicies"-    "fixture/ListPolicies.yaml"--requestGetComplianceDetail :: GetComplianceDetail -> TestTree-requestGetComplianceDetail = req-    "GetComplianceDetail"-    "fixture/GetComplianceDetail.yaml"--requestGetNotificationChannel :: GetNotificationChannel -> TestTree-requestGetNotificationChannel = req-    "GetNotificationChannel"-    "fixture/GetNotificationChannel.yaml"--requestGetAdminAccount :: GetAdminAccount -> TestTree-requestGetAdminAccount = req-    "GetAdminAccount"-    "fixture/GetAdminAccount.yaml"--requestListComplianceStatus :: ListComplianceStatus -> TestTree-requestListComplianceStatus = req-    "ListComplianceStatus"-    "fixture/ListComplianceStatus.yaml"--requestPutPolicy :: PutPolicy -> TestTree-requestPutPolicy = req-    "PutPolicy"-    "fixture/PutPolicy.yaml"--requestDeletePolicy :: DeletePolicy -> TestTree-requestDeletePolicy = req-    "DeletePolicy"-    "fixture/DeletePolicy.yaml"--requestDisassociateAdminAccount :: DisassociateAdminAccount -> TestTree-requestDisassociateAdminAccount = req-    "DisassociateAdminAccount"-    "fixture/DisassociateAdminAccount.yaml"--requestPutNotificationChannel :: PutNotificationChannel -> TestTree-requestPutNotificationChannel = req-    "PutNotificationChannel"-    "fixture/PutNotificationChannel.yaml"--requestDeleteNotificationChannel :: DeleteNotificationChannel -> TestTree-requestDeleteNotificationChannel = req-    "DeleteNotificationChannel"-    "fixture/DeleteNotificationChannel.yaml"--requestAssociateAdminAccount :: AssociateAdminAccount -> TestTree-requestAssociateAdminAccount = req-    "AssociateAdminAccount"-    "fixture/AssociateAdminAccount.yaml"--requestGetPolicy :: GetPolicy -> TestTree-requestGetPolicy = req-    "GetPolicy"-    "fixture/GetPolicy.yaml"---- Responses--responseListPolicies :: ListPoliciesResponse -> TestTree-responseListPolicies = res-    "ListPoliciesResponse"-    "fixture/ListPoliciesResponse.proto"-    fms-    (Proxy :: Proxy ListPolicies)--responseGetComplianceDetail :: GetComplianceDetailResponse -> TestTree-responseGetComplianceDetail = res-    "GetComplianceDetailResponse"-    "fixture/GetComplianceDetailResponse.proto"-    fms-    (Proxy :: Proxy GetComplianceDetail)--responseGetNotificationChannel :: GetNotificationChannelResponse -> TestTree-responseGetNotificationChannel = res-    "GetNotificationChannelResponse"-    "fixture/GetNotificationChannelResponse.proto"-    fms-    (Proxy :: Proxy GetNotificationChannel)--responseGetAdminAccount :: GetAdminAccountResponse -> TestTree-responseGetAdminAccount = res-    "GetAdminAccountResponse"-    "fixture/GetAdminAccountResponse.proto"-    fms-    (Proxy :: Proxy GetAdminAccount)--responseListComplianceStatus :: ListComplianceStatusResponse -> TestTree-responseListComplianceStatus = res-    "ListComplianceStatusResponse"-    "fixture/ListComplianceStatusResponse.proto"-    fms-    (Proxy :: Proxy ListComplianceStatus)--responsePutPolicy :: PutPolicyResponse -> TestTree-responsePutPolicy = res-    "PutPolicyResponse"-    "fixture/PutPolicyResponse.proto"-    fms-    (Proxy :: Proxy PutPolicy)--responseDeletePolicy :: DeletePolicyResponse -> TestTree-responseDeletePolicy = res-    "DeletePolicyResponse"-    "fixture/DeletePolicyResponse.proto"-    fms-    (Proxy :: Proxy DeletePolicy)--responseDisassociateAdminAccount :: DisassociateAdminAccountResponse -> TestTree-responseDisassociateAdminAccount = res-    "DisassociateAdminAccountResponse"-    "fixture/DisassociateAdminAccountResponse.proto"-    fms-    (Proxy :: Proxy DisassociateAdminAccount)--responsePutNotificationChannel :: PutNotificationChannelResponse -> TestTree-responsePutNotificationChannel = res-    "PutNotificationChannelResponse"-    "fixture/PutNotificationChannelResponse.proto"-    fms-    (Proxy :: Proxy PutNotificationChannel)--responseDeleteNotificationChannel :: DeleteNotificationChannelResponse -> TestTree-responseDeleteNotificationChannel = res-    "DeleteNotificationChannelResponse"-    "fixture/DeleteNotificationChannelResponse.proto"-    fms-    (Proxy :: Proxy DeleteNotificationChannel)--responseAssociateAdminAccount :: AssociateAdminAccountResponse -> TestTree-responseAssociateAdminAccount = res-    "AssociateAdminAccountResponse"-    "fixture/AssociateAdminAccountResponse.proto"-    fms-    (Proxy :: Proxy AssociateAdminAccount)--responseGetPolicy :: GetPolicyResponse -> TestTree-responseGetPolicy = res-    "GetPolicyResponse"-    "fixture/GetPolicyResponse.proto"-    fms-    (Proxy :: Proxy GetPolicy)
+ test/Test/Amazonka/FMS.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.FMS+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.FMS+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/FMS/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.FMS.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.FMS.Internal where
+ test/Test/Amazonka/Gen/FMS.hs view
@@ -0,0 +1,798 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.Amazonka.Gen.FMS+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.FMS where++import Amazonka.FMS+import qualified Data.Proxy as Proxy+import Test.Amazonka.FMS.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestAssociateAdminAccount $+--             newAssociateAdminAccount+--+--         , requestAssociateThirdPartyFirewall $+--             newAssociateThirdPartyFirewall+--+--         , requestBatchAssociateResource $+--             newBatchAssociateResource+--+--         , requestBatchDisassociateResource $+--             newBatchDisassociateResource+--+--         , requestDeleteAppsList $+--             newDeleteAppsList+--+--         , requestDeleteNotificationChannel $+--             newDeleteNotificationChannel+--+--         , requestDeletePolicy $+--             newDeletePolicy+--+--         , requestDeleteProtocolsList $+--             newDeleteProtocolsList+--+--         , requestDeleteResourceSet $+--             newDeleteResourceSet+--+--         , requestDisassociateAdminAccount $+--             newDisassociateAdminAccount+--+--         , requestDisassociateThirdPartyFirewall $+--             newDisassociateThirdPartyFirewall+--+--         , requestGetAdminAccount $+--             newGetAdminAccount+--+--         , requestGetAppsList $+--             newGetAppsList+--+--         , requestGetComplianceDetail $+--             newGetComplianceDetail+--+--         , requestGetNotificationChannel $+--             newGetNotificationChannel+--+--         , requestGetPolicy $+--             newGetPolicy+--+--         , requestGetProtectionStatus $+--             newGetProtectionStatus+--+--         , requestGetProtocolsList $+--             newGetProtocolsList+--+--         , requestGetResourceSet $+--             newGetResourceSet+--+--         , requestGetThirdPartyFirewallAssociationStatus $+--             newGetThirdPartyFirewallAssociationStatus+--+--         , requestGetViolationDetails $+--             newGetViolationDetails+--+--         , requestListAppsLists $+--             newListAppsLists+--+--         , requestListComplianceStatus $+--             newListComplianceStatus+--+--         , requestListDiscoveredResources $+--             newListDiscoveredResources+--+--         , requestListMemberAccounts $+--             newListMemberAccounts+--+--         , requestListPolicies $+--             newListPolicies+--+--         , requestListProtocolsLists $+--             newListProtocolsLists+--+--         , requestListResourceSetResources $+--             newListResourceSetResources+--+--         , requestListResourceSets $+--             newListResourceSets+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListThirdPartyFirewallFirewallPolicies $+--             newListThirdPartyFirewallFirewallPolicies+--+--         , requestPutAppsList $+--             newPutAppsList+--+--         , requestPutNotificationChannel $+--             newPutNotificationChannel+--+--         , requestPutPolicy $+--             newPutPolicy+--+--         , requestPutProtocolsList $+--             newPutProtocolsList+--+--         , requestPutResourceSet $+--             newPutResourceSet+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--           ]++--     , testGroup "response"+--         [ responseAssociateAdminAccount $+--             newAssociateAdminAccountResponse+--+--         , responseAssociateThirdPartyFirewall $+--             newAssociateThirdPartyFirewallResponse+--+--         , responseBatchAssociateResource $+--             newBatchAssociateResourceResponse+--+--         , responseBatchDisassociateResource $+--             newBatchDisassociateResourceResponse+--+--         , responseDeleteAppsList $+--             newDeleteAppsListResponse+--+--         , responseDeleteNotificationChannel $+--             newDeleteNotificationChannelResponse+--+--         , responseDeletePolicy $+--             newDeletePolicyResponse+--+--         , responseDeleteProtocolsList $+--             newDeleteProtocolsListResponse+--+--         , responseDeleteResourceSet $+--             newDeleteResourceSetResponse+--+--         , responseDisassociateAdminAccount $+--             newDisassociateAdminAccountResponse+--+--         , responseDisassociateThirdPartyFirewall $+--             newDisassociateThirdPartyFirewallResponse+--+--         , responseGetAdminAccount $+--             newGetAdminAccountResponse+--+--         , responseGetAppsList $+--             newGetAppsListResponse+--+--         , responseGetComplianceDetail $+--             newGetComplianceDetailResponse+--+--         , responseGetNotificationChannel $+--             newGetNotificationChannelResponse+--+--         , responseGetPolicy $+--             newGetPolicyResponse+--+--         , responseGetProtectionStatus $+--             newGetProtectionStatusResponse+--+--         , responseGetProtocolsList $+--             newGetProtocolsListResponse+--+--         , responseGetResourceSet $+--             newGetResourceSetResponse+--+--         , responseGetThirdPartyFirewallAssociationStatus $+--             newGetThirdPartyFirewallAssociationStatusResponse+--+--         , responseGetViolationDetails $+--             newGetViolationDetailsResponse+--+--         , responseListAppsLists $+--             newListAppsListsResponse+--+--         , responseListComplianceStatus $+--             newListComplianceStatusResponse+--+--         , responseListDiscoveredResources $+--             newListDiscoveredResourcesResponse+--+--         , responseListMemberAccounts $+--             newListMemberAccountsResponse+--+--         , responseListPolicies $+--             newListPoliciesResponse+--+--         , responseListProtocolsLists $+--             newListProtocolsListsResponse+--+--         , responseListResourceSetResources $+--             newListResourceSetResourcesResponse+--+--         , responseListResourceSets $+--             newListResourceSetsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListThirdPartyFirewallFirewallPolicies $+--             newListThirdPartyFirewallFirewallPoliciesResponse+--+--         , responsePutAppsList $+--             newPutAppsListResponse+--+--         , responsePutNotificationChannel $+--             newPutNotificationChannelResponse+--+--         , responsePutPolicy $+--             newPutPolicyResponse+--+--         , responsePutProtocolsList $+--             newPutProtocolsListResponse+--+--         , responsePutResourceSet $+--             newPutResourceSetResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--           ]+--     ]++-- Requests++requestAssociateAdminAccount :: AssociateAdminAccount -> TestTree+requestAssociateAdminAccount =+  req+    "AssociateAdminAccount"+    "fixture/AssociateAdminAccount.yaml"++requestAssociateThirdPartyFirewall :: AssociateThirdPartyFirewall -> TestTree+requestAssociateThirdPartyFirewall =+  req+    "AssociateThirdPartyFirewall"+    "fixture/AssociateThirdPartyFirewall.yaml"++requestBatchAssociateResource :: BatchAssociateResource -> TestTree+requestBatchAssociateResource =+  req+    "BatchAssociateResource"+    "fixture/BatchAssociateResource.yaml"++requestBatchDisassociateResource :: BatchDisassociateResource -> TestTree+requestBatchDisassociateResource =+  req+    "BatchDisassociateResource"+    "fixture/BatchDisassociateResource.yaml"++requestDeleteAppsList :: DeleteAppsList -> TestTree+requestDeleteAppsList =+  req+    "DeleteAppsList"+    "fixture/DeleteAppsList.yaml"++requestDeleteNotificationChannel :: DeleteNotificationChannel -> TestTree+requestDeleteNotificationChannel =+  req+    "DeleteNotificationChannel"+    "fixture/DeleteNotificationChannel.yaml"++requestDeletePolicy :: DeletePolicy -> TestTree+requestDeletePolicy =+  req+    "DeletePolicy"+    "fixture/DeletePolicy.yaml"++requestDeleteProtocolsList :: DeleteProtocolsList -> TestTree+requestDeleteProtocolsList =+  req+    "DeleteProtocolsList"+    "fixture/DeleteProtocolsList.yaml"++requestDeleteResourceSet :: DeleteResourceSet -> TestTree+requestDeleteResourceSet =+  req+    "DeleteResourceSet"+    "fixture/DeleteResourceSet.yaml"++requestDisassociateAdminAccount :: DisassociateAdminAccount -> TestTree+requestDisassociateAdminAccount =+  req+    "DisassociateAdminAccount"+    "fixture/DisassociateAdminAccount.yaml"++requestDisassociateThirdPartyFirewall :: DisassociateThirdPartyFirewall -> TestTree+requestDisassociateThirdPartyFirewall =+  req+    "DisassociateThirdPartyFirewall"+    "fixture/DisassociateThirdPartyFirewall.yaml"++requestGetAdminAccount :: GetAdminAccount -> TestTree+requestGetAdminAccount =+  req+    "GetAdminAccount"+    "fixture/GetAdminAccount.yaml"++requestGetAppsList :: GetAppsList -> TestTree+requestGetAppsList =+  req+    "GetAppsList"+    "fixture/GetAppsList.yaml"++requestGetComplianceDetail :: GetComplianceDetail -> TestTree+requestGetComplianceDetail =+  req+    "GetComplianceDetail"+    "fixture/GetComplianceDetail.yaml"++requestGetNotificationChannel :: GetNotificationChannel -> TestTree+requestGetNotificationChannel =+  req+    "GetNotificationChannel"+    "fixture/GetNotificationChannel.yaml"++requestGetPolicy :: GetPolicy -> TestTree+requestGetPolicy =+  req+    "GetPolicy"+    "fixture/GetPolicy.yaml"++requestGetProtectionStatus :: GetProtectionStatus -> TestTree+requestGetProtectionStatus =+  req+    "GetProtectionStatus"+    "fixture/GetProtectionStatus.yaml"++requestGetProtocolsList :: GetProtocolsList -> TestTree+requestGetProtocolsList =+  req+    "GetProtocolsList"+    "fixture/GetProtocolsList.yaml"++requestGetResourceSet :: GetResourceSet -> TestTree+requestGetResourceSet =+  req+    "GetResourceSet"+    "fixture/GetResourceSet.yaml"++requestGetThirdPartyFirewallAssociationStatus :: GetThirdPartyFirewallAssociationStatus -> TestTree+requestGetThirdPartyFirewallAssociationStatus =+  req+    "GetThirdPartyFirewallAssociationStatus"+    "fixture/GetThirdPartyFirewallAssociationStatus.yaml"++requestGetViolationDetails :: GetViolationDetails -> TestTree+requestGetViolationDetails =+  req+    "GetViolationDetails"+    "fixture/GetViolationDetails.yaml"++requestListAppsLists :: ListAppsLists -> TestTree+requestListAppsLists =+  req+    "ListAppsLists"+    "fixture/ListAppsLists.yaml"++requestListComplianceStatus :: ListComplianceStatus -> TestTree+requestListComplianceStatus =+  req+    "ListComplianceStatus"+    "fixture/ListComplianceStatus.yaml"++requestListDiscoveredResources :: ListDiscoveredResources -> TestTree+requestListDiscoveredResources =+  req+    "ListDiscoveredResources"+    "fixture/ListDiscoveredResources.yaml"++requestListMemberAccounts :: ListMemberAccounts -> TestTree+requestListMemberAccounts =+  req+    "ListMemberAccounts"+    "fixture/ListMemberAccounts.yaml"++requestListPolicies :: ListPolicies -> TestTree+requestListPolicies =+  req+    "ListPolicies"+    "fixture/ListPolicies.yaml"++requestListProtocolsLists :: ListProtocolsLists -> TestTree+requestListProtocolsLists =+  req+    "ListProtocolsLists"+    "fixture/ListProtocolsLists.yaml"++requestListResourceSetResources :: ListResourceSetResources -> TestTree+requestListResourceSetResources =+  req+    "ListResourceSetResources"+    "fixture/ListResourceSetResources.yaml"++requestListResourceSets :: ListResourceSets -> TestTree+requestListResourceSets =+  req+    "ListResourceSets"+    "fixture/ListResourceSets.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListThirdPartyFirewallFirewallPolicies :: ListThirdPartyFirewallFirewallPolicies -> TestTree+requestListThirdPartyFirewallFirewallPolicies =+  req+    "ListThirdPartyFirewallFirewallPolicies"+    "fixture/ListThirdPartyFirewallFirewallPolicies.yaml"++requestPutAppsList :: PutAppsList -> TestTree+requestPutAppsList =+  req+    "PutAppsList"+    "fixture/PutAppsList.yaml"++requestPutNotificationChannel :: PutNotificationChannel -> TestTree+requestPutNotificationChannel =+  req+    "PutNotificationChannel"+    "fixture/PutNotificationChannel.yaml"++requestPutPolicy :: PutPolicy -> TestTree+requestPutPolicy =+  req+    "PutPolicy"+    "fixture/PutPolicy.yaml"++requestPutProtocolsList :: PutProtocolsList -> TestTree+requestPutProtocolsList =+  req+    "PutProtocolsList"+    "fixture/PutProtocolsList.yaml"++requestPutResourceSet :: PutResourceSet -> TestTree+requestPutResourceSet =+  req+    "PutResourceSet"+    "fixture/PutResourceSet.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++-- Responses++responseAssociateAdminAccount :: AssociateAdminAccountResponse -> TestTree+responseAssociateAdminAccount =+  res+    "AssociateAdminAccountResponse"+    "fixture/AssociateAdminAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateAdminAccount)++responseAssociateThirdPartyFirewall :: AssociateThirdPartyFirewallResponse -> TestTree+responseAssociateThirdPartyFirewall =+  res+    "AssociateThirdPartyFirewallResponse"+    "fixture/AssociateThirdPartyFirewallResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateThirdPartyFirewall)++responseBatchAssociateResource :: BatchAssociateResourceResponse -> TestTree+responseBatchAssociateResource =+  res+    "BatchAssociateResourceResponse"+    "fixture/BatchAssociateResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchAssociateResource)++responseBatchDisassociateResource :: BatchDisassociateResourceResponse -> TestTree+responseBatchDisassociateResource =+  res+    "BatchDisassociateResourceResponse"+    "fixture/BatchDisassociateResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy BatchDisassociateResource)++responseDeleteAppsList :: DeleteAppsListResponse -> TestTree+responseDeleteAppsList =+  res+    "DeleteAppsListResponse"+    "fixture/DeleteAppsListResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppsList)++responseDeleteNotificationChannel :: DeleteNotificationChannelResponse -> TestTree+responseDeleteNotificationChannel =+  res+    "DeleteNotificationChannelResponse"+    "fixture/DeleteNotificationChannelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteNotificationChannel)++responseDeletePolicy :: DeletePolicyResponse -> TestTree+responseDeletePolicy =+  res+    "DeletePolicyResponse"+    "fixture/DeletePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePolicy)++responseDeleteProtocolsList :: DeleteProtocolsListResponse -> TestTree+responseDeleteProtocolsList =+  res+    "DeleteProtocolsListResponse"+    "fixture/DeleteProtocolsListResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteProtocolsList)++responseDeleteResourceSet :: DeleteResourceSetResponse -> TestTree+responseDeleteResourceSet =+  res+    "DeleteResourceSetResponse"+    "fixture/DeleteResourceSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteResourceSet)++responseDisassociateAdminAccount :: DisassociateAdminAccountResponse -> TestTree+responseDisassociateAdminAccount =+  res+    "DisassociateAdminAccountResponse"+    "fixture/DisassociateAdminAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateAdminAccount)++responseDisassociateThirdPartyFirewall :: DisassociateThirdPartyFirewallResponse -> TestTree+responseDisassociateThirdPartyFirewall =+  res+    "DisassociateThirdPartyFirewallResponse"+    "fixture/DisassociateThirdPartyFirewallResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateThirdPartyFirewall)++responseGetAdminAccount :: GetAdminAccountResponse -> TestTree+responseGetAdminAccount =+  res+    "GetAdminAccountResponse"+    "fixture/GetAdminAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAdminAccount)++responseGetAppsList :: GetAppsListResponse -> TestTree+responseGetAppsList =+  res+    "GetAppsListResponse"+    "fixture/GetAppsListResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAppsList)++responseGetComplianceDetail :: GetComplianceDetailResponse -> TestTree+responseGetComplianceDetail =+  res+    "GetComplianceDetailResponse"+    "fixture/GetComplianceDetailResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetComplianceDetail)++responseGetNotificationChannel :: GetNotificationChannelResponse -> TestTree+responseGetNotificationChannel =+  res+    "GetNotificationChannelResponse"+    "fixture/GetNotificationChannelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNotificationChannel)++responseGetPolicy :: GetPolicyResponse -> TestTree+responseGetPolicy =+  res+    "GetPolicyResponse"+    "fixture/GetPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPolicy)++responseGetProtectionStatus :: GetProtectionStatusResponse -> TestTree+responseGetProtectionStatus =+  res+    "GetProtectionStatusResponse"+    "fixture/GetProtectionStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetProtectionStatus)++responseGetProtocolsList :: GetProtocolsListResponse -> TestTree+responseGetProtocolsList =+  res+    "GetProtocolsListResponse"+    "fixture/GetProtocolsListResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetProtocolsList)++responseGetResourceSet :: GetResourceSetResponse -> TestTree+responseGetResourceSet =+  res+    "GetResourceSetResponse"+    "fixture/GetResourceSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourceSet)++responseGetThirdPartyFirewallAssociationStatus :: GetThirdPartyFirewallAssociationStatusResponse -> TestTree+responseGetThirdPartyFirewallAssociationStatus =+  res+    "GetThirdPartyFirewallAssociationStatusResponse"+    "fixture/GetThirdPartyFirewallAssociationStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetThirdPartyFirewallAssociationStatus)++responseGetViolationDetails :: GetViolationDetailsResponse -> TestTree+responseGetViolationDetails =+  res+    "GetViolationDetailsResponse"+    "fixture/GetViolationDetailsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetViolationDetails)++responseListAppsLists :: ListAppsListsResponse -> TestTree+responseListAppsLists =+  res+    "ListAppsListsResponse"+    "fixture/ListAppsListsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppsLists)++responseListComplianceStatus :: ListComplianceStatusResponse -> TestTree+responseListComplianceStatus =+  res+    "ListComplianceStatusResponse"+    "fixture/ListComplianceStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListComplianceStatus)++responseListDiscoveredResources :: ListDiscoveredResourcesResponse -> TestTree+responseListDiscoveredResources =+  res+    "ListDiscoveredResourcesResponse"+    "fixture/ListDiscoveredResourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDiscoveredResources)++responseListMemberAccounts :: ListMemberAccountsResponse -> TestTree+responseListMemberAccounts =+  res+    "ListMemberAccountsResponse"+    "fixture/ListMemberAccountsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMemberAccounts)++responseListPolicies :: ListPoliciesResponse -> TestTree+responseListPolicies =+  res+    "ListPoliciesResponse"+    "fixture/ListPoliciesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPolicies)++responseListProtocolsLists :: ListProtocolsListsResponse -> TestTree+responseListProtocolsLists =+  res+    "ListProtocolsListsResponse"+    "fixture/ListProtocolsListsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListProtocolsLists)++responseListResourceSetResources :: ListResourceSetResourcesResponse -> TestTree+responseListResourceSetResources =+  res+    "ListResourceSetResourcesResponse"+    "fixture/ListResourceSetResourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListResourceSetResources)++responseListResourceSets :: ListResourceSetsResponse -> TestTree+responseListResourceSets =+  res+    "ListResourceSetsResponse"+    "fixture/ListResourceSetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListResourceSets)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListThirdPartyFirewallFirewallPolicies :: ListThirdPartyFirewallFirewallPoliciesResponse -> TestTree+responseListThirdPartyFirewallFirewallPolicies =+  res+    "ListThirdPartyFirewallFirewallPoliciesResponse"+    "fixture/ListThirdPartyFirewallFirewallPoliciesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListThirdPartyFirewallFirewallPolicies)++responsePutAppsList :: PutAppsListResponse -> TestTree+responsePutAppsList =+  res+    "PutAppsListResponse"+    "fixture/PutAppsListResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutAppsList)++responsePutNotificationChannel :: PutNotificationChannelResponse -> TestTree+responsePutNotificationChannel =+  res+    "PutNotificationChannelResponse"+    "fixture/PutNotificationChannelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutNotificationChannel)++responsePutPolicy :: PutPolicyResponse -> TestTree+responsePutPolicy =+  res+    "PutPolicyResponse"+    "fixture/PutPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutPolicy)++responsePutProtocolsList :: PutProtocolsListResponse -> TestTree+responsePutProtocolsList =+  res+    "PutProtocolsListResponse"+    "fixture/PutProtocolsListResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutProtocolsList)++responsePutResourceSet :: PutResourceSetResponse -> TestTree+responsePutResourceSet =+  res+    "PutResourceSetResponse"+    "fixture/PutResourceSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutResourceSet)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)