com.google.api.services.backupdr.v1.model.ComputeInstanceBackupProperties 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.backupdr.v1.model;
/**
* ComputeInstanceBackupProperties represents Compute Engine instance backup properties.
*
* 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 Backup and DR Service 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 ComputeInstanceBackupProperties extends com.google.api.client.json.GenericJson {
/**
* Enables instances created based on these properties to send packets with source IP addresses
* other than their own and receive packets with destination IP addresses other than their own. If
* these instances will be used as an IP gateway or it will be set as the next-hop in a Route
* resource, specify `true`. If unsure, leave this set to `false`. See the
* https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean canIpForward;
/**
* An optional text description for the instances that are created from these properties.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String description;
/**
* An array of disks that are associated with the instances that are created from these
* properties.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List disk;
static {
// hack to force ProGuard to consider AttachedDisk used, since otherwise it would be stripped out
// see https://github.com/google/google-api-java-client/issues/543
com.google.api.client.util.Data.nullOf(AttachedDisk.class);
}
/**
* A list of guest accelerator cards' type and count to use for instances created from these
* properties.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List guestAccelerator;
static {
// hack to force ProGuard to consider AcceleratorConfig used, since otherwise it would be stripped out
// see https://github.com/google/google-api-java-client/issues/543
com.google.api.client.util.Data.nullOf(AcceleratorConfig.class);
}
/**
* KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default
* value is "NONE" if it is not specified.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String keyRevocationActionType;
/**
* The machine type to use for instances that are created from these properties.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String machineType;
/**
* The metadata key/value pairs to assign to instances that are created from these properties.
* These pairs can consist of custom metadata or predefined keys. See
* https://cloud.google.com/compute/docs/metadata/overview for more information.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Metadata metadata;
/**
* Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or
* newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as
* `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information,
* read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String minCpuPlatform;
/**
* An array of network access configurations for this interface.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List networkInterface;
/**
* Specifies the scheduling options for the instances that are created from these properties.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Scheduling scheduling;
/**
* A list of service accounts with specified scopes. Access tokens for these service accounts are
* available to the instances that are created from these properties. Use metadata queries to
* obtain the access tokens for these instances.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List serviceAccount;
/**
* The source instance used to create this backup. This can be 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;
/**
* A list of tags to apply to the instances that are created from these properties. The tags
* identify valid sources or targets for network firewalls. The setTags method can modify this
* list of tags. Each tag within the list must comply with RFC1035
* (https://www.ietf.org/rfc/rfc1035.txt).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Tags tags;
/**
* Enables instances created based on these properties to send packets with source IP addresses
* other than their own and receive packets with destination IP addresses other than their own. If
* these instances will be used as an IP gateway or it will be set as the next-hop in a Route
* resource, specify `true`. If unsure, leave this set to `false`. See the
* https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.
* @return value or {@code null} for none
*/
public java.lang.Boolean getCanIpForward() {
return canIpForward;
}
/**
* Enables instances created based on these properties to send packets with source IP addresses
* other than their own and receive packets with destination IP addresses other than their own. If
* these instances will be used as an IP gateway or it will be set as the next-hop in a Route
* resource, specify `true`. If unsure, leave this set to `false`. See the
* https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.
* @param canIpForward canIpForward or {@code null} for none
*/
public ComputeInstanceBackupProperties setCanIpForward(java.lang.Boolean canIpForward) {
this.canIpForward = canIpForward;
return this;
}
/**
* An optional text description for the instances that are created from these properties.
* @return value or {@code null} for none
*/
public java.lang.String getDescription() {
return description;
}
/**
* An optional text description for the instances that are created from these properties.
* @param description description or {@code null} for none
*/
public ComputeInstanceBackupProperties setDescription(java.lang.String description) {
this.description = description;
return this;
}
/**
* An array of disks that are associated with the instances that are created from these
* properties.
* @return value or {@code null} for none
*/
public java.util.List getDisk() {
return disk;
}
/**
* An array of disks that are associated with the instances that are created from these
* properties.
* @param disk disk or {@code null} for none
*/
public ComputeInstanceBackupProperties setDisk(java.util.List disk) {
this.disk = disk;
return this;
}
/**
* A list of guest accelerator cards' type and count to use for instances created from these
* properties.
* @return value or {@code null} for none
*/
public java.util.List getGuestAccelerator() {
return guestAccelerator;
}
/**
* A list of guest accelerator cards' type and count to use for instances created from these
* properties.
* @param guestAccelerator guestAccelerator or {@code null} for none
*/
public ComputeInstanceBackupProperties setGuestAccelerator(java.util.List guestAccelerator) {
this.guestAccelerator = guestAccelerator;
return this;
}
/**
* KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default
* value is "NONE" if it is not specified.
* @return value or {@code null} for none
*/
public java.lang.String getKeyRevocationActionType() {
return keyRevocationActionType;
}
/**
* KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default
* value is "NONE" if it is not specified.
* @param keyRevocationActionType keyRevocationActionType or {@code null} for none
*/
public ComputeInstanceBackupProperties setKeyRevocationActionType(java.lang.String keyRevocationActionType) {
this.keyRevocationActionType = keyRevocationActionType;
return this;
}
/**
* The machine type to use for instances that are created from these properties.
* @return value or {@code null} for none
*/
public java.lang.String getMachineType() {
return machineType;
}
/**
* The machine type to use for instances that are created from these properties.
* @param machineType machineType or {@code null} for none
*/
public ComputeInstanceBackupProperties setMachineType(java.lang.String machineType) {
this.machineType = machineType;
return this;
}
/**
* The metadata key/value pairs to assign to instances that are created from these properties.
* These pairs can consist of custom metadata or predefined keys. See
* https://cloud.google.com/compute/docs/metadata/overview for more information.
* @return value or {@code null} for none
*/
public Metadata getMetadata() {
return metadata;
}
/**
* The metadata key/value pairs to assign to instances that are created from these properties.
* These pairs can consist of custom metadata or predefined keys. See
* https://cloud.google.com/compute/docs/metadata/overview for more information.
* @param metadata metadata or {@code null} for none
*/
public ComputeInstanceBackupProperties setMetadata(Metadata metadata) {
this.metadata = metadata;
return this;
}
/**
* Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or
* newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as
* `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information,
* read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
* @return value or {@code null} for none
*/
public java.lang.String getMinCpuPlatform() {
return minCpuPlatform;
}
/**
* Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or
* newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as
* `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information,
* read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
* @param minCpuPlatform minCpuPlatform or {@code null} for none
*/
public ComputeInstanceBackupProperties setMinCpuPlatform(java.lang.String minCpuPlatform) {
this.minCpuPlatform = minCpuPlatform;
return this;
}
/**
* An array of network access configurations for this interface.
* @return value or {@code null} for none
*/
public java.util.List getNetworkInterface() {
return networkInterface;
}
/**
* An array of network access configurations for this interface.
* @param networkInterface networkInterface or {@code null} for none
*/
public ComputeInstanceBackupProperties setNetworkInterface(java.util.List networkInterface) {
this.networkInterface = networkInterface;
return this;
}
/**
* Specifies the scheduling options for the instances that are created from these properties.
* @return value or {@code null} for none
*/
public Scheduling getScheduling() {
return scheduling;
}
/**
* Specifies the scheduling options for the instances that are created from these properties.
* @param scheduling scheduling or {@code null} for none
*/
public ComputeInstanceBackupProperties setScheduling(Scheduling scheduling) {
this.scheduling = scheduling;
return this;
}
/**
* A list of service accounts with specified scopes. Access tokens for these service accounts are
* available to the instances that are created from these properties. Use metadata queries to
* obtain the access tokens for these instances.
* @return value or {@code null} for none
*/
public java.util.List getServiceAccount() {
return serviceAccount;
}
/**
* A list of service accounts with specified scopes. Access tokens for these service accounts are
* available to the instances that are created from these properties. Use metadata queries to
* obtain the access tokens for these instances.
* @param serviceAccount serviceAccount or {@code null} for none
*/
public ComputeInstanceBackupProperties setServiceAccount(java.util.List serviceAccount) {
this.serviceAccount = serviceAccount;
return this;
}
/**
* The source instance used to create this backup. This can be 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 this backup. This can be 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 ComputeInstanceBackupProperties setSourceInstance(java.lang.String sourceInstance) {
this.sourceInstance = sourceInstance;
return this;
}
/**
* A list of tags to apply to the instances that are created from these properties. The tags
* identify valid sources or targets for network firewalls. The setTags method can modify this
* list of tags. Each tag within the list must comply with RFC1035
* (https://www.ietf.org/rfc/rfc1035.txt).
* @return value or {@code null} for none
*/
public Tags getTags() {
return tags;
}
/**
* A list of tags to apply to the instances that are created from these properties. The tags
* identify valid sources or targets for network firewalls. The setTags method can modify this
* list of tags. Each tag within the list must comply with RFC1035
* (https://www.ietf.org/rfc/rfc1035.txt).
* @param tags tags or {@code null} for none
*/
public ComputeInstanceBackupProperties setTags(Tags tags) {
this.tags = tags;
return this;
}
@Override
public ComputeInstanceBackupProperties set(String fieldName, Object value) {
return (ComputeInstanceBackupProperties) super.set(fieldName, value);
}
@Override
public ComputeInstanceBackupProperties clone() {
return (ComputeInstanceBackupProperties) super.clone();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy