stratosphere-0.58.0: library-gen/Stratosphere/ResourceProperties/ECSTaskDefinitionEFSVolumeConfiguration.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html
module Stratosphere.ResourceProperties.ECSTaskDefinitionEFSVolumeConfiguration where
import Stratosphere.ResourceImports
-- | Full data type definition for ECSTaskDefinitionEFSVolumeConfiguration.
-- See 'ecsTaskDefinitionEFSVolumeConfiguration' for a more convenient
-- constructor.
data ECSTaskDefinitionEFSVolumeConfiguration =
ECSTaskDefinitionEFSVolumeConfiguration
{ _eCSTaskDefinitionEFSVolumeConfigurationAuthorizationConfig :: Maybe Object
, _eCSTaskDefinitionEFSVolumeConfigurationFilesystemId :: Val Text
, _eCSTaskDefinitionEFSVolumeConfigurationRootDirectory :: Maybe (Val Text)
, _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryption :: Maybe (Val Text)
, _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryptionPort :: Maybe (Val Integer)
} deriving (Show, Eq)
instance ToJSON ECSTaskDefinitionEFSVolumeConfiguration where
toJSON ECSTaskDefinitionEFSVolumeConfiguration{..} =
object $
catMaybes
[ fmap (("AuthorizationConfig",) . toJSON) _eCSTaskDefinitionEFSVolumeConfigurationAuthorizationConfig
, (Just . ("FilesystemId",) . toJSON) _eCSTaskDefinitionEFSVolumeConfigurationFilesystemId
, fmap (("RootDirectory",) . toJSON) _eCSTaskDefinitionEFSVolumeConfigurationRootDirectory
, fmap (("TransitEncryption",) . toJSON) _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryption
, fmap (("TransitEncryptionPort",) . toJSON) _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryptionPort
]
-- | Constructor for 'ECSTaskDefinitionEFSVolumeConfiguration' containing
-- required fields as arguments.
ecsTaskDefinitionEFSVolumeConfiguration
:: Val Text -- ^ 'ecstdefsvcFilesystemId'
-> ECSTaskDefinitionEFSVolumeConfiguration
ecsTaskDefinitionEFSVolumeConfiguration filesystemIdarg =
ECSTaskDefinitionEFSVolumeConfiguration
{ _eCSTaskDefinitionEFSVolumeConfigurationAuthorizationConfig = Nothing
, _eCSTaskDefinitionEFSVolumeConfigurationFilesystemId = filesystemIdarg
, _eCSTaskDefinitionEFSVolumeConfigurationRootDirectory = Nothing
, _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryption = Nothing
, _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryptionPort = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-authorizationconfig
ecstdefsvcAuthorizationConfig :: Lens' ECSTaskDefinitionEFSVolumeConfiguration (Maybe Object)
ecstdefsvcAuthorizationConfig = lens _eCSTaskDefinitionEFSVolumeConfigurationAuthorizationConfig (\s a -> s { _eCSTaskDefinitionEFSVolumeConfigurationAuthorizationConfig = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-filesystemid
ecstdefsvcFilesystemId :: Lens' ECSTaskDefinitionEFSVolumeConfiguration (Val Text)
ecstdefsvcFilesystemId = lens _eCSTaskDefinitionEFSVolumeConfigurationFilesystemId (\s a -> s { _eCSTaskDefinitionEFSVolumeConfigurationFilesystemId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-rootdirectory
ecstdefsvcRootDirectory :: Lens' ECSTaskDefinitionEFSVolumeConfiguration (Maybe (Val Text))
ecstdefsvcRootDirectory = lens _eCSTaskDefinitionEFSVolumeConfigurationRootDirectory (\s a -> s { _eCSTaskDefinitionEFSVolumeConfigurationRootDirectory = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-transitencryption
ecstdefsvcTransitEncryption :: Lens' ECSTaskDefinitionEFSVolumeConfiguration (Maybe (Val Text))
ecstdefsvcTransitEncryption = lens _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryption (\s a -> s { _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryption = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-transitencryptionport
ecstdefsvcTransitEncryptionPort :: Lens' ECSTaskDefinitionEFSVolumeConfiguration (Maybe (Val Integer))
ecstdefsvcTransitEncryptionPort = lens _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryptionPort (\s a -> s { _eCSTaskDefinitionEFSVolumeConfigurationTransitEncryptionPort = a })