stratosphere-0.51.0: library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html
module Stratosphere.Resources.NetworkManagerGlobalNetwork where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.Tag
-- | Full data type definition for NetworkManagerGlobalNetwork. See
-- 'networkManagerGlobalNetwork' for a more convenient constructor.
data NetworkManagerGlobalNetwork =
NetworkManagerGlobalNetwork
{ _networkManagerGlobalNetworkDescription :: Maybe (Val Text)
, _networkManagerGlobalNetworkTags :: Maybe [Tag]
} deriving (Show, Eq)
instance ToResourceProperties NetworkManagerGlobalNetwork where
toResourceProperties NetworkManagerGlobalNetwork{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::NetworkManager::GlobalNetwork"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ fmap (("Description",) . toJSON) _networkManagerGlobalNetworkDescription
, fmap (("Tags",) . toJSON) _networkManagerGlobalNetworkTags
]
}
-- | Constructor for 'NetworkManagerGlobalNetwork' containing required fields
-- as arguments.
networkManagerGlobalNetwork
:: NetworkManagerGlobalNetwork
networkManagerGlobalNetwork =
NetworkManagerGlobalNetwork
{ _networkManagerGlobalNetworkDescription = Nothing
, _networkManagerGlobalNetworkTags = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-description
nmgnDescription :: Lens' NetworkManagerGlobalNetwork (Maybe (Val Text))
nmgnDescription = lens _networkManagerGlobalNetworkDescription (\s a -> s { _networkManagerGlobalNetworkDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-tags
nmgnTags :: Lens' NetworkManagerGlobalNetwork (Maybe [Tag])
nmgnTags = lens _networkManagerGlobalNetworkTags (\s a -> s { _networkManagerGlobalNetworkTags = a })