{-# 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
, grsParameters
, grsInvalidParameters
, grsResponseStatus
) 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" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable GetParameters where
instance NFData GetParameters where
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'
{ _grsParameters :: !(Maybe [Parameter])
, _grsInvalidParameters :: !(Maybe [Text])
, _grsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getParametersResponse
:: Int
-> GetParametersResponse
getParametersResponse pResponseStatus_ =
GetParametersResponse'
{ _grsParameters = Nothing
, _grsInvalidParameters = Nothing
, _grsResponseStatus = pResponseStatus_
}
grsParameters :: Lens' GetParametersResponse [Parameter]
grsParameters = lens _grsParameters (\ s a -> s{_grsParameters = a}) . _Default . _Coerce
grsInvalidParameters :: Lens' GetParametersResponse [Text]
grsInvalidParameters = lens _grsInvalidParameters (\ s a -> s{_grsInvalidParameters = a}) . _Default . _Coerce
grsResponseStatus :: Lens' GetParametersResponse Int
grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a})
instance NFData GetParametersResponse where