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

com.pulumi.azurenative.datareplication.inputs.HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs 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.datareplication.inputs;

import com.pulumi.azurenative.datareplication.inputs.HyperVToAzStackHCIDiskInputArgs;
import com.pulumi.azurenative.datareplication.inputs.HyperVToAzStackHCINicInputArgs;
import com.pulumi.azurenative.datareplication.inputs.ProtectedItemDynamicMemoryConfigArgs;
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.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * HyperV to AzStackHCI Protected item model custom properties.
 * 
 */
public final class HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs Empty = new HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs();

    /**
     * Gets or sets the location of Azure Arc HCI custom location resource.
     * 
     */
    @Import(name="customLocationRegion", required=true)
    private Output customLocationRegion;

    /**
     * @return Gets or sets the location of Azure Arc HCI custom location resource.
     * 
     */
    public Output customLocationRegion() {
        return this.customLocationRegion;
    }

    /**
     * Gets or sets the list of disks to replicate.
     * 
     */
    @Import(name="disksToInclude", required=true)
    private Output> disksToInclude;

    /**
     * @return Gets or sets the list of disks to replicate.
     * 
     */
    public Output> disksToInclude() {
        return this.disksToInclude;
    }

    /**
     * Protected item dynamic memory config.
     * 
     */
    @Import(name="dynamicMemoryConfig")
    private @Nullable Output dynamicMemoryConfig;

    /**
     * @return Protected item dynamic memory config.
     * 
     */
    public Optional> dynamicMemoryConfig() {
        return Optional.ofNullable(this.dynamicMemoryConfig);
    }

    /**
     * Gets or sets the ARM Id of the discovered machine.
     * 
     */
    @Import(name="fabricDiscoveryMachineId", required=true)
    private Output fabricDiscoveryMachineId;

    /**
     * @return Gets or sets the ARM Id of the discovered machine.
     * 
     */
    public Output fabricDiscoveryMachineId() {
        return this.fabricDiscoveryMachineId;
    }

    /**
     * Gets or sets the hypervisor generation of the virtual machine.
     * 
     */
    @Import(name="hyperVGeneration", required=true)
    private Output hyperVGeneration;

    /**
     * @return Gets or sets the hypervisor generation of the virtual machine.
     * 
     */
    public Output hyperVGeneration() {
        return this.hyperVGeneration;
    }

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

    /**
     * @return Gets or sets the instance type.
     * Expected value is 'HyperVToAzStackHCI'.
     * 
     */
    public Output instanceType() {
        return this.instanceType;
    }

    /**
     * Gets or sets a value indicating whether memory is dynamical.
     * 
     */
    @Import(name="isDynamicRam")
    private @Nullable Output isDynamicRam;

    /**
     * @return Gets or sets a value indicating whether memory is dynamical.
     * 
     */
    public Optional> isDynamicRam() {
        return Optional.ofNullable(this.isDynamicRam);
    }

    /**
     * Gets or sets the list of VM NIC to replicate.
     * 
     */
    @Import(name="nicsToInclude", required=true)
    private Output> nicsToInclude;

    /**
     * @return Gets or sets the list of VM NIC to replicate.
     * 
     */
    public Output> nicsToInclude() {
        return this.nicsToInclude;
    }

    /**
     * Gets or sets the Run As account Id.
     * 
     */
    @Import(name="runAsAccountId", required=true)
    private Output runAsAccountId;

    /**
     * @return Gets or sets the Run As account Id.
     * 
     */
    public Output runAsAccountId() {
        return this.runAsAccountId;
    }

    /**
     * Gets or sets the source DRA name.
     * 
     */
    @Import(name="sourceDraName", required=true)
    private Output sourceDraName;

    /**
     * @return Gets or sets the source DRA name.
     * 
     */
    public Output sourceDraName() {
        return this.sourceDraName;
    }

    /**
     * Gets or sets the target storage container ARM Id.
     * 
     */
    @Import(name="storageContainerId", required=true)
    private Output storageContainerId;

    /**
     * @return Gets or sets the target storage container ARM Id.
     * 
     */
    public Output storageContainerId() {
        return this.storageContainerId;
    }

    /**
     * Gets or sets the Target Arc Cluster Custom Location ARM Id.
     * 
     */
    @Import(name="targetArcClusterCustomLocationId", required=true)
    private Output targetArcClusterCustomLocationId;

    /**
     * @return Gets or sets the Target Arc Cluster Custom Location ARM Id.
     * 
     */
    public Output targetArcClusterCustomLocationId() {
        return this.targetArcClusterCustomLocationId;
    }

    /**
     * Gets or sets the target CPU cores.
     * 
     */
    @Import(name="targetCpuCores")
    private @Nullable Output targetCpuCores;

    /**
     * @return Gets or sets the target CPU cores.
     * 
     */
    public Optional> targetCpuCores() {
        return Optional.ofNullable(this.targetCpuCores);
    }

    /**
     * Gets or sets the target DRA name.
     * 
     */
    @Import(name="targetDraName", required=true)
    private Output targetDraName;

    /**
     * @return Gets or sets the target DRA name.
     * 
     */
    public Output targetDraName() {
        return this.targetDraName;
    }

    /**
     * Gets or sets the Target HCI Cluster ARM Id.
     * 
     */
    @Import(name="targetHciClusterId", required=true)
    private Output targetHciClusterId;

    /**
     * @return Gets or sets the Target HCI Cluster ARM Id.
     * 
     */
    public Output targetHciClusterId() {
        return this.targetHciClusterId;
    }

    /**
     * Gets or sets the target memory in mega-bytes.
     * 
     */
    @Import(name="targetMemoryInMegaBytes")
    private @Nullable Output targetMemoryInMegaBytes;

    /**
     * @return Gets or sets the target memory in mega-bytes.
     * 
     */
    public Optional> targetMemoryInMegaBytes() {
        return Optional.ofNullable(this.targetMemoryInMegaBytes);
    }

    /**
     * Gets or sets the target network Id within AzStackHCI Cluster.
     * 
     */
    @Import(name="targetNetworkId")
    private @Nullable Output targetNetworkId;

    /**
     * @return Gets or sets the target network Id within AzStackHCI Cluster.
     * 
     */
    public Optional> targetNetworkId() {
        return Optional.ofNullable(this.targetNetworkId);
    }

    /**
     * Gets or sets the target resource group ARM Id.
     * 
     */
    @Import(name="targetResourceGroupId", required=true)
    private Output targetResourceGroupId;

    /**
     * @return Gets or sets the target resource group ARM Id.
     * 
     */
    public Output targetResourceGroupId() {
        return this.targetResourceGroupId;
    }

    /**
     * Gets or sets the target VM display name.
     * 
     */
    @Import(name="targetVmName")
    private @Nullable Output targetVmName;

    /**
     * @return Gets or sets the target VM display name.
     * 
     */
    public Optional> targetVmName() {
        return Optional.ofNullable(this.targetVmName);
    }

    /**
     * Gets or sets the target test network Id within AzStackHCI Cluster.
     * 
     */
    @Import(name="testNetworkId")
    private @Nullable Output testNetworkId;

    /**
     * @return Gets or sets the target test network Id within AzStackHCI Cluster.
     * 
     */
    public Optional> testNetworkId() {
        return Optional.ofNullable(this.testNetworkId);
    }

    private HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs() {}

    private HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs(HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs $) {
        this.customLocationRegion = $.customLocationRegion;
        this.disksToInclude = $.disksToInclude;
        this.dynamicMemoryConfig = $.dynamicMemoryConfig;
        this.fabricDiscoveryMachineId = $.fabricDiscoveryMachineId;
        this.hyperVGeneration = $.hyperVGeneration;
        this.instanceType = $.instanceType;
        this.isDynamicRam = $.isDynamicRam;
        this.nicsToInclude = $.nicsToInclude;
        this.runAsAccountId = $.runAsAccountId;
        this.sourceDraName = $.sourceDraName;
        this.storageContainerId = $.storageContainerId;
        this.targetArcClusterCustomLocationId = $.targetArcClusterCustomLocationId;
        this.targetCpuCores = $.targetCpuCores;
        this.targetDraName = $.targetDraName;
        this.targetHciClusterId = $.targetHciClusterId;
        this.targetMemoryInMegaBytes = $.targetMemoryInMegaBytes;
        this.targetNetworkId = $.targetNetworkId;
        this.targetResourceGroupId = $.targetResourceGroupId;
        this.targetVmName = $.targetVmName;
        this.testNetworkId = $.testNetworkId;
    }

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

    public static final class Builder {
        private HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs $;

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

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

        /**
         * @param customLocationRegion Gets or sets the location of Azure Arc HCI custom location resource.
         * 
         * @return builder
         * 
         */
        public Builder customLocationRegion(Output customLocationRegion) {
            $.customLocationRegion = customLocationRegion;
            return this;
        }

        /**
         * @param customLocationRegion Gets or sets the location of Azure Arc HCI custom location resource.
         * 
         * @return builder
         * 
         */
        public Builder customLocationRegion(String customLocationRegion) {
            return customLocationRegion(Output.of(customLocationRegion));
        }

        /**
         * @param disksToInclude Gets or sets the list of disks to replicate.
         * 
         * @return builder
         * 
         */
        public Builder disksToInclude(Output> disksToInclude) {
            $.disksToInclude = disksToInclude;
            return this;
        }

        /**
         * @param disksToInclude Gets or sets the list of disks to replicate.
         * 
         * @return builder
         * 
         */
        public Builder disksToInclude(List disksToInclude) {
            return disksToInclude(Output.of(disksToInclude));
        }

        /**
         * @param disksToInclude Gets or sets the list of disks to replicate.
         * 
         * @return builder
         * 
         */
        public Builder disksToInclude(HyperVToAzStackHCIDiskInputArgs... disksToInclude) {
            return disksToInclude(List.of(disksToInclude));
        }

        /**
         * @param dynamicMemoryConfig Protected item dynamic memory config.
         * 
         * @return builder
         * 
         */
        public Builder dynamicMemoryConfig(@Nullable Output dynamicMemoryConfig) {
            $.dynamicMemoryConfig = dynamicMemoryConfig;
            return this;
        }

        /**
         * @param dynamicMemoryConfig Protected item dynamic memory config.
         * 
         * @return builder
         * 
         */
        public Builder dynamicMemoryConfig(ProtectedItemDynamicMemoryConfigArgs dynamicMemoryConfig) {
            return dynamicMemoryConfig(Output.of(dynamicMemoryConfig));
        }

        /**
         * @param fabricDiscoveryMachineId Gets or sets the ARM Id of the discovered machine.
         * 
         * @return builder
         * 
         */
        public Builder fabricDiscoveryMachineId(Output fabricDiscoveryMachineId) {
            $.fabricDiscoveryMachineId = fabricDiscoveryMachineId;
            return this;
        }

        /**
         * @param fabricDiscoveryMachineId Gets or sets the ARM Id of the discovered machine.
         * 
         * @return builder
         * 
         */
        public Builder fabricDiscoveryMachineId(String fabricDiscoveryMachineId) {
            return fabricDiscoveryMachineId(Output.of(fabricDiscoveryMachineId));
        }

        /**
         * @param hyperVGeneration Gets or sets the hypervisor generation of the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder hyperVGeneration(Output hyperVGeneration) {
            $.hyperVGeneration = hyperVGeneration;
            return this;
        }

        /**
         * @param hyperVGeneration Gets or sets the hypervisor generation of the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder hyperVGeneration(String hyperVGeneration) {
            return hyperVGeneration(Output.of(hyperVGeneration));
        }

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

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

        /**
         * @param isDynamicRam Gets or sets a value indicating whether memory is dynamical.
         * 
         * @return builder
         * 
         */
        public Builder isDynamicRam(@Nullable Output isDynamicRam) {
            $.isDynamicRam = isDynamicRam;
            return this;
        }

        /**
         * @param isDynamicRam Gets or sets a value indicating whether memory is dynamical.
         * 
         * @return builder
         * 
         */
        public Builder isDynamicRam(Boolean isDynamicRam) {
            return isDynamicRam(Output.of(isDynamicRam));
        }

        /**
         * @param nicsToInclude Gets or sets the list of VM NIC to replicate.
         * 
         * @return builder
         * 
         */
        public Builder nicsToInclude(Output> nicsToInclude) {
            $.nicsToInclude = nicsToInclude;
            return this;
        }

        /**
         * @param nicsToInclude Gets or sets the list of VM NIC to replicate.
         * 
         * @return builder
         * 
         */
        public Builder nicsToInclude(List nicsToInclude) {
            return nicsToInclude(Output.of(nicsToInclude));
        }

        /**
         * @param nicsToInclude Gets or sets the list of VM NIC to replicate.
         * 
         * @return builder
         * 
         */
        public Builder nicsToInclude(HyperVToAzStackHCINicInputArgs... nicsToInclude) {
            return nicsToInclude(List.of(nicsToInclude));
        }

        /**
         * @param runAsAccountId Gets or sets the Run As account Id.
         * 
         * @return builder
         * 
         */
        public Builder runAsAccountId(Output runAsAccountId) {
            $.runAsAccountId = runAsAccountId;
            return this;
        }

        /**
         * @param runAsAccountId Gets or sets the Run As account Id.
         * 
         * @return builder
         * 
         */
        public Builder runAsAccountId(String runAsAccountId) {
            return runAsAccountId(Output.of(runAsAccountId));
        }

        /**
         * @param sourceDraName Gets or sets the source DRA name.
         * 
         * @return builder
         * 
         */
        public Builder sourceDraName(Output sourceDraName) {
            $.sourceDraName = sourceDraName;
            return this;
        }

        /**
         * @param sourceDraName Gets or sets the source DRA name.
         * 
         * @return builder
         * 
         */
        public Builder sourceDraName(String sourceDraName) {
            return sourceDraName(Output.of(sourceDraName));
        }

        /**
         * @param storageContainerId Gets or sets the target storage container ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder storageContainerId(Output storageContainerId) {
            $.storageContainerId = storageContainerId;
            return this;
        }

        /**
         * @param storageContainerId Gets or sets the target storage container ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder storageContainerId(String storageContainerId) {
            return storageContainerId(Output.of(storageContainerId));
        }

        /**
         * @param targetArcClusterCustomLocationId Gets or sets the Target Arc Cluster Custom Location ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder targetArcClusterCustomLocationId(Output targetArcClusterCustomLocationId) {
            $.targetArcClusterCustomLocationId = targetArcClusterCustomLocationId;
            return this;
        }

        /**
         * @param targetArcClusterCustomLocationId Gets or sets the Target Arc Cluster Custom Location ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder targetArcClusterCustomLocationId(String targetArcClusterCustomLocationId) {
            return targetArcClusterCustomLocationId(Output.of(targetArcClusterCustomLocationId));
        }

        /**
         * @param targetCpuCores Gets or sets the target CPU cores.
         * 
         * @return builder
         * 
         */
        public Builder targetCpuCores(@Nullable Output targetCpuCores) {
            $.targetCpuCores = targetCpuCores;
            return this;
        }

        /**
         * @param targetCpuCores Gets or sets the target CPU cores.
         * 
         * @return builder
         * 
         */
        public Builder targetCpuCores(Integer targetCpuCores) {
            return targetCpuCores(Output.of(targetCpuCores));
        }

        /**
         * @param targetDraName Gets or sets the target DRA name.
         * 
         * @return builder
         * 
         */
        public Builder targetDraName(Output targetDraName) {
            $.targetDraName = targetDraName;
            return this;
        }

        /**
         * @param targetDraName Gets or sets the target DRA name.
         * 
         * @return builder
         * 
         */
        public Builder targetDraName(String targetDraName) {
            return targetDraName(Output.of(targetDraName));
        }

        /**
         * @param targetHciClusterId Gets or sets the Target HCI Cluster ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder targetHciClusterId(Output targetHciClusterId) {
            $.targetHciClusterId = targetHciClusterId;
            return this;
        }

        /**
         * @param targetHciClusterId Gets or sets the Target HCI Cluster ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder targetHciClusterId(String targetHciClusterId) {
            return targetHciClusterId(Output.of(targetHciClusterId));
        }

        /**
         * @param targetMemoryInMegaBytes Gets or sets the target memory in mega-bytes.
         * 
         * @return builder
         * 
         */
        public Builder targetMemoryInMegaBytes(@Nullable Output targetMemoryInMegaBytes) {
            $.targetMemoryInMegaBytes = targetMemoryInMegaBytes;
            return this;
        }

        /**
         * @param targetMemoryInMegaBytes Gets or sets the target memory in mega-bytes.
         * 
         * @return builder
         * 
         */
        public Builder targetMemoryInMegaBytes(Integer targetMemoryInMegaBytes) {
            return targetMemoryInMegaBytes(Output.of(targetMemoryInMegaBytes));
        }

        /**
         * @param targetNetworkId Gets or sets the target network Id within AzStackHCI Cluster.
         * 
         * @return builder
         * 
         */
        public Builder targetNetworkId(@Nullable Output targetNetworkId) {
            $.targetNetworkId = targetNetworkId;
            return this;
        }

        /**
         * @param targetNetworkId Gets or sets the target network Id within AzStackHCI Cluster.
         * 
         * @return builder
         * 
         */
        public Builder targetNetworkId(String targetNetworkId) {
            return targetNetworkId(Output.of(targetNetworkId));
        }

        /**
         * @param targetResourceGroupId Gets or sets the target resource group ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder targetResourceGroupId(Output targetResourceGroupId) {
            $.targetResourceGroupId = targetResourceGroupId;
            return this;
        }

        /**
         * @param targetResourceGroupId Gets or sets the target resource group ARM Id.
         * 
         * @return builder
         * 
         */
        public Builder targetResourceGroupId(String targetResourceGroupId) {
            return targetResourceGroupId(Output.of(targetResourceGroupId));
        }

        /**
         * @param targetVmName Gets or sets the target VM display name.
         * 
         * @return builder
         * 
         */
        public Builder targetVmName(@Nullable Output targetVmName) {
            $.targetVmName = targetVmName;
            return this;
        }

        /**
         * @param targetVmName Gets or sets the target VM display name.
         * 
         * @return builder
         * 
         */
        public Builder targetVmName(String targetVmName) {
            return targetVmName(Output.of(targetVmName));
        }

        /**
         * @param testNetworkId Gets or sets the target test network Id within AzStackHCI Cluster.
         * 
         * @return builder
         * 
         */
        public Builder testNetworkId(@Nullable Output testNetworkId) {
            $.testNetworkId = testNetworkId;
            return this;
        }

        /**
         * @param testNetworkId Gets or sets the target test network Id within AzStackHCI Cluster.
         * 
         * @return builder
         * 
         */
        public Builder testNetworkId(String testNetworkId) {
            return testNetworkId(Output.of(testNetworkId));
        }

        public HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs build() {
            if ($.customLocationRegion == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "customLocationRegion");
            }
            if ($.disksToInclude == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "disksToInclude");
            }
            if ($.fabricDiscoveryMachineId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "fabricDiscoveryMachineId");
            }
            if ($.hyperVGeneration == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "hyperVGeneration");
            }
            $.instanceType = Codegen.stringProp("instanceType").output().arg($.instanceType).require();
            if ($.nicsToInclude == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "nicsToInclude");
            }
            if ($.runAsAccountId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "runAsAccountId");
            }
            if ($.sourceDraName == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "sourceDraName");
            }
            if ($.storageContainerId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "storageContainerId");
            }
            if ($.targetArcClusterCustomLocationId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "targetArcClusterCustomLocationId");
            }
            if ($.targetDraName == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "targetDraName");
            }
            if ($.targetHciClusterId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "targetHciClusterId");
            }
            if ($.targetResourceGroupId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIProtectedItemModelCustomPropertiesArgs", "targetResourceGroupId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy