15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_INSTANCE_ADMIN_H
16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_INSTANCE_ADMIN_H
18 #include "google/cloud/bigtable/admin/bigtable_instance_admin_connection.h"
19 #include "google/cloud/bigtable/admin/bigtable_instance_admin_options.h"
20 #include "google/cloud/bigtable/app_profile_config.h"
21 #include "google/cloud/bigtable/cluster_config.h"
22 #include "google/cloud/bigtable/cluster_list_responses.h"
23 #include "google/cloud/bigtable/completion_queue.h"
24 #include "google/cloud/bigtable/iam_policy.h"
25 #include "google/cloud/bigtable/instance_admin_client.h"
26 #include "google/cloud/bigtable/instance_config.h"
27 #include "google/cloud/bigtable/instance_list_responses.h"
28 #include "google/cloud/bigtable/instance_update_config.h"
29 #include "google/cloud/bigtable/internal/convert_policies.h"
30 #include "google/cloud/bigtable/polling_policy.h"
31 #include "google/cloud/bigtable/resource_names.h"
32 #include "google/cloud/bigtable/version.h"
33 #include "google/cloud/future.h"
34 #include "google/cloud/project.h"
35 #include "google/cloud/status_or.h"
43 namespace bigtable_internal {
45 class InstanceAdminTester;
138 : connection_(std::move(connection)),
139 project_id_(std::move(project)),
147 policies_(bigtable_internal::MakeInstanceAdminOptions(
148 retry_prototype_, backoff_prototype_, polling_prototype_)) {}
180 template <
typename... Policies>
183 Policies&&... policies)
184 : connection_(client->connection_),
193 ChangePolicies(std::forward<Policies>(policies)...);
194 policies_
= bigtable_internal::MakeInstanceAdminOptions(
195 retry_prototype_, backoff_prototype_, polling_prototype_);
201 std::string
const&
project_id()
const {
return project_id_; }
209 admin.project_id_ = std::move(project_id);
222 std::string
const& cluster_id)
const {
228 std::string
const& profile_id)
const {
286 ClusterConfig cluster_config, std::string
const& instance_id,
287 std::string
const& cluster_id);
357 std::string
const& instance_id);
473 std::string
const& cluster_id);
495 std::string
const& instance_id, std::string
const& cluster_id);
540 std::string
const& instance_id, std::string
const& profile_id);
568 std::string
const& instance_id, std::string
const& profile_id,
588 StatusOr<std::vector<
google::bigtable::admin::v2::AppProfile>>
613 std::string
const& profile_id,
614 bool ignore_warnings =
true);
634 std::string
const& instance_id);
658 std::string
const& instance_id,
659 google::iam::v1::Policy
const& iam_policy);
682 std::string
const& instance_id,
683 std::vector<std::string>
const& permissions);
686 friend class bigtable_internal::InstanceAdminTester;
695 backoff_prototype_ = policy
.clone();
699 polling_prototype_ = policy
.clone();
702 template <
typename Policy,
typename... Policies>
703 void ChangePolicies(Policy&& policy, Policies&&... policies) {
704 ChangePolicy(policy);
705 ChangePolicies(std::forward<Policies>(policies)...);
707 void ChangePolicies() {}
711 std::string project_id_;
712 std::string project_name_;