All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.batch.v1.model.InstancePolicyOrTemplate Maven / Gradle / Ivy

/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.batch.v1.model;

/**
 * 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.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Batch API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class InstancePolicyOrTemplate extends com.google.api.client.json.GenericJson { /** * 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 * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean blockProjectSshKeys; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean installGpuDrivers; /** * Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is * false. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean installOpsAgent; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String instanceTemplate; /** * InstancePolicy. * The value may be {@code null}. */ @com.google.api.client.util.Key private InstancePolicy policy; /** * 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 * @return value or {@code null} for none */ public java.lang.Boolean getBlockProjectSshKeys() { return blockProjectSshKeys; } /** * 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 * @param blockProjectSshKeys blockProjectSshKeys or {@code null} for none */ public InstancePolicyOrTemplate setBlockProjectSshKeys(java.lang.Boolean blockProjectSshKeys) { this.blockProjectSshKeys = blockProjectSshKeys; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Boolean getInstallGpuDrivers() { return installGpuDrivers; } /** * 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. * @param installGpuDrivers installGpuDrivers or {@code null} for none */ public InstancePolicyOrTemplate setInstallGpuDrivers(java.lang.Boolean installGpuDrivers) { this.installGpuDrivers = installGpuDrivers; return this; } /** * Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is * false. * @return value or {@code null} for none */ public java.lang.Boolean getInstallOpsAgent() { return installOpsAgent; } /** * Optional. Set this field true if you want Batch to install Ops Agent on your behalf. Default is * false. * @param installOpsAgent installOpsAgent or {@code null} for none */ public InstancePolicyOrTemplate setInstallOpsAgent(java.lang.Boolean installOpsAgent) { this.installOpsAgent = installOpsAgent; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getInstanceTemplate() { return instanceTemplate; } /** * 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. * @param instanceTemplate instanceTemplate or {@code null} for none */ public InstancePolicyOrTemplate setInstanceTemplate(java.lang.String instanceTemplate) { this.instanceTemplate = instanceTemplate; return this; } /** * InstancePolicy. * @return value or {@code null} for none */ public InstancePolicy getPolicy() { return policy; } /** * InstancePolicy. * @param policy policy or {@code null} for none */ public InstancePolicyOrTemplate setPolicy(InstancePolicy policy) { this.policy = policy; return this; } @Override public InstancePolicyOrTemplate set(String fieldName, Object value) { return (InstancePolicyOrTemplate) super.set(fieldName, value); } @Override public InstancePolicyOrTemplate clone() { return (InstancePolicyOrTemplate) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy