Class: Google::Apis::BatchV1::AllocationPolicy

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

A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AllocationPolicy

Returns a new instance of AllocationPolicy.



334
335
336
# File 'lib/google/apis/batch_v1/classes.rb', line 334

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

Instance Attribute Details

#instancesArray<Google::Apis::BatchV1::InstancePolicyOrTemplate>

Describe instances that can be created by this AllocationPolicy. Only instances[0] is supported now. Corresponds to the JSON property instances



308
309
310
# File 'lib/google/apis/batch_v1/classes.rb', line 308

def instances
  @instances
end

#labelsHash<String,String>

Labels applied to all VM instances and other resources created by AllocationPolicy. Labels could be user provided or system generated. You can assign up to 64 labels. Google Compute Engine label restrictions apply. Label names that start with "goog-" or "google-" are reserved. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


317
318
319
# File 'lib/google/apis/batch_v1/classes.rb', line 317

def labels
  @labels
end

#locationGoogle::Apis::BatchV1::LocationPolicy

Location where compute resources should be allocated for the Job. Corresponds to the JSON property location



322
323
324
# File 'lib/google/apis/batch_v1/classes.rb', line 322

def location
  @location
end

#networkGoogle::Apis::BatchV1::NetworkPolicy

NetworkPolicy describes VM instance network configurations. Corresponds to the JSON property network



327
328
329
# File 'lib/google/apis/batch_v1/classes.rb', line 327

def network
  @network
end

#service_accountGoogle::Apis::BatchV1::ServiceAccount

Carries information about a Google Cloud service account. Corresponds to the JSON property serviceAccount



332
333
334
# File 'lib/google/apis/batch_v1/classes.rb', line 332

def 
  @service_account
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



339
340
341
342
343
344
345
# File 'lib/google/apis/batch_v1/classes.rb', line 339

def update!(**args)
  @instances = args[:instances] if args.key?(:instances)
  @labels = args[:labels] if args.key?(:labels)
  @location = args[:location] if args.key?(:location)
  @network = args[:network] if args.key?(:network)
  @service_account = args[:service_account] if args.key?(:service_account)
end