stratosphere-0.56.0: library-gen/Stratosphere/ResourceProperties/AmazonMQBrokerLdapMetadata.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html
module Stratosphere.ResourceProperties.AmazonMQBrokerLdapMetadata where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.AmazonMQBrokerInterBrokerCred
import Stratosphere.ResourceProperties.AmazonMQBrokerServerMetadata
-- | Full data type definition for AmazonMQBrokerLdapMetadata. See
-- 'amazonMQBrokerLdapMetadata' for a more convenient constructor.
data AmazonMQBrokerLdapMetadata =
AmazonMQBrokerLdapMetadata
{ _amazonMQBrokerLdapMetadataInterBrokerCreds :: Maybe [AmazonMQBrokerInterBrokerCred]
, _amazonMQBrokerLdapMetadataServerMetadata :: AmazonMQBrokerServerMetadata
} deriving (Show, Eq)
instance ToJSON AmazonMQBrokerLdapMetadata where
toJSON AmazonMQBrokerLdapMetadata{..} =
object $
catMaybes
[ fmap (("InterBrokerCreds",) . toJSON) _amazonMQBrokerLdapMetadataInterBrokerCreds
, (Just . ("ServerMetadata",) . toJSON) _amazonMQBrokerLdapMetadataServerMetadata
]
-- | Constructor for 'AmazonMQBrokerLdapMetadata' containing required fields
-- as arguments.
amazonMQBrokerLdapMetadata
:: AmazonMQBrokerServerMetadata -- ^ 'amqblmServerMetadata'
-> AmazonMQBrokerLdapMetadata
amazonMQBrokerLdapMetadata serverMetadataarg =
AmazonMQBrokerLdapMetadata
{ _amazonMQBrokerLdapMetadataInterBrokerCreds = Nothing
, _amazonMQBrokerLdapMetadataServerMetadata = serverMetadataarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html#cfn-amazonmq-broker-ldapmetadata-interbrokercreds
amqblmInterBrokerCreds :: Lens' AmazonMQBrokerLdapMetadata (Maybe [AmazonMQBrokerInterBrokerCred])
amqblmInterBrokerCreds = lens _amazonMQBrokerLdapMetadataInterBrokerCreds (\s a -> s { _amazonMQBrokerLdapMetadataInterBrokerCreds = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html#cfn-amazonmq-broker-ldapmetadata-servermetadata
amqblmServerMetadata :: Lens' AmazonMQBrokerLdapMetadata AmazonMQBrokerServerMetadata
amqblmServerMetadata = lens _amazonMQBrokerLdapMetadataServerMetadata (\s a -> s { _amazonMQBrokerLdapMetadataServerMetadata = a })