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

com.nutanix.dp1.dat.dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec 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.content;

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.HashMap;
import java.util.List;
import java.util.Map;

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


/**
 * Specs required to fetch the cluster information for compute change region operation.
 */

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

  

  public ComputeChangedRegionsClusterDiscoverSpec() {
    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 = "ComputeChangedRegionsClusterDiscoverSpecBuilder")
  public ComputeChangedRegionsClusterDiscoverSpec(Object diskRecoveryPoint, Object referenceDiskRecoveryPoint) {
    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.setDiskRecoveryPointInWrapper(diskRecoveryPoint);
    this.setReferenceDiskRecoveryPointInWrapper(referenceDiskRecoveryPoint);
  }


  protected String initialize$objectType() {
    return "dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec";
  }


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

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


  
  
    
    
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    @Getter
    private String $diskRecoveryPointItemDiscriminator = null;
    
    public String get$diskRecoveryPointItemDiscriminator() {
      // not required when setDiskRecoveryPointInWrapper is renamed to setDiskRecoveryPoint
      if (this.diskRecoveryPoint != null && this.$diskRecoveryPointItemDiscriminator == null) {
        this.$diskRecoveryPointItemDiscriminator = this.diskRecoveryPoint.getDiscriminator();
      }
      return this.$diskRecoveryPointItemDiscriminator;
    }
    
    @Data
    @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = OneOfDiskRecoveryPointWrapper.OneOfDiskRecoveryPointWrapperJsonDeserializer.class)
    public static class OneOfDiskRecoveryPointWrapper {
    
    
      public OneOfDiskRecoveryPointWrapper() {
      }
    
    
    
      public OneOfDiskRecoveryPointWrapper(com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference data) {
        this.oneOfType0 = data;
        this.discriminator = data.get$objectType();
        this.$objectType = data.get$objectType();
      }
      public OneOfDiskRecoveryPointWrapper(com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference data) {
        this.oneOfType1 = data;
        this.discriminator = data.get$objectType();
        this.$objectType = data.get$objectType();
      }
    
      @com.nutanix.dp1.dat.annotations.DatJsonDeserializer
      private static class OneOfDiskRecoveryPointWrapperJsonDeserializer extends com.nutanix.dp1.dat.deserializers.DatOneOfDeserializer  {
        private static final com.fasterxml.jackson.databind.type.TypeFactory TYPE_FACTORY = com.fasterxml.jackson.databind.type.TypeFactory.defaultInstance();
        private static final com.fasterxml.jackson.databind.JavaType ONE_OF_TYPE0 = TYPE_FACTORY.constructType(com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference.class);
        private static final com.fasterxml.jackson.databind.JavaType ONE_OF_TYPE1 = TYPE_FACTORY.constructType(com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference.class);
    
        public OneOfDiskRecoveryPointWrapperJsonDeserializer() {
          super(TYPE_FACTORY.constructType(OneOfDiskRecoveryPointWrapper.class));
        }
    
        @Override
        protected void setDataObject(OneOfDiskRecoveryPointWrapper oneOfObject, Object nestedObject) {
          if (oneOfObject == null) {
            throw new IllegalArgumentException("Instance of OneOfDiskRecoveryPointWrapper provided is null");
          }
          if(ONE_OF_TYPE0.getRawClass().isAssignableFrom(nestedObject.getClass())) {
            oneOfObject.setValue(nestedObject);
            if (oneOfObject.getValue() != null) {
                return;
            }
          }
          if(ONE_OF_TYPE1.getRawClass().isAssignableFrom(nestedObject.getClass())) {
            oneOfObject.setValue(nestedObject);
            if (oneOfObject.getValue() != null) {
                return;
            }
          }
    
          throw new IllegalArgumentException("Attempting to set unsupported object type in OneOfDiskRecoveryPointWrapper:" + nestedObject.getClass().getName());
        }
    
        public String getPackagePrefix() {
          return "com.nutanix.dp1.dat";
        }
      }
    
      @com.fasterxml.jackson.annotation.JsonIgnore
      @lombok.Getter(lombok.AccessLevel.NONE)
      @lombok.Setter(lombok.AccessLevel.NONE)
      private com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference oneOfType0;
      @com.fasterxml.jackson.annotation.JsonIgnore
      @lombok.Getter(lombok.AccessLevel.NONE)
      @lombok.Setter(lombok.AccessLevel.NONE)
      private com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference oneOfType1;
    
      @lombok.Setter(lombok.AccessLevel.NONE)
      private String discriminator;
    
    
      @com.fasterxml.jackson.annotation.JsonIgnore
      @lombok.Setter(lombok.AccessLevel.NONE)
      private String $objectType;
    
      @com.fasterxml.jackson.annotation.JsonGetter
      public Object getValue() {
        if(oneOfType0 != null && oneOfType0.get$objectType().equals(this.discriminator)) {
          return this.oneOfType0;
        }
        if(oneOfType1 != null && oneOfType1.get$objectType().equals(this.discriminator)) {
          return this.oneOfType1;
        }
        throw new IllegalArgumentException("Unrecognized discriminator:" + this.discriminator);
      }
    
      public void setValue(Object value) {
        if(value == null) {
          log.warn("null passed to setValue function. OneOf's value will not be set.");
          return;
        }
    
        if (value instanceof com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference) {
          this.oneOfType0 = (com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference) value;
          this.discriminator = this.oneOfType0.get$objectType();
          this.$objectType = this.oneOfType0.get$objectType();
          return;
        }
        if (value instanceof com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference) {
          this.oneOfType1 = (com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference) value;
          this.discriminator = this.oneOfType1.get$objectType();
          this.$objectType = this.oneOfType1.get$objectType();
          return;
        }
    
        throw new IllegalArgumentException("Attempting to set unsupported object type in OneOfDiskRecoveryPointWrapper:" + value.getClass().getName());
    
      }
    
    }
  
    private OneOfDiskRecoveryPointWrapper diskRecoveryPoint = null;
  
    /**
     * @param value value of one of field diskRecoveryPoint
     */
    @com.fasterxml.jackson.annotation.JsonIgnore
    public void setDiskRecoveryPointInWrapper(Object value) {
      if (value == null) {
        return;
      }
      if (this.diskRecoveryPoint == null) {
        this.diskRecoveryPoint = new OneOfDiskRecoveryPointWrapper();
      }
      this.diskRecoveryPoint.setValue(value);
      this.$diskRecoveryPointItemDiscriminator = this.diskRecoveryPoint.getDiscriminator();
    }
  
    /**
     * Get diskRecoveryPoint in one of possible types :
     * 
    *
  • com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference
  • *
  • com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference
  • *
* @return Object */ @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.nutanix.dp1.dat.serializers.DatOneOfSerializer.class) public Object getDiskRecoveryPoint() { if (this.diskRecoveryPoint == null) { log.debug("OneOf property diskRecoveryPoint was never set. Returning null..."); return null; } return this.diskRecoveryPoint.getValue(); } @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @Getter private String $referenceDiskRecoveryPointItemDiscriminator = null; public String get$referenceDiskRecoveryPointItemDiscriminator() { // not required when setReferenceDiskRecoveryPointInWrapper is renamed to setReferenceDiskRecoveryPoint if (this.referenceDiskRecoveryPoint != null && this.$referenceDiskRecoveryPointItemDiscriminator == null) { this.$referenceDiskRecoveryPointItemDiscriminator = this.referenceDiskRecoveryPoint.getDiscriminator(); } return this.$referenceDiskRecoveryPointItemDiscriminator; } @Data @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = OneOfReferenceDiskRecoveryPointWrapper.OneOfReferenceDiskRecoveryPointWrapperJsonDeserializer.class) public static class OneOfReferenceDiskRecoveryPointWrapper { public OneOfReferenceDiskRecoveryPointWrapper() { } public OneOfReferenceDiskRecoveryPointWrapper(com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference data) { this.oneOfType0 = data; this.discriminator = data.get$objectType(); this.$objectType = data.get$objectType(); } public OneOfReferenceDiskRecoveryPointWrapper(com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference data) { this.oneOfType1 = data; this.discriminator = data.get$objectType(); this.$objectType = data.get$objectType(); } @com.nutanix.dp1.dat.annotations.DatJsonDeserializer private static class OneOfReferenceDiskRecoveryPointWrapperJsonDeserializer extends com.nutanix.dp1.dat.deserializers.DatOneOfDeserializer { private static final com.fasterxml.jackson.databind.type.TypeFactory TYPE_FACTORY = com.fasterxml.jackson.databind.type.TypeFactory.defaultInstance(); private static final com.fasterxml.jackson.databind.JavaType ONE_OF_TYPE0 = TYPE_FACTORY.constructType(com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference.class); private static final com.fasterxml.jackson.databind.JavaType ONE_OF_TYPE1 = TYPE_FACTORY.constructType(com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference.class); public OneOfReferenceDiskRecoveryPointWrapperJsonDeserializer() { super(TYPE_FACTORY.constructType(OneOfReferenceDiskRecoveryPointWrapper.class)); } @Override protected void setDataObject(OneOfReferenceDiskRecoveryPointWrapper oneOfObject, Object nestedObject) { if (oneOfObject == null) { throw new IllegalArgumentException("Instance of OneOfReferenceDiskRecoveryPointWrapper provided is null"); } if(ONE_OF_TYPE0.getRawClass().isAssignableFrom(nestedObject.getClass())) { oneOfObject.setValue(nestedObject); if (oneOfObject.getValue() != null) { return; } } if(ONE_OF_TYPE1.getRawClass().isAssignableFrom(nestedObject.getClass())) { oneOfObject.setValue(nestedObject); if (oneOfObject.getValue() != null) { return; } } throw new IllegalArgumentException("Attempting to set unsupported object type in OneOfReferenceDiskRecoveryPointWrapper:" + nestedObject.getClass().getName()); } public String getPackagePrefix() { return "com.nutanix.dp1.dat"; } } @com.fasterxml.jackson.annotation.JsonIgnore @lombok.Getter(lombok.AccessLevel.NONE) @lombok.Setter(lombok.AccessLevel.NONE) private com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference oneOfType0; @com.fasterxml.jackson.annotation.JsonIgnore @lombok.Getter(lombok.AccessLevel.NONE) @lombok.Setter(lombok.AccessLevel.NONE) private com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference oneOfType1; @lombok.Setter(lombok.AccessLevel.NONE) private String discriminator; @com.fasterxml.jackson.annotation.JsonIgnore @lombok.Setter(lombok.AccessLevel.NONE) private String $objectType; @com.fasterxml.jackson.annotation.JsonGetter public Object getValue() { if(oneOfType0 != null && oneOfType0.get$objectType().equals(this.discriminator)) { return this.oneOfType0; } if(oneOfType1 != null && oneOfType1.get$objectType().equals(this.discriminator)) { return this.oneOfType1; } throw new IllegalArgumentException("Unrecognized discriminator:" + this.discriminator); } public void setValue(Object value) { if(value == null) { log.warn("null passed to setValue function. OneOf's value will not be set."); return; } if (value instanceof com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference) { this.oneOfType0 = (com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference) value; this.discriminator = this.oneOfType0.get$objectType(); this.$objectType = this.oneOfType0.get$objectType(); return; } if (value instanceof com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference) { this.oneOfType1 = (com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference) value; this.discriminator = this.oneOfType1.get$objectType(); this.$objectType = this.oneOfType1.get$objectType(); return; } throw new IllegalArgumentException("Attempting to set unsupported object type in OneOfReferenceDiskRecoveryPointWrapper:" + value.getClass().getName()); } } private OneOfReferenceDiskRecoveryPointWrapper referenceDiskRecoveryPoint = null; /** * @param value value of one of field referenceDiskRecoveryPoint */ @com.fasterxml.jackson.annotation.JsonIgnore public void setReferenceDiskRecoveryPointInWrapper(Object value) { if (value == null) { return; } if (this.referenceDiskRecoveryPoint == null) { this.referenceDiskRecoveryPoint = new OneOfReferenceDiskRecoveryPointWrapper(); } this.referenceDiskRecoveryPoint.setValue(value); this.$referenceDiskRecoveryPointItemDiscriminator = this.referenceDiskRecoveryPoint.getDiscriminator(); } /** * Get referenceDiskRecoveryPoint in one of possible types : *
    *
  • com.nutanix.dp1.dat.dataprotection.v4.content.VmDiskRecoveryPointReference
  • *
  • com.nutanix.dp1.dat.dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference
  • *
* @return Object */ @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.nutanix.dp1.dat.serializers.DatOneOfSerializer.class) public Object getReferenceDiskRecoveryPoint() { if (this.referenceDiskRecoveryPoint == null) { log.debug("OneOf property referenceDiskRecoveryPoint was never set. Returning null..."); return null; } return this.referenceDiskRecoveryPoint.getValue(); } @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