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

com.nutanix.dp1.dat.dataprotection.v4.common.VssProperties 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.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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


/**
 * For Windows VMs/agents, application-consistent recovery points are selected using the Windows-specific Volume Shadow Copy Service (VSS). The enclosed properties, also called VSS properties, are used by the Windows platform to decide the type of application-consistent recovery points to consider.
 */

@Data
@lombok.extern.slf4j.Slf4j
public class VssProperties implements java.io.Serializable, DatObjectTypeTypedObject {

  

  public VssProperties() {
    this.$objectType = this.initialize$objectType();
    this.$reserved = new java.util.LinkedHashMap<>();
    this.$reserved.put("$fv", this.initialize$fv());
    this.$unknownFields = new java.util.LinkedHashMap<>();

  }

  @lombok.Builder(builderMethodName = "VssPropertiesBuilder")
  public VssProperties(com.nutanix.dp1.dat.dataprotection.v4.common.BackupType backupType, Boolean shouldIncludeWriters, java.util.List writers, Boolean shouldStoreVssMetadata) {
    this.$objectType = this.initialize$objectType();
    this.$reserved = new java.util.LinkedHashMap<>();
    this.$reserved.put("$fv", this.initialize$fv());
    this.$unknownFields = new java.util.LinkedHashMap<>();
    this.setBackupType(backupType);
    this.setShouldIncludeWriters(shouldIncludeWriters);
    this.setWriters(writers);
    this.setShouldStoreVssMetadata(shouldStoreVssMetadata);
  }


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


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

  @JsonAnySetter
  private void setUndeserializedFields(String name, Object value) {
    $unknownFields.put(name, value);
  }


  
  
  
    /**
    * 
    */
    
    
    @JsonProperty("backupType")
    public com.nutanix.dp1.dat.dataprotection.v4.common.BackupType backupType = null;
  
  
  
    /**
    * Indicates whether the given set of VSS writers' UUIDs should be included or excluded from the application consistent recovery point. By default, the value is set to false, indicating that all listed VSS writers' UUIDs will be excluded.
    */
    
    
    @JsonProperty("shouldIncludeWriters")
    public Boolean shouldIncludeWriters = false;
  
  
  
    /**
    * List of VSS writer UUIDs that are used in an application consistent recovery point. The default values are the system and the registry writer UUIDs.
    */
    @javax.validation.constraints.Size(min = 1, max = 25)
    
    
    @JsonProperty("writers")
    public List writers = null;
  
  
  
    /**
    * Indicates whether to store the VSS metadata if the user is interested in application-specific backup/restore. The VSS metadata consists of VSS writers and requester metadata details. These are compressed into a cabinet file(.cab file) during a VSS backup operation. This cabinet file must be saved to the backup media during a backup operation, as it is required during the restore operation.
    */
    
    
    @JsonProperty("shouldStoreVssMetadata")
    public Boolean shouldStoreVssMetadata = false;
  
  
  
    
    
    @Getter
    
    @JsonView({StandardView.class})
    
    protected final Map $reserved;
  
  
  
    
    
    @Getter
    
    @JsonView({StandardView.class})
    
    protected final String $objectType;
  
  
  
    
    
    @Getter
    
    @JsonView({StandardView.class})
    
    protected final Map $unknownFields;
  
  

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy