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.
508 509 510 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 508 def initialize(**args) update!(**args) end |
Instance Attribute Details
#autoscale ⇒ Google::Apis::BigqueryreservationV1::Autoscale
Auto scaling settings.
Corresponds to the JSON property autoscale
407 408 409 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 407 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
417 418 419 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 417 def concurrency @concurrency end |
#creation_time ⇒ String
Output only. Creation time of the reservation.
Corresponds to the JSON property creationTime
422 423 424 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 422 def creation_time @creation_time end |
#edition ⇒ String
Edition of the reservation.
Corresponds to the JSON property edition
427 428 429 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 427 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
435 436 437 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 435 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
446 447 448 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 446 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
455 456 457 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 455 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
465 466 467 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 465 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
474 475 476 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 474 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
482 483 484 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 482 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
501 502 503 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 501 def slot_capacity @slot_capacity end |
#update_time ⇒ String
Output only. Last update time of the reservation.
Corresponds to the JSON property updateTime
506 507 508 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 506 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
513 514 515 516 517 518 519 520 521 522 523 524 525 526 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 513 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 |