module Network.Google.Resource.Storage.DefaultObjectAccessControls.Update
(
DefaultObjectAccessControlsUpdateResource
, defaultObjectAccessControlsUpdate
, DefaultObjectAccessControlsUpdate
, doacuBucket
, doacuPayload
, doacuEntity
) where
import Network.Google.Prelude
import Network.Google.Storage.Types
type DefaultObjectAccessControlsUpdateResource =
"storage" :>
"v1" :>
"b" :>
Capture "bucket" Text :>
"defaultObjectAcl" :>
Capture "entity" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] ObjectAccessControl :>
Put '[JSON] ObjectAccessControl
data DefaultObjectAccessControlsUpdate = DefaultObjectAccessControlsUpdate'
{ _doacuBucket :: !Text
, _doacuPayload :: !ObjectAccessControl
, _doacuEntity :: !Text
} deriving (Eq,Show,Data,Typeable,Generic)
defaultObjectAccessControlsUpdate
:: Text
-> ObjectAccessControl
-> Text
-> DefaultObjectAccessControlsUpdate
defaultObjectAccessControlsUpdate pDoacuBucket_ pDoacuPayload_ pDoacuEntity_ =
DefaultObjectAccessControlsUpdate'
{ _doacuBucket = pDoacuBucket_
, _doacuPayload = pDoacuPayload_
, _doacuEntity = pDoacuEntity_
}
doacuBucket :: Lens' DefaultObjectAccessControlsUpdate Text
doacuBucket
= lens _doacuBucket (\ s a -> s{_doacuBucket = a})
doacuPayload :: Lens' DefaultObjectAccessControlsUpdate ObjectAccessControl
doacuPayload
= lens _doacuPayload (\ s a -> s{_doacuPayload = a})
doacuEntity :: Lens' DefaultObjectAccessControlsUpdate Text
doacuEntity
= lens _doacuEntity (\ s a -> s{_doacuEntity = a})
instance GoogleRequest
DefaultObjectAccessControlsUpdate where
type Rs DefaultObjectAccessControlsUpdate =
ObjectAccessControl
type Scopes DefaultObjectAccessControlsUpdate =
'["https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/devstorage.full_control"]
requestClient DefaultObjectAccessControlsUpdate'{..}
= go _doacuBucket _doacuEntity (Just AltJSON)
_doacuPayload
storageService
where go
= buildClient
(Proxy ::
Proxy DefaultObjectAccessControlsUpdateResource)
mempty