/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. * * Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0 * Changes may cause incorrect behavior and will be lost if the code is * regenerated. */ package com.microsoft.azure.keyvault.models; import java.io.IOException; import java.util.Map; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.microsoft.azure.keyvault.SecretIdentifier; /** * A secret consisting of a value, id and its attributes. */ public class SecretBundle { /** * The secret value. */ @JsonProperty(value = "value") private String value; /** * The secret id. */ @JsonProperty(value = "id") private String id; /** * The content type of the secret. */ @JsonProperty(value = "contentType") private String contentType; /** * The secret management attributes. */ @JsonProperty(value = "attributes") private SecretAttributes attributes; /** * Application specific metadata in the form of key-value pairs. */ @JsonProperty(value = "tags") private Map<String, String> tags; /** * If this is a secret backing a KV certificate, then this field specifies * the corresponding key backing the KV certificate. */ @JsonProperty(value = "kid", access = JsonProperty.Access.WRITE_ONLY) private String kid; /** * True if the secret's lifetime is managed by key vault. If this is a * secret backing a certificate, then managed will be true. */ @JsonProperty(value = "managed", access = JsonProperty.Access.WRITE_ONLY) private Boolean managed; /** * Get the value value. * * @return the value value */ public String value() { return this.value; } /** * Set the value value. * * @param value the value value to set * @return the SecretBundle object itself. */ public SecretBundle withValue(String value) { this.value = value; return this; } /** * Get the id value. * * @return the id value */ public String id() { return this.id; } /** * Set the id value. * * @param id the id value to set * @return the SecretBundle object itself. */ public SecretBundle withId(String id) { this.id = id; return this; } /** * Get the contentType value. * * @return the contentType value */ public String contentType() { return this.contentType; } /** * Set the contentType value. * * @param contentType the contentType value to set * @return the SecretBundle object itself. */ public SecretBundle withContentType(String contentType) { this.contentType = contentType; return this; } /** * Get the attributes value. * * @return the attributes value */ public SecretAttributes attributes() { return this.attributes; } /** * Set the attributes value. * * @param attributes the attributes value to set * @return the SecretBundle object itself. */ public SecretBundle withAttributes(SecretAttributes attributes) { this.attributes = attributes; return this; } /** * Get the tags value. * * @return the tags value */ public Map<String, String> tags() { return this.tags; } /** * Set the tags value. * * @param tags the tags value to set * @return the SecretBundle object itself. */ public SecretBundle withTags(Map<String, String> tags) { this.tags = tags; return this; } /** * Get the kid value. * * @return the kid value */ public String kid() { return this.kid; } /** * Get the managed value. * * @return the managed value */ public Boolean managed() { return this.managed; } /** * the secret identifier. * @return The Identifier value */ public SecretIdentifier secretIdentifier() { if (id() == null || id().length() == 0) { return null; } return new SecretIdentifier(id()); } @Override public String toString() { ObjectMapper mapper = new ObjectMapper(); try { return mapper.writeValueAsString(this); } catch (JsonGenerationException e) { throw new IllegalStateException(e); } catch (JsonMappingException e) { throw new IllegalStateException(e); } catch (IOException e) { throw new IllegalStateException(e); } } }