module Network.AWS.WorkSpaces.DescribeWorkspaceDirectories
(
describeWorkspaceDirectories
, DescribeWorkspaceDirectories
, dwdNextToken
, dwdDirectoryIds
, describeWorkspaceDirectoriesResponse
, DescribeWorkspaceDirectoriesResponse
, dwdrsDirectories
, dwdrsNextToken
, dwdrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.WorkSpaces.Types
import Network.AWS.WorkSpaces.Types.Product
data DescribeWorkspaceDirectories = DescribeWorkspaceDirectories'
{ _dwdNextToken :: !(Maybe Text)
, _dwdDirectoryIds :: !(Maybe (List1 Text))
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeWorkspaceDirectories
:: DescribeWorkspaceDirectories
describeWorkspaceDirectories =
DescribeWorkspaceDirectories'
{ _dwdNextToken = Nothing
, _dwdDirectoryIds = Nothing
}
dwdNextToken :: Lens' DescribeWorkspaceDirectories (Maybe Text)
dwdNextToken = lens _dwdNextToken (\ s a -> s{_dwdNextToken = a});
dwdDirectoryIds :: Lens' DescribeWorkspaceDirectories (Maybe (NonEmpty Text))
dwdDirectoryIds = lens _dwdDirectoryIds (\ s a -> s{_dwdDirectoryIds = a}) . mapping _List1;
instance AWSRequest DescribeWorkspaceDirectories
where
type Rs DescribeWorkspaceDirectories =
DescribeWorkspaceDirectoriesResponse
request = postJSON workSpaces
response
= receiveJSON
(\ s h x ->
DescribeWorkspaceDirectoriesResponse' <$>
(x .?> "Directories" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribeWorkspaceDirectories
instance NFData DescribeWorkspaceDirectories
instance ToHeaders DescribeWorkspaceDirectories where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("WorkspacesService.DescribeWorkspaceDirectories" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeWorkspaceDirectories where
toJSON DescribeWorkspaceDirectories'{..}
= object
(catMaybes
[("NextToken" .=) <$> _dwdNextToken,
("DirectoryIds" .=) <$> _dwdDirectoryIds])
instance ToPath DescribeWorkspaceDirectories where
toPath = const "/"
instance ToQuery DescribeWorkspaceDirectories where
toQuery = const mempty
data DescribeWorkspaceDirectoriesResponse = DescribeWorkspaceDirectoriesResponse'
{ _dwdrsDirectories :: !(Maybe [WorkspaceDirectory])
, _dwdrsNextToken :: !(Maybe Text)
, _dwdrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeWorkspaceDirectoriesResponse
:: Int
-> DescribeWorkspaceDirectoriesResponse
describeWorkspaceDirectoriesResponse pResponseStatus_ =
DescribeWorkspaceDirectoriesResponse'
{ _dwdrsDirectories = Nothing
, _dwdrsNextToken = Nothing
, _dwdrsResponseStatus = pResponseStatus_
}
dwdrsDirectories :: Lens' DescribeWorkspaceDirectoriesResponse [WorkspaceDirectory]
dwdrsDirectories = lens _dwdrsDirectories (\ s a -> s{_dwdrsDirectories = a}) . _Default . _Coerce;
dwdrsNextToken :: Lens' DescribeWorkspaceDirectoriesResponse (Maybe Text)
dwdrsNextToken = lens _dwdrsNextToken (\ s a -> s{_dwdrsNextToken = a});
dwdrsResponseStatus :: Lens' DescribeWorkspaceDirectoriesResponse Int
dwdrsResponseStatus = lens _dwdrsResponseStatus (\ s a -> s{_dwdrsResponseStatus = a});
instance NFData DescribeWorkspaceDirectoriesResponse