com.google.api.services.backupdr.v1.model.ComputeInstanceRestoreProperties 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;
/**
* ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden
* during restore.
*
* 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 ComputeInstanceRestoreProperties extends com.google.api.client.json.GenericJson {
/**
* Optional. Controls for advanced machine-related behavior features.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private AdvancedMachineFeatures advancedMachineFeatures;
/**
* Optional. Allows this instance to send and receive packets with non-matching destination or
* source IPs.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean canIpForward;
/**
* Optional. Controls Confidential compute options on the instance
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ConfidentialInstanceConfig confidentialInstanceConfig;
/**
* Optional. Whether the resource should be protected against deletion.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean deletionProtection;
/**
* Optional. 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;
/**
* Optional. Array of disks associated with this instance. Persistent disks must be created before
* you can assign them.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List disks;
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);
}
/**
* Optional. Enables display device for the instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private DisplayDevice displayDevice;
/**
* Optional. A list of the type and count of accelerator cards attached to the instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List guestAccelerators;
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);
}
/**
* Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035
* compliant. If hostname is not specified, the default hostname is
* [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and
* [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String hostname;
/**
* Optional. Encrypts suspended data for an instance with a customer-managed encryption key.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private CustomerEncryptionKey instanceEncryptionKey;
/**
* Optional. KeyRevocationActionType of the instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String keyRevocationActionType;
/**
* Optional. Labels to apply to this instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map labels;
/**
* Optional. Full or partial URL of the machine type resource to use for this instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String machineType;
/**
* Optional. This includes custom metadata and predefined keys.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Metadata metadata;
/**
* Optional. Minimum CPU platform to use for this instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String minCpuPlatform;
/**
* Required. Name of the compute instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String name;
/**
* Optional. An array of network configurations for this instance. These specify how interfaces
* are configured to interact with other network services, such as connecting to the internet.
* Multiple interfaces are supported per instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List networkInterfaces;
/**
* Optional. Configure network performance such as egress bandwidth tier.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private NetworkPerformanceConfig networkPerformanceConfig;
/**
* Input only. Additional params passed with the request, but not persisted as part of resource
* payload.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private InstanceParams params;
/**
* Optional. The private IPv6 google access type for the VM. If not specified, use
* INHERIT_FROM_SUBNETWORK as default.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String privateIpv6GoogleAccess;
/**
* Optional. Specifies the reservations that this instance can consume from.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private AllocationAffinity reservationAffinity;
/**
* Optional. Resource policies applied to this instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List resourcePolicies;
/**
* Optional. Sets the scheduling options for this instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Scheduling scheduling;
/**
* Optional. A list of service accounts, with their specified scopes, authorized for this
* instance. Only one service account per VM instance is supported.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List serviceAccounts;
/**
* Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets
* for network firewalls and are specified by the client during instance creation.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Tags tags;
/**
* Optional. Controls for advanced machine-related behavior features.
* @return value or {@code null} for none
*/
public AdvancedMachineFeatures getAdvancedMachineFeatures() {
return advancedMachineFeatures;
}
/**
* Optional. Controls for advanced machine-related behavior features.
* @param advancedMachineFeatures advancedMachineFeatures or {@code null} for none
*/
public ComputeInstanceRestoreProperties setAdvancedMachineFeatures(AdvancedMachineFeatures advancedMachineFeatures) {
this.advancedMachineFeatures = advancedMachineFeatures;
return this;
}
/**
* Optional. Allows this instance to send and receive packets with non-matching destination or
* source IPs.
* @return value or {@code null} for none
*/
public java.lang.Boolean getCanIpForward() {
return canIpForward;
}
/**
* Optional. Allows this instance to send and receive packets with non-matching destination or
* source IPs.
* @param canIpForward canIpForward or {@code null} for none
*/
public ComputeInstanceRestoreProperties setCanIpForward(java.lang.Boolean canIpForward) {
this.canIpForward = canIpForward;
return this;
}
/**
* Optional. Controls Confidential compute options on the instance
* @return value or {@code null} for none
*/
public ConfidentialInstanceConfig getConfidentialInstanceConfig() {
return confidentialInstanceConfig;
}
/**
* Optional. Controls Confidential compute options on the instance
* @param confidentialInstanceConfig confidentialInstanceConfig or {@code null} for none
*/
public ComputeInstanceRestoreProperties setConfidentialInstanceConfig(ConfidentialInstanceConfig confidentialInstanceConfig) {
this.confidentialInstanceConfig = confidentialInstanceConfig;
return this;
}
/**
* Optional. Whether the resource should be protected against deletion.
* @return value or {@code null} for none
*/
public java.lang.Boolean getDeletionProtection() {
return deletionProtection;
}
/**
* Optional. Whether the resource should be protected against deletion.
* @param deletionProtection deletionProtection or {@code null} for none
*/
public ComputeInstanceRestoreProperties setDeletionProtection(java.lang.Boolean deletionProtection) {
this.deletionProtection = deletionProtection;
return this;
}
/**
* Optional. 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;
}
/**
* Optional. An optional description of this resource. Provide this property when you create the
* resource.
* @param description description or {@code null} for none
*/
public ComputeInstanceRestoreProperties setDescription(java.lang.String description) {
this.description = description;
return this;
}
/**
* Optional. Array of disks associated with this instance. Persistent disks must be created before
* you can assign them.
* @return value or {@code null} for none
*/
public java.util.List getDisks() {
return disks;
}
/**
* Optional. Array of disks associated with this instance. Persistent disks must be created before
* you can assign them.
* @param disks disks or {@code null} for none
*/
public ComputeInstanceRestoreProperties setDisks(java.util.List disks) {
this.disks = disks;
return this;
}
/**
* Optional. Enables display device for the instance.
* @return value or {@code null} for none
*/
public DisplayDevice getDisplayDevice() {
return displayDevice;
}
/**
* Optional. Enables display device for the instance.
* @param displayDevice displayDevice or {@code null} for none
*/
public ComputeInstanceRestoreProperties setDisplayDevice(DisplayDevice displayDevice) {
this.displayDevice = displayDevice;
return this;
}
/**
* Optional. A list of the type and count of accelerator cards attached to the instance.
* @return value or {@code null} for none
*/
public java.util.List getGuestAccelerators() {
return guestAccelerators;
}
/**
* Optional. A list of the type and count of accelerator cards attached to the instance.
* @param guestAccelerators guestAccelerators or {@code null} for none
*/
public ComputeInstanceRestoreProperties setGuestAccelerators(java.util.List guestAccelerators) {
this.guestAccelerators = guestAccelerators;
return this;
}
/**
* Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035
* compliant. If hostname is not specified, the default hostname is
* [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and
* [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
* @return value or {@code null} for none
*/
public java.lang.String getHostname() {
return hostname;
}
/**
* Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035
* compliant. If hostname is not specified, the default hostname is
* [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and
* [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
* @param hostname hostname or {@code null} for none
*/
public ComputeInstanceRestoreProperties setHostname(java.lang.String hostname) {
this.hostname = hostname;
return this;
}
/**
* Optional. Encrypts suspended data for an instance with a customer-managed encryption key.
* @return value or {@code null} for none
*/
public CustomerEncryptionKey getInstanceEncryptionKey() {
return instanceEncryptionKey;
}
/**
* Optional. Encrypts suspended data for an instance with a customer-managed encryption key.
* @param instanceEncryptionKey instanceEncryptionKey or {@code null} for none
*/
public ComputeInstanceRestoreProperties setInstanceEncryptionKey(CustomerEncryptionKey instanceEncryptionKey) {
this.instanceEncryptionKey = instanceEncryptionKey;
return this;
}
/**
* Optional. KeyRevocationActionType of the instance.
* @return value or {@code null} for none
*/
public java.lang.String getKeyRevocationActionType() {
return keyRevocationActionType;
}
/**
* Optional. KeyRevocationActionType of the instance.
* @param keyRevocationActionType keyRevocationActionType or {@code null} for none
*/
public ComputeInstanceRestoreProperties setKeyRevocationActionType(java.lang.String keyRevocationActionType) {
this.keyRevocationActionType = keyRevocationActionType;
return this;
}
/**
* Optional. Labels to apply to this instance.
* @return value or {@code null} for none
*/
public java.util.Map getLabels() {
return labels;
}
/**
* Optional. Labels to apply to this instance.
* @param labels labels or {@code null} for none
*/
public ComputeInstanceRestoreProperties setLabels(java.util.Map labels) {
this.labels = labels;
return this;
}
/**
* Optional. Full or partial URL of the machine type resource to use for this instance.
* @return value or {@code null} for none
*/
public java.lang.String getMachineType() {
return machineType;
}
/**
* Optional. Full or partial URL of the machine type resource to use for this instance.
* @param machineType machineType or {@code null} for none
*/
public ComputeInstanceRestoreProperties setMachineType(java.lang.String machineType) {
this.machineType = machineType;
return this;
}
/**
* Optional. This includes custom metadata and predefined keys.
* @return value or {@code null} for none
*/
public Metadata getMetadata() {
return metadata;
}
/**
* Optional. This includes custom metadata and predefined keys.
* @param metadata metadata or {@code null} for none
*/
public ComputeInstanceRestoreProperties setMetadata(Metadata metadata) {
this.metadata = metadata;
return this;
}
/**
* Optional. Minimum CPU platform to use for this instance.
* @return value or {@code null} for none
*/
public java.lang.String getMinCpuPlatform() {
return minCpuPlatform;
}
/**
* Optional. Minimum CPU platform to use for this instance.
* @param minCpuPlatform minCpuPlatform or {@code null} for none
*/
public ComputeInstanceRestoreProperties setMinCpuPlatform(java.lang.String minCpuPlatform) {
this.minCpuPlatform = minCpuPlatform;
return this;
}
/**
* Required. Name of the compute instance.
* @return value or {@code null} for none
*/
public java.lang.String getName() {
return name;
}
/**
* Required. Name of the compute instance.
* @param name name or {@code null} for none
*/
public ComputeInstanceRestoreProperties setName(java.lang.String name) {
this.name = name;
return this;
}
/**
* Optional. An array of network configurations for this instance. These specify how interfaces
* are configured to interact with other network services, such as connecting to the internet.
* Multiple interfaces are supported per instance.
* @return value or {@code null} for none
*/
public java.util.List getNetworkInterfaces() {
return networkInterfaces;
}
/**
* Optional. An array of network configurations for this instance. These specify how interfaces
* are configured to interact with other network services, such as connecting to the internet.
* Multiple interfaces are supported per instance.
* @param networkInterfaces networkInterfaces or {@code null} for none
*/
public ComputeInstanceRestoreProperties setNetworkInterfaces(java.util.List networkInterfaces) {
this.networkInterfaces = networkInterfaces;
return this;
}
/**
* Optional. Configure network performance such as egress bandwidth tier.
* @return value or {@code null} for none
*/
public NetworkPerformanceConfig getNetworkPerformanceConfig() {
return networkPerformanceConfig;
}
/**
* Optional. Configure network performance such as egress bandwidth tier.
* @param networkPerformanceConfig networkPerformanceConfig or {@code null} for none
*/
public ComputeInstanceRestoreProperties setNetworkPerformanceConfig(NetworkPerformanceConfig networkPerformanceConfig) {
this.networkPerformanceConfig = networkPerformanceConfig;
return this;
}
/**
* Input only. Additional params passed with the request, but not persisted as part of resource
* payload.
* @return value or {@code null} for none
*/
public InstanceParams getParams() {
return params;
}
/**
* Input only. Additional params passed with the request, but not persisted as part of resource
* payload.
* @param params params or {@code null} for none
*/
public ComputeInstanceRestoreProperties setParams(InstanceParams params) {
this.params = params;
return this;
}
/**
* Optional. The private IPv6 google access type for the VM. If not specified, use
* INHERIT_FROM_SUBNETWORK as default.
* @return value or {@code null} for none
*/
public java.lang.String getPrivateIpv6GoogleAccess() {
return privateIpv6GoogleAccess;
}
/**
* Optional. The private IPv6 google access type for the VM. If not specified, use
* INHERIT_FROM_SUBNETWORK as default.
* @param privateIpv6GoogleAccess privateIpv6GoogleAccess or {@code null} for none
*/
public ComputeInstanceRestoreProperties setPrivateIpv6GoogleAccess(java.lang.String privateIpv6GoogleAccess) {
this.privateIpv6GoogleAccess = privateIpv6GoogleAccess;
return this;
}
/**
* Optional. Specifies the reservations that this instance can consume from.
* @return value or {@code null} for none
*/
public AllocationAffinity getReservationAffinity() {
return reservationAffinity;
}
/**
* Optional. Specifies the reservations that this instance can consume from.
* @param reservationAffinity reservationAffinity or {@code null} for none
*/
public ComputeInstanceRestoreProperties setReservationAffinity(AllocationAffinity reservationAffinity) {
this.reservationAffinity = reservationAffinity;
return this;
}
/**
* Optional. Resource policies applied to this instance.
* @return value or {@code null} for none
*/
public java.util.List getResourcePolicies() {
return resourcePolicies;
}
/**
* Optional. Resource policies applied to this instance.
* @param resourcePolicies resourcePolicies or {@code null} for none
*/
public ComputeInstanceRestoreProperties setResourcePolicies(java.util.List resourcePolicies) {
this.resourcePolicies = resourcePolicies;
return this;
}
/**
* Optional. Sets the scheduling options for this instance.
* @return value or {@code null} for none
*/
public Scheduling getScheduling() {
return scheduling;
}
/**
* Optional. Sets the scheduling options for this instance.
* @param scheduling scheduling or {@code null} for none
*/
public ComputeInstanceRestoreProperties setScheduling(Scheduling scheduling) {
this.scheduling = scheduling;
return this;
}
/**
* Optional. A list of service accounts, with their specified scopes, authorized for this
* instance. Only one service account per VM instance is supported.
* @return value or {@code null} for none
*/
public java.util.List getServiceAccounts() {
return serviceAccounts;
}
/**
* Optional. A list of service accounts, with their specified scopes, authorized for this
* instance. Only one service account per VM instance is supported.
* @param serviceAccounts serviceAccounts or {@code null} for none
*/
public ComputeInstanceRestoreProperties setServiceAccounts(java.util.List serviceAccounts) {
this.serviceAccounts = serviceAccounts;
return this;
}
/**
* Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets
* for network firewalls and are specified by the client during instance creation.
* @return value or {@code null} for none
*/
public Tags getTags() {
return tags;
}
/**
* Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets
* for network firewalls and are specified by the client during instance creation.
* @param tags tags or {@code null} for none
*/
public ComputeInstanceRestoreProperties setTags(Tags tags) {
this.tags = tags;
return this;
}
@Override
public ComputeInstanceRestoreProperties set(String fieldName, Object value) {
return (ComputeInstanceRestoreProperties) super.set(fieldName, value);
}
@Override
public ComputeInstanceRestoreProperties clone() {
return (ComputeInstanceRestoreProperties) super.clone();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy