{-# 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.Cloud9.DescribeEnvironmentMemberships
(
describeEnvironmentMemberships
, DescribeEnvironmentMemberships
, dUserARN
, dNextToken
, dPermissions
, dEnvironmentId
, dMaxResults
, describeEnvironmentMembershipsResponse
, DescribeEnvironmentMembershipsResponse
, drsNextToken
, drsMemberships
, drsResponseStatus
) where
import Network.AWS.Cloud9.Types
import Network.AWS.Cloud9.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeEnvironmentMemberships = DescribeEnvironmentMemberships'
{ _dUserARN :: !(Maybe Text)
, _dNextToken :: !(Maybe Text)
, _dPermissions :: !(Maybe [Permissions])
, _dEnvironmentId :: !(Maybe Text)
, _dMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeEnvironmentMemberships
:: DescribeEnvironmentMemberships
describeEnvironmentMemberships =
DescribeEnvironmentMemberships'
{ _dUserARN = Nothing
, _dNextToken = Nothing
, _dPermissions = Nothing
, _dEnvironmentId = Nothing
, _dMaxResults = Nothing
}
dUserARN :: Lens' DescribeEnvironmentMemberships (Maybe Text)
dUserARN = lens _dUserARN (\ s a -> s{_dUserARN = a})
dNextToken :: Lens' DescribeEnvironmentMemberships (Maybe Text)
dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a})
dPermissions :: Lens' DescribeEnvironmentMemberships [Permissions]
dPermissions = lens _dPermissions (\ s a -> s{_dPermissions = a}) . _Default . _Coerce
dEnvironmentId :: Lens' DescribeEnvironmentMemberships (Maybe Text)
dEnvironmentId = lens _dEnvironmentId (\ s a -> s{_dEnvironmentId = a})
dMaxResults :: Lens' DescribeEnvironmentMemberships (Maybe Natural)
dMaxResults = lens _dMaxResults (\ s a -> s{_dMaxResults = a}) . mapping _Nat
instance AWSPager DescribeEnvironmentMemberships
where
page rq rs
| stop (rs ^. drsNextToken) = Nothing
| stop (rs ^. drsMemberships) = Nothing
| otherwise =
Just $ rq & dNextToken .~ rs ^. drsNextToken
instance AWSRequest DescribeEnvironmentMemberships
where
type Rs DescribeEnvironmentMemberships =
DescribeEnvironmentMembershipsResponse
request = postJSON cloud9
response
= receiveJSON
(\ s h x ->
DescribeEnvironmentMembershipsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "memberships" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable DescribeEnvironmentMemberships
where
instance NFData DescribeEnvironmentMemberships where
instance ToHeaders DescribeEnvironmentMemberships
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCloud9WorkspaceManagementService.DescribeEnvironmentMemberships"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeEnvironmentMemberships where
toJSON DescribeEnvironmentMemberships'{..}
= object
(catMaybes
[("userArn" .=) <$> _dUserARN,
("nextToken" .=) <$> _dNextToken,
("permissions" .=) <$> _dPermissions,
("environmentId" .=) <$> _dEnvironmentId,
("maxResults" .=) <$> _dMaxResults])
instance ToPath DescribeEnvironmentMemberships where
toPath = const "/"
instance ToQuery DescribeEnvironmentMemberships where
toQuery = const mempty
data DescribeEnvironmentMembershipsResponse = DescribeEnvironmentMembershipsResponse'
{ _drsNextToken :: !(Maybe Text)
, _drsMemberships :: !(Maybe [EnvironmentMember])
, _drsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeEnvironmentMembershipsResponse
:: Int
-> DescribeEnvironmentMembershipsResponse
describeEnvironmentMembershipsResponse pResponseStatus_ =
DescribeEnvironmentMembershipsResponse'
{ _drsNextToken = Nothing
, _drsMemberships = Nothing
, _drsResponseStatus = pResponseStatus_
}
drsNextToken :: Lens' DescribeEnvironmentMembershipsResponse (Maybe Text)
drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a})
drsMemberships :: Lens' DescribeEnvironmentMembershipsResponse [EnvironmentMember]
drsMemberships = lens _drsMemberships (\ s a -> s{_drsMemberships = a}) . _Default . _Coerce
drsResponseStatus :: Lens' DescribeEnvironmentMembershipsResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})
instance NFData
DescribeEnvironmentMembershipsResponse
where