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.
-
#labels ⇒ Hash<String,String>
Optional.
-
#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.
531 532 533 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 531 def initialize(**args) update!(**args) end |
Instance Attribute Details
#autoscale ⇒ Google::Apis::BigqueryreservationV1::Autoscale
Auto scaling settings.
Corresponds to the JSON property autoscale
423 424 425 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 423 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
433 434 435 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 433 def concurrency @concurrency end |
#creation_time ⇒ String
Output only. Creation time of the reservation.
Corresponds to the JSON property creationTime
438 439 440 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 438 def creation_time @creation_time end |
#edition ⇒ String
Edition of the reservation.
Corresponds to the JSON property edition
443 444 445 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 443 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
451 452 453 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 451 def ignore_idle_slots @ignore_idle_slots end |
#labels ⇒ Hash<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 inserting
or updating a reservation.
Corresponds to the JSON property labels
459 460 461 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 459 def labels @labels 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
469 470 471 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 469 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
478 479 480 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 478 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
488 489 490 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 488 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
497 498 499 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 497 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
505 506 507 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 505 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
524 525 526 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 524 def slot_capacity @slot_capacity end |
#update_time ⇒ String
Output only. Last update time of the reservation.
Corresponds to the JSON property updateTime
529 530 531 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 529 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 |
# File 'lib/google/apis/bigqueryreservation_v1/classes.rb', line 536 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) @labels = args[:labels] if args.key?(:labels) @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 |