module Network.AWS.ElasticBeanstalk.DescribeApplications
(
DescribeApplications
, describeApplications
, daApplicationNames
, DescribeApplicationsResponse
, describeApplicationsResponse
, darApplications
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ElasticBeanstalk.Types
import qualified GHC.Exts
newtype DescribeApplications = DescribeApplications
{ _daApplicationNames :: List "member" Text
} deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeApplications where
type Item DescribeApplications = Text
fromList = DescribeApplications . GHC.Exts.fromList
toList = GHC.Exts.toList . _daApplicationNames
describeApplications :: DescribeApplications
describeApplications = DescribeApplications
{ _daApplicationNames = mempty
}
daApplicationNames :: Lens' DescribeApplications [Text]
daApplicationNames =
lens _daApplicationNames (\s a -> s { _daApplicationNames = a })
. _List
newtype DescribeApplicationsResponse = DescribeApplicationsResponse
{ _darApplications :: List "member" ApplicationDescription
} deriving (Eq, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeApplicationsResponse where
type Item DescribeApplicationsResponse = ApplicationDescription
fromList = DescribeApplicationsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _darApplications
describeApplicationsResponse :: DescribeApplicationsResponse
describeApplicationsResponse = DescribeApplicationsResponse
{ _darApplications = mempty
}
darApplications :: Lens' DescribeApplicationsResponse [ApplicationDescription]
darApplications = lens _darApplications (\s a -> s { _darApplications = a }) . _List
instance ToPath DescribeApplications where
toPath = const "/"
instance ToQuery DescribeApplications where
toQuery DescribeApplications{..} = mconcat
[ "ApplicationNames" =? _daApplicationNames
]
instance ToHeaders DescribeApplications
instance AWSRequest DescribeApplications where
type Sv DescribeApplications = ElasticBeanstalk
type Rs DescribeApplications = DescribeApplicationsResponse
request = post "DescribeApplications"
response = xmlResponse
instance FromXML DescribeApplicationsResponse where
parseXML = withElement "DescribeApplicationsResult" $ \x -> DescribeApplicationsResponse
<$> x .@? "Applications" .!@ mempty