{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Resource.Compute.TargetPools.RemoveInstance
(
TargetPoolsRemoveInstanceResource
, targetPoolsRemoveInstance
, TargetPoolsRemoveInstance
, tpriRequestId
, tpriProject
, tpriTargetPool
, tpriPayload
, tpriRegion
) where
import Network.Google.Compute.Types
import Network.Google.Prelude
type TargetPoolsRemoveInstanceResource =
"compute" :>
"v1" :>
"projects" :>
Capture "project" Text :>
"regions" :>
Capture "region" Text :>
"targetPools" :>
Capture "targetPool" Text :>
"removeInstance" :>
QueryParam "requestId" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] TargetPoolsRemoveInstanceRequest :>
Post '[JSON] Operation
data TargetPoolsRemoveInstance = TargetPoolsRemoveInstance'
{ _tpriRequestId :: !(Maybe Text)
, _tpriProject :: !Text
, _tpriTargetPool :: !Text
, _tpriPayload :: !TargetPoolsRemoveInstanceRequest
, _tpriRegion :: !Text
} deriving (Eq,Show,Data,Typeable,Generic)
targetPoolsRemoveInstance
:: Text
-> Text
-> TargetPoolsRemoveInstanceRequest
-> Text
-> TargetPoolsRemoveInstance
targetPoolsRemoveInstance pTpriProject_ pTpriTargetPool_ pTpriPayload_ pTpriRegion_ =
TargetPoolsRemoveInstance'
{ _tpriRequestId = Nothing
, _tpriProject = pTpriProject_
, _tpriTargetPool = pTpriTargetPool_
, _tpriPayload = pTpriPayload_
, _tpriRegion = pTpriRegion_
}
tpriRequestId :: Lens' TargetPoolsRemoveInstance (Maybe Text)
tpriRequestId
= lens _tpriRequestId
(\ s a -> s{_tpriRequestId = a})
tpriProject :: Lens' TargetPoolsRemoveInstance Text
tpriProject
= lens _tpriProject (\ s a -> s{_tpriProject = a})
tpriTargetPool :: Lens' TargetPoolsRemoveInstance Text
tpriTargetPool
= lens _tpriTargetPool
(\ s a -> s{_tpriTargetPool = a})
tpriPayload :: Lens' TargetPoolsRemoveInstance TargetPoolsRemoveInstanceRequest
tpriPayload
= lens _tpriPayload (\ s a -> s{_tpriPayload = a})
tpriRegion :: Lens' TargetPoolsRemoveInstance Text
tpriRegion
= lens _tpriRegion (\ s a -> s{_tpriRegion = a})
instance GoogleRequest TargetPoolsRemoveInstance
where
type Rs TargetPoolsRemoveInstance = Operation
type Scopes TargetPoolsRemoveInstance =
'["https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"]
requestClient TargetPoolsRemoveInstance'{..}
= go _tpriProject _tpriRegion _tpriTargetPool
_tpriRequestId
(Just AltJSON)
_tpriPayload
computeService
where go
= buildClient
(Proxy :: Proxy TargetPoolsRemoveInstanceResource)
mempty