{-# 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 })