stratosphere-0.29.0: library-gen/Stratosphere/Resources/AmazonMQConfigurationAssociation.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html
module Stratosphere.Resources.AmazonMQConfigurationAssociation where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.AmazonMQConfigurationAssociationConfigurationId
-- | Full data type definition for AmazonMQConfigurationAssociation. See
-- 'amazonMQConfigurationAssociation' for a more convenient constructor.
data AmazonMQConfigurationAssociation =
AmazonMQConfigurationAssociation
{ _amazonMQConfigurationAssociationBroker :: Val Text
, _amazonMQConfigurationAssociationConfiguration :: AmazonMQConfigurationAssociationConfigurationId
} deriving (Show, Eq)
instance ToJSON AmazonMQConfigurationAssociation where
toJSON AmazonMQConfigurationAssociation{..} =
object $
catMaybes
[ (Just . ("Broker",) . toJSON) _amazonMQConfigurationAssociationBroker
, (Just . ("Configuration",) . toJSON) _amazonMQConfigurationAssociationConfiguration
]
instance FromJSON AmazonMQConfigurationAssociation where
parseJSON (Object obj) =
AmazonMQConfigurationAssociation <$>
(obj .: "Broker") <*>
(obj .: "Configuration")
parseJSON _ = mempty
-- | Constructor for 'AmazonMQConfigurationAssociation' containing required
-- fields as arguments.
amazonMQConfigurationAssociation
:: Val Text -- ^ 'amqcaBroker'
-> AmazonMQConfigurationAssociationConfigurationId -- ^ 'amqcaConfiguration'
-> AmazonMQConfigurationAssociation
amazonMQConfigurationAssociation brokerarg configurationarg =
AmazonMQConfigurationAssociation
{ _amazonMQConfigurationAssociationBroker = brokerarg
, _amazonMQConfigurationAssociationConfiguration = configurationarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html#cfn-amazonmq-configurationassociation-broker
amqcaBroker :: Lens' AmazonMQConfigurationAssociation (Val Text)
amqcaBroker = lens _amazonMQConfigurationAssociationBroker (\s a -> s { _amazonMQConfigurationAssociationBroker = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html#cfn-amazonmq-configurationassociation-configuration
amqcaConfiguration :: Lens' AmazonMQConfigurationAssociation AmazonMQConfigurationAssociationConfigurationId
amqcaConfiguration = lens _amazonMQConfigurationAssociationConfiguration (\s a -> s { _amazonMQConfigurationAssociationConfiguration = a })