Class: Google::Apis::ComputeV1::Reservation
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::Reservation
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/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::ComputeV1::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.
-
#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::ComputeV1::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.
-
#share_settings ⇒ Google::Apis::ComputeV1::ShareSettings
The share setting for reservations and sole tenancy node groups.
-
#specific_reservation ⇒ Google::Apis::ComputeV1::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.
32797 32798 32799 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32797 def initialize(**args) update!(**args) end |
Instance Attribute Details
#aggregate_reservation ⇒ Google::Apis::ComputeV1::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
32700 32701 32702 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32700 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
32706 32707 32708 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32706 def commitment @commitment end |
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
Corresponds to the JSON property creationTimestamp
32711 32712 32713 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32711 def @creation_timestamp end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
32717 32718 32719 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32717 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
32723 32724 32725 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32723 def id @id end |
#kind ⇒ String
[Output Only] Type of the resource. Always compute#reservations for
reservations.
Corresponds to the JSON property kind
32729 32730 32731 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32729 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
32740 32741 32742 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32740 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
32747 32748 32749 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32747 def resource_policies @resource_policies end |
#resource_status ⇒ Google::Apis::ComputeV1::AllocationResourceStatus
[Output Only] Contains output only fields.
Corresponds to the JSON property resourceStatus
32752 32753 32754 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32752 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
32757 32758 32759 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32757 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
32763 32764 32765 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32763 def self_link @self_link end |
#share_settings ⇒ Google::Apis::ComputeV1::ShareSettings
The share setting for reservations and sole tenancy node groups.
Corresponds to the JSON property shareSettings
32768 32769 32770 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32768 def share_settings @share_settings end |
#specific_reservation ⇒ Google::Apis::ComputeV1::AllocationSpecificSkuReservation
This reservation type allows to pre allocate specific instance configuration.
Corresponds to the JSON property specificReservation
32773 32774 32775 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32773 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
32780 32781 32782 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32780 def specific_reservation_required @specific_reservation_required end |
#status ⇒ String
[Output Only] The status of the reservation. - CREATING: Reservation resources
are being allocated. - READY: Reservation resources have been allocated, and
the reservation is ready for use. - DELETING: Reservation deletion is in
progress. - UPDATING: Reservation update is in progress.
Corresponds to the JSON property status
32789 32790 32791 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32789 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
32795 32796 32797 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32795 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
32802 32803 32804 32805 32806 32807 32808 32809 32810 32811 32812 32813 32814 32815 32816 32817 32818 32819 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32802 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) @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) @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 |