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

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


/**
 * HyperV to AzStackHCI Replication extension model custom properties.
 * 
 */
public final class HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs Empty = new HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs();

    /**
     * Gets or sets the ARM Id of the target AzStackHCI fabric.
     * 
     */
    @Import(name="azStackHciFabricArmId", required=true)
    private Output azStackHciFabricArmId;

    /**
     * @return Gets or sets the ARM Id of the target AzStackHCI fabric.
     * 
     */
    public Output azStackHciFabricArmId() {
        return this.azStackHciFabricArmId;
    }

    /**
     * Gets or sets the ARM Id of the source HyperV fabric.
     * 
     */
    @Import(name="hyperVFabricArmId", required=true)
    private Output hyperVFabricArmId;

    /**
     * @return Gets or sets the ARM Id of the source HyperV fabric.
     * 
     */
    public Output hyperVFabricArmId() {
        return this.hyperVFabricArmId;
    }

    /**
     * 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 the storage account Id.
     * 
     */
    @Import(name="storageAccountId")
    private @Nullable Output storageAccountId;

    /**
     * @return Gets or sets the storage account Id.
     * 
     */
    public Optional> storageAccountId() {
        return Optional.ofNullable(this.storageAccountId);
    }

    /**
     * Gets or sets the Sas Secret of storage account.
     * 
     */
    @Import(name="storageAccountSasSecretName")
    private @Nullable Output storageAccountSasSecretName;

    /**
     * @return Gets or sets the Sas Secret of storage account.
     * 
     */
    public Optional> storageAccountSasSecretName() {
        return Optional.ofNullable(this.storageAccountSasSecretName);
    }

    private HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs() {}

    private HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs(HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs $) {
        this.azStackHciFabricArmId = $.azStackHciFabricArmId;
        this.hyperVFabricArmId = $.hyperVFabricArmId;
        this.instanceType = $.instanceType;
        this.storageAccountId = $.storageAccountId;
        this.storageAccountSasSecretName = $.storageAccountSasSecretName;
    }

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

    public static final class Builder {
        private HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs $;

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

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

        /**
         * @param azStackHciFabricArmId Gets or sets the ARM Id of the target AzStackHCI fabric.
         * 
         * @return builder
         * 
         */
        public Builder azStackHciFabricArmId(Output azStackHciFabricArmId) {
            $.azStackHciFabricArmId = azStackHciFabricArmId;
            return this;
        }

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

        /**
         * @param hyperVFabricArmId Gets or sets the ARM Id of the source HyperV fabric.
         * 
         * @return builder
         * 
         */
        public Builder hyperVFabricArmId(Output hyperVFabricArmId) {
            $.hyperVFabricArmId = hyperVFabricArmId;
            return this;
        }

        /**
         * @param hyperVFabricArmId Gets or sets the ARM Id of the source HyperV fabric.
         * 
         * @return builder
         * 
         */
        public Builder hyperVFabricArmId(String hyperVFabricArmId) {
            return hyperVFabricArmId(Output.of(hyperVFabricArmId));
        }

        /**
         * @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 storageAccountId Gets or sets the storage account Id.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountId(@Nullable Output storageAccountId) {
            $.storageAccountId = storageAccountId;
            return this;
        }

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

        /**
         * @param storageAccountSasSecretName Gets or sets the Sas Secret of storage account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountSasSecretName(@Nullable Output storageAccountSasSecretName) {
            $.storageAccountSasSecretName = storageAccountSasSecretName;
            return this;
        }

        /**
         * @param storageAccountSasSecretName Gets or sets the Sas Secret of storage account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountSasSecretName(String storageAccountSasSecretName) {
            return storageAccountSasSecretName(Output.of(storageAccountSasSecretName));
        }

        public HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs build() {
            if ($.azStackHciFabricArmId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs", "azStackHciFabricArmId");
            }
            if ($.hyperVFabricArmId == null) {
                throw new MissingRequiredPropertyException("HyperVToAzStackHCIReplicationExtensionModelCustomPropertiesArgs", "hyperVFabricArmId");
            }
            $.instanceType = Codegen.stringProp("instanceType").output().arg($.instanceType).require();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy