module Network.AWS.ElasticBeanstalk.DescribeEnvironments
(
DescribeEnvironments
, describeEnvironments
, de1ApplicationName
, de1EnvironmentIds
, de1EnvironmentNames
, de1IncludeDeleted
, de1IncludedDeletedBackTo
, de1VersionLabel
, DescribeEnvironmentsResponse
, describeEnvironmentsResponse
, derEnvironments
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ElasticBeanstalk.Types
import qualified GHC.Exts
data DescribeEnvironments = DescribeEnvironments
{ _de1ApplicationName :: Maybe Text
, _de1EnvironmentIds :: List "member" Text
, _de1EnvironmentNames :: List "member" Text
, _de1IncludeDeleted :: Maybe Bool
, _de1IncludedDeletedBackTo :: Maybe ISO8601
, _de1VersionLabel :: Maybe Text
} deriving (Eq, Ord, Show)
describeEnvironments :: DescribeEnvironments
describeEnvironments = DescribeEnvironments
{ _de1ApplicationName = Nothing
, _de1VersionLabel = Nothing
, _de1EnvironmentIds = mempty
, _de1EnvironmentNames = mempty
, _de1IncludeDeleted = Nothing
, _de1IncludedDeletedBackTo = Nothing
}
de1ApplicationName :: Lens' DescribeEnvironments (Maybe Text)
de1ApplicationName =
lens _de1ApplicationName (\s a -> s { _de1ApplicationName = a })
de1EnvironmentIds :: Lens' DescribeEnvironments [Text]
de1EnvironmentIds =
lens _de1EnvironmentIds (\s a -> s { _de1EnvironmentIds = a })
. _List
de1EnvironmentNames :: Lens' DescribeEnvironments [Text]
de1EnvironmentNames =
lens _de1EnvironmentNames (\s a -> s { _de1EnvironmentNames = a })
. _List
de1IncludeDeleted :: Lens' DescribeEnvironments (Maybe Bool)
de1IncludeDeleted =
lens _de1IncludeDeleted (\s a -> s { _de1IncludeDeleted = a })
de1IncludedDeletedBackTo :: Lens' DescribeEnvironments (Maybe UTCTime)
de1IncludedDeletedBackTo =
lens _de1IncludedDeletedBackTo
(\s a -> s { _de1IncludedDeletedBackTo = a })
. mapping _Time
de1VersionLabel :: Lens' DescribeEnvironments (Maybe Text)
de1VersionLabel = lens _de1VersionLabel (\s a -> s { _de1VersionLabel = a })
newtype DescribeEnvironmentsResponse = DescribeEnvironmentsResponse
{ _derEnvironments :: List "member" EnvironmentDescription
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeEnvironmentsResponse where
type Item DescribeEnvironmentsResponse = EnvironmentDescription
fromList = DescribeEnvironmentsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _derEnvironments
describeEnvironmentsResponse :: DescribeEnvironmentsResponse
describeEnvironmentsResponse = DescribeEnvironmentsResponse
{ _derEnvironments = mempty
}
derEnvironments :: Lens' DescribeEnvironmentsResponse [EnvironmentDescription]
derEnvironments = lens _derEnvironments (\s a -> s { _derEnvironments = a }) . _List
instance ToPath DescribeEnvironments where
toPath = const "/"
instance ToQuery DescribeEnvironments where
toQuery DescribeEnvironments{..} = mconcat
[ "ApplicationName" =? _de1ApplicationName
, "EnvironmentIds" =? _de1EnvironmentIds
, "EnvironmentNames" =? _de1EnvironmentNames
, "IncludeDeleted" =? _de1IncludeDeleted
, "IncludedDeletedBackTo" =? _de1IncludedDeletedBackTo
, "VersionLabel" =? _de1VersionLabel
]
instance ToHeaders DescribeEnvironments
instance AWSRequest DescribeEnvironments where
type Sv DescribeEnvironments = ElasticBeanstalk
type Rs DescribeEnvironments = DescribeEnvironmentsResponse
request = post "DescribeEnvironments"
response = xmlResponse
instance FromXML DescribeEnvironmentsResponse where
parseXML = withElement "DescribeEnvironmentsResult" $ \x -> DescribeEnvironmentsResponse
<$> x .@? "Environments" .!@ mempty