module Network.AWS.SSM.GetParametersByPath
(
getParametersByPath
, GetParametersByPath
, gpbpWithDecryption
, gpbpParameterFilters
, gpbpNextToken
, gpbpRecursive
, gpbpMaxResults
, gpbpPath
, getParametersByPathResponse
, GetParametersByPathResponse
, gpbprsNextToken
, gpbprsParameters
, gpbprsResponseStatus
) 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 GetParametersByPath = GetParametersByPath'
{ _gpbpWithDecryption :: !(Maybe Bool)
, _gpbpParameterFilters :: !(Maybe [ParameterStringFilter])
, _gpbpNextToken :: !(Maybe Text)
, _gpbpRecursive :: !(Maybe Bool)
, _gpbpMaxResults :: !(Maybe Nat)
, _gpbpPath :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getParametersByPath
:: Text
-> GetParametersByPath
getParametersByPath pPath_ =
GetParametersByPath'
{ _gpbpWithDecryption = Nothing
, _gpbpParameterFilters = Nothing
, _gpbpNextToken = Nothing
, _gpbpRecursive = Nothing
, _gpbpMaxResults = Nothing
, _gpbpPath = pPath_
}
gpbpWithDecryption :: Lens' GetParametersByPath (Maybe Bool)
gpbpWithDecryption = lens _gpbpWithDecryption (\ s a -> s{_gpbpWithDecryption = a});
gpbpParameterFilters :: Lens' GetParametersByPath [ParameterStringFilter]
gpbpParameterFilters = lens _gpbpParameterFilters (\ s a -> s{_gpbpParameterFilters = a}) . _Default . _Coerce;
gpbpNextToken :: Lens' GetParametersByPath (Maybe Text)
gpbpNextToken = lens _gpbpNextToken (\ s a -> s{_gpbpNextToken = a});
gpbpRecursive :: Lens' GetParametersByPath (Maybe Bool)
gpbpRecursive = lens _gpbpRecursive (\ s a -> s{_gpbpRecursive = a});
gpbpMaxResults :: Lens' GetParametersByPath (Maybe Natural)
gpbpMaxResults = lens _gpbpMaxResults (\ s a -> s{_gpbpMaxResults = a}) . mapping _Nat;
gpbpPath :: Lens' GetParametersByPath Text
gpbpPath = lens _gpbpPath (\ s a -> s{_gpbpPath = a});
instance AWSRequest GetParametersByPath where
type Rs GetParametersByPath =
GetParametersByPathResponse
request = postJSON ssm
response
= receiveJSON
(\ s h x ->
GetParametersByPathResponse' <$>
(x .?> "NextToken") <*>
(x .?> "Parameters" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable GetParametersByPath where
instance NFData GetParametersByPath where
instance ToHeaders GetParametersByPath where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.GetParametersByPath" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetParametersByPath where
toJSON GetParametersByPath'{..}
= object
(catMaybes
[("WithDecryption" .=) <$> _gpbpWithDecryption,
("ParameterFilters" .=) <$> _gpbpParameterFilters,
("NextToken" .=) <$> _gpbpNextToken,
("Recursive" .=) <$> _gpbpRecursive,
("MaxResults" .=) <$> _gpbpMaxResults,
Just ("Path" .= _gpbpPath)])
instance ToPath GetParametersByPath where
toPath = const "/"
instance ToQuery GetParametersByPath where
toQuery = const mempty
data GetParametersByPathResponse = GetParametersByPathResponse'
{ _gpbprsNextToken :: !(Maybe Text)
, _gpbprsParameters :: !(Maybe [Parameter])
, _gpbprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getParametersByPathResponse
:: Int
-> GetParametersByPathResponse
getParametersByPathResponse pResponseStatus_ =
GetParametersByPathResponse'
{ _gpbprsNextToken = Nothing
, _gpbprsParameters = Nothing
, _gpbprsResponseStatus = pResponseStatus_
}
gpbprsNextToken :: Lens' GetParametersByPathResponse (Maybe Text)
gpbprsNextToken = lens _gpbprsNextToken (\ s a -> s{_gpbprsNextToken = a});
gpbprsParameters :: Lens' GetParametersByPathResponse [Parameter]
gpbprsParameters = lens _gpbprsParameters (\ s a -> s{_gpbprsParameters = a}) . _Default . _Coerce;
gpbprsResponseStatus :: Lens' GetParametersByPathResponse Int
gpbprsResponseStatus = lens _gpbprsResponseStatus (\ s a -> s{_gpbprsResponseStatus = a});
instance NFData GetParametersByPathResponse where