Class: Google::Apis::ComputeAlpha::Reservation
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::Reservation
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Overview
Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.
Instance Attribute Summary collapse
-
#aggregate_reservation ⇒ Google::Apis::ComputeAlpha::AllocationAggregateReservation
This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs.
-
#commitment ⇒ String
[Output Only] Full or partial URL to a parent commitment.
-
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
-
#delete_after_duration ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
-
#delete_at_time ⇒ String
Absolute time in future when the reservation will be auto-deleted by GCE.
-
#description ⇒ String
An optional description of this resource.
-
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource.
-
#kind ⇒ String
[Output Only] Type of the resource.
-
#name ⇒ String
The name of the resource, provided by the client when initially creating the resource.
-
#resource_policies ⇒ Hash<String,String>
Resource policies to be added to this reservation.
-
#resource_status ⇒ Google::Apis::ComputeAlpha::AllocationResourceStatus
[Output Only] Contains output only fields.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
[Output Only] Reserved for future use.
-
#self_link ⇒ String
[Output Only] Server-defined fully-qualified URL for this resource.
-
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
-
#share_settings ⇒ Google::Apis::ComputeAlpha::ShareSettings
The share setting for reservations and sole tenancy node groups.
-
#specific_reservation ⇒ Google::Apis::ComputeAlpha::AllocationSpecificSkuReservation
This reservation type allows to pre allocate specific instance configuration.
-
#specific_reservation_required ⇒ Boolean
(also: #specific_reservation_required?)
Indicates whether the reservation can be consumed by VMs with affinity for " any" reservation.
-
#status ⇒ String
[Output Only] The status of the reservation.
-
#zone ⇒ String
Zone in which the reservation resides.
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.
37523 37524 37525 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37523 def initialize(**args) update!(**args) end |
Instance Attribute Details
#aggregate_reservation ⇒ Google::Apis::ComputeAlpha::AllocationAggregateReservation
This reservation type is specified by total resource amounts (e.g. total count
of CPUs) and can account for multiple instance SKUs. In other words, one can
create instances of varying shapes against this reservation.
Corresponds to the JSON property aggregateReservation
37409 37410 37411 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37409 def aggregate_reservation @aggregate_reservation end |
#commitment ⇒ String
[Output Only] Full or partial URL to a parent commitment. This field displays
for reservations that are tied to a commitment.
Corresponds to the JSON property commitment
37415 37416 37417 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37415 def commitment @commitment end |
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
Corresponds to the JSON property creationTimestamp
37420 37421 37422 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37420 def @creation_timestamp end |
#delete_after_duration ⇒ Google::Apis::ComputeAlpha::Duration
A Duration represents a fixed-length span of time represented as a count of
seconds and fractions of seconds at nanosecond resolution. It is independent
of any calendar and concepts like "day" or "month". Range is approximately 10,
000 years.
Corresponds to the JSON property deleteAfterDuration
37428 37429 37430 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37428 def delete_after_duration @delete_after_duration end |
#delete_at_time ⇒ String
Absolute time in future when the reservation will be auto-deleted by GCE.
Timestamp is represented in RFC3339 text format.
Corresponds to the JSON property deleteAtTime
37434 37435 37436 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37434 def delete_at_time @delete_at_time end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
37440 37441 37442 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37440 def description @description end |
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource. This identifier is
defined by the server.
Corresponds to the JSON property id
37446 37447 37448 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37446 def id @id end |
#kind ⇒ String
[Output Only] Type of the resource. Always compute#reservations for
reservations.
Corresponds to the JSON property kind
37452 37453 37454 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37452 def kind @kind end |
#name ⇒ String
The name of the resource, provided by the client when initially creating the
resource. The resource name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match the
regular expression [a-z]([-a-z0-9]*[a-z0-9])?
which means the first
character must be a lowercase letter, and all following characters must be a
dash, lowercase letter, or digit, except the last character, which cannot be a
dash.
Corresponds to the JSON property name
37463 37464 37465 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37463 def name @name end |
#resource_policies ⇒ Hash<String,String>
Resource policies to be added to this reservation. The key is defined by user,
and the value is resource policy url. This is to define placement policy with
reservation.
Corresponds to the JSON property resourcePolicies
37470 37471 37472 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37470 def resource_policies @resource_policies end |
#resource_status ⇒ Google::Apis::ComputeAlpha::AllocationResourceStatus
[Output Only] Contains output only fields.
Corresponds to the JSON property resourceStatus
37475 37476 37477 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37475 def resource_status @resource_status end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
[Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
37480 37481 37482 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37480 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
[Output Only] Server-defined fully-qualified URL for this resource.
Corresponds to the JSON property selfLink
37486 37487 37488 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37486 def self_link @self_link end |
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
Corresponds to the JSON property selfLinkWithId
37491 37492 37493 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37491 def self_link_with_id @self_link_with_id end |
#share_settings ⇒ Google::Apis::ComputeAlpha::ShareSettings
The share setting for reservations and sole tenancy node groups.
Corresponds to the JSON property shareSettings
37496 37497 37498 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37496 def share_settings @share_settings end |
#specific_reservation ⇒ Google::Apis::ComputeAlpha::AllocationSpecificSkuReservation
This reservation type allows to pre allocate specific instance configuration.
Next ID: 6
Corresponds to the JSON property specificReservation
37502 37503 37504 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37502 def specific_reservation @specific_reservation end |
#specific_reservation_required ⇒ Boolean Also known as: specific_reservation_required?
Indicates whether the reservation can be consumed by VMs with affinity for "
any" reservation. If the field is set, then only VMs that target the
reservation by name can consume from this reservation.
Corresponds to the JSON property specificReservationRequired
37509 37510 37511 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37509 def specific_reservation_required @specific_reservation_required end |
#status ⇒ String
[Output Only] The status of the reservation.
Corresponds to the JSON property status
37515 37516 37517 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37515 def status @status end |
#zone ⇒ String
Zone in which the reservation resides. A zone must be provided if the
reservation is created within a commitment.
Corresponds to the JSON property zone
37521 37522 37523 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37521 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
37528 37529 37530 37531 37532 37533 37534 37535 37536 37537 37538 37539 37540 37541 37542 37543 37544 37545 37546 37547 37548 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 37528 def update!(**args) @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation) @commitment = args[:commitment] if args.key?(:commitment) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration) @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @resource_status = args[:resource_status] if args.key?(:resource_status) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @share_settings = args[:share_settings] if args.key?(:share_settings) @specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation) @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end |