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.



649
650
651
# File 'lib/google/apis/batch_v1/classes.rb', line 649

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



610
611
612
# File 'lib/google/apis/batch_v1/classes.rb', line 610

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>)


619
620
621
# File 'lib/google/apis/batch_v1/classes.rb', line 619

def labels
  @labels
end

#locationGoogle::Apis::BatchV1::LocationPolicy

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



624
625
626
# File 'lib/google/apis/batch_v1/classes.rb', line 624

def location
  @location
end

#networkGoogle::Apis::BatchV1::NetworkPolicy

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



629
630
631
# File 'lib/google/apis/batch_v1/classes.rb', line 629

def network
  @network
end

#placementGoogle::Apis::BatchV1::PlacementPolicy

PlacementPolicy describes a group placement policy for the VMs controlled by this AllocationPolicy. Corresponds to the JSON property placement



635
636
637
# File 'lib/google/apis/batch_v1/classes.rb', line 635

def placement
  @placement
end

#service_accountGoogle::Apis::BatchV1::ServiceAccount

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



640
641
642
# File 'lib/google/apis/batch_v1/classes.rb', line 640

def 
  @service_account
end

#tagsArray<String>

Optional. Tags applied to the VM instances. The tags identify valid sources or targets for network firewalls. Each tag must be 1-63 characters long, and comply with RFC1035. Corresponds to the JSON property tags

Returns:

  • (Array<String>)


647
648
649
# File 'lib/google/apis/batch_v1/classes.rb', line 647

def tags
  @tags
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



654
655
656
657
658
659
660
661
662
# File 'lib/google/apis/batch_v1/classes.rb', line 654

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)
  @placement = args[:placement] if args.key?(:placement)
  @service_account = args[:service_account] if args.key?(:service_account)
  @tags = args[:tags] if args.key?(:tags)
end