google-cloud-bigtable 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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