Class: Google::Cloud::Bigquery::Reservation::V1::Reservation

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb

Overview

A reservation is a mechanism used to guarantee slots to users.

Defined Under Namespace

Modules: ScalingMode Classes: Autoscale, LabelsEntry, ReplicationStatus

Instance Attribute Summary collapse

Instance Attribute Details

#autoscale::Google::Cloud::Bigquery::Reservation::V1::Reservation::Autoscale

Returns Optional. The configuration parameters for the auto scaling feature.

Returns:



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#concurrency::Integer

Returns Optional. Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BigQuery CLI.

Returns:

  • (::Integer)

    Optional. Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BigQuery CLI.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#creation_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Creation time of the reservation.

Returns:



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#edition::Google::Cloud::Bigquery::Reservation::V1::Edition

Returns Optional. Edition of the reservation.

Returns:



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#ignore_idle_slots::Boolean

Returns Optional. If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project. If true, a query or pipeline job using this reservation will execute with the slot capacity specified in the slot_capacity field at most.

Returns:

  • (::Boolean)

    Optional. If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project. If true, a query or pipeline job using this reservation will execute with the slot capacity specified in the slot_capacity field at most.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#labels::Google::Protobuf::Map{::String => ::String}

Returns Optional. The labels associated with this reservation. You can use these to organize and group your reservations. You can set this property when you create or update a reservation.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    Optional. The labels associated with this reservation. You can use these to organize and group your reservations. You can set this property when you create or update a reservation.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#max_slots::Integer

Returns Optional. The overall max slots for the reservation, covering slot_capacity (baseline), idle slots (if ignore_idle_slots is false) and scaled slots. If present, the reservation won't use more than the specified number of slots, even if there is demand and supply (from idle slots). NOTE: capping a reservation's idle slot usage is best effort and its usage may exceed the max_slots value. However, in terms of autoscale.current_slots (which accounts for the additional added slots), it will never exceed the max_slots - baseline.

This field must be set together with the scaling_mode enum value, otherwise the request will be rejected with error code google.rpc.Code.INVALID_ARGUMENT.

If the max_slots and scaling_mode are set, the autoscale or autoscale.max_slots field must be unset. Otherwise the request will be rejected with error code google.rpc.Code.INVALID_ARGUMENT. However, the autoscale field may still be in the output. The autopscale.max_slots will always show as 0 and the autoscaler.current_slots will represent the current slots from autoscaler excluding idle slots. For example, if the max_slots is 1000 and scaling_mode is AUTOSCALE_ONLY, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots may be any value between 0 and 1000.

If the max_slots is 1000, scaling_mode is ALL_SLOTS, the baseline is 100 and idle slots usage is 200, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots will not be higher than 700.

If the max_slots is 1000, scaling_mode is IDLE_SLOTS_ONLY, then in the output, the autoscaler field will be null.

If the max_slots and scaling_mode are set, then the ignore_idle_slots field must be aligned with the scaling_mode enum value.(See details in ScalingMode comments). Otherwise the request will be rejected with error code google.rpc.Code.INVALID_ARGUMENT.

Please note, the max_slots is for user to manage the part of slots greater than the baseline. Therefore, we don't allow users to set max_slots smaller or equal to the baseline as it will not be meaningful. If the field is present and slot_capacity>=max_slots, requests will be rejected with error code google.rpc.Code.INVALID_ARGUMENT.

Please note that if max_slots is set to 0, we will treat it as unset. Customers can set max_slots to 0 and set scaling_mode to SCALING_MODE_UNSPECIFIED to disable the max_slots feature.

Returns:

  • (::Integer)

    Optional. The overall max slots for the reservation, covering slot_capacity (baseline), idle slots (if ignore_idle_slots is false) and scaled slots. If present, the reservation won't use more than the specified number of slots, even if there is demand and supply (from idle slots). NOTE: capping a reservation's idle slot usage is best effort and its usage may exceed the max_slots value. However, in terms of autoscale.current_slots (which accounts for the additional added slots), it will never exceed the max_slots - baseline.

    This field must be set together with the scaling_mode enum value, otherwise the request will be rejected with error code google.rpc.Code.INVALID_ARGUMENT.

    If the max_slots and scaling_mode are set, the autoscale or autoscale.max_slots field must be unset. Otherwise the request will be rejected with error code google.rpc.Code.INVALID_ARGUMENT. However, the autoscale field may still be in the output. The autopscale.max_slots will always show as 0 and the autoscaler.current_slots will represent the current slots from autoscaler excluding idle slots. For example, if the max_slots is 1000 and scaling_mode is AUTOSCALE_ONLY, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots may be any value between 0 and 1000.

    If the max_slots is 1000, scaling_mode is ALL_SLOTS, the baseline is 100 and idle slots usage is 200, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots will not be higher than 700.

    If the max_slots is 1000, scaling_mode is IDLE_SLOTS_ONLY, then in the output, the autoscaler field will be null.

    If the max_slots and scaling_mode are set, then the ignore_idle_slots field must be aligned with the scaling_mode enum value.(See details in ScalingMode comments). Otherwise the request will be rejected with error code google.rpc.Code.INVALID_ARGUMENT.

    Please note, the max_slots is for user to manage the part of slots greater than the baseline. Therefore, we don't allow users to set max_slots smaller or equal to the baseline as it will not be meaningful. If the field is present and slot_capacity>=max_slots, requests will be rejected with error code google.rpc.Code.INVALID_ARGUMENT.

    Please note that if max_slots is set to 0, we will treat it as unset. Customers can set max_slots to 0 and set scaling_mode to SCALING_MODE_UNSPECIFIED to disable the max_slots feature.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#multi_region_auxiliary::Boolean

Deprecated.

This field is deprecated and may be removed in the next major version update.

Returns Applicable only for reservations located within one of the BigQuery multi-regions (US or EU).

If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region.

NOTE: this is a preview feature. Project must be allow-listed in order to set this field.

Returns:

  • (::Boolean)

    Applicable only for reservations located within one of the BigQuery multi-regions (US or EU).

    If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region.

    NOTE: this is a preview feature. Project must be allow-listed in order to set this field.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#name::String

Returns Identifier. The resource name of the reservation, e.g., projects/*/locations/*/reservations/team1-prod. The reservation_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.

Returns:

  • (::String)

    Identifier. The resource name of the reservation, e.g., projects/*/locations/*/reservations/team1-prod. The reservation_id must only contain lower case alphanumeric characters or dashes. It must start with a letter and must not end with a dash. Its maximum length is 64 characters.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#original_primary_location::String (readonly)

Returns Output only. The location where the reservation was originally created. This is set only during the failover reservation's creation. All billing charges for the failover reservation will be applied to this location.

Returns:

  • (::String)

    Output only. The location where the reservation was originally created. This is set only during the failover reservation's creation. All billing charges for the failover reservation will be applied to this location.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#primary_location::String (readonly)

Returns Output only. The current location of the reservation's primary replica. This field is only set for reservations using the managed disaster recovery feature.

Returns:

  • (::String)

    Output only. The current location of the reservation's primary replica. This field is only set for reservations using the managed disaster recovery feature.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#replication_status::Google::Cloud::Bigquery::Reservation::V1::Reservation::ReplicationStatus (readonly)

Returns Output only. The Disaster Recovery(DR) replication status of the reservation. This is only available for the primary replicas of DR/failover reservations and provides information about the both the staleness of the secondary and the last error encountered while trying to replicate changes from the primary to the secondary. If this field is blank, it means that the reservation is either not a DR reservation or the reservation is a DR secondary or that any replication operations on the reservation have succeeded.

Returns:

  • (::Google::Cloud::Bigquery::Reservation::V1::Reservation::ReplicationStatus)

    Output only. The Disaster Recovery(DR) replication status of the reservation. This is only available for the primary replicas of DR/failover reservations and provides information about the both the staleness of the secondary and the last error encountered while trying to replicate changes from the primary to the secondary. If this field is blank, it means that the reservation is either not a DR reservation or the reservation is a DR secondary or that any replication operations on the reservation have succeeded.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#reservation_group::String

Returns Optional. The reservation group that this reservation belongs to. You can set this property when you create or update a reservation. Reservations do not need to belong to a reservation group. Format: projects/{project}/locations/{location}/reservationGroups/{reservation_group} or just {reservation_group}.

Returns:

  • (::String)

    Optional. The reservation group that this reservation belongs to. You can set this property when you create or update a reservation. Reservations do not need to belong to a reservation group. Format: projects/{project}/locations/{location}/reservationGroups/{reservation_group} or just {reservation_group}



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#scaling_mode::Google::Cloud::Bigquery::Reservation::V1::Reservation::ScalingMode

Returns Optional. The scaling mode for the reservation. If the field is present but max_slots is not present, requests will be rejected with error code google.rpc.Code.INVALID_ARGUMENT.

Returns:



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#scheduling_policy::Google::Cloud::Bigquery::Reservation::V1::SchedulingPolicy

Returns Optional. The scheduling policy to use for jobs and queries running under this reservation. The scheduling policy controls how the reservation's resources are distributed.

This feature is not yet generally available.

Returns:



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#secondary_location::String

Returns Optional. The current location of the reservation's secondary replica. This field is only set for reservations using the managed disaster recovery feature. Users can set this in create reservation calls to create a failover reservation or in update reservation calls to convert a non-failover reservation to a failover reservation(or vice versa).

Returns:

  • (::String)

    Optional. The current location of the reservation's secondary replica. This field is only set for reservations using the managed disaster recovery feature. Users can set this in create reservation calls to create a failover reservation or in update reservation calls to convert a non-failover reservation to a failover reservation(or vice versa).



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#slot_capacity::Integer

Returns Optional. Baseline slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism.

Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false, or autoscaling is enabled.

The total slot_capacity of the reservation and its siblings may exceed the total slot_count of capacity commitments. In that case, the exceeding slots will be charged with the autoscale SKU. You can increase the number of baseline slots in a reservation every few minutes. If you want to decrease your baseline slots, you are limited to once an hour if you have recently changed your baseline slot capacity and your baseline slots exceed your committed slots. Otherwise, you can decrease your baseline slots every few minutes.

Returns:

  • (::Integer)

    Optional. Baseline slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism.

    Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false, or autoscaling is enabled.

    The total slot_capacity of the reservation and its siblings may exceed the total slot_count of capacity commitments. In that case, the exceeding slots will be charged with the autoscale SKU. You can increase the number of baseline slots in a reservation every few minutes. If you want to decrease your baseline slots, you are limited to once an hour if you have recently changed your baseline slot capacity and your baseline slots exceed your committed slots. Otherwise, you can decrease your baseline slots every few minutes.



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end

#update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Last update time of the reservation.

Returns:



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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'proto_docs/google/cloud/bigquery/reservation/v1/reservation.rb', line 187

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

  # Auto scaling settings.
  # @!attribute [r] current_slots
  #   @return [::Integer]
  #     Output only. The slot capacity added to this reservation when autoscale
  #     happens. Will be between [0, max_slots]. Note: after users reduce
  #     max_slots, it may take a while before it can be propagated, so
  #     current_slots may stay in the original value and could be larger than
  #     max_slots for that brief period (less than one minute)
  # @!attribute [rw] max_slots
  #   @return [::Integer]
  #     Optional. Number of slots to be scaled when needed.
  class Autoscale
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Disaster Recovery(DR) replication status of the reservation.
  # @!attribute [r] error
  #   @return [::Google::Rpc::Status]
  #     Output only. The last error encountered while trying to replicate changes
  #     from the primary to the secondary. This field is only available if the
  #     replication has not succeeded since.
  # @!attribute [r] last_error_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which the last error was encountered while
  #     trying to replicate changes from the primary to the secondary. This field
  #     is only available if the replication has not succeeded since.
  # @!attribute [r] last_replication_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. A timestamp corresponding to the last change on the primary
  #     that was successfully replicated to the secondary.
  # @!attribute [r] soft_failover_start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The time at which a soft failover for the reservation and
  #     its associated datasets was initiated. After this field is set, all
  #     subsequent changes to the reservation will be rejected unless a hard
  #     failover overrides this operation. This field will be cleared once the
  #     failover is complete.
  class ReplicationStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The scaling mode for the reservation. This enum determines how the
  # reservation scales up and down.
  module ScalingMode
    # Default value of ScalingMode.
    SCALING_MODE_UNSPECIFIED = 0

    # The reservation will scale up only using slots from autoscaling. It will
    # not use any idle slots even if there may be some available. The upper
    # limit that autoscaling can scale up to will be max_slots - baseline.
    # For example, if max_slots is 1000, baseline is 200 and customer sets
    # ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800
    # slots and no idle slots will be used.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # true. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    AUTOSCALE_ONLY = 1

    # The reservation will scale up using only idle slots contributed by
    # other reservations or from unassigned commitments. If no idle slots are
    # available it will not scale up further. If the idle slots which it is
    # using are reclaimed by the contributing reservation(s) it may be forced
    # to scale down. The max idle slots the reservation can be max_slots -
    # baseline capacity. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to IDLE_SLOTS_ONLY,
    # 1. if there are 1000 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 700 slots with 200 baseline and 500 idle
    # slots.
    # Please note, in this mode, the reservation might not be able to scale up
    # to max_slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    IDLE_SLOTS_ONLY = 2

    # The reservation will scale up using all slots available to it. It will
    # use idle slots contributed by other reservations or from unassigned
    # commitments first. If no idle slots are available it will scale up using
    # autoscaling. For example, if max_slots is 1000, baseline is 200 and
    # customer sets ScalingMode to ALL_SLOTS,
    # 1. if there are 800 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline and 800 idle
    # slots.
    # 2. if there are 500 idle slots available in other reservations, the
    # reservation will scale up to 1000 slots with 200 baseline, 500 idle
    # slots and 300 autoscaling slots.
    # 3. if there are no idle slots available in other reservations, it will
    # scale up to 1000 slots with 200 baseline and 800 autoscaling slots.
    #
    # Please note, in this mode, the ignore_idle_slots field must be set to
    # false. Otherwise the request will be rejected with error code
    # `google.rpc.Code.INVALID_ARGUMENT`.
    ALL_SLOTS = 3
  end
end