Class: Google::Apis::BigqueryreservationV1::Reservation
- Inherits:
-
Object
- Object
- Google::Apis::BigqueryreservationV1::Reservation
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigqueryreservation_v1/classes.rb,
lib/google/apis/bigqueryreservation_v1/representations.rb,
lib/google/apis/bigqueryreservation_v1/representations.rb
Overview
A reservation is a mechanism used to guarantee slots to users.
Instance Attribute Summary collapse
-
#autoscale ⇒ Google::Apis::BigqueryreservationV1::Autoscale
Auto scaling settings.
-
#concurrency ⇒ Fixnum
Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation.
-
#creation_time ⇒ String
Output only.
-
#edition ⇒ String
Edition of the reservation.
-
#ignore_idle_slots ⇒ Boolean
(also: #ignore_idle_slots?)
If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project.
-
#multi_region_auxiliary ⇒ Boolean
(also: #multi_region_auxiliary?)
Applicable only for reservations located within one of the BigQuery multi- regions (US or EU).
-
#name ⇒ String
The resource name of the reservation, e.g.,
projects/*/locations/*/ reservations/team1-prod
. -
#original_primary_location ⇒ String
Optional.
-
#primary_location ⇒ String
Optional.
-
#secondary_location ⇒ String
Optional.
-
#slot_capacity ⇒ Fixnum
Baseline slots available to this reservation.
-
#update_time ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Reservation
constructor
A new instance of Reservation.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Reservation
Returns a new instance of Reservation.
503 504 505 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 503 def initialize(**args) update!(**args) end |
Instance Attribute Details
#autoscale ⇒ Google::Apis::BigqueryreservationV1::Autoscale
Auto scaling settings.
Corresponds to the JSON property autoscale
402 403 404 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 402 def autoscale @autoscale end |
#concurrency ⇒ Fixnum
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 BQ CLI.
Corresponds to the JSON property concurrency
412 413 414 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 412 def concurrency @concurrency end |
#creation_time ⇒ String
Output only. Creation time of the reservation.
Corresponds to the JSON property creationTime
417 418 419 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 417 def creation_time @creation_time end |
#edition ⇒ String
Edition of the reservation.
Corresponds to the JSON property edition
422 423 424 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 422 def edition @edition end |
#ignore_idle_slots ⇒ Boolean Also known as: ignore_idle_slots?
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.
Corresponds to the JSON property ignoreIdleSlots
430 431 432 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 430 def ignore_idle_slots @ignore_idle_slots end |
#multi_region_auxiliary ⇒ Boolean Also known as: multi_region_auxiliary?
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.
Corresponds to the JSON property multiRegionAuxiliary
441 442 443 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 441 def multi_region_auxiliary @multi_region_auxiliary end |
#name ⇒ String
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.
Corresponds to the JSON property name
450 451 452 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 450 def name @name end |
#original_primary_location ⇒ String
Optional. The original primary location of the reservation which is set only
during its creation and remains unchanged afterwards. It can be used by the
customer to answer questions about disaster recovery billing. The field is
output only for customers and should not be specified, however, the google.api.
field_behavior is not set to OUTPUT_ONLY since these fields are set in
rerouted requests sent across regions.
Corresponds to the JSON property originalPrimaryLocation
460 461 462 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 460 def original_primary_location @original_primary_location end |
#primary_location ⇒ String
Optional. The primary location of the reservation. The field is only
meaningful for reservation used for cross region disaster recovery. The field
is output only for customers and should not be specified, however, the google.
api.field_behavior is not set to OUTPUT_ONLY since these fields are set in
rerouted requests sent across regions.
Corresponds to the JSON property primaryLocation
469 470 471 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 469 def primary_location @primary_location end |
#secondary_location ⇒ String
Optional. The secondary location of the reservation which is used for cross
region disaster recovery purposes. Customer can set this in create/update
reservation calls to create a failover reservation or convert a non-failover
reservation to a failover reservation.
Corresponds to the JSON property secondaryLocation
477 478 479 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 477 def secondary_location @secondary_location end |
#slot_capacity ⇒ Fixnum
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. If edition is
EDITION_UNSPECIFIED and total slot_capacity of the reservation and its
siblings exceeds the total slot_count of all capacity commitments, the request
will fail with google.rpc.Code.RESOURCE_EXHAUSTED
. If edition is any value
but EDITION_UNSPECIFIED, then the above requirement is not needed. 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.
Corresponds to the JSON property slotCapacity
496 497 498 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 496 def slot_capacity @slot_capacity end |
#update_time ⇒ String
Output only. Last update time of the reservation.
Corresponds to the JSON property updateTime
501 502 503 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 501 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
508 509 510 511 512 513 514 515 516 517 518 519 520 521 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 508 def update!(**args) @autoscale = args[:autoscale] if args.key?(:autoscale) @concurrency = args[:concurrency] if args.key?(:concurrency) @creation_time = args[:creation_time] if args.key?(:creation_time) @edition = args[:edition] if args.key?(:edition) @ignore_idle_slots = args[:ignore_idle_slots] if args.key?(:ignore_idle_slots) @multi_region_auxiliary = args[:multi_region_auxiliary] if args.key?(:multi_region_auxiliary) @name = args[:name] if args.key?(:name) @original_primary_location = args[:original_primary_location] if args.key?(:original_primary_location) @primary_location = args[:primary_location] if args.key?(:primary_location) @secondary_location = args[:secondary_location] if args.key?(:secondary_location) @slot_capacity = args[:slot_capacity] if args.key?(:slot_capacity) @update_time = args[:update_time] if args.key?(:update_time) end |