gogol-spanner-0.4.0: Google Cloud Spanner SDK.

Copyright(c) 2015-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.Google.Resource.Spanner.Projects.Instances.Patch

Contents

Description

Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on resource name.

See: Cloud Spanner API Reference for spanner.projects.instances.patch.

Synopsis

REST Resource

type ProjectsInstancesPatchResource = "v1" :> (Capture "name" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UpdateInstanceRequest :> Patch '[JSON] Operation)))))))) Source #

A resource alias for spanner.projects.instances.patch method which the ProjectsInstancesPatch request conforms to.

Creating a Request

projectsInstancesPatch Source #

Creates a value of ProjectsInstancesPatch with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

data ProjectsInstancesPatch Source #

Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on resource name.

See: projectsInstancesPatch smart constructor.

Instances
Eq ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

Data ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProjectsInstancesPatch -> c ProjectsInstancesPatch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProjectsInstancesPatch #

toConstr :: ProjectsInstancesPatch -> Constr #

dataTypeOf :: ProjectsInstancesPatch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProjectsInstancesPatch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProjectsInstancesPatch) #

gmapT :: (forall b. Data b => b -> b) -> ProjectsInstancesPatch -> ProjectsInstancesPatch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProjectsInstancesPatch -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProjectsInstancesPatch -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProjectsInstancesPatch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProjectsInstancesPatch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProjectsInstancesPatch -> m ProjectsInstancesPatch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProjectsInstancesPatch -> m ProjectsInstancesPatch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProjectsInstancesPatch -> m ProjectsInstancesPatch #

Show ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

Generic ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

Associated Types

type Rep ProjectsInstancesPatch :: Type -> Type #

GoogleRequest ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

type Rep ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

type Rep ProjectsInstancesPatch = D1 (MetaData "ProjectsInstancesPatch" "Network.Google.Resource.Spanner.Projects.Instances.Patch" "gogol-spanner-0.4.0-Gx6Dlj0rchWGrfXCDHk4fo" False) (C1 (MetaCons "ProjectsInstancesPatch'" PrefixI True) ((S1 (MetaSel (Just "_pipXgafv") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Xgafv)) :*: (S1 (MetaSel (Just "_pipUploadProtocol") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_pipAccessToken") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 (MetaSel (Just "_pipUploadType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_pipPayload") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 UpdateInstanceRequest)) :*: (S1 (MetaSel (Just "_pipName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "_pipCallback") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))))
type Scopes ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

type Scopes ProjectsInstancesPatch = "https://www.googleapis.com/auth/cloud-platform" ': ("https://www.googleapis.com/auth/spanner.admin" ': ([] :: [Symbol]))
type Rs ProjectsInstancesPatch Source # 
Instance details

Defined in Network.Google.Resource.Spanner.Projects.Instances.Patch

Request Lenses

pipUploadProtocol :: Lens' ProjectsInstancesPatch (Maybe Text) Source #

Upload protocol for media (e.g. "raw", "multipart").

pipUploadType :: Lens' ProjectsInstancesPatch (Maybe Text) Source #

Legacy upload protocol for media (e.g. "media", "multipart").

pipName :: Lens' ProjectsInstancesPatch Text Source #

Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 6 and 30 characters in length.