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

com.pulumi.azurenative.managednetworkfabric.NetworkFabricArgs 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.managednetworkfabric;

import com.pulumi.azurenative.managednetworkfabric.inputs.ManagementNetworkConfigurationArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.TerminalServerConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class NetworkFabricArgs extends com.pulumi.resources.ResourceArgs {

    public static final NetworkFabricArgs Empty = new NetworkFabricArgs();

    /**
     * Switch configuration description.
     * 
     */
    @Import(name="annotation")
    private @Nullable Output annotation;

    /**
     * @return Switch configuration description.
     * 
     */
    public Optional> annotation() {
        return Optional.ofNullable(this.annotation);
    }

    /**
     * ASN of CE devices for CE/PE connectivity.
     * 
     */
    @Import(name="fabricASN", required=true)
    private Output fabricASN;

    /**
     * @return ASN of CE devices for CE/PE connectivity.
     * 
     */
    public Output fabricASN() {
        return this.fabricASN;
    }

    /**
     * IPv4Prefix for Management Network. Example: 10.1.0.0/19.
     * 
     */
    @Import(name="ipv4Prefix")
    private @Nullable Output ipv4Prefix;

    /**
     * @return IPv4Prefix for Management Network. Example: 10.1.0.0/19.
     * 
     */
    public Optional> ipv4Prefix() {
        return Optional.ofNullable(this.ipv4Prefix);
    }

    /**
     * IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59.
     * 
     */
    @Import(name="ipv6Prefix")
    private @Nullable Output ipv6Prefix;

    /**
     * @return IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59.
     * 
     */
    public Optional> ipv6Prefix() {
        return Optional.ofNullable(this.ipv6Prefix);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Configuration to be used to setup the management network.
     * 
     */
    @Import(name="managementNetworkConfiguration", required=true)
    private Output managementNetworkConfiguration;

    /**
     * @return Configuration to be used to setup the management network.
     * 
     */
    public Output managementNetworkConfiguration() {
        return this.managementNetworkConfiguration;
    }

    /**
     * Azure resource ID for the NetworkFabricController the NetworkFabric belongs.
     * 
     */
    @Import(name="networkFabricControllerId", required=true)
    private Output networkFabricControllerId;

    /**
     * @return Azure resource ID for the NetworkFabricController the NetworkFabric belongs.
     * 
     */
    public Output networkFabricControllerId() {
        return this.networkFabricControllerId;
    }

    /**
     * Name of the Network Fabric
     * 
     */
    @Import(name="networkFabricName")
    private @Nullable Output networkFabricName;

    /**
     * @return Name of the Network Fabric
     * 
     */
    public Optional> networkFabricName() {
        return Optional.ofNullable(this.networkFabricName);
    }

    /**
     * Supported Network Fabric SKU.Example: Compute / Aggregate racks. Once the user chooses a particular SKU, only supported racks can be added to the Network Fabric. The SKU determines whether it is a single / multi rack Network Fabric.
     * 
     */
    @Import(name="networkFabricSku", required=true)
    private Output networkFabricSku;

    /**
     * @return Supported Network Fabric SKU.Example: Compute / Aggregate racks. Once the user chooses a particular SKU, only supported racks can be added to the Network Fabric. The SKU determines whether it is a single / multi rack Network Fabric.
     * 
     */
    public Output networkFabricSku() {
        return this.networkFabricSku;
    }

    /**
     * Number of racks associated to Network Fabric.Possible values are from 2-8.
     * 
     */
    @Import(name="rackCount", required=true)
    private Output rackCount;

    /**
     * @return Number of racks associated to Network Fabric.Possible values are from 2-8.
     * 
     */
    public Output rackCount() {
        return this.rackCount;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Number of servers.Possible values are from 1-16.
     * 
     */
    @Import(name="serverCountPerRack", required=true)
    private Output serverCountPerRack;

    /**
     * @return Number of servers.Possible values are from 1-16.
     * 
     */
    public Output serverCountPerRack() {
        return this.serverCountPerRack;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Network and credentials configuration currently applied to terminal server.
     * 
     */
    @Import(name="terminalServerConfiguration", required=true)
    private Output terminalServerConfiguration;

    /**
     * @return Network and credentials configuration currently applied to terminal server.
     * 
     */
    public Output terminalServerConfiguration() {
        return this.terminalServerConfiguration;
    }

    private NetworkFabricArgs() {}

    private NetworkFabricArgs(NetworkFabricArgs $) {
        this.annotation = $.annotation;
        this.fabricASN = $.fabricASN;
        this.ipv4Prefix = $.ipv4Prefix;
        this.ipv6Prefix = $.ipv6Prefix;
        this.location = $.location;
        this.managementNetworkConfiguration = $.managementNetworkConfiguration;
        this.networkFabricControllerId = $.networkFabricControllerId;
        this.networkFabricName = $.networkFabricName;
        this.networkFabricSku = $.networkFabricSku;
        this.rackCount = $.rackCount;
        this.resourceGroupName = $.resourceGroupName;
        this.serverCountPerRack = $.serverCountPerRack;
        this.tags = $.tags;
        this.terminalServerConfiguration = $.terminalServerConfiguration;
    }

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

    public static final class Builder {
        private NetworkFabricArgs $;

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

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

        /**
         * @param annotation Switch configuration description.
         * 
         * @return builder
         * 
         */
        public Builder annotation(@Nullable Output annotation) {
            $.annotation = annotation;
            return this;
        }

        /**
         * @param annotation Switch configuration description.
         * 
         * @return builder
         * 
         */
        public Builder annotation(String annotation) {
            return annotation(Output.of(annotation));
        }

        /**
         * @param fabricASN ASN of CE devices for CE/PE connectivity.
         * 
         * @return builder
         * 
         */
        public Builder fabricASN(Output fabricASN) {
            $.fabricASN = fabricASN;
            return this;
        }

        /**
         * @param fabricASN ASN of CE devices for CE/PE connectivity.
         * 
         * @return builder
         * 
         */
        public Builder fabricASN(Integer fabricASN) {
            return fabricASN(Output.of(fabricASN));
        }

        /**
         * @param ipv4Prefix IPv4Prefix for Management Network. Example: 10.1.0.0/19.
         * 
         * @return builder
         * 
         */
        public Builder ipv4Prefix(@Nullable Output ipv4Prefix) {
            $.ipv4Prefix = ipv4Prefix;
            return this;
        }

        /**
         * @param ipv4Prefix IPv4Prefix for Management Network. Example: 10.1.0.0/19.
         * 
         * @return builder
         * 
         */
        public Builder ipv4Prefix(String ipv4Prefix) {
            return ipv4Prefix(Output.of(ipv4Prefix));
        }

        /**
         * @param ipv6Prefix IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59.
         * 
         * @return builder
         * 
         */
        public Builder ipv6Prefix(@Nullable Output ipv6Prefix) {
            $.ipv6Prefix = ipv6Prefix;
            return this;
        }

        /**
         * @param ipv6Prefix IPv6Prefix for Management Network. Example: 3FFE:FFFF:0:CD40::/59.
         * 
         * @return builder
         * 
         */
        public Builder ipv6Prefix(String ipv6Prefix) {
            return ipv6Prefix(Output.of(ipv6Prefix));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param managementNetworkConfiguration Configuration to be used to setup the management network.
         * 
         * @return builder
         * 
         */
        public Builder managementNetworkConfiguration(Output managementNetworkConfiguration) {
            $.managementNetworkConfiguration = managementNetworkConfiguration;
            return this;
        }

        /**
         * @param managementNetworkConfiguration Configuration to be used to setup the management network.
         * 
         * @return builder
         * 
         */
        public Builder managementNetworkConfiguration(ManagementNetworkConfigurationArgs managementNetworkConfiguration) {
            return managementNetworkConfiguration(Output.of(managementNetworkConfiguration));
        }

        /**
         * @param networkFabricControllerId Azure resource ID for the NetworkFabricController the NetworkFabric belongs.
         * 
         * @return builder
         * 
         */
        public Builder networkFabricControllerId(Output networkFabricControllerId) {
            $.networkFabricControllerId = networkFabricControllerId;
            return this;
        }

        /**
         * @param networkFabricControllerId Azure resource ID for the NetworkFabricController the NetworkFabric belongs.
         * 
         * @return builder
         * 
         */
        public Builder networkFabricControllerId(String networkFabricControllerId) {
            return networkFabricControllerId(Output.of(networkFabricControllerId));
        }

        /**
         * @param networkFabricName Name of the Network Fabric
         * 
         * @return builder
         * 
         */
        public Builder networkFabricName(@Nullable Output networkFabricName) {
            $.networkFabricName = networkFabricName;
            return this;
        }

        /**
         * @param networkFabricName Name of the Network Fabric
         * 
         * @return builder
         * 
         */
        public Builder networkFabricName(String networkFabricName) {
            return networkFabricName(Output.of(networkFabricName));
        }

        /**
         * @param networkFabricSku Supported Network Fabric SKU.Example: Compute / Aggregate racks. Once the user chooses a particular SKU, only supported racks can be added to the Network Fabric. The SKU determines whether it is a single / multi rack Network Fabric.
         * 
         * @return builder
         * 
         */
        public Builder networkFabricSku(Output networkFabricSku) {
            $.networkFabricSku = networkFabricSku;
            return this;
        }

        /**
         * @param networkFabricSku Supported Network Fabric SKU.Example: Compute / Aggregate racks. Once the user chooses a particular SKU, only supported racks can be added to the Network Fabric. The SKU determines whether it is a single / multi rack Network Fabric.
         * 
         * @return builder
         * 
         */
        public Builder networkFabricSku(String networkFabricSku) {
            return networkFabricSku(Output.of(networkFabricSku));
        }

        /**
         * @param rackCount Number of racks associated to Network Fabric.Possible values are from 2-8.
         * 
         * @return builder
         * 
         */
        public Builder rackCount(Output rackCount) {
            $.rackCount = rackCount;
            return this;
        }

        /**
         * @param rackCount Number of racks associated to Network Fabric.Possible values are from 2-8.
         * 
         * @return builder
         * 
         */
        public Builder rackCount(Integer rackCount) {
            return rackCount(Output.of(rackCount));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param serverCountPerRack Number of servers.Possible values are from 1-16.
         * 
         * @return builder
         * 
         */
        public Builder serverCountPerRack(Output serverCountPerRack) {
            $.serverCountPerRack = serverCountPerRack;
            return this;
        }

        /**
         * @param serverCountPerRack Number of servers.Possible values are from 1-16.
         * 
         * @return builder
         * 
         */
        public Builder serverCountPerRack(Integer serverCountPerRack) {
            return serverCountPerRack(Output.of(serverCountPerRack));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param terminalServerConfiguration Network and credentials configuration currently applied to terminal server.
         * 
         * @return builder
         * 
         */
        public Builder terminalServerConfiguration(Output terminalServerConfiguration) {
            $.terminalServerConfiguration = terminalServerConfiguration;
            return this;
        }

        /**
         * @param terminalServerConfiguration Network and credentials configuration currently applied to terminal server.
         * 
         * @return builder
         * 
         */
        public Builder terminalServerConfiguration(TerminalServerConfigurationArgs terminalServerConfiguration) {
            return terminalServerConfiguration(Output.of(terminalServerConfiguration));
        }

        public NetworkFabricArgs build() {
            if ($.fabricASN == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "fabricASN");
            }
            if ($.managementNetworkConfiguration == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "managementNetworkConfiguration");
            }
            if ($.networkFabricControllerId == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "networkFabricControllerId");
            }
            if ($.networkFabricSku == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "networkFabricSku");
            }
            if ($.rackCount == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "rackCount");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "resourceGroupName");
            }
            if ($.serverCountPerRack == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "serverCountPerRack");
            }
            if ($.terminalServerConfiguration == null) {
                throw new MissingRequiredPropertyException("NetworkFabricArgs", "terminalServerConfiguration");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy