google-cloud-bigtable-admin-v2 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 (45) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-bigtable-admin-v2.rb +21 -0
  7. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_pb.rb +148 -0
  8. data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +91 -0
  9. data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +211 -0
  10. data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +155 -0
  11. data/lib/google/bigtable/admin/v2/common_pb.rb +33 -0
  12. data/lib/google/bigtable/admin/v2/instance_pb.rb +77 -0
  13. data/lib/google/bigtable/admin/v2/table_pb.rb +130 -0
  14. data/lib/google/cloud/bigtable/admin/v2.rb +38 -0
  15. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin.rb +54 -0
  16. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin/client.rb +1940 -0
  17. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin/credentials.rb +59 -0
  18. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin/operations.rb +572 -0
  19. data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin/paths.rb +121 -0
  20. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin.rb +56 -0
  21. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin/client.rb +2293 -0
  22. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin/credentials.rb +58 -0
  23. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin/operations.rb +572 -0
  24. data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin/paths.rb +132 -0
  25. data/lib/google/cloud/bigtable/admin/v2/version.rb +30 -0
  26. data/proto_docs/README.md +4 -0
  27. data/proto_docs/google/api/field_behavior.rb +59 -0
  28. data/proto_docs/google/api/resource.rb +247 -0
  29. data/proto_docs/google/bigtable/admin/v2/bigtable_instance_admin.rb +378 -0
  30. data/proto_docs/google/bigtable/admin/v2/bigtable_table_admin.rb +686 -0
  31. data/proto_docs/google/bigtable/admin/v2/common.rb +58 -0
  32. data/proto_docs/google/bigtable/admin/v2/instance.rb +223 -0
  33. data/proto_docs/google/bigtable/admin/v2/table.rb +357 -0
  34. data/proto_docs/google/iam/v1/iam_policy.rb +80 -0
  35. data/proto_docs/google/iam/v1/options.rb +40 -0
  36. data/proto_docs/google/iam/v1/policy.rb +248 -0
  37. data/proto_docs/google/longrunning/operations.rb +150 -0
  38. data/proto_docs/google/protobuf/any.rb +138 -0
  39. data/proto_docs/google/protobuf/duration.rb +98 -0
  40. data/proto_docs/google/protobuf/empty.rb +36 -0
  41. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  42. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  43. data/proto_docs/google/rpc/status.rb +46 -0
  44. data/proto_docs/google/type/expr.rb +52 -0
  45. metadata +246 -0
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Bigtable
23
+ module Admin
24
+ module V2
25
+ # Encapsulates progress related information for a Cloud Bigtable long
26
+ # running operation.
27
+ # @!attribute [rw] progress_percent
28
+ # @return [::Integer]
29
+ # Percent completion of the operation.
30
+ # Values are between 0 and 100 inclusive.
31
+ # @!attribute [rw] start_time
32
+ # @return [::Google::Protobuf::Timestamp]
33
+ # Time the request was received.
34
+ # @!attribute [rw] end_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # If set, the time at which this operation failed or was completed
37
+ # successfully.
38
+ class OperationProgress
39
+ include ::Google::Protobuf::MessageExts
40
+ extend ::Google::Protobuf::MessageExts::ClassMethods
41
+ end
42
+
43
+ # Storage media types for persisting Bigtable data.
44
+ module StorageType
45
+ # The user did not specify a storage type.
46
+ STORAGE_TYPE_UNSPECIFIED = 0
47
+
48
+ # Flash (SSD) storage should be used.
49
+ SSD = 1
50
+
51
+ # Magnetic drive (HDD) storage should be used.
52
+ HDD = 2
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,223 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Bigtable
23
+ module Admin
24
+ module V2
25
+ # A collection of Bigtable {::Google::Cloud::Bigtable::Admin::V2::Table Tables} and
26
+ # the resources that serve them.
27
+ # All tables in an instance are served from all
28
+ # {::Google::Cloud::Bigtable::Admin::V2::Cluster Clusters} in the instance.
29
+ # @!attribute [r] name
30
+ # @return [::String]
31
+ # The unique name of the instance. Values are of the form
32
+ # `projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
33
+ # @!attribute [rw] display_name
34
+ # @return [::String]
35
+ # Required. The descriptive name for this instance as it appears in UIs.
36
+ # Can be changed at any time, but should be kept globally unique
37
+ # to avoid confusion.
38
+ # @!attribute [rw] state
39
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Instance::State]
40
+ # (`OutputOnly`)
41
+ # The current state of the instance.
42
+ # @!attribute [rw] type
43
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Instance::Type]
44
+ # The type of the instance. Defaults to `PRODUCTION`.
45
+ # @!attribute [rw] labels
46
+ # @return [::Google::Protobuf::Map{::String => ::String}]
47
+ # Labels are a flexible and lightweight mechanism for organizing cloud
48
+ # resources into groups that reflect a customer's organizational needs and
49
+ # deployment strategies. They can be used to filter resources and aggregate
50
+ # metrics.
51
+ #
52
+ # * Label keys must be between 1 and 63 characters long and must conform to
53
+ # the regular expression: `[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`.
54
+ # * Label values must be between 0 and 63 characters long and must conform to
55
+ # the regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`.
56
+ # * No more than 64 labels can be associated with a given resource.
57
+ # * Keys and values must both be under 128 bytes.
58
+ class Instance
59
+ include ::Google::Protobuf::MessageExts
60
+ extend ::Google::Protobuf::MessageExts::ClassMethods
61
+
62
+ # @!attribute [rw] key
63
+ # @return [::String]
64
+ # @!attribute [rw] value
65
+ # @return [::String]
66
+ class LabelsEntry
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+
71
+ # Possible states of an instance.
72
+ module State
73
+ # The state of the instance could not be determined.
74
+ STATE_NOT_KNOWN = 0
75
+
76
+ # The instance has been successfully created and can serve requests
77
+ # to its tables.
78
+ READY = 1
79
+
80
+ # The instance is currently being created, and may be destroyed
81
+ # if the creation process encounters an error.
82
+ CREATING = 2
83
+ end
84
+
85
+ # The type of the instance.
86
+ module Type
87
+ # The type of the instance is unspecified. If set when creating an
88
+ # instance, a `PRODUCTION` instance will be created. If set when updating
89
+ # an instance, the type will be left unchanged.
90
+ TYPE_UNSPECIFIED = 0
91
+
92
+ # An instance meant for production use. `serve_nodes` must be set
93
+ # on the cluster.
94
+ PRODUCTION = 1
95
+
96
+ # The instance is meant for development and testing purposes only; it has
97
+ # no performance or uptime guarantees and is not covered by SLA.
98
+ # After a development instance is created, it can be upgraded by
99
+ # updating the instance to type `PRODUCTION`. An instance created
100
+ # as a production instance cannot be changed to a development instance.
101
+ # When creating a development instance, `serve_nodes` on the cluster must
102
+ # not be set.
103
+ DEVELOPMENT = 2
104
+ end
105
+ end
106
+
107
+ # A resizable group of nodes in a particular cloud location, capable
108
+ # of serving all {::Google::Cloud::Bigtable::Admin::V2::Table Tables} in the parent
109
+ # {::Google::Cloud::Bigtable::Admin::V2::Instance Instance}.
110
+ # @!attribute [r] name
111
+ # @return [::String]
112
+ # The unique name of the cluster. Values are of the form
113
+ # `projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*`.
114
+ # @!attribute [rw] location
115
+ # @return [::String]
116
+ # (`CreationOnly`)
117
+ # The location where this cluster's nodes and storage reside. For best
118
+ # performance, clients should be located as close as possible to this
119
+ # cluster. Currently only zones are supported, so values should be of the
120
+ # form `projects/{project}/locations/{zone}`.
121
+ # @!attribute [r] state
122
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Cluster::State]
123
+ # The current state of the cluster.
124
+ # @!attribute [rw] serve_nodes
125
+ # @return [::Integer]
126
+ # Required. The number of nodes allocated to this cluster. More nodes enable
127
+ # higher throughput and more consistent performance.
128
+ # @!attribute [rw] default_storage_type
129
+ # @return [::Google::Cloud::Bigtable::Admin::V2::StorageType]
130
+ # (`CreationOnly`)
131
+ # The type of storage used by this cluster to serve its
132
+ # parent instance's tables, unless explicitly overridden.
133
+ class Cluster
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+
137
+ # Possible states of a cluster.
138
+ module State
139
+ # The state of the cluster could not be determined.
140
+ STATE_NOT_KNOWN = 0
141
+
142
+ # The cluster has been successfully created and is ready to serve requests.
143
+ READY = 1
144
+
145
+ # The cluster is currently being created, and may be destroyed
146
+ # if the creation process encounters an error.
147
+ # A cluster may not be able to serve requests while being created.
148
+ CREATING = 2
149
+
150
+ # The cluster is currently being resized, and may revert to its previous
151
+ # node count if the process encounters an error.
152
+ # A cluster is still capable of serving requests while being resized,
153
+ # but may exhibit performance as if its number of allocated nodes is
154
+ # between the starting and requested states.
155
+ RESIZING = 3
156
+
157
+ # The cluster has no backing nodes. The data (tables) still
158
+ # exist, but no operations can be performed on the cluster.
159
+ DISABLED = 4
160
+ end
161
+ end
162
+
163
+ # A configuration object describing how Cloud Bigtable should treat traffic
164
+ # from a particular end user application.
165
+ # @!attribute [rw] name
166
+ # @return [::String]
167
+ # (`OutputOnly`)
168
+ # The unique name of the app profile. Values are of the form
169
+ # `projects/<project>/instances/<instance>/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
170
+ # @!attribute [rw] etag
171
+ # @return [::String]
172
+ # Strongly validated etag for optimistic concurrency control. Preserve the
173
+ # value returned from `GetAppProfile` when calling `UpdateAppProfile` to
174
+ # fail the request if there has been a modification in the mean time. The
175
+ # `update_mask` of the request need not include `etag` for this protection
176
+ # to apply.
177
+ # See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and
178
+ # [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more
179
+ # details.
180
+ # @!attribute [rw] description
181
+ # @return [::String]
182
+ # Optional long form description of the use case for this AppProfile.
183
+ # @!attribute [rw] multi_cluster_routing_use_any
184
+ # @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny]
185
+ # Use a multi-cluster routing policy.
186
+ # @!attribute [rw] single_cluster_routing
187
+ # @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::SingleClusterRouting]
188
+ # Use a single-cluster routing policy.
189
+ class AppProfile
190
+ include ::Google::Protobuf::MessageExts
191
+ extend ::Google::Protobuf::MessageExts::ClassMethods
192
+
193
+ # Read/write requests are routed to the nearest cluster in the instance, and
194
+ # will fail over to the nearest cluster that is available in the event of
195
+ # transient errors or delays. Clusters in a region are considered
196
+ # equidistant. Choosing this option sacrifices read-your-writes consistency
197
+ # to improve availability.
198
+ class MultiClusterRoutingUseAny
199
+ include ::Google::Protobuf::MessageExts
200
+ extend ::Google::Protobuf::MessageExts::ClassMethods
201
+ end
202
+
203
+ # Unconditionally routes all read/write requests to a specific cluster.
204
+ # This option preserves read-your-writes consistency but does not improve
205
+ # availability.
206
+ # @!attribute [rw] cluster_id
207
+ # @return [::String]
208
+ # The cluster to which read/write requests should be routed.
209
+ # @!attribute [rw] allow_transactional_writes
210
+ # @return [::Boolean]
211
+ # Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
212
+ # allowed by this app profile. It is unsafe to send these requests to
213
+ # the same table/row/column in multiple clusters.
214
+ class SingleClusterRouting
215
+ include ::Google::Protobuf::MessageExts
216
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
+ end
218
+ end
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
@@ -0,0 +1,357 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Bigtable
23
+ module Admin
24
+ module V2
25
+ # Information about a table restore.
26
+ # @!attribute [rw] source_type
27
+ # @return [::Google::Cloud::Bigtable::Admin::V2::RestoreSourceType]
28
+ # The type of the restore source.
29
+ # @!attribute [rw] backup_info
30
+ # @return [::Google::Cloud::Bigtable::Admin::V2::BackupInfo]
31
+ # Information about the backup used to restore the table. The backup
32
+ # may no longer exist.
33
+ class RestoreInfo
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+
38
+ # A collection of user data indexed by row, column, and timestamp.
39
+ # Each table is served using the resources of its parent cluster.
40
+ # @!attribute [rw] name
41
+ # @return [::String]
42
+ # Output only. The unique name of the table. Values are of the form
43
+ # `projects/<project>/instances/<instance>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
44
+ # Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`
45
+ # @!attribute [rw] cluster_states
46
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState}]
47
+ # Output only. Map from cluster ID to per-cluster table state.
48
+ # If it could not be determined whether or not the table has data in a
49
+ # particular cluster (for example, if its zone is unavailable), then
50
+ # there will be an entry for the cluster with UNKNOWN `replication_status`.
51
+ # Views: `REPLICATION_VIEW`, `FULL`
52
+ # @!attribute [rw] column_families
53
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::ColumnFamily}]
54
+ # (`CreationOnly`)
55
+ # The column families configured for this table, mapped by column family ID.
56
+ # Views: `SCHEMA_VIEW`, `FULL`
57
+ # @!attribute [rw] granularity
58
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Table::TimestampGranularity]
59
+ # (`CreationOnly`)
60
+ # The granularity (i.e. `MILLIS`) at which timestamps are stored in
61
+ # this table. Timestamps not matching the granularity will be rejected.
62
+ # If unspecified at creation time, the value will be set to `MILLIS`.
63
+ # Views: `SCHEMA_VIEW`, `FULL`.
64
+ # @!attribute [rw] restore_info
65
+ # @return [::Google::Cloud::Bigtable::Admin::V2::RestoreInfo]
66
+ # Output only. If this table was restored from another data source (e.g. a
67
+ # backup), this field will be populated with information about the restore.
68
+ class Table
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+
72
+ # The state of a table's data in a particular cluster.
73
+ # @!attribute [rw] replication_state
74
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
75
+ # Output only. The state of replication for the table in this cluster.
76
+ class ClusterState
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+
80
+ # Table replication states.
81
+ module ReplicationState
82
+ # The replication state of the table is unknown in this cluster.
83
+ STATE_NOT_KNOWN = 0
84
+
85
+ # The cluster was recently created, and the table must finish copying
86
+ # over pre-existing data from other clusters before it can begin
87
+ # receiving live replication updates and serving Data API requests.
88
+ INITIALIZING = 1
89
+
90
+ # The table is temporarily unable to serve Data API requests from this
91
+ # cluster due to planned internal maintenance.
92
+ PLANNED_MAINTENANCE = 2
93
+
94
+ # The table is temporarily unable to serve Data API requests from this
95
+ # cluster due to unplanned or emergency maintenance.
96
+ UNPLANNED_MAINTENANCE = 3
97
+
98
+ # The table can serve Data API requests from this cluster. Depending on
99
+ # replication delay, reads may not immediately reflect the state of the
100
+ # table in other clusters.
101
+ READY = 4
102
+
103
+ # The table is fully created and ready for use after a restore, and is
104
+ # being optimized for performance. When optimizations are complete, the
105
+ # table will transition to `READY` state.
106
+ READY_OPTIMIZING = 5
107
+ end
108
+ end
109
+
110
+ # @!attribute [rw] key
111
+ # @return [::String]
112
+ # @!attribute [rw] value
113
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
114
+ class ClusterStatesEntry
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # @!attribute [rw] key
120
+ # @return [::String]
121
+ # @!attribute [rw] value
122
+ # @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
123
+ class ColumnFamiliesEntry
124
+ include ::Google::Protobuf::MessageExts
125
+ extend ::Google::Protobuf::MessageExts::ClassMethods
126
+ end
127
+
128
+ # Possible timestamp granularities to use when keeping multiple versions
129
+ # of data in a table.
130
+ module TimestampGranularity
131
+ # The user did not specify a granularity. Should not be returned.
132
+ # When specified during table creation, MILLIS will be used.
133
+ TIMESTAMP_GRANULARITY_UNSPECIFIED = 0
134
+
135
+ # The table keeps data versioned at a granularity of 1ms.
136
+ MILLIS = 1
137
+ end
138
+
139
+ # Defines a view over a table's fields.
140
+ module View
141
+ # Uses the default view for each method as documented in its request.
142
+ VIEW_UNSPECIFIED = 0
143
+
144
+ # Only populates `name`.
145
+ NAME_ONLY = 1
146
+
147
+ # Only populates `name` and fields related to the table's schema.
148
+ SCHEMA_VIEW = 2
149
+
150
+ # Only populates `name` and fields related to the table's replication
151
+ # state.
152
+ REPLICATION_VIEW = 3
153
+
154
+ # Populates all fields.
155
+ FULL = 4
156
+ end
157
+ end
158
+
159
+ # A set of columns within a table which share a common configuration.
160
+ # @!attribute [rw] gc_rule
161
+ # @return [::Google::Cloud::Bigtable::Admin::V2::GcRule]
162
+ # Garbage collection rule specified as a protobuf.
163
+ # Must serialize to at most 500 bytes.
164
+ #
165
+ # NOTE: Garbage collection executes opportunistically in the background, and
166
+ # so it's possible for reads to return a cell even if it matches the active
167
+ # GC expression for its family.
168
+ class ColumnFamily
169
+ include ::Google::Protobuf::MessageExts
170
+ extend ::Google::Protobuf::MessageExts::ClassMethods
171
+ end
172
+
173
+ # Rule for determining which cells to delete during garbage collection.
174
+ # @!attribute [rw] max_num_versions
175
+ # @return [::Integer]
176
+ # Delete all cells in a column except the most recent N.
177
+ # @!attribute [rw] max_age
178
+ # @return [::Google::Protobuf::Duration]
179
+ # Delete cells in a column older than the given age.
180
+ # Values must be at least one millisecond, and will be truncated to
181
+ # microsecond granularity.
182
+ # @!attribute [rw] intersection
183
+ # @return [::Google::Cloud::Bigtable::Admin::V2::GcRule::Intersection]
184
+ # Delete cells that would be deleted by every nested rule.
185
+ # @!attribute [rw] union
186
+ # @return [::Google::Cloud::Bigtable::Admin::V2::GcRule::Union]
187
+ # Delete cells that would be deleted by any nested rule.
188
+ class GcRule
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+
192
+ # A GcRule which deletes cells matching all of the given rules.
193
+ # @!attribute [rw] rules
194
+ # @return [::Array<::Google::Cloud::Bigtable::Admin::V2::GcRule>]
195
+ # Only delete cells which would be deleted by every element of `rules`.
196
+ class Intersection
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+ end
200
+
201
+ # A GcRule which deletes cells matching any of the given rules.
202
+ # @!attribute [rw] rules
203
+ # @return [::Array<::Google::Cloud::Bigtable::Admin::V2::GcRule>]
204
+ # Delete cells which would be deleted by any element of `rules`.
205
+ class Union
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+ end
209
+ end
210
+
211
+ # A snapshot of a table at a particular time. A snapshot can be used as a
212
+ # checkpoint for data restoration or a data source for a new table.
213
+ #
214
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
215
+ # feature is not currently available to most Cloud Bigtable customers. This
216
+ # feature might be changed in backward-incompatible ways and is not recommended
217
+ # for production use. It is not subject to any SLA or deprecation policy.
218
+ # @!attribute [rw] name
219
+ # @return [::String]
220
+ # Output only. The unique name of the snapshot.
221
+ # Values are of the form
222
+ # `projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>`.
223
+ # @!attribute [rw] source_table
224
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Table]
225
+ # Output only. The source table at the time the snapshot was taken.
226
+ # @!attribute [rw] data_size_bytes
227
+ # @return [::Integer]
228
+ # Output only. The size of the data in the source table at the time the
229
+ # snapshot was taken. In some cases, this value may be computed
230
+ # asynchronously via a background process and a placeholder of 0 will be used
231
+ # in the meantime.
232
+ # @!attribute [rw] create_time
233
+ # @return [::Google::Protobuf::Timestamp]
234
+ # Output only. The time when the snapshot is created.
235
+ # @!attribute [rw] delete_time
236
+ # @return [::Google::Protobuf::Timestamp]
237
+ # Output only. The time when the snapshot will be deleted. The maximum amount
238
+ # of time a snapshot can stay active is 365 days. If 'ttl' is not specified,
239
+ # the default maximum of 365 days will be used.
240
+ # @!attribute [rw] state
241
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Snapshot::State]
242
+ # Output only. The current state of the snapshot.
243
+ # @!attribute [rw] description
244
+ # @return [::String]
245
+ # Output only. Description of the snapshot.
246
+ class Snapshot
247
+ include ::Google::Protobuf::MessageExts
248
+ extend ::Google::Protobuf::MessageExts::ClassMethods
249
+
250
+ # Possible states of a snapshot.
251
+ module State
252
+ # The state of the snapshot could not be determined.
253
+ STATE_NOT_KNOWN = 0
254
+
255
+ # The snapshot has been successfully created and can serve all requests.
256
+ READY = 1
257
+
258
+ # The snapshot is currently being created, and may be destroyed if the
259
+ # creation process encounters an error. A snapshot may not be restored to a
260
+ # table while it is being created.
261
+ CREATING = 2
262
+ end
263
+ end
264
+
265
+ # A backup of a Cloud Bigtable table.
266
+ # @!attribute [r] name
267
+ # @return [::String]
268
+ # Output only. A globally unique identifier for the backup which cannot be
269
+ # changed. Values are of the form
270
+ # `projects/{project}/instances/{instance}/clusters/{cluster}/
271
+ # backups/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`
272
+ # The final segment of the name must be between 1 and 50 characters
273
+ # in length.
274
+ #
275
+ # The backup is stored in the cluster identified by the prefix of the backup
276
+ # name of the form
277
+ # `projects/{project}/instances/{instance}/clusters/{cluster}`.
278
+ # @!attribute [rw] source_table
279
+ # @return [::String]
280
+ # Required. Immutable. Name of the table from which this backup was created.
281
+ # This needs to be in the same instance as the backup. Values are of the form
282
+ # `projects/{project}/instances/{instance}/tables/{source_table}`.
283
+ # @!attribute [rw] expire_time
284
+ # @return [::Google::Protobuf::Timestamp]
285
+ # Required. The expiration time of the backup, with microseconds
286
+ # granularity that must be at least 6 hours and at most 30 days
287
+ # from the time the request is received. Once the `expire_time`
288
+ # has passed, Cloud Bigtable will delete the backup and free the
289
+ # resources used by the backup.
290
+ # @!attribute [r] start_time
291
+ # @return [::Google::Protobuf::Timestamp]
292
+ # Output only. `start_time` is the time that the backup was started
293
+ # (i.e. approximately the time the
294
+ # {::Google::Cloud::Bigtable::Admin::V2::BigtableTableAdmin::Client#create_backup CreateBackup}
295
+ # request is received). The row data in this backup will be no older than
296
+ # this timestamp.
297
+ # @!attribute [r] end_time
298
+ # @return [::Google::Protobuf::Timestamp]
299
+ # Output only. `end_time` is the time that the backup was finished. The row
300
+ # data in the backup will be no newer than this timestamp.
301
+ # @!attribute [r] size_bytes
302
+ # @return [::Integer]
303
+ # Output only. Size of the backup in bytes.
304
+ # @!attribute [r] state
305
+ # @return [::Google::Cloud::Bigtable::Admin::V2::Backup::State]
306
+ # Output only. The current state of the backup.
307
+ class Backup
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+
311
+ # Indicates the current state of the backup.
312
+ module State
313
+ # Not specified.
314
+ STATE_UNSPECIFIED = 0
315
+
316
+ # The pending backup is still being created. Operations on the
317
+ # backup may fail with `FAILED_PRECONDITION` in this state.
318
+ CREATING = 1
319
+
320
+ # The backup is complete and ready for use.
321
+ READY = 2
322
+ end
323
+ end
324
+
325
+ # Information about a backup.
326
+ # @!attribute [r] backup
327
+ # @return [::String]
328
+ # Output only. Name of the backup.
329
+ # @!attribute [r] start_time
330
+ # @return [::Google::Protobuf::Timestamp]
331
+ # Output only. The time that the backup was started. Row data in the backup
332
+ # will be no older than this timestamp.
333
+ # @!attribute [r] end_time
334
+ # @return [::Google::Protobuf::Timestamp]
335
+ # Output only. This time that the backup was finished. Row data in the
336
+ # backup will be no newer than this timestamp.
337
+ # @!attribute [r] source_table
338
+ # @return [::String]
339
+ # Output only. Name of the table the backup was created from.
340
+ class BackupInfo
341
+ include ::Google::Protobuf::MessageExts
342
+ extend ::Google::Protobuf::MessageExts::ClassMethods
343
+ end
344
+
345
+ # Indicates the type of the restore source.
346
+ module RestoreSourceType
347
+ # No restore associated.
348
+ RESTORE_SOURCE_TYPE_UNSPECIFIED = 0
349
+
350
+ # A backup was used as the source of the restore.
351
+ BACKUP = 1
352
+ end
353
+ end
354
+ end
355
+ end
356
+ end
357
+ end