{-# 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.GetParameters
(
getParameters
, GetParameters
, gpWithDecryption
, gpNames
, getParametersResponse
, GetParametersResponse
, gprsParameters
, gprsInvalidParameters
, gprsResponseStatus
) 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 GetParameters = GetParameters'
{ _gpWithDecryption :: !(Maybe Bool)
, _gpNames :: !(List1 Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getParameters
:: NonEmpty Text
-> GetParameters
getParameters pNames_ =
GetParameters'
{ _gpWithDecryption = Nothing
, _gpNames = _List1 # pNames_
}
gpWithDecryption :: Lens' GetParameters (Maybe Bool)
gpWithDecryption = lens _gpWithDecryption (\ s a -> s{_gpWithDecryption = a});
gpNames :: Lens' GetParameters (NonEmpty Text)
gpNames = lens _gpNames (\ s a -> s{_gpNames = a}) . _List1;
instance AWSRequest GetParameters where
type Rs GetParameters = GetParametersResponse
request = postJSON ssm
response
= receiveJSON
(\ s h x ->
GetParametersResponse' <$>
(x .?> "Parameters" .!@ mempty) <*>
(x .?> "InvalidParameters")
<*> (pure (fromEnum s)))
instance Hashable GetParameters
instance NFData GetParameters
instance ToHeaders GetParameters where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.GetParameters" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetParameters where
toJSON GetParameters'{..}
= object
(catMaybes
[("WithDecryption" .=) <$> _gpWithDecryption,
Just ("Names" .= _gpNames)])
instance ToPath GetParameters where
toPath = const "/"
instance ToQuery GetParameters where
toQuery = const mempty
data GetParametersResponse = GetParametersResponse'
{ _gprsParameters :: !(Maybe [Parameter])
, _gprsInvalidParameters :: !(Maybe (List1 Text))
, _gprsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getParametersResponse
:: Int
-> GetParametersResponse
getParametersResponse pResponseStatus_ =
GetParametersResponse'
{ _gprsParameters = Nothing
, _gprsInvalidParameters = Nothing
, _gprsResponseStatus = pResponseStatus_
}
gprsParameters :: Lens' GetParametersResponse [Parameter]
gprsParameters = lens _gprsParameters (\ s a -> s{_gprsParameters = a}) . _Default . _Coerce;
gprsInvalidParameters :: Lens' GetParametersResponse (Maybe (NonEmpty Text))
gprsInvalidParameters = lens _gprsInvalidParameters (\ s a -> s{_gprsInvalidParameters = a}) . mapping _List1;
gprsResponseStatus :: Lens' GetParametersResponse Int
gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a});
instance NFData GetParametersResponse