{-# 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.DescribePatchBaselines
(
describePatchBaselines
, DescribePatchBaselines
, dpbFilters
, dpbNextToken
, dpbMaxResults
, describePatchBaselinesResponse
, DescribePatchBaselinesResponse
, dpbsrsBaselineIdentities
, dpbsrsNextToken
, dpbsrsResponseStatus
) 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 DescribePatchBaselines = DescribePatchBaselines'
{ _dpbFilters :: !(Maybe [PatchOrchestratorFilter])
, _dpbNextToken :: !(Maybe Text)
, _dpbMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describePatchBaselines
:: DescribePatchBaselines
describePatchBaselines =
DescribePatchBaselines'
{_dpbFilters = Nothing, _dpbNextToken = Nothing, _dpbMaxResults = Nothing}
dpbFilters :: Lens' DescribePatchBaselines [PatchOrchestratorFilter]
dpbFilters = lens _dpbFilters (\ s a -> s{_dpbFilters = a}) . _Default . _Coerce
dpbNextToken :: Lens' DescribePatchBaselines (Maybe Text)
dpbNextToken = lens _dpbNextToken (\ s a -> s{_dpbNextToken = a})
dpbMaxResults :: Lens' DescribePatchBaselines (Maybe Natural)
dpbMaxResults = lens _dpbMaxResults (\ s a -> s{_dpbMaxResults = a}) . mapping _Nat
instance AWSRequest DescribePatchBaselines where
type Rs DescribePatchBaselines =
DescribePatchBaselinesResponse
request = postJSON ssm
response
= receiveJSON
(\ s h x ->
DescribePatchBaselinesResponse' <$>
(x .?> "BaselineIdentities" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribePatchBaselines where
instance NFData DescribePatchBaselines where
instance ToHeaders DescribePatchBaselines where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.DescribePatchBaselines" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribePatchBaselines where
toJSON DescribePatchBaselines'{..}
= object
(catMaybes
[("Filters" .=) <$> _dpbFilters,
("NextToken" .=) <$> _dpbNextToken,
("MaxResults" .=) <$> _dpbMaxResults])
instance ToPath DescribePatchBaselines where
toPath = const "/"
instance ToQuery DescribePatchBaselines where
toQuery = const mempty
data DescribePatchBaselinesResponse = DescribePatchBaselinesResponse'
{ _dpbsrsBaselineIdentities :: !(Maybe [PatchBaselineIdentity])
, _dpbsrsNextToken :: !(Maybe Text)
, _dpbsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describePatchBaselinesResponse
:: Int
-> DescribePatchBaselinesResponse
describePatchBaselinesResponse pResponseStatus_ =
DescribePatchBaselinesResponse'
{ _dpbsrsBaselineIdentities = Nothing
, _dpbsrsNextToken = Nothing
, _dpbsrsResponseStatus = pResponseStatus_
}
dpbsrsBaselineIdentities :: Lens' DescribePatchBaselinesResponse [PatchBaselineIdentity]
dpbsrsBaselineIdentities = lens _dpbsrsBaselineIdentities (\ s a -> s{_dpbsrsBaselineIdentities = a}) . _Default . _Coerce
dpbsrsNextToken :: Lens' DescribePatchBaselinesResponse (Maybe Text)
dpbsrsNextToken = lens _dpbsrsNextToken (\ s a -> s{_dpbsrsNextToken = a})
dpbsrsResponseStatus :: Lens' DescribePatchBaselinesResponse Int
dpbsrsResponseStatus = lens _dpbsrsResponseStatus (\ s a -> s{_dpbsrsResponseStatus = a})
instance NFData DescribePatchBaselinesResponse where