module Stratosphere.ResourceProperties.EC2SsmAssociations where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
import Stratosphere.ResourceProperties.EC2SsmAssociationParameters
data EC2SsmAssociations =
EC2SsmAssociations
{ _eC2SsmAssociationsAssociationParameters :: Maybe [EC2SsmAssociationParameters]
, _eC2SsmAssociationsDocumentName :: Val Text
} deriving (Show, Generic)
instance ToJSON EC2SsmAssociations where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
instance FromJSON EC2SsmAssociations where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 19, omitNothingFields = True }
ec2SsmAssociations
:: Val Text
-> EC2SsmAssociations
ec2SsmAssociations documentNamearg =
EC2SsmAssociations
{ _eC2SsmAssociationsAssociationParameters = Nothing
, _eC2SsmAssociationsDocumentName = documentNamearg
}
ecsaAssociationParameters :: Lens' EC2SsmAssociations (Maybe [EC2SsmAssociationParameters])
ecsaAssociationParameters = lens _eC2SsmAssociationsAssociationParameters (\s a -> s { _eC2SsmAssociationsAssociationParameters = a })
ecsaDocumentName :: Lens' EC2SsmAssociations (Val Text)
ecsaDocumentName = lens _eC2SsmAssociationsDocumentName (\s a -> s { _eC2SsmAssociationsDocumentName = a })