module Network.AWS.WorkSpaces.TerminateWorkspaces
(
TerminateWorkspaces
, terminateWorkspaces
, twTerminateWorkspaceRequests
, TerminateWorkspacesResponse
, terminateWorkspacesResponse
, twrFailedRequests
) 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 TerminateWorkspaces = TerminateWorkspaces
{ _twTerminateWorkspaceRequests :: List1 "TerminateWorkspaceRequests" TerminateRequest
} deriving (Eq, Read, Show, Semigroup)
terminateWorkspaces :: NonEmpty TerminateRequest
-> TerminateWorkspaces
terminateWorkspaces p1 = TerminateWorkspaces
{ _twTerminateWorkspaceRequests = withIso _List1 (const id) p1
}
twTerminateWorkspaceRequests :: Lens' TerminateWorkspaces (NonEmpty TerminateRequest)
twTerminateWorkspaceRequests =
lens _twTerminateWorkspaceRequests
(\s a -> s { _twTerminateWorkspaceRequests = a })
. _List1
newtype TerminateWorkspacesResponse = TerminateWorkspacesResponse
{ _twrFailedRequests :: List "FailedRequests" FailedWorkspaceChangeRequest
} deriving (Eq, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList TerminateWorkspacesResponse where
type Item TerminateWorkspacesResponse = FailedWorkspaceChangeRequest
fromList = TerminateWorkspacesResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _twrFailedRequests
terminateWorkspacesResponse :: TerminateWorkspacesResponse
terminateWorkspacesResponse = TerminateWorkspacesResponse
{ _twrFailedRequests = mempty
}
twrFailedRequests :: Lens' TerminateWorkspacesResponse [FailedWorkspaceChangeRequest]
twrFailedRequests =
lens _twrFailedRequests (\s a -> s { _twrFailedRequests = a })
. _List
instance ToPath TerminateWorkspaces where
toPath = const "/"
instance ToQuery TerminateWorkspaces where
toQuery = const mempty
instance ToHeaders TerminateWorkspaces
instance ToJSON TerminateWorkspaces where
toJSON TerminateWorkspaces{..} = object
[ "TerminateWorkspaceRequests" .= _twTerminateWorkspaceRequests
]
instance AWSRequest TerminateWorkspaces where
type Sv TerminateWorkspaces = WorkSpaces
type Rs TerminateWorkspaces = TerminateWorkspacesResponse
request = post "TerminateWorkspaces"
response = jsonResponse
instance FromJSON TerminateWorkspacesResponse where
parseJSON = withObject "TerminateWorkspacesResponse" $ \o -> TerminateWorkspacesResponse
<$> o .:? "FailedRequests" .!= mempty