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

com.pulumi.azurenative.recoveryservices.inputs.AzureSQLAGWorkloadContainerProtectionContainerArgs 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.enums.BackupManagementType;
import com.pulumi.azurenative.recoveryservices.enums.OperationType;
import com.pulumi.azurenative.recoveryservices.enums.WorkloadType;
import com.pulumi.azurenative.recoveryservices.inputs.AzureWorkloadContainerExtendedInfoArgs;
import com.pulumi.core.Either;
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.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Container for SQL workloads under SQL Availability Group.
 * 
 */
public final class AzureSQLAGWorkloadContainerProtectionContainerArgs extends com.pulumi.resources.ResourceArgs {

    public static final AzureSQLAGWorkloadContainerProtectionContainerArgs Empty = new AzureSQLAGWorkloadContainerProtectionContainerArgs();

    /**
     * Type of backup management for the container.
     * 
     */
    @Import(name="backupManagementType")
    private @Nullable Output> backupManagementType;

    /**
     * @return Type of backup management for the container.
     * 
     */
    public Optional>> backupManagementType() {
        return Optional.ofNullable(this.backupManagementType);
    }

    /**
     * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
     * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
     * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
     * Backup is VMAppContainer
     * Expected value is 'SQLAGWorkLoadContainer'.
     * 
     */
    @Import(name="containerType", required=true)
    private Output containerType;

    /**
     * @return Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
     * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
     * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
     * Backup is VMAppContainer
     * Expected value is 'SQLAGWorkLoadContainer'.
     * 
     */
    public Output containerType() {
        return this.containerType;
    }

    /**
     * Additional details of a workload container.
     * 
     */
    @Import(name="extendedInfo")
    private @Nullable Output extendedInfo;

    /**
     * @return Additional details of a workload container.
     * 
     */
    public Optional> extendedInfo() {
        return Optional.ofNullable(this.extendedInfo);
    }

    /**
     * Friendly name of the container.
     * 
     */
    @Import(name="friendlyName")
    private @Nullable Output friendlyName;

    /**
     * @return Friendly name of the container.
     * 
     */
    public Optional> friendlyName() {
        return Optional.ofNullable(this.friendlyName);
    }

    /**
     * Status of health of the container.
     * 
     */
    @Import(name="healthStatus")
    private @Nullable Output healthStatus;

    /**
     * @return Status of health of the container.
     * 
     */
    public Optional> healthStatus() {
        return Optional.ofNullable(this.healthStatus);
    }

    /**
     * Time stamp when this container was updated.
     * 
     */
    @Import(name="lastUpdatedTime")
    private @Nullable Output lastUpdatedTime;

    /**
     * @return Time stamp when this container was updated.
     * 
     */
    public Optional> lastUpdatedTime() {
        return Optional.ofNullable(this.lastUpdatedTime);
    }

    /**
     * Re-Do Operation
     * 
     */
    @Import(name="operationType")
    private @Nullable Output> operationType;

    /**
     * @return Re-Do Operation
     * 
     */
    public Optional>> operationType() {
        return Optional.ofNullable(this.operationType);
    }

    /**
     * Type of the protectable object associated with this container
     * 
     */
    @Import(name="protectableObjectType")
    private @Nullable Output protectableObjectType;

    /**
     * @return Type of the protectable object associated with this container
     * 
     */
    public Optional> protectableObjectType() {
        return Optional.ofNullable(this.protectableObjectType);
    }

    /**
     * Status of registration of the container with the Recovery Services Vault.
     * 
     */
    @Import(name="registrationStatus")
    private @Nullable Output registrationStatus;

    /**
     * @return Status of registration of the container with the Recovery Services Vault.
     * 
     */
    public Optional> registrationStatus() {
        return Optional.ofNullable(this.registrationStatus);
    }

    /**
     * ARM ID of the virtual machine represented by this Azure Workload Container
     * 
     */
    @Import(name="sourceResourceId")
    private @Nullable Output sourceResourceId;

    /**
     * @return ARM ID of the virtual machine represented by this Azure Workload Container
     * 
     */
    public Optional> sourceResourceId() {
        return Optional.ofNullable(this.sourceResourceId);
    }

    /**
     * Workload type for which registration was sent.
     * 
     */
    @Import(name="workloadType")
    private @Nullable Output> workloadType;

    /**
     * @return Workload type for which registration was sent.
     * 
     */
    public Optional>> workloadType() {
        return Optional.ofNullable(this.workloadType);
    }

    private AzureSQLAGWorkloadContainerProtectionContainerArgs() {}

    private AzureSQLAGWorkloadContainerProtectionContainerArgs(AzureSQLAGWorkloadContainerProtectionContainerArgs $) {
        this.backupManagementType = $.backupManagementType;
        this.containerType = $.containerType;
        this.extendedInfo = $.extendedInfo;
        this.friendlyName = $.friendlyName;
        this.healthStatus = $.healthStatus;
        this.lastUpdatedTime = $.lastUpdatedTime;
        this.operationType = $.operationType;
        this.protectableObjectType = $.protectableObjectType;
        this.registrationStatus = $.registrationStatus;
        this.sourceResourceId = $.sourceResourceId;
        this.workloadType = $.workloadType;
    }

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

    public static final class Builder {
        private AzureSQLAGWorkloadContainerProtectionContainerArgs $;

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

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

        /**
         * @param backupManagementType Type of backup management for the container.
         * 
         * @return builder
         * 
         */
        public Builder backupManagementType(@Nullable Output> backupManagementType) {
            $.backupManagementType = backupManagementType;
            return this;
        }

        /**
         * @param backupManagementType Type of backup management for the container.
         * 
         * @return builder
         * 
         */
        public Builder backupManagementType(Either backupManagementType) {
            return backupManagementType(Output.of(backupManagementType));
        }

        /**
         * @param backupManagementType Type of backup management for the container.
         * 
         * @return builder
         * 
         */
        public Builder backupManagementType(String backupManagementType) {
            return backupManagementType(Either.ofLeft(backupManagementType));
        }

        /**
         * @param backupManagementType Type of backup management for the container.
         * 
         * @return builder
         * 
         */
        public Builder backupManagementType(BackupManagementType backupManagementType) {
            return backupManagementType(Either.ofRight(backupManagementType));
        }

        /**
         * @param containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
         * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
         * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
         * Backup is VMAppContainer
         * Expected value is 'SQLAGWorkLoadContainer'.
         * 
         * @return builder
         * 
         */
        public Builder containerType(Output containerType) {
            $.containerType = containerType;
            return this;
        }

        /**
         * @param containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
         * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
         * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
         * Backup is VMAppContainer
         * Expected value is 'SQLAGWorkLoadContainer'.
         * 
         * @return builder
         * 
         */
        public Builder containerType(String containerType) {
            return containerType(Output.of(containerType));
        }

        /**
         * @param extendedInfo Additional details of a workload container.
         * 
         * @return builder
         * 
         */
        public Builder extendedInfo(@Nullable Output extendedInfo) {
            $.extendedInfo = extendedInfo;
            return this;
        }

        /**
         * @param extendedInfo Additional details of a workload container.
         * 
         * @return builder
         * 
         */
        public Builder extendedInfo(AzureWorkloadContainerExtendedInfoArgs extendedInfo) {
            return extendedInfo(Output.of(extendedInfo));
        }

        /**
         * @param friendlyName Friendly name of the container.
         * 
         * @return builder
         * 
         */
        public Builder friendlyName(@Nullable Output friendlyName) {
            $.friendlyName = friendlyName;
            return this;
        }

        /**
         * @param friendlyName Friendly name of the container.
         * 
         * @return builder
         * 
         */
        public Builder friendlyName(String friendlyName) {
            return friendlyName(Output.of(friendlyName));
        }

        /**
         * @param healthStatus Status of health of the container.
         * 
         * @return builder
         * 
         */
        public Builder healthStatus(@Nullable Output healthStatus) {
            $.healthStatus = healthStatus;
            return this;
        }

        /**
         * @param healthStatus Status of health of the container.
         * 
         * @return builder
         * 
         */
        public Builder healthStatus(String healthStatus) {
            return healthStatus(Output.of(healthStatus));
        }

        /**
         * @param lastUpdatedTime Time stamp when this container was updated.
         * 
         * @return builder
         * 
         */
        public Builder lastUpdatedTime(@Nullable Output lastUpdatedTime) {
            $.lastUpdatedTime = lastUpdatedTime;
            return this;
        }

        /**
         * @param lastUpdatedTime Time stamp when this container was updated.
         * 
         * @return builder
         * 
         */
        public Builder lastUpdatedTime(String lastUpdatedTime) {
            return lastUpdatedTime(Output.of(lastUpdatedTime));
        }

        /**
         * @param operationType Re-Do Operation
         * 
         * @return builder
         * 
         */
        public Builder operationType(@Nullable Output> operationType) {
            $.operationType = operationType;
            return this;
        }

        /**
         * @param operationType Re-Do Operation
         * 
         * @return builder
         * 
         */
        public Builder operationType(Either operationType) {
            return operationType(Output.of(operationType));
        }

        /**
         * @param operationType Re-Do Operation
         * 
         * @return builder
         * 
         */
        public Builder operationType(String operationType) {
            return operationType(Either.ofLeft(operationType));
        }

        /**
         * @param operationType Re-Do Operation
         * 
         * @return builder
         * 
         */
        public Builder operationType(OperationType operationType) {
            return operationType(Either.ofRight(operationType));
        }

        /**
         * @param protectableObjectType Type of the protectable object associated with this container
         * 
         * @return builder
         * 
         */
        public Builder protectableObjectType(@Nullable Output protectableObjectType) {
            $.protectableObjectType = protectableObjectType;
            return this;
        }

        /**
         * @param protectableObjectType Type of the protectable object associated with this container
         * 
         * @return builder
         * 
         */
        public Builder protectableObjectType(String protectableObjectType) {
            return protectableObjectType(Output.of(protectableObjectType));
        }

        /**
         * @param registrationStatus Status of registration of the container with the Recovery Services Vault.
         * 
         * @return builder
         * 
         */
        public Builder registrationStatus(@Nullable Output registrationStatus) {
            $.registrationStatus = registrationStatus;
            return this;
        }

        /**
         * @param registrationStatus Status of registration of the container with the Recovery Services Vault.
         * 
         * @return builder
         * 
         */
        public Builder registrationStatus(String registrationStatus) {
            return registrationStatus(Output.of(registrationStatus));
        }

        /**
         * @param sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(@Nullable Output sourceResourceId) {
            $.sourceResourceId = sourceResourceId;
            return this;
        }

        /**
         * @param sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(String sourceResourceId) {
            return sourceResourceId(Output.of(sourceResourceId));
        }

        /**
         * @param workloadType Workload type for which registration was sent.
         * 
         * @return builder
         * 
         */
        public Builder workloadType(@Nullable Output> workloadType) {
            $.workloadType = workloadType;
            return this;
        }

        /**
         * @param workloadType Workload type for which registration was sent.
         * 
         * @return builder
         * 
         */
        public Builder workloadType(Either workloadType) {
            return workloadType(Output.of(workloadType));
        }

        /**
         * @param workloadType Workload type for which registration was sent.
         * 
         * @return builder
         * 
         */
        public Builder workloadType(String workloadType) {
            return workloadType(Either.ofLeft(workloadType));
        }

        /**
         * @param workloadType Workload type for which registration was sent.
         * 
         * @return builder
         * 
         */
        public Builder workloadType(WorkloadType workloadType) {
            return workloadType(Either.ofRight(workloadType));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy