{-# 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.SSM.UpdatePatchBaseline
(
updatePatchBaseline
, UpdatePatchBaseline
, upbReplace
, upbApprovalRules
, upbGlobalFilters
, upbApprovedPatchesComplianceLevel
, upbApprovedPatches
, upbApprovedPatchesEnableNonSecurity
, upbRejectedPatches
, upbSources
, upbName
, upbDescription
, upbBaselineId
, updatePatchBaselineResponse
, UpdatePatchBaselineResponse
, upbrsApprovalRules
, upbrsOperatingSystem
, upbrsGlobalFilters
, upbrsApprovedPatchesComplianceLevel
, upbrsApprovedPatches
, upbrsApprovedPatchesEnableNonSecurity
, upbrsRejectedPatches
, upbrsSources
, 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'
{ _upbReplace :: !(Maybe Bool)
, _upbApprovalRules :: !(Maybe PatchRuleGroup)
, _upbGlobalFilters :: !(Maybe PatchFilterGroup)
, _upbApprovedPatchesComplianceLevel :: !(Maybe PatchComplianceLevel)
, _upbApprovedPatches :: !(Maybe [Text])
, _upbApprovedPatchesEnableNonSecurity :: !(Maybe Bool)
, _upbRejectedPatches :: !(Maybe [Text])
, _upbSources :: !(Maybe [PatchSource])
, _upbName :: !(Maybe Text)
, _upbDescription :: !(Maybe Text)
, _upbBaselineId :: !Text
} deriving (Eq, Show, Data, Typeable, Generic)
updatePatchBaseline
:: Text
-> UpdatePatchBaseline
updatePatchBaseline pBaselineId_ =
UpdatePatchBaseline'
{ _upbReplace = Nothing
, _upbApprovalRules = Nothing
, _upbGlobalFilters = Nothing
, _upbApprovedPatchesComplianceLevel = Nothing
, _upbApprovedPatches = Nothing
, _upbApprovedPatchesEnableNonSecurity = Nothing
, _upbRejectedPatches = Nothing
, _upbSources = Nothing
, _upbName = Nothing
, _upbDescription = Nothing
, _upbBaselineId = pBaselineId_
}
upbReplace :: Lens' UpdatePatchBaseline (Maybe Bool)
upbReplace = lens _upbReplace (\ s a -> s{_upbReplace = a})
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
upbApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaseline (Maybe Bool)
upbApprovedPatchesEnableNonSecurity = lens _upbApprovedPatchesEnableNonSecurity (\ s a -> s{_upbApprovedPatchesEnableNonSecurity = a})
upbRejectedPatches :: Lens' UpdatePatchBaseline [Text]
upbRejectedPatches = lens _upbRejectedPatches (\ s a -> s{_upbRejectedPatches = a}) . _Default . _Coerce
upbSources :: Lens' UpdatePatchBaseline [PatchSource]
upbSources = lens _upbSources (\ s a -> s{_upbSources = 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 .?> "ApprovedPatchesEnableNonSecurity")
<*> (x .?> "RejectedPatches" .!@ mempty)
<*> (x .?> "Sources" .!@ 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
[("Replace" .=) <$> _upbReplace,
("ApprovalRules" .=) <$> _upbApprovalRules,
("GlobalFilters" .=) <$> _upbGlobalFilters,
("ApprovedPatchesComplianceLevel" .=) <$>
_upbApprovedPatchesComplianceLevel,
("ApprovedPatches" .=) <$> _upbApprovedPatches,
("ApprovedPatchesEnableNonSecurity" .=) <$>
_upbApprovedPatchesEnableNonSecurity,
("RejectedPatches" .=) <$> _upbRejectedPatches,
("Sources" .=) <$> _upbSources,
("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])
, _upbrsApprovedPatchesEnableNonSecurity :: !(Maybe Bool)
, _upbrsRejectedPatches :: !(Maybe [Text])
, _upbrsSources :: !(Maybe [PatchSource])
, _upbrsCreatedDate :: !(Maybe POSIX)
, _upbrsName :: !(Maybe Text)
, _upbrsModifiedDate :: !(Maybe POSIX)
, _upbrsDescription :: !(Maybe Text)
, _upbrsBaselineId :: !(Maybe Text)
, _upbrsResponseStatus :: !Int
} deriving (Eq, Show, Data, Typeable, Generic)
updatePatchBaselineResponse
:: Int
-> UpdatePatchBaselineResponse
updatePatchBaselineResponse pResponseStatus_ =
UpdatePatchBaselineResponse'
{ _upbrsApprovalRules = Nothing
, _upbrsOperatingSystem = Nothing
, _upbrsGlobalFilters = Nothing
, _upbrsApprovedPatchesComplianceLevel = Nothing
, _upbrsApprovedPatches = Nothing
, _upbrsApprovedPatchesEnableNonSecurity = Nothing
, _upbrsRejectedPatches = Nothing
, _upbrsSources = 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
upbrsApprovedPatchesEnableNonSecurity :: Lens' UpdatePatchBaselineResponse (Maybe Bool)
upbrsApprovedPatchesEnableNonSecurity = lens _upbrsApprovedPatchesEnableNonSecurity (\ s a -> s{_upbrsApprovedPatchesEnableNonSecurity = a})
upbrsRejectedPatches :: Lens' UpdatePatchBaselineResponse [Text]
upbrsRejectedPatches = lens _upbrsRejectedPatches (\ s a -> s{_upbrsRejectedPatches = a}) . _Default . _Coerce
upbrsSources :: Lens' UpdatePatchBaselineResponse [PatchSource]
upbrsSources = lens _upbrsSources (\ s a -> s{_upbrsSources = 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