module Network.AWS.CodeDeploy.UpdateDeploymentGroup
(
updateDeploymentGroup
, UpdateDeploymentGroup
, udgServiceRoleARN
, udgDeploymentConfigName
, udgNewDeploymentGroupName
, udgEc2TagFilters
, udgOnPremisesInstanceTagFilters
, udgAutoScalingGroups
, udgApplicationName
, udgCurrentDeploymentGroupName
, updateDeploymentGroupResponse
, UpdateDeploymentGroupResponse
, udgrsHooksNotCleanedUp
, udgrsResponseStatus
) where
import Network.AWS.CodeDeploy.Types
import Network.AWS.CodeDeploy.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateDeploymentGroup = UpdateDeploymentGroup'
{ _udgServiceRoleARN :: !(Maybe Text)
, _udgDeploymentConfigName :: !(Maybe Text)
, _udgNewDeploymentGroupName :: !(Maybe Text)
, _udgEc2TagFilters :: !(Maybe [EC2TagFilter])
, _udgOnPremisesInstanceTagFilters :: !(Maybe [TagFilter])
, _udgAutoScalingGroups :: !(Maybe [Text])
, _udgApplicationName :: !Text
, _udgCurrentDeploymentGroupName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateDeploymentGroup
:: Text
-> Text
-> UpdateDeploymentGroup
updateDeploymentGroup pApplicationName_ pCurrentDeploymentGroupName_ =
UpdateDeploymentGroup'
{ _udgServiceRoleARN = Nothing
, _udgDeploymentConfigName = Nothing
, _udgNewDeploymentGroupName = Nothing
, _udgEc2TagFilters = Nothing
, _udgOnPremisesInstanceTagFilters = Nothing
, _udgAutoScalingGroups = Nothing
, _udgApplicationName = pApplicationName_
, _udgCurrentDeploymentGroupName = pCurrentDeploymentGroupName_
}
udgServiceRoleARN :: Lens' UpdateDeploymentGroup (Maybe Text)
udgServiceRoleARN = lens _udgServiceRoleARN (\ s a -> s{_udgServiceRoleARN = a});
udgDeploymentConfigName :: Lens' UpdateDeploymentGroup (Maybe Text)
udgDeploymentConfigName = lens _udgDeploymentConfigName (\ s a -> s{_udgDeploymentConfigName = a});
udgNewDeploymentGroupName :: Lens' UpdateDeploymentGroup (Maybe Text)
udgNewDeploymentGroupName = lens _udgNewDeploymentGroupName (\ s a -> s{_udgNewDeploymentGroupName = a});
udgEc2TagFilters :: Lens' UpdateDeploymentGroup [EC2TagFilter]
udgEc2TagFilters = lens _udgEc2TagFilters (\ s a -> s{_udgEc2TagFilters = a}) . _Default . _Coerce;
udgOnPremisesInstanceTagFilters :: Lens' UpdateDeploymentGroup [TagFilter]
udgOnPremisesInstanceTagFilters = lens _udgOnPremisesInstanceTagFilters (\ s a -> s{_udgOnPremisesInstanceTagFilters = a}) . _Default . _Coerce;
udgAutoScalingGroups :: Lens' UpdateDeploymentGroup [Text]
udgAutoScalingGroups = lens _udgAutoScalingGroups (\ s a -> s{_udgAutoScalingGroups = a}) . _Default . _Coerce;
udgApplicationName :: Lens' UpdateDeploymentGroup Text
udgApplicationName = lens _udgApplicationName (\ s a -> s{_udgApplicationName = a});
udgCurrentDeploymentGroupName :: Lens' UpdateDeploymentGroup Text
udgCurrentDeploymentGroupName = lens _udgCurrentDeploymentGroupName (\ s a -> s{_udgCurrentDeploymentGroupName = a});
instance AWSRequest UpdateDeploymentGroup where
type Rs UpdateDeploymentGroup =
UpdateDeploymentGroupResponse
request = postJSON codeDeploy
response
= receiveJSON
(\ s h x ->
UpdateDeploymentGroupResponse' <$>
(x .?> "hooksNotCleanedUp" .!@ mempty) <*>
(pure (fromEnum s)))
instance ToHeaders UpdateDeploymentGroup where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeDeploy_20141006.UpdateDeploymentGroup" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateDeploymentGroup where
toJSON UpdateDeploymentGroup'{..}
= object
(catMaybes
[("serviceRoleArn" .=) <$> _udgServiceRoleARN,
("deploymentConfigName" .=) <$>
_udgDeploymentConfigName,
("newDeploymentGroupName" .=) <$>
_udgNewDeploymentGroupName,
("ec2TagFilters" .=) <$> _udgEc2TagFilters,
("onPremisesInstanceTagFilters" .=) <$>
_udgOnPremisesInstanceTagFilters,
("autoScalingGroups" .=) <$> _udgAutoScalingGroups,
Just ("applicationName" .= _udgApplicationName),
Just
("currentDeploymentGroupName" .=
_udgCurrentDeploymentGroupName)])
instance ToPath UpdateDeploymentGroup where
toPath = const "/"
instance ToQuery UpdateDeploymentGroup where
toQuery = const mempty
data UpdateDeploymentGroupResponse = UpdateDeploymentGroupResponse'
{ _udgrsHooksNotCleanedUp :: !(Maybe [AutoScalingGroup])
, _udgrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateDeploymentGroupResponse
:: Int
-> UpdateDeploymentGroupResponse
updateDeploymentGroupResponse pResponseStatus_ =
UpdateDeploymentGroupResponse'
{ _udgrsHooksNotCleanedUp = Nothing
, _udgrsResponseStatus = pResponseStatus_
}
udgrsHooksNotCleanedUp :: Lens' UpdateDeploymentGroupResponse [AutoScalingGroup]
udgrsHooksNotCleanedUp = lens _udgrsHooksNotCleanedUp (\ s a -> s{_udgrsHooksNotCleanedUp = a}) . _Default . _Coerce;
udgrsResponseStatus :: Lens' UpdateDeploymentGroupResponse Int
udgrsResponseStatus = lens _udgrsResponseStatus (\ s a -> s{_udgrsResponseStatus = a});