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

com.google.api.services.compute.model.MachineImage 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.compute.model;

/**
 * Represents a machine image resource. A machine image is a Compute Engine resource that stores all
 * the configuration, metadata, permissions, and data from one or more disks required to create a
 * Virtual machine (VM) instance. For more information, see Machine images.
 *
 * 

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 MachineImage extends com.google.api.client.json.GenericJson { /** * [Output Only] The creation timestamp for this machine image in RFC3339 text format. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String creationTimestamp; /** * An optional description of this resource. Provide this property when you create the resource. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String description; /** * [Input Only] Whether to attempt an application consistent machine image by informing the OS to * prepare for the snapshot process. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean guestFlush; /** * [Output Only] A unique identifier for this machine image. The server defines this identifier. * The value may be {@code null}. */ @com.google.api.client.util.Key @com.google.api.client.json.JsonString private java.math.BigInteger id; /** * [Output Only] Properties of source instance * The value may be {@code null}. */ @com.google.api.client.util.Key private InstanceProperties instanceProperties; /** * [Output Only] The resource type, which is always compute#machineImage for machine image. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String kind; /** * Encrypts the machine image using a customer-supplied encryption key. After you encrypt a * machine image using a customer-supplied key, you must provide the same key if you use the * machine image later. For example, you must provide the encryption key when you create an * instance from the encrypted machine image in a future request. Customer-supplied encryption * keys do not protect access to metadata of the machine image. If you do not provide an * encryption key when creating the machine image, then the machine image will be encrypted using * an automatically generated key and you do not need to provide a key to use the machine image * later. * The value may be {@code null}. */ @com.google.api.client.util.Key private CustomerEncryptionKey machineImageEncryptionKey; /** * Name of the resource; provided by the client when the resource is created. The name must be * 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first * character must be a lowercase letter, and all following characters must be a dash, lowercase * letter, or digit, except the last character, which cannot be a dash. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * [Output Only] Reserved for future use. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean satisfiesPzs; /** * An array of Machine Image specific properties for disks attached to the source instance * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List savedDisks; /** * [Output Only] The URL for this machine image. The server defines this URL. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String selfLink; /** * [Input Only] The customer-supplied encryption key of the disks attached to the source instance. * Required if the source disk is protected by a customer-supplied encryption key. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List sourceDiskEncryptionKeys; /** * The source instance used to create the machine image. You can provide this as a partial or full * URL to the resource. For example, the following are valid values: - * https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - * projects/project/zones/zone/instances/instance * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String sourceInstance; /** * [Output Only] DEPRECATED: Please use instance_properties instead for source instance related * properties. New properties will not be added to this field. * The value may be {@code null}. */ @com.google.api.client.util.Key private SourceInstanceProperties sourceInstanceProperties; /** * [Output Only] The status of the machine image. One of the following values: INVALID, CREATING, * READY, DELETING, and UPLOADING. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String status; /** * The regional or multi-regional Cloud Storage bucket location where the machine image is stored. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List storageLocations; /** * [Output Only] Total size of the storage used by the machine image. * The value may be {@code null}. */ @com.google.api.client.util.Key @com.google.api.client.json.JsonString private java.lang.Long totalStorageBytes; /** * [Output Only] The creation timestamp for this machine image in RFC3339 text format. * @return value or {@code null} for none */ public java.lang.String getCreationTimestamp() { return creationTimestamp; } /** * [Output Only] The creation timestamp for this machine image in RFC3339 text format. * @param creationTimestamp creationTimestamp or {@code null} for none */ public MachineImage setCreationTimestamp(java.lang.String creationTimestamp) { this.creationTimestamp = creationTimestamp; return this; } /** * An optional description of this resource. Provide this property when you create the resource. * @return value or {@code null} for none */ public java.lang.String getDescription() { return description; } /** * An optional description of this resource. Provide this property when you create the resource. * @param description description or {@code null} for none */ public MachineImage setDescription(java.lang.String description) { this.description = description; return this; } /** * [Input Only] Whether to attempt an application consistent machine image by informing the OS to * prepare for the snapshot process. * @return value or {@code null} for none */ public java.lang.Boolean getGuestFlush() { return guestFlush; } /** * [Input Only] Whether to attempt an application consistent machine image by informing the OS to * prepare for the snapshot process. * @param guestFlush guestFlush or {@code null} for none */ public MachineImage setGuestFlush(java.lang.Boolean guestFlush) { this.guestFlush = guestFlush; return this; } /** * [Output Only] A unique identifier for this machine image. The server defines this identifier. * @return value or {@code null} for none */ public java.math.BigInteger getId() { return id; } /** * [Output Only] A unique identifier for this machine image. The server defines this identifier. * @param id id or {@code null} for none */ public MachineImage setId(java.math.BigInteger id) { this.id = id; return this; } /** * [Output Only] Properties of source instance * @return value or {@code null} for none */ public InstanceProperties getInstanceProperties() { return instanceProperties; } /** * [Output Only] Properties of source instance * @param instanceProperties instanceProperties or {@code null} for none */ public MachineImage setInstanceProperties(InstanceProperties instanceProperties) { this.instanceProperties = instanceProperties; return this; } /** * [Output Only] The resource type, which is always compute#machineImage for machine image. * @return value or {@code null} for none */ public java.lang.String getKind() { return kind; } /** * [Output Only] The resource type, which is always compute#machineImage for machine image. * @param kind kind or {@code null} for none */ public MachineImage setKind(java.lang.String kind) { this.kind = kind; return this; } /** * Encrypts the machine image using a customer-supplied encryption key. After you encrypt a * machine image using a customer-supplied key, you must provide the same key if you use the * machine image later. For example, you must provide the encryption key when you create an * instance from the encrypted machine image in a future request. Customer-supplied encryption * keys do not protect access to metadata of the machine image. If you do not provide an * encryption key when creating the machine image, then the machine image will be encrypted using * an automatically generated key and you do not need to provide a key to use the machine image * later. * @return value or {@code null} for none */ public CustomerEncryptionKey getMachineImageEncryptionKey() { return machineImageEncryptionKey; } /** * Encrypts the machine image using a customer-supplied encryption key. After you encrypt a * machine image using a customer-supplied key, you must provide the same key if you use the * machine image later. For example, you must provide the encryption key when you create an * instance from the encrypted machine image in a future request. Customer-supplied encryption * keys do not protect access to metadata of the machine image. If you do not provide an * encryption key when creating the machine image, then the machine image will be encrypted using * an automatically generated key and you do not need to provide a key to use the machine image * later. * @param machineImageEncryptionKey machineImageEncryptionKey or {@code null} for none */ public MachineImage setMachineImageEncryptionKey(CustomerEncryptionKey machineImageEncryptionKey) { this.machineImageEncryptionKey = machineImageEncryptionKey; return this; } /** * Name of the resource; provided by the client when the resource is created. The name must be * 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first * character must be a lowercase letter, and all following characters must be a dash, lowercase * letter, or digit, except the last character, which cannot be a dash. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * Name of the resource; provided by the client when the resource is created. The name must be * 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first * character must be a lowercase letter, and all following characters must be a dash, lowercase * letter, or digit, except the last character, which cannot be a dash. * @param name name or {@code null} for none */ public MachineImage setName(java.lang.String name) { this.name = name; return this; } /** * [Output Only] Reserved for future use. * @return value or {@code null} for none */ public java.lang.Boolean getSatisfiesPzs() { return satisfiesPzs; } /** * [Output Only] Reserved for future use. * @param satisfiesPzs satisfiesPzs or {@code null} for none */ public MachineImage setSatisfiesPzs(java.lang.Boolean satisfiesPzs) { this.satisfiesPzs = satisfiesPzs; return this; } /** * An array of Machine Image specific properties for disks attached to the source instance * @return value or {@code null} for none */ public java.util.List getSavedDisks() { return savedDisks; } /** * An array of Machine Image specific properties for disks attached to the source instance * @param savedDisks savedDisks or {@code null} for none */ public MachineImage setSavedDisks(java.util.List savedDisks) { this.savedDisks = savedDisks; return this; } /** * [Output Only] The URL for this machine image. The server defines this URL. * @return value or {@code null} for none */ public java.lang.String getSelfLink() { return selfLink; } /** * [Output Only] The URL for this machine image. The server defines this URL. * @param selfLink selfLink or {@code null} for none */ public MachineImage setSelfLink(java.lang.String selfLink) { this.selfLink = selfLink; return this; } /** * [Input Only] The customer-supplied encryption key of the disks attached to the source instance. * Required if the source disk is protected by a customer-supplied encryption key. * @return value or {@code null} for none */ public java.util.List getSourceDiskEncryptionKeys() { return sourceDiskEncryptionKeys; } /** * [Input Only] The customer-supplied encryption key of the disks attached to the source instance. * Required if the source disk is protected by a customer-supplied encryption key. * @param sourceDiskEncryptionKeys sourceDiskEncryptionKeys or {@code null} for none */ public MachineImage setSourceDiskEncryptionKeys(java.util.List sourceDiskEncryptionKeys) { this.sourceDiskEncryptionKeys = sourceDiskEncryptionKeys; return this; } /** * The source instance used to create the machine image. You can provide this as a partial or full * URL to the resource. For example, the following are valid values: - * https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - * projects/project/zones/zone/instances/instance * @return value or {@code null} for none */ public java.lang.String getSourceInstance() { return sourceInstance; } /** * The source instance used to create the machine image. You can provide this as a partial or full * URL to the resource. For example, the following are valid values: - * https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - * projects/project/zones/zone/instances/instance * @param sourceInstance sourceInstance or {@code null} for none */ public MachineImage setSourceInstance(java.lang.String sourceInstance) { this.sourceInstance = sourceInstance; return this; } /** * [Output Only] DEPRECATED: Please use instance_properties instead for source instance related * properties. New properties will not be added to this field. * @return value or {@code null} for none */ public SourceInstanceProperties getSourceInstanceProperties() { return sourceInstanceProperties; } /** * [Output Only] DEPRECATED: Please use instance_properties instead for source instance related * properties. New properties will not be added to this field. * @param sourceInstanceProperties sourceInstanceProperties or {@code null} for none */ public MachineImage setSourceInstanceProperties(SourceInstanceProperties sourceInstanceProperties) { this.sourceInstanceProperties = sourceInstanceProperties; return this; } /** * [Output Only] The status of the machine image. One of the following values: INVALID, CREATING, * READY, DELETING, and UPLOADING. * @return value or {@code null} for none */ public java.lang.String getStatus() { return status; } /** * [Output Only] The status of the machine image. One of the following values: INVALID, CREATING, * READY, DELETING, and UPLOADING. * @param status status or {@code null} for none */ public MachineImage setStatus(java.lang.String status) { this.status = status; return this; } /** * The regional or multi-regional Cloud Storage bucket location where the machine image is stored. * @return value or {@code null} for none */ public java.util.List getStorageLocations() { return storageLocations; } /** * The regional or multi-regional Cloud Storage bucket location where the machine image is stored. * @param storageLocations storageLocations or {@code null} for none */ public MachineImage setStorageLocations(java.util.List storageLocations) { this.storageLocations = storageLocations; return this; } /** * [Output Only] Total size of the storage used by the machine image. * @return value or {@code null} for none */ public java.lang.Long getTotalStorageBytes() { return totalStorageBytes; } /** * [Output Only] Total size of the storage used by the machine image. * @param totalStorageBytes totalStorageBytes or {@code null} for none */ public MachineImage setTotalStorageBytes(java.lang.Long totalStorageBytes) { this.totalStorageBytes = totalStorageBytes; return this; } @Override public MachineImage set(String fieldName, Object value) { return (MachineImage) super.set(fieldName, value); } @Override public MachineImage clone() { return (MachineImage) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy