Class: Google::Apis::BatchV1::PlacementPolicy

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

Overview

PlacementPolicy describes a group placement policy for the VMs controlled by this AllocationPolicy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ PlacementPolicy

Returns a new instance of PlacementPolicy.



1913
1914
1915
# File 'lib/google/apis/batch_v1/classes.rb', line 1913

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

Instance Attribute Details

#collocationString

UNSPECIFIED vs. COLLOCATED (default UNSPECIFIED). Use COLLOCATED when you want VMs to be located close to each other for low network latency between the VMs. No placement policy will be generated when collocation is UNSPECIFIED. Corresponds to the JSON property collocation

Returns:

  • (String)


1902
1903
1904
# File 'lib/google/apis/batch_v1/classes.rb', line 1902

def collocation
  @collocation
end

#max_distanceFixnum

When specified, causes the job to fail if more than max_distance logical switches are required between VMs. Batch uses the most compact possible placement of VMs even when max_distance is not specified. An explicit max_distance makes that level of compactness a strict requirement. Not yet implemented Corresponds to the JSON property maxDistance

Returns:

  • (Fixnum)


1911
1912
1913
# File 'lib/google/apis/batch_v1/classes.rb', line 1911

def max_distance
  @max_distance
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1918
1919
1920
1921
# File 'lib/google/apis/batch_v1/classes.rb', line 1918

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