module Network.AWS.WorkSpaces.CreateWorkspaces
(
CreateWorkspaces
, createWorkspaces
, cwWorkspaces
, CreateWorkspacesResponse
, createWorkspacesResponse
, cwrFailedRequests
, cwrPendingRequests
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.WorkSpaces.Types
import qualified GHC.Exts
newtype CreateWorkspaces = CreateWorkspaces
{ _cwWorkspaces :: List1 "Workspaces" WorkspaceRequest
} deriving (Eq, Read, Show, Semigroup)
createWorkspaces :: NonEmpty WorkspaceRequest
-> CreateWorkspaces
createWorkspaces p1 = CreateWorkspaces
{ _cwWorkspaces = withIso _List1 (const id) p1
}
cwWorkspaces :: Lens' CreateWorkspaces (NonEmpty WorkspaceRequest)
cwWorkspaces = lens _cwWorkspaces (\s a -> s { _cwWorkspaces = a }) . _List1
data CreateWorkspacesResponse = CreateWorkspacesResponse
{ _cwrFailedRequests :: List "FailedRequests" FailedCreateWorkspaceRequest
, _cwrPendingRequests :: List "PendingRequests" Workspace
} deriving (Eq, Read, Show)
createWorkspacesResponse :: CreateWorkspacesResponse
createWorkspacesResponse = CreateWorkspacesResponse
{ _cwrFailedRequests = mempty
, _cwrPendingRequests = mempty
}
cwrFailedRequests :: Lens' CreateWorkspacesResponse [FailedCreateWorkspaceRequest]
cwrFailedRequests =
lens _cwrFailedRequests (\s a -> s { _cwrFailedRequests = a })
. _List
cwrPendingRequests :: Lens' CreateWorkspacesResponse [Workspace]
cwrPendingRequests =
lens _cwrPendingRequests (\s a -> s { _cwrPendingRequests = a })
. _List
instance ToPath CreateWorkspaces where
toPath = const "/"
instance ToQuery CreateWorkspaces where
toQuery = const mempty
instance ToHeaders CreateWorkspaces
instance ToJSON CreateWorkspaces where
toJSON CreateWorkspaces{..} = object
[ "Workspaces" .= _cwWorkspaces
]
instance AWSRequest CreateWorkspaces where
type Sv CreateWorkspaces = WorkSpaces
type Rs CreateWorkspaces = CreateWorkspacesResponse
request = post "CreateWorkspaces"
response = jsonResponse
instance FromJSON CreateWorkspacesResponse where
parseJSON = withObject "CreateWorkspacesResponse" $ \o -> CreateWorkspacesResponse
<$> o .:? "FailedRequests" .!= mempty
<*> o .:? "PendingRequests" .!= mempty