stratosphere-0.34.0: library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html
module Stratosphere.Resources.GreengrassCoreDefinitionVersion where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.GreengrassCoreDefinitionVersionCore
-- | Full data type definition for GreengrassCoreDefinitionVersion. See
-- 'greengrassCoreDefinitionVersion' for a more convenient constructor.
data GreengrassCoreDefinitionVersion =
GreengrassCoreDefinitionVersion
{ _greengrassCoreDefinitionVersionCoreDefinitionId :: Val Text
, _greengrassCoreDefinitionVersionCores :: [GreengrassCoreDefinitionVersionCore]
} deriving (Show, Eq)
instance ToResourceProperties GreengrassCoreDefinitionVersion where
toResourceProperties GreengrassCoreDefinitionVersion{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::Greengrass::CoreDefinitionVersion"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ (Just . ("CoreDefinitionId",) . toJSON) _greengrassCoreDefinitionVersionCoreDefinitionId
, (Just . ("Cores",) . toJSON) _greengrassCoreDefinitionVersionCores
]
}
-- | Constructor for 'GreengrassCoreDefinitionVersion' containing required
-- fields as arguments.
greengrassCoreDefinitionVersion
:: Val Text -- ^ 'gcdvCoreDefinitionId'
-> [GreengrassCoreDefinitionVersionCore] -- ^ 'gcdvCores'
-> GreengrassCoreDefinitionVersion
greengrassCoreDefinitionVersion coreDefinitionIdarg coresarg =
GreengrassCoreDefinitionVersion
{ _greengrassCoreDefinitionVersionCoreDefinitionId = coreDefinitionIdarg
, _greengrassCoreDefinitionVersionCores = coresarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-coredefinitionid
gcdvCoreDefinitionId :: Lens' GreengrassCoreDefinitionVersion (Val Text)
gcdvCoreDefinitionId = lens _greengrassCoreDefinitionVersionCoreDefinitionId (\s a -> s { _greengrassCoreDefinitionVersionCoreDefinitionId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-cores
gcdvCores :: Lens' GreengrassCoreDefinitionVersion [GreengrassCoreDefinitionVersionCore]
gcdvCores = lens _greengrassCoreDefinitionVersionCores (\s a -> s { _greengrassCoreDefinitionVersionCores = a })