stratosphere-0.1.0: library-gen/Stratosphere/ResourceProperties/EC2SsmAssociations.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
-- | SsmAssociations is a property of the AWS::EC2::Instance resource that
-- specifies the Amazon EC2 Simple Systems Manager (SSM) document and
-- parameter values to associate with an instance.
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
-- | Full data type definition for EC2SsmAssociations. See
-- 'ec2SsmAssociations' for a more convenient constructor.
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 }
-- | Constructor for 'EC2SsmAssociations' containing required fields as
-- arguments.
ec2SsmAssociations
:: Val Text -- ^ 'ecsaDocumentName'
-> EC2SsmAssociations
ec2SsmAssociations documentNamearg =
EC2SsmAssociations
{ _eC2SsmAssociationsAssociationParameters = Nothing
, _eC2SsmAssociationsDocumentName = documentNamearg
}
-- | The input parameter values to use with the associated SSM document.
ecsaAssociationParameters :: Lens' EC2SsmAssociations (Maybe [EC2SsmAssociationParameters])
ecsaAssociationParameters = lens _eC2SsmAssociationsAssociationParameters (\s a -> s { _eC2SsmAssociationsAssociationParameters = a })
-- | The name of an SSM document to associate with the instance.
ecsaDocumentName :: Lens' EC2SsmAssociations (Val Text)
ecsaDocumentName = lens _eC2SsmAssociationsDocumentName (\s a -> s { _eC2SsmAssociationsDocumentName = a })