Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.network.kotlin.VirtualHubArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.network.kotlin
import com.pulumi.azurenative.network.VirtualHubArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.HubRoutingPreference
import com.pulumi.azurenative.network.kotlin.enums.PreferredRoutingGateway
import com.pulumi.azurenative.network.kotlin.inputs.SubResourceArgs
import com.pulumi.azurenative.network.kotlin.inputs.SubResourceArgsBuilder
import com.pulumi.azurenative.network.kotlin.inputs.VirtualHubRouteTableArgs
import com.pulumi.azurenative.network.kotlin.inputs.VirtualHubRouteTableArgsBuilder
import com.pulumi.azurenative.network.kotlin.inputs.VirtualHubRouteTableV2Args
import com.pulumi.azurenative.network.kotlin.inputs.VirtualHubRouteTableV2ArgsBuilder
import com.pulumi.azurenative.network.kotlin.inputs.VirtualRouterAutoScaleConfigurationArgs
import com.pulumi.azurenative.network.kotlin.inputs.VirtualRouterAutoScaleConfigurationArgsBuilder
import com.pulumi.core.Either
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.Boolean
import kotlin.Double
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* VirtualHub Resource.
* Azure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01.
* Other available API versions: 2018-07-01, 2020-04-01, 2020-06-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01.
* ## Example Usage
* ### VirtualHubPut
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AzureNative = Pulumi.AzureNative;
* return await Deployment.RunAsync(() =>
* {
* var virtualHub = new AzureNative.Network.VirtualHub("virtualHub", new()
* {
* AddressPrefix = "10.168.0.0/24",
* Location = "West US",
* ResourceGroupName = "rg1",
* Sku = "Basic",
* Tags =
* {
* { "key1", "value1" },
* },
* VirtualHubName = "virtualHub2",
* VirtualWan = new AzureNative.Network.Inputs.SubResourceArgs
* {
* Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1",
* },
* });
* });
* ```
* ```go
* package main
* import (
* network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := network.NewVirtualHub(ctx, "virtualHub", &network.VirtualHubArgs{
* AddressPrefix: pulumi.String("10.168.0.0/24"),
* Location: pulumi.String("West US"),
* ResourceGroupName: pulumi.String("rg1"),
* Sku: pulumi.String("Basic"),
* Tags: pulumi.StringMap{
* "key1": pulumi.String("value1"),
* },
* VirtualHubName: pulumi.String("virtualHub2"),
* VirtualWan: &network.SubResourceArgs{
* Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"),
* },
* })
* 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.network.VirtualHub;
* import com.pulumi.azurenative.network.VirtualHubArgs;
* import com.pulumi.azurenative.network.inputs.SubResourceArgs;
* 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 virtualHub = new VirtualHub("virtualHub", VirtualHubArgs.builder()
* .addressPrefix("10.168.0.0/24")
* .location("West US")
* .resourceGroupName("rg1")
* .sku("Basic")
* .tags(Map.of("key1", "value1"))
* .virtualHubName("virtualHub2")
* .virtualWan(SubResourceArgs.builder()
* .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1")
* .build())
* .build());
* }
* }
* ```
* ## Import
* An existing resource can be imported using its type token, name, and identifier, e.g.
* ```sh
* $ pulumi import azure-native:network:VirtualHub virtualHub2 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}
* ```
* @property addressPrefix Address-prefix for this VirtualHub.
* @property allowBranchToBranchTraffic Flag to control transit for VirtualRouter hub.
* @property azureFirewall The azureFirewall associated with this VirtualHub.
* @property expressRouteGateway The expressRouteGateway associated with this VirtualHub.
* @property hubRoutingPreference The hubRoutingPreference of this VirtualHub.
* @property id Resource ID.
* @property location Resource location.
* @property p2SVpnGateway The P2SVpnGateway associated with this VirtualHub.
* @property preferredRoutingGateway The preferred gateway to route on-prem traffic
* @property resourceGroupName The resource group name of the VirtualHub.
* @property routeTable The routeTable associated with this virtual hub.
* @property securityPartnerProvider The securityPartnerProvider associated with this VirtualHub.
* @property securityProviderName The Security Provider name.
* @property sku The sku of this VirtualHub.
* @property tags Resource tags.
* @property virtualHubName The name of the VirtualHub.
* @property virtualHubRouteTableV2s List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
* @property virtualRouterAsn VirtualRouter ASN.
* @property virtualRouterAutoScaleConfiguration The VirtualHub Router autoscale configuration.
* @property virtualRouterIps VirtualRouter IPs.
* @property virtualWan The VirtualWAN to which the VirtualHub belongs.
* @property vpnGateway The VpnGateway associated with this VirtualHub.
*/
public data class VirtualHubArgs(
public val addressPrefix: Output? = null,
public val allowBranchToBranchTraffic: Output? = null,
public val azureFirewall: Output? = null,
public val expressRouteGateway: Output? = null,
public val hubRoutingPreference: Output>? = null,
public val id: Output? = null,
public val location: Output? = null,
public val p2SVpnGateway: Output? = null,
public val preferredRoutingGateway: Output>? = null,
public val resourceGroupName: Output? = null,
public val routeTable: Output? = null,
public val securityPartnerProvider: Output? = null,
public val securityProviderName: Output? = null,
public val sku: Output? = null,
public val tags: Output>? = null,
public val virtualHubName: Output? = null,
public val virtualHubRouteTableV2s: Output>? = null,
public val virtualRouterAsn: Output? = null,
public val virtualRouterAutoScaleConfiguration: Output? =
null,
public val virtualRouterIps: Output>? = null,
public val virtualWan: Output? = null,
public val vpnGateway: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.network.VirtualHubArgs =
com.pulumi.azurenative.network.VirtualHubArgs.builder()
.addressPrefix(addressPrefix?.applyValue({ args0 -> args0 }))
.allowBranchToBranchTraffic(allowBranchToBranchTraffic?.applyValue({ args0 -> args0 }))
.azureFirewall(azureFirewall?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.expressRouteGateway(
expressRouteGateway?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.hubRoutingPreference(
hubRoutingPreference?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.id(id?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0 }))
.p2SVpnGateway(p2SVpnGateway?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.preferredRoutingGateway(
preferredRoutingGateway?.applyValue({ args0 ->
args0.transform({ args0 ->
args0
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
.routeTable(routeTable?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.securityPartnerProvider(
securityPartnerProvider?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.securityProviderName(securityProviderName?.applyValue({ args0 -> args0 }))
.sku(sku?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.virtualHubName(virtualHubName?.applyValue({ args0 -> args0 }))
.virtualHubRouteTableV2s(
virtualHubRouteTableV2s?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.virtualRouterAsn(virtualRouterAsn?.applyValue({ args0 -> args0 }))
.virtualRouterAutoScaleConfiguration(
virtualRouterAutoScaleConfiguration?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.virtualRouterIps(virtualRouterIps?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.virtualWan(virtualWan?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.vpnGateway(vpnGateway?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [VirtualHubArgs].
*/
@PulumiTagMarker
public class VirtualHubArgsBuilder internal constructor() {
private var addressPrefix: Output? = null
private var allowBranchToBranchTraffic: Output? = null
private var azureFirewall: Output? = null
private var expressRouteGateway: Output? = null
private var hubRoutingPreference: Output>? = null
private var id: Output? = null
private var location: Output? = null
private var p2SVpnGateway: Output? = null
private var preferredRoutingGateway: Output>? = null
private var resourceGroupName: Output? = null
private var routeTable: Output? = null
private var securityPartnerProvider: Output? = null
private var securityProviderName: Output? = null
private var sku: Output? = null
private var tags: Output>? = null
private var virtualHubName: Output? = null
private var virtualHubRouteTableV2s: Output>? = null
private var virtualRouterAsn: Output? = null
private var virtualRouterAutoScaleConfiguration: Output? =
null
private var virtualRouterIps: Output>? = null
private var virtualWan: Output? = null
private var vpnGateway: Output? = null
/**
* @param value Address-prefix for this VirtualHub.
*/
@JvmName("hsewrmeqstfnvwpm")
public suspend fun addressPrefix(`value`: Output) {
this.addressPrefix = value
}
/**
* @param value Flag to control transit for VirtualRouter hub.
*/
@JvmName("dayltgnhialoxeqq")
public suspend fun allowBranchToBranchTraffic(`value`: Output) {
this.allowBranchToBranchTraffic = value
}
/**
* @param value The azureFirewall associated with this VirtualHub.
*/
@JvmName("ktcwuykyueelpcbj")
public suspend fun azureFirewall(`value`: Output) {
this.azureFirewall = value
}
/**
* @param value The expressRouteGateway associated with this VirtualHub.
*/
@JvmName("fbxgubvcqhyiwuml")
public suspend fun expressRouteGateway(`value`: Output) {
this.expressRouteGateway = value
}
/**
* @param value The hubRoutingPreference of this VirtualHub.
*/
@JvmName("pqdorcodrorfcvyb")
public suspend fun hubRoutingPreference(`value`: Output>) {
this.hubRoutingPreference = value
}
/**
* @param value Resource ID.
*/
@JvmName("jkwxqxpgqskxccjn")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value Resource location.
*/
@JvmName("acsircvlaellabdj")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value The P2SVpnGateway associated with this VirtualHub.
*/
@JvmName("prvdsswqkxsyxlje")
public suspend fun p2SVpnGateway(`value`: Output) {
this.p2SVpnGateway = value
}
/**
* @param value The preferred gateway to route on-prem traffic
*/
@JvmName("idheasbnelyuwlqq")
public suspend fun preferredRoutingGateway(`value`: Output>) {
this.preferredRoutingGateway = value
}
/**
* @param value The resource group name of the VirtualHub.
*/
@JvmName("ugrvmfdqhgfxsjna")
public suspend fun resourceGroupName(`value`: Output) {
this.resourceGroupName = value
}
/**
* @param value The routeTable associated with this virtual hub.
*/
@JvmName("pdwajdgxnuuwkgrm")
public suspend fun routeTable(`value`: Output) {
this.routeTable = value
}
/**
* @param value The securityPartnerProvider associated with this VirtualHub.
*/
@JvmName("weutxklnvjcirtbv")
public suspend fun securityPartnerProvider(`value`: Output) {
this.securityPartnerProvider = value
}
/**
* @param value The Security Provider name.
*/
@JvmName("ewvihqkayuwuvarx")
public suspend fun securityProviderName(`value`: Output) {
this.securityProviderName = value
}
/**
* @param value The sku of this VirtualHub.
*/
@JvmName("qgxqpdduyrrhilsk")
public suspend fun sku(`value`: Output) {
this.sku = value
}
/**
* @param value Resource tags.
*/
@JvmName("kckwygidwxmwanbe")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value The name of the VirtualHub.
*/
@JvmName("ngtcghunjcnkkrpm")
public suspend fun virtualHubName(`value`: Output) {
this.virtualHubName = value
}
/**
* @param value List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
*/
@JvmName("pptendyjlglpaqfi")
public suspend fun virtualHubRouteTableV2s(`value`: Output>) {
this.virtualHubRouteTableV2s = value
}
@JvmName("hourouyewgrhoxat")
public suspend fun virtualHubRouteTableV2s(vararg values: Output) {
this.virtualHubRouteTableV2s = Output.all(values.asList())
}
/**
* @param values List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
*/
@JvmName("hakgbuccunuyswxi")
public suspend fun virtualHubRouteTableV2s(values: List>) {
this.virtualHubRouteTableV2s = Output.all(values)
}
/**
* @param value VirtualRouter ASN.
*/
@JvmName("cjkorhmqntinqwcp")
public suspend fun virtualRouterAsn(`value`: Output) {
this.virtualRouterAsn = value
}
/**
* @param value The VirtualHub Router autoscale configuration.
*/
@JvmName("gkdglkovpxoiwjbf")
public suspend fun virtualRouterAutoScaleConfiguration(`value`: Output) {
this.virtualRouterAutoScaleConfiguration = value
}
/**
* @param value VirtualRouter IPs.
*/
@JvmName("ywoojbcvewwgowpk")
public suspend fun virtualRouterIps(`value`: Output>) {
this.virtualRouterIps = value
}
@JvmName("arcuwjqplviookke")
public suspend fun virtualRouterIps(vararg values: Output) {
this.virtualRouterIps = Output.all(values.asList())
}
/**
* @param values VirtualRouter IPs.
*/
@JvmName("nwjdsshdlvmwrmev")
public suspend fun virtualRouterIps(values: List>) {
this.virtualRouterIps = Output.all(values)
}
/**
* @param value The VirtualWAN to which the VirtualHub belongs.
*/
@JvmName("wkxvkokwkblxxrwb")
public suspend fun virtualWan(`value`: Output) {
this.virtualWan = value
}
/**
* @param value The VpnGateway associated with this VirtualHub.
*/
@JvmName("juvhpsyiysgyhcke")
public suspend fun vpnGateway(`value`: Output) {
this.vpnGateway = value
}
/**
* @param value Address-prefix for this VirtualHub.
*/
@JvmName("bfxfgerercmhddeh")
public suspend fun addressPrefix(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.addressPrefix = mapped
}
/**
* @param value Flag to control transit for VirtualRouter hub.
*/
@JvmName("dtuxhcwretqqbqwj")
public suspend fun allowBranchToBranchTraffic(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowBranchToBranchTraffic = mapped
}
/**
* @param value The azureFirewall associated with this VirtualHub.
*/
@JvmName("mlmjjphtaklsjjtg")
public suspend fun azureFirewall(`value`: SubResourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.azureFirewall = mapped
}
/**
* @param argument The azureFirewall associated with this VirtualHub.
*/
@JvmName("voovyrfgfmvugwcf")
public suspend fun azureFirewall(argument: suspend SubResourceArgsBuilder.() -> Unit) {
val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.azureFirewall = mapped
}
/**
* @param value The expressRouteGateway associated with this VirtualHub.
*/
@JvmName("uvoygpurmktlsxey")
public suspend fun expressRouteGateway(`value`: SubResourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.expressRouteGateway = mapped
}
/**
* @param argument The expressRouteGateway associated with this VirtualHub.
*/
@JvmName("nslwgcfmfxaucipb")
public suspend fun expressRouteGateway(argument: suspend SubResourceArgsBuilder.() -> Unit) {
val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.expressRouteGateway = mapped
}
/**
* @param value The hubRoutingPreference of this VirtualHub.
*/
@JvmName("lpectitvicuqxwbp")
public suspend fun hubRoutingPreference(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hubRoutingPreference = mapped
}
/**
* @param value The hubRoutingPreference of this VirtualHub.
*/
@JvmName("bwubkelcqrqaojee")
public fun hubRoutingPreference(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.hubRoutingPreference = mapped
}
/**
* @param value The hubRoutingPreference of this VirtualHub.
*/
@JvmName("lqceiolwybvcqsew")
public fun hubRoutingPreference(`value`: HubRoutingPreference) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.hubRoutingPreference = mapped
}
/**
* @param value Resource ID.
*/
@JvmName("hfhmoqumyxwsmspl")
public suspend fun id(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.id = mapped
}
/**
* @param value Resource location.
*/
@JvmName("xcbvcuxndmrcjbta")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value The P2SVpnGateway associated with this VirtualHub.
*/
@JvmName("fwpakagfdpnmomrm")
public suspend fun p2SVpnGateway(`value`: SubResourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.p2SVpnGateway = mapped
}
/**
* @param argument The P2SVpnGateway associated with this VirtualHub.
*/
@JvmName("rbxrecyoxwmkuapd")
public suspend fun p2SVpnGateway(argument: suspend SubResourceArgsBuilder.() -> Unit) {
val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.p2SVpnGateway = mapped
}
/**
* @param value The preferred gateway to route on-prem traffic
*/
@JvmName("lqcyochviccdrmde")
public suspend fun preferredRoutingGateway(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.preferredRoutingGateway = mapped
}
/**
* @param value The preferred gateway to route on-prem traffic
*/
@JvmName("blndvjwgpcxxpgxo")
public fun preferredRoutingGateway(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.preferredRoutingGateway = mapped
}
/**
* @param value The preferred gateway to route on-prem traffic
*/
@JvmName("xwirdfreypflwwpc")
public fun preferredRoutingGateway(`value`: PreferredRoutingGateway) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.preferredRoutingGateway = mapped
}
/**
* @param value The resource group name of the VirtualHub.
*/
@JvmName("cjoqkmdmglhwcakm")
public suspend fun resourceGroupName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupName = mapped
}
/**
* @param value The routeTable associated with this virtual hub.
*/
@JvmName("hreksngsfjtmtpkc")
public suspend fun routeTable(`value`: VirtualHubRouteTableArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.routeTable = mapped
}
/**
* @param argument The routeTable associated with this virtual hub.
*/
@JvmName("umbrhcktavefafpt")
public suspend fun routeTable(argument: suspend VirtualHubRouteTableArgsBuilder.() -> Unit) {
val toBeMapped = VirtualHubRouteTableArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.routeTable = mapped
}
/**
* @param value The securityPartnerProvider associated with this VirtualHub.
*/
@JvmName("wuovfpaplusdkncc")
public suspend fun securityPartnerProvider(`value`: SubResourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.securityPartnerProvider = mapped
}
/**
* @param argument The securityPartnerProvider associated with this VirtualHub.
*/
@JvmName("vbiueorgiqhqmwue")
public suspend fun securityPartnerProvider(argument: suspend SubResourceArgsBuilder.() -> Unit) {
val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.securityPartnerProvider = mapped
}
/**
* @param value The Security Provider name.
*/
@JvmName("idsdppbiquamktcc")
public suspend fun securityProviderName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.securityProviderName = mapped
}
/**
* @param value The sku of this VirtualHub.
*/
@JvmName("benctdyhflvrfbgx")
public suspend fun sku(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sku = mapped
}
/**
* @param value Resource tags.
*/
@JvmName("eoblngjyyrnlsjtc")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Resource tags.
*/
@JvmName("rvggvhvyslifwkae")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value The name of the VirtualHub.
*/
@JvmName("mqocmkvdagwpffsg")
public suspend fun virtualHubName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.virtualHubName = mapped
}
/**
* @param value List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
*/
@JvmName("fsvmkslcwsvuplga")
public suspend fun virtualHubRouteTableV2s(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.virtualHubRouteTableV2s = mapped
}
/**
* @param argument List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
*/
@JvmName("mhbyetxuwoufbyvh")
public suspend fun virtualHubRouteTableV2s(argument: List Unit>) {
val toBeMapped = argument.toList().map {
VirtualHubRouteTableV2ArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.virtualHubRouteTableV2s = mapped
}
/**
* @param argument List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
*/
@JvmName("vkgcxxvvmxspdxbu")
public suspend fun virtualHubRouteTableV2s(vararg argument: suspend VirtualHubRouteTableV2ArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
VirtualHubRouteTableV2ArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.virtualHubRouteTableV2s = mapped
}
/**
* @param argument List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
*/
@JvmName("rirrqmjrubxyytio")
public suspend fun virtualHubRouteTableV2s(argument: suspend VirtualHubRouteTableV2ArgsBuilder.() -> Unit) {
val toBeMapped = listOf(VirtualHubRouteTableV2ArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.virtualHubRouteTableV2s = mapped
}
/**
* @param values List of all virtual hub route table v2s associated with this VirtualHub.
* These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
*/
@JvmName("shsdxstghciidmqc")
public suspend fun virtualHubRouteTableV2s(vararg values: VirtualHubRouteTableV2Args) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.virtualHubRouteTableV2s = mapped
}
/**
* @param value VirtualRouter ASN.
*/
@JvmName("vujwqclathrcenly")
public suspend fun virtualRouterAsn(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.virtualRouterAsn = mapped
}
/**
* @param value The VirtualHub Router autoscale configuration.
*/
@JvmName("llcbjypowjvxctnr")
public suspend fun virtualRouterAutoScaleConfiguration(`value`: VirtualRouterAutoScaleConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.virtualRouterAutoScaleConfiguration = mapped
}
/**
* @param argument The VirtualHub Router autoscale configuration.
*/
@JvmName("ixipiylgphhgwylt")
public suspend fun virtualRouterAutoScaleConfiguration(argument: suspend VirtualRouterAutoScaleConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = VirtualRouterAutoScaleConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.virtualRouterAutoScaleConfiguration = mapped
}
/**
* @param value VirtualRouter IPs.
*/
@JvmName("hypexkgvaawnpjld")
public suspend fun virtualRouterIps(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.virtualRouterIps = mapped
}
/**
* @param values VirtualRouter IPs.
*/
@JvmName("qafrutcehrxfgyeh")
public suspend fun virtualRouterIps(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.virtualRouterIps = mapped
}
/**
* @param value The VirtualWAN to which the VirtualHub belongs.
*/
@JvmName("kqamhtgebfyrbrkw")
public suspend fun virtualWan(`value`: SubResourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.virtualWan = mapped
}
/**
* @param argument The VirtualWAN to which the VirtualHub belongs.
*/
@JvmName("kibrbysnqfpedwir")
public suspend fun virtualWan(argument: suspend SubResourceArgsBuilder.() -> Unit) {
val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.virtualWan = mapped
}
/**
* @param value The VpnGateway associated with this VirtualHub.
*/
@JvmName("sdnghipaxkpywnff")
public suspend fun vpnGateway(`value`: SubResourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpnGateway = mapped
}
/**
* @param argument The VpnGateway associated with this VirtualHub.
*/
@JvmName("hnqrhsqljurxmlfs")
public suspend fun vpnGateway(argument: suspend SubResourceArgsBuilder.() -> Unit) {
val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.vpnGateway = mapped
}
internal fun build(): VirtualHubArgs = VirtualHubArgs(
addressPrefix = addressPrefix,
allowBranchToBranchTraffic = allowBranchToBranchTraffic,
azureFirewall = azureFirewall,
expressRouteGateway = expressRouteGateway,
hubRoutingPreference = hubRoutingPreference,
id = id,
location = location,
p2SVpnGateway = p2SVpnGateway,
preferredRoutingGateway = preferredRoutingGateway,
resourceGroupName = resourceGroupName,
routeTable = routeTable,
securityPartnerProvider = securityPartnerProvider,
securityProviderName = securityProviderName,
sku = sku,
tags = tags,
virtualHubName = virtualHubName,
virtualHubRouteTableV2s = virtualHubRouteTableV2s,
virtualRouterAsn = virtualRouterAsn,
virtualRouterAutoScaleConfiguration = virtualRouterAutoScaleConfiguration,
virtualRouterIps = virtualRouterIps,
virtualWan = virtualWan,
vpnGateway = vpnGateway,
)
}