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

com.pulumi.azurenative.managednetworkfabric.kotlin.InternalNetworkArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.managednetworkfabric.kotlin

import com.pulumi.azurenative.managednetworkfabric.InternalNetworkArgs.builder
import com.pulumi.azurenative.managednetworkfabric.kotlin.inputs.BgpConfigurationArgs
import com.pulumi.azurenative.managednetworkfabric.kotlin.inputs.BgpConfigurationArgsBuilder
import com.pulumi.azurenative.managednetworkfabric.kotlin.inputs.ConnectedSubnetArgs
import com.pulumi.azurenative.managednetworkfabric.kotlin.inputs.ConnectedSubnetArgsBuilder
import com.pulumi.azurenative.managednetworkfabric.kotlin.inputs.StaticRouteConfigurationArgs
import com.pulumi.azurenative.managednetworkfabric.kotlin.inputs.StaticRouteConfigurationArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Defines the InternalNetwork item.
 * Azure REST API version: 2023-02-01-preview. Prior API version in Azure Native 1.x: 2023-02-01-preview.
 * Other available API versions: 2023-06-15.
 * ## Example Usage
 * ### InternalNetworks_Create_MaximumSet_Gen
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var internalNetwork = new AzureNative.ManagedNetworkFabric.InternalNetwork("internalNetwork", new()
 *     {
 *         BgpConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.BgpConfigurationArgs
 *         {
 *             AllowAS = 1,
 *             AllowASOverride = AzureNative.ManagedNetworkFabric.AllowASOverride.Enable,
 *             DefaultRouteOriginate = AzureNative.ManagedNetworkFabric.BooleanEnumProperty.True,
 *             Ipv4ListenRangePrefixes = new[]
 *             {
 *                 "10.1.0.0/25",
 *             },
 *             Ipv4NeighborAddress = new[]
 *             {
 *                 new AzureNative.ManagedNetworkFabric.Inputs.NeighborAddressArgs
 *                 {
 *                     Address = "10.1.0.0",
 *                 },
 *             },
 *             Ipv6ListenRangePrefixes = new[]
 *             {
 *                 "2fff::/66",
 *             },
 *             Ipv6NeighborAddress = new[]
 *             {
 *                 new AzureNative.ManagedNetworkFabric.Inputs.NeighborAddressArgs
 *                 {
 *                     Address = "2fff::",
 *                 },
 *             },
 *             PeerASN = 6,
 *         },
 *         ConnectedIPv4Subnets = new[]
 *         {
 *             new AzureNative.ManagedNetworkFabric.Inputs.ConnectedSubnetArgs
 *             {
 *                 Prefix = "10.0.0.0/24",
 *             },
 *         },
 *         ConnectedIPv6Subnets = new[]
 *         {
 *             new AzureNative.ManagedNetworkFabric.Inputs.ConnectedSubnetArgs
 *             {
 *                 Prefix = "3FFE:FFFF:0:CD30::a0/29",
 *             },
 *         },
 *         ExportRoutePolicyId = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName2",
 *         ImportRoutePolicyId = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName1",
 *         InternalNetworkName = "example-internalnetwork",
 *         L3IsolationDomainName = "example-l3domain",
 *         Mtu = 1500,
 *         ResourceGroupName = "resourceGroupName",
 *         StaticRouteConfiguration = new AzureNative.ManagedNetworkFabric.Inputs.StaticRouteConfigurationArgs
 *         {
 *             Ipv4Routes = new[]
 *             {
 *                 new AzureNative.ManagedNetworkFabric.Inputs.StaticRoutePropertiesArgs
 *                 {
 *                     NextHop = new[]
 *                     {
 *                         "10.0.0.1",
 *                     },
 *                     Prefix = "10.1.0.0/24",
 *                 },
 *             },
 *             Ipv6Routes = new[]
 *             {
 *                 new AzureNative.ManagedNetworkFabric.Inputs.StaticRoutePropertiesArgs
 *                 {
 *                     NextHop = new[]
 *                     {
 *                         "2ffe::1",
 *                     },
 *                     Prefix = "2fff::/64",
 *                 },
 *             },
 *         },
 *         VlanId = 501,
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	managednetworkfabric "github.com/pulumi/pulumi-azure-native-sdk/managednetworkfabric/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := managednetworkfabric.NewInternalNetwork(ctx, "internalNetwork", &managednetworkfabric.InternalNetworkArgs{
 * 			BgpConfiguration: &managednetworkfabric.BgpConfigurationArgs{
 * 				AllowAS:               pulumi.Int(1),
 * 				AllowASOverride:       pulumi.String(managednetworkfabric.AllowASOverrideEnable),
 * 				DefaultRouteOriginate: pulumi.String(managednetworkfabric.BooleanEnumPropertyTrue),
 * 				Ipv4ListenRangePrefixes: pulumi.StringArray{
 * 					pulumi.String("10.1.0.0/25"),
 * 				},
 * 				Ipv4NeighborAddress: managednetworkfabric.NeighborAddressArray{
 * 					&managednetworkfabric.NeighborAddressArgs{
 * 						Address: pulumi.String("10.1.0.0"),
 * 					},
 * 				},
 * 				Ipv6ListenRangePrefixes: pulumi.StringArray{
 * 					pulumi.String("2fff::/66"),
 * 				},
 * 				Ipv6NeighborAddress: managednetworkfabric.NeighborAddressArray{
 * 					&managednetworkfabric.NeighborAddressArgs{
 * 						Address: pulumi.String("2fff::"),
 * 					},
 * 				},
 * 				PeerASN: pulumi.Int(6),
 * 			},
 * 			ConnectedIPv4Subnets: managednetworkfabric.ConnectedSubnetArray{
 * 				&managednetworkfabric.ConnectedSubnetArgs{
 * 					Prefix: pulumi.String("10.0.0.0/24"),
 * 				},
 * 			},
 * 			ConnectedIPv6Subnets: managednetworkfabric.ConnectedSubnetArray{
 * 				&managednetworkfabric.ConnectedSubnetArgs{
 * 					Prefix: pulumi.String("3FFE:FFFF:0:CD30::a0/29"),
 * 				},
 * 			},
 * 			ExportRoutePolicyId:   pulumi.String("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName2"),
 * 			ImportRoutePolicyId:   pulumi.String("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName1"),
 * 			InternalNetworkName:   pulumi.String("example-internalnetwork"),
 * 			L3IsolationDomainName: pulumi.String("example-l3domain"),
 * 			Mtu:                   pulumi.Int(1500),
 * 			ResourceGroupName:     pulumi.String("resourceGroupName"),
 * 			StaticRouteConfiguration: &managednetworkfabric.StaticRouteConfigurationArgs{
 * 				Ipv4Routes: managednetworkfabric.StaticRoutePropertiesArray{
 * 					&managednetworkfabric.StaticRoutePropertiesArgs{
 * 						NextHop: pulumi.StringArray{
 * 							pulumi.String("10.0.0.1"),
 * 						},
 * 						Prefix: pulumi.String("10.1.0.0/24"),
 * 					},
 * 				},
 * 				Ipv6Routes: managednetworkfabric.StaticRoutePropertiesArray{
 * 					&managednetworkfabric.StaticRoutePropertiesArgs{
 * 						NextHop: pulumi.StringArray{
 * 							pulumi.String("2ffe::1"),
 * 						},
 * 						Prefix: pulumi.String("2fff::/64"),
 * 					},
 * 				},
 * 			},
 * 			VlanId: pulumi.Int(501),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.managednetworkfabric.InternalNetwork;
 * import com.pulumi.azurenative.managednetworkfabric.InternalNetworkArgs;
 * import com.pulumi.azurenative.managednetworkfabric.inputs.BgpConfigurationArgs;
 * import com.pulumi.azurenative.managednetworkfabric.inputs.ConnectedSubnetArgs;
 * import com.pulumi.azurenative.managednetworkfabric.inputs.StaticRouteConfigurationArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var internalNetwork = new InternalNetwork("internalNetwork", InternalNetworkArgs.builder()
 *             .bgpConfiguration(BgpConfigurationArgs.builder()
 *                 .allowAS(1)
 *                 .allowASOverride("Enable")
 *                 .defaultRouteOriginate("True")
 *                 .ipv4ListenRangePrefixes("10.1.0.0/25")
 *                 .ipv4NeighborAddress(NeighborAddressArgs.builder()
 *                     .address("10.1.0.0")
 *                     .build())
 *                 .ipv6ListenRangePrefixes("2fff::/66")
 *                 .ipv6NeighborAddress(NeighborAddressArgs.builder()
 *                     .address("2fff::")
 *                     .build())
 *                 .peerASN(6)
 *                 .build())
 *             .connectedIPv4Subnets(ConnectedSubnetArgs.builder()
 *                 .prefix("10.0.0.0/24")
 *                 .build())
 *             .connectedIPv6Subnets(ConnectedSubnetArgs.builder()
 *                 .prefix("3FFE:FFFF:0:CD30::a0/29")
 *                 .build())
 *             .exportRoutePolicyId("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName2")
 *             .importRoutePolicyId("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/routePolicies/routePolicyName1")
 *             .internalNetworkName("example-internalnetwork")
 *             .l3IsolationDomainName("example-l3domain")
 *             .mtu(1500)
 *             .resourceGroupName("resourceGroupName")
 *             .staticRouteConfiguration(StaticRouteConfigurationArgs.builder()
 *                 .ipv4Routes(StaticRoutePropertiesArgs.builder()
 *                     .nextHop("10.0.0.1")
 *                     .prefix("10.1.0.0/24")
 *                     .build())
 *                 .ipv6Routes(StaticRoutePropertiesArgs.builder()
 *                     .nextHop("2ffe::1")
 *                     .prefix("2fff::/64")
 *                     .build())
 *                 .build())
 *             .vlanId(501)
 *             .build());
 *     }
 * }
 * ```
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:managednetworkfabric:InternalNetwork example-externalnetwork /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/internalNetworks/{internalNetworkName}
 * ```
 * @property annotation Switch configuration description.
 * @property bgpConfiguration BGP configuration properties
 * @property connectedIPv4Subnets List with object connected IPv4 Subnets.
 * @property connectedIPv6Subnets List with object connected IPv6 Subnets.
 * @property exportRoutePolicyId ARM resource ID of importRoutePolicy.
 * @property importRoutePolicyId ARM resource ID of importRoutePolicy.
 * @property internalNetworkName Name of the InternalNetwork
 * @property l3IsolationDomainName Name of the L3IsolationDomain
 * @property mtu Maximum transmission unit. Default value is 1500.
 * @property resourceGroupName The name of the resource group. The name is case insensitive.
 * @property staticRouteConfiguration Static Route Configuration properties.
 * @property vlanId Vlan identifier. Example: 1001.
 */
public data class InternalNetworkArgs(
    public val `annotation`: Output? = null,
    public val bgpConfiguration: Output? = null,
    public val connectedIPv4Subnets: Output>? = null,
    public val connectedIPv6Subnets: Output>? = null,
    public val exportRoutePolicyId: Output? = null,
    public val importRoutePolicyId: Output? = null,
    public val internalNetworkName: Output? = null,
    public val l3IsolationDomainName: Output? = null,
    public val mtu: Output? = null,
    public val resourceGroupName: Output? = null,
    public val staticRouteConfiguration: Output? = null,
    public val vlanId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.managednetworkfabric.InternalNetworkArgs =
        com.pulumi.azurenative.managednetworkfabric.InternalNetworkArgs.builder()
            .`annotation`(`annotation`?.applyValue({ args0 -> args0 }))
            .bgpConfiguration(bgpConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .connectedIPv4Subnets(
                connectedIPv4Subnets?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .connectedIPv6Subnets(
                connectedIPv6Subnets?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .exportRoutePolicyId(exportRoutePolicyId?.applyValue({ args0 -> args0 }))
            .importRoutePolicyId(importRoutePolicyId?.applyValue({ args0 -> args0 }))
            .internalNetworkName(internalNetworkName?.applyValue({ args0 -> args0 }))
            .l3IsolationDomainName(l3IsolationDomainName?.applyValue({ args0 -> args0 }))
            .mtu(mtu?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .staticRouteConfiguration(
                staticRouteConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .vlanId(vlanId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [InternalNetworkArgs].
 */
@PulumiTagMarker
public class InternalNetworkArgsBuilder internal constructor() {
    private var `annotation`: Output? = null

    private var bgpConfiguration: Output? = null

    private var connectedIPv4Subnets: Output>? = null

    private var connectedIPv6Subnets: Output>? = null

    private var exportRoutePolicyId: Output? = null

    private var importRoutePolicyId: Output? = null

    private var internalNetworkName: Output? = null

    private var l3IsolationDomainName: Output? = null

    private var mtu: Output? = null

    private var resourceGroupName: Output? = null

    private var staticRouteConfiguration: Output? = null

    private var vlanId: Output? = null

    /**
     * @param value Switch configuration description.
     */
    @JvmName("mutvbxmcluktbayf")
    public suspend fun `annotation`(`value`: Output) {
        this.`annotation` = value
    }

    /**
     * @param value BGP configuration properties
     */
    @JvmName("prxyfffgdrhwegkf")
    public suspend fun bgpConfiguration(`value`: Output) {
        this.bgpConfiguration = value
    }

    /**
     * @param value List with object connected IPv4 Subnets.
     */
    @JvmName("mxxsmsmggphstrmm")
    public suspend fun connectedIPv4Subnets(`value`: Output>) {
        this.connectedIPv4Subnets = value
    }

    @JvmName("cqaiggtodtapgbnn")
    public suspend fun connectedIPv4Subnets(vararg values: Output) {
        this.connectedIPv4Subnets = Output.all(values.asList())
    }

    /**
     * @param values List with object connected IPv4 Subnets.
     */
    @JvmName("xirgckprxtvqgjjm")
    public suspend fun connectedIPv4Subnets(values: List>) {
        this.connectedIPv4Subnets = Output.all(values)
    }

    /**
     * @param value List with object connected IPv6 Subnets.
     */
    @JvmName("bpruexktptfgdbuo")
    public suspend fun connectedIPv6Subnets(`value`: Output>) {
        this.connectedIPv6Subnets = value
    }

    @JvmName("hilkqfqhejygmysq")
    public suspend fun connectedIPv6Subnets(vararg values: Output) {
        this.connectedIPv6Subnets = Output.all(values.asList())
    }

    /**
     * @param values List with object connected IPv6 Subnets.
     */
    @JvmName("llcwbmeoygghqqqy")
    public suspend fun connectedIPv6Subnets(values: List>) {
        this.connectedIPv6Subnets = Output.all(values)
    }

    /**
     * @param value ARM resource ID of importRoutePolicy.
     */
    @JvmName("vndilcwrricjrxbj")
    public suspend fun exportRoutePolicyId(`value`: Output) {
        this.exportRoutePolicyId = value
    }

    /**
     * @param value ARM resource ID of importRoutePolicy.
     */
    @JvmName("ctaajkuvmrlvtdnf")
    public suspend fun importRoutePolicyId(`value`: Output) {
        this.importRoutePolicyId = value
    }

    /**
     * @param value Name of the InternalNetwork
     */
    @JvmName("jhgovayiptqrpdci")
    public suspend fun internalNetworkName(`value`: Output) {
        this.internalNetworkName = value
    }

    /**
     * @param value Name of the L3IsolationDomain
     */
    @JvmName("jlpaudsaonsdicbd")
    public suspend fun l3IsolationDomainName(`value`: Output) {
        this.l3IsolationDomainName = value
    }

    /**
     * @param value Maximum transmission unit. Default value is 1500.
     */
    @JvmName("qolrliolvndyfgws")
    public suspend fun mtu(`value`: Output) {
        this.mtu = value
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("aykfqytrxoydqoql")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value Static Route Configuration properties.
     */
    @JvmName("rgcmxwhcsxaeipau")
    public suspend fun staticRouteConfiguration(`value`: Output) {
        this.staticRouteConfiguration = value
    }

    /**
     * @param value Vlan identifier. Example: 1001.
     */
    @JvmName("xotvcmlpucllprxy")
    public suspend fun vlanId(`value`: Output) {
        this.vlanId = value
    }

    /**
     * @param value Switch configuration description.
     */
    @JvmName("xoibnjdprvqqnjme")
    public suspend fun `annotation`(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.`annotation` = mapped
    }

    /**
     * @param value BGP configuration properties
     */
    @JvmName("nvgylvihklrsyjps")
    public suspend fun bgpConfiguration(`value`: BgpConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.bgpConfiguration = mapped
    }

    /**
     * @param argument BGP configuration properties
     */
    @JvmName("dummsirkvruusteh")
    public suspend fun bgpConfiguration(argument: suspend BgpConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = BgpConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.bgpConfiguration = mapped
    }

    /**
     * @param value List with object connected IPv4 Subnets.
     */
    @JvmName("xllancytsigvmchi")
    public suspend fun connectedIPv4Subnets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectedIPv4Subnets = mapped
    }

    /**
     * @param argument List with object connected IPv4 Subnets.
     */
    @JvmName("wsmwhesldjpumlhn")
    public suspend fun connectedIPv4Subnets(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ConnectedSubnetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.connectedIPv4Subnets = mapped
    }

    /**
     * @param argument List with object connected IPv4 Subnets.
     */
    @JvmName("paaymsimbicaxesf")
    public suspend fun connectedIPv4Subnets(vararg argument: suspend ConnectedSubnetArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ConnectedSubnetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.connectedIPv4Subnets = mapped
    }

    /**
     * @param argument List with object connected IPv4 Subnets.
     */
    @JvmName("dcdenpevpojmxpcr")
    public suspend fun connectedIPv4Subnets(argument: suspend ConnectedSubnetArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(ConnectedSubnetArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.connectedIPv4Subnets = mapped
    }

    /**
     * @param values List with object connected IPv4 Subnets.
     */
    @JvmName("sjtqqqbxaklgkvpn")
    public suspend fun connectedIPv4Subnets(vararg values: ConnectedSubnetArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.connectedIPv4Subnets = mapped
    }

    /**
     * @param value List with object connected IPv6 Subnets.
     */
    @JvmName("bfimturbucqgkqad")
    public suspend fun connectedIPv6Subnets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectedIPv6Subnets = mapped
    }

    /**
     * @param argument List with object connected IPv6 Subnets.
     */
    @JvmName("qqtxjmpjwpbtatju")
    public suspend fun connectedIPv6Subnets(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ConnectedSubnetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.connectedIPv6Subnets = mapped
    }

    /**
     * @param argument List with object connected IPv6 Subnets.
     */
    @JvmName("tcqirpjncrborgeq")
    public suspend fun connectedIPv6Subnets(vararg argument: suspend ConnectedSubnetArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ConnectedSubnetArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.connectedIPv6Subnets = mapped
    }

    /**
     * @param argument List with object connected IPv6 Subnets.
     */
    @JvmName("uivgsybgqihbqchk")
    public suspend fun connectedIPv6Subnets(argument: suspend ConnectedSubnetArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(ConnectedSubnetArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.connectedIPv6Subnets = mapped
    }

    /**
     * @param values List with object connected IPv6 Subnets.
     */
    @JvmName("ompswbcnsycjavjw")
    public suspend fun connectedIPv6Subnets(vararg values: ConnectedSubnetArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.connectedIPv6Subnets = mapped
    }

    /**
     * @param value ARM resource ID of importRoutePolicy.
     */
    @JvmName("blmdyxpnqmfrkkch")
    public suspend fun exportRoutePolicyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.exportRoutePolicyId = mapped
    }

    /**
     * @param value ARM resource ID of importRoutePolicy.
     */
    @JvmName("fiofvxxrysqxsgro")
    public suspend fun importRoutePolicyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.importRoutePolicyId = mapped
    }

    /**
     * @param value Name of the InternalNetwork
     */
    @JvmName("avpgcmadnvunhxss")
    public suspend fun internalNetworkName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.internalNetworkName = mapped
    }

    /**
     * @param value Name of the L3IsolationDomain
     */
    @JvmName("yvtptrsdcjhwgwmn")
    public suspend fun l3IsolationDomainName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.l3IsolationDomainName = mapped
    }

    /**
     * @param value Maximum transmission unit. Default value is 1500.
     */
    @JvmName("gccyqqynampoufkb")
    public suspend fun mtu(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mtu = mapped
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("xkigdxhnyfppdwtd")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value Static Route Configuration properties.
     */
    @JvmName("nxakmobhbvednnrf")
    public suspend fun staticRouteConfiguration(`value`: StaticRouteConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.staticRouteConfiguration = mapped
    }

    /**
     * @param argument Static Route Configuration properties.
     */
    @JvmName("qwxfqkqiuwbeoeav")
    public suspend fun staticRouteConfiguration(argument: suspend StaticRouteConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = StaticRouteConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.staticRouteConfiguration = mapped
    }

    /**
     * @param value Vlan identifier. Example: 1001.
     */
    @JvmName("wsmvfebhujubrhyk")
    public suspend fun vlanId(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vlanId = mapped
    }

    internal fun build(): InternalNetworkArgs = InternalNetworkArgs(
        `annotation` = `annotation`,
        bgpConfiguration = bgpConfiguration,
        connectedIPv4Subnets = connectedIPv4Subnets,
        connectedIPv6Subnets = connectedIPv6Subnets,
        exportRoutePolicyId = exportRoutePolicyId,
        importRoutePolicyId = importRoutePolicyId,
        internalNetworkName = internalNetworkName,
        l3IsolationDomainName = l3IsolationDomainName,
        mtu = mtu,
        resourceGroupName = resourceGroupName,
        staticRouteConfiguration = staticRouteConfiguration,
        vlanId = vlanId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy