stratosphere-0.47.0: library-gen/Stratosphere/ResourceProperties/AccessAnalyzerAnalyzerArchiveRule.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html
module Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerArchiveRule where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.AccessAnalyzerAnalyzerFilter
-- | Full data type definition for AccessAnalyzerAnalyzerArchiveRule. See
-- 'accessAnalyzerAnalyzerArchiveRule' for a more convenient constructor.
data AccessAnalyzerAnalyzerArchiveRule =
AccessAnalyzerAnalyzerArchiveRule
{ _accessAnalyzerAnalyzerArchiveRuleFilter :: [AccessAnalyzerAnalyzerFilter]
, _accessAnalyzerAnalyzerArchiveRuleRuleName :: Val Text
} deriving (Show, Eq)
instance ToJSON AccessAnalyzerAnalyzerArchiveRule where
toJSON AccessAnalyzerAnalyzerArchiveRule{..} =
object $
catMaybes
[ (Just . ("Filter",) . toJSON) _accessAnalyzerAnalyzerArchiveRuleFilter
, (Just . ("RuleName",) . toJSON) _accessAnalyzerAnalyzerArchiveRuleRuleName
]
-- | Constructor for 'AccessAnalyzerAnalyzerArchiveRule' containing required
-- fields as arguments.
accessAnalyzerAnalyzerArchiveRule
:: [AccessAnalyzerAnalyzerFilter] -- ^ 'aaaarFilter'
-> Val Text -- ^ 'aaaarRuleName'
-> AccessAnalyzerAnalyzerArchiveRule
accessAnalyzerAnalyzerArchiveRule filterarg ruleNamearg =
AccessAnalyzerAnalyzerArchiveRule
{ _accessAnalyzerAnalyzerArchiveRuleFilter = filterarg
, _accessAnalyzerAnalyzerArchiveRuleRuleName = ruleNamearg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-filter
aaaarFilter :: Lens' AccessAnalyzerAnalyzerArchiveRule [AccessAnalyzerAnalyzerFilter]
aaaarFilter = lens _accessAnalyzerAnalyzerArchiveRuleFilter (\s a -> s { _accessAnalyzerAnalyzerArchiveRuleFilter = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-rulename
aaaarRuleName :: Lens' AccessAnalyzerAnalyzerArchiveRule (Val Text)
aaaarRuleName = lens _accessAnalyzerAnalyzerArchiveRuleRuleName (\s a -> s { _accessAnalyzerAnalyzerArchiveRuleRuleName = a })