Google Cloud Spanner C++ Client  1.32.0
A C++ Client Library for Google Cloud Spanner
instance_admin_connection_idempotency_policy.h
Go to the documentation of this file.
1 // Copyright 2021 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 // https://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 // Generated by the Codegen C++ plugin.
16 // If you make any local changes, they will be lost.
17 // source: google/spanner/admin/instance/v1/spanner_instance_admin.proto
18 
19 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_INSTANCE_ADMIN_CONNECTION_IDEMPOTENCY_POLICY_H
20 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_INSTANCE_ADMIN_CONNECTION_IDEMPOTENCY_POLICY_H
21 
22 #include "google/cloud/future.h"
23 #include "google/cloud/internal/retry_policy.h"
24 #include "google/cloud/status_or.h"
25 #include "google/cloud/version.h"
26 #include <google/spanner/admin/instance/v1/spanner_instance_admin.grpc.pb.h>
27 #include <memory>
28 
29 namespace google {
30 namespace cloud {
31 namespace spanner_admin {
32 inline namespace GOOGLE_CLOUD_CPP_GENERATED_NS {
33 
35  public:
37 
38  /// Create a new copy of this object.
40  const = 0;
41 
42  virtual google::cloud::internal::Idempotency ListInstanceConfigs(
43  google::spanner::admin::instance::v1::ListInstanceConfigsRequest
44  request) = 0;
45 
46  virtual google::cloud::internal::Idempotency GetInstanceConfig(
47  google::spanner::admin::instance::v1::GetInstanceConfigRequest const&
48  request) = 0;
49 
50  virtual google::cloud::internal::Idempotency ListInstances(
51  google::spanner::admin::instance::v1::ListInstancesRequest request) = 0;
52 
53  virtual google::cloud::internal::Idempotency GetInstance(
54  google::spanner::admin::instance::v1::GetInstanceRequest const&
55  request) = 0;
56 
57  virtual google::cloud::internal::Idempotency CreateInstance(
58  google::spanner::admin::instance::v1::CreateInstanceRequest const&
59  request) = 0;
60 
61  virtual google::cloud::internal::Idempotency UpdateInstance(
62  google::spanner::admin::instance::v1::UpdateInstanceRequest const&
63  request) = 0;
64 
65  virtual google::cloud::internal::Idempotency DeleteInstance(
66  google::spanner::admin::instance::v1::DeleteInstanceRequest const&
67  request) = 0;
68 
69  virtual google::cloud::internal::Idempotency SetIamPolicy(
70  google::iam::v1::SetIamPolicyRequest const& request) = 0;
71 
72  virtual google::cloud::internal::Idempotency GetIamPolicy(
73  google::iam::v1::GetIamPolicyRequest const& request) = 0;
74 
75  virtual google::cloud::internal::Idempotency TestIamPermissions(
76  google::iam::v1::TestIamPermissionsRequest const& request) = 0;
77 };
78 
81 
82 } // namespace GOOGLE_CLOUD_CPP_GENERATED_NS
83 } // namespace spanner_admin
84 } // namespace cloud
85 } // namespace google
86 
87 #endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_INSTANCE_ADMIN_CONNECTION_IDEMPOTENCY_POLICY_H