19 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_DATABASE_ADMIN_CONNECTION_H
20 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_DATABASE_ADMIN_CONNECTION_H
22 #include "google/cloud/spanner/admin/database_admin_connection_idempotency_policy.h"
23 #include "google/cloud/spanner/admin/internal/database_admin_retry_traits.h"
24 #include "google/cloud/spanner/admin/internal/database_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 DatabaseAdminRetryPolicy =
42 spanner_admin_internal::DatabaseAdminRetryTraits>;
44 using DatabaseAdminLimitedTimeRetryPolicy =
46 spanner_admin_internal::DatabaseAdminRetryTraits>;
48 using DatabaseAdminLimitedErrorCountRetryPolicy =
49 ::
google::
cloud::internal::LimitedErrorCountRetryPolicy<
50 spanner_admin_internal::DatabaseAdminRetryTraits>;
70 virtual StreamRange<
google::spanner::admin::database::v1::Database>
72 google::spanner::admin::database::v1::ListDatabasesRequest request);
74 virtual future<StatusOr<
google::spanner::admin::database::v1::Database>>
76 google::spanner::admin::database::v1::CreateDatabaseRequest
const&
80 google::spanner::admin::database::v1::GetDatabaseRequest
const& request);
83 StatusOr<
google::spanner::admin::database::v1::UpdateDatabaseDdlMetadata>>
85 google::spanner::admin::database::v1::UpdateDatabaseDdlRequest
const&
89 google::spanner::admin::database::v1::DropDatabaseRequest
const& request);
91 virtual StatusOr<
google::spanner::admin::database::v1::GetDatabaseDdlResponse>
93 google::spanner::admin::database::v1::GetDatabaseDdlRequest
const&
97 google::iam::v1::SetIamPolicyRequest
const& request);
100 google::iam::v1::GetIamPolicyRequest
const& request);
102 virtual StatusOr<
google::iam::v1::TestIamPermissionsResponse>
105 virtual future<StatusOr<
google::spanner::admin::database::v1::Backup>>
107 google::spanner::admin::database::v1::CreateBackupRequest
const& request);
109 virtual future<StatusOr<
google::spanner::admin::database::v1::Backup>>
111 google::spanner::admin::database::v1::CopyBackupRequest
const& request);
114 google::spanner::admin::database::v1::GetBackupRequest
const& request);
117 google::spanner::admin::database::v1::UpdateBackupRequest
const& request);
120 google::spanner::admin::database::v1::DeleteBackupRequest
const& request);
123 google::spanner::admin::database::v1::ListBackupsRequest request);
125 virtual future<StatusOr<
google::spanner::admin::database::v1::Database>>
127 google::spanner::admin::database::v1::RestoreDatabaseRequest
const&
131 google::spanner::admin::database::v1::ListDatabaseOperationsRequest
135 google::spanner::admin::database::v1::ListBackupOperationsRequest
172 namespace spanner_admin_internal {
176 MakeDatabaseAdminConnection(std::shared_ptr<DatabaseAdminStub> stub,