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

com.pulumi.azurenative.azurestackhci.inputs.HostNetworkArgs 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.azurestackhci.inputs;

import com.pulumi.azurenative.azurestackhci.inputs.IntentsArgs;
import com.pulumi.azurenative.azurestackhci.inputs.StorageNetworksArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The HostNetwork of a cluster.
 * 
 */
public final class HostNetworkArgs extends com.pulumi.resources.ResourceArgs {

    public static final HostNetworkArgs Empty = new HostNetworkArgs();

    /**
     * Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.
     * 
     */
    @Import(name="enableStorageAutoIp")
    private @Nullable Output enableStorageAutoIp;

    /**
     * @return Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.
     * 
     */
    public Optional> enableStorageAutoIp() {
        return Optional.ofNullable(this.enableStorageAutoIp);
    }

    /**
     * The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
     * 
     */
    @Import(name="intents")
    private @Nullable Output> intents;

    /**
     * @return The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
     * 
     */
    public Optional>> intents() {
        return Optional.ofNullable(this.intents);
    }

    /**
     * Defines how the storage adapters between nodes are connected either switch or switch less..
     * 
     */
    @Import(name="storageConnectivitySwitchless")
    private @Nullable Output storageConnectivitySwitchless;

    /**
     * @return Defines how the storage adapters between nodes are connected either switch or switch less..
     * 
     */
    public Optional> storageConnectivitySwitchless() {
        return Optional.ofNullable(this.storageConnectivitySwitchless);
    }

    /**
     * List of StorageNetworks config to deploy AzureStackHCI Cluster.
     * 
     */
    @Import(name="storageNetworks")
    private @Nullable Output> storageNetworks;

    /**
     * @return List of StorageNetworks config to deploy AzureStackHCI Cluster.
     * 
     */
    public Optional>> storageNetworks() {
        return Optional.ofNullable(this.storageNetworks);
    }

    private HostNetworkArgs() {}

    private HostNetworkArgs(HostNetworkArgs $) {
        this.enableStorageAutoIp = $.enableStorageAutoIp;
        this.intents = $.intents;
        this.storageConnectivitySwitchless = $.storageConnectivitySwitchless;
        this.storageNetworks = $.storageNetworks;
    }

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

    public static final class Builder {
        private HostNetworkArgs $;

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

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

        /**
         * @param enableStorageAutoIp Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.
         * 
         * @return builder
         * 
         */
        public Builder enableStorageAutoIp(@Nullable Output enableStorageAutoIp) {
            $.enableStorageAutoIp = enableStorageAutoIp;
            return this;
        }

        /**
         * @param enableStorageAutoIp Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.
         * 
         * @return builder
         * 
         */
        public Builder enableStorageAutoIp(Boolean enableStorageAutoIp) {
            return enableStorageAutoIp(Output.of(enableStorageAutoIp));
        }

        /**
         * @param intents The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
         * 
         * @return builder
         * 
         */
        public Builder intents(@Nullable Output> intents) {
            $.intents = intents;
            return this;
        }

        /**
         * @param intents The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
         * 
         * @return builder
         * 
         */
        public Builder intents(List intents) {
            return intents(Output.of(intents));
        }

        /**
         * @param intents The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
         * 
         * @return builder
         * 
         */
        public Builder intents(IntentsArgs... intents) {
            return intents(List.of(intents));
        }

        /**
         * @param storageConnectivitySwitchless Defines how the storage adapters between nodes are connected either switch or switch less..
         * 
         * @return builder
         * 
         */
        public Builder storageConnectivitySwitchless(@Nullable Output storageConnectivitySwitchless) {
            $.storageConnectivitySwitchless = storageConnectivitySwitchless;
            return this;
        }

        /**
         * @param storageConnectivitySwitchless Defines how the storage adapters between nodes are connected either switch or switch less..
         * 
         * @return builder
         * 
         */
        public Builder storageConnectivitySwitchless(Boolean storageConnectivitySwitchless) {
            return storageConnectivitySwitchless(Output.of(storageConnectivitySwitchless));
        }

        /**
         * @param storageNetworks List of StorageNetworks config to deploy AzureStackHCI Cluster.
         * 
         * @return builder
         * 
         */
        public Builder storageNetworks(@Nullable Output> storageNetworks) {
            $.storageNetworks = storageNetworks;
            return this;
        }

        /**
         * @param storageNetworks List of StorageNetworks config to deploy AzureStackHCI Cluster.
         * 
         * @return builder
         * 
         */
        public Builder storageNetworks(List storageNetworks) {
            return storageNetworks(Output.of(storageNetworks));
        }

        /**
         * @param storageNetworks List of StorageNetworks config to deploy AzureStackHCI Cluster.
         * 
         * @return builder
         * 
         */
        public Builder storageNetworks(StorageNetworksArgs... storageNetworks) {
            return storageNetworks(List.of(storageNetworks));
        }

        public HostNetworkArgs build() {
            $.enableStorageAutoIp = Codegen.booleanProp("enableStorageAutoIp").output().arg($.enableStorageAutoIp).def(false).getNullable();
            $.storageConnectivitySwitchless = Codegen.booleanProp("storageConnectivitySwitchless").output().arg($.storageConnectivitySwitchless).def(false).getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy