google-cloud-bigtable 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +10 -0
  3. data/LICENSE +201 -0
  4. data/README.md +65 -0
  5. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_pb.rb +139 -0
  6. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +85 -0
  7. data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +137 -0
  8. data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +117 -0
  9. data/lib/google/bigtable/admin/v2/common_pb.rb +24 -0
  10. data/lib/google/bigtable/admin/v2/instance_pb.rb +72 -0
  11. data/lib/google/bigtable/admin/v2/table_pb.rb +88 -0
  12. data/lib/google/bigtable/v2/bigtable_pb.rb +109 -0
  13. data/lib/google/bigtable/v2/bigtable_services_pb.rb +67 -0
  14. data/lib/google/bigtable/v2/data_pb.rb +155 -0
  15. data/lib/google/cloud/bigtable/admin/credentials.rb +26 -0
  16. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client.rb +1417 -0
  17. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client_config.json +123 -0
  18. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +1079 -0
  19. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client_config.json +109 -0
  20. data/lib/google/cloud/bigtable/admin/v2/credentials.rb +50 -0
  21. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_instance_admin.rb +279 -0
  22. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_table_admin.rb +353 -0
  23. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/instance.rb +194 -0
  24. data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/table.rb +209 -0
  25. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/iam_policy.rb +62 -0
  26. data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +127 -0
  27. data/lib/google/cloud/bigtable/admin/v2/doc/google/longrunning/operations.rb +92 -0
  28. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/any.rb +124 -0
  29. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/duration.rb +90 -0
  30. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/empty.rb +28 -0
  31. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/field_mask.rb +223 -0
  32. data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/timestamp.rb +106 -0
  33. data/lib/google/cloud/bigtable/admin/v2/doc/google/rpc/status.rb +83 -0
  34. data/lib/google/cloud/bigtable/admin/v2.rb +200 -0
  35. data/lib/google/cloud/bigtable/admin.rb +196 -0
  36. data/lib/google/cloud/bigtable/app_profile/job.rb +102 -0
  37. data/lib/google/cloud/bigtable/app_profile/list.rb +159 -0
  38. data/lib/google/cloud/bigtable/app_profile.rb +373 -0
  39. data/lib/google/cloud/bigtable/chunk_processor.rb +253 -0
  40. data/lib/google/cloud/bigtable/cluster/job.rb +92 -0
  41. data/lib/google/cloud/bigtable/cluster/list.rb +169 -0
  42. data/lib/google/cloud/bigtable/cluster.rb +264 -0
  43. data/lib/google/cloud/bigtable/column_family.rb +280 -0
  44. data/lib/google/cloud/bigtable/column_range.rb +186 -0
  45. data/lib/google/cloud/bigtable/convert.rb +75 -0
  46. data/lib/google/cloud/bigtable/credentials.rb +24 -0
  47. data/lib/google/cloud/bigtable/errors.rb +35 -0
  48. data/lib/google/cloud/bigtable/gc_rule.rb +215 -0
  49. data/lib/google/cloud/bigtable/instance/cluster_map.rb +70 -0
  50. data/lib/google/cloud/bigtable/instance/job.rb +97 -0
  51. data/lib/google/cloud/bigtable/instance/list.rb +159 -0
  52. data/lib/google/cloud/bigtable/instance.rb +921 -0
  53. data/lib/google/cloud/bigtable/longrunning_job.rb +105 -0
  54. data/lib/google/cloud/bigtable/mutation_entry.rb +244 -0
  55. data/lib/google/cloud/bigtable/mutation_operations.rb +338 -0
  56. data/lib/google/cloud/bigtable/policy.rb +163 -0
  57. data/lib/google/cloud/bigtable/project.rb +580 -0
  58. data/lib/google/cloud/bigtable/read_modify_write_rule.rb +129 -0
  59. data/lib/google/cloud/bigtable/read_operations.rb +345 -0
  60. data/lib/google/cloud/bigtable/row.rb +125 -0
  61. data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +539 -0
  62. data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +108 -0
  63. data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +570 -0
  64. data/lib/google/cloud/bigtable/row_filter/simple_filter.rb +273 -0
  65. data/lib/google/cloud/bigtable/row_filter.rb +593 -0
  66. data/lib/google/cloud/bigtable/row_range.rb +174 -0
  67. data/lib/google/cloud/bigtable/rows_mutator.rb +120 -0
  68. data/lib/google/cloud/bigtable/rows_reader.rb +196 -0
  69. data/lib/google/cloud/bigtable/sample_row_key.rb +82 -0
  70. data/lib/google/cloud/bigtable/service.rb +817 -0
  71. data/lib/google/cloud/bigtable/table/cluster_state.rb +93 -0
  72. data/lib/google/cloud/bigtable/table/column_family_map.rb +68 -0
  73. data/lib/google/cloud/bigtable/table/list.rb +147 -0
  74. data/lib/google/cloud/bigtable/table.rb +676 -0
  75. data/lib/google/cloud/bigtable/v2/bigtable_client.rb +579 -0
  76. data/lib/google/cloud/bigtable/v2/bigtable_client_config.json +65 -0
  77. data/lib/google/cloud/bigtable/v2/credentials.rb +45 -0
  78. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +286 -0
  79. data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb +492 -0
  80. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/any.rb +124 -0
  81. data/lib/google/cloud/bigtable/v2/doc/google/protobuf/wrappers.rb +89 -0
  82. data/lib/google/cloud/bigtable/v2/doc/google/rpc/status.rb +83 -0
  83. data/lib/google/cloud/bigtable/v2.rb +132 -0
  84. data/lib/google/cloud/bigtable/value_range.rb +175 -0
  85. data/lib/google/cloud/bigtable/version.rb +22 -0
  86. data/lib/google/cloud/bigtable.rb +223 -0
  87. data/lib/google-cloud-bigtable.rb +167 -0
  88. metadata +283 -0
@@ -0,0 +1,109 @@
1
+ {
2
+ "interfaces": {
3
+ "google.bigtable.admin.v2.BigtableTableAdmin": {
4
+ "retry_codes": {
5
+ "idempotent": [
6
+ "DEADLINE_EXCEEDED",
7
+ "UNAVAILABLE"
8
+ ],
9
+ "non_idempotent": []
10
+ },
11
+ "retry_params": {
12
+ "default": {
13
+ "initial_retry_delay_millis": 100,
14
+ "retry_delay_multiplier": 1.3,
15
+ "max_retry_delay_millis": 60000,
16
+ "initial_rpc_timeout_millis": 20000,
17
+ "rpc_timeout_multiplier": 1.0,
18
+ "max_rpc_timeout_millis": 20000,
19
+ "total_timeout_millis": 600000
20
+ },
21
+ "create_table": {
22
+ "initial_retry_delay_millis": 100,
23
+ "retry_delay_multiplier": 1.3,
24
+ "max_retry_delay_millis": 60000,
25
+ "initial_rpc_timeout_millis": 130000,
26
+ "rpc_timeout_multiplier": 1.0,
27
+ "max_rpc_timeout_millis": 130000,
28
+ "total_timeout_millis": 3600000
29
+ },
30
+ "drop_row_range": {
31
+ "initial_retry_delay_millis": 100,
32
+ "retry_delay_multiplier": 1.3,
33
+ "max_retry_delay_millis": 60000,
34
+ "initial_rpc_timeout_millis": 900000,
35
+ "rpc_timeout_multiplier": 1.0,
36
+ "max_rpc_timeout_millis": 900000,
37
+ "total_timeout_millis": 3600000
38
+ }
39
+ },
40
+ "methods": {
41
+ "CreateTable": {
42
+ "timeout_millis": 130000,
43
+ "retry_codes_name": "non_idempotent",
44
+ "retry_params_name": "create_table"
45
+ },
46
+ "CreateTableFromSnapshot": {
47
+ "timeout_millis": 60000,
48
+ "retry_codes_name": "non_idempotent",
49
+ "retry_params_name": "default"
50
+ },
51
+ "ListTables": {
52
+ "timeout_millis": 60000,
53
+ "retry_codes_name": "idempotent",
54
+ "retry_params_name": "default"
55
+ },
56
+ "GetTable": {
57
+ "timeout_millis": 60000,
58
+ "retry_codes_name": "idempotent",
59
+ "retry_params_name": "default"
60
+ },
61
+ "DeleteTable": {
62
+ "timeout_millis": 60000,
63
+ "retry_codes_name": "idempotent",
64
+ "retry_params_name": "default"
65
+ },
66
+ "ModifyColumnFamilies": {
67
+ "timeout_millis": 60000,
68
+ "retry_codes_name": "non_idempotent",
69
+ "retry_params_name": "default"
70
+ },
71
+ "DropRowRange": {
72
+ "timeout_millis": 900000,
73
+ "retry_codes_name": "non_idempotent",
74
+ "retry_params_name": "drop_row_range"
75
+ },
76
+ "GenerateConsistencyToken": {
77
+ "timeout_millis": 60000,
78
+ "retry_codes_name": "idempotent",
79
+ "retry_params_name": "default"
80
+ },
81
+ "CheckConsistency": {
82
+ "timeout_millis": 60000,
83
+ "retry_codes_name": "idempotent",
84
+ "retry_params_name": "default"
85
+ },
86
+ "SnapshotTable": {
87
+ "timeout_millis": 60000,
88
+ "retry_codes_name": "non_idempotent",
89
+ "retry_params_name": "default"
90
+ },
91
+ "GetSnapshot": {
92
+ "timeout_millis": 60000,
93
+ "retry_codes_name": "idempotent",
94
+ "retry_params_name": "default"
95
+ },
96
+ "ListSnapshots": {
97
+ "timeout_millis": 60000,
98
+ "retry_codes_name": "idempotent",
99
+ "retry_params_name": "default"
100
+ },
101
+ "DeleteSnapshot": {
102
+ "timeout_millis": 60000,
103
+ "retry_codes_name": "non_idempotent",
104
+ "retry_params_name": "default"
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,50 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "googleauth"
16
+
17
+ module Google
18
+ module Cloud
19
+ module Bigtable
20
+ module Admin
21
+ module V2
22
+ class Credentials < Google::Auth::Credentials
23
+ SCOPE = [
24
+ "https://www.googleapis.com/auth/bigtable.admin",
25
+ "https://www.googleapis.com/auth/bigtable.admin.cluster",
26
+ "https://www.googleapis.com/auth/bigtable.admin.instance",
27
+ "https://www.googleapis.com/auth/bigtable.admin.table",
28
+ "https://www.googleapis.com/auth/cloud-bigtable.admin",
29
+ "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
30
+ "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
31
+ "https://www.googleapis.com/auth/cloud-platform",
32
+ "https://www.googleapis.com/auth/cloud-platform.read-only"
33
+ ].freeze
34
+ PATH_ENV_VARS = %w(BIGTABLE_ADMIN_CREDENTIALS
35
+ BIGTABLE_ADMIN_KEYFILE
36
+ GOOGLE_CLOUD_CREDENTIALS
37
+ GOOGLE_CLOUD_KEYFILE
38
+ GCLOUD_KEYFILE)
39
+ JSON_ENV_VARS = %w(BIGTABLE_ADMIN_CREDENTIALS_JSON
40
+ BIGTABLE_ADMIN_KEYFILE_JSON
41
+ GOOGLE_CLOUD_CREDENTIALS_JSON
42
+ GOOGLE_CLOUD_KEYFILE_JSON
43
+ GCLOUD_KEYFILE_JSON)
44
+ DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,279 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Bigtable
17
+ module Admin
18
+ module V2
19
+ # Request message for BigtableInstanceAdmin.CreateInstance.
20
+ # @!attribute [rw] parent
21
+ # @return [String]
22
+ # The unique name of the project in which to create the new instance.
23
+ # Values are of the form +projects/<project>+.
24
+ # @!attribute [rw] instance_id
25
+ # @return [String]
26
+ # The ID to be used when referring to the new instance within its project,
27
+ # e.g., just +myinstance+ rather than
28
+ # +projects/myproject/instances/myinstance+.
29
+ # @!attribute [rw] instance
30
+ # @return [Google::Bigtable::Admin::V2::Instance]
31
+ # The instance to create.
32
+ # Fields marked +OutputOnly+ must be left blank.
33
+ # @!attribute [rw] clusters
34
+ # @return [Hash{String => Google::Bigtable::Admin::V2::Cluster}]
35
+ # The clusters to be created within the instance, mapped by desired
36
+ # cluster ID, e.g., just +mycluster+ rather than
37
+ # +projects/myproject/instances/myinstance/clusters/mycluster+.
38
+ # Fields marked +OutputOnly+ must be left blank.
39
+ # Currently exactly one cluster must be specified.
40
+ class CreateInstanceRequest; end
41
+
42
+ # Request message for BigtableInstanceAdmin.GetInstance.
43
+ # @!attribute [rw] name
44
+ # @return [String]
45
+ # The unique name of the requested instance. Values are of the form
46
+ # +projects/<project>/instances/<instance>+.
47
+ class GetInstanceRequest; end
48
+
49
+ # Request message for BigtableInstanceAdmin.ListInstances.
50
+ # @!attribute [rw] parent
51
+ # @return [String]
52
+ # The unique name of the project for which a list of instances is requested.
53
+ # Values are of the form +projects/<project>+.
54
+ # @!attribute [rw] page_token
55
+ # @return [String]
56
+ # The value of +next_page_token+ returned by a previous call.
57
+ class ListInstancesRequest; end
58
+
59
+ # Response message for BigtableInstanceAdmin.ListInstances.
60
+ # @!attribute [rw] instances
61
+ # @return [Array<Google::Bigtable::Admin::V2::Instance>]
62
+ # The list of requested instances.
63
+ # @!attribute [rw] failed_locations
64
+ # @return [Array<String>]
65
+ # Locations from which Instance information could not be retrieved,
66
+ # due to an outage or some other transient condition.
67
+ # Instances whose Clusters are all in one of the failed locations
68
+ # may be missing from +instances+, and Instances with at least one
69
+ # Cluster in a failed location may only have partial information returned.
70
+ # @!attribute [rw] next_page_token
71
+ # @return [String]
72
+ # Set if not all instances could be returned in a single response.
73
+ # Pass this value to +page_token+ in another request to get the next
74
+ # page of results.
75
+ class ListInstancesResponse; end
76
+
77
+ # Request message for BigtableInstanceAdmin.PartialUpdateInstance.
78
+ # @!attribute [rw] instance
79
+ # @return [Google::Bigtable::Admin::V2::Instance]
80
+ # The Instance which will (partially) replace the current value.
81
+ # @!attribute [rw] update_mask
82
+ # @return [Google::Protobuf::FieldMask]
83
+ # The subset of Instance fields which should be replaced.
84
+ # Must be explicitly set.
85
+ class PartialUpdateInstanceRequest; end
86
+
87
+ # Request message for BigtableInstanceAdmin.DeleteInstance.
88
+ # @!attribute [rw] name
89
+ # @return [String]
90
+ # The unique name of the instance to be deleted.
91
+ # Values are of the form +projects/<project>/instances/<instance>+.
92
+ class DeleteInstanceRequest; end
93
+
94
+ # Request message for BigtableInstanceAdmin.CreateCluster.
95
+ # @!attribute [rw] parent
96
+ # @return [String]
97
+ # The unique name of the instance in which to create the new cluster.
98
+ # Values are of the form
99
+ # +projects/<project>/instances/<instance>+.
100
+ # @!attribute [rw] cluster_id
101
+ # @return [String]
102
+ # The ID to be used when referring to the new cluster within its instance,
103
+ # e.g., just +mycluster+ rather than
104
+ # +projects/myproject/instances/myinstance/clusters/mycluster+.
105
+ # @!attribute [rw] cluster
106
+ # @return [Google::Bigtable::Admin::V2::Cluster]
107
+ # The cluster to be created.
108
+ # Fields marked +OutputOnly+ must be left blank.
109
+ class CreateClusterRequest; end
110
+
111
+ # Request message for BigtableInstanceAdmin.GetCluster.
112
+ # @!attribute [rw] name
113
+ # @return [String]
114
+ # The unique name of the requested cluster. Values are of the form
115
+ # +projects/<project>/instances/<instance>/clusters/<cluster>+.
116
+ class GetClusterRequest; end
117
+
118
+ # Request message for BigtableInstanceAdmin.ListClusters.
119
+ # @!attribute [rw] parent
120
+ # @return [String]
121
+ # The unique name of the instance for which a list of clusters is requested.
122
+ # Values are of the form +projects/<project>/instances/<instance>+.
123
+ # Use +<instance> = '-'+ to list Clusters for all Instances in a project,
124
+ # e.g., +projects/myproject/instances/-+.
125
+ # @!attribute [rw] page_token
126
+ # @return [String]
127
+ # The value of +next_page_token+ returned by a previous call.
128
+ class ListClustersRequest; end
129
+
130
+ # Response message for BigtableInstanceAdmin.ListClusters.
131
+ # @!attribute [rw] clusters
132
+ # @return [Array<Google::Bigtable::Admin::V2::Cluster>]
133
+ # The list of requested clusters.
134
+ # @!attribute [rw] failed_locations
135
+ # @return [Array<String>]
136
+ # Locations from which Cluster information could not be retrieved,
137
+ # due to an outage or some other transient condition.
138
+ # Clusters from these locations may be missing from +clusters+,
139
+ # or may only have partial information returned.
140
+ # @!attribute [rw] next_page_token
141
+ # @return [String]
142
+ # Set if not all clusters could be returned in a single response.
143
+ # Pass this value to +page_token+ in another request to get the next
144
+ # page of results.
145
+ class ListClustersResponse; end
146
+
147
+ # Request message for BigtableInstanceAdmin.DeleteCluster.
148
+ # @!attribute [rw] name
149
+ # @return [String]
150
+ # The unique name of the cluster to be deleted. Values are of the form
151
+ # +projects/<project>/instances/<instance>/clusters/<cluster>+.
152
+ class DeleteClusterRequest; end
153
+
154
+ # The metadata for the Operation returned by CreateInstance.
155
+ # @!attribute [rw] original_request
156
+ # @return [Google::Bigtable::Admin::V2::CreateInstanceRequest]
157
+ # The request that prompted the initiation of this CreateInstance operation.
158
+ # @!attribute [rw] request_time
159
+ # @return [Google::Protobuf::Timestamp]
160
+ # The time at which the original request was received.
161
+ # @!attribute [rw] finish_time
162
+ # @return [Google::Protobuf::Timestamp]
163
+ # The time at which the operation failed or was completed successfully.
164
+ class CreateInstanceMetadata; end
165
+
166
+ # The metadata for the Operation returned by UpdateInstance.
167
+ # @!attribute [rw] original_request
168
+ # @return [Google::Bigtable::Admin::V2::PartialUpdateInstanceRequest]
169
+ # The request that prompted the initiation of this UpdateInstance operation.
170
+ # @!attribute [rw] request_time
171
+ # @return [Google::Protobuf::Timestamp]
172
+ # The time at which the original request was received.
173
+ # @!attribute [rw] finish_time
174
+ # @return [Google::Protobuf::Timestamp]
175
+ # The time at which the operation failed or was completed successfully.
176
+ class UpdateInstanceMetadata; end
177
+
178
+ # The metadata for the Operation returned by CreateCluster.
179
+ # @!attribute [rw] original_request
180
+ # @return [Google::Bigtable::Admin::V2::CreateClusterRequest]
181
+ # The request that prompted the initiation of this CreateCluster operation.
182
+ # @!attribute [rw] request_time
183
+ # @return [Google::Protobuf::Timestamp]
184
+ # The time at which the original request was received.
185
+ # @!attribute [rw] finish_time
186
+ # @return [Google::Protobuf::Timestamp]
187
+ # The time at which the operation failed or was completed successfully.
188
+ class CreateClusterMetadata; end
189
+
190
+ # The metadata for the Operation returned by UpdateCluster.
191
+ # @!attribute [rw] original_request
192
+ # @return [Google::Bigtable::Admin::V2::Cluster]
193
+ # The request that prompted the initiation of this UpdateCluster operation.
194
+ # @!attribute [rw] request_time
195
+ # @return [Google::Protobuf::Timestamp]
196
+ # The time at which the original request was received.
197
+ # @!attribute [rw] finish_time
198
+ # @return [Google::Protobuf::Timestamp]
199
+ # The time at which the operation failed or was completed successfully.
200
+ class UpdateClusterMetadata; end
201
+
202
+ # Request message for BigtableInstanceAdmin.CreateAppProfile.
203
+ # @!attribute [rw] parent
204
+ # @return [String]
205
+ # The unique name of the instance in which to create the new app profile.
206
+ # Values are of the form
207
+ # +projects/<project>/instances/<instance>+.
208
+ # @!attribute [rw] app_profile_id
209
+ # @return [String]
210
+ # The ID to be used when referring to the new app profile within its
211
+ # instance, e.g., just +myprofile+ rather than
212
+ # +projects/myproject/instances/myinstance/appProfiles/myprofile+.
213
+ # @!attribute [rw] app_profile
214
+ # @return [Google::Bigtable::Admin::V2::AppProfile]
215
+ # The app profile to be created.
216
+ # Fields marked +OutputOnly+ will be ignored.
217
+ # @!attribute [rw] ignore_warnings
218
+ # @return [true, false]
219
+ # If true, ignore safety checks when creating the app profile.
220
+ class CreateAppProfileRequest; end
221
+
222
+ # Request message for BigtableInstanceAdmin.GetAppProfile.
223
+ # @!attribute [rw] name
224
+ # @return [String]
225
+ # The unique name of the requested app profile. Values are of the form
226
+ # +projects/<project>/instances/<instance>/appProfiles/<app_profile>+.
227
+ class GetAppProfileRequest; end
228
+
229
+ # Request message for BigtableInstanceAdmin.ListAppProfiles.
230
+ # @!attribute [rw] parent
231
+ # @return [String]
232
+ # The unique name of the instance for which a list of app profiles is
233
+ # requested. Values are of the form
234
+ # +projects/<project>/instances/<instance>+.
235
+ # @!attribute [rw] page_token
236
+ # @return [String]
237
+ # The value of +next_page_token+ returned by a previous call.
238
+ class ListAppProfilesRequest; end
239
+
240
+ # Response message for BigtableInstanceAdmin.ListAppProfiles.
241
+ # @!attribute [rw] app_profiles
242
+ # @return [Array<Google::Bigtable::Admin::V2::AppProfile>]
243
+ # The list of requested app profiles.
244
+ # @!attribute [rw] next_page_token
245
+ # @return [String]
246
+ # Set if not all app profiles could be returned in a single response.
247
+ # Pass this value to +page_token+ in another request to get the next
248
+ # page of results.
249
+ class ListAppProfilesResponse; end
250
+
251
+ # Request message for BigtableInstanceAdmin.UpdateAppProfile.
252
+ # @!attribute [rw] app_profile
253
+ # @return [Google::Bigtable::Admin::V2::AppProfile]
254
+ # The app profile which will (partially) replace the current value.
255
+ # @!attribute [rw] update_mask
256
+ # @return [Google::Protobuf::FieldMask]
257
+ # The subset of app profile fields which should be replaced.
258
+ # If unset, all fields will be replaced.
259
+ # @!attribute [rw] ignore_warnings
260
+ # @return [true, false]
261
+ # If true, ignore safety checks when updating the app profile.
262
+ class UpdateAppProfileRequest; end
263
+
264
+ # Request message for BigtableInstanceAdmin.DeleteAppProfile.
265
+ # @!attribute [rw] name
266
+ # @return [String]
267
+ # The unique name of the app profile to be deleted. Values are of the form
268
+ # +projects/<project>/instances/<instance>/appProfiles/<app_profile>+.
269
+ # @!attribute [rw] ignore_warnings
270
+ # @return [true, false]
271
+ # If true, ignore safety checks when deleting the app profile.
272
+ class DeleteAppProfileRequest; end
273
+
274
+ # The metadata for the Operation returned by UpdateAppProfile.
275
+ class UpdateAppProfileMetadata; end
276
+ end
277
+ end
278
+ end
279
+ end
@@ -0,0 +1,353 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Bigtable
17
+ module Admin
18
+ module V2
19
+ # Request message for
20
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CreateTable}
21
+ # @!attribute [rw] parent
22
+ # @return [String]
23
+ # The unique name of the instance in which to create the table.
24
+ # Values are of the form +projects/<project>/instances/<instance>+.
25
+ # @!attribute [rw] table_id
26
+ # @return [String]
27
+ # The name by which the new table should be referred to within the parent
28
+ # instance, e.g., +foobar+ rather than +<parent>/tables/foobar+.
29
+ # @!attribute [rw] table
30
+ # @return [Google::Bigtable::Admin::V2::Table]
31
+ # The Table to create.
32
+ # @!attribute [rw] initial_splits
33
+ # @return [Array<Google::Bigtable::Admin::V2::CreateTableRequest::Split>]
34
+ # The optional list of row keys that will be used to initially split the
35
+ # table into several tablets (tablets are similar to HBase regions).
36
+ # Given two split keys, +s1+ and +s2+, three tablets will be created,
37
+ # spanning the key ranges: +[, s1), [s1, s2), [s2, )+.
38
+ #
39
+ # Example:
40
+ #
41
+ # * Row keys := +["a", "apple", "custom", "customer_1", "customer_2",+
42
+ # +"other", "zz"]+
43
+ # * initial_split_keys := +["apple", "customer_1", "customer_2", "other"]+
44
+ # * Key assignment:
45
+ # * Tablet 1 +[, apple) => {"a"}.+
46
+ # * Tablet 2 +[apple, customer_1) => {"apple", "custom"}.+
47
+ # * Tablet 3 +[customer_1, customer_2) => {"customer_1"}.+
48
+ # * Tablet 4 +[customer_2, other) => {"customer_2"}.+
49
+ # * Tablet 5 +[other, ) => {"other", "zz"}.+
50
+ class CreateTableRequest
51
+ # An initial split point for a newly created table.
52
+ # @!attribute [rw] key
53
+ # @return [String]
54
+ # Row key to use as an initial tablet boundary.
55
+ class Split; end
56
+ end
57
+
58
+ # Request message for
59
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CreateTableFromSnapshot}
60
+ #
61
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
62
+ # feature is not currently available to most Cloud Bigtable customers. This
63
+ # feature might be changed in backward-incompatible ways and is not recommended
64
+ # for production use. It is not subject to any SLA or deprecation policy.
65
+ # @!attribute [rw] parent
66
+ # @return [String]
67
+ # The unique name of the instance in which to create the table.
68
+ # Values are of the form +projects/<project>/instances/<instance>+.
69
+ # @!attribute [rw] table_id
70
+ # @return [String]
71
+ # The name by which the new table should be referred to within the parent
72
+ # instance, e.g., +foobar+ rather than +<parent>/tables/foobar+.
73
+ # @!attribute [rw] source_snapshot
74
+ # @return [String]
75
+ # The unique name of the snapshot from which to restore the table. The
76
+ # snapshot and the table must be in the same instance.
77
+ # Values are of the form
78
+ # +projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>+.
79
+ class CreateTableFromSnapshotRequest; end
80
+
81
+ # Request message for
82
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DropRowRange}
83
+ # @!attribute [rw] name
84
+ # @return [String]
85
+ # The unique name of the table on which to drop a range of rows.
86
+ # Values are of the form
87
+ # +projects/<project>/instances/<instance>/tables/<table>+.
88
+ # @!attribute [rw] row_key_prefix
89
+ # @return [String]
90
+ # Delete all rows that start with this row key prefix. Prefix cannot be
91
+ # zero length.
92
+ # @!attribute [rw] delete_all_data_from_table
93
+ # @return [true, false]
94
+ # Delete all rows in the table. Setting this to false is a no-op.
95
+ class DropRowRangeRequest; end
96
+
97
+ # Request message for
98
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListTables}
99
+ # @!attribute [rw] parent
100
+ # @return [String]
101
+ # The unique name of the instance for which tables should be listed.
102
+ # Values are of the form +projects/<project>/instances/<instance>+.
103
+ # @!attribute [rw] view
104
+ # @return [Google::Bigtable::Admin::V2::Table::View]
105
+ # The view to be applied to the returned tables' fields.
106
+ # Defaults to +NAME_ONLY+ if unspecified; no others are currently supported.
107
+ # @!attribute [rw] page_token
108
+ # @return [String]
109
+ # The value of +next_page_token+ returned by a previous call.
110
+ class ListTablesRequest; end
111
+
112
+ # Response message for
113
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListTables}
114
+ # @!attribute [rw] tables
115
+ # @return [Array<Google::Bigtable::Admin::V2::Table>]
116
+ # The tables present in the requested instance.
117
+ # @!attribute [rw] next_page_token
118
+ # @return [String]
119
+ # Set if not all tables could be returned in a single response.
120
+ # Pass this value to +page_token+ in another request to get the next
121
+ # page of results.
122
+ class ListTablesResponse; end
123
+
124
+ # Request message for
125
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GetTable}
126
+ # @!attribute [rw] name
127
+ # @return [String]
128
+ # The unique name of the requested table.
129
+ # Values are of the form
130
+ # +projects/<project>/instances/<instance>/tables/<table>+.
131
+ # @!attribute [rw] view
132
+ # @return [Google::Bigtable::Admin::V2::Table::View]
133
+ # The view to be applied to the returned table's fields.
134
+ # Defaults to +SCHEMA_VIEW+ if unspecified.
135
+ class GetTableRequest; end
136
+
137
+ # Request message for
138
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DeleteTable}
139
+ # @!attribute [rw] name
140
+ # @return [String]
141
+ # The unique name of the table to be deleted.
142
+ # Values are of the form
143
+ # +projects/<project>/instances/<instance>/tables/<table>+.
144
+ class DeleteTableRequest; end
145
+
146
+ # Request message for
147
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ModifyColumnFamilies}
148
+ # @!attribute [rw] name
149
+ # @return [String]
150
+ # The unique name of the table whose families should be modified.
151
+ # Values are of the form
152
+ # +projects/<project>/instances/<instance>/tables/<table>+.
153
+ # @!attribute [rw] modifications
154
+ # @return [Array<Google::Bigtable::Admin::V2::ModifyColumnFamiliesRequest::Modification>]
155
+ # Modifications to be atomically applied to the specified table's families.
156
+ # Entries are applied in order, meaning that earlier modifications can be
157
+ # masked by later ones (in the case of repeated updates to the same family,
158
+ # for example).
159
+ class ModifyColumnFamiliesRequest
160
+ # A create, update, or delete of a particular column family.
161
+ # @!attribute [rw] id
162
+ # @return [String]
163
+ # The ID of the column family to be modified.
164
+ # @!attribute [rw] create
165
+ # @return [Google::Bigtable::Admin::V2::ColumnFamily]
166
+ # Create a new column family with the specified schema, or fail if
167
+ # one already exists with the given ID.
168
+ # @!attribute [rw] update
169
+ # @return [Google::Bigtable::Admin::V2::ColumnFamily]
170
+ # Update an existing column family to the specified schema, or fail
171
+ # if no column family exists with the given ID.
172
+ # @!attribute [rw] drop
173
+ # @return [true, false]
174
+ # Drop (delete) the column family with the given ID, or fail if no such
175
+ # family exists.
176
+ class Modification; end
177
+ end
178
+
179
+ # Request message for
180
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GenerateConsistencyToken}
181
+ # @!attribute [rw] name
182
+ # @return [String]
183
+ # The unique name of the Table for which to create a consistency token.
184
+ # Values are of the form
185
+ # +projects/<project>/instances/<instance>/tables/<table>+.
186
+ class GenerateConsistencyTokenRequest; end
187
+
188
+ # Response message for
189
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GenerateConsistencyToken}
190
+ # @!attribute [rw] consistency_token
191
+ # @return [String]
192
+ # The generated consistency token.
193
+ class GenerateConsistencyTokenResponse; end
194
+
195
+ # Request message for
196
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CheckConsistency}
197
+ # @!attribute [rw] name
198
+ # @return [String]
199
+ # The unique name of the Table for which to check replication consistency.
200
+ # Values are of the form
201
+ # +projects/<project>/instances/<instance>/tables/<table>+.
202
+ # @!attribute [rw] consistency_token
203
+ # @return [String]
204
+ # The token created using GenerateConsistencyToken for the Table.
205
+ class CheckConsistencyRequest; end
206
+
207
+ # Response message for
208
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::CheckConsistency}
209
+ # @!attribute [rw] consistent
210
+ # @return [true, false]
211
+ # True only if the token is consistent. A token is consistent if replication
212
+ # has caught up with the restrictions specified in the request.
213
+ class CheckConsistencyResponse; end
214
+
215
+ # Request message for
216
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::SnapshotTable}
217
+ #
218
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
219
+ # feature is not currently available to most Cloud Bigtable customers. This
220
+ # feature might be changed in backward-incompatible ways and is not recommended
221
+ # for production use. It is not subject to any SLA or deprecation policy.
222
+ # @!attribute [rw] name
223
+ # @return [String]
224
+ # The unique name of the table to have the snapshot taken.
225
+ # Values are of the form
226
+ # +projects/<project>/instances/<instance>/tables/<table>+.
227
+ # @!attribute [rw] cluster
228
+ # @return [String]
229
+ # The name of the cluster where the snapshot will be created in.
230
+ # Values are of the form
231
+ # +projects/<project>/instances/<instance>/clusters/<cluster>+.
232
+ # @!attribute [rw] snapshot_id
233
+ # @return [String]
234
+ # The ID by which the new snapshot should be referred to within the parent
235
+ # cluster, e.g., +mysnapshot+ of the form: +[_a-zA-Z0-9][-_.a-zA-Z0-9]*+
236
+ # rather than
237
+ # +projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/mysnapshot+.
238
+ # @!attribute [rw] ttl
239
+ # @return [Google::Protobuf::Duration]
240
+ # The amount of time that the new snapshot can stay active after it is
241
+ # created. Once 'ttl' expires, the snapshot will get deleted. The maximum
242
+ # amount of time a snapshot can stay active is 7 days. If 'ttl' is not
243
+ # specified, the default value of 24 hours will be used.
244
+ # @!attribute [rw] description
245
+ # @return [String]
246
+ # Description of the snapshot.
247
+ class SnapshotTableRequest; end
248
+
249
+ # Request message for
250
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::GetSnapshot}
251
+ #
252
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
253
+ # feature is not currently available to most Cloud Bigtable customers. This
254
+ # feature might be changed in backward-incompatible ways and is not recommended
255
+ # for production use. It is not subject to any SLA or deprecation policy.
256
+ # @!attribute [rw] name
257
+ # @return [String]
258
+ # The unique name of the requested snapshot.
259
+ # Values are of the form
260
+ # +projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>+.
261
+ class GetSnapshotRequest; end
262
+
263
+ # Request message for
264
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListSnapshots}
265
+ #
266
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
267
+ # feature is not currently available to most Cloud Bigtable customers. This
268
+ # feature might be changed in backward-incompatible ways and is not recommended
269
+ # for production use. It is not subject to any SLA or deprecation policy.
270
+ # @!attribute [rw] parent
271
+ # @return [String]
272
+ # The unique name of the cluster for which snapshots should be listed.
273
+ # Values are of the form
274
+ # +projects/<project>/instances/<instance>/clusters/<cluster>+.
275
+ # Use +<cluster> = '-'+ to list snapshots for all clusters in an instance,
276
+ # e.g., +projects/<project>/instances/<instance>/clusters/-+.
277
+ # @!attribute [rw] page_size
278
+ # @return [Integer]
279
+ # The maximum number of snapshots to return.
280
+ # @!attribute [rw] page_token
281
+ # @return [String]
282
+ # The value of +next_page_token+ returned by a previous call.
283
+ class ListSnapshotsRequest; end
284
+
285
+ # Response message for
286
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::ListSnapshots}
287
+ #
288
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
289
+ # feature is not currently available to most Cloud Bigtable customers. This
290
+ # feature might be changed in backward-incompatible ways and is not recommended
291
+ # for production use. It is not subject to any SLA or deprecation policy.
292
+ # @!attribute [rw] snapshots
293
+ # @return [Array<Google::Bigtable::Admin::V2::Snapshot>]
294
+ # The snapshots present in the requested cluster.
295
+ # @!attribute [rw] next_page_token
296
+ # @return [String]
297
+ # Set if not all snapshots could be returned in a single response.
298
+ # Pass this value to +page_token+ in another request to get the next
299
+ # page of results.
300
+ class ListSnapshotsResponse; end
301
+
302
+ # Request message for
303
+ # {Google::Bigtable::Admin::V2::BigtableTableAdmin::DeleteSnapshot}
304
+ #
305
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
306
+ # feature is not currently available to most Cloud Bigtable customers. This
307
+ # feature might be changed in backward-incompatible ways and is not recommended
308
+ # for production use. It is not subject to any SLA or deprecation policy.
309
+ # @!attribute [rw] name
310
+ # @return [String]
311
+ # The unique name of the snapshot to be deleted.
312
+ # Values are of the form
313
+ # +projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>+.
314
+ class DeleteSnapshotRequest; end
315
+
316
+ # The metadata for the Operation returned by SnapshotTable.
317
+ #
318
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
319
+ # feature is not currently available to most Cloud Bigtable customers. This
320
+ # feature might be changed in backward-incompatible ways and is not recommended
321
+ # for production use. It is not subject to any SLA or deprecation policy.
322
+ # @!attribute [rw] original_request
323
+ # @return [Google::Bigtable::Admin::V2::SnapshotTableRequest]
324
+ # The request that prompted the initiation of this SnapshotTable operation.
325
+ # @!attribute [rw] request_time
326
+ # @return [Google::Protobuf::Timestamp]
327
+ # The time at which the original request was received.
328
+ # @!attribute [rw] finish_time
329
+ # @return [Google::Protobuf::Timestamp]
330
+ # The time at which the operation failed or was completed successfully.
331
+ class SnapshotTableMetadata; end
332
+
333
+ # The metadata for the Operation returned by CreateTableFromSnapshot.
334
+ #
335
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
336
+ # feature is not currently available to most Cloud Bigtable customers. This
337
+ # feature might be changed in backward-incompatible ways and is not recommended
338
+ # for production use. It is not subject to any SLA or deprecation policy.
339
+ # @!attribute [rw] original_request
340
+ # @return [Google::Bigtable::Admin::V2::CreateTableFromSnapshotRequest]
341
+ # The request that prompted the initiation of this CreateTableFromSnapshot
342
+ # operation.
343
+ # @!attribute [rw] request_time
344
+ # @return [Google::Protobuf::Timestamp]
345
+ # The time at which the original request was received.
346
+ # @!attribute [rw] finish_time
347
+ # @return [Google::Protobuf::Timestamp]
348
+ # The time at which the operation failed or was completed successfully.
349
+ class CreateTableFromSnapshotMetadata; end
350
+ end
351
+ end
352
+ end
353
+ end