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

com.pulumi.azurenative.compute.inputs.VMDiskSecurityProfileArgs 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.compute.inputs;

import com.pulumi.azurenative.compute.enums.SecurityEncryptionTypes;
import com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs;
import com.pulumi.core.Either;
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;


/**
 * Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs.
 * 
 */
public final class VMDiskSecurityProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final VMDiskSecurityProfileArgs Empty = new VMDiskSecurityProfileArgs();

    /**
     * Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
     * 
     */
    @Import(name="diskEncryptionSet")
    private @Nullable Output diskEncryptionSet;

    /**
     * @return Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
     * 
     */
    public Optional> diskEncryptionSet() {
        return Optional.ofNullable(this.diskEncryptionSet);
    }

    /**
     * Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs.
     * 
     */
    @Import(name="securityEncryptionType")
    private @Nullable Output> securityEncryptionType;

    /**
     * @return Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs.
     * 
     */
    public Optional>> securityEncryptionType() {
        return Optional.ofNullable(this.securityEncryptionType);
    }

    private VMDiskSecurityProfileArgs() {}

    private VMDiskSecurityProfileArgs(VMDiskSecurityProfileArgs $) {
        this.diskEncryptionSet = $.diskEncryptionSet;
        this.securityEncryptionType = $.securityEncryptionType;
    }

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

    public static final class Builder {
        private VMDiskSecurityProfileArgs $;

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

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

        /**
         * @param diskEncryptionSet Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
         * 
         * @return builder
         * 
         */
        public Builder diskEncryptionSet(@Nullable Output diskEncryptionSet) {
            $.diskEncryptionSet = diskEncryptionSet;
            return this;
        }

        /**
         * @param diskEncryptionSet Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
         * 
         * @return builder
         * 
         */
        public Builder diskEncryptionSet(DiskEncryptionSetParametersArgs diskEncryptionSet) {
            return diskEncryptionSet(Output.of(diskEncryptionSet));
        }

        /**
         * @param securityEncryptionType Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs.
         * 
         * @return builder
         * 
         */
        public Builder securityEncryptionType(@Nullable Output> securityEncryptionType) {
            $.securityEncryptionType = securityEncryptionType;
            return this;
        }

        /**
         * @param securityEncryptionType Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs.
         * 
         * @return builder
         * 
         */
        public Builder securityEncryptionType(Either securityEncryptionType) {
            return securityEncryptionType(Output.of(securityEncryptionType));
        }

        /**
         * @param securityEncryptionType Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs.
         * 
         * @return builder
         * 
         */
        public Builder securityEncryptionType(String securityEncryptionType) {
            return securityEncryptionType(Either.ofLeft(securityEncryptionType));
        }

        /**
         * @param securityEncryptionType Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs.
         * 
         * @return builder
         * 
         */
        public Builder securityEncryptionType(SecurityEncryptionTypes securityEncryptionType) {
            return securityEncryptionType(Either.ofRight(securityEncryptionType));
        }

        public VMDiskSecurityProfileArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy