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

com.pulumi.alicloud.hbr.inputs.VaultState Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.hbr.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final VaultState Empty = new VaultState();

    /**
     * The description of Vault. Defaults to an empty string.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of Vault. Defaults to an empty string.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Source Encryption Type,It is valid only when vault_type is `STANDARD` or `OTS_BACKUP`. Default value: `HBR_PRIVATE`. Valid values:
     * - `HBR_PRIVATE`: HBR is fully hosted, uses the backup service's own encryption method.
     * - `KMS`: Use Alibaba Cloud Kms to encryption.
     * 
     */
    @Import(name="encryptType")
    private @Nullable Output encryptType;

    /**
     * @return Source Encryption Type,It is valid only when vault_type is `STANDARD` or `OTS_BACKUP`. Default value: `HBR_PRIVATE`. Valid values:
     * - `HBR_PRIVATE`: HBR is fully hosted, uses the backup service's own encryption method.
     * - `KMS`: Use Alibaba Cloud Kms to encryption.
     * 
     */
    public Optional> encryptType() {
        return Optional.ofNullable(this.encryptType);
    }

    /**
     * The key id or alias name of Alibaba Cloud Kms. It is required and valid only when encrypt_type is `KMS`.
     * 
     */
    @Import(name="kmsKeyId")
    private @Nullable Output kmsKeyId;

    /**
     * @return The key id or alias name of Alibaba Cloud Kms. It is required and valid only when encrypt_type is `KMS`.
     * 
     */
    public Optional> kmsKeyId() {
        return Optional.ofNullable(this.kmsKeyId);
    }

    /**
     * The status of the Vault.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the Vault.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The name of Vault.
     * 
     */
    @Import(name="vaultName")
    private @Nullable Output vaultName;

    /**
     * @return The name of Vault.
     * 
     */
    public Optional> vaultName() {
        return Optional.ofNullable(this.vaultName);
    }

    /**
     * The storage class of Vault. Valid values: `STANDARD`.
     * 
     */
    @Import(name="vaultStorageClass")
    private @Nullable Output vaultStorageClass;

    /**
     * @return The storage class of Vault. Valid values: `STANDARD`.
     * 
     */
    public Optional> vaultStorageClass() {
        return Optional.ofNullable(this.vaultStorageClass);
    }

    /**
     * The type of Vault. Valid values: `STANDARD`, `OTS_BACKUP`.
     * 
     */
    @Import(name="vaultType")
    private @Nullable Output vaultType;

    /**
     * @return The type of Vault. Valid values: `STANDARD`, `OTS_BACKUP`.
     * 
     */
    public Optional> vaultType() {
        return Optional.ofNullable(this.vaultType);
    }

    private VaultState() {}

    private VaultState(VaultState $) {
        this.description = $.description;
        this.encryptType = $.encryptType;
        this.kmsKeyId = $.kmsKeyId;
        this.status = $.status;
        this.vaultName = $.vaultName;
        this.vaultStorageClass = $.vaultStorageClass;
        this.vaultType = $.vaultType;
    }

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

    public static final class Builder {
        private VaultState $;

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

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

        /**
         * @param description The description of Vault. Defaults to an empty string.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of Vault. Defaults to an empty string.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param encryptType Source Encryption Type,It is valid only when vault_type is `STANDARD` or `OTS_BACKUP`. Default value: `HBR_PRIVATE`. Valid values:
         * - `HBR_PRIVATE`: HBR is fully hosted, uses the backup service's own encryption method.
         * - `KMS`: Use Alibaba Cloud Kms to encryption.
         * 
         * @return builder
         * 
         */
        public Builder encryptType(@Nullable Output encryptType) {
            $.encryptType = encryptType;
            return this;
        }

        /**
         * @param encryptType Source Encryption Type,It is valid only when vault_type is `STANDARD` or `OTS_BACKUP`. Default value: `HBR_PRIVATE`. Valid values:
         * - `HBR_PRIVATE`: HBR is fully hosted, uses the backup service's own encryption method.
         * - `KMS`: Use Alibaba Cloud Kms to encryption.
         * 
         * @return builder
         * 
         */
        public Builder encryptType(String encryptType) {
            return encryptType(Output.of(encryptType));
        }

        /**
         * @param kmsKeyId The key id or alias name of Alibaba Cloud Kms. It is required and valid only when encrypt_type is `KMS`.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(@Nullable Output kmsKeyId) {
            $.kmsKeyId = kmsKeyId;
            return this;
        }

        /**
         * @param kmsKeyId The key id or alias name of Alibaba Cloud Kms. It is required and valid only when encrypt_type is `KMS`.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(String kmsKeyId) {
            return kmsKeyId(Output.of(kmsKeyId));
        }

        /**
         * @param status The status of the Vault.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the Vault.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param vaultName The name of Vault.
         * 
         * @return builder
         * 
         */
        public Builder vaultName(@Nullable Output vaultName) {
            $.vaultName = vaultName;
            return this;
        }

        /**
         * @param vaultName The name of Vault.
         * 
         * @return builder
         * 
         */
        public Builder vaultName(String vaultName) {
            return vaultName(Output.of(vaultName));
        }

        /**
         * @param vaultStorageClass The storage class of Vault. Valid values: `STANDARD`.
         * 
         * @return builder
         * 
         */
        public Builder vaultStorageClass(@Nullable Output vaultStorageClass) {
            $.vaultStorageClass = vaultStorageClass;
            return this;
        }

        /**
         * @param vaultStorageClass The storage class of Vault. Valid values: `STANDARD`.
         * 
         * @return builder
         * 
         */
        public Builder vaultStorageClass(String vaultStorageClass) {
            return vaultStorageClass(Output.of(vaultStorageClass));
        }

        /**
         * @param vaultType The type of Vault. Valid values: `STANDARD`, `OTS_BACKUP`.
         * 
         * @return builder
         * 
         */
        public Builder vaultType(@Nullable Output vaultType) {
            $.vaultType = vaultType;
            return this;
        }

        /**
         * @param vaultType The type of Vault. Valid values: `STANDARD`, `OTS_BACKUP`.
         * 
         * @return builder
         * 
         */
        public Builder vaultType(String vaultType) {
            return vaultType(Output.of(vaultType));
        }

        public VaultState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy