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

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

There is a newer version: 2.89.2
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.azurenative.recoveryservices.inputs.A2AProtectedManagedDiskDetailsArgs;
import com.pulumi.azurenative.recoveryservices.inputs.A2AUnprotectedDiskDetailsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 provider specific settings.
 * 
 */
public final class A2ASharedDiskReplicationDetailsArgs extends com.pulumi.resources.ResourceArgs {

    public static final A2ASharedDiskReplicationDetailsArgs Empty = new A2ASharedDiskReplicationDetailsArgs();

    /**
     * The recovery point id to which the Virtual node was failed over.
     * 
     */
    @Import(name="failoverRecoveryPointId")
    private @Nullable Output failoverRecoveryPointId;

    /**
     * @return The recovery point id to which the Virtual node was failed over.
     * 
     */
    public Optional> failoverRecoveryPointId() {
        return Optional.ofNullable(this.failoverRecoveryPointId);
    }

    /**
     * Gets the Instance type.
     * Expected value is 'A2A'.
     * 
     */
    @Import(name="instanceType", required=true)
    private Output instanceType;

    /**
     * @return Gets the Instance type.
     * Expected value is 'A2A'.
     * 
     */
    public Output instanceType() {
        return this.instanceType;
    }

    /**
     * The time (in UTC) when the last RPO value was calculated by Protection Service.
     * 
     */
    @Import(name="lastRpoCalculatedTime")
    private @Nullable Output lastRpoCalculatedTime;

    /**
     * @return The time (in UTC) when the last RPO value was calculated by Protection Service.
     * 
     */
    public Optional> lastRpoCalculatedTime() {
        return Optional.ofNullable(this.lastRpoCalculatedTime);
    }

    /**
     * The management Id.
     * 
     */
    @Import(name="managementId")
    private @Nullable Output managementId;

    /**
     * @return The management Id.
     * 
     */
    public Optional> managementId() {
        return Optional.ofNullable(this.managementId);
    }

    /**
     * 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);
    }

    /**
     * Primary fabric location.
     * 
     */
    @Import(name="primaryFabricLocation")
    private @Nullable Output primaryFabricLocation;

    /**
     * @return Primary fabric location.
     * 
     */
    public Optional> primaryFabricLocation() {
        return Optional.ofNullable(this.primaryFabricLocation);
    }

    /**
     * The list of protected managed disks.
     * 
     */
    @Import(name="protectedManagedDisks")
    private @Nullable Output> protectedManagedDisks;

    /**
     * @return The list of protected managed disks.
     * 
     */
    public Optional>> protectedManagedDisks() {
        return Optional.ofNullable(this.protectedManagedDisks);
    }

    /**
     * The recovery fabric location.
     * 
     */
    @Import(name="recoveryFabricLocation")
    private @Nullable Output recoveryFabricLocation;

    /**
     * @return The recovery fabric location.
     * 
     */
    public Optional> recoveryFabricLocation() {
        return Optional.ofNullable(this.recoveryFabricLocation);
    }

    /**
     * The last RPO value in seconds.
     * 
     */
    @Import(name="rpoInSeconds")
    private @Nullable Output rpoInSeconds;

    /**
     * @return The last RPO value in seconds.
     * 
     */
    public Optional> rpoInSeconds() {
        return Optional.ofNullable(this.rpoInSeconds);
    }

    /**
     * The list of unprotected disks.
     * 
     */
    @Import(name="unprotectedDisks")
    private @Nullable Output> unprotectedDisks;

    /**
     * @return The list of unprotected disks.
     * 
     */
    public Optional>> unprotectedDisks() {
        return Optional.ofNullable(this.unprotectedDisks);
    }

    private A2ASharedDiskReplicationDetailsArgs() {}

    private A2ASharedDiskReplicationDetailsArgs(A2ASharedDiskReplicationDetailsArgs $) {
        this.failoverRecoveryPointId = $.failoverRecoveryPointId;
        this.instanceType = $.instanceType;
        this.lastRpoCalculatedTime = $.lastRpoCalculatedTime;
        this.managementId = $.managementId;
        this.monitoringJobType = $.monitoringJobType;
        this.monitoringPercentageCompletion = $.monitoringPercentageCompletion;
        this.primaryFabricLocation = $.primaryFabricLocation;
        this.protectedManagedDisks = $.protectedManagedDisks;
        this.recoveryFabricLocation = $.recoveryFabricLocation;
        this.rpoInSeconds = $.rpoInSeconds;
        this.unprotectedDisks = $.unprotectedDisks;
    }

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

    public static final class Builder {
        private A2ASharedDiskReplicationDetailsArgs $;

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

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

        /**
         * @param failoverRecoveryPointId The recovery point id to which the Virtual node was failed over.
         * 
         * @return builder
         * 
         */
        public Builder failoverRecoveryPointId(@Nullable Output failoverRecoveryPointId) {
            $.failoverRecoveryPointId = failoverRecoveryPointId;
            return this;
        }

        /**
         * @param failoverRecoveryPointId The recovery point id to which the Virtual node was failed over.
         * 
         * @return builder
         * 
         */
        public Builder failoverRecoveryPointId(String failoverRecoveryPointId) {
            return failoverRecoveryPointId(Output.of(failoverRecoveryPointId));
        }

        /**
         * @param instanceType Gets the Instance type.
         * Expected value is 'A2A'.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(Output instanceType) {
            $.instanceType = instanceType;
            return this;
        }

        /**
         * @param instanceType Gets the Instance type.
         * Expected value is 'A2A'.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(String instanceType) {
            return instanceType(Output.of(instanceType));
        }

        /**
         * @param lastRpoCalculatedTime The time (in UTC) when the last RPO value was calculated by Protection Service.
         * 
         * @return builder
         * 
         */
        public Builder lastRpoCalculatedTime(@Nullable Output lastRpoCalculatedTime) {
            $.lastRpoCalculatedTime = lastRpoCalculatedTime;
            return this;
        }

        /**
         * @param lastRpoCalculatedTime The time (in UTC) when the last RPO value was calculated by Protection Service.
         * 
         * @return builder
         * 
         */
        public Builder lastRpoCalculatedTime(String lastRpoCalculatedTime) {
            return lastRpoCalculatedTime(Output.of(lastRpoCalculatedTime));
        }

        /**
         * @param managementId The management Id.
         * 
         * @return builder
         * 
         */
        public Builder managementId(@Nullable Output managementId) {
            $.managementId = managementId;
            return this;
        }

        /**
         * @param managementId The management Id.
         * 
         * @return builder
         * 
         */
        public Builder managementId(String managementId) {
            return managementId(Output.of(managementId));
        }

        /**
         * @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 primaryFabricLocation Primary fabric location.
         * 
         * @return builder
         * 
         */
        public Builder primaryFabricLocation(@Nullable Output primaryFabricLocation) {
            $.primaryFabricLocation = primaryFabricLocation;
            return this;
        }

        /**
         * @param primaryFabricLocation Primary fabric location.
         * 
         * @return builder
         * 
         */
        public Builder primaryFabricLocation(String primaryFabricLocation) {
            return primaryFabricLocation(Output.of(primaryFabricLocation));
        }

        /**
         * @param protectedManagedDisks The list of protected managed disks.
         * 
         * @return builder
         * 
         */
        public Builder protectedManagedDisks(@Nullable Output> protectedManagedDisks) {
            $.protectedManagedDisks = protectedManagedDisks;
            return this;
        }

        /**
         * @param protectedManagedDisks The list of protected managed disks.
         * 
         * @return builder
         * 
         */
        public Builder protectedManagedDisks(List protectedManagedDisks) {
            return protectedManagedDisks(Output.of(protectedManagedDisks));
        }

        /**
         * @param protectedManagedDisks The list of protected managed disks.
         * 
         * @return builder
         * 
         */
        public Builder protectedManagedDisks(A2AProtectedManagedDiskDetailsArgs... protectedManagedDisks) {
            return protectedManagedDisks(List.of(protectedManagedDisks));
        }

        /**
         * @param recoveryFabricLocation The recovery fabric location.
         * 
         * @return builder
         * 
         */
        public Builder recoveryFabricLocation(@Nullable Output recoveryFabricLocation) {
            $.recoveryFabricLocation = recoveryFabricLocation;
            return this;
        }

        /**
         * @param recoveryFabricLocation The recovery fabric location.
         * 
         * @return builder
         * 
         */
        public Builder recoveryFabricLocation(String recoveryFabricLocation) {
            return recoveryFabricLocation(Output.of(recoveryFabricLocation));
        }

        /**
         * @param rpoInSeconds The last RPO value in seconds.
         * 
         * @return builder
         * 
         */
        public Builder rpoInSeconds(@Nullable Output rpoInSeconds) {
            $.rpoInSeconds = rpoInSeconds;
            return this;
        }

        /**
         * @param rpoInSeconds The last RPO value in seconds.
         * 
         * @return builder
         * 
         */
        public Builder rpoInSeconds(Double rpoInSeconds) {
            return rpoInSeconds(Output.of(rpoInSeconds));
        }

        /**
         * @param unprotectedDisks The list of unprotected disks.
         * 
         * @return builder
         * 
         */
        public Builder unprotectedDisks(@Nullable Output> unprotectedDisks) {
            $.unprotectedDisks = unprotectedDisks;
            return this;
        }

        /**
         * @param unprotectedDisks The list of unprotected disks.
         * 
         * @return builder
         * 
         */
        public Builder unprotectedDisks(List unprotectedDisks) {
            return unprotectedDisks(Output.of(unprotectedDisks));
        }

        /**
         * @param unprotectedDisks The list of unprotected disks.
         * 
         * @return builder
         * 
         */
        public Builder unprotectedDisks(A2AUnprotectedDiskDetailsArgs... unprotectedDisks) {
            return unprotectedDisks(List.of(unprotectedDisks));
        }

        public A2ASharedDiskReplicationDetailsArgs build() {
            $.instanceType = Codegen.stringProp("instanceType").output().arg($.instanceType).require();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy