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] 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.
-
#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] The unique identifier for the resource.
-
#kind ⇒ String
[Output Only] Type of the resource.
-
#linked_commitments ⇒ Array<String>
[Output Only] Full or partial URL to parent commitments.
-
#name ⇒ String
The name of the resource, provided by the client when initially creating the resource.
-
#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] Indicates the reservation mode of the reservation.
-
#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.
-
#scheduling_type ⇒ String
The type of maintenance for the reservation.
-
#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.
50326 50327 50328 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50326 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
50162 50163 50164 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50162 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
50169 50170 50171 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50169 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
50175 50176 50177 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50175 def commitment @commitment end |
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
Corresponds to the JSON property creationTimestamp
50180 50181 50182 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50180 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
50188 50189 50190 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50188 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
50194 50195 50196 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50194 def delete_at_time @delete_at_time end |
#deployment_type ⇒ String
Specifies the deployment strategy for this reservation.
Corresponds to the JSON property deploymentType
50199 50200 50201 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50199 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
50205 50206 50207 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50205 def description @description 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
50211 50212 50213 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50211 def enable_emergent_maintenance @enable_emergent_maintenance end |
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource. This identifier is
defined by the server.
Corresponds to the JSON property id
50218 50219 50220 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50218 def id @id end |
#kind ⇒ String
[Output Only] Type of the resource. Always compute#reservations for
reservations.
Corresponds to the JSON property kind
50224 50225 50226 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50224 def kind @kind end |
#linked_commitments ⇒ Array<String>
[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
50230 50231 50232 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50230 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 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
50241 50242 50243 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50241 def name @name 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
50248 50249 50250 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50248 def protection_tier @protection_tier end |
#reservation_mode ⇒ String
[Output only] Indicates the reservation mode of the reservation.
Corresponds to the JSON property reservationMode
50253 50254 50255 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50253 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
50259 50260 50261 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50259 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
50266 50267 50268 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50266 def resource_policies @resource_policies end |
#resource_status ⇒ Google::Apis::ComputeAlpha::AllocationResourceStatus
[Output Only] Contains output only fields.
Corresponds to the JSON property resourceStatus
50271 50272 50273 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50271 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
50276 50277 50278 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50276 def satisfies_pzs @satisfies_pzs end |
#scheduling_type ⇒ String
The type of maintenance for the reservation.
Corresponds to the JSON property schedulingType
50282 50283 50284 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50282 def scheduling_type @scheduling_type end |
#self_link ⇒ String
[Output Only] Server-defined fully-qualified URL for this resource.
Corresponds to the JSON property selfLink
50287 50288 50289 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50287 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
50292 50293 50294 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50292 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
50297 50298 50299 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50297 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
50302 50303 50304 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50302 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
50309 50310 50311 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50309 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
50318 50319 50320 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50318 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
50324 50325 50326 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50324 def zone @zone end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
50331 50332 50333 50334 50335 50336 50337 50338 50339 50340 50341 50342 50343 50344 50345 50346 50347 50348 50349 50350 50351 50352 50353 50354 50355 50356 50357 50358 50359 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 50331 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) @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) @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) @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 |