19 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_INSTANCE_ADMIN_CONNECTION_H
20 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_INSTANCE_ADMIN_CONNECTION_H
22 #include "google/cloud/spanner/admin/instance_admin_connection_idempotency_policy.h"
23 #include "google/cloud/spanner/admin/internal/instance_admin_retry_traits.h"
24 #include "google/cloud/spanner/admin/internal/instance_admin_stub.h"
25 #include "google/cloud/backoff_policy.h"
26 #include "google/cloud/future.h"
27 #include "google/cloud/options.h"
28 #include "google/cloud/polling_policy.h"
29 #include "google/cloud/status_or.h"
30 #include "google/cloud/stream_range.h"
31 #include "google/cloud/version.h"
32 #include <google/longrunning/operations.grpc.pb.h>
40 using InstanceAdminRetryPolicy =
42 spanner_admin_internal::InstanceAdminRetryTraits>;
44 using InstanceAdminLimitedTimeRetryPolicy =
46 spanner_admin_internal::InstanceAdminRetryTraits>;
48 using InstanceAdminLimitedErrorCountRetryPolicy =
49 ::
google::
cloud::internal::LimitedErrorCountRetryPolicy<
50 spanner_admin_internal::InstanceAdminRetryTraits>;
70 virtual StreamRange<
google::spanner::admin::instance::v1::InstanceConfig>
72 google::spanner::admin::instance::v1::ListInstanceConfigsRequest request);
74 virtual StatusOr<
google::spanner::admin::instance::v1::InstanceConfig>
76 google::spanner::admin::instance::v1::GetInstanceConfigRequest
const&
79 virtual StreamRange<
google::spanner::admin::instance::v1::Instance>
81 google::spanner::admin::instance::v1::ListInstancesRequest request);
84 google::spanner::admin::instance::v1::GetInstanceRequest
const& request);
86 virtual future<StatusOr<
google::spanner::admin::instance::v1::Instance>>
88 google::spanner::admin::instance::v1::CreateInstanceRequest
const&
91 virtual future<StatusOr<
google::spanner::admin::instance::v1::Instance>>
93 google::spanner::admin::instance::v1::UpdateInstanceRequest
const&
97 google::spanner::admin::instance::v1::DeleteInstanceRequest
const&
101 google::iam::v1::SetIamPolicyRequest
const& request);
104 google::iam::v1::GetIamPolicyRequest
const& request);
106 virtual StatusOr<
google::iam::v1::TestIamPermissionsResponse>
143 namespace spanner_admin_internal {
147 MakeInstanceAdminConnection(std::shared_ptr<InstanceAdminStub> stub,