{-# 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.CodeDeploy.ListDeploymentInstances
(
listDeploymentInstances
, ListDeploymentInstances
, ldiInstanceStatusFilter
, ldiNextToken
, ldiDeploymentId
, listDeploymentInstancesResponse
, ListDeploymentInstancesResponse
, ldirsNextToken
, ldirsInstancesList
, ldirsResponseStatus
) where
import Network.AWS.CodeDeploy.Types
import Network.AWS.CodeDeploy.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListDeploymentInstances = ListDeploymentInstances'
{ _ldiInstanceStatusFilter :: !(Maybe [InstanceStatus])
, _ldiNextToken :: !(Maybe Text)
, _ldiDeploymentId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listDeploymentInstances
:: Text
-> ListDeploymentInstances
listDeploymentInstances pDeploymentId_ =
ListDeploymentInstances'
{ _ldiInstanceStatusFilter = Nothing
, _ldiNextToken = Nothing
, _ldiDeploymentId = pDeploymentId_
}
ldiInstanceStatusFilter :: Lens' ListDeploymentInstances [InstanceStatus]
ldiInstanceStatusFilter = lens _ldiInstanceStatusFilter (\ s a -> s{_ldiInstanceStatusFilter = a}) . _Default . _Coerce;
ldiNextToken :: Lens' ListDeploymentInstances (Maybe Text)
ldiNextToken = lens _ldiNextToken (\ s a -> s{_ldiNextToken = a});
ldiDeploymentId :: Lens' ListDeploymentInstances Text
ldiDeploymentId = lens _ldiDeploymentId (\ s a -> s{_ldiDeploymentId = a});
instance AWSRequest ListDeploymentInstances where
type Rs ListDeploymentInstances =
ListDeploymentInstancesResponse
request = postJSON codeDeploy
response
= receiveJSON
(\ s h x ->
ListDeploymentInstancesResponse' <$>
(x .?> "nextToken") <*>
(x .?> "instancesList" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListDeploymentInstances
instance NFData ListDeploymentInstances
instance ToHeaders ListDeploymentInstances where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeDeploy_20141006.ListDeploymentInstances" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListDeploymentInstances where
toJSON ListDeploymentInstances'{..}
= object
(catMaybes
[("instanceStatusFilter" .=) <$>
_ldiInstanceStatusFilter,
("nextToken" .=) <$> _ldiNextToken,
Just ("deploymentId" .= _ldiDeploymentId)])
instance ToPath ListDeploymentInstances where
toPath = const "/"
instance ToQuery ListDeploymentInstances where
toQuery = const mempty
data ListDeploymentInstancesResponse = ListDeploymentInstancesResponse'
{ _ldirsNextToken :: !(Maybe Text)
, _ldirsInstancesList :: !(Maybe [Text])
, _ldirsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listDeploymentInstancesResponse
:: Int
-> ListDeploymentInstancesResponse
listDeploymentInstancesResponse pResponseStatus_ =
ListDeploymentInstancesResponse'
{ _ldirsNextToken = Nothing
, _ldirsInstancesList = Nothing
, _ldirsResponseStatus = pResponseStatus_
}
ldirsNextToken :: Lens' ListDeploymentInstancesResponse (Maybe Text)
ldirsNextToken = lens _ldirsNextToken (\ s a -> s{_ldirsNextToken = a});
ldirsInstancesList :: Lens' ListDeploymentInstancesResponse [Text]
ldirsInstancesList = lens _ldirsInstancesList (\ s a -> s{_ldirsInstancesList = a}) . _Default . _Coerce;
ldirsResponseStatus :: Lens' ListDeploymentInstancesResponse Int
ldirsResponseStatus = lens _ldirsResponseStatus (\ s a -> s{_ldirsResponseStatus = a});
instance NFData ListDeploymentInstancesResponse