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

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

There is a newer version: 2.82.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.AcquireStorageAccountLock;
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.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Azure Storage Account workload-specific container.
 * 
 */
public final class AzureStorageContainerArgs extends com.pulumi.resources.ResourceArgs {

    public static final AzureStorageContainerArgs Empty = new AzureStorageContainerArgs();

    /**
     * Whether storage account lock is to be acquired for this container or not.
     * 
     */
    @Import(name="acquireStorageAccountLock")
    private @Nullable Output> acquireStorageAccountLock;

    /**
     * @return Whether storage account lock is to be acquired for this container or not.
     * 
     */
    public Optional>> acquireStorageAccountLock() {
        return Optional.ofNullable(this.acquireStorageAccountLock);
    }

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

    /**
     * Number of items backed up in this container.
     * 
     */
    @Import(name="protectedItemCount")
    private @Nullable Output protectedItemCount;

    /**
     * @return Number of items backed up in this container.
     * 
     */
    public Optional> protectedItemCount() {
        return Optional.ofNullable(this.protectedItemCount);
    }

    /**
     * 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.
     * 
     */
    @Import(name="sourceResourceId")
    private @Nullable Output sourceResourceId;

    /**
     * @return Fully qualified ARM url.
     * 
     */
    public Optional> sourceResourceId() {
        return Optional.ofNullable(this.sourceResourceId);
    }

    /**
     * Storage account version.
     * 
     */
    @Import(name="storageAccountVersion")
    private @Nullable Output storageAccountVersion;

    /**
     * @return Storage account version.
     * 
     */
    public Optional> storageAccountVersion() {
        return Optional.ofNullable(this.storageAccountVersion);
    }

    private AzureStorageContainerArgs() {}

    private AzureStorageContainerArgs(AzureStorageContainerArgs $) {
        this.acquireStorageAccountLock = $.acquireStorageAccountLock;
        this.backupManagementType = $.backupManagementType;
        this.containerType = $.containerType;
        this.friendlyName = $.friendlyName;
        this.healthStatus = $.healthStatus;
        this.protectableObjectType = $.protectableObjectType;
        this.protectedItemCount = $.protectedItemCount;
        this.registrationStatus = $.registrationStatus;
        this.resourceGroup = $.resourceGroup;
        this.sourceResourceId = $.sourceResourceId;
        this.storageAccountVersion = $.storageAccountVersion;
    }

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

    public static final class Builder {
        private AzureStorageContainerArgs $;

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

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

        /**
         * @param acquireStorageAccountLock Whether storage account lock is to be acquired for this container or not.
         * 
         * @return builder
         * 
         */
        public Builder acquireStorageAccountLock(@Nullable Output> acquireStorageAccountLock) {
            $.acquireStorageAccountLock = acquireStorageAccountLock;
            return this;
        }

        /**
         * @param acquireStorageAccountLock Whether storage account lock is to be acquired for this container or not.
         * 
         * @return builder
         * 
         */
        public Builder acquireStorageAccountLock(Either acquireStorageAccountLock) {
            return acquireStorageAccountLock(Output.of(acquireStorageAccountLock));
        }

        /**
         * @param acquireStorageAccountLock Whether storage account lock is to be acquired for this container or not.
         * 
         * @return builder
         * 
         */
        public Builder acquireStorageAccountLock(String acquireStorageAccountLock) {
            return acquireStorageAccountLock(Either.ofLeft(acquireStorageAccountLock));
        }

        /**
         * @param acquireStorageAccountLock Whether storage account lock is to be acquired for this container or not.
         * 
         * @return builder
         * 
         */
        public Builder acquireStorageAccountLock(AcquireStorageAccountLock acquireStorageAccountLock) {
            return acquireStorageAccountLock(Either.ofRight(acquireStorageAccountLock));
        }

        /**
         * @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 'StorageContainer'.
         * 
         * @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 'StorageContainer'.
         * 
         * @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 protectedItemCount Number of items backed up in this container.
         * 
         * @return builder
         * 
         */
        public Builder protectedItemCount(@Nullable Output protectedItemCount) {
            $.protectedItemCount = protectedItemCount;
            return this;
        }

        /**
         * @param protectedItemCount Number of items backed up in this container.
         * 
         * @return builder
         * 
         */
        public Builder protectedItemCount(Double protectedItemCount) {
            return protectedItemCount(Output.of(protectedItemCount));
        }

        /**
         * @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 sourceResourceId Fully qualified ARM url.
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(@Nullable Output sourceResourceId) {
            $.sourceResourceId = sourceResourceId;
            return this;
        }

        /**
         * @param sourceResourceId Fully qualified ARM url.
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(String sourceResourceId) {
            return sourceResourceId(Output.of(sourceResourceId));
        }

        /**
         * @param storageAccountVersion Storage account version.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountVersion(@Nullable Output storageAccountVersion) {
            $.storageAccountVersion = storageAccountVersion;
            return this;
        }

        /**
         * @param storageAccountVersion Storage account version.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountVersion(String storageAccountVersion) {
            return storageAccountVersion(Output.of(storageAccountVersion));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy