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

com.pulumi.azurenative.recoveryservices.inputs.AzureIaaSClassicComputeVMContainerArgs 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.recoveryservices.inputs;

import com.pulumi.azurenative.recoveryservices.enums.BackupManagementType;
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;


/**
 * IaaS VM workload-specific backup item representing a classic virtual machine.
 * 
 */
public final class AzureIaaSClassicComputeVMContainerArgs extends com.pulumi.resources.ResourceArgs {

    public static final AzureIaaSClassicComputeVMContainerArgs Empty = new AzureIaaSClassicComputeVMContainerArgs();

    /**
     * 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 'Microsoft.ClassicCompute/virtualMachines'.
     * 
     */
    @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 'Microsoft.ClassicCompute/virtualMachines'.
     * 
     */
    public Output containerType() {
        return this.containerType;
    }

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

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

    /**
     * Resource group name of Recovery Services Vault.
     * 
     */
    @Import(name="resourceGroup")
    private @Nullable Output resourceGroup;

    /**
     * @return Resource group name of Recovery Services Vault.
     * 
     */
    public Optional> resourceGroup() {
        return Optional.ofNullable(this.resourceGroup);
    }

    /**
     * Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
     * 
     */
    @Import(name="virtualMachineId")
    private @Nullable Output virtualMachineId;

    /**
     * @return Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
     * 
     */
    public Optional> virtualMachineId() {
        return Optional.ofNullable(this.virtualMachineId);
    }

    /**
     * Specifies whether the container represents a Classic or an Azure Resource Manager VM.
     * 
     */
    @Import(name="virtualMachineVersion")
    private @Nullable Output virtualMachineVersion;

    /**
     * @return Specifies whether the container represents a Classic or an Azure Resource Manager VM.
     * 
     */
    public Optional> virtualMachineVersion() {
        return Optional.ofNullable(this.virtualMachineVersion);
    }

    private AzureIaaSClassicComputeVMContainerArgs() {}

    private AzureIaaSClassicComputeVMContainerArgs(AzureIaaSClassicComputeVMContainerArgs $) {
        this.backupManagementType = $.backupManagementType;
        this.containerType = $.containerType;
        this.friendlyName = $.friendlyName;
        this.healthStatus = $.healthStatus;
        this.protectableObjectType = $.protectableObjectType;
        this.registrationStatus = $.registrationStatus;
        this.resourceGroup = $.resourceGroup;
        this.virtualMachineId = $.virtualMachineId;
        this.virtualMachineVersion = $.virtualMachineVersion;
    }

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

    public static final class Builder {
        private AzureIaaSClassicComputeVMContainerArgs $;

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

        public Builder(AzureIaaSClassicComputeVMContainerArgs defaults) {
            $ = new AzureIaaSClassicComputeVMContainerArgs(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 'Microsoft.ClassicCompute/virtualMachines'.
         * 
         * @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 'Microsoft.ClassicCompute/virtualMachines'.
         * 
         * @return builder
         * 
         */
        public Builder containerType(String containerType) {
            return containerType(Output.of(containerType));
        }

        /**
         * @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 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 resourceGroup Resource group name of Recovery Services Vault.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroup(@Nullable Output resourceGroup) {
            $.resourceGroup = resourceGroup;
            return this;
        }

        /**
         * @param resourceGroup Resource group name of Recovery Services Vault.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroup(String resourceGroup) {
            return resourceGroup(Output.of(resourceGroup));
        }

        /**
         * @param virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineId(@Nullable Output virtualMachineId) {
            $.virtualMachineId = virtualMachineId;
            return this;
        }

        /**
         * @param virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineId(String virtualMachineId) {
            return virtualMachineId(Output.of(virtualMachineId));
        }

        /**
         * @param virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineVersion(@Nullable Output virtualMachineVersion) {
            $.virtualMachineVersion = virtualMachineVersion;
            return this;
        }

        /**
         * @param virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineVersion(String virtualMachineVersion) {
            return virtualMachineVersion(Output.of(virtualMachineVersion));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy