19 #include "google/cloud/spanner/admin/instance_admin_connection_idempotency_policy.h"
20 #include "absl/memory/memory.h"
34 class DefaultInstanceAdminConnectionIdempotencyPolicy
37 ~DefaultInstanceAdminConnectionIdempotencyPolicy()
override =
default;
42 return absl::make_unique<DefaultInstanceAdminConnectionIdempotencyPolicy>(
46 Idempotency ListInstanceConfigs(
47 google::spanner::admin::instance::v1::ListInstanceConfigsRequest)
49 return Idempotency::kIdempotent;
52 Idempotency GetInstanceConfig(
53 google::spanner::admin::instance::v1::GetInstanceConfigRequest
const&)
55 return Idempotency::kIdempotent;
58 Idempotency ListInstances(
59 google::spanner::admin::instance::v1::ListInstancesRequest)
override {
60 return Idempotency::kIdempotent;
63 Idempotency GetInstance(
64 google::spanner::admin::instance::v1::GetInstanceRequest
const&)
66 return Idempotency::kIdempotent;
69 Idempotency CreateInstance(
70 google::spanner::admin::instance::v1::CreateInstanceRequest
const&)
72 return Idempotency::kNonIdempotent;
75 Idempotency UpdateInstance(
76 google::spanner::admin::instance::v1::UpdateInstanceRequest
const&)
78 return Idempotency::kNonIdempotent;
81 Idempotency DeleteInstance(
82 google::spanner::admin::instance::v1::DeleteInstanceRequest
const&)
84 return Idempotency::kNonIdempotent;
87 Idempotency SetIamPolicy(
88 google::iam::v1::SetIamPolicyRequest
const&)
override {
89 return Idempotency::kNonIdempotent;
92 Idempotency GetIamPolicy(
93 google::iam::v1::GetIamPolicyRequest
const&)
override {
94 return Idempotency::kNonIdempotent;
97 Idempotency TestIamPermissions(
98 google::iam::v1::TestIamPermissionsRequest
const&)
override {
99 return Idempotency::kNonIdempotent;
106 return absl::make_unique<DefaultInstanceAdminConnectionIdempotencyPolicy>();