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

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

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.vmm.deserializers.VmmDeserializerUtils.*;


/**
 * Metadata associated with this resource.
 * 
 */



@Data
@lombok.extern.slf4j.Slf4j
public class Metadata implements java.io.Serializable, VmmObjectTypeTypedObject {

  

  public Metadata() {

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

  }

  @lombok.Builder(builderMethodName = "MetadataBuilder")
  public Metadata(String ownerReferenceId, String ownerUserName, String projectReferenceId, String projectName, java.util.List categoryIds) {
    this.$objectType = this.initialize$objectType();
    this.$reserved = new java.util.LinkedHashMap<>();
    this.$reserved.put("$fqObjectType", this.initialize$fqObjectType());
    this.$unknownFields = new java.util.LinkedHashMap<>();

    this.setOwnerReferenceId(ownerReferenceId);

    this.setOwnerUserName(ownerUserName);

    this.setProjectReferenceId(projectReferenceId);

    this.setProjectName(projectName);

    this.setCategoryIds(categoryIds);
  }


  protected String initialize$objectType() {
    return "common.v1.config.Metadata";
  }


  protected String initialize$fqObjectType() {
    return "common.v1.r0.a3.config.Metadata";
  }

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


  
  

  
    /**
    * A globally unique identifier that represents the owner of this 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("ownerReferenceId")
    public String ownerReferenceId = null;
  
  

  
    /**
    * The userName of the owner of this resource.

    */
    @javax.validation.constraints.Size(max = 128)
    
    @JsonProperty("ownerUserName")
    public String ownerUserName = null;
  
  

  
    /**
    * A globally unique identifier that represents the project this resource belongs to.

    */
    @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("projectReferenceId")
    public String projectReferenceId = null;
  
  

  
    /**
    * The name of the project this resource belongs to.

    */
    @javax.validation.constraints.Size(max = 128)
    
    @JsonProperty("projectName")
    public String projectName = null;
  
  

  
    /**
    * A list of globally unique identifiers that represent all the categories the resource is associated with.

    */
    
    @JsonProperty("categoryIds")
    public List categoryIds = null;
  
  

  
    
    
    @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 - 2024 Weber Informatics LLC | Privacy Policy