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

com.nutanix.dp1.dat.dataprotection.v4.config.ProtectedResource Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 4.0.1
Show 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.*;


/**
 * Once a VM or volume group is associated with some protection policy, the schedule(s) in the protection policy kick in to achieve the specified recovery point objective. A protected resource represents the data protection view of such a VM or volume group. It contains information such as the restorable time ranges on the local Prism Central and the state of replication to the targets specified in all the applied protection policies.
 */


@EqualsAndHashCode(callSuper=true)
@Data
@lombok.extern.slf4j.Slf4j
public class ProtectedResource extends com.nutanix.dp1.dat.common.v1.response.ExternalizableAbstractModel implements java.io.Serializable, DatObjectTypeTypedObject {

  

  public ProtectedResource() {
    super();
    
  }

  @lombok.Builder(builderMethodName = "ProtectedResourceBuilder")
  public ProtectedResource(String tenantId, String extId, java.util.List links, String entityExtId, com.nutanix.dp1.dat.dataprotection.v4.config.ProtectedEntityType entityType, com.nutanix.dp1.dat.dataprotection.v4.config.DataProtectionSiteReference sourceSiteReference, java.util.List siteProtectionInfo, java.util.List replicationStates, java.util.List categoryFqNames) {
    super(tenantId, extId, links);

    this.setEntityExtId(entityExtId);

    this.setEntityType(entityType);

    this.setSourceSiteReference(sourceSiteReference);

    this.setSiteProtectionInfo(siteProtectionInfo);

    this.setReplicationStates(replicationStates);

    this.setCategoryFqNames(categoryFqNames);
  }

  @Override 
  protected String initialize$objectType() {
    return "dataprotection.v4.config.ProtectedResource";
  }

  @Override 
  protected String initialize$fv() {
    return "v4.r0.b1";
  }


  
  

  
    /**
    * The external identifier of the VM or the volume group associated with the protected resource.
    */
    @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("entityExtId")
    public String entityExtId = null;
  
  

  
    /**
    * 
    */
    
    @JsonProperty("entityType")
    public com.nutanix.dp1.dat.dataprotection.v4.config.ProtectedEntityType entityType = null;
  
  

  
    /**
    * 
    */
    
    @JsonProperty("sourceSiteReference")
    public com.nutanix.dp1.dat.dataprotection.v4.config.DataProtectionSiteReference sourceSiteReference = null;
  
  

  
    /**
    * The data protection details for the protected resource that are relevant to any of the sites in the local Prism Central, like the time ranges available for recovery.
    */
    @javax.validation.constraints.Size(min = 0, max = 20)
    
    @JsonProperty("siteProtectionInfo")
    public List siteProtectionInfo = null;
  
  

  
    /**
    * 
    */
    @javax.validation.constraints.Size(min = 0, max = 20)
    
    @JsonProperty("replicationStates")
    public List replicationStates = null;
  
  

  
    /**
    * Category key-value pairs associated with the protected resource at the time of protection. The category key and value are separated by '/'. For example, a category with key 'dept' and value 'hr' will be represented as 'dept/hr'.
    */
    @javax.validation.constraints.Size(min = 0, max = 1200)
    
    @JsonProperty("categoryFqNames")
    public List categoryFqNames = null;
  
  

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy