refactor: Add annotations to Bigtable Admin v2.

PiperOrigin-RevId: 294243406
pull/592/head
Google APIs 5 years ago committed by Copybara-Service
parent ad7616f3fc
commit 6d9361eae2
  1. 5
      google/bigtable/admin/artman_bigtableadmin.yaml
  2. 37
      google/bigtable/admin/v2/BUILD.bazel
  3. 283
      google/bigtable/admin/v2/bigtable_instance_admin.proto
  4. 255
      google/bigtable/admin/v2/bigtable_table_admin.proto
  5. 189
      google/bigtable/admin/v2/bigtableadmin_v2.yaml
  6. 2
      google/bigtable/admin/v2/common.proto
  7. 65
      google/bigtable/admin/v2/instance.proto
  8. 50
      google/bigtable/admin/v2/table.proto

@ -2,7 +2,7 @@ common:
api_name: bigtable-admin
api_version: v2
organization_name: google-cloud
service_yaml: bigtableadmin.yaml
service_yaml: v2/bigtableadmin_v2.yaml
gapic_yaml: v2/bigtableadmin_gapic.yaml
src_proto_paths:
- v2
@ -13,6 +13,7 @@ common:
test_proto_deps:
- name: google-iam-v1
proto_path: google/iam/v1
proto_path: google.bigtable.admin.v2
artifacts:
- name: java_gapic
type: GAPIC
@ -35,5 +36,3 @@ artifacts:
- name: nodejs_gapic
type: GAPIC
language: NODEJS
- name: gapic_config
type: GAPIC_CONFIG

@ -20,6 +20,9 @@ proto_library(
],
deps = [
"//google/api:annotations_proto",
"//google/api:client_proto",
"//google/api:field_behavior_proto",
"//google/api:resource_proto",
"//google/iam/v1:iam_policy_proto",
"//google/iam/v1:policy_proto",
"//google/longrunning:operations_proto",
@ -66,7 +69,7 @@ java_gapic_library(
src = ":admin_proto_with_info",
gapic_yaml = "bigtableadmin_gapic.yaml",
package = "google.bigtable.admin.v2",
service_yaml = "//google/bigtable/admin:bigtableadmin.yaml",
service_yaml = "bigtableadmin_v2.yaml",
test_deps = [
":admin_java_grpc",
"//google/iam/v1:iam_java_grpc",
@ -126,7 +129,7 @@ go_gapic_library(
gapic_yaml = "bigtableadmin_gapic.yaml",
importpath = "cloud.google.com/go/bigtable/admin/apiv2",
package = "google.bigtable.admin.v2",
service_yaml = "//google/bigtable/admin:bigtableadmin.yaml",
service_yaml = "bigtableadmin_v2.yaml",
deps = [
":admin_go_proto",
"//google/iam/v1:iam_go_proto",
@ -172,6 +175,9 @@ moved_proto_library(
srcs = [":admin_proto"],
deps = [
"//google/api:annotations_proto",
"//google/api:client_proto",
"//google/api:field_behavior_proto",
"//google/api:resource_proto",
"//google/iam/v1:iam_policy_proto",
"//google/iam/v1:policy_proto",
"//google/longrunning:operations_proto",
@ -199,7 +205,7 @@ py_gapic_library(
src = ":admin_proto_with_info",
gapic_yaml = "bigtableadmin_gapic.yaml",
package = "google.bigtable.admin.v2",
service_yaml = "//google/bigtable/admin:bigtableadmin.yaml",
service_yaml = "bigtableadmin_v2.yaml",
deps = [
":admin_py_grpc",
":admin_py_proto",
@ -243,7 +249,7 @@ php_gapic_library(
src = ":admin_proto_with_info",
gapic_yaml = "bigtableadmin_gapic.yaml",
package = "google.bigtable.admin.v2",
service_yaml = "//google/bigtable/admin:bigtableadmin.yaml",
service_yaml = "bigtableadmin_v2.yaml",
deps = [
":admin_php_grpc",
":admin_php_proto",
@ -274,7 +280,7 @@ nodejs_gapic_library(
src = ":admin_proto_with_info",
gapic_yaml = "bigtableadmin_gapic.yaml",
package = "google.bigtable.admin.v2",
service_yaml = "//google/bigtable/admin:bigtableadmin.yaml",
service_yaml = "bigtableadmin_v2.yaml",
deps = [],
)
@ -313,7 +319,7 @@ ruby_gapic_library(
src = ":admin_proto_with_info",
gapic_yaml = "bigtableadmin_gapic.yaml",
package = "google.bigtable.admin.v2",
service_yaml = "//google/bigtable/admin:bigtableadmin.yaml",
service_yaml = "bigtableadmin_v2.yaml",
deps = [
":admin_ruby_grpc",
":admin_ruby_proto",
@ -357,7 +363,7 @@ csharp_gapic_library(
src = ":admin_proto_with_info",
gapic_yaml = "bigtableadmin_gapic.yaml",
package = "google.bigtable.admin.v2",
service_yaml = "//google/bigtable/admin:bigtableadmin.yaml",
service_yaml = "bigtableadmin_v2.yaml",
deps = [
":admin_csharp_grpc",
":admin_csharp_proto",
@ -377,19 +383,4 @@ csharp_gapic_assembly_pkg(
##############################################################################
# C++
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"cc_grpc_library",
"cc_proto_library")
cc_proto_library(
name = "admin_cc_proto",
deps = [":admin_proto"],
)
cc_grpc_library(
name = "admin_cc_grpc",
srcs = [":admin_proto"],
grpc_only = True,
deps = [":admin_cc_proto"],
)
# Put your C++ rules here

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -18,6 +18,9 @@ syntax = "proto3";
package google.bigtable.admin.v2;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/bigtable/admin/v2/instance.proto";
import "google/iam/v1/iam_policy.proto";
import "google/iam/v1/policy.proto";
@ -37,13 +40,27 @@ option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2";
// Clusters. Provides access to the Instance and Cluster schemas only, not the
// tables' metadata or data stored in those tables.
service BigtableInstanceAdmin {
option (google.api.default_host) = "bigtableadmin.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/bigtable.admin,"
"https://www.googleapis.com/auth/bigtable.admin.cluster,"
"https://www.googleapis.com/auth/bigtable.admin.instance,"
"https://www.googleapis.com/auth/cloud-bigtable.admin,"
"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,"
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/cloud-platform.read-only";
// Create an instance within a project.
rpc CreateInstance(CreateInstanceRequest)
returns (google.longrunning.Operation) {
rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*}/instances"
body: "*"
};
option (google.api.method_signature) = "parent,instance_id,instance,clusters";
option (google.longrunning.operation_info) = {
response_type: "Instance"
metadata_type: "CreateInstanceMetadata"
};
}
// Gets information about an instance.
@ -51,6 +68,7 @@ service BigtableInstanceAdmin {
option (google.api.http) = {
get: "/v2/{name=projects/*/instances/*}"
};
option (google.api.method_signature) = "name";
}
// Lists information about instances in a project.
@ -58,9 +76,12 @@ service BigtableInstanceAdmin {
option (google.api.http) = {
get: "/v2/{parent=projects/*}/instances"
};
option (google.api.method_signature) = "parent";
}
// Updates an instance within a project.
// Updates an instance within a project. This method updates only the display
// name and type for an Instance. To update other Instance properties, such as
// labels, use PartialUpdateInstance.
rpc UpdateInstance(Instance) returns (Instance) {
option (google.api.http) = {
put: "/v2/{name=projects/*/instances/*}"
@ -68,13 +89,18 @@ service BigtableInstanceAdmin {
};
}
// Partially updates an instance within a project.
rpc PartialUpdateInstance(PartialUpdateInstanceRequest)
returns (google.longrunning.Operation) {
// Partially updates an instance within a project. This method can modify all
// fields of an Instance and is the preferred way to update an Instance.
rpc PartialUpdateInstance(PartialUpdateInstanceRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v2/{instance.name=projects/*/instances/*}"
body: "instance"
};
option (google.api.method_signature) = "instance,update_mask";
option (google.longrunning.operation_info) = {
response_type: "Instance"
metadata_type: "PartialUpdateInstanceMetadata"
};
}
// Delete an instance from a project.
@ -82,15 +108,20 @@ service BigtableInstanceAdmin {
option (google.api.http) = {
delete: "/v2/{name=projects/*/instances/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a cluster within an instance.
rpc CreateCluster(CreateClusterRequest)
returns (google.longrunning.Operation) {
rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*/instances/*}/clusters"
body: "cluster"
};
option (google.api.method_signature) = "parent,cluster_id,cluster";
option (google.longrunning.operation_info) = {
response_type: "Cluster"
metadata_type: "CreateClusterMetadata"
};
}
// Gets information about a cluster.
@ -98,6 +129,7 @@ service BigtableInstanceAdmin {
option (google.api.http) = {
get: "/v2/{name=projects/*/instances/*/clusters/*}"
};
option (google.api.method_signature) = "name";
}
// Lists information about clusters in an instance.
@ -105,6 +137,7 @@ service BigtableInstanceAdmin {
option (google.api.http) = {
get: "/v2/{parent=projects/*/instances/*}/clusters"
};
option (google.api.method_signature) = "parent";
}
// Updates a cluster within an instance.
@ -113,6 +146,10 @@ service BigtableInstanceAdmin {
put: "/v2/{name=projects/*/instances/*/clusters/*}"
body: "*"
};
option (google.longrunning.operation_info) = {
response_type: "Cluster"
metadata_type: "UpdateClusterMetadata"
};
}
// Deletes a cluster from an instance.
@ -120,6 +157,7 @@ service BigtableInstanceAdmin {
option (google.api.http) = {
delete: "/v2/{name=projects/*/instances/*/clusters/*}"
};
option (google.api.method_signature) = "name";
}
// Creates an app profile within an instance.
@ -128,6 +166,7 @@ service BigtableInstanceAdmin {
post: "/v2/{parent=projects/*/instances/*}/appProfiles"
body: "app_profile"
};
option (google.api.method_signature) = "parent,app_profile_id,app_profile";
}
// Gets information about an app profile.
@ -135,98 +174,118 @@ service BigtableInstanceAdmin {
option (google.api.http) = {
get: "/v2/{name=projects/*/instances/*/appProfiles/*}"
};
option (google.api.method_signature) = "name";
}
// Lists information about app profiles in an instance.
rpc ListAppProfiles(ListAppProfilesRequest)
returns (ListAppProfilesResponse) {
rpc ListAppProfiles(ListAppProfilesRequest) returns (ListAppProfilesResponse) {
option (google.api.http) = {
get: "/v2/{parent=projects/*/instances/*}/appProfiles"
};
option (google.api.method_signature) = "parent";
}
// Updates an app profile within an instance.
rpc UpdateAppProfile(UpdateAppProfileRequest)
returns (google.longrunning.Operation) {
rpc UpdateAppProfile(UpdateAppProfileRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v2/{app_profile.name=projects/*/instances/*/appProfiles/*}"
body: "app_profile"
};
option (google.api.method_signature) = "app_profile,update_mask";
option (google.longrunning.operation_info) = {
response_type: "AppProfile"
metadata_type: "UpdateAppProfileMetadata"
};
}
// Deletes an app profile from an instance.
rpc DeleteAppProfile(DeleteAppProfileRequest)
returns (google.protobuf.Empty) {
rpc DeleteAppProfile(DeleteAppProfileRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v2/{name=projects/*/instances/*/appProfiles/*}"
};
option (google.api.method_signature) = "name";
}
// Gets the access control policy for an instance resource. Returns an empty
// policy if an instance exists but does not have a policy set.
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
returns (google.iam.v1.Policy) {
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v2/{resource=projects/*/instances/*}:getIamPolicy"
body: "*"
};
option (google.api.method_signature) = "resource";
}
// Sets the access control policy on an instance resource. Replaces any
// existing policy.
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
returns (google.iam.v1.Policy) {
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v2/{resource=projects/*/instances/*}:setIamPolicy"
body: "*"
};
option (google.api.method_signature) = "resource,policy";
}
// Returns permissions that the caller has on the specified instance resource.
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
returns (google.iam.v1.TestIamPermissionsResponse) {
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
option (google.api.http) = {
post: "/v2/{resource=projects/*/instances/*}:testIamPermissions"
body: "*"
};
option (google.api.method_signature) = "resource,permissions";
}
}
// Request message for BigtableInstanceAdmin.CreateInstance.
message CreateInstanceRequest {
// The unique name of the project in which to create the new instance.
// Values are of the form `projects/<project>`.
string parent = 1;
// The ID to be used when referring to the new instance within its project,
// Required. The unique name of the project in which to create the new instance.
// Values are of the form `projects/{project}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudresourcemanager.googleapis.com/Project"
}
];
// Required. The ID to be used when referring to the new instance within its project,
// e.g., just `myinstance` rather than
// `projects/myproject/instances/myinstance`.
string instance_id = 2;
string instance_id = 2 [(google.api.field_behavior) = REQUIRED];
// The instance to create.
// Required. The instance to create.
// Fields marked `OutputOnly` must be left blank.
Instance instance = 3;
Instance instance = 3 [(google.api.field_behavior) = REQUIRED];
// The clusters to be created within the instance, mapped by desired
// Required. The clusters to be created within the instance, mapped by desired
// cluster ID, e.g., just `mycluster` rather than
// `projects/myproject/instances/myinstance/clusters/mycluster`.
// Fields marked `OutputOnly` must be left blank.
// Currently, at most two clusters can be specified.
map<string, Cluster> clusters = 4;
// Currently, at most four clusters can be specified.
map<string, Cluster> clusters = 4 [(google.api.field_behavior) = REQUIRED];
}
// Request message for BigtableInstanceAdmin.GetInstance.
message GetInstanceRequest {
// The unique name of the requested instance. Values are of the form
// `projects/<project>/instances/<instance>`.
string name = 1;
// Required. The unique name of the requested instance. Values are of the form
// `projects/{project}/instances/{instance}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
}
// Request message for BigtableInstanceAdmin.ListInstances.
message ListInstancesRequest {
// The unique name of the project for which a list of instances is requested.
// Values are of the form `projects/<project>`.
string parent = 1;
// Required. The unique name of the project for which a list of instances is requested.
// Values are of the form `projects/{project}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudresourcemanager.googleapis.com/Project"
}
];
// DEPRECATED: This field is unused and ignored.
string page_token = 2;
@ -251,52 +310,72 @@ message ListInstancesResponse {
// Request message for BigtableInstanceAdmin.PartialUpdateInstance.
message PartialUpdateInstanceRequest {
// The Instance which will (partially) replace the current value.
Instance instance = 1;
// Required. The Instance which will (partially) replace the current value.
Instance instance = 1 [(google.api.field_behavior) = REQUIRED];
// The subset of Instance fields which should be replaced.
// Required. The subset of Instance fields which should be replaced.
// Must be explicitly set.
google.protobuf.FieldMask update_mask = 2;
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for BigtableInstanceAdmin.DeleteInstance.
message DeleteInstanceRequest {
// The unique name of the instance to be deleted.
// Values are of the form `projects/<project>/instances/<instance>`.
string name = 1;
// Required. The unique name of the instance to be deleted.
// Values are of the form `projects/{project}/instances/{instance}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
}
// Request message for BigtableInstanceAdmin.CreateCluster.
message CreateClusterRequest {
// The unique name of the instance in which to create the new cluster.
// Required. The unique name of the instance in which to create the new cluster.
// Values are of the form
// `projects/<project>/instances/<instance>`.
string parent = 1;
// The ID to be used when referring to the new cluster within its instance,
// `projects/{project}/instances/{instance}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
// Required. The ID to be used when referring to the new cluster within its instance,
// e.g., just `mycluster` rather than
// `projects/myproject/instances/myinstance/clusters/mycluster`.
string cluster_id = 2;
string cluster_id = 2 [(google.api.field_behavior) = REQUIRED];
// The cluster to be created.
// Required. The cluster to be created.
// Fields marked `OutputOnly` must be left blank.
Cluster cluster = 3;
Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED];
}
// Request message for BigtableInstanceAdmin.GetCluster.
message GetClusterRequest {
// The unique name of the requested cluster. Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>`.
string name = 1;
// Required. The unique name of the requested cluster. Values are of the form
// `projects/{project}/instances/{instance}/clusters/{cluster}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Cluster"
}
];
}
// Request message for BigtableInstanceAdmin.ListClusters.
message ListClustersRequest {
// The unique name of the instance for which a list of clusters is requested.
// Values are of the form `projects/<project>/instances/<instance>`.
// Use `<instance> = '-'` to list Clusters for all Instances in a project,
// Required. The unique name of the instance for which a list of clusters is requested.
// Values are of the form `projects/{project}/instances/{instance}`.
// Use `{instance} = '-'` to list Clusters for all Instances in a project,
// e.g., `projects/myproject/instances/-`.
string parent = 1;
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
// DEPRECATED: This field is unused and ignored.
string page_token = 2;
@ -320,9 +399,14 @@ message ListClustersResponse {
// Request message for BigtableInstanceAdmin.DeleteCluster.
message DeleteClusterRequest {
// The unique name of the cluster to be deleted. Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>`.
string name = 1;
// Required. The unique name of the cluster to be deleted. Values are of the form
// `projects/{project}/instances/{instance}/clusters/{cluster}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Cluster"
}
];
}
// The metadata for the Operation returned by CreateInstance.
@ -375,19 +459,24 @@ message UpdateClusterMetadata {
// Request message for BigtableInstanceAdmin.CreateAppProfile.
message CreateAppProfileRequest {
// The unique name of the instance in which to create the new app profile.
// Required. The unique name of the instance in which to create the new app profile.
// Values are of the form
// `projects/<project>/instances/<instance>`.
string parent = 1;
// The ID to be used when referring to the new app profile within its
// `projects/{project}/instances/{instance}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
// Required. The ID to be used when referring to the new app profile within its
// instance, e.g., just `myprofile` rather than
// `projects/myproject/instances/myinstance/appProfiles/myprofile`.
string app_profile_id = 2;
string app_profile_id = 2 [(google.api.field_behavior) = REQUIRED];
// The app profile to be created.
// Required. The app profile to be created.
// Fields marked `OutputOnly` will be ignored.
AppProfile app_profile = 3;
AppProfile app_profile = 3 [(google.api.field_behavior) = REQUIRED];
// If true, ignore safety checks when creating the app profile.
bool ignore_warnings = 4;
@ -395,22 +484,39 @@ message CreateAppProfileRequest {
// Request message for BigtableInstanceAdmin.GetAppProfile.
message GetAppProfileRequest {
// The unique name of the requested app profile. Values are of the form
// `projects/<project>/instances/<instance>/appProfiles/<app_profile>`.
string name = 1;
// Required. The unique name of the requested app profile. Values are of the form
// `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/AppProfile"
}
];
}
// Request message for BigtableInstanceAdmin.ListAppProfiles.
message ListAppProfilesRequest {
// The unique name of the instance for which a list of app profiles is
// Required. The unique name of the instance for which a list of app profiles is
// requested. Values are of the form
// `projects/<project>/instances/<instance>`.
// Use `<instance> = '-'` to list AppProfiles for all Instances in a project,
// `projects/{project}/instances/{instance}`.
// Use `{instance} = '-'` to list AppProfiles for all Instances in a project,
// e.g., `projects/myproject/instances/-`.
string parent = 1;
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
// Maximum number of results per page.
// CURRENTLY UNIMPLEMENTED AND IGNORED.
//
// A page_size of zero lets the server choose the number of items to return.
// A page_size which is strictly positive will return at most that many items.
// A negative page_size will cause an error.
//
// Following the first request, subsequent paginated calls are not required
// to pass a page_size. If a page_size is set in subsequent calls, it must
// match the page_size given in the first request.
int32 page_size = 3;
// The value of `next_page_token` returned by a previous call.
@ -436,12 +542,12 @@ message ListAppProfilesResponse {
// Request message for BigtableInstanceAdmin.UpdateAppProfile.
message UpdateAppProfileRequest {
// The app profile which will (partially) replace the current value.
AppProfile app_profile = 1;
// Required. The app profile which will (partially) replace the current value.
AppProfile app_profile = 1 [(google.api.field_behavior) = REQUIRED];
// The subset of app profile fields which should be replaced.
// Required. The subset of app profile fields which should be replaced.
// If unset, all fields will be replaced.
google.protobuf.FieldMask update_mask = 2;
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
// If true, ignore safety checks when updating the app profile.
bool ignore_warnings = 3;
@ -449,9 +555,14 @@ message UpdateAppProfileRequest {
// Request message for BigtableInstanceAdmin.DeleteAppProfile.
message DeleteAppProfileRequest {
// The unique name of the app profile to be deleted. Values are of the form
// `projects/<project>/instances/<instance>/appProfiles/<app_profile>`.
string name = 1;
// Required. The unique name of the app profile to be deleted. Values are of the form
// `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/AppProfile"
}
];
// If true, ignore safety checks when deleting the app profile.
bool ignore_warnings = 2;

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -18,6 +18,9 @@ syntax = "proto3";
package google.bigtable.admin.v2;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/bigtable/admin/v2/table.proto";
import "google/iam/v1/iam_policy.proto";
import "google/iam/v1/policy.proto";
@ -39,6 +42,15 @@ option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2";
// Provides access to the table schemas only, not the data stored within
// the tables.
service BigtableTableAdmin {
option (google.api.default_host) = "bigtableadmin.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/bigtable.admin,"
"https://www.googleapis.com/auth/bigtable.admin.table,"
"https://www.googleapis.com/auth/cloud-bigtable.admin,"
"https://www.googleapis.com/auth/cloud-bigtable.admin.table,"
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/cloud-platform.read-only";
// Creates a new table in the specified instance.
// The table can be created with a full set of initial column families,
// specified in the request.
@ -47,6 +59,7 @@ service BigtableTableAdmin {
post: "/v2/{parent=projects/*/instances/*}/tables"
body: "*"
};
option (google.api.method_signature) = "parent,table_id,table";
}
// Creates a new table from the specified snapshot. The target table must
@ -57,12 +70,16 @@ service BigtableTableAdmin {
// feature might be changed in backward-incompatible ways and is not
// recommended for production use. It is not subject to any SLA or deprecation
// policy.
rpc CreateTableFromSnapshot(CreateTableFromSnapshotRequest)
returns (google.longrunning.Operation) {
rpc CreateTableFromSnapshot(CreateTableFromSnapshotRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*/instances/*}/tables:createFromSnapshot"
body: "*"
};
option (google.api.method_signature) = "parent,table_id,source_snapshot";
option (google.longrunning.operation_info) = {
response_type: "Table"
metadata_type: "CreateTableFromSnapshotMetadata"
};
}
// Lists all tables served from a specified instance.
@ -70,6 +87,7 @@ service BigtableTableAdmin {
option (google.api.http) = {
get: "/v2/{parent=projects/*/instances/*}/tables"
};
option (google.api.method_signature) = "parent";
}
// Gets metadata information about the specified table.
@ -77,6 +95,7 @@ service BigtableTableAdmin {
option (google.api.http) = {
get: "/v2/{name=projects/*/instances/*/tables/*}"
};
option (google.api.method_signature) = "name";
}
// Permanently deletes a specified table and all of its data.
@ -84,6 +103,7 @@ service BigtableTableAdmin {
option (google.api.http) = {
delete: "/v2/{name=projects/*/instances/*/tables/*}"
};
option (google.api.method_signature) = "name";
}
// Performs a series of column family modifications on the specified table.
@ -95,6 +115,7 @@ service BigtableTableAdmin {
post: "/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies"
body: "*"
};
option (google.api.method_signature) = "name,modifications";
}
// Permanently drop/delete a row range from a specified table. The request can
@ -111,23 +132,23 @@ service BigtableTableAdmin {
// CheckConsistency to check whether mutations to the table that finished
// before this call started have been replicated. The tokens will be available
// for 90 days.
rpc GenerateConsistencyToken(GenerateConsistencyTokenRequest)
returns (GenerateConsistencyTokenResponse) {
rpc GenerateConsistencyToken(GenerateConsistencyTokenRequest) returns (GenerateConsistencyTokenResponse) {
option (google.api.http) = {
post: "/v2/{name=projects/*/instances/*/tables/*}:generateConsistencyToken"
body: "*"
};
option (google.api.method_signature) = "name";
}
// Checks replication consistency based on a consistency token, that is, if
// replication has caught up based on the conditions specified in the token
// and the check request.
rpc CheckConsistency(CheckConsistencyRequest)
returns (CheckConsistencyResponse) {
rpc CheckConsistency(CheckConsistencyRequest) returns (CheckConsistencyResponse) {
option (google.api.http) = {
post: "/v2/{name=projects/*/instances/*/tables/*}:checkConsistency"
body: "*"
};
option (google.api.method_signature) = "name,consistency_token";
}
// Creates a new snapshot in the specified cluster from the specified
@ -138,12 +159,16 @@ service BigtableTableAdmin {
// feature might be changed in backward-incompatible ways and is not
// recommended for production use. It is not subject to any SLA or deprecation
// policy.
rpc SnapshotTable(SnapshotTableRequest)
returns (google.longrunning.Operation) {
rpc SnapshotTable(SnapshotTableRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{name=projects/*/instances/*/tables/*}:snapshot"
body: "*"
};
option (google.api.method_signature) = "name,cluster,snapshot_id,description";
option (google.longrunning.operation_info) = {
response_type: "Snapshot"
metadata_type: "SnapshotTableMetadata"
};
}
// Gets metadata information about the specified snapshot.
@ -157,6 +182,7 @@ service BigtableTableAdmin {
option (google.api.http) = {
get: "/v2/{name=projects/*/instances/*/clusters/*/snapshots/*}"
};
option (google.api.method_signature) = "name";
}
// Lists all snapshots associated with the specified cluster.
@ -170,6 +196,7 @@ service BigtableTableAdmin {
option (google.api.http) = {
get: "/v2/{parent=projects/*/instances/*/clusters/*}/snapshots"
};
option (google.api.method_signature) = "parent";
}
// Permanently deletes the specified snapshot.
@ -183,24 +210,32 @@ service BigtableTableAdmin {
option (google.api.http) = {
delete: "/v2/{name=projects/*/instances/*/clusters/*/snapshots/*}"
};
option (google.api.method_signature) = "name";
}
// Gets the access control policy for a table resource. Returns an empty
// policy if an table exists but does not have a policy set.
// Gets the access control policy for a resource.
// Returns an empty policy if the resource exists but does not have a policy
// set.
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v2/{resource=projects/*/instances/*/tables/*}:getIamPolicy"
body: "*"
};
option (google.api.method_signature) = "resource";
}
// Sets the access control policy on a table resource. Replaces any existing
// policy.
// Sets the access control policy on a Table or Backup resource.
// Replaces any existing policy.
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v2/{resource=projects/*/instances/*/tables/*}:setIamPolicy"
body: "*"
additional_bindings {
post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:setIamPolicy"
body: "*"
}
};
option (google.api.method_signature) = "resource,policy";
}
// Returns permissions that the caller has on the specified table resource.
@ -208,7 +243,12 @@ service BigtableTableAdmin {
option (google.api.http) = {
post: "/v2/{resource=projects/*/instances/*/tables/*}:testIamPermissions"
body: "*"
additional_bindings {
post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:testIamPermissions"
body: "*"
}
};
option (google.api.method_signature) = "resource,permissions";
}
}
@ -221,16 +261,22 @@ message CreateTableRequest {
bytes key = 1;
}
// The unique name of the instance in which to create the table.
// Values are of the form `projects/<project>/instances/<instance>`.
string parent = 1;
// Required. The unique name of the instance in which to create the table.
// Values are of the form `projects/{project}/instances/{instance}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
// The name by which the new table should be referred to within the parent
// instance, e.g., `foobar` rather than `<parent>/tables/foobar`.
string table_id = 2;
// Required. The name by which the new table should be referred to within the parent
// instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
// Maximum 50 characters.
string table_id = 2 [(google.api.field_behavior) = REQUIRED];
// The Table to create.
Table table = 3;
// Required. The Table to create.
Table table = 3 [(google.api.field_behavior) = REQUIRED];
// The optional list of row keys that will be used to initially split the
// table into several tablets (tablets are similar to HBase regions).
@ -259,28 +305,43 @@ message CreateTableRequest {
// feature might be changed in backward-incompatible ways and is not recommended
// for production use. It is not subject to any SLA or deprecation policy.
message CreateTableFromSnapshotRequest {
// The unique name of the instance in which to create the table.
// Values are of the form `projects/<project>/instances/<instance>`.
string parent = 1;
// Required. The unique name of the instance in which to create the table.
// Values are of the form `projects/{project}/instances/{instance}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
// The name by which the new table should be referred to within the parent
// instance, e.g., `foobar` rather than `<parent>/tables/foobar`.
string table_id = 2;
// Required. The name by which the new table should be referred to within the parent
// instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
string table_id = 2 [(google.api.field_behavior) = REQUIRED];
// The unique name of the snapshot from which to restore the table. The
// Required. The unique name of the snapshot from which to restore the table. The
// snapshot and the table must be in the same instance.
// Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
string source_snapshot = 3;
// `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
string source_snapshot = 3 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Snapshot"
}
];
}
// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange]
message DropRowRangeRequest {
// The unique name of the table on which to drop a range of rows.
// Required. The unique name of the table on which to drop a range of rows.
// Values are of the form
// `projects/<project>/instances/<instance>/tables/<table>`.
string name = 1;
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// Delete all rows or by prefix.
oneof target {
@ -296,16 +357,28 @@ message DropRowRangeRequest {
// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
message ListTablesRequest {
// The unique name of the instance for which tables should be listed.
// Values are of the form `projects/<project>/instances/<instance>`.
string parent = 1;
// Required. The unique name of the instance for which tables should be listed.
// Values are of the form `projects/{project}/instances/{instance}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Instance"
}
];
// The view to be applied to the returned tables' fields.
// Defaults to `NAME_ONLY` if unspecified; no others are currently supported.
// Only NAME_ONLY view (default) and REPLICATION_VIEW are supported.
Table.View view = 2;
// Maximum number of results per page.
// CURRENTLY UNIMPLEMENTED AND IGNORED.
//
// A page_size of zero lets the server choose the number of items to return.
// A page_size which is strictly positive will return at most that many items.
// A negative page_size will cause an error.
//
// Following the first request, subsequent paginated calls are not required
// to pass a page_size. If a page_size is set in subsequent calls, it must
// match the page_size given in the first request.
int32 page_size = 4;
// The value of `next_page_token` returned by a previous call.
@ -327,10 +400,15 @@ message ListTablesResponse {
// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable]
message GetTableRequest {
// The unique name of the requested table.
// Required. The unique name of the requested table.
// Values are of the form
// `projects/<project>/instances/<instance>/tables/<table>`.
string name = 1;
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// The view to be applied to the returned table's fields.
// Defaults to `SCHEMA_VIEW` if unspecified.
@ -340,10 +418,15 @@ message GetTableRequest {
// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable]
message DeleteTableRequest {
// The unique name of the table to be deleted.
// Required. The unique name of the table to be deleted.
// Values are of the form
// `projects/<project>/instances/<instance>/tables/<table>`.
string name = 1;
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
}
// Request message for
@ -370,25 +453,35 @@ message ModifyColumnFamiliesRequest {
}
}
// The unique name of the table whose families should be modified.
// Required. The unique name of the table whose families should be modified.
// Values are of the form
// `projects/<project>/instances/<instance>/tables/<table>`.
string name = 1;
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// Modifications to be atomically applied to the specified table's families.
// Required. Modifications to be atomically applied to the specified table's families.
// Entries are applied in order, meaning that earlier modifications can be
// masked by later ones (in the case of repeated updates to the same family,
// for example).
repeated Modification modifications = 2;
repeated Modification modifications = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken][google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken]
message GenerateConsistencyTokenRequest {
// The unique name of the Table for which to create a consistency token.
// Required. The unique name of the Table for which to create a consistency token.
// Values are of the form
// `projects/<project>/instances/<instance>/tables/<table>`.
string name = 1;
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
}
// Response message for
@ -401,13 +494,18 @@ message GenerateConsistencyTokenResponse {
// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency][google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency]
message CheckConsistencyRequest {
// The unique name of the Table for which to check replication consistency.
// Required. The unique name of the Table for which to check replication consistency.
// Values are of the form
// `projects/<project>/instances/<instance>/tables/<table>`.
string name = 1;
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// The token created using GenerateConsistencyToken for the Table.
string consistency_token = 2;
// Required. The token created using GenerateConsistencyToken for the Table.
string consistency_token = 2 [(google.api.field_behavior) = REQUIRED];
}
// Response message for
@ -428,18 +526,18 @@ message CheckConsistencyResponse {
message SnapshotTableRequest {
// The unique name of the table to have the snapshot taken.
// Values are of the form
// `projects/<project>/instances/<instance>/tables/<table>`.
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1;
// The name of the cluster where the snapshot will be created in.
// Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>`.
// `projects/{project}/instances/{instance}/clusters/{cluster}`.
string cluster = 2;
// The ID by which the new snapshot should be referred to within the parent
// cluster, e.g., `mysnapshot` of the form: `[_a-zA-Z0-9][-_.a-zA-Z0-9]*`
// rather than
// `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/mysnapshot`.
// `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/mysnapshot`.
string snapshot_id = 3;
// The amount of time that the new snapshot can stay active after it is
@ -460,10 +558,15 @@ message SnapshotTableRequest {
// feature might be changed in backward-incompatible ways and is not recommended
// for production use. It is not subject to any SLA or deprecation policy.
message GetSnapshotRequest {
// The unique name of the requested snapshot.
// Required. The unique name of the requested snapshot.
// Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
string name = 1;
// `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Snapshot"
}
];
}
// Request message for
@ -474,12 +577,17 @@ message GetSnapshotRequest {
// feature might be changed in backward-incompatible ways and is not recommended
// for production use. It is not subject to any SLA or deprecation policy.
message ListSnapshotsRequest {
// The unique name of the cluster for which snapshots should be listed.
// Required. The unique name of the cluster for which snapshots should be listed.
// Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>`.
// Use `<cluster> = '-'` to list snapshots for all clusters in an instance,
// e.g., `projects/<project>/instances/<instance>/clusters/-`.
string parent = 1;
// `projects/{project}/instances/{instance}/clusters/{cluster}`.
// Use `{cluster} = '-'` to list snapshots for all clusters in an instance,
// e.g., `projects/{project}/instances/{instance}/clusters/-`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Cluster"
}
];
// The maximum number of snapshots to return per page.
// CURRENTLY UNIMPLEMENTED AND IGNORED.
@ -514,10 +622,15 @@ message ListSnapshotsResponse {
// feature might be changed in backward-incompatible ways and is not recommended
// for production use. It is not subject to any SLA or deprecation policy.
message DeleteSnapshotRequest {
// The unique name of the snapshot to be deleted.
// Required. The unique name of the snapshot to be deleted.
// Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
string name = 1;
// `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Snapshot"
}
];
}
// The metadata for the Operation returned by SnapshotTable.

@ -8,113 +8,44 @@ apis:
- name: google.bigtable.admin.v2.BigtableTableAdmin
types:
- name: google.bigtable.admin.v2.CreateClusterMetadata
- name: google.bigtable.admin.v2.CreateInstanceMetadata
- name: google.bigtable.admin.v2.UpdateInstanceMetadata
- name: google.bigtable.admin.v2.CreateTableFromSnapshotMetadata
- name: google.bigtable.admin.v2.SnapshotTableMetadata
- name: google.bigtable.admin.v2.CreateClusterMetadata
- name: google.bigtable.admin.v2.UpdateClusterMetadata
- name: google.bigtable.admin.v2.UpdateAppProfileMetadata
- name: google.bigtable.admin.v2.UpdateClusterMetadata
- name: google.bigtable.admin.v2.UpdateInstanceMetadata
documentation:
summary: Administer your Cloud Bigtable tables and instances.
backend:
rules:
- selector: google.longrunning.Operations.ListOperations
deadline: 60.0
- selector: google.longrunning.Operations.GetOperation
deadline: 60.0
- selector: google.longrunning.Operations.DeleteOperation
deadline: 60.0
- selector: google.longrunning.Operations.CancelOperation
deadline: 60.0
- selector: google.longrunning.Operations.WaitOperation
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.CreateInstance
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetInstance
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListInstances
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.UpdateInstance
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.PartialUpdateInstance
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DeleteInstance
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.CreateCluster
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetCluster
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListClusters
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.UpdateCluster
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DeleteCluster
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.CreateAppProfile
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetAppProfile
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListAppProfiles
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.UpdateAppProfile
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.EnableAppProfile
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DisableAppProfile
- selector: 'google.bigtable.admin.v2.BigtableInstanceAdmin.*'
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DeleteAppProfile
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetIamPolicy
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.SetIamPolicy
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.TestIamPermissions
- selector: 'google.bigtable.admin.v2.BigtableTableAdmin.*'
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.CreateTable
deadline: 130.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.CreateTableFromSnapshot
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.ListTables
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.GetTable
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange
deadline: 900.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.SnapshotTable
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.GetSnapshot
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.ListSnapshots
deadline: 60.0
- selector: google.bigtable.admin.v2.BigtableTableAdmin.DeleteSnapshot
- selector: 'google.longrunning.Operations.*'
deadline: 60.0
http:
rules:
- selector: google.longrunning.Operations.ListOperations
get: '/v2/{name=operations/projects/**}/operations'
- selector: google.longrunning.Operations.GetOperation
get: '/v2/{name=operations/**}'
- selector: google.longrunning.Operations.DeleteOperation
delete: '/v2/{name=operations/**}'
- selector: google.longrunning.Operations.CancelOperation
post: '/v2/{name=operations/**}:cancel'
- selector: google.longrunning.Operations.DeleteOperation
delete: '/v2/{name=operations/**}'
- selector: google.longrunning.Operations.GetOperation
get: '/v2/{name=operations/**}'
- selector: google.longrunning.Operations.ListOperations
get: '/v2/{name=operations/projects/**}/operations'
authentication:
rules:
- selector: '*'
- selector: 'google.bigtable.admin.v2.BigtableInstanceAdmin.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
@ -123,6 +54,56 @@ authentication:
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetAppProfile
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetCluster
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetInstance
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListClusters
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListInstances
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: 'google.bigtable.admin.v2.BigtableTableAdmin.*'
oauth:
canonical_scopes: |-
@ -131,23 +112,16 @@ authentication:
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.table,
https://www.googleapis.com/auth/cloud-platform
- selector: |-
google.bigtable.admin.v2.BigtableInstanceAdmin.GetCluster,
google.bigtable.admin.v2.BigtableInstanceAdmin.GetInstance,
google.bigtable.admin.v2.BigtableInstanceAdmin.ListClusters,
google.bigtable.admin.v2.BigtableInstanceAdmin.ListInstances
- selector: google.bigtable.admin.v2.BigtableTableAdmin.GetTable
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/bigtable.admin.table,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-bigtable.admin.table,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: |-
google.bigtable.admin.v2.BigtableTableAdmin.GetTable,
google.bigtable.admin.v2.BigtableTableAdmin.ListTables
- selector: google.bigtable.admin.v2.BigtableTableAdmin.ListTables
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
@ -156,9 +130,26 @@ authentication:
https://www.googleapis.com/auth/cloud-bigtable.admin.table,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: |-
google.longrunning.Operations.GetOperation,
google.longrunning.Operations.ListOperations
- selector: 'google.longrunning.Operations.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform
- selector: google.longrunning.Operations.GetOperation
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,
https://www.googleapis.com/auth/bigtable.admin.cluster,
https://www.googleapis.com/auth/bigtable.admin.instance,
https://www.googleapis.com/auth/cloud-bigtable.admin,
https://www.googleapis.com/auth/cloud-bigtable.admin.cluster,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only
- selector: google.longrunning.Operations.ListOperations
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigtable.admin,

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -18,6 +18,8 @@ syntax = "proto3";
package google.bigtable.admin.v2;
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/bigtable/admin/v2/common.proto";
option csharp_namespace = "Google.Cloud.Bigtable.Admin.V2";
@ -29,9 +31,14 @@ option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2";
// A collection of Bigtable [Tables][google.bigtable.admin.v2.Table] and
// the resources that serve them.
// All tables in an instance are served from a single
// [Cluster][google.bigtable.admin.v2.Cluster].
// All tables in an instance are served from all
// [Clusters][google.bigtable.admin.v2.Cluster] in the instance.
message Instance {
option (google.api.resource) = {
type: "bigtable.googleapis.com/Instance"
pattern: "projects/{project}/instances/{instance}"
};
// Possible states of an instance.
enum State {
// The state of the instance could not be determined.
@ -67,15 +74,14 @@ message Instance {
DEVELOPMENT = 2;
}
// (`OutputOnly`)
// The unique name of the instance. Values are of the form
// `projects/<project>/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
string name = 1;
// `projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// The descriptive name for this instance as it appears in UIs.
// Required. The descriptive name for this instance as it appears in UIs.
// Can be changed at any time, but should be kept globally unique
// to avoid confusion.
string display_name = 2;
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
// (`OutputOnly`)
// The current state of the instance.
@ -102,6 +108,11 @@ message Instance {
// of serving all [Tables][google.bigtable.admin.v2.Table] in the parent
// [Instance][google.bigtable.admin.v2.Instance].
message Cluster {
option (google.api.resource) = {
type: "bigtable.googleapis.com/Cluster"
pattern: "projects/{project}/instances/{instance}/clusters/{cluster}"
};
// Possible states of a cluster.
enum State {
// The state of the cluster could not be determined.
@ -127,25 +138,25 @@ message Cluster {
DISABLED = 4;
}
// (`OutputOnly`)
// The unique name of the cluster. Values are of the form
// `projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*`.
string name = 1;
// `projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*`.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// (`CreationOnly`)
// The location where this cluster's nodes and storage reside. For best
// performance, clients should be located as close as possible to this
// cluster. Currently only zones are supported, so values should be of the
// form `projects/<project>/locations/<zone>`.
string location = 2;
// form `projects/{project}/locations/{zone}`.
string location = 2 [(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}];
// (`OutputOnly`)
// The current state of the cluster.
State state = 3;
State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
// The number of nodes allocated to this cluster. More nodes enable higher
// Required. The number of nodes allocated to this cluster. More nodes enable higher
// throughput and more consistent performance.
int32 serve_nodes = 4;
int32 serve_nodes = 4 [(google.api.field_behavior) = REQUIRED];
// (`CreationOnly`)
// The type of storage used by this cluster to serve its
@ -156,14 +167,20 @@ message Cluster {
// A configuration object describing how Cloud Bigtable should treat traffic
// from a particular end user application.
message AppProfile {
// Read/write requests may be routed to any cluster in the instance, and will
// fail over to another cluster in the event of transient errors or delays.
// Choosing this option sacrifices read-your-writes consistency to improve
// availability.
option (google.api.resource) = {
type: "bigtable.googleapis.com/AppProfile"
pattern: "projects/{project}/instances/{instance}/appProfiles/{app_profile}"
};
// Read/write requests are routed to the nearest cluster in the instance, and
// will fail over to the nearest cluster that is available in the event of
// transient errors or delays. Clusters in a region are considered
// equidistant. Choosing this option sacrifices read-your-writes consistency
// to improve availability.
message MultiClusterRoutingUseAny {}
// Unconditionally routes all read/write requests to a specific cluster.
// This option preserves read-your-writes consistency, but does not improve
// This option preserves read-your-writes consistency but does not improve
// availability.
message SingleClusterRouting {
// The cluster to which read/write requests should be routed.
@ -193,10 +210,10 @@ message AppProfile {
// Optional long form description of the use case for this AppProfile.
string description = 3;
// The routing policy for all read/write requests which use this app profile.
// The routing policy for all read/write requests that use this app profile.
// A value must be explicitly set.
oneof routing_policy {
// Use a multi-cluster routing policy that may pick any cluster.
// Use a multi-cluster routing policy.
MultiClusterRoutingUseAny multi_cluster_routing_use_any = 5;
// Use a single-cluster routing policy.

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -18,6 +18,8 @@ syntax = "proto3";
package google.bigtable.admin.v2;
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
@ -31,6 +33,11 @@ option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2";
// A collection of user data indexed by row, column, and timestamp.
// Each table is served using the resources of its parent cluster.
message Table {
option (google.api.resource) = {
type: "bigtable.googleapis.com/Table"
pattern: "projects/{project}/instances/{instance}/tables/{table}"
};
// The state of a table's data in a particular cluster.
message ClusterState {
// Table replication states.
@ -57,8 +64,7 @@ message Table {
READY = 4;
}
// (`OutputOnly`)
// The state of replication for the table in this cluster.
// Output only. The state of replication for the table in this cluster.
ReplicationState replication_state = 1;
}
@ -84,22 +90,20 @@ message Table {
// Only populates `name` and fields related to the table's schema.
SCHEMA_VIEW = 2;
// Only populates `name` and fields related to the table's
// replication state.
// Only populates `name` and fields related to the table's replication
// state.
REPLICATION_VIEW = 3;
// Populates all fields.
FULL = 4;
}
// (`OutputOnly`)
// The unique name of the table. Values are of the form
// Output only. The unique name of the table. Values are of the form
// `projects/<project>/instances/<instance>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
// Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`
string name = 1;
// (`OutputOnly`)
// Map from cluster ID to per-cluster table state.
// Output only. Map from cluster ID to per-cluster table state.
// If it could not be determined whether or not the table has data in a
// particular cluster (for example, if its zone is unavailable), then
// there will be an entry for the cluster with UNKNOWN `replication_status`.
@ -115,7 +119,7 @@ message Table {
// The granularity (i.e. `MILLIS`) at which timestamps are stored in
// this table. Timestamps not matching the granularity will be rejected.
// If unspecified at creation time, the value will be set to `MILLIS`.
// Views: `SCHEMA_VIEW`, `FULL`
// Views: `SCHEMA_VIEW`, `FULL`.
TimestampGranularity granularity = 4;
}
@ -170,6 +174,11 @@ message GcRule {
// feature might be changed in backward-incompatible ways and is not recommended
// for production use. It is not subject to any SLA or deprecation policy.
message Snapshot {
option (google.api.resource) = {
type: "bigtable.googleapis.com/Snapshot"
pattern: "projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}"
};
// Possible states of a snapshot.
enum State {
// The state of the snapshot could not be determined.
@ -184,37 +193,30 @@ message Snapshot {
CREATING = 2;
}
// (`OutputOnly`)
// The unique name of the snapshot.
// Output only. The unique name of the snapshot.
// Values are of the form
// `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
string name = 1;
// (`OutputOnly`)
// The source table at the time the snapshot was taken.
// Output only. The source table at the time the snapshot was taken.
Table source_table = 2;
// (`OutputOnly`)
// The size of the data in the source table at the time the snapshot was
// Output only. The size of the data in the source table at the time the snapshot was
// taken. In some cases, this value may be computed asynchronously via a
// background process and a placeholder of 0 will be used in the meantime.
int64 data_size_bytes = 3;
// (`OutputOnly`)
// The time when the snapshot is created.
// Output only. The time when the snapshot is created.
google.protobuf.Timestamp create_time = 4;
// (`OutputOnly`)
// The time when the snapshot will be deleted. The maximum amount of time a
// Output only. The time when the snapshot will be deleted. The maximum amount of time a
// snapshot can stay active is 365 days. If 'ttl' is not specified,
// the default maximum of 365 days will be used.
google.protobuf.Timestamp delete_time = 5;
// (`OutputOnly`)
// The current state of the snapshot.
// Output only. The current state of the snapshot.
State state = 6;
// (`OutputOnly`)
// Description of the snapshot.
// Output only. Description of the snapshot.
string description = 7;
}

Loading…
Cancel
Save