amazonka-ec2-0.3.5: gen/Network/AWS/EC2/DescribeSpotFleetRequests.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- Module : Network.AWS.EC2.DescribeSpotFleetRequests
-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
-- License : This Source Code Form is subject to the terms of
-- the Mozilla Public License, v. 2.0.
-- A copy of the MPL can be found in the LICENSE file or
-- you can obtain it at http://mozilla.org/MPL/2.0/.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : experimental
-- Portability : non-portable (GHC extensions)
--
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- | Describes your Spot fleet requests.
--
-- <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotFleetRequests.html>
module Network.AWS.EC2.DescribeSpotFleetRequests
(
-- * Request
DescribeSpotFleetRequests
-- ** Request constructor
, describeSpotFleetRequests
-- ** Request lenses
, dsfrDryRun
, dsfrMaxResults
, dsfrNextToken
, dsfrSpotFleetRequestIds
-- * Response
, DescribeSpotFleetRequestsResponse
-- ** Response constructor
, describeSpotFleetRequestsResponse
-- ** Response lenses
, dsfrrNextToken
, dsfrrSpotFleetRequestConfigs
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeSpotFleetRequests = DescribeSpotFleetRequests
{ _dsfrDryRun :: Maybe Bool
, _dsfrMaxResults :: Maybe Int
, _dsfrNextToken :: Maybe Text
, _dsfrSpotFleetRequestIds :: List "item" Text
} deriving (Eq, Ord, Read, Show)
-- | 'DescribeSpotFleetRequests' constructor.
--
-- The fields accessible through corresponding lenses are:
--
-- * 'dsfrDryRun' @::@ 'Maybe' 'Bool'
--
-- * 'dsfrMaxResults' @::@ 'Maybe' 'Int'
--
-- * 'dsfrNextToken' @::@ 'Maybe' 'Text'
--
-- * 'dsfrSpotFleetRequestIds' @::@ ['Text']
--
describeSpotFleetRequests :: DescribeSpotFleetRequests
describeSpotFleetRequests = DescribeSpotFleetRequests
{ _dsfrDryRun = Nothing
, _dsfrSpotFleetRequestIds = mempty
, _dsfrNextToken = Nothing
, _dsfrMaxResults = Nothing
}
-- | Checks whether you have the required permissions for the action, without
-- actually making the request, and provides an error response. If you have the
-- required permissions, the error response is 'DryRunOperation'. Otherwise, it is 'UnauthorizedOperation'.
dsfrDryRun :: Lens' DescribeSpotFleetRequests (Maybe Bool)
dsfrDryRun = lens _dsfrDryRun (\s a -> s { _dsfrDryRun = a })
-- | The maximum number of results to return in a single call. Specify a value
-- between 1 and 1000. The default value is 1000. To retrieve the remaining
-- results, make another call with the returned 'NextToken' value.
dsfrMaxResults :: Lens' DescribeSpotFleetRequests (Maybe Int)
dsfrMaxResults = lens _dsfrMaxResults (\s a -> s { _dsfrMaxResults = a })
-- | The token for the next set of results.
dsfrNextToken :: Lens' DescribeSpotFleetRequests (Maybe Text)
dsfrNextToken = lens _dsfrNextToken (\s a -> s { _dsfrNextToken = a })
-- | The IDs of the Spot fleet requests.
dsfrSpotFleetRequestIds :: Lens' DescribeSpotFleetRequests [Text]
dsfrSpotFleetRequestIds =
lens _dsfrSpotFleetRequestIds (\s a -> s { _dsfrSpotFleetRequestIds = a })
. _List
data DescribeSpotFleetRequestsResponse = DescribeSpotFleetRequestsResponse
{ _dsfrrNextToken :: Maybe Text
, _dsfrrSpotFleetRequestConfigs :: List "item" SpotFleetRequestConfig
} deriving (Eq, Read, Show)
-- | 'DescribeSpotFleetRequestsResponse' constructor.
--
-- The fields accessible through corresponding lenses are:
--
-- * 'dsfrrNextToken' @::@ 'Maybe' 'Text'
--
-- * 'dsfrrSpotFleetRequestConfigs' @::@ ['SpotFleetRequestConfig']
--
describeSpotFleetRequestsResponse :: DescribeSpotFleetRequestsResponse
describeSpotFleetRequestsResponse = DescribeSpotFleetRequestsResponse
{ _dsfrrSpotFleetRequestConfigs = mempty
, _dsfrrNextToken = Nothing
}
-- | The token required to retrieve the next set of results. This value is 'null'
-- when there are no more results to return.
dsfrrNextToken :: Lens' DescribeSpotFleetRequestsResponse (Maybe Text)
dsfrrNextToken = lens _dsfrrNextToken (\s a -> s { _dsfrrNextToken = a })
-- | Information about the configuration of your Spot fleet.
dsfrrSpotFleetRequestConfigs :: Lens' DescribeSpotFleetRequestsResponse [SpotFleetRequestConfig]
dsfrrSpotFleetRequestConfigs =
lens _dsfrrSpotFleetRequestConfigs
(\s a -> s { _dsfrrSpotFleetRequestConfigs = a })
. _List
instance ToPath DescribeSpotFleetRequests where
toPath = const "/"
instance ToQuery DescribeSpotFleetRequests where
toQuery DescribeSpotFleetRequests{..} = mconcat
[ "DryRun" =? _dsfrDryRun
, "MaxResults" =? _dsfrMaxResults
, "NextToken" =? _dsfrNextToken
, "SpotFleetRequestId" `toQueryList` _dsfrSpotFleetRequestIds
]
instance ToHeaders DescribeSpotFleetRequests
instance AWSRequest DescribeSpotFleetRequests where
type Sv DescribeSpotFleetRequests = EC2
type Rs DescribeSpotFleetRequests = DescribeSpotFleetRequestsResponse
request = post "DescribeSpotFleetRequests"
response = xmlResponse
instance FromXML DescribeSpotFleetRequestsResponse where
parseXML x = DescribeSpotFleetRequestsResponse
<$> x .@? "nextToken"
<*> x .@? "spotFleetRequestConfigSet" .!@ mempty