Class: Google::Apis::ComputeAlpha::FutureReservation

Inherits:
Object
  • Object
show all
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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ FutureReservation

Returns a new instance of FutureReservation.



12315
12316
12317
# File 'lib/google/apis/compute_alpha/classes.rb', line 12315

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#auto_created_reservations_delete_timeString

Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href="https://www.ietf. org/rfc/rfc3339.txt">RFC3339 value. Corresponds to the JSON property autoCreatedReservationsDeleteTime

Returns:

  • (String)


12165
12166
12167
# File 'lib/google/apis/compute_alpha/classes.rb', line 12165

def auto_created_reservations_delete_time
  @auto_created_reservations_delete_time
end

#auto_created_reservations_durationGoogle::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 autoCreatedReservationsDuration



12173
12174
12175
# File 'lib/google/apis/compute_alpha/classes.rb', line 12173

def auto_created_reservations_duration
  @auto_created_reservations_duration
end

#auto_delete_auto_created_reservationsBoolean Also known as: auto_delete_auto_created_reservations?

Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto- created reservation indefinitely, this value should be set to false. Corresponds to the JSON property autoDeleteAutoCreatedReservations

Returns:

  • (Boolean)


12183
12184
12185
# File 'lib/google/apis/compute_alpha/classes.rb', line 12183

def auto_delete_auto_created_reservations
  @auto_delete_auto_created_reservations
end

#commitment_infoGoogle::Apis::ComputeAlpha::FutureReservationCommitmentInfo

If not present, then FR will not deliver a new commitment or update an existing commitment. Corresponds to the JSON property commitmentInfo



12190
12191
12192
# File 'lib/google/apis/compute_alpha/classes.rb', line 12190

def commitment_info
  @commitment_info
end

#creation_timestampString

[Output Only] The creation timestamp for this future reservation in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


12196
12197
12198
# File 'lib/google/apis/compute_alpha/classes.rb', line 12196

def creation_timestamp
  @creation_timestamp
end

#deployment_typeString

Type of the deployment requested as part of future reservation. Corresponds to the JSON property deploymentType

Returns:

  • (String)


12201
12202
12203
# File 'lib/google/apis/compute_alpha/classes.rb', line 12201

def deployment_type
  @deployment_type
end

#descriptionString

An optional description of this resource. Provide this property when you create the future reservation. Corresponds to the JSON property description

Returns:

  • (String)


12207
12208
12209
# File 'lib/google/apis/compute_alpha/classes.rb', line 12207

def description
  @description
end

#enable_opportunistic_maintenanceBoolean Also known as: enable_opportunistic_maintenance?

Indicates if this group of VMs have opportunistic maintenance enabled. This will be set on the FR by customers, and will be used for reservation and reservation block maintenance . Corresponds to the JSON property enableOpportunisticMaintenance

Returns:

  • (Boolean)


12214
12215
12216
# File 'lib/google/apis/compute_alpha/classes.rb', line 12214

def enable_opportunistic_maintenance
  @enable_opportunistic_maintenance
end

#idFixnum

[Output Only] A unique identifier for this future reservation. The server defines this identifier. Corresponds to the JSON property id

Returns:

  • (Fixnum)


12221
12222
12223
# File 'lib/google/apis/compute_alpha/classes.rb', line 12221

def id
  @id
end

#instance_termination_actionString

Action to take during reservation termination. Corresponds to the JSON property instanceTerminationAction

Returns:

  • (String)


12226
12227
12228
# File 'lib/google/apis/compute_alpha/classes.rb', line 12226

def instance_termination_action
  @instance_termination_action
end

#kindString

[Output Only] Type of the resource. Always compute#futureReservation for future reservations. Corresponds to the JSON property kind

Returns:

  • (String)


12232
12233
12234
# File 'lib/google/apis/compute_alpha/classes.rb', line 12232

def kind
  @kind
end

#nameString

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

Returns:

  • (String)


12243
12244
12245
# File 'lib/google/apis/compute_alpha/classes.rb', line 12243

def name
  @name
end

#name_prefixString

Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. Corresponds to the JSON property namePrefix

Returns:

  • (String)


12250
12251
12252
# File 'lib/google/apis/compute_alpha/classes.rb', line 12250

def name_prefix
  @name_prefix
end

#planning_statusString

Planning state before being submitted for evaluation Corresponds to the JSON property planningStatus

Returns:

  • (String)


12255
12256
12257
# File 'lib/google/apis/compute_alpha/classes.rb', line 12255

def planning_status
  @planning_status
end

#reservation_nameString

Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix. Corresponds to the JSON property reservationName

Returns:

  • (String)


12264
12265
12266
# File 'lib/google/apis/compute_alpha/classes.rb', line 12264

def reservation_name
  @reservation_name
end

#scheduling_typeString

Maintenance information for this reservation Corresponds to the JSON property schedulingType

Returns:

  • (String)


12269
12270
12271
# File 'lib/google/apis/compute_alpha/classes.rb', line 12269

def scheduling_type
  @scheduling_type
end

[Output Only] Server-defined fully-qualified URL for this resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


12274
12275
12276
# File 'lib/google/apis/compute_alpha/classes.rb', line 12274

def self_link
  @self_link
end

[Output Only] Server-defined URL for this resource with the resource id. Corresponds to the JSON property selfLinkWithId

Returns:

  • (String)


12279
12280
12281
# File 'lib/google/apis/compute_alpha/classes.rb', line 12279

def self_link_with_id
  @self_link_with_id
end

#share_settingsGoogle::Apis::ComputeAlpha::ShareSettings

The share setting for reservations and sole tenancy node groups. Corresponds to the JSON property shareSettings



12284
12285
12286
# File 'lib/google/apis/compute_alpha/classes.rb', line 12284

def share_settings
  @share_settings
end

#specific_reservation_requiredBoolean Also known as: specific_reservation_required?

Indicates whether the auto-created 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 the delivered reservation. Corresponds to the JSON property specificReservationRequired

Returns:

  • (Boolean)


12291
12292
12293
# File 'lib/google/apis/compute_alpha/classes.rb', line 12291

def specific_reservation_required
  @specific_reservation_required
end

#specific_sku_propertiesGoogle::Apis::ComputeAlpha::FutureReservationSpecificSkuProperties

Future Reservation configuration to indicate instance properties and total count. Corresponds to the JSON property specificSkuProperties



12298
12299
12300
# File 'lib/google/apis/compute_alpha/classes.rb', line 12298

def specific_sku_properties
  @specific_sku_properties
end

#statusGoogle::Apis::ComputeAlpha::FutureReservationStatus

[Output only] Represents status related to the future reservation. Corresponds to the JSON property status



12303
12304
12305
# File 'lib/google/apis/compute_alpha/classes.rb', line 12303

def status
  @status
end

#time_windowGoogle::Apis::ComputeAlpha::FutureReservationTimeWindow

Time window for this Future Reservation. Corresponds to the JSON property timeWindow



12308
12309
12310
# File 'lib/google/apis/compute_alpha/classes.rb', line 12308

def time_window
  @time_window
end

#zoneString

[Output Only] URL of the Zone where this future reservation resides. Corresponds to the JSON property zone

Returns:

  • (String)


12313
12314
12315
# File 'lib/google/apis/compute_alpha/classes.rb', line 12313

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
# File 'lib/google/apis/compute_alpha/classes.rb', line 12320

def update!(**args)
  @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
  @commitment_info = args[:commitment_info] if args.key?(:commitment_info)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
  @description = args[:description] if args.key?(:description)
  @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
  @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)
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
  @planning_status = args[:planning_status] if args.key?(:planning_status)
  @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
  @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_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
  @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
  @status = args[:status] if args.key?(:status)
  @time_window = args[:time_window] if args.key?(:time_window)
  @zone = args[:zone] if args.key?(:zone)
end