module Network.AWS.EC2.DescribeSpotFleetInstances
(
DescribeSpotFleetInstances
, describeSpotFleetInstances
, dsfiDryRun
, dsfiMaxResults
, dsfiNextToken
, dsfiSpotFleetRequestId
, DescribeSpotFleetInstancesResponse
, describeSpotFleetInstancesResponse
, dsfirActiveInstances
, dsfirNextToken
, dsfirSpotFleetRequestId
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeSpotFleetInstances = DescribeSpotFleetInstances
{ _dsfiDryRun :: Maybe Bool
, _dsfiMaxResults :: Maybe Int
, _dsfiNextToken :: Maybe Text
, _dsfiSpotFleetRequestId :: Text
} deriving (Eq, Ord, Read, Show)
describeSpotFleetInstances :: Text
-> DescribeSpotFleetInstances
describeSpotFleetInstances p1 = DescribeSpotFleetInstances
{ _dsfiSpotFleetRequestId = p1
, _dsfiDryRun = Nothing
, _dsfiNextToken = Nothing
, _dsfiMaxResults = Nothing
}
dsfiDryRun :: Lens' DescribeSpotFleetInstances (Maybe Bool)
dsfiDryRun = lens _dsfiDryRun (\s a -> s { _dsfiDryRun = a })
dsfiMaxResults :: Lens' DescribeSpotFleetInstances (Maybe Int)
dsfiMaxResults = lens _dsfiMaxResults (\s a -> s { _dsfiMaxResults = a })
dsfiNextToken :: Lens' DescribeSpotFleetInstances (Maybe Text)
dsfiNextToken = lens _dsfiNextToken (\s a -> s { _dsfiNextToken = a })
dsfiSpotFleetRequestId :: Lens' DescribeSpotFleetInstances Text
dsfiSpotFleetRequestId =
lens _dsfiSpotFleetRequestId (\s a -> s { _dsfiSpotFleetRequestId = a })
data DescribeSpotFleetInstancesResponse = DescribeSpotFleetInstancesResponse
{ _dsfirActiveInstances :: List "item" ActiveInstance
, _dsfirNextToken :: Maybe Text
, _dsfirSpotFleetRequestId :: Text
} deriving (Eq, Read, Show)
describeSpotFleetInstancesResponse :: Text
-> DescribeSpotFleetInstancesResponse
describeSpotFleetInstancesResponse p1 = DescribeSpotFleetInstancesResponse
{ _dsfirSpotFleetRequestId = p1
, _dsfirActiveInstances = mempty
, _dsfirNextToken = Nothing
}
dsfirActiveInstances :: Lens' DescribeSpotFleetInstancesResponse [ActiveInstance]
dsfirActiveInstances =
lens _dsfirActiveInstances (\s a -> s { _dsfirActiveInstances = a })
. _List
dsfirNextToken :: Lens' DescribeSpotFleetInstancesResponse (Maybe Text)
dsfirNextToken = lens _dsfirNextToken (\s a -> s { _dsfirNextToken = a })
dsfirSpotFleetRequestId :: Lens' DescribeSpotFleetInstancesResponse Text
dsfirSpotFleetRequestId =
lens _dsfirSpotFleetRequestId (\s a -> s { _dsfirSpotFleetRequestId = a })
instance ToPath DescribeSpotFleetInstances where
toPath = const "/"
instance ToQuery DescribeSpotFleetInstances where
toQuery DescribeSpotFleetInstances{..} = mconcat
[ "DryRun" =? _dsfiDryRun
, "MaxResults" =? _dsfiMaxResults
, "NextToken" =? _dsfiNextToken
, "SpotFleetRequestId" =? _dsfiSpotFleetRequestId
]
instance ToHeaders DescribeSpotFleetInstances
instance AWSRequest DescribeSpotFleetInstances where
type Sv DescribeSpotFleetInstances = EC2
type Rs DescribeSpotFleetInstances = DescribeSpotFleetInstancesResponse
request = post "DescribeSpotFleetInstances"
response = xmlResponse
instance FromXML DescribeSpotFleetInstancesResponse where
parseXML x = DescribeSpotFleetInstancesResponse
<$> x .@? "activeInstanceSet" .!@ mempty
<*> x .@? "nextToken"
<*> x .@ "spotFleetRequestId"