google-cloud-bigtable-admin-v2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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