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

com.pulumi.azurenative.compute.inputs.KeyForDiskEncryptionSetArgs Maven / Gradle / Ivy

// *** 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.compute.inputs;

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


/**
 * Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots
 * 
 */
public final class KeyForDiskEncryptionSetArgs extends com.pulumi.resources.ResourceArgs {

    public static final KeyForDiskEncryptionSetArgs Empty = new KeyForDiskEncryptionSetArgs();

    /**
     * Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value.
     * 
     */
    @Import(name="keyUrl", required=true)
    private Output keyUrl;

    /**
     * @return Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value.
     * 
     */
    public Output keyUrl() {
        return this.keyUrl;
    }

    /**
     * Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription.
     * 
     */
    @Import(name="sourceVault")
    private @Nullable Output sourceVault;

    /**
     * @return Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription.
     * 
     */
    public Optional> sourceVault() {
        return Optional.ofNullable(this.sourceVault);
    }

    private KeyForDiskEncryptionSetArgs() {}

    private KeyForDiskEncryptionSetArgs(KeyForDiskEncryptionSetArgs $) {
        this.keyUrl = $.keyUrl;
        this.sourceVault = $.sourceVault;
    }

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

    public static final class Builder {
        private KeyForDiskEncryptionSetArgs $;

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

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

        /**
         * @param keyUrl Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value.
         * 
         * @return builder
         * 
         */
        public Builder keyUrl(Output keyUrl) {
            $.keyUrl = keyUrl;
            return this;
        }

        /**
         * @param keyUrl Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value.
         * 
         * @return builder
         * 
         */
        public Builder keyUrl(String keyUrl) {
            return keyUrl(Output.of(keyUrl));
        }

        /**
         * @param sourceVault Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription.
         * 
         * @return builder
         * 
         */
        public Builder sourceVault(@Nullable Output sourceVault) {
            $.sourceVault = sourceVault;
            return this;
        }

        /**
         * @param sourceVault Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription.
         * 
         * @return builder
         * 
         */
        public Builder sourceVault(SourceVaultArgs sourceVault) {
            return sourceVault(Output.of(sourceVault));
        }

        public KeyForDiskEncryptionSetArgs build() {
            if ($.keyUrl == null) {
                throw new MissingRequiredPropertyException("KeyForDiskEncryptionSetArgs", "keyUrl");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy