module Network.AWS.WorkSpaces.DescribeWorkspaceDirectories
(
DescribeWorkspaceDirectories
, describeWorkspaceDirectories
, dwdDirectoryIds
, dwdNextToken
, DescribeWorkspaceDirectoriesResponse
, describeWorkspaceDirectoriesResponse
, dwdrDirectories
, dwdrNextToken
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.WorkSpaces.Types
import qualified GHC.Exts
data DescribeWorkspaceDirectories = DescribeWorkspaceDirectories
{ _dwdDirectoryIds :: List1 "DirectoryIds" Text
, _dwdNextToken :: Maybe Text
} deriving (Eq, Ord, Read, Show)
describeWorkspaceDirectories :: NonEmpty Text
-> DescribeWorkspaceDirectories
describeWorkspaceDirectories p1 = DescribeWorkspaceDirectories
{ _dwdDirectoryIds = withIso _List1 (const id) p1
, _dwdNextToken = Nothing
}
dwdDirectoryIds :: Lens' DescribeWorkspaceDirectories (NonEmpty Text)
dwdDirectoryIds = lens _dwdDirectoryIds (\s a -> s { _dwdDirectoryIds = a }) . _List1
dwdNextToken :: Lens' DescribeWorkspaceDirectories (Maybe Text)
dwdNextToken = lens _dwdNextToken (\s a -> s { _dwdNextToken = a })
data DescribeWorkspaceDirectoriesResponse = DescribeWorkspaceDirectoriesResponse
{ _dwdrDirectories :: List "Directories" WorkspaceDirectory
, _dwdrNextToken :: Maybe Text
} deriving (Eq, Read, Show)
describeWorkspaceDirectoriesResponse :: DescribeWorkspaceDirectoriesResponse
describeWorkspaceDirectoriesResponse = DescribeWorkspaceDirectoriesResponse
{ _dwdrDirectories = mempty
, _dwdrNextToken = Nothing
}
dwdrDirectories :: Lens' DescribeWorkspaceDirectoriesResponse [WorkspaceDirectory]
dwdrDirectories = lens _dwdrDirectories (\s a -> s { _dwdrDirectories = a }) . _List
dwdrNextToken :: Lens' DescribeWorkspaceDirectoriesResponse (Maybe Text)
dwdrNextToken = lens _dwdrNextToken (\s a -> s { _dwdrNextToken = a })
instance ToPath DescribeWorkspaceDirectories where
toPath = const "/"
instance ToQuery DescribeWorkspaceDirectories where
toQuery = const mempty
instance ToHeaders DescribeWorkspaceDirectories
instance ToJSON DescribeWorkspaceDirectories where
toJSON DescribeWorkspaceDirectories{..} = object
[ "DirectoryIds" .= _dwdDirectoryIds
, "NextToken" .= _dwdNextToken
]
instance AWSRequest DescribeWorkspaceDirectories where
type Sv DescribeWorkspaceDirectories = WorkSpaces
type Rs DescribeWorkspaceDirectories = DescribeWorkspaceDirectoriesResponse
request = post "DescribeWorkspaceDirectories"
response = jsonResponse
instance FromJSON DescribeWorkspaceDirectoriesResponse where
parseJSON = withObject "DescribeWorkspaceDirectoriesResponse" $ \o -> DescribeWorkspaceDirectoriesResponse
<$> o .:? "Directories" .!= mempty
<*> o .:? "NextToken"