stratosphere-0.34.0: library-gen/Stratosphere/ResourceProperties/GreengrassCoreDefinitionVersionCore.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html
module Stratosphere.ResourceProperties.GreengrassCoreDefinitionVersionCore where
import Stratosphere.ResourceImports
-- | Full data type definition for GreengrassCoreDefinitionVersionCore. See
-- 'greengrassCoreDefinitionVersionCore' for a more convenient constructor.
data GreengrassCoreDefinitionVersionCore =
GreengrassCoreDefinitionVersionCore
{ _greengrassCoreDefinitionVersionCoreCertificateArn :: Val Text
, _greengrassCoreDefinitionVersionCoreId :: Val Text
, _greengrassCoreDefinitionVersionCoreSyncShadow :: Maybe (Val Bool)
, _greengrassCoreDefinitionVersionCoreThingArn :: Val Text
} deriving (Show, Eq)
instance ToJSON GreengrassCoreDefinitionVersionCore where
toJSON GreengrassCoreDefinitionVersionCore{..} =
object $
catMaybes
[ (Just . ("CertificateArn",) . toJSON) _greengrassCoreDefinitionVersionCoreCertificateArn
, (Just . ("Id",) . toJSON) _greengrassCoreDefinitionVersionCoreId
, fmap (("SyncShadow",) . toJSON) _greengrassCoreDefinitionVersionCoreSyncShadow
, (Just . ("ThingArn",) . toJSON) _greengrassCoreDefinitionVersionCoreThingArn
]
-- | Constructor for 'GreengrassCoreDefinitionVersionCore' containing required
-- fields as arguments.
greengrassCoreDefinitionVersionCore
:: Val Text -- ^ 'gcdvcrCertificateArn'
-> Val Text -- ^ 'gcdvcrId'
-> Val Text -- ^ 'gcdvcrThingArn'
-> GreengrassCoreDefinitionVersionCore
greengrassCoreDefinitionVersionCore certificateArnarg idarg thingArnarg =
GreengrassCoreDefinitionVersionCore
{ _greengrassCoreDefinitionVersionCoreCertificateArn = certificateArnarg
, _greengrassCoreDefinitionVersionCoreId = idarg
, _greengrassCoreDefinitionVersionCoreSyncShadow = Nothing
, _greengrassCoreDefinitionVersionCoreThingArn = thingArnarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-certificatearn
gcdvcrCertificateArn :: Lens' GreengrassCoreDefinitionVersionCore (Val Text)
gcdvcrCertificateArn = lens _greengrassCoreDefinitionVersionCoreCertificateArn (\s a -> s { _greengrassCoreDefinitionVersionCoreCertificateArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-id
gcdvcrId :: Lens' GreengrassCoreDefinitionVersionCore (Val Text)
gcdvcrId = lens _greengrassCoreDefinitionVersionCoreId (\s a -> s { _greengrassCoreDefinitionVersionCoreId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-syncshadow
gcdvcrSyncShadow :: Lens' GreengrassCoreDefinitionVersionCore (Maybe (Val Bool))
gcdvcrSyncShadow = lens _greengrassCoreDefinitionVersionCoreSyncShadow (\s a -> s { _greengrassCoreDefinitionVersionCoreSyncShadow = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-thingarn
gcdvcrThingArn :: Lens' GreengrassCoreDefinitionVersionCore (Val Text)
gcdvcrThingArn = lens _greengrassCoreDefinitionVersionCoreThingArn (\s a -> s { _greengrassCoreDefinitionVersionCoreThingArn = a })