Class AllocationPolicy.InstancePolicyOrTemplate.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder>
com.google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicyOrTemplate.Builder
All Implemented Interfaces:
AllocationPolicy.InstancePolicyOrTemplateOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
AllocationPolicy.InstancePolicyOrTemplate

public static final class AllocationPolicy.InstancePolicyOrTemplate.Builder extends com.google.protobuf.GeneratedMessage.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.v1alpha.AllocationPolicy.InstancePolicyOrTemplate
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder>
    • getDefaultInstanceForType

      public AllocationPolicy.InstancePolicyOrTemplate getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public AllocationPolicy.InstancePolicyOrTemplate.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder>
    • mergeFrom

      public AllocationPolicy.InstancePolicyOrTemplate.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AllocationPolicy.InstancePolicyOrTemplate.Builder>
      Throws:
      IOException
    • getPolicyTemplateCase

      Specified by:
      getPolicyTemplateCase in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
    • clearPolicyTemplate

    • hasPolicy

      public boolean hasPolicy()
       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
      Specified by:
      hasPolicy in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      Whether the policy field is set.
    • getPolicy

      public AllocationPolicy.InstancePolicy getPolicy()
       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
      Specified by:
      getPolicy in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      The policy.
    • setPolicy

       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
    • setPolicy

       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
    • mergePolicy

       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
    • clearPolicy

       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
    • getPolicyBuilder

      public AllocationPolicy.InstancePolicy.Builder getPolicyBuilder()
       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
    • getPolicyOrBuilder

      public AllocationPolicy.InstancePolicyOrBuilder getPolicyOrBuilder()
       InstancePolicy.
       
      .google.cloud.batch.v1alpha.AllocationPolicy.InstancePolicy policy = 1;
      Specified by:
      getPolicyOrBuilder in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
    • 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 from the same project as
       the job.
       You can specify the global instance template as a full or partial URL.
       
      string instance_template = 2;
      Specified by:
      hasInstanceTemplate in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      Whether the instanceTemplate field is set.
    • 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 from the same project as
       the job.
       You can specify the global instance template as a full or partial URL.
       
      string instance_template = 2;
      Specified by:
      getInstanceTemplate in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      The instanceTemplate.
    • getInstanceTemplateBytes

      public com.google.protobuf.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 from the same project as
       the job.
       You can specify the global instance template as a full or partial URL.
       
      string instance_template = 2;
      Specified by:
      getInstanceTemplateBytes in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      The bytes for instanceTemplate.
    • setInstanceTemplate

      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 from the same project as
       the job.
       You can specify the global instance template as a full or partial URL.
       
      string instance_template = 2;
      Parameters:
      value - The instanceTemplate to set.
      Returns:
      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 from the same project as
       the job.
       You can specify the global instance template as a full or partial URL.
       
      string instance_template = 2;
      Returns:
      This builder for chaining.
    • setInstanceTemplateBytes

      public AllocationPolicy.InstancePolicyOrTemplate.Builder setInstanceTemplateBytes(com.google.protobuf.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 from the same project as
       the job.
       You can specify the global instance template as a full or partial URL.
       
      string instance_template = 2;
      Parameters:
      value - The bytes for instanceTemplate to set.
      Returns:
      This builder for chaining.
    • 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;
      Specified by:
      getInstallGpuDrivers in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      The installGpuDrivers.
    • setInstallGpuDrivers

      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;
      Parameters:
      value - The installGpuDrivers to set.
      Returns:
      This builder for chaining.
    • 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:
      This builder for chaining.
    • 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];
      Specified by:
      getInstallOpsAgent in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      The installOpsAgent.
    • setInstallOpsAgent

      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];
      Parameters:
      value - The installOpsAgent to set.
      Returns:
      This builder for chaining.
    • 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:
      This builder for chaining.
    • 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];
      Specified by:
      getBlockProjectSshKeys in interface AllocationPolicy.InstancePolicyOrTemplateOrBuilder
      Returns:
      The blockProjectSshKeys.
    • setBlockProjectSshKeys

      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];
      Parameters:
      value - The blockProjectSshKeys to set.
      Returns:
      This builder for chaining.
    • 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:
      This builder for chaining.