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

com.nutanix.dp1.dat.dataprotection.v4.common.BaseRecoveryPoint Maven / Gradle / Ivy

/*
 * Generated file ..
 *
 * Product version: 4.0.1
 *
 * Part of the Nutanix Data Protection APIs
 *
 * (c) 2024 Nutanix Inc.  All rights reserved
 *
 */

package com.nutanix.dp1.dat.dataprotection.v4.common;

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.time.OffsetDateTime;
import java.util.List;

import static com.nutanix.dp1.dat.deserializers.DatDeserializerUtils.*;


/**
 * A model that represents common properties of a Recovery point resources
 */
@EqualsAndHashCode(callSuper=true)
@Data
@lombok.extern.slf4j.Slf4j
public class BaseRecoveryPoint extends com.nutanix.dp1.dat.common.v1.response.ExternalizableAbstractModel implements java.io.Serializable, DatObjectTypeTypedObject {

  

  public BaseRecoveryPoint() {
    super();

  }

  @lombok.Builder(builderMethodName = "BaseRecoveryPointBuilder")
  public BaseRecoveryPoint(String tenantId, String extId, java.util.List links, String locationAgnosticId, String name, java.time.OffsetDateTime creationTime, java.time.OffsetDateTime expirationTime, com.nutanix.dp1.dat.dataprotection.v4.common.RecoveryPointStatus status, com.nutanix.dp1.dat.dataprotection.v4.common.RecoveryPointType recoveryPointType) {
    super(tenantId, extId, links);
    this.setLocationAgnosticId(locationAgnosticId);
    this.setName(name);
    this.setCreationTime(creationTime);
    this.setExpirationTime(expirationTime);
    this.setStatus(status);
    this.setRecoveryPointType(recoveryPointType);
  }

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

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


  
    @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.
     */
    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 OffsetDateTime creationTime = null;
  
    /**
     * The UTC date and time in ISO-8601 format when the Recovery point is created.
     */
    public void setCreationTime(OffsetDateTime creationTime) {
      if (this.creationTime == null) {
        this.creationTime = creationTime;
      }
      else {
        log.warn("Read-only property creationTime already contains a non-null value and cannot be set again");
      }
    }
  
  
  
    /**
    * The name of the Recovery point.
    */
    @javax.validation.constraints.Size(max = 256)
    
    
    @JsonProperty("name")
    public String name = null;
  
  
  
    /**
    * The UTC date and time in ISO-8601 format when the current Recovery point expires and will be garbage collected.
    */
    
    
    @JsonProperty("expirationTime")
    public OffsetDateTime expirationTime = null;
  
  
  
    /**
    * 
    */
    
    
    @JsonProperty("status")
    public com.nutanix.dp1.dat.dataprotection.v4.common.RecoveryPointStatus status = null;
  
  
  
    /**
    * 
    */
    
    
    @JsonProperty("recoveryPointType")
    public com.nutanix.dp1.dat.dataprotection.v4.common.RecoveryPointType recoveryPointType = null;
  
  

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy