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 Compute Engine.
-
#deployment_type ⇒ String
Specifies the deployment strategy for this reservation.
-
#description ⇒ String
An optional description of this resource.
-
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource.
-
#instance_termination_action ⇒ String
Instance termination action is invoked when the reservation is deleted.
-
#kind ⇒ String
[Output Only] Type of the resource.
-
#name ⇒ String
The name of the resource, provided by the client when initially creating the resource.
-
#reservation_sharing_policy ⇒ Google::Apis::ComputeAlpha::AllocationReservationSharingPolicy
Specify the reservation sharing policy.
-
#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.
41818 41819 41820 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41818 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
41685 41686 41687 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41685 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
41691 41692 41693 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41691 def commitment @commitment end |
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
Corresponds to the JSON property creationTimestamp
41696 41697 41698 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41696 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
41704 41705 41706 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41704 def delete_after_duration @delete_after_duration end |
#delete_at_time ⇒ String
Absolute time in future when the reservation will be auto-deleted by Compute
Engine. Timestamp is represented in RFC3339 text format.
Corresponds to the JSON property deleteAtTime
41710 41711 41712 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41710 def delete_at_time @delete_at_time end |
#deployment_type ⇒ String
Specifies the deployment strategy for this reservation.
Corresponds to the JSON property deploymentType
41715 41716 41717 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41715 def deployment_type @deployment_type end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
41721 41722 41723 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41721 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
41727 41728 41729 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41727 def id @id end |
#instance_termination_action ⇒ String
Instance termination action is invoked when the reservation is deleted. This
only applies to reservations with a Deployment type.
Corresponds to the JSON property instanceTerminationAction
41733 41734 41735 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41733 def instance_termination_action @instance_termination_action end |
#kind ⇒ String
[Output Only] Type of the resource. Always compute#reservations for
reservations.
Corresponds to the JSON property kind
41739 41740 41741 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41739 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
41750 41751 41752 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41750 def name @name end |
#reservation_sharing_policy ⇒ Google::Apis::ComputeAlpha::AllocationReservationSharingPolicy
Specify the reservation sharing policy. If unspecified, the reservation will
not be shared with Google Cloud managed services.
Corresponds to the JSON property reservationSharingPolicy
41756 41757 41758 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41756 def reservation_sharing_policy @reservation_sharing_policy 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
41763 41764 41765 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41763 def resource_policies @resource_policies end |
#resource_status ⇒ Google::Apis::ComputeAlpha::AllocationResourceStatus
[Output Only] Contains output only fields.
Corresponds to the JSON property resourceStatus
41768 41769 41770 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41768 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
41773 41774 41775 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41773 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
41779 41780 41781 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41779 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
41784 41785 41786 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41784 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
41789 41790 41791 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41789 def share_settings @share_settings end |
#specific_reservation ⇒ Google::Apis::ComputeAlpha::AllocationSpecificSkuReservation
This reservation type allows to pre allocate specific instance configuration.
Corresponds to the JSON property specificReservation
41794 41795 41796 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41794 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
41801 41802 41803 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41801 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
41810 41811 41812 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41810 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
41816 41817 41818 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41816 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
41823 41824 41825 41826 41827 41828 41829 41830 41831 41832 41833 41834 41835 41836 41837 41838 41839 41840 41841 41842 41843 41844 41845 41846 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 41823 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) @deployment_type = args[:deployment_type] if args.key?(:deployment_type) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy) @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 |