module Network.AWS.OpsWorks.DescribeDeployments
(
DescribeDeployments
, describeDeployments
, ddAppId
, ddDeploymentIds
, ddStackId
, DescribeDeploymentsResponse
, describeDeploymentsResponse
, ddrDeployments
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.OpsWorks.Types
import qualified GHC.Exts
data DescribeDeployments = DescribeDeployments
{ _ddAppId :: Maybe Text
, _ddDeploymentIds :: List "InstanceIds" Text
, _ddStackId :: Maybe Text
} deriving (Eq, Ord, Show)
describeDeployments :: DescribeDeployments
describeDeployments = DescribeDeployments
{ _ddStackId = Nothing
, _ddAppId = Nothing
, _ddDeploymentIds = mempty
}
ddAppId :: Lens' DescribeDeployments (Maybe Text)
ddAppId = lens _ddAppId (\s a -> s { _ddAppId = a })
ddDeploymentIds :: Lens' DescribeDeployments [Text]
ddDeploymentIds = lens _ddDeploymentIds (\s a -> s { _ddDeploymentIds = a }) . _List
ddStackId :: Lens' DescribeDeployments (Maybe Text)
ddStackId = lens _ddStackId (\s a -> s { _ddStackId = a })
newtype DescribeDeploymentsResponse = DescribeDeploymentsResponse
{ _ddrDeployments :: List "Deployments" Deployment
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeDeploymentsResponse where
type Item DescribeDeploymentsResponse = Deployment
fromList = DescribeDeploymentsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _ddrDeployments
describeDeploymentsResponse :: DescribeDeploymentsResponse
describeDeploymentsResponse = DescribeDeploymentsResponse
{ _ddrDeployments = mempty
}
ddrDeployments :: Lens' DescribeDeploymentsResponse [Deployment]
ddrDeployments = lens _ddrDeployments (\s a -> s { _ddrDeployments = a }) . _List
instance ToPath DescribeDeployments where
toPath = const "/"
instance ToQuery DescribeDeployments where
toQuery = const mempty
instance ToHeaders DescribeDeployments
instance ToJSON DescribeDeployments where
toJSON DescribeDeployments{..} = object
[ "StackId" .= _ddStackId
, "AppId" .= _ddAppId
, "DeploymentIds" .= _ddDeploymentIds
]
instance AWSRequest DescribeDeployments where
type Sv DescribeDeployments = OpsWorks
type Rs DescribeDeployments = DescribeDeploymentsResponse
request = post "DescribeDeployments"
response = jsonResponse
instance FromJSON DescribeDeploymentsResponse where
parseJSON = withObject "DescribeDeploymentsResponse" $ \o -> DescribeDeploymentsResponse
<$> o .: "Deployments"