stratosphere-0.34.0: library-gen/Stratosphere/ResourceProperties/GreengrassSubscriptionDefinitionVersionSubscription.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html
module Stratosphere.ResourceProperties.GreengrassSubscriptionDefinitionVersionSubscription where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- GreengrassSubscriptionDefinitionVersionSubscription. See
-- 'greengrassSubscriptionDefinitionVersionSubscription' for a more
-- convenient constructor.
data GreengrassSubscriptionDefinitionVersionSubscription =
GreengrassSubscriptionDefinitionVersionSubscription
{ _greengrassSubscriptionDefinitionVersionSubscriptionId :: Val Text
, _greengrassSubscriptionDefinitionVersionSubscriptionSource :: Val Text
, _greengrassSubscriptionDefinitionVersionSubscriptionSubject :: Val Text
, _greengrassSubscriptionDefinitionVersionSubscriptionTarget :: Val Text
} deriving (Show, Eq)
instance ToJSON GreengrassSubscriptionDefinitionVersionSubscription where
toJSON GreengrassSubscriptionDefinitionVersionSubscription{..} =
object $
catMaybes
[ (Just . ("Id",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionId
, (Just . ("Source",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionSource
, (Just . ("Subject",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionSubject
, (Just . ("Target",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionTarget
]
-- | Constructor for 'GreengrassSubscriptionDefinitionVersionSubscription'
-- containing required fields as arguments.
greengrassSubscriptionDefinitionVersionSubscription
:: Val Text -- ^ 'gsdvsId'
-> Val Text -- ^ 'gsdvsSource'
-> Val Text -- ^ 'gsdvsSubject'
-> Val Text -- ^ 'gsdvsTarget'
-> GreengrassSubscriptionDefinitionVersionSubscription
greengrassSubscriptionDefinitionVersionSubscription idarg sourcearg subjectarg targetarg =
GreengrassSubscriptionDefinitionVersionSubscription
{ _greengrassSubscriptionDefinitionVersionSubscriptionId = idarg
, _greengrassSubscriptionDefinitionVersionSubscriptionSource = sourcearg
, _greengrassSubscriptionDefinitionVersionSubscriptionSubject = subjectarg
, _greengrassSubscriptionDefinitionVersionSubscriptionTarget = targetarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-id
gsdvsId :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
gsdvsId = lens _greengrassSubscriptionDefinitionVersionSubscriptionId (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-source
gsdvsSource :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
gsdvsSource = lens _greengrassSubscriptionDefinitionVersionSubscriptionSource (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionSource = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-subject
gsdvsSubject :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
gsdvsSubject = lens _greengrassSubscriptionDefinitionVersionSubscriptionSubject (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionSubject = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-target
gsdvsTarget :: Lens' GreengrassSubscriptionDefinitionVersionSubscription (Val Text)
gsdvsTarget = lens _greengrassSubscriptionDefinitionVersionSubscriptionTarget (\s a -> s { _greengrassSubscriptionDefinitionVersionSubscriptionTarget = a })