stratosphere-0.32.0: library-gen/Stratosphere/Resources/DAXSubnetGroup.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html
module Stratosphere.Resources.DAXSubnetGroup where
import Stratosphere.ResourceImports
-- | Full data type definition for DAXSubnetGroup. See 'daxSubnetGroup' for a
-- more convenient constructor.
data DAXSubnetGroup =
DAXSubnetGroup
{ _dAXSubnetGroupDescription :: Maybe (Val Text)
, _dAXSubnetGroupSubnetGroupName :: Maybe (Val Text)
, _dAXSubnetGroupSubnetIds :: ValList Text
} deriving (Show, Eq)
instance ToJSON DAXSubnetGroup where
toJSON DAXSubnetGroup{..} =
object $
catMaybes
[ fmap (("Description",) . toJSON) _dAXSubnetGroupDescription
, fmap (("SubnetGroupName",) . toJSON) _dAXSubnetGroupSubnetGroupName
, (Just . ("SubnetIds",) . toJSON) _dAXSubnetGroupSubnetIds
]
-- | Constructor for 'DAXSubnetGroup' containing required fields as arguments.
daxSubnetGroup
:: ValList Text -- ^ 'daxsgSubnetIds'
-> DAXSubnetGroup
daxSubnetGroup subnetIdsarg =
DAXSubnetGroup
{ _dAXSubnetGroupDescription = Nothing
, _dAXSubnetGroupSubnetGroupName = Nothing
, _dAXSubnetGroupSubnetIds = subnetIdsarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-description
daxsgDescription :: Lens' DAXSubnetGroup (Maybe (Val Text))
daxsgDescription = lens _dAXSubnetGroupDescription (\s a -> s { _dAXSubnetGroupDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-subnetgroupname
daxsgSubnetGroupName :: Lens' DAXSubnetGroup (Maybe (Val Text))
daxsgSubnetGroupName = lens _dAXSubnetGroupSubnetGroupName (\s a -> s { _dAXSubnetGroupSubnetGroupName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-subnetids
daxsgSubnetIds :: Lens' DAXSubnetGroup (ValList Text)
daxsgSubnetIds = lens _dAXSubnetGroupSubnetIds (\s a -> s { _dAXSubnetGroupSubnetIds = a })