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

com.pulumi.azurenative.recoveryservices.inputs.A2AProtectedManagedDiskDetailsArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.recoveryservices.inputs;

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


/**
 * A2A protected managed disk details.
 * 
 */
public final class A2AProtectedManagedDiskDetailsArgs extends com.pulumi.resources.ResourceArgs {

    public static final A2AProtectedManagedDiskDetailsArgs Empty = new A2AProtectedManagedDiskDetailsArgs();

    /**
     * The disk level operations list.
     * 
     */
    @Import(name="allowedDiskLevelOperation")
    private @Nullable Output> allowedDiskLevelOperation;

    /**
     * @return The disk level operations list.
     * 
     */
    public Optional>> allowedDiskLevelOperation() {
        return Optional.ofNullable(this.allowedDiskLevelOperation);
    }

    /**
     * The data pending at source virtual machine in MB.
     * 
     */
    @Import(name="dataPendingAtSourceAgentInMB")
    private @Nullable Output dataPendingAtSourceAgentInMB;

    /**
     * @return The data pending at source virtual machine in MB.
     * 
     */
    public Optional> dataPendingAtSourceAgentInMB() {
        return Optional.ofNullable(this.dataPendingAtSourceAgentInMB);
    }

    /**
     * The data pending for replication in MB at staging account.
     * 
     */
    @Import(name="dataPendingInStagingStorageAccountInMB")
    private @Nullable Output dataPendingInStagingStorageAccountInMB;

    /**
     * @return The data pending for replication in MB at staging account.
     * 
     */
    public Optional> dataPendingInStagingStorageAccountInMB() {
        return Optional.ofNullable(this.dataPendingInStagingStorageAccountInMB);
    }

    /**
     * The KeyVault resource id for secret (BEK).
     * 
     */
    @Import(name="dekKeyVaultArmId")
    private @Nullable Output dekKeyVaultArmId;

    /**
     * @return The KeyVault resource id for secret (BEK).
     * 
     */
    public Optional> dekKeyVaultArmId() {
        return Optional.ofNullable(this.dekKeyVaultArmId);
    }

    /**
     * The disk capacity in bytes.
     * 
     */
    @Import(name="diskCapacityInBytes")
    private @Nullable Output diskCapacityInBytes;

    /**
     * @return The disk capacity in bytes.
     * 
     */
    public Optional> diskCapacityInBytes() {
        return Optional.ofNullable(this.diskCapacityInBytes);
    }

    /**
     * The managed disk Arm id.
     * 
     */
    @Import(name="diskId")
    private @Nullable Output diskId;

    /**
     * @return The managed disk Arm id.
     * 
     */
    public Optional> diskId() {
        return Optional.ofNullable(this.diskId);
    }

    /**
     * The disk name.
     * 
     */
    @Import(name="diskName")
    private @Nullable Output diskName;

    /**
     * @return The disk name.
     * 
     */
    public Optional> diskName() {
        return Optional.ofNullable(this.diskName);
    }

    /**
     * The disk state.
     * 
     */
    @Import(name="diskState")
    private @Nullable Output diskState;

    /**
     * @return The disk state.
     * 
     */
    public Optional> diskState() {
        return Optional.ofNullable(this.diskState);
    }

    /**
     * The type of disk.
     * 
     */
    @Import(name="diskType")
    private @Nullable Output diskType;

    /**
     * @return The type of disk.
     * 
     */
    public Optional> diskType() {
        return Optional.ofNullable(this.diskType);
    }

    /**
     * The failover name for the managed disk.
     * 
     */
    @Import(name="failoverDiskName")
    private @Nullable Output failoverDiskName;

    /**
     * @return The failover name for the managed disk.
     * 
     */
    public Optional> failoverDiskName() {
        return Optional.ofNullable(this.failoverDiskName);
    }

    /**
     * A value indicating whether vm has encrypted os disk or not.
     * 
     */
    @Import(name="isDiskEncrypted")
    private @Nullable Output isDiskEncrypted;

    /**
     * @return A value indicating whether vm has encrypted os disk or not.
     * 
     */
    public Optional> isDiskEncrypted() {
        return Optional.ofNullable(this.isDiskEncrypted);
    }

    /**
     * A value indicating whether disk key got encrypted or not.
     * 
     */
    @Import(name="isDiskKeyEncrypted")
    private @Nullable Output isDiskKeyEncrypted;

    /**
     * @return A value indicating whether disk key got encrypted or not.
     * 
     */
    public Optional> isDiskKeyEncrypted() {
        return Optional.ofNullable(this.isDiskKeyEncrypted);
    }

    /**
     * The KeyVault resource id for key (KEK).
     * 
     */
    @Import(name="kekKeyVaultArmId")
    private @Nullable Output kekKeyVaultArmId;

    /**
     * @return The KeyVault resource id for key (KEK).
     * 
     */
    public Optional> kekKeyVaultArmId() {
        return Optional.ofNullable(this.kekKeyVaultArmId);
    }

    /**
     * The key URL / identifier (KEK).
     * 
     */
    @Import(name="keyIdentifier")
    private @Nullable Output keyIdentifier;

    /**
     * @return The key URL / identifier (KEK).
     * 
     */
    public Optional> keyIdentifier() {
        return Optional.ofNullable(this.keyIdentifier);
    }

    /**
     * The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.
     * 
     */
    @Import(name="monitoringJobType")
    private @Nullable Output monitoringJobType;

    /**
     * @return The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.
     * 
     */
    public Optional> monitoringJobType() {
        return Optional.ofNullable(this.monitoringJobType);
    }

    /**
     * The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.
     * 
     */
    @Import(name="monitoringPercentageCompletion")
    private @Nullable Output monitoringPercentageCompletion;

    /**
     * @return The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.
     * 
     */
    public Optional> monitoringPercentageCompletion() {
        return Optional.ofNullable(this.monitoringPercentageCompletion);
    }

    /**
     * The primary disk encryption set Id.
     * 
     */
    @Import(name="primaryDiskEncryptionSetId")
    private @Nullable Output primaryDiskEncryptionSetId;

    /**
     * @return The primary disk encryption set Id.
     * 
     */
    public Optional> primaryDiskEncryptionSetId() {
        return Optional.ofNullable(this.primaryDiskEncryptionSetId);
    }

    /**
     * The primary staging storage account.
     * 
     */
    @Import(name="primaryStagingAzureStorageAccountId")
    private @Nullable Output primaryStagingAzureStorageAccountId;

    /**
     * @return The primary staging storage account.
     * 
     */
    public Optional> primaryStagingAzureStorageAccountId() {
        return Optional.ofNullable(this.primaryStagingAzureStorageAccountId);
    }

    /**
     * The recovery disk encryption set Id.
     * 
     */
    @Import(name="recoveryDiskEncryptionSetId")
    private @Nullable Output recoveryDiskEncryptionSetId;

    /**
     * @return The recovery disk encryption set Id.
     * 
     */
    public Optional> recoveryDiskEncryptionSetId() {
        return Optional.ofNullable(this.recoveryDiskEncryptionSetId);
    }

    /**
     * Recovery original target disk Arm Id.
     * 
     */
    @Import(name="recoveryOrignalTargetDiskId")
    private @Nullable Output recoveryOrignalTargetDiskId;

    /**
     * @return Recovery original target disk Arm Id.
     * 
     */
    public Optional> recoveryOrignalTargetDiskId() {
        return Optional.ofNullable(this.recoveryOrignalTargetDiskId);
    }

    /**
     * The replica disk type. Its an optional value and will be same as source disk type if not user provided.
     * 
     */
    @Import(name="recoveryReplicaDiskAccountType")
    private @Nullable Output recoveryReplicaDiskAccountType;

    /**
     * @return The replica disk type. Its an optional value and will be same as source disk type if not user provided.
     * 
     */
    public Optional> recoveryReplicaDiskAccountType() {
        return Optional.ofNullable(this.recoveryReplicaDiskAccountType);
    }

    /**
     * Recovery replica disk Arm Id.
     * 
     */
    @Import(name="recoveryReplicaDiskId")
    private @Nullable Output recoveryReplicaDiskId;

    /**
     * @return Recovery replica disk Arm Id.
     * 
     */
    public Optional> recoveryReplicaDiskId() {
        return Optional.ofNullable(this.recoveryReplicaDiskId);
    }

    /**
     * The recovery disk resource group Arm Id.
     * 
     */
    @Import(name="recoveryResourceGroupId")
    private @Nullable Output recoveryResourceGroupId;

    /**
     * @return The recovery disk resource group Arm Id.
     * 
     */
    public Optional> recoveryResourceGroupId() {
        return Optional.ofNullable(this.recoveryResourceGroupId);
    }

    /**
     * The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.
     * 
     */
    @Import(name="recoveryTargetDiskAccountType")
    private @Nullable Output recoveryTargetDiskAccountType;

    /**
     * @return The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.
     * 
     */
    public Optional> recoveryTargetDiskAccountType() {
        return Optional.ofNullable(this.recoveryTargetDiskAccountType);
    }

    /**
     * Recovery target disk Arm Id.
     * 
     */
    @Import(name="recoveryTargetDiskId")
    private @Nullable Output recoveryTargetDiskId;

    /**
     * @return Recovery target disk Arm Id.
     * 
     */
    public Optional> recoveryTargetDiskId() {
        return Optional.ofNullable(this.recoveryTargetDiskId);
    }

    /**
     * A value indicating whether resync is required for this disk.
     * 
     */
    @Import(name="resyncRequired")
    private @Nullable Output resyncRequired;

    /**
     * @return A value indicating whether resync is required for this disk.
     * 
     */
    public Optional> resyncRequired() {
        return Optional.ofNullable(this.resyncRequired);
    }

    /**
     * The secret URL / identifier (BEK).
     * 
     */
    @Import(name="secretIdentifier")
    private @Nullable Output secretIdentifier;

    /**
     * @return The secret URL / identifier (BEK).
     * 
     */
    public Optional> secretIdentifier() {
        return Optional.ofNullable(this.secretIdentifier);
    }

    /**
     * The test failover name for the managed disk.
     * 
     */
    @Import(name="tfoDiskName")
    private @Nullable Output tfoDiskName;

    /**
     * @return The test failover name for the managed disk.
     * 
     */
    public Optional> tfoDiskName() {
        return Optional.ofNullable(this.tfoDiskName);
    }

    private A2AProtectedManagedDiskDetailsArgs() {}

    private A2AProtectedManagedDiskDetailsArgs(A2AProtectedManagedDiskDetailsArgs $) {
        this.allowedDiskLevelOperation = $.allowedDiskLevelOperation;
        this.dataPendingAtSourceAgentInMB = $.dataPendingAtSourceAgentInMB;
        this.dataPendingInStagingStorageAccountInMB = $.dataPendingInStagingStorageAccountInMB;
        this.dekKeyVaultArmId = $.dekKeyVaultArmId;
        this.diskCapacityInBytes = $.diskCapacityInBytes;
        this.diskId = $.diskId;
        this.diskName = $.diskName;
        this.diskState = $.diskState;
        this.diskType = $.diskType;
        this.failoverDiskName = $.failoverDiskName;
        this.isDiskEncrypted = $.isDiskEncrypted;
        this.isDiskKeyEncrypted = $.isDiskKeyEncrypted;
        this.kekKeyVaultArmId = $.kekKeyVaultArmId;
        this.keyIdentifier = $.keyIdentifier;
        this.monitoringJobType = $.monitoringJobType;
        this.monitoringPercentageCompletion = $.monitoringPercentageCompletion;
        this.primaryDiskEncryptionSetId = $.primaryDiskEncryptionSetId;
        this.primaryStagingAzureStorageAccountId = $.primaryStagingAzureStorageAccountId;
        this.recoveryDiskEncryptionSetId = $.recoveryDiskEncryptionSetId;
        this.recoveryOrignalTargetDiskId = $.recoveryOrignalTargetDiskId;
        this.recoveryReplicaDiskAccountType = $.recoveryReplicaDiskAccountType;
        this.recoveryReplicaDiskId = $.recoveryReplicaDiskId;
        this.recoveryResourceGroupId = $.recoveryResourceGroupId;
        this.recoveryTargetDiskAccountType = $.recoveryTargetDiskAccountType;
        this.recoveryTargetDiskId = $.recoveryTargetDiskId;
        this.resyncRequired = $.resyncRequired;
        this.secretIdentifier = $.secretIdentifier;
        this.tfoDiskName = $.tfoDiskName;
    }

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

    public static final class Builder {
        private A2AProtectedManagedDiskDetailsArgs $;

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

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

        /**
         * @param allowedDiskLevelOperation The disk level operations list.
         * 
         * @return builder
         * 
         */
        public Builder allowedDiskLevelOperation(@Nullable Output> allowedDiskLevelOperation) {
            $.allowedDiskLevelOperation = allowedDiskLevelOperation;
            return this;
        }

        /**
         * @param allowedDiskLevelOperation The disk level operations list.
         * 
         * @return builder
         * 
         */
        public Builder allowedDiskLevelOperation(List allowedDiskLevelOperation) {
            return allowedDiskLevelOperation(Output.of(allowedDiskLevelOperation));
        }

        /**
         * @param allowedDiskLevelOperation The disk level operations list.
         * 
         * @return builder
         * 
         */
        public Builder allowedDiskLevelOperation(String... allowedDiskLevelOperation) {
            return allowedDiskLevelOperation(List.of(allowedDiskLevelOperation));
        }

        /**
         * @param dataPendingAtSourceAgentInMB The data pending at source virtual machine in MB.
         * 
         * @return builder
         * 
         */
        public Builder dataPendingAtSourceAgentInMB(@Nullable Output dataPendingAtSourceAgentInMB) {
            $.dataPendingAtSourceAgentInMB = dataPendingAtSourceAgentInMB;
            return this;
        }

        /**
         * @param dataPendingAtSourceAgentInMB The data pending at source virtual machine in MB.
         * 
         * @return builder
         * 
         */
        public Builder dataPendingAtSourceAgentInMB(Double dataPendingAtSourceAgentInMB) {
            return dataPendingAtSourceAgentInMB(Output.of(dataPendingAtSourceAgentInMB));
        }

        /**
         * @param dataPendingInStagingStorageAccountInMB The data pending for replication in MB at staging account.
         * 
         * @return builder
         * 
         */
        public Builder dataPendingInStagingStorageAccountInMB(@Nullable Output dataPendingInStagingStorageAccountInMB) {
            $.dataPendingInStagingStorageAccountInMB = dataPendingInStagingStorageAccountInMB;
            return this;
        }

        /**
         * @param dataPendingInStagingStorageAccountInMB The data pending for replication in MB at staging account.
         * 
         * @return builder
         * 
         */
        public Builder dataPendingInStagingStorageAccountInMB(Double dataPendingInStagingStorageAccountInMB) {
            return dataPendingInStagingStorageAccountInMB(Output.of(dataPendingInStagingStorageAccountInMB));
        }

        /**
         * @param dekKeyVaultArmId The KeyVault resource id for secret (BEK).
         * 
         * @return builder
         * 
         */
        public Builder dekKeyVaultArmId(@Nullable Output dekKeyVaultArmId) {
            $.dekKeyVaultArmId = dekKeyVaultArmId;
            return this;
        }

        /**
         * @param dekKeyVaultArmId The KeyVault resource id for secret (BEK).
         * 
         * @return builder
         * 
         */
        public Builder dekKeyVaultArmId(String dekKeyVaultArmId) {
            return dekKeyVaultArmId(Output.of(dekKeyVaultArmId));
        }

        /**
         * @param diskCapacityInBytes The disk capacity in bytes.
         * 
         * @return builder
         * 
         */
        public Builder diskCapacityInBytes(@Nullable Output diskCapacityInBytes) {
            $.diskCapacityInBytes = diskCapacityInBytes;
            return this;
        }

        /**
         * @param diskCapacityInBytes The disk capacity in bytes.
         * 
         * @return builder
         * 
         */
        public Builder diskCapacityInBytes(Double diskCapacityInBytes) {
            return diskCapacityInBytes(Output.of(diskCapacityInBytes));
        }

        /**
         * @param diskId The managed disk Arm id.
         * 
         * @return builder
         * 
         */
        public Builder diskId(@Nullable Output diskId) {
            $.diskId = diskId;
            return this;
        }

        /**
         * @param diskId The managed disk Arm id.
         * 
         * @return builder
         * 
         */
        public Builder diskId(String diskId) {
            return diskId(Output.of(diskId));
        }

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

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

        /**
         * @param diskState The disk state.
         * 
         * @return builder
         * 
         */
        public Builder diskState(@Nullable Output diskState) {
            $.diskState = diskState;
            return this;
        }

        /**
         * @param diskState The disk state.
         * 
         * @return builder
         * 
         */
        public Builder diskState(String diskState) {
            return diskState(Output.of(diskState));
        }

        /**
         * @param diskType The type of disk.
         * 
         * @return builder
         * 
         */
        public Builder diskType(@Nullable Output diskType) {
            $.diskType = diskType;
            return this;
        }

        /**
         * @param diskType The type of disk.
         * 
         * @return builder
         * 
         */
        public Builder diskType(String diskType) {
            return diskType(Output.of(diskType));
        }

        /**
         * @param failoverDiskName The failover name for the managed disk.
         * 
         * @return builder
         * 
         */
        public Builder failoverDiskName(@Nullable Output failoverDiskName) {
            $.failoverDiskName = failoverDiskName;
            return this;
        }

        /**
         * @param failoverDiskName The failover name for the managed disk.
         * 
         * @return builder
         * 
         */
        public Builder failoverDiskName(String failoverDiskName) {
            return failoverDiskName(Output.of(failoverDiskName));
        }

        /**
         * @param isDiskEncrypted A value indicating whether vm has encrypted os disk or not.
         * 
         * @return builder
         * 
         */
        public Builder isDiskEncrypted(@Nullable Output isDiskEncrypted) {
            $.isDiskEncrypted = isDiskEncrypted;
            return this;
        }

        /**
         * @param isDiskEncrypted A value indicating whether vm has encrypted os disk or not.
         * 
         * @return builder
         * 
         */
        public Builder isDiskEncrypted(Boolean isDiskEncrypted) {
            return isDiskEncrypted(Output.of(isDiskEncrypted));
        }

        /**
         * @param isDiskKeyEncrypted A value indicating whether disk key got encrypted or not.
         * 
         * @return builder
         * 
         */
        public Builder isDiskKeyEncrypted(@Nullable Output isDiskKeyEncrypted) {
            $.isDiskKeyEncrypted = isDiskKeyEncrypted;
            return this;
        }

        /**
         * @param isDiskKeyEncrypted A value indicating whether disk key got encrypted or not.
         * 
         * @return builder
         * 
         */
        public Builder isDiskKeyEncrypted(Boolean isDiskKeyEncrypted) {
            return isDiskKeyEncrypted(Output.of(isDiskKeyEncrypted));
        }

        /**
         * @param kekKeyVaultArmId The KeyVault resource id for key (KEK).
         * 
         * @return builder
         * 
         */
        public Builder kekKeyVaultArmId(@Nullable Output kekKeyVaultArmId) {
            $.kekKeyVaultArmId = kekKeyVaultArmId;
            return this;
        }

        /**
         * @param kekKeyVaultArmId The KeyVault resource id for key (KEK).
         * 
         * @return builder
         * 
         */
        public Builder kekKeyVaultArmId(String kekKeyVaultArmId) {
            return kekKeyVaultArmId(Output.of(kekKeyVaultArmId));
        }

        /**
         * @param keyIdentifier The key URL / identifier (KEK).
         * 
         * @return builder
         * 
         */
        public Builder keyIdentifier(@Nullable Output keyIdentifier) {
            $.keyIdentifier = keyIdentifier;
            return this;
        }

        /**
         * @param keyIdentifier The key URL / identifier (KEK).
         * 
         * @return builder
         * 
         */
        public Builder keyIdentifier(String keyIdentifier) {
            return keyIdentifier(Output.of(keyIdentifier));
        }

        /**
         * @param monitoringJobType The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.
         * 
         * @return builder
         * 
         */
        public Builder monitoringJobType(@Nullable Output monitoringJobType) {
            $.monitoringJobType = monitoringJobType;
            return this;
        }

        /**
         * @param monitoringJobType The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.
         * 
         * @return builder
         * 
         */
        public Builder monitoringJobType(String monitoringJobType) {
            return monitoringJobType(Output.of(monitoringJobType));
        }

        /**
         * @param monitoringPercentageCompletion The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.
         * 
         * @return builder
         * 
         */
        public Builder monitoringPercentageCompletion(@Nullable Output monitoringPercentageCompletion) {
            $.monitoringPercentageCompletion = monitoringPercentageCompletion;
            return this;
        }

        /**
         * @param monitoringPercentageCompletion The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.
         * 
         * @return builder
         * 
         */
        public Builder monitoringPercentageCompletion(Integer monitoringPercentageCompletion) {
            return monitoringPercentageCompletion(Output.of(monitoringPercentageCompletion));
        }

        /**
         * @param primaryDiskEncryptionSetId The primary disk encryption set Id.
         * 
         * @return builder
         * 
         */
        public Builder primaryDiskEncryptionSetId(@Nullable Output primaryDiskEncryptionSetId) {
            $.primaryDiskEncryptionSetId = primaryDiskEncryptionSetId;
            return this;
        }

        /**
         * @param primaryDiskEncryptionSetId The primary disk encryption set Id.
         * 
         * @return builder
         * 
         */
        public Builder primaryDiskEncryptionSetId(String primaryDiskEncryptionSetId) {
            return primaryDiskEncryptionSetId(Output.of(primaryDiskEncryptionSetId));
        }

        /**
         * @param primaryStagingAzureStorageAccountId The primary staging storage account.
         * 
         * @return builder
         * 
         */
        public Builder primaryStagingAzureStorageAccountId(@Nullable Output primaryStagingAzureStorageAccountId) {
            $.primaryStagingAzureStorageAccountId = primaryStagingAzureStorageAccountId;
            return this;
        }

        /**
         * @param primaryStagingAzureStorageAccountId The primary staging storage account.
         * 
         * @return builder
         * 
         */
        public Builder primaryStagingAzureStorageAccountId(String primaryStagingAzureStorageAccountId) {
            return primaryStagingAzureStorageAccountId(Output.of(primaryStagingAzureStorageAccountId));
        }

        /**
         * @param recoveryDiskEncryptionSetId The recovery disk encryption set Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryDiskEncryptionSetId(@Nullable Output recoveryDiskEncryptionSetId) {
            $.recoveryDiskEncryptionSetId = recoveryDiskEncryptionSetId;
            return this;
        }

        /**
         * @param recoveryDiskEncryptionSetId The recovery disk encryption set Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryDiskEncryptionSetId(String recoveryDiskEncryptionSetId) {
            return recoveryDiskEncryptionSetId(Output.of(recoveryDiskEncryptionSetId));
        }

        /**
         * @param recoveryOrignalTargetDiskId Recovery original target disk Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryOrignalTargetDiskId(@Nullable Output recoveryOrignalTargetDiskId) {
            $.recoveryOrignalTargetDiskId = recoveryOrignalTargetDiskId;
            return this;
        }

        /**
         * @param recoveryOrignalTargetDiskId Recovery original target disk Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryOrignalTargetDiskId(String recoveryOrignalTargetDiskId) {
            return recoveryOrignalTargetDiskId(Output.of(recoveryOrignalTargetDiskId));
        }

        /**
         * @param recoveryReplicaDiskAccountType The replica disk type. Its an optional value and will be same as source disk type if not user provided.
         * 
         * @return builder
         * 
         */
        public Builder recoveryReplicaDiskAccountType(@Nullable Output recoveryReplicaDiskAccountType) {
            $.recoveryReplicaDiskAccountType = recoveryReplicaDiskAccountType;
            return this;
        }

        /**
         * @param recoveryReplicaDiskAccountType The replica disk type. Its an optional value and will be same as source disk type if not user provided.
         * 
         * @return builder
         * 
         */
        public Builder recoveryReplicaDiskAccountType(String recoveryReplicaDiskAccountType) {
            return recoveryReplicaDiskAccountType(Output.of(recoveryReplicaDiskAccountType));
        }

        /**
         * @param recoveryReplicaDiskId Recovery replica disk Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryReplicaDiskId(@Nullable Output recoveryReplicaDiskId) {
            $.recoveryReplicaDiskId = recoveryReplicaDiskId;
            return this;
        }

        /**
         * @param recoveryReplicaDiskId Recovery replica disk Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryReplicaDiskId(String recoveryReplicaDiskId) {
            return recoveryReplicaDiskId(Output.of(recoveryReplicaDiskId));
        }

        /**
         * @param recoveryResourceGroupId The recovery disk resource group Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryResourceGroupId(@Nullable Output recoveryResourceGroupId) {
            $.recoveryResourceGroupId = recoveryResourceGroupId;
            return this;
        }

        /**
         * @param recoveryResourceGroupId The recovery disk resource group Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryResourceGroupId(String recoveryResourceGroupId) {
            return recoveryResourceGroupId(Output.of(recoveryResourceGroupId));
        }

        /**
         * @param recoveryTargetDiskAccountType The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.
         * 
         * @return builder
         * 
         */
        public Builder recoveryTargetDiskAccountType(@Nullable Output recoveryTargetDiskAccountType) {
            $.recoveryTargetDiskAccountType = recoveryTargetDiskAccountType;
            return this;
        }

        /**
         * @param recoveryTargetDiskAccountType The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.
         * 
         * @return builder
         * 
         */
        public Builder recoveryTargetDiskAccountType(String recoveryTargetDiskAccountType) {
            return recoveryTargetDiskAccountType(Output.of(recoveryTargetDiskAccountType));
        }

        /**
         * @param recoveryTargetDiskId Recovery target disk Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryTargetDiskId(@Nullable Output recoveryTargetDiskId) {
            $.recoveryTargetDiskId = recoveryTargetDiskId;
            return this;
        }

        /**
         * @param recoveryTargetDiskId Recovery target disk Arm Id.
         * 
         * @return builder
         * 
         */
        public Builder recoveryTargetDiskId(String recoveryTargetDiskId) {
            return recoveryTargetDiskId(Output.of(recoveryTargetDiskId));
        }

        /**
         * @param resyncRequired A value indicating whether resync is required for this disk.
         * 
         * @return builder
         * 
         */
        public Builder resyncRequired(@Nullable Output resyncRequired) {
            $.resyncRequired = resyncRequired;
            return this;
        }

        /**
         * @param resyncRequired A value indicating whether resync is required for this disk.
         * 
         * @return builder
         * 
         */
        public Builder resyncRequired(Boolean resyncRequired) {
            return resyncRequired(Output.of(resyncRequired));
        }

        /**
         * @param secretIdentifier The secret URL / identifier (BEK).
         * 
         * @return builder
         * 
         */
        public Builder secretIdentifier(@Nullable Output secretIdentifier) {
            $.secretIdentifier = secretIdentifier;
            return this;
        }

        /**
         * @param secretIdentifier The secret URL / identifier (BEK).
         * 
         * @return builder
         * 
         */
        public Builder secretIdentifier(String secretIdentifier) {
            return secretIdentifier(Output.of(secretIdentifier));
        }

        /**
         * @param tfoDiskName The test failover name for the managed disk.
         * 
         * @return builder
         * 
         */
        public Builder tfoDiskName(@Nullable Output tfoDiskName) {
            $.tfoDiskName = tfoDiskName;
            return this;
        }

        /**
         * @param tfoDiskName The test failover name for the managed disk.
         * 
         * @return builder
         * 
         */
        public Builder tfoDiskName(String tfoDiskName) {
            return tfoDiskName(Output.of(tfoDiskName));
        }

        public A2AProtectedManagedDiskDetailsArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy