Class: Google::Apis::ComputeV1::LocationPolicy

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb

Overview

Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ LocationPolicy

Returns a new instance of LocationPolicy.



22545
22546
22547
# File 'lib/google/apis/compute_v1/classes.rb', line 22545

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

Instance Attribute Details

#locationsHash<String,Google::Apis::ComputeV1::LocationPolicyLocation>

Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us- central1-a. Corresponds to the JSON property locations



22538
22539
22540
# File 'lib/google/apis/compute_v1/classes.rb', line 22538

def locations
  @locations
end

#target_shapeString

Strategy for distributing VMs across zones in a region. Corresponds to the JSON property targetShape

Returns:

  • (String)


22543
22544
22545
# File 'lib/google/apis/compute_v1/classes.rb', line 22543

def target_shape
  @target_shape
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



22550
22551
22552
22553
# File 'lib/google/apis/compute_v1/classes.rb', line 22550

def update!(**args)
  @locations = args[:locations] if args.key?(:locations)
  @target_shape = args[:target_shape] if args.key?(:target_shape)
end