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.



1997
1998
1999
# File 'lib/google/apis/batch_v1/classes.rb', line 1997

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)


1986
1987
1988
# File 'lib/google/apis/batch_v1/classes.rb', line 1986

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)


1995
1996
1997
# File 'lib/google/apis/batch_v1/classes.rb', line 1995

def max_distance
  @max_distance
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2002
2003
2004
2005
# File 'lib/google/apis/batch_v1/classes.rb', line 2002

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