com.nutanix.dp1.pri.prism.v4.config.AssociationDetail Maven / Gradle / Ivy
/*
* Generated file ..
*
* Product version: 4.0.3-alpha-2
*
* Part of the Nutanix Prism Versioned APIs
*
* (c) 2023 Nutanix Inc. All rights reserved
*
*/
package com.nutanix.dp1.pri.prism.v4.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.pri.deserializers.PriObjectTypeTypedObject;
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.pri.deserializers.PriDeserializerUtils.*;
/**
* This attribute contains the list of entities and policies which have been assigned the given category.
* These entities are grouped by entity types (like VM or HOST) or policy types (like PROTECTION_POLICY or NGT_POLICY)
* Each associated object contains the total entities belonging to the given entity type, count, category extId, and
* references (for example for VM it'd be VM uuid).
*
*/
@Data
@lombok.extern.slf4j.Slf4j
public class AssociationDetail implements java.io.Serializable, PriObjectTypeTypedObject {
public AssociationDetail() {
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 = "AssociationDetailBuilder")
public AssociationDetail(String categoryId, com.nutanix.dp1.pri.prism.v4.config.ResourceType resourceType, com.nutanix.dp1.pri.prism.v4.config.ResourceGroup resourceGroup, Integer count, java.util.List resourceIdList) {
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.setCategoryId(categoryId);
this.setResourceType(resourceType);
this.setResourceGroup(resourceGroup);
this.setCount(count);
this.setResourceIdList(resourceIdList);
}
protected String initialize$objectType() {
return "prism.v4.config.AssociationDetail";
}
protected String initialize$fqObjectType() {
return "prism.v4.r0.a2.config.AssociationDetail";
}
@JsonAnySetter
private void setUndeserializedFields(String name, String value) {
$unknownFields.put(name, value);
}
/**
* External identifier for the given category, used across all v4 apis/entities/resources where categories are referenced.
The field has UUID format.
A type 4 UUID is generated during category creation.
*/
@JsonProperty("categoryId")
public String categoryId = null;
/**
*
*/
@JsonProperty("resourceType")
public com.nutanix.dp1.pri.prism.v4.config.ResourceType resourceType = null;
/**
*
*/
@JsonProperty("resourceGroup")
public com.nutanix.dp1.pri.prism.v4.config.ResourceGroup resourceGroup = null;
/**
* Count of associations of a particular type of entity or policy
*/
@JsonProperty("count")
public Integer count = null;
/**
* List of entity or policy UUIDs associated with the particular category.
*/
@JsonProperty("resourceIdList")
public List resourceIdList = 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;
}