stratosphere-0.54.0: library-gen/Stratosphere/Resources/IoTProvisioningTemplate.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html
module Stratosphere.Resources.IoTProvisioningTemplate where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.IoTProvisioningTemplateProvisioningHook
-- | Full data type definition for IoTProvisioningTemplate. See
-- 'ioTProvisioningTemplate' for a more convenient constructor.
data IoTProvisioningTemplate =
IoTProvisioningTemplate
{ _ioTProvisioningTemplateDescription :: Maybe (Val Text)
, _ioTProvisioningTemplateEnabled :: Maybe (Val Bool)
, _ioTProvisioningTemplatePreProvisioningHook :: Maybe IoTProvisioningTemplateProvisioningHook
, _ioTProvisioningTemplateProvisioningRoleArn :: Val Text
, _ioTProvisioningTemplateTags :: Maybe [Object]
, _ioTProvisioningTemplateTemplateBody :: Val Text
, _ioTProvisioningTemplateTemplateName :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToResourceProperties IoTProvisioningTemplate where
toResourceProperties IoTProvisioningTemplate{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::IoT::ProvisioningTemplate"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ fmap (("Description",) . toJSON) _ioTProvisioningTemplateDescription
, fmap (("Enabled",) . toJSON) _ioTProvisioningTemplateEnabled
, fmap (("PreProvisioningHook",) . toJSON) _ioTProvisioningTemplatePreProvisioningHook
, (Just . ("ProvisioningRoleArn",) . toJSON) _ioTProvisioningTemplateProvisioningRoleArn
, fmap (("Tags",) . toJSON) _ioTProvisioningTemplateTags
, (Just . ("TemplateBody",) . toJSON) _ioTProvisioningTemplateTemplateBody
, fmap (("TemplateName",) . toJSON) _ioTProvisioningTemplateTemplateName
]
}
-- | Constructor for 'IoTProvisioningTemplate' containing required fields as
-- arguments.
ioTProvisioningTemplate
:: Val Text -- ^ 'itptProvisioningRoleArn'
-> Val Text -- ^ 'itptTemplateBody'
-> IoTProvisioningTemplate
ioTProvisioningTemplate provisioningRoleArnarg templateBodyarg =
IoTProvisioningTemplate
{ _ioTProvisioningTemplateDescription = Nothing
, _ioTProvisioningTemplateEnabled = Nothing
, _ioTProvisioningTemplatePreProvisioningHook = Nothing
, _ioTProvisioningTemplateProvisioningRoleArn = provisioningRoleArnarg
, _ioTProvisioningTemplateTags = Nothing
, _ioTProvisioningTemplateTemplateBody = templateBodyarg
, _ioTProvisioningTemplateTemplateName = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-description
itptDescription :: Lens' IoTProvisioningTemplate (Maybe (Val Text))
itptDescription = lens _ioTProvisioningTemplateDescription (\s a -> s { _ioTProvisioningTemplateDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-enabled
itptEnabled :: Lens' IoTProvisioningTemplate (Maybe (Val Bool))
itptEnabled = lens _ioTProvisioningTemplateEnabled (\s a -> s { _ioTProvisioningTemplateEnabled = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-preprovisioninghook
itptPreProvisioningHook :: Lens' IoTProvisioningTemplate (Maybe IoTProvisioningTemplateProvisioningHook)
itptPreProvisioningHook = lens _ioTProvisioningTemplatePreProvisioningHook (\s a -> s { _ioTProvisioningTemplatePreProvisioningHook = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-provisioningrolearn
itptProvisioningRoleArn :: Lens' IoTProvisioningTemplate (Val Text)
itptProvisioningRoleArn = lens _ioTProvisioningTemplateProvisioningRoleArn (\s a -> s { _ioTProvisioningTemplateProvisioningRoleArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-tags
itptTags :: Lens' IoTProvisioningTemplate (Maybe [Object])
itptTags = lens _ioTProvisioningTemplateTags (\s a -> s { _ioTProvisioningTemplateTags = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-templatebody
itptTemplateBody :: Lens' IoTProvisioningTemplate (Val Text)
itptTemplateBody = lens _ioTProvisioningTemplateTemplateBody (\s a -> s { _ioTProvisioningTemplateTemplateBody = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-templatename
itptTemplateName :: Lens' IoTProvisioningTemplate (Maybe (Val Text))
itptTemplateName = lens _ioTProvisioningTemplateTemplateName (\s a -> s { _ioTProvisioningTemplateTemplateName = a })