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

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


/**
 * Azure Sql workload-specific container.
 * 
 */
public final class AzureSqlContainerArgs extends com.pulumi.resources.ResourceArgs {

    public static final AzureSqlContainerArgs Empty = new AzureSqlContainerArgs();

    /**
     * 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 'AzureSqlContainer'.
     * 
     */
    @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 'AzureSqlContainer'.
     * 
     */
    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);
    }

    private AzureSqlContainerArgs() {}

    private AzureSqlContainerArgs(AzureSqlContainerArgs $) {
        this.backupManagementType = $.backupManagementType;
        this.containerType = $.containerType;
        this.friendlyName = $.friendlyName;
        this.healthStatus = $.healthStatus;
        this.protectableObjectType = $.protectableObjectType;
        this.registrationStatus = $.registrationStatus;
    }

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

    public static final class Builder {
        private AzureSqlContainerArgs $;

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

        public Builder(AzureSqlContainerArgs defaults) {
            $ = new AzureSqlContainerArgs(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 'AzureSqlContainer'.
         * 
         * @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 'AzureSqlContainer'.
         * 
         * @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));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy