stratosphere-0.26.2: library-gen/Stratosphere/Resources/AppStreamStackFleetAssociation.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html
module Stratosphere.Resources.AppStreamStackFleetAssociation where
import Stratosphere.ResourceImports
-- | Full data type definition for AppStreamStackFleetAssociation. See
-- 'appStreamStackFleetAssociation' for a more convenient constructor.
data AppStreamStackFleetAssociation =
AppStreamStackFleetAssociation
{ _appStreamStackFleetAssociationFleetName :: Val Text
, _appStreamStackFleetAssociationStackName :: Val Text
} deriving (Show, Eq)
instance ToJSON AppStreamStackFleetAssociation where
toJSON AppStreamStackFleetAssociation{..} =
object $
catMaybes
[ (Just . ("FleetName",) . toJSON) _appStreamStackFleetAssociationFleetName
, (Just . ("StackName",) . toJSON) _appStreamStackFleetAssociationStackName
]
instance FromJSON AppStreamStackFleetAssociation where
parseJSON (Object obj) =
AppStreamStackFleetAssociation <$>
(obj .: "FleetName") <*>
(obj .: "StackName")
parseJSON _ = mempty
-- | Constructor for 'AppStreamStackFleetAssociation' containing required
-- fields as arguments.
appStreamStackFleetAssociation
:: Val Text -- ^ 'assfaFleetName'
-> Val Text -- ^ 'assfaStackName'
-> AppStreamStackFleetAssociation
appStreamStackFleetAssociation fleetNamearg stackNamearg =
AppStreamStackFleetAssociation
{ _appStreamStackFleetAssociationFleetName = fleetNamearg
, _appStreamStackFleetAssociationStackName = stackNamearg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html#cfn-appstream-stackfleetassociation-fleetname
assfaFleetName :: Lens' AppStreamStackFleetAssociation (Val Text)
assfaFleetName = lens _appStreamStackFleetAssociationFleetName (\s a -> s { _appStreamStackFleetAssociationFleetName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html#cfn-appstream-stackfleetassociation-stackname
assfaStackName :: Lens' AppStreamStackFleetAssociation (Val Text)
assfaStackName = lens _appStreamStackFleetAssociationStackName (\s a -> s { _appStreamStackFleetAssociationStackName = a })