com.nutanix.dp1.dat.dataprotection.v4.config.VmRecoveryPoint Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dataprotection-java-client Show documentation
Show all versions of dataprotection-java-client Show documentation
Business Continuity with full spectrum of Disaster Recovery and Backup solution. Spanning across Single PC, Cross AZ, MultiSite. Configuration of Recovery points, Protection policies, Recovery Plans. Execution and monitoring of back up and recovery orchestrations on OnPrem as well as Cloud.
The newest version!
/*
* Generated file ..
*
* Product version: 4.0.1-beta-1
*
* Part of the Nutanix Dataprotection Versioned APIs
*
* (c) 2024 Nutanix Inc. All rights reserved
*
*/
package com.nutanix.dp1.dat.dataprotection.v4.config;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.AccessLevel;
import com.nutanix.devplatform.models.PrettyModeViews.*;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.stream.Collectors;
import com.nutanix.dp1.dat.deserializers.DatObjectTypeTypedObject;
import javax.validation.constraints.*;
import java.util.ArrayList;
import java.util.List;
import static com.nutanix.dp1.dat.deserializers.DatDeserializerUtils.*;
/**
* A model that represents VM recovery point properties.
*/
@EqualsAndHashCode(callSuper=true)
@Data
@lombok.extern.slf4j.Slf4j
public class VmRecoveryPoint extends com.nutanix.dp1.dat.common.v1.response.ExternalizableAbstractModel implements java.io.Serializable, DatObjectTypeTypedObject {
public VmRecoveryPoint() {
super();
}
@lombok.Builder(builderMethodName = "VmRecoveryPointBuilder")
public VmRecoveryPoint(String tenantId, String extId, java.util.List links, String locationAgnosticId, String vmExtId, java.util.List vmCategories, java.util.List diskRecoveryPoints) {
super(tenantId, extId, links);
this.setLocationAgnosticId(locationAgnosticId);
this.setVmExtId(vmExtId);
this.setVmCategories(vmCategories);
this.setDiskRecoveryPoints(diskRecoveryPoints);
}
@Override
protected String initialize$objectType() {
return "dataprotection.v4.config.VmRecoveryPoint";
}
@Override
protected String initialize$fv() {
return "v4.r0.b1";
}
@javax.validation.constraints.Pattern(regexp="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$")
private String locationAgnosticId = null;
/**
* Location agnostic identifier of the recovery point. This identifier is used to identify the same instances of a recovery point across different sites.
*/
public void setLocationAgnosticId(String locationAgnosticId) {
if (this.locationAgnosticId == null) {
this.locationAgnosticId = locationAgnosticId;
}
else {
log.warn("Read-only property locationAgnosticId already contains a non-null value and cannot be set again");
}
}
private List vmCategories = null;
/**
* Category key-value pairs associated with the VM at the time of recovery point creation. The category key and value are separated by '/'. For example, a category with key 'dept' and value 'hr' will be represented as 'dept/hr'.
*/
public void setVmCategories(List vmCategories) {
if (this.vmCategories == null) {
this.vmCategories = vmCategories;
}
else {
log.warn("Read-only property vmCategories already contains a non-null value and cannot be set again");
}
}
@javax.validation.constraints.Size(min = 1, max = 1024)
private List diskRecoveryPoints = null;
/**
*
*/
public void setDiskRecoveryPoints(List diskRecoveryPoints) {
if (this.diskRecoveryPoints == null) {
this.diskRecoveryPoints = diskRecoveryPoints;
}
else {
log.warn("Read-only property diskRecoveryPoints already contains a non-null value and cannot be set again");
}
}
/**
* VM external identifier which is captured as part of this recovery point.
*/
@javax.validation.constraints.Pattern(regexp="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$")
@JsonProperty("vmExtId")
public String vmExtId = null;
}