Class AllocationPolicy.InstancePolicyOrTemplate.Builder (0.52.0)

public static final class AllocationPolicy.InstancePolicyOrTemplate.Builder extends GeneratedMessageV3.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder> implements AllocationPolicy.InstancePolicyOrTemplateOrBuilder

InstancePolicyOrTemplate lets you define the type of resources to use for this job either with an InstancePolicy or an instance template. If undefined, Batch picks the type of VM to use and doesn't include optional VM resources such as GPUs and extra disks.

Protobuf type google.cloud.batch.v1.AllocationPolicy.InstancePolicyOrTemplate

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
Type Description
Descriptor

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

build()

public AllocationPolicy.InstancePolicyOrTemplate build()
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate

buildPartial()

public AllocationPolicy.InstancePolicyOrTemplate buildPartial()
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate

clear()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clear()
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

clearBlockProjectSshKeys()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearBlockProjectSshKeys()

Optional. Set this field to true if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job.

Batch allows project-level SSH keys for a job's VMs only if all the following are true:

  • This field is undefined or set to false.
  • The job's VM instance template (if any) doesn't block project-level SSH keys.

    Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys

bool block_project_ssh_keys = 5 [(.google.api.field_behavior) = OPTIONAL];

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

clearField(Descriptors.FieldDescriptor field)

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
Name Description
field FieldDescriptor
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

clearInstallGpuDrivers()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearInstallGpuDrivers()

Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in policy.accelerators or instance_template on your behalf. Default is false.

For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py.

bool install_gpu_drivers = 3;

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

clearInstallOpsAgent()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearInstallOpsAgent()

Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false.

bool install_ops_agent = 4 [(.google.api.field_behavior) = OPTIONAL];

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

clearInstanceTemplate()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearInstanceTemplate()

Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict.

Batch only supports global instance templates. You can specify the global instance template as a full or partial URL.

string instance_template = 2;

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

clearOneof(Descriptors.OneofDescriptor oneof)

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
Name Description
oneof OneofDescriptor
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

clearPolicy()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearPolicy()

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

clearPolicyTemplate()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clearPolicyTemplate()
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

clone()

public AllocationPolicy.InstancePolicyOrTemplate.Builder clone()
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

getBlockProjectSshKeys()

public boolean getBlockProjectSshKeys()

Optional. Set this field to true if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job.

Batch allows project-level SSH keys for a job's VMs only if all the following are true:

  • This field is undefined or set to false.
  • The job's VM instance template (if any) doesn't block project-level SSH keys.

    Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys

bool block_project_ssh_keys = 5 [(.google.api.field_behavior) = OPTIONAL];

Returns
Type Description
boolean

The blockProjectSshKeys.

getDefaultInstanceForType()

public AllocationPolicy.InstancePolicyOrTemplate getDefaultInstanceForType()
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
Type Description
Descriptor
Overrides

getInstallGpuDrivers()

public boolean getInstallGpuDrivers()

Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in policy.accelerators or instance_template on your behalf. Default is false.

For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py.

bool install_gpu_drivers = 3;

Returns
Type Description
boolean

The installGpuDrivers.

getInstallOpsAgent()

public boolean getInstallOpsAgent()

Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false.

bool install_ops_agent = 4 [(.google.api.field_behavior) = OPTIONAL];

Returns
Type Description
boolean

The installOpsAgent.

getInstanceTemplate()

public String getInstanceTemplate()

Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict.

Batch only supports global instance templates. You can specify the global instance template as a full or partial URL.

string instance_template = 2;

Returns
Type Description
String

The instanceTemplate.

getInstanceTemplateBytes()

public ByteString getInstanceTemplateBytes()

Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict.

Batch only supports global instance templates. You can specify the global instance template as a full or partial URL.

string instance_template = 2;

Returns
Type Description
ByteString

The bytes for instanceTemplate.

getPolicy()

public AllocationPolicy.InstancePolicy getPolicy()

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Returns
Type Description
AllocationPolicy.InstancePolicy

The policy.

getPolicyBuilder()

public AllocationPolicy.InstancePolicy.Builder getPolicyBuilder()

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Returns
Type Description
AllocationPolicy.InstancePolicy.Builder

getPolicyOrBuilder()

public AllocationPolicy.InstancePolicyOrBuilder getPolicyOrBuilder()

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Returns
Type Description
AllocationPolicy.InstancePolicyOrBuilder

getPolicyTemplateCase()

public AllocationPolicy.InstancePolicyOrTemplate.PolicyTemplateCase getPolicyTemplateCase()
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.PolicyTemplateCase

hasInstanceTemplate()

public boolean hasInstanceTemplate()

Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict.

Batch only supports global instance templates. You can specify the global instance template as a full or partial URL.

string instance_template = 2;

Returns
Type Description
boolean

Whether the instanceTemplate field is set.

hasPolicy()

public boolean hasPolicy()

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Returns
Type Description
boolean

Whether the policy field is set.

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Type Description
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
Type Description
boolean
Overrides

mergeFrom(AllocationPolicy.InstancePolicyOrTemplate other)

public AllocationPolicy.InstancePolicyOrTemplate.Builder mergeFrom(AllocationPolicy.InstancePolicyOrTemplate other)
Parameter
Name Description
other AllocationPolicy.InstancePolicyOrTemplate
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public AllocationPolicy.InstancePolicyOrTemplate.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Name Description
input CodedInputStream
extensionRegistry ExtensionRegistryLite
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides
Exceptions
Type Description
IOException

mergeFrom(Message other)

public AllocationPolicy.InstancePolicyOrTemplate.Builder mergeFrom(Message other)
Parameter
Name Description
other Message
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

mergePolicy(AllocationPolicy.InstancePolicy value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder mergePolicy(AllocationPolicy.InstancePolicy value)

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Parameter
Name Description
value AllocationPolicy.InstancePolicy
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

mergeUnknownFields(UnknownFieldSet unknownFields)

public final AllocationPolicy.InstancePolicyOrTemplate.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
Name Description
unknownFields UnknownFieldSet
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

setBlockProjectSshKeys(boolean value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setBlockProjectSshKeys(boolean value)

Optional. Set this field to true if you want Batch to block project-level SSH keys from accessing this job's VMs. Alternatively, you can configure the job to specify a VM instance template that blocks project-level SSH keys. In either case, Batch blocks project-level SSH keys while creating the VMs for this job.

Batch allows project-level SSH keys for a job's VMs only if all the following are true:

  • This field is undefined or set to false.
  • The job's VM instance template (if any) doesn't block project-level SSH keys.

    Notably, you can override this behavior by manually updating a VM to block or allow project-level SSH keys. For more information about blocking project-level SSH keys, see the Compute Engine documentation: https://cloud.google.com/compute/docs/connect/restrict-ssh-keys#block-keys

bool block_project_ssh_keys = 5 [(.google.api.field_behavior) = OPTIONAL];

Parameter
Name Description
value boolean

The blockProjectSshKeys to set.

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

setField(Descriptors.FieldDescriptor field, Object value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

setInstallGpuDrivers(boolean value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setInstallGpuDrivers(boolean value)

Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in policy.accelerators or instance_template on your behalf. Default is false.

For Container-Optimized Image cases, Batch will install the accelerator driver following milestones of https://cloud.google.com/container-optimized-os/docs/release-notes. For non Container-Optimized Image cases, following https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py.

bool install_gpu_drivers = 3;

Parameter
Name Description
value boolean

The installGpuDrivers to set.

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

setInstallOpsAgent(boolean value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setInstallOpsAgent(boolean value)

Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is false.

bool install_ops_agent = 4 [(.google.api.field_behavior) = OPTIONAL];

Parameter
Name Description
value boolean

The installOpsAgent to set.

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

setInstanceTemplate(String value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setInstanceTemplate(String value)

Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict.

Batch only supports global instance templates. You can specify the global instance template as a full or partial URL.

string instance_template = 2;

Parameter
Name Description
value String

The instanceTemplate to set.

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

setInstanceTemplateBytes(ByteString value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setInstanceTemplateBytes(ByteString value)

Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict.

Batch only supports global instance templates. You can specify the global instance template as a full or partial URL.

string instance_template = 2;

Parameter
Name Description
value ByteString

The bytes for instanceTemplate to set.

Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

This builder for chaining.

setPolicy(AllocationPolicy.InstancePolicy value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setPolicy(AllocationPolicy.InstancePolicy value)

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Parameter
Name Description
value AllocationPolicy.InstancePolicy
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

setPolicy(AllocationPolicy.InstancePolicy.Builder builderForValue)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setPolicy(AllocationPolicy.InstancePolicy.Builder builderForValue)

InstancePolicy.

.google.cloud.batch.v1.AllocationPolicy.InstancePolicy policy = 1;

Parameter
Name Description
builderForValue AllocationPolicy.InstancePolicy.Builder
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder

setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

public AllocationPolicy.InstancePolicyOrTemplate.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
Parameters
Name Description
field FieldDescriptor
index int
value Object
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides

setUnknownFields(UnknownFieldSet unknownFields)

public final AllocationPolicy.InstancePolicyOrTemplate.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
Name Description
unknownFields UnknownFieldSet
Returns
Type Description
AllocationPolicy.InstancePolicyOrTemplate.Builder
Overrides