{-# 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.OpsWorks.DescribeUserProfiles
(
describeUserProfiles
, DescribeUserProfiles
, dupIAMUserARNs
, describeUserProfilesResponse
, DescribeUserProfilesResponse
, duprsUserProfiles
, duprsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.OpsWorks.Types
import Network.AWS.OpsWorks.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeUserProfiles = DescribeUserProfiles'
{ _dupIAMUserARNs :: Maybe [Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeUserProfiles
:: DescribeUserProfiles
describeUserProfiles =
DescribeUserProfiles'
{ _dupIAMUserARNs = Nothing
}
dupIAMUserARNs :: Lens' DescribeUserProfiles [Text]
dupIAMUserARNs = lens _dupIAMUserARNs (\ s a -> s{_dupIAMUserARNs = a}) . _Default . _Coerce;
instance AWSRequest DescribeUserProfiles where
type Rs DescribeUserProfiles =
DescribeUserProfilesResponse
request = postJSON opsWorks
response
= receiveJSON
(\ s h x ->
DescribeUserProfilesResponse' <$>
(x .?> "UserProfiles" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeUserProfiles
instance NFData DescribeUserProfiles
instance ToHeaders DescribeUserProfiles where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OpsWorks_20130218.DescribeUserProfiles" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeUserProfiles where
toJSON DescribeUserProfiles'{..}
= object
(catMaybes [("IamUserArns" .=) <$> _dupIAMUserARNs])
instance ToPath DescribeUserProfiles where
toPath = const "/"
instance ToQuery DescribeUserProfiles where
toQuery = const mempty
data DescribeUserProfilesResponse = DescribeUserProfilesResponse'
{ _duprsUserProfiles :: !(Maybe [UserProfile])
, _duprsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeUserProfilesResponse
:: Int
-> DescribeUserProfilesResponse
describeUserProfilesResponse pResponseStatus_ =
DescribeUserProfilesResponse'
{ _duprsUserProfiles = Nothing
, _duprsResponseStatus = pResponseStatus_
}
duprsUserProfiles :: Lens' DescribeUserProfilesResponse [UserProfile]
duprsUserProfiles = lens _duprsUserProfiles (\ s a -> s{_duprsUserProfiles = a}) . _Default . _Coerce;
duprsResponseStatus :: Lens' DescribeUserProfilesResponse Int
duprsResponseStatus = lens _duprsResponseStatus (\ s a -> s{_duprsResponseStatus = a});
instance NFData DescribeUserProfilesResponse