module Network.AWS.SSM.UpdatePatchBaseline
(
updatePatchBaseline
, UpdatePatchBaseline
, upbApprovalRules
, upbGlobalFilters
, upbApprovedPatchesComplianceLevel
, upbApprovedPatches
, upbRejectedPatches
, upbName
, upbDescription
, upbBaselineId
, updatePatchBaselineResponse
, UpdatePatchBaselineResponse
, upbrsApprovalRules
, upbrsOperatingSystem
, upbrsGlobalFilters
, upbrsApprovedPatchesComplianceLevel
, upbrsApprovedPatches
, upbrsRejectedPatches
, upbrsCreatedDate
, upbrsName
, upbrsModifiedDate
, upbrsDescription
, upbrsBaselineId
, upbrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SSM.Types
import Network.AWS.SSM.Types.Product
data UpdatePatchBaseline = UpdatePatchBaseline'
{ _upbApprovalRules :: !(Maybe PatchRuleGroup)
, _upbGlobalFilters :: !(Maybe PatchFilterGroup)
, _upbApprovedPatchesComplianceLevel :: !(Maybe PatchComplianceLevel)
, _upbApprovedPatches :: !(Maybe [Text])
, _upbRejectedPatches :: !(Maybe [Text])
, _upbName :: !(Maybe Text)
, _upbDescription :: !(Maybe Text)
, _upbBaselineId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updatePatchBaseline
:: Text
-> UpdatePatchBaseline
updatePatchBaseline pBaselineId_ =
UpdatePatchBaseline'
{ _upbApprovalRules = Nothing
, _upbGlobalFilters = Nothing
, _upbApprovedPatchesComplianceLevel = Nothing
, _upbApprovedPatches = Nothing
, _upbRejectedPatches = Nothing
, _upbName = Nothing
, _upbDescription = Nothing
, _upbBaselineId = pBaselineId_
}
upbApprovalRules :: Lens' UpdatePatchBaseline (Maybe PatchRuleGroup)
upbApprovalRules = lens _upbApprovalRules (\ s a -> s{_upbApprovalRules = a});
upbGlobalFilters :: Lens' UpdatePatchBaseline (Maybe PatchFilterGroup)
upbGlobalFilters = lens _upbGlobalFilters (\ s a -> s{_upbGlobalFilters = a});
upbApprovedPatchesComplianceLevel :: Lens' UpdatePatchBaseline (Maybe PatchComplianceLevel)
upbApprovedPatchesComplianceLevel = lens _upbApprovedPatchesComplianceLevel (\ s a -> s{_upbApprovedPatchesComplianceLevel = a});
upbApprovedPatches :: Lens' UpdatePatchBaseline [Text]
upbApprovedPatches = lens _upbApprovedPatches (\ s a -> s{_upbApprovedPatches = a}) . _Default . _Coerce;
upbRejectedPatches :: Lens' UpdatePatchBaseline [Text]
upbRejectedPatches = lens _upbRejectedPatches (\ s a -> s{_upbRejectedPatches = a}) . _Default . _Coerce;
upbName :: Lens' UpdatePatchBaseline (Maybe Text)
upbName = lens _upbName (\ s a -> s{_upbName = a});
upbDescription :: Lens' UpdatePatchBaseline (Maybe Text)
upbDescription = lens _upbDescription (\ s a -> s{_upbDescription = a});
upbBaselineId :: Lens' UpdatePatchBaseline Text
upbBaselineId = lens _upbBaselineId (\ s a -> s{_upbBaselineId = a});
instance AWSRequest UpdatePatchBaseline where
type Rs UpdatePatchBaseline =
UpdatePatchBaselineResponse
request = postJSON ssm
response
= receiveJSON
(\ s h x ->
UpdatePatchBaselineResponse' <$>
(x .?> "ApprovalRules") <*> (x .?> "OperatingSystem")
<*> (x .?> "GlobalFilters")
<*> (x .?> "ApprovedPatchesComplianceLevel")
<*> (x .?> "ApprovedPatches" .!@ mempty)
<*> (x .?> "RejectedPatches" .!@ mempty)
<*> (x .?> "CreatedDate")
<*> (x .?> "Name")
<*> (x .?> "ModifiedDate")
<*> (x .?> "Description")
<*> (x .?> "BaselineId")
<*> (pure (fromEnum s)))
instance Hashable UpdatePatchBaseline where
instance NFData UpdatePatchBaseline where
instance ToHeaders UpdatePatchBaseline where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.UpdatePatchBaseline" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdatePatchBaseline where
toJSON UpdatePatchBaseline'{..}
= object
(catMaybes
[("ApprovalRules" .=) <$> _upbApprovalRules,
("GlobalFilters" .=) <$> _upbGlobalFilters,
("ApprovedPatchesComplianceLevel" .=) <$>
_upbApprovedPatchesComplianceLevel,
("ApprovedPatches" .=) <$> _upbApprovedPatches,
("RejectedPatches" .=) <$> _upbRejectedPatches,
("Name" .=) <$> _upbName,
("Description" .=) <$> _upbDescription,
Just ("BaselineId" .= _upbBaselineId)])
instance ToPath UpdatePatchBaseline where
toPath = const "/"
instance ToQuery UpdatePatchBaseline where
toQuery = const mempty
data UpdatePatchBaselineResponse = UpdatePatchBaselineResponse'
{ _upbrsApprovalRules :: !(Maybe PatchRuleGroup)
, _upbrsOperatingSystem :: !(Maybe OperatingSystem)
, _upbrsGlobalFilters :: !(Maybe PatchFilterGroup)
, _upbrsApprovedPatchesComplianceLevel :: !(Maybe PatchComplianceLevel)
, _upbrsApprovedPatches :: !(Maybe [Text])
, _upbrsRejectedPatches :: !(Maybe [Text])
, _upbrsCreatedDate :: !(Maybe POSIX)
, _upbrsName :: !(Maybe Text)
, _upbrsModifiedDate :: !(Maybe POSIX)
, _upbrsDescription :: !(Maybe Text)
, _upbrsBaselineId :: !(Maybe Text)
, _upbrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updatePatchBaselineResponse
:: Int
-> UpdatePatchBaselineResponse
updatePatchBaselineResponse pResponseStatus_ =
UpdatePatchBaselineResponse'
{ _upbrsApprovalRules = Nothing
, _upbrsOperatingSystem = Nothing
, _upbrsGlobalFilters = Nothing
, _upbrsApprovedPatchesComplianceLevel = Nothing
, _upbrsApprovedPatches = Nothing
, _upbrsRejectedPatches = Nothing
, _upbrsCreatedDate = Nothing
, _upbrsName = Nothing
, _upbrsModifiedDate = Nothing
, _upbrsDescription = Nothing
, _upbrsBaselineId = Nothing
, _upbrsResponseStatus = pResponseStatus_
}
upbrsApprovalRules :: Lens' UpdatePatchBaselineResponse (Maybe PatchRuleGroup)
upbrsApprovalRules = lens _upbrsApprovalRules (\ s a -> s{_upbrsApprovalRules = a});
upbrsOperatingSystem :: Lens' UpdatePatchBaselineResponse (Maybe OperatingSystem)
upbrsOperatingSystem = lens _upbrsOperatingSystem (\ s a -> s{_upbrsOperatingSystem = a});
upbrsGlobalFilters :: Lens' UpdatePatchBaselineResponse (Maybe PatchFilterGroup)
upbrsGlobalFilters = lens _upbrsGlobalFilters (\ s a -> s{_upbrsGlobalFilters = a});
upbrsApprovedPatchesComplianceLevel :: Lens' UpdatePatchBaselineResponse (Maybe PatchComplianceLevel)
upbrsApprovedPatchesComplianceLevel = lens _upbrsApprovedPatchesComplianceLevel (\ s a -> s{_upbrsApprovedPatchesComplianceLevel = a});
upbrsApprovedPatches :: Lens' UpdatePatchBaselineResponse [Text]
upbrsApprovedPatches = lens _upbrsApprovedPatches (\ s a -> s{_upbrsApprovedPatches = a}) . _Default . _Coerce;
upbrsRejectedPatches :: Lens' UpdatePatchBaselineResponse [Text]
upbrsRejectedPatches = lens _upbrsRejectedPatches (\ s a -> s{_upbrsRejectedPatches = a}) . _Default . _Coerce;
upbrsCreatedDate :: Lens' UpdatePatchBaselineResponse (Maybe UTCTime)
upbrsCreatedDate = lens _upbrsCreatedDate (\ s a -> s{_upbrsCreatedDate = a}) . mapping _Time;
upbrsName :: Lens' UpdatePatchBaselineResponse (Maybe Text)
upbrsName = lens _upbrsName (\ s a -> s{_upbrsName = a});
upbrsModifiedDate :: Lens' UpdatePatchBaselineResponse (Maybe UTCTime)
upbrsModifiedDate = lens _upbrsModifiedDate (\ s a -> s{_upbrsModifiedDate = a}) . mapping _Time;
upbrsDescription :: Lens' UpdatePatchBaselineResponse (Maybe Text)
upbrsDescription = lens _upbrsDescription (\ s a -> s{_upbrsDescription = a});
upbrsBaselineId :: Lens' UpdatePatchBaselineResponse (Maybe Text)
upbrsBaselineId = lens _upbrsBaselineId (\ s a -> s{_upbrsBaselineId = a});
upbrsResponseStatus :: Lens' UpdatePatchBaselineResponse Int
upbrsResponseStatus = lens _upbrsResponseStatus (\ s a -> s{_upbrsResponseStatus = a});
instance NFData UpdatePatchBaselineResponse where