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

com.pulumi.azurenative.keyvault.SecretArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.keyvault;

import com.pulumi.azurenative.keyvault.inputs.SecretPropertiesArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class SecretArgs extends com.pulumi.resources.ResourceArgs {

    public static final SecretArgs Empty = new SecretArgs();

    /**
     * Properties of the secret
     * 
     */
    @Import(name="properties", required=true)
    private Output properties;

    /**
     * @return Properties of the secret
     * 
     */
    public Output properties() {
        return this.properties;
    }

    /**
     * The name of the Resource Group to which the vault belongs.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the Resource Group to which the vault belongs.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Name of the secret. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.
     * 
     */
    @Import(name="secretName")
    private @Nullable Output secretName;

    /**
     * @return Name of the secret. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.
     * 
     */
    public Optional> secretName() {
        return Optional.ofNullable(this.secretName);
    }

    /**
     * The tags that will be assigned to the secret.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The tags that will be assigned to the secret.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Name of the vault
     * 
     */
    @Import(name="vaultName", required=true)
    private Output vaultName;

    /**
     * @return Name of the vault
     * 
     */
    public Output vaultName() {
        return this.vaultName;
    }

    private SecretArgs() {}

    private SecretArgs(SecretArgs $) {
        this.properties = $.properties;
        this.resourceGroupName = $.resourceGroupName;
        this.secretName = $.secretName;
        this.tags = $.tags;
        this.vaultName = $.vaultName;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(SecretArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private SecretArgs $;

        public Builder() {
            $ = new SecretArgs();
        }

        public Builder(SecretArgs defaults) {
            $ = new SecretArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param properties Properties of the secret
         * 
         * @return builder
         * 
         */
        public Builder properties(Output properties) {
            $.properties = properties;
            return this;
        }

        /**
         * @param properties Properties of the secret
         * 
         * @return builder
         * 
         */
        public Builder properties(SecretPropertiesArgs properties) {
            return properties(Output.of(properties));
        }

        /**
         * @param resourceGroupName The name of the Resource Group to which the vault belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the Resource Group to which the vault belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param secretName Name of the secret. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.
         * 
         * @return builder
         * 
         */
        public Builder secretName(@Nullable Output secretName) {
            $.secretName = secretName;
            return this;
        }

        /**
         * @param secretName Name of the secret. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.
         * 
         * @return builder
         * 
         */
        public Builder secretName(String secretName) {
            return secretName(Output.of(secretName));
        }

        /**
         * @param tags The tags that will be assigned to the secret.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The tags that will be assigned to the secret.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param vaultName Name of the vault
         * 
         * @return builder
         * 
         */
        public Builder vaultName(Output vaultName) {
            $.vaultName = vaultName;
            return this;
        }

        /**
         * @param vaultName Name of the vault
         * 
         * @return builder
         * 
         */
        public Builder vaultName(String vaultName) {
            return vaultName(Output.of(vaultName));
        }

        public SecretArgs build() {
            if ($.properties == null) {
                throw new MissingRequiredPropertyException("SecretArgs", "properties");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("SecretArgs", "resourceGroupName");
            }
            if ($.vaultName == null) {
                throw new MissingRequiredPropertyException("SecretArgs", "vaultName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy