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
-
#advanced_deployment_control ⇒ Google::Apis::ComputeAlpha::ReservationAdvancedDeploymentControl
Advance control for cluster management, applicable only to DENSE deployment type reservations.
-
#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.
-
#confidential_compute_type ⇒ String
Corresponds to the JSON property
confidentialComputeType. -
#creation_timestamp ⇒ String
Output only.
-
#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.
-
#early_access_maintenance ⇒ String
Indicates the early access maintenance for the reservation.
-
#enable_emergent_maintenance ⇒ Boolean
(also: #enable_emergent_maintenance?)
Indicates whether Compute Engine allows unplanned maintenance for your VMs; for example, to fix hardware errors.
-
#id ⇒ Fixnum
Output only.
-
#kind ⇒ String
Output only.
-
#linked_commitments ⇒ Array<String>
Output only.
-
#name ⇒ String
The name of the resource, provided by the client when initially creating the resource.
-
#params ⇒ Google::Apis::ComputeAlpha::ReservationParams
Additional reservation params.
-
#protection_tier ⇒ String
Protection tier for the workload which specifies the workload expectations in the event of infrastructure failures at data center (e.g. power and/or cooling failures).
-
#reservation_mode ⇒ String
Output only.
-
#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.
-
#scheduling_type ⇒ String
The type of maintenance for the reservation.
-
#self_link ⇒ String
Output only.
-
#self_link_with_id ⇒ String
Output only.
-
#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.
-
#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.
58123 58124 58125 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58123 def initialize(**args) update!(**args) end |
Instance Attribute Details
#advanced_deployment_control ⇒ Google::Apis::ComputeAlpha::ReservationAdvancedDeploymentControl
Advance control for cluster management, applicable only to DENSE deployment
type reservations.
Corresponds to the JSON property advancedDeploymentControl
57928 57929 57930 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57928 def advanced_deployment_control @advanced_deployment_control end |
#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
57935 57936 57937 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57935 def aggregate_reservation @aggregate_reservation end |
#commitment ⇒ String
Output only. [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
57942 57943 57944 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57942 def commitment @commitment end |
#confidential_compute_type ⇒ String
Corresponds to the JSON property confidentialComputeType
57947 57948 57949 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57947 def confidential_compute_type @confidential_compute_type end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339
text format.
Corresponds to the JSON property creationTimestamp
57953 57954 57955 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57953 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
57961 57962 57963 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57961 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 inRFC3339 text
format.
Corresponds to the JSON property deleteAtTime
57968 57969 57970 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57968 def delete_at_time @delete_at_time end |
#deployment_type ⇒ String
Specifies the deployment strategy for this reservation.
Corresponds to the JSON property deploymentType
57973 57974 57975 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57973 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
57979 57980 57981 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57979 def description @description end |
#early_access_maintenance ⇒ String
Indicates the early access maintenance for the reservation.
If this field is absent or set to NO_EARLY_ACCESS, the reservation is not
enrolled in early access maintenance and the standard notice applies.
Corresponds to the JSON property earlyAccessMaintenance
57986 57987 57988 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57986 def early_access_maintenance @early_access_maintenance end |
#enable_emergent_maintenance ⇒ Boolean Also known as: enable_emergent_maintenance?
Indicates whether Compute Engine allows unplanned maintenance for your VMs;
for example, to fix hardware errors.
Corresponds to the JSON property enableEmergentMaintenance
57992 57993 57994 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 57992 def enable_emergent_maintenance @enable_emergent_maintenance end |
#id ⇒ Fixnum
Output only. [Output Only] The unique identifier for the resource. This
identifier is
defined by the server.
Corresponds to the JSON property id
58000 58001 58002 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58000 def id @id end |
#kind ⇒ String
Output only. [Output Only] Type of the resource. Alwayscompute#reservations
for reservations.
Corresponds to the JSON property kind
58006 58007 58008 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58006 def kind @kind end |
#linked_commitments ⇒ Array<String>
Output only. [Output Only] Full or partial URL to parent commitments. This
field
displays for reservations that are tied to multiple commitments.
Corresponds to the JSON property linkedCommitments
58013 58014 58015 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58013 def linked_commitments @linked_commitments 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
withRFC1035.
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
58025 58026 58027 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58025 def name @name end |
#params ⇒ Google::Apis::ComputeAlpha::ReservationParams
Additional reservation params.
Corresponds to the JSON property params
58030 58031 58032 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58030 def params @params end |
#protection_tier ⇒ String
Protection tier for the workload which specifies the workload expectations
in the event of infrastructure failures at data center (e.g. power
and/or cooling failures).
Corresponds to the JSON property protectionTier
58037 58038 58039 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58037 def protection_tier @protection_tier end |
#reservation_mode ⇒ String
Output only. [Output only] Indicates the reservation mode of the reservation.
Corresponds to the JSON property reservationMode
58042 58043 58044 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58042 def reservation_mode @reservation_mode 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
58048 58049 58050 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58048 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
58055 58056 58057 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58055 def resource_policies @resource_policies end |
#resource_status ⇒ Google::Apis::ComputeAlpha::AllocationResourceStatus
[Output Only] Contains output only fields.
Corresponds to the JSON property resourceStatus
58060 58061 58062 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58060 def resource_status @resource_status end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Output only. [Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
58065 58066 58067 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58065 def satisfies_pzs @satisfies_pzs end |
#scheduling_type ⇒ String
The type of maintenance for the reservation.
Corresponds to the JSON property schedulingType
58071 58072 58073 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58071 def scheduling_type @scheduling_type end |
#self_link ⇒ String
Output only. [Output Only] Server-defined fully-qualified URL for this
resource.
Corresponds to the JSON property selfLink
58077 58078 58079 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58077 def self_link @self_link end |
#self_link_with_id ⇒ String
Output only. [Output Only] Server-defined URL for this resource with the
resource id.
Corresponds to the JSON property selfLinkWithId
58083 58084 58085 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58083 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
58088 58089 58090 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58088 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
58094 58095 58096 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58094 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
58101 58102 58103 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58101 def specific_reservation_required @specific_reservation_required end |
#status ⇒ String
Output only. [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
58115 58116 58117 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58115 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
58121 58122 58123 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58121 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
58128 58129 58130 58131 58132 58133 58134 58135 58136 58137 58138 58139 58140 58141 58142 58143 58144 58145 58146 58147 58148 58149 58150 58151 58152 58153 58154 58155 58156 58157 58158 58159 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 58128 def update!(**args) @advanced_deployment_control = args[:advanced_deployment_control] if args.key?(:advanced_deployment_control) @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation) @commitment = args[:commitment] if args.key?(:commitment) @confidential_compute_type = args[:confidential_compute_type] if args.key?(:confidential_compute_type) @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) @early_access_maintenance = args[:early_access_maintenance] if args.key?(:early_access_maintenance) @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments) @name = args[:name] if args.key?(:name) @params = args[:params] if args.key?(:params) @protection_tier = args[:protection_tier] if args.key?(:protection_tier) @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode) @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) @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type) @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 |