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

com.nutanix.dp1.vmm.common.v1.response.ExternalizableAbstractModel Maven / Gradle / Ivy

/*
 * Generated file ..
 *
 * Product version: 4.0.3-alpha-1
 *
 * Part of the Nutanix Vmm Versioned APIs
 *
 * (c) 2023 Nutanix Inc.  All rights reserved
 *
 */

package com.nutanix.dp1.vmm.common.v1.response;

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 com.nutanix.dp1.vmm.deserializers.VmmObjectTypeTypedObject;

import javax.validation.constraints.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import static com.nutanix.dp1.vmm.deserializers.VmmDeserializerUtils.*;


/**
 * A model that represents an object instance that is accessible through an API endpoint.  Instances of this type get an extId field that contains the globally unique identifier for that instance.  Externally accessible instances are always tenant aware and therefore extend the TenantAwareModel
 * 
 */


@EqualsAndHashCode(callSuper=true)
@Data
@lombok.extern.slf4j.Slf4j
public class ExternalizableAbstractModel extends com.nutanix.dp1.vmm.common.v1.config.TenantAwareModel implements java.io.Serializable, VmmObjectTypeTypedObject {

  

  public ExternalizableAbstractModel() {
    super();
    
  }

  @lombok.Builder(builderMethodName = "ExternalizableAbstractModelBuilder")
  public ExternalizableAbstractModel(String tenantId, String extId, java.util.List links) {
    super(tenantId);

    this.setExtId(extId);

    this.setLinks(links);
  }

  @Override 
  protected String initialize$objectType() {
    return "common.v1.response.ExternalizableAbstractModel";
  }

  @Override 
  protected String initialize$fqObjectType() {
    return "common.v1.r0.a3.response.ExternalizableAbstractModel";
  }


  

    
    
    
    private List links = null;
  
    /**
     * A HATEOAS style link for the response.  Each link contains a user friendly name identifying the link and an address for retrieving the particular resource.

     */
    public void setLinks(List links) {
      if (this.links == null) {
        this.links = links;
      }
      else {
        log.warn("Read-only property links already contains a non-null value and cannot be set again");
      }
    }
  
  

  
    /**
    * A globally unique identifier of an instance that is suitable for external consumption.

    */
    @javax.validation.constraints.Null
    @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}$")
    @javax.validation.constraints.NotNull
    
    @JsonProperty("extId")
    public String extId = null;
  
  

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy