Class: Google::Apis::ComputeAlpha::FutureResourcesSpec

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

Overview

Specification of resources to be created at some time in the future within an optionally specified set of locations, and within the specified time range.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ FutureResourcesSpec

Returns a new instance of FutureResourcesSpec.



17743
17744
17745
# File 'lib/google/apis/compute_alpha/classes.rb', line 17743

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

Instance Attribute Details

#deployment_typeString

Indicates if the reservation allocation strategy is static (DENSE) or dynamic (STANDARD). Defaults to DENSE. Corresponds to the JSON property deploymentType

Returns:

  • (String)


17724
17725
17726
# File 'lib/google/apis/compute_alpha/classes.rb', line 17724

def deployment_type
  @deployment_type
end

#location_policyGoogle::Apis::ComputeAlpha::FutureResourcesSpecLocationPolicy

Specification of locations to create resources in. Corresponds to the JSON property locationPolicy



17729
17730
17731
# File 'lib/google/apis/compute_alpha/classes.rb', line 17729

def location_policy
  @location_policy
end

#target_resourcesGoogle::Apis::ComputeAlpha::FutureResourcesSpecTargetResources

Specification of reserved resources. Corresponds to the JSON property targetResources



17734
17735
17736
# File 'lib/google/apis/compute_alpha/classes.rb', line 17734

def target_resources
  @target_resources
end

#time_range_specGoogle::Apis::ComputeAlpha::FlexibleTimeRange

Specifies a flexible time range with flexible start time and duration. It is possible to specify a contradictory time range that cannot be matched by any Interval. This causes a validation error. Corresponds to the JSON property timeRangeSpec



17741
17742
17743
# File 'lib/google/apis/compute_alpha/classes.rb', line 17741

def time_range_spec
  @time_range_spec
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



17748
17749
17750
17751
17752
17753
# File 'lib/google/apis/compute_alpha/classes.rb', line 17748

def update!(**args)
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
  @location_policy = args[:location_policy] if args.key?(:location_policy)
  @target_resources = args[:target_resources] if args.key?(:target_resources)
  @time_range_spec = args[:time_range_spec] if args.key?(:time_range_spec)
end