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

com.google.api.services.compute.model.InstanceGroupManagerVersion Maven / Gradle / Ivy

There is a newer version: v1-rev20250107-2.0.0
Show newest version
/*
 * 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.compute.model;

/**
 * Model definition for InstanceGroupManagerVersion.
 *
 * 

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 Compute Engine 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 InstanceGroupManagerVersion extends com.google.api.client.json.GenericJson { /** * The URL of the instance template that is specified for this managed instance group. The group * uses this template to create new instances in the managed instance group until the `targetSize` * for this version is reached. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String instanceTemplate; /** * Name of the version. Unique among all versions in the scope of this managed instance group. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * Tag describing the version. Used to trigger rollout of a target version even if * instance_template remains unchanged. Deprecated in favor of 'name'. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String tag; /** * Specifies the intended number of instances to be created from the instanceTemplate. The final * number of instances created from the template will be equal to: - If expressed as a fixed * number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - * if expressed as a percent, the targetSize would be (targetSize.percent/100 * * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded up. If unset, * this version will update any remaining instances not updated by another version. Read Starting * a canary update for more information. * The value may be {@code null}. */ @com.google.api.client.util.Key private FixedOrPercent targetSize; /** * The URL of the instance template that is specified for this managed instance group. The group * uses this template to create new instances in the managed instance group until the `targetSize` * for this version is reached. * @return value or {@code null} for none */ public java.lang.String getInstanceTemplate() { return instanceTemplate; } /** * The URL of the instance template that is specified for this managed instance group. The group * uses this template to create new instances in the managed instance group until the `targetSize` * for this version is reached. * @param instanceTemplate instanceTemplate or {@code null} for none */ public InstanceGroupManagerVersion setInstanceTemplate(java.lang.String instanceTemplate) { this.instanceTemplate = instanceTemplate; return this; } /** * Name of the version. Unique among all versions in the scope of this managed instance group. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * Name of the version. Unique among all versions in the scope of this managed instance group. * @param name name or {@code null} for none */ public InstanceGroupManagerVersion setName(java.lang.String name) { this.name = name; return this; } /** * Tag describing the version. Used to trigger rollout of a target version even if * instance_template remains unchanged. Deprecated in favor of 'name'. * @return value or {@code null} for none */ public java.lang.String getTag() { return tag; } /** * Tag describing the version. Used to trigger rollout of a target version even if * instance_template remains unchanged. Deprecated in favor of 'name'. * @param tag tag or {@code null} for none */ public InstanceGroupManagerVersion setTag(java.lang.String tag) { this.tag = tag; return this; } /** * Specifies the intended number of instances to be created from the instanceTemplate. The final * number of instances created from the template will be equal to: - If expressed as a fixed * number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - * if expressed as a percent, the targetSize would be (targetSize.percent/100 * * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded up. If unset, * this version will update any remaining instances not updated by another version. Read Starting * a canary update for more information. * @return value or {@code null} for none */ public FixedOrPercent getTargetSize() { return targetSize; } /** * Specifies the intended number of instances to be created from the instanceTemplate. The final * number of instances created from the template will be equal to: - If expressed as a fixed * number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - * if expressed as a percent, the targetSize would be (targetSize.percent/100 * * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded up. If unset, * this version will update any remaining instances not updated by another version. Read Starting * a canary update for more information. * @param targetSize targetSize or {@code null} for none */ public InstanceGroupManagerVersion setTargetSize(FixedOrPercent targetSize) { this.targetSize = targetSize; return this; } @Override public InstanceGroupManagerVersion set(String fieldName, Object value) { return (InstanceGroupManagerVersion) super.set(fieldName, value); } @Override public InstanceGroupManagerVersion clone() { return (InstanceGroupManagerVersion) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy