{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# 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 ToResourceProperties AppStreamStackFleetAssociation where toResourceProperties AppStreamStackFleetAssociation{..} = ResourceProperties { resourcePropertiesType = "AWS::AppStream::StackFleetAssociation" , resourcePropertiesProperties = hashMapFromList $ catMaybes [ (Just . ("FleetName",) . toJSON) _appStreamStackFleetAssociationFleetName , (Just . ("StackName",) . toJSON) _appStreamStackFleetAssociationStackName ] } -- | 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 })