VirtualNetworkArgs

data class VirtualNetworkArgs(val addressSpace: Output<AddressSpaceArgs>? = null, val bgpCommunities: Output<VirtualNetworkBgpCommunitiesArgs>? = null, val ddosProtectionPlan: Output<SubResourceArgs>? = null, val dhcpOptions: Output<DhcpOptionsArgs>? = null, val enableDdosProtection: Output<Boolean>? = null, val enableVmProtection: Output<Boolean>? = null, val encryption: Output<VirtualNetworkEncryptionArgs>? = null, val extendedLocation: Output<ExtendedLocationArgs>? = null, val flowTimeoutInMinutes: Output<Int>? = null, val id: Output<String>? = null, val ipAllocations: Output<List<SubResourceArgs>>? = null, val location: Output<String>? = null, val privateEndpointVNetPolicies: Output<Either<String, PrivateEndpointVNetPolicies>>? = null, val resourceGroupName: Output<String>? = null, val subnets: Output<List<SubnetArgs>>? = null, val tags: Output<Map<String, String>>? = null, val virtualNetworkName: Output<String>? = null, val virtualNetworkPeerings: Output<List<VirtualNetworkPeeringArgs>>? = null) : ConvertibleToJava<VirtualNetworkArgs>

Virtual Network resource. Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. Other available API versions: 2018-06-01, 2018-07-01, 2018-08-01, 2018-10-01, 2018-11-01, 2018-12-01, 2019-02-01, 2019-04-01, 2019-06-01, 2019-07-01, 2019-08-01, 2019-09-01, 2019-11-01, 2019-12-01, 2020-03-01, 2020-04-01, 2020-05-01, 2020-06-01, 2020-07-01, 2020-08-01, 2020-11-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-08-01, 2022-01-01, 2022-05-01, 2022-07-01, 2022-09-01, 2022-11-01, 2023-02-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native network [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create virtual network

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
FlowTimeoutInMinutes = 10,
Location = "eastus",
ResourceGroupName = "rg1",
VirtualNetworkName = "test-vnet",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
FlowTimeoutInMinutes: pulumi.Int(10),
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("rg1"),
VirtualNetworkName: pulumi.String("test-vnet"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.flowTimeoutInMinutes(10)
.location("eastus")
.resourceGroupName("rg1")
.virtualNetworkName("test-vnet")
.build());
}
}

Create virtual network with Bgp Communities

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
BgpCommunities = new AzureNative.Network.Inputs.VirtualNetworkBgpCommunitiesArgs
{
VirtualNetworkCommunity = "12076:20000",
},
Location = "eastus",
ResourceGroupName = "rg1",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
AddressPrefix = "10.0.0.0/24",
Name = "test-1",
},
},
VirtualNetworkName = "test-vnet",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
BgpCommunities: &network.VirtualNetworkBgpCommunitiesArgs{
VirtualNetworkCommunity: pulumi.String("12076:20000"),
},
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("rg1"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
AddressPrefix: pulumi.String("10.0.0.0/24"),
Name: pulumi.String("test-1"),
},
},
VirtualNetworkName: pulumi.String("test-vnet"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.VirtualNetworkBgpCommunitiesArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.bgpCommunities(VirtualNetworkBgpCommunitiesArgs.builder()
.virtualNetworkCommunity("12076:20000")
.build())
.location("eastus")
.resourceGroupName("rg1")
.subnets(SubnetArgs.builder()
.addressPrefix("10.0.0.0/24")
.name("test-1")
.build())
.virtualNetworkName("test-vnet")
.build());
}
}

Create virtual network with delegated subnets

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
Location = "westcentralus",
ResourceGroupName = "rg1",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
AddressPrefix = "10.0.0.0/24",
Delegations = new[]
{
new AzureNative.Network.Inputs.DelegationArgs
{
Name = "myDelegation",
ServiceName = "Microsoft.Sql/managedInstances",
},
},
Name = "test-1",
},
},
VirtualNetworkName = "test-vnet",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("rg1"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
AddressPrefix: pulumi.String("10.0.0.0/24"),
Delegations: network.DelegationArray{
&network.DelegationArgs{
Name: pulumi.String("myDelegation"),
ServiceName: pulumi.String("Microsoft.Sql/managedInstances"),
},
},
Name: pulumi.String("test-1"),
},
},
VirtualNetworkName: pulumi.String("test-vnet"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.location("westcentralus")
.resourceGroupName("rg1")
.subnets(SubnetArgs.builder()
.addressPrefix("10.0.0.0/24")
.delegations(DelegationArgs.builder()
.name("myDelegation")
.serviceName("Microsoft.Sql/managedInstances")
.build())
.name("test-1")
.build())
.virtualNetworkName("test-vnet")
.build());
}
}

Create virtual network with encryption

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
Encryption = new AzureNative.Network.Inputs.VirtualNetworkEncryptionArgs
{
Enabled = true,
Enforcement = AzureNative.Network.VirtualNetworkEncryptionEnforcement.AllowUnencrypted,
},
Location = "eastus",
ResourceGroupName = "rg1",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
AddressPrefix = "10.0.0.0/24",
Name = "test-1",
},
},
VirtualNetworkName = "test-vnet",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
Encryption: &network.VirtualNetworkEncryptionArgs{
Enabled: pulumi.Bool(true),
Enforcement: pulumi.String(network.VirtualNetworkEncryptionEnforcementAllowUnencrypted),
},
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("rg1"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
AddressPrefix: pulumi.String("10.0.0.0/24"),
Name: pulumi.String("test-1"),
},
},
VirtualNetworkName: pulumi.String("test-vnet"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.VirtualNetworkEncryptionArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.encryption(VirtualNetworkEncryptionArgs.builder()
.enabled(true)
.enforcement("AllowUnencrypted")
.build())
.location("eastus")
.resourceGroupName("rg1")
.subnets(SubnetArgs.builder()
.addressPrefix("10.0.0.0/24")
.name("test-1")
.build())
.virtualNetworkName("test-vnet")
.build());
}
}

Create virtual network with ipamPool

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
IpamPoolPrefixAllocations = new[]
{
new AzureNative.Network.Inputs.IpamPoolPrefixAllocationArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1/ipamPools/testIpamPool",
NumberOfIpAddresses = "65536",
},
},
},
Location = "eastus",
ResourceGroupName = "rg1",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
IpamPoolPrefixAllocations = new[]
{
new AzureNative.Network.Inputs.IpamPoolPrefixAllocationArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1/ipamPools/testIpamPool",
NumberOfIpAddresses = "80",
},
},
Name = "test-1",
},
},
VirtualNetworkName = "test-vnet",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
IpamPoolPrefixAllocations: network.IpamPoolPrefixAllocationArray{
&network.IpamPoolPrefixAllocationArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1/ipamPools/testIpamPool"),
NumberOfIpAddresses: pulumi.String("65536"),
},
},
},
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("rg1"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
IpamPoolPrefixAllocations: network.IpamPoolPrefixAllocationArray{
&network.IpamPoolPrefixAllocationArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1/ipamPools/testIpamPool"),
NumberOfIpAddresses: pulumi.String("80"),
},
},
Name: pulumi.String("test-1"),
},
},
VirtualNetworkName: pulumi.String("test-vnet"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.ipamPoolPrefixAllocations(IpamPoolPrefixAllocationArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1/ipamPools/testIpamPool")
.numberOfIpAddresses("65536")
.build())
.build())
.location("eastus")
.resourceGroupName("rg1")
.subnets(SubnetArgs.builder()
.ipamPoolPrefixAllocations(IpamPoolPrefixAllocationArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1/ipamPools/testIpamPool")
.numberOfIpAddresses("80")
.build())
.name("test-1")
.build())
.virtualNetworkName("test-vnet")
.build());
}
}

Create virtual network with service endpoints

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
Location = "eastus",
ResourceGroupName = "vnetTest",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
AddressPrefix = "10.0.0.0/16",
Name = "test-1",
ServiceEndpoints = new[]
{
new AzureNative.Network.Inputs.ServiceEndpointPropertiesFormatArgs
{
Service = "Microsoft.Storage",
},
},
},
},
VirtualNetworkName = "vnet1",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("vnetTest"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
AddressPrefix: pulumi.String("10.0.0.0/16"),
Name: pulumi.String("test-1"),
ServiceEndpoints: network.ServiceEndpointPropertiesFormatArray{
&network.ServiceEndpointPropertiesFormatArgs{
Service: pulumi.String("Microsoft.Storage"),
},
},
},
},
VirtualNetworkName: pulumi.String("vnet1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.location("eastus")
.resourceGroupName("vnetTest")
.subnets(SubnetArgs.builder()
.addressPrefix("10.0.0.0/16")
.name("test-1")
.serviceEndpoints(ServiceEndpointPropertiesFormatArgs.builder()
.service("Microsoft.Storage")
.build())
.build())
.virtualNetworkName("vnet1")
.build());
}
}

Create virtual network with service endpoints and service endpoint policy

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
Location = "eastus2euap",
ResourceGroupName = "vnetTest",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
AddressPrefix = "10.0.0.0/16",
Name = "test-1",
ServiceEndpointPolicies = new[]
{
new AzureNative.Network.Inputs.ServiceEndpointPolicyArgs
{
Id = "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1",
},
},
ServiceEndpoints = new[]
{
new AzureNative.Network.Inputs.ServiceEndpointPropertiesFormatArgs
{
Service = "Microsoft.Storage",
},
},
},
},
VirtualNetworkName = "vnet1",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
Location: pulumi.String("eastus2euap"),
ResourceGroupName: pulumi.String("vnetTest"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
AddressPrefix: pulumi.String("10.0.0.0/16"),
Name: pulumi.String("test-1"),
ServiceEndpointPolicies: network.ServiceEndpointPolicyTypeArray{
&network.ServiceEndpointPolicyTypeArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1"),
},
},
ServiceEndpoints: network.ServiceEndpointPropertiesFormatArray{
&network.ServiceEndpointPropertiesFormatArgs{
Service: pulumi.String("Microsoft.Storage"),
},
},
},
},
VirtualNetworkName: pulumi.String("vnet1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.location("eastus2euap")
.resourceGroupName("vnetTest")
.subnets(SubnetArgs.builder()
.addressPrefix("10.0.0.0/16")
.name("test-1")
.serviceEndpointPolicies(ServiceEndpointPolicyArgs.builder()
.id("/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1")
.build())
.serviceEndpoints(ServiceEndpointPropertiesFormatArgs.builder()
.service("Microsoft.Storage")
.build())
.build())
.virtualNetworkName("vnet1")
.build());
}
}

Create virtual network with subnet

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
Location = "eastus",
ResourceGroupName = "rg1",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
AddressPrefix = "10.0.0.0/24",
Name = "test-1",
},
},
VirtualNetworkName = "test-vnet",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("rg1"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
AddressPrefix: pulumi.String("10.0.0.0/24"),
Name: pulumi.String("test-1"),
},
},
VirtualNetworkName: pulumi.String("test-vnet"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.location("eastus")
.resourceGroupName("rg1")
.subnets(SubnetArgs.builder()
.addressPrefix("10.0.0.0/24")
.name("test-1")
.build())
.virtualNetworkName("test-vnet")
.build());
}
}

Create virtual network with subnet containing address prefixes

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetwork = new AzureNative.Network.VirtualNetwork("virtualNetwork", new()
{
AddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/16",
},
},
Location = "eastus",
ResourceGroupName = "rg1",
Subnets = new[]
{
new AzureNative.Network.Inputs.SubnetArgs
{
AddressPrefixes = new[]
{
"10.0.0.0/28",
"10.0.1.0/28",
},
Name = "test-2",
},
},
VirtualNetworkName = "test-vnet",
});
});
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.NewVirtualNetwork(ctx, "virtualNetwork", &network.VirtualNetworkArgs{
AddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
},
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("rg1"),
Subnets: network.SubnetTypeArray{
&network.SubnetTypeArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.0.0/28"),
pulumi.String("10.0.1.0/28"),
},
Name: pulumi.String("test-2"),
},
},
VirtualNetworkName: pulumi.String("test-vnet"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.VirtualNetwork;
import com.pulumi.azurenative.network.VirtualNetworkArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.SubnetArgs;
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 virtualNetwork = new VirtualNetwork("virtualNetwork", VirtualNetworkArgs.builder()
.addressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.0.0.0/16")
.build())
.location("eastus")
.resourceGroupName("rg1")
.subnets(SubnetArgs.builder()
.addressPrefixes(
"10.0.0.0/28",
"10.0.1.0/28")
.name("test-2")
.build())
.virtualNetworkName("test-vnet")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:network:VirtualNetwork test-vnet /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}

Constructors

Link copied to clipboard
constructor(addressSpace: Output<AddressSpaceArgs>? = null, bgpCommunities: Output<VirtualNetworkBgpCommunitiesArgs>? = null, ddosProtectionPlan: Output<SubResourceArgs>? = null, dhcpOptions: Output<DhcpOptionsArgs>? = null, enableDdosProtection: Output<Boolean>? = null, enableVmProtection: Output<Boolean>? = null, encryption: Output<VirtualNetworkEncryptionArgs>? = null, extendedLocation: Output<ExtendedLocationArgs>? = null, flowTimeoutInMinutes: Output<Int>? = null, id: Output<String>? = null, ipAllocations: Output<List<SubResourceArgs>>? = null, location: Output<String>? = null, privateEndpointVNetPolicies: Output<Either<String, PrivateEndpointVNetPolicies>>? = null, resourceGroupName: Output<String>? = null, subnets: Output<List<SubnetArgs>>? = null, tags: Output<Map<String, String>>? = null, virtualNetworkName: Output<String>? = null, virtualNetworkPeerings: Output<List<VirtualNetworkPeeringArgs>>? = null)

Properties

Link copied to clipboard
val addressSpace: Output<AddressSpaceArgs>? = null

The AddressSpace that contains an array of IP address ranges that can be used by subnets.

Link copied to clipboard

Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.

Link copied to clipboard
val ddosProtectionPlan: Output<SubResourceArgs>? = null

The DDoS protection plan associated with the virtual network.

Link copied to clipboard
val dhcpOptions: Output<DhcpOptionsArgs>? = null

The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network.

Link copied to clipboard
val enableDdosProtection: Output<Boolean>? = null

Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource.

Link copied to clipboard
val enableVmProtection: Output<Boolean>? = null

Indicates if VM protection is enabled for all the subnets in the virtual network.

Link copied to clipboard

Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet.

Link copied to clipboard

The extended location of the virtual network.

Link copied to clipboard
val flowTimeoutInMinutes: Output<Int>? = null

The FlowTimeout value (in minutes) for the Virtual Network

Link copied to clipboard
val id: Output<String>? = null

Resource ID.

Link copied to clipboard
val ipAllocations: Output<List<SubResourceArgs>>? = null

Array of IpAllocation which reference this VNET.

Link copied to clipboard
val location: Output<String>? = null

Resource location.

Link copied to clipboard

Private Endpoint VNet Policies.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group.

Link copied to clipboard
val subnets: Output<List<SubnetArgs>>? = null

A list of subnets in a Virtual Network. 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.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Link copied to clipboard
val virtualNetworkName: Output<String>? = null

The name of the virtual network.

Link copied to clipboard

A list of peerings in a Virtual Network. 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.

Functions

Link copied to clipboard
open override fun toJava(): VirtualNetworkArgs