Google Cloud Spanner C++ Client
1.32.0
A C++ Client Library for Google Cloud Spanner
iam_updater.h
Go to the documentation of this file.
1
// Copyright 2019 Google LLC
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#
ifndef
GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_IAM_UPDATER_H
16
#
define
GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_IAM_UPDATER_H
17
18
#
include
"google/cloud/spanner/version.h"
19
#
include
"google/cloud/iam_updater.h"
20
21
namespace
google
{
22
namespace
cloud
{
23
namespace
spanner
{
24
inline
namespace
SPANNER_CLIENT_NS
{
25
26
/**
27
* Type alias for google::cloud::IamUpdater.
28
*
29
* Used in the `SetIamPolicy()` read-modify-write cycle of the Spanner admin
30
* clients, `DatabaseAdminClient` and `InstanceAdminClient`, in order to avoid
31
* race conditions.
32
*
33
* The updater is called with a recently fetched policy, and should either
34
* return an empty optional if no changes are required, or return a new policy
35
* to be set. In the latter case the control loop will always set the `etag`
36
* of the new policy to that of the recently fetched one. A failure to update
37
* then indicates a race, and the process will repeat.
38
*/
39
using
IamUpdater = ::
google
::
cloud
::IamUpdater;
40
41
}
// namespace SPANNER_CLIENT_NS
42
}
// namespace spanner
43
}
// namespace cloud
44
}
// namespace google
45
46
#
endif
// GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_IAM_UPDATER_H
Generated on Wed Oct 6 2021 01:08:34 for Google Cloud Spanner C++ Client by
1.9.1