Class: Google::Cloud::Bigtable::Admin::V2::Table

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/bigtable/admin/v2/table.rb

Overview

A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.

Defined Under Namespace

Modules: TimestampGranularity, View Classes: AutomatedBackupPolicy, ClusterState, ClusterStatesEntry, ColumnFamiliesEntry

Instance Attribute Summary collapse

Instance Attribute Details

#automated_backup_policy::Google::Cloud::Bigtable::Admin::V2::Table::AutomatedBackupPolicy

Returns If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#change_stream_config::Google::Cloud::Bigtable::Admin::V2::ChangeStreamConfig

Returns If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#cluster_states::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState} (readonly)

Returns Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN replication_status. Views: REPLICATION_VIEW, ENCRYPTION_VIEW, FULL.

Returns:

  • (::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState})

    Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN replication_status. Views: REPLICATION_VIEW, ENCRYPTION_VIEW, FULL



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#column_families::Google::Protobuf::Map{::String => ::Google::Cloud::Bigtable::Admin::V2::ColumnFamily}

Returns The column families configured for this table, mapped by column family ID. Views: SCHEMA_VIEW, STATS_VIEW, FULL.

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#deletion_protection::Boolean

Returns Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited:

  • The table.
  • The column families in the table.
  • The instance containing the table.

Note one can still delete the data stored in the table through Data APIs.

Returns:

  • (::Boolean)

    Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited:

    • The table.
    • The column families in the table.
    • The instance containing the table.

    Note one can still delete the data stored in the table through Data APIs.



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#granularity::Google::Cloud::Bigtable::Admin::V2::Table::TimestampGranularity

Returns Immutable. The granularity (i.e. MILLIS) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to MILLIS. Views: SCHEMA_VIEW, FULL.

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#name::String

Returns The unique name of the table. Values are of the form projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*. Views: NAME_ONLY, SCHEMA_VIEW, REPLICATION_VIEW, FULL.

Returns:

  • (::String)

    The unique name of the table. Values are of the form projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*. Views: NAME_ONLY, SCHEMA_VIEW, REPLICATION_VIEW, FULL



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#restore_info::Google::Cloud::Bigtable::Admin::V2::RestoreInfo (readonly)

Returns Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.

Returns:



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end

#row_key_schema::Google::Cloud::Bigtable::Admin::V2::Type::Struct

Returns The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API.

For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key.

For example, if _key = "some_id#2024-04-30#\x00\x13\x00\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes \{} } } } fields { field_name: "date" type { string { encoding: utf8_bytes \{} } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes \{} } } } encoding { delimited_bytes { delimiter: "#" } } }

The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\ | _key | product_code | | --------------------------------------|--------------| | "some_id#2024-04-30#\x00\x13\x00\xf3" | 1245427 | ------------------------------------------------------/

The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp".

The following update operations are allowed for row_key_schema:

  • Update from an empty schema to a new schema.
  • Remove the existing schema. This operation requires setting the ignore_warnings flag to true, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.

Returns:

  • (::Google::Cloud::Bigtable::Admin::V2::Type::Struct)

    The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API.

    For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key.

    For example, if _key = "some_id#2024-04-30#\x00\x13\x00\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes \{} } } } fields { field_name: "date" type { string { encoding: utf8_bytes \{} } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes \{} } } } encoding { delimited_bytes { delimiter: "#" } } }

    The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\ | _key | product_code | | --------------------------------------|--------------| | "some_id#2024-04-30#\x00\x13\x00\xf3" | 1245427 | ------------------------------------------------------/

    The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp".

    The following update operations are allowed for row_key_schema:

    • Update from an empty schema to a new schema.
    • Remove the existing schema. This operation requires setting the ignore_warnings flag to true, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.


156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'proto_docs/google/bigtable/admin/v2/table.rb', line 156

class Table
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The state of a table's data in a particular cluster.
  # @!attribute [r] replication_state
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState::ReplicationState]
  #     Output only. The state of replication for the table in this cluster.
  # @!attribute [r] encryption_info
  #   @return [::Array<::Google::Cloud::Bigtable::Admin::V2::EncryptionInfo>]
  #     Output only. The encryption information for the table in this cluster.
  #     If the encryption key protecting this resource is customer managed, then
  #     its version can be rotated in Cloud Key Management Service (Cloud KMS).
  #     The primary version of the key and its status will be reflected here when
  #     changes propagate from Cloud KMS.
  class ClusterState
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Table replication states.
    module ReplicationState
      # The replication state of the table is unknown in this cluster.
      STATE_NOT_KNOWN = 0

      # The cluster was recently created, and the table must finish copying
      # over pre-existing data from other clusters before it can begin
      # receiving live replication updates and serving Data API requests.
      INITIALIZING = 1

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to planned internal maintenance.
      PLANNED_MAINTENANCE = 2

      # The table is temporarily unable to serve Data API requests from this
      # cluster due to unplanned or emergency maintenance.
      UNPLANNED_MAINTENANCE = 3

      # The table can serve Data API requests from this cluster. Depending on
      # replication delay, reads may not immediately reflect the state of the
      # table in other clusters.
      READY = 4

      # The table is fully created and ready for use after a restore, and is
      # being optimized for performance. When optimizations are complete, the
      # table will transition to `READY` state.
      READY_OPTIMIZING = 5
    end
  end

  # Defines an automated backup policy for a table
  # @!attribute [rw] retention_period
  #   @return [::Google::Protobuf::Duration]
  #     Required. How long the automated backups should be retained. The only
  #     supported value at this time is 3 days.
  # @!attribute [rw] frequency
  #   @return [::Google::Protobuf::Duration]
  #     Required. How frequently automated backups should occur. The only
  #     supported value at this time is 24 hours.
  class AutomatedBackupPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::Table::ClusterState]
  class ClusterStatesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Bigtable::Admin::V2::ColumnFamily]
  class ColumnFamiliesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Possible timestamp granularities to use when keeping multiple versions
  # of data in a table.
  module TimestampGranularity
    # The user did not specify a granularity. Should not be returned.
    # When specified during table creation, MILLIS will be used.
    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0

    # The table keeps data versioned at a granularity of 1ms.
    MILLIS = 1
  end

  # Defines a view over a table's fields.
  module View
    # Uses the default view for each method as documented in its request.
    VIEW_UNSPECIFIED = 0

    # Only populates `name`.
    NAME_ONLY = 1

    # Only populates `name` and fields related to the table's schema.
    SCHEMA_VIEW = 2

    # Only populates `name` and fields related to the table's replication
    # state.
    REPLICATION_VIEW = 3

    # Only populates `name` and fields related to the table's encryption state.
    ENCRYPTION_VIEW = 5

    # Populates all fields.
    FULL = 4
  end
end