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,194 @@
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
+ # A collection of Bigtable {Google::Bigtable::Admin::V2::Table Tables} and
20
+ # the resources that serve them.
21
+ # All tables in an instance are served from a single
22
+ # {Google::Bigtable::Admin::V2::Cluster Cluster}.
23
+ # @!attribute [rw] name
24
+ # @return [String]
25
+ # (+OutputOnly+)
26
+ # The unique name of the instance. Values are of the form
27
+ # +projects/<project>/instances/[a-z][a-z0-9\\-]+[a-z0-9]+.
28
+ # @!attribute [rw] display_name
29
+ # @return [String]
30
+ # The descriptive name for this instance as it appears in UIs.
31
+ # Can be changed at any time, but should be kept globally unique
32
+ # to avoid confusion.
33
+ # @!attribute [rw] state
34
+ # @return [Google::Bigtable::Admin::V2::Instance::State]
35
+ # (+OutputOnly+)
36
+ # The current state of the instance.
37
+ # @!attribute [rw] type
38
+ # @return [Google::Bigtable::Admin::V2::Instance::Type]
39
+ # The type of the instance. Defaults to +PRODUCTION+.
40
+ # @!attribute [rw] labels
41
+ # @return [Hash{String => String}]
42
+ # Labels are a flexible and lightweight mechanism for organizing cloud
43
+ # resources into groups that reflect a customer's organizational needs and
44
+ # deployment strategies. They can be used to filter resources and aggregate
45
+ # metrics.
46
+ #
47
+ # * Label keys must be between 1 and 63 characters long and must conform to
48
+ # the regular expression: +[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}+.
49
+ # * Label values must be between 0 and 63 characters long and must conform to
50
+ # the regular expression: +[\p{Ll}\p{Lo}\p{N}_-]{0,63}+.
51
+ # * No more than 64 labels can be associated with a given resource.
52
+ # * Keys and values must both be under 128 bytes.
53
+ class Instance
54
+ # Possible states of an instance.
55
+ module State
56
+ # The state of the instance could not be determined.
57
+ STATE_NOT_KNOWN = 0
58
+
59
+ # The instance has been successfully created and can serve requests
60
+ # to its tables.
61
+ READY = 1
62
+
63
+ # The instance is currently being created, and may be destroyed
64
+ # if the creation process encounters an error.
65
+ CREATING = 2
66
+ end
67
+
68
+ # The type of the instance.
69
+ module Type
70
+ # The type of the instance is unspecified. If set when creating an
71
+ # instance, a +PRODUCTION+ instance will be created. If set when updating
72
+ # an instance, the type will be left unchanged.
73
+ TYPE_UNSPECIFIED = 0
74
+
75
+ # An instance meant for production use. +serve_nodes+ must be set
76
+ # on the cluster.
77
+ PRODUCTION = 1
78
+
79
+ # The instance is meant for development and testing purposes only; it has
80
+ # no performance or uptime guarantees and is not covered by SLA.
81
+ # After a development instance is created, it can be upgraded by
82
+ # updating the instance to type +PRODUCTION+. An instance created
83
+ # as a production instance cannot be changed to a development instance.
84
+ # When creating a development instance, +serve_nodes+ on the cluster must
85
+ # not be set.
86
+ DEVELOPMENT = 2
87
+ end
88
+ end
89
+
90
+ # A resizable group of nodes in a particular cloud location, capable
91
+ # of serving all {Google::Bigtable::Admin::V2::Table Tables} in the parent
92
+ # {Google::Bigtable::Admin::V2::Instance Instance}.
93
+ # @!attribute [rw] name
94
+ # @return [String]
95
+ # (+OutputOnly+)
96
+ # The unique name of the cluster. Values are of the form
97
+ # +projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*+.
98
+ # @!attribute [rw] location
99
+ # @return [String]
100
+ # (+CreationOnly+)
101
+ # The location where this cluster's nodes and storage reside. For best
102
+ # performance, clients should be located as close as possible to this
103
+ # cluster. Currently only zones are supported, so values should be of the
104
+ # form +projects/<project>/locations/<zone>+.
105
+ # @!attribute [rw] state
106
+ # @return [Google::Bigtable::Admin::V2::Cluster::State]
107
+ # (+OutputOnly+)
108
+ # The current state of the cluster.
109
+ # @!attribute [rw] serve_nodes
110
+ # @return [Integer]
111
+ # The number of nodes allocated to this cluster. More nodes enable higher
112
+ # throughput and more consistent performance.
113
+ # @!attribute [rw] default_storage_type
114
+ # @return [Google::Bigtable::Admin::V2::StorageType]
115
+ # (+CreationOnly+)
116
+ # The type of storage used by this cluster to serve its
117
+ # parent instance's tables, unless explicitly overridden.
118
+ class Cluster
119
+ # Possible states of a cluster.
120
+ module State
121
+ # The state of the cluster could not be determined.
122
+ STATE_NOT_KNOWN = 0
123
+
124
+ # The cluster has been successfully created and is ready to serve requests.
125
+ READY = 1
126
+
127
+ # The cluster is currently being created, and may be destroyed
128
+ # if the creation process encounters an error.
129
+ # A cluster may not be able to serve requests while being created.
130
+ CREATING = 2
131
+
132
+ # The cluster is currently being resized, and may revert to its previous
133
+ # node count if the process encounters an error.
134
+ # A cluster is still capable of serving requests while being resized,
135
+ # but may exhibit performance as if its number of allocated nodes is
136
+ # between the starting and requested states.
137
+ RESIZING = 3
138
+
139
+ # The cluster has no backing nodes. The data (tables) still
140
+ # exist, but no operations can be performed on the cluster.
141
+ DISABLED = 4
142
+ end
143
+ end
144
+
145
+ # A configuration object describing how Cloud Bigtable should treat traffic
146
+ # from a particular end user application.
147
+ # @!attribute [rw] name
148
+ # @return [String]
149
+ # (+OutputOnly+)
150
+ # The unique name of the app profile. Values are of the form
151
+ # +projects/<project>/instances/<instance>/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*+.
152
+ # @!attribute [rw] etag
153
+ # @return [String]
154
+ # Strongly validated etag for optimistic concurrency control. Preserve the
155
+ # value returned from +GetAppProfile+ when calling +UpdateAppProfile+ to
156
+ # fail the request if there has been a modification in the mean time. The
157
+ # +update_mask+ of the request need not include +etag+ for this protection
158
+ # to apply.
159
+ # See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and
160
+ # [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more
161
+ # details.
162
+ # @!attribute [rw] description
163
+ # @return [String]
164
+ # Optional long form description of the use case for this AppProfile.
165
+ # @!attribute [rw] multi_cluster_routing_use_any
166
+ # @return [Google::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny]
167
+ # Use a multi-cluster routing policy that may pick any cluster.
168
+ # @!attribute [rw] single_cluster_routing
169
+ # @return [Google::Bigtable::Admin::V2::AppProfile::SingleClusterRouting]
170
+ # Use a single-cluster routing policy.
171
+ class AppProfile
172
+ # Read/write requests may be routed to any cluster in the instance, and will
173
+ # fail over to another cluster in the event of transient errors or delays.
174
+ # Choosing this option sacrifices read-your-writes consistency to improve
175
+ # availability.
176
+ class MultiClusterRoutingUseAny; end
177
+
178
+ # Unconditionally routes all read/write requests to a specific cluster.
179
+ # This option preserves read-your-writes consistency, but does not improve
180
+ # availability.
181
+ # @!attribute [rw] cluster_id
182
+ # @return [String]
183
+ # The cluster to which read/write requests should be routed.
184
+ # @!attribute [rw] allow_transactional_writes
185
+ # @return [true, false]
186
+ # Whether or not +CheckAndMutateRow+ and +ReadModifyWriteRow+ requests are
187
+ # allowed by this app profile. It is unsafe to send these requests to
188
+ # the same table/row/column in multiple clusters.
189
+ class SingleClusterRouting; end
190
+ end
191
+ end
192
+ end
193
+ end
194
+ end
@@ -0,0 +1,209 @@
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
+ # A collection of user data indexed by row, column, and timestamp.
20
+ # Each table is served using the resources of its parent cluster.
21
+ # @!attribute [rw] name
22
+ # @return [String]
23
+ # (+OutputOnly+)
24
+ # The unique name of the table. Values are of the form
25
+ # +projects/<project>/instances/<instance>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*+.
26
+ # Views: +NAME_ONLY+, +SCHEMA_VIEW+, +REPLICATION_VIEW+, +FULL+
27
+ # @!attribute [rw] cluster_states
28
+ # @return [Hash{String => Google::Bigtable::Admin::V2::Table::ClusterState}]
29
+ # (+OutputOnly+)
30
+ # Map from cluster ID to per-cluster table state.
31
+ # If it could not be determined whether or not the table has data in a
32
+ # particular cluster (for example, if its zone is unavailable), then
33
+ # there will be an entry for the cluster with UNKNOWN +replication_status+.
34
+ # Views: +REPLICATION_VIEW+, +FULL+
35
+ # @!attribute [rw] column_families
36
+ # @return [Hash{String => Google::Bigtable::Admin::V2::ColumnFamily}]
37
+ # (+CreationOnly+)
38
+ # The column families configured for this table, mapped by column family ID.
39
+ # Views: +SCHEMA_VIEW+, +FULL+
40
+ # @!attribute [rw] granularity
41
+ # @return [Google::Bigtable::Admin::V2::Table::TimestampGranularity]
42
+ # (+CreationOnly+)
43
+ # The granularity (i.e. +MILLIS+) at which timestamps are stored in
44
+ # this table. Timestamps not matching the granularity will be rejected.
45
+ # If unspecified at creation time, the value will be set to +MILLIS+.
46
+ # Views: +SCHEMA_VIEW+, +FULL+
47
+ class Table
48
+ # The state of a table's data in a particular cluster.
49
+ # @!attribute [rw] replication_state
50
+ # @return [Google::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
51
+ # (+OutputOnly+)
52
+ # The state of replication for the table in this cluster.
53
+ class ClusterState
54
+ # Table replication states.
55
+ module ReplicationState
56
+ # The replication state of the table is unknown in this cluster.
57
+ STATE_NOT_KNOWN = 0
58
+
59
+ # The cluster was recently created, and the table must finish copying
60
+ # over pre-existing data from other clusters before it can begin
61
+ # receiving live replication updates and serving Data API requests.
62
+ INITIALIZING = 1
63
+
64
+ # The table is temporarily unable to serve Data API requests from this
65
+ # cluster due to planned internal maintenance.
66
+ PLANNED_MAINTENANCE = 2
67
+
68
+ # The table is temporarily unable to serve Data API requests from this
69
+ # cluster due to unplanned or emergency maintenance.
70
+ UNPLANNED_MAINTENANCE = 3
71
+
72
+ # The table can serve Data API requests from this cluster. Depending on
73
+ # replication delay, reads may not immediately reflect the state of the
74
+ # table in other clusters.
75
+ READY = 4
76
+ end
77
+ end
78
+
79
+ # Possible timestamp granularities to use when keeping multiple versions
80
+ # of data in a table.
81
+ module TimestampGranularity
82
+ # The user did not specify a granularity. Should not be returned.
83
+ # When specified during table creation, MILLIS will be used.
84
+ TIMESTAMP_GRANULARITY_UNSPECIFIED = 0
85
+
86
+ # The table keeps data versioned at a granularity of 1ms.
87
+ MILLIS = 1
88
+ end
89
+
90
+ # Defines a view over a table's fields.
91
+ module View
92
+ # Uses the default view for each method as documented in its request.
93
+ VIEW_UNSPECIFIED = 0
94
+
95
+ # Only populates +name+.
96
+ NAME_ONLY = 1
97
+
98
+ # Only populates +name+ and fields related to the table's schema.
99
+ SCHEMA_VIEW = 2
100
+
101
+ # Only populates +name+ and fields related to the table's
102
+ # replication state.
103
+ REPLICATION_VIEW = 3
104
+
105
+ # Populates all fields.
106
+ FULL = 4
107
+ end
108
+ end
109
+
110
+ # A set of columns within a table which share a common configuration.
111
+ # @!attribute [rw] gc_rule
112
+ # @return [Google::Bigtable::Admin::V2::GcRule]
113
+ # Garbage collection rule specified as a protobuf.
114
+ # Must serialize to at most 500 bytes.
115
+ #
116
+ # NOTE: Garbage collection executes opportunistically in the background, and
117
+ # so it's possible for reads to return a cell even if it matches the active
118
+ # GC expression for its family.
119
+ class ColumnFamily; end
120
+
121
+ # Rule for determining which cells to delete during garbage collection.
122
+ # @!attribute [rw] max_num_versions
123
+ # @return [Integer]
124
+ # Delete all cells in a column except the most recent N.
125
+ # @!attribute [rw] max_age
126
+ # @return [Google::Protobuf::Duration]
127
+ # Delete cells in a column older than the given age.
128
+ # Values must be at least one millisecond, and will be truncated to
129
+ # microsecond granularity.
130
+ # @!attribute [rw] intersection
131
+ # @return [Google::Bigtable::Admin::V2::GcRule::Intersection]
132
+ # Delete cells that would be deleted by every nested rule.
133
+ # @!attribute [rw] union
134
+ # @return [Google::Bigtable::Admin::V2::GcRule::Union]
135
+ # Delete cells that would be deleted by any nested rule.
136
+ class GcRule
137
+ # A GcRule which deletes cells matching all of the given rules.
138
+ # @!attribute [rw] rules
139
+ # @return [Array<Google::Bigtable::Admin::V2::GcRule>]
140
+ # Only delete cells which would be deleted by every element of +rules+.
141
+ class Intersection; end
142
+
143
+ # A GcRule which deletes cells matching any of the given rules.
144
+ # @!attribute [rw] rules
145
+ # @return [Array<Google::Bigtable::Admin::V2::GcRule>]
146
+ # Delete cells which would be deleted by any element of +rules+.
147
+ class Union; end
148
+ end
149
+
150
+ # A snapshot of a table at a particular time. A snapshot can be used as a
151
+ # checkpoint for data restoration or a data source for a new table.
152
+ #
153
+ # Note: This is a private alpha release of Cloud Bigtable snapshots. This
154
+ # feature is not currently available to most Cloud Bigtable customers. This
155
+ # feature might be changed in backward-incompatible ways and is not recommended
156
+ # for production use. It is not subject to any SLA or deprecation policy.
157
+ # @!attribute [rw] name
158
+ # @return [String]
159
+ # (+OutputOnly+)
160
+ # The unique name of the snapshot.
161
+ # Values are of the form
162
+ # +projects/<project>/instances/<instance>/clusters/<cluster>/snapshots/<snapshot>+.
163
+ # @!attribute [rw] source_table
164
+ # @return [Google::Bigtable::Admin::V2::Table]
165
+ # (+OutputOnly+)
166
+ # The source table at the time the snapshot was taken.
167
+ # @!attribute [rw] data_size_bytes
168
+ # @return [Integer]
169
+ # (+OutputOnly+)
170
+ # The size of the data in the source table at the time the snapshot was
171
+ # taken. In some cases, this value may be computed asynchronously via a
172
+ # background process and a placeholder of 0 will be used in the meantime.
173
+ # @!attribute [rw] create_time
174
+ # @return [Google::Protobuf::Timestamp]
175
+ # (+OutputOnly+)
176
+ # The time when the snapshot is created.
177
+ # @!attribute [rw] delete_time
178
+ # @return [Google::Protobuf::Timestamp]
179
+ # (+OutputOnly+)
180
+ # The time when the snapshot will be deleted. The maximum amount of time a
181
+ # snapshot can stay active is 365 days. If 'ttl' is not specified,
182
+ # the default maximum of 365 days will be used.
183
+ # @!attribute [rw] state
184
+ # @return [Google::Bigtable::Admin::V2::Snapshot::State]
185
+ # (+OutputOnly+)
186
+ # The current state of the snapshot.
187
+ # @!attribute [rw] description
188
+ # @return [String]
189
+ # (+OutputOnly+)
190
+ # Description of the snapshot.
191
+ class Snapshot
192
+ # Possible states of a snapshot.
193
+ module State
194
+ # The state of the snapshot could not be determined.
195
+ STATE_NOT_KNOWN = 0
196
+
197
+ # The snapshot has been successfully created and can serve all requests.
198
+ READY = 1
199
+
200
+ # The snapshot is currently being created, and may be destroyed if the
201
+ # creation process encounters an error. A snapshot may not be restored to a
202
+ # table while it is being created.
203
+ CREATING = 2
204
+ end
205
+ end
206
+ end
207
+ end
208
+ end
209
+ end
@@ -0,0 +1,62 @@
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 Iam
17
+ module V1
18
+ # Request message for +SetIamPolicy+ method.
19
+ # @!attribute [rw] resource
20
+ # @return [String]
21
+ # REQUIRED: The resource for which the policy is being specified.
22
+ # +resource+ is usually specified as a path. For example, a Project
23
+ # resource is specified as +projects/{project}+.
24
+ # @!attribute [rw] policy
25
+ # @return [Google::Iam::V1::Policy]
26
+ # REQUIRED: The complete policy to be applied to the +resource+. The size of
27
+ # the policy is limited to a few 10s of KB. An empty policy is a
28
+ # valid policy but certain Cloud Platform services (such as Projects)
29
+ # might reject them.
30
+ class SetIamPolicyRequest; end
31
+
32
+ # Request message for +GetIamPolicy+ method.
33
+ # @!attribute [rw] resource
34
+ # @return [String]
35
+ # REQUIRED: The resource for which the policy is being requested.
36
+ # +resource+ is usually specified as a path. For example, a Project
37
+ # resource is specified as +projects/{project}+.
38
+ class GetIamPolicyRequest; end
39
+
40
+ # Request message for +TestIamPermissions+ method.
41
+ # @!attribute [rw] resource
42
+ # @return [String]
43
+ # REQUIRED: The resource for which the policy detail is being requested.
44
+ # +resource+ is usually specified as a path. For example, a Project
45
+ # resource is specified as +projects/{project}+.
46
+ # @!attribute [rw] permissions
47
+ # @return [Array<String>]
48
+ # The set of permissions to check for the +resource+. Permissions with
49
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
50
+ # information see
51
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
52
+ class TestIamPermissionsRequest; end
53
+
54
+ # Response message for +TestIamPermissions+ method.
55
+ # @!attribute [rw] permissions
56
+ # @return [Array<String>]
57
+ # A subset of +TestPermissionsRequest.permissions+ that the caller is
58
+ # allowed.
59
+ class TestIamPermissionsResponse; end
60
+ end
61
+ end
62
+ end