com.piiano.vault.client.openapi.model.TokenRefMetadata Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openapi Show documentation
Show all versions of openapi Show documentation
Generated client for the open API of Piiano vault
/*
* Piiano Vault REST API
* --- sidebar_position: 1 sidebar_label: Overview description: The Piiano Vault REST API enables you to access and manage collections, objects, tokens, users, policies, and other resources within Piiano Vault. slug: / --- # Introduction The Piiano Vault REST API enables you to access and manage collections, objects, tokens, users, policies, and other resources within Piiano Vault in a simple, programmatic way using conventional HTTP requests and standard HTTP response codes. The API follows RESTful conventions when possible, with most operations performed by `GET`, `POST`, `PUT`, `PATCH`, and `DELETE` requests. Request and response bodies are [JSON-encoded](https://www.json.org/json-en.html). However, for collection operations, an SQL-like [PVSchema](/guides/reference/pvschema) encoding is available. This API reference provides details for each operation available in the API. When you install a local copy of Vault, you can try each operation using **Send API request**. An OpenAPI specification is available in [YAML](@site/static/assets/openapi.yaml) and [JSON](@site/static/assets/openapi.json) formats and can be used to generate client code for the API.
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.piiano.vault.client.openapi.model;
import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import com.piiano.vault.client.openapi.JSON;
/**
* TokenRefMetadata
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-08-15T11:38:23.394549Z[Etc/UTC]")
public class TokenRefMetadata {
public static final String SERIALIZED_NAME_CREATION_TIME = "creation_time";
@SerializedName(SERIALIZED_NAME_CREATION_TIME)
private OffsetDateTime creationTime;
public static final String SERIALIZED_NAME_EFFECTIVE_EXPIRATION_TIME = "effective_expiration_time";
@SerializedName(SERIALIZED_NAME_EFFECTIVE_EXPIRATION_TIME)
private OffsetDateTime effectiveExpirationTime;
public static final String SERIALIZED_NAME_EXPIRATION_TIME = "expiration_time";
@SerializedName(SERIALIZED_NAME_EXPIRATION_TIME)
private OffsetDateTime expirationTime;
public static final String SERIALIZED_NAME_OBJECT_ID = "object_id";
@SerializedName(SERIALIZED_NAME_OBJECT_ID)
private UUID objectId;
public static final String SERIALIZED_NAME_EFFECTIVE_TENANT_ID = "effective_tenant_id";
@SerializedName(SERIALIZED_NAME_EFFECTIVE_TENANT_ID)
private String effectiveTenantId;
public static final String SERIALIZED_NAME_TAGS = "tags";
@SerializedName(SERIALIZED_NAME_TAGS)
private List tags = new ArrayList<>();
public TokenRefMetadata() {
}
public TokenRefMetadata creationTime(OffsetDateTime creationTime) {
this.creationTime = creationTime;
return this;
}
/**
* Creation time of the token (UTC).
* @return creationTime
**/
@javax.annotation.Nonnull
public OffsetDateTime getCreationTime() {
return creationTime;
}
public void setCreationTime(OffsetDateTime creationTime) {
this.creationTime = creationTime;
}
public TokenRefMetadata effectiveExpirationTime(OffsetDateTime effectiveExpirationTime) {
this.effectiveExpirationTime = effectiveExpirationTime;
return this;
}
/**
* Effective expiry time of the token (UTC), being the earliest of the expiry time of the token or the object owning the token, if any.
* @return effectiveExpirationTime
**/
@javax.annotation.Nullable
public OffsetDateTime getEffectiveExpirationTime() {
return effectiveExpirationTime;
}
public void setEffectiveExpirationTime(OffsetDateTime effectiveExpirationTime) {
this.effectiveExpirationTime = effectiveExpirationTime;
}
public TokenRefMetadata expirationTime(OffsetDateTime expirationTime) {
this.expirationTime = expirationTime;
return this;
}
/**
* Expiry time of the token (UTC).
* @return expirationTime
**/
@javax.annotation.Nullable
public OffsetDateTime getExpirationTime() {
return expirationTime;
}
public void setExpirationTime(OffsetDateTime expirationTime) {
this.expirationTime = expirationTime;
}
public TokenRefMetadata objectId(UUID objectId) {
this.objectId = objectId;
return this;
}
/**
* The object this token is for.
* @return objectId
**/
@javax.annotation.Nullable
public UUID getObjectId() {
return objectId;
}
public void setObjectId(UUID objectId) {
this.objectId = objectId;
}
public TokenRefMetadata effectiveTenantId(String effectiveTenantId) {
this.effectiveTenantId = effectiveTenantId;
return this;
}
/**
* The tenant ID of the tokens.
* @return effectiveTenantId
**/
@javax.annotation.Nullable
public String getEffectiveTenantId() {
return effectiveTenantId;
}
public void setEffectiveTenantId(String effectiveTenantId) {
this.effectiveTenantId = effectiveTenantId;
}
public TokenRefMetadata tags(List tags) {
this.tags = tags;
return this;
}
public TokenRefMetadata addTagsItem(String tagsItem) {
this.tags.add(tagsItem);
return this;
}
/**
* Tags associated with the token. When token ID is reused, this is all the tags from the tokens that share the ID.
* @return tags
**/
@javax.annotation.Nonnull
public List getTags() {
return tags;
}
public void setTags(List tags) {
this.tags = tags;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
TokenRefMetadata tokenRefMetadata = (TokenRefMetadata) o;
return Objects.equals(this.creationTime, tokenRefMetadata.creationTime) &&
Objects.equals(this.effectiveExpirationTime, tokenRefMetadata.effectiveExpirationTime) &&
Objects.equals(this.expirationTime, tokenRefMetadata.expirationTime) &&
Objects.equals(this.objectId, tokenRefMetadata.objectId) &&
Objects.equals(this.effectiveTenantId, tokenRefMetadata.effectiveTenantId) &&
Objects.equals(this.tags, tokenRefMetadata.tags);
}
@Override
public int hashCode() {
return Objects.hash(creationTime, effectiveExpirationTime, expirationTime, objectId, effectiveTenantId, tags);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class TokenRefMetadata {\n");
sb.append(" creationTime: ").append(toIndentedString(creationTime)).append("\n");
sb.append(" effectiveExpirationTime: ").append(toIndentedString(effectiveExpirationTime)).append("\n");
sb.append(" expirationTime: ").append(toIndentedString(expirationTime)).append("\n");
sb.append(" objectId: ").append(toIndentedString(objectId)).append("\n");
sb.append(" effectiveTenantId: ").append(toIndentedString(effectiveTenantId)).append("\n");
sb.append(" tags: ").append(toIndentedString(tags)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
public static HashSet openapiFields;
public static HashSet openapiRequiredFields;
static {
// a set of all properties/fields (JSON key names)
openapiFields = new HashSet();
openapiFields.add("creation_time");
openapiFields.add("effective_expiration_time");
openapiFields.add("expiration_time");
openapiFields.add("object_id");
openapiFields.add("effective_tenant_id");
openapiFields.add("tags");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
openapiRequiredFields.add("creation_time");
openapiRequiredFields.add("effective_expiration_time");
openapiRequiredFields.add("expiration_time");
openapiRequiredFields.add("tags");
}
/**
* Validates the JSON Object and throws an exception if issues found
*
* @param jsonObj JSON Object
* @throws IOException if the JSON Object is invalid with respect to TokenRefMetadata
*/
public static void validateJsonObject(JsonObject jsonObj) throws IOException {
if (jsonObj == null) {
if (!TokenRefMetadata.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
throw new IllegalArgumentException(String.format("The required field(s) %s in TokenRefMetadata is not found in the empty JSON string", TokenRefMetadata.openapiRequiredFields.toString()));
}
}
Set> entries = jsonObj.entrySet();
// check to see if the JSON string contains additional fields
for (Entry entry : entries) {
if (!TokenRefMetadata.openapiFields.contains(entry.getKey())) {
throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `TokenRefMetadata` properties. JSON: %s", entry.getKey(), jsonObj.toString()));
}
}
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : TokenRefMetadata.openapiRequiredFields) {
if (jsonObj.get(requiredField) == null) {
throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString()));
}
}
if ((jsonObj.get("object_id") != null && !jsonObj.get("object_id").isJsonNull()) && !jsonObj.get("object_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `object_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("object_id").toString()));
}
if ((jsonObj.get("effective_tenant_id") != null && !jsonObj.get("effective_tenant_id").isJsonNull()) && !jsonObj.get("effective_tenant_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `effective_tenant_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("effective_tenant_id").toString()));
}
// ensure the required json array is present
if (jsonObj.get("tags") == null) {
throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`");
} else if (!jsonObj.get("tags").isJsonArray()) {
throw new IllegalArgumentException(String.format("Expected the field `tags` to be an array in the JSON string but got `%s`", jsonObj.get("tags").toString()));
}
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
@SuppressWarnings("unchecked")
@Override
public TypeAdapter create(Gson gson, TypeToken type) {
if (!TokenRefMetadata.class.isAssignableFrom(type.getRawType())) {
return null; // this class only serializes 'TokenRefMetadata' and its subtypes
}
final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
final TypeAdapter thisAdapter
= gson.getDelegateAdapter(this, TypeToken.get(TokenRefMetadata.class));
return (TypeAdapter) new TypeAdapter() {
@Override
public void write(JsonWriter out, TokenRefMetadata value) throws IOException {
JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
@Override
public TokenRefMetadata read(JsonReader in) throws IOException {
JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
validateJsonObject(jsonObj);
return thisAdapter.fromJsonTree(jsonObj);
}
}.nullSafe();
}
}
/**
* Create an instance of TokenRefMetadata given an JSON string
*
* @param jsonString JSON string
* @return An instance of TokenRefMetadata
* @throws IOException if the JSON string is invalid with respect to TokenRefMetadata
*/
public static TokenRefMetadata fromJson(String jsonString) throws IOException {
return JSON.getGson().fromJson(jsonString, TokenRefMetadata.class);
}
/**
* Convert an instance of TokenRefMetadata to an JSON string
*
* @return JSON string
*/
public String toJson() {
return JSON.getGson().toJson(this);
}
}