stratosphere-0.26.0: library-gen/Stratosphere/ResourceProperties/EC2SpotFleetTargetGroup.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html
module Stratosphere.ResourceProperties.EC2SpotFleetTargetGroup where
import Stratosphere.ResourceImports
-- | Full data type definition for EC2SpotFleetTargetGroup. See
-- 'ec2SpotFleetTargetGroup' for a more convenient constructor.
data EC2SpotFleetTargetGroup =
EC2SpotFleetTargetGroup
{ _eC2SpotFleetTargetGroupArn :: Val Text
} deriving (Show, Eq)
instance ToJSON EC2SpotFleetTargetGroup where
toJSON EC2SpotFleetTargetGroup{..} =
object $
catMaybes
[ (Just . ("Arn",) . toJSON) _eC2SpotFleetTargetGroupArn
]
instance FromJSON EC2SpotFleetTargetGroup where
parseJSON (Object obj) =
EC2SpotFleetTargetGroup <$>
(obj .: "Arn")
parseJSON _ = mempty
-- | Constructor for 'EC2SpotFleetTargetGroup' containing required fields as
-- arguments.
ec2SpotFleetTargetGroup
:: Val Text -- ^ 'ecsftgArn'
-> EC2SpotFleetTargetGroup
ec2SpotFleetTargetGroup arnarg =
EC2SpotFleetTargetGroup
{ _eC2SpotFleetTargetGroupArn = arnarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html#cfn-ec2-spotfleet-targetgroup-arn
ecsftgArn :: Lens' EC2SpotFleetTargetGroup (Val Text)
ecsftgArn = lens _eC2SpotFleetTargetGroupArn (\s a -> s { _eC2SpotFleetTargetGroupArn = a })