module Network.AWS.ElasticBeanstalk.DescribeEnvironments
(
describeEnvironments
, DescribeEnvironments
, dEnvironmentIds
, dEnvironmentNames
, dVersionLabel
, dIncludedDeletedBackTo
, dApplicationName
, dIncludeDeleted
, describeEnvironmentsResponse
, DescribeEnvironmentsResponse
, drsEnvironments
, drsStatus
) where
import Network.AWS.ElasticBeanstalk.Types
import Network.AWS.ElasticBeanstalk.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeEnvironments = DescribeEnvironments'
{ _dEnvironmentIds :: !(Maybe [Text])
, _dEnvironmentNames :: !(Maybe [Text])
, _dVersionLabel :: !(Maybe Text)
, _dIncludedDeletedBackTo :: !(Maybe ISO8601)
, _dApplicationName :: !(Maybe Text)
, _dIncludeDeleted :: !(Maybe Bool)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeEnvironments
:: DescribeEnvironments
describeEnvironments =
DescribeEnvironments'
{ _dEnvironmentIds = Nothing
, _dEnvironmentNames = Nothing
, _dVersionLabel = Nothing
, _dIncludedDeletedBackTo = Nothing
, _dApplicationName = Nothing
, _dIncludeDeleted = Nothing
}
dEnvironmentIds :: Lens' DescribeEnvironments [Text]
dEnvironmentIds = lens _dEnvironmentIds (\ s a -> s{_dEnvironmentIds = a}) . _Default . _Coerce;
dEnvironmentNames :: Lens' DescribeEnvironments [Text]
dEnvironmentNames = lens _dEnvironmentNames (\ s a -> s{_dEnvironmentNames = a}) . _Default . _Coerce;
dVersionLabel :: Lens' DescribeEnvironments (Maybe Text)
dVersionLabel = lens _dVersionLabel (\ s a -> s{_dVersionLabel = a});
dIncludedDeletedBackTo :: Lens' DescribeEnvironments (Maybe UTCTime)
dIncludedDeletedBackTo = lens _dIncludedDeletedBackTo (\ s a -> s{_dIncludedDeletedBackTo = a}) . mapping _Time;
dApplicationName :: Lens' DescribeEnvironments (Maybe Text)
dApplicationName = lens _dApplicationName (\ s a -> s{_dApplicationName = a});
dIncludeDeleted :: Lens' DescribeEnvironments (Maybe Bool)
dIncludeDeleted = lens _dIncludeDeleted (\ s a -> s{_dIncludeDeleted = a});
instance AWSRequest DescribeEnvironments where
type Rs DescribeEnvironments =
DescribeEnvironmentsResponse
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper "DescribeEnvironmentsResult"
(\ s h x ->
DescribeEnvironmentsResponse' <$>
(x .@? "Environments" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
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" <$> _dEnvironmentIds),
"EnvironmentNames" =:
toQuery
(toQueryList "member" <$> _dEnvironmentNames),
"VersionLabel" =: _dVersionLabel,
"IncludedDeletedBackTo" =: _dIncludedDeletedBackTo,
"ApplicationName" =: _dApplicationName,
"IncludeDeleted" =: _dIncludeDeleted]
data DescribeEnvironmentsResponse = DescribeEnvironmentsResponse'
{ _drsEnvironments :: !(Maybe [EnvironmentDescription])
, _drsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeEnvironmentsResponse
:: Int
-> DescribeEnvironmentsResponse
describeEnvironmentsResponse pStatus_ =
DescribeEnvironmentsResponse'
{ _drsEnvironments = Nothing
, _drsStatus = pStatus_
}
drsEnvironments :: Lens' DescribeEnvironmentsResponse [EnvironmentDescription]
drsEnvironments = lens _drsEnvironments (\ s a -> s{_drsEnvironments = a}) . _Default . _Coerce;
drsStatus :: Lens' DescribeEnvironmentsResponse Int
drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});