{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.ElasticBeanstalk.DescribeEnvironments
(
describeEnvironments
, DescribeEnvironments
, desEnvironmentIds
, desEnvironmentNames
, desNextToken
, desVersionLabel
, desMaxRecords
, desApplicationName
, desIncludedDeletedBackTo
, desIncludeDeleted
, environmentDescriptionsMessage
, EnvironmentDescriptionsMessage
, edmNextToken
, edmEnvironments
) where
import Network.AWS.ElasticBeanstalk.Types
import Network.AWS.ElasticBeanstalk.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeEnvironments = DescribeEnvironments'
{ _desEnvironmentIds :: !(Maybe [Text])
, _desEnvironmentNames :: !(Maybe [Text])
, _desNextToken :: !(Maybe Text)
, _desVersionLabel :: !(Maybe Text)
, _desMaxRecords :: !(Maybe Nat)
, _desApplicationName :: !(Maybe Text)
, _desIncludedDeletedBackTo :: !(Maybe ISO8601)
, _desIncludeDeleted :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeEnvironments
:: DescribeEnvironments
describeEnvironments =
DescribeEnvironments'
{ _desEnvironmentIds = Nothing
, _desEnvironmentNames = Nothing
, _desNextToken = Nothing
, _desVersionLabel = Nothing
, _desMaxRecords = Nothing
, _desApplicationName = Nothing
, _desIncludedDeletedBackTo = Nothing
, _desIncludeDeleted = Nothing
}
desEnvironmentIds :: Lens' DescribeEnvironments [Text]
desEnvironmentIds = lens _desEnvironmentIds (\ s a -> s{_desEnvironmentIds = a}) . _Default . _Coerce
desEnvironmentNames :: Lens' DescribeEnvironments [Text]
desEnvironmentNames = lens _desEnvironmentNames (\ s a -> s{_desEnvironmentNames = a}) . _Default . _Coerce
desNextToken :: Lens' DescribeEnvironments (Maybe Text)
desNextToken = lens _desNextToken (\ s a -> s{_desNextToken = a})
desVersionLabel :: Lens' DescribeEnvironments (Maybe Text)
desVersionLabel = lens _desVersionLabel (\ s a -> s{_desVersionLabel = a})
desMaxRecords :: Lens' DescribeEnvironments (Maybe Natural)
desMaxRecords = lens _desMaxRecords (\ s a -> s{_desMaxRecords = a}) . mapping _Nat
desApplicationName :: Lens' DescribeEnvironments (Maybe Text)
desApplicationName = lens _desApplicationName (\ s a -> s{_desApplicationName = a})
desIncludedDeletedBackTo :: Lens' DescribeEnvironments (Maybe UTCTime)
desIncludedDeletedBackTo = lens _desIncludedDeletedBackTo (\ s a -> s{_desIncludedDeletedBackTo = a}) . mapping _Time
desIncludeDeleted :: Lens' DescribeEnvironments (Maybe Bool)
desIncludeDeleted = lens _desIncludeDeleted (\ s a -> s{_desIncludeDeleted = a})
instance AWSRequest DescribeEnvironments where
type Rs DescribeEnvironments =
EnvironmentDescriptionsMessage
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper "DescribeEnvironmentsResult"
(\ s h x -> parseXML x)
instance Hashable DescribeEnvironments where
instance NFData DescribeEnvironments where
instance ToHeaders DescribeEnvironments where
toHeaders = const mempty
instance ToPath DescribeEnvironments where
toPath = const "/"
instance ToQuery DescribeEnvironments where
toQuery DescribeEnvironments'{..}
= mconcat
["Action" =: ("DescribeEnvironments" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"EnvironmentIds" =:
toQuery
(toQueryList "member" <$> _desEnvironmentIds),
"EnvironmentNames" =:
toQuery
(toQueryList "member" <$> _desEnvironmentNames),
"NextToken" =: _desNextToken,
"VersionLabel" =: _desVersionLabel,
"MaxRecords" =: _desMaxRecords,
"ApplicationName" =: _desApplicationName,
"IncludedDeletedBackTo" =: _desIncludedDeletedBackTo,
"IncludeDeleted" =: _desIncludeDeleted]