VirtualNetworkRuleArgs

data class VirtualNetworkRuleArgs(val ignoreMissingVnetServiceEndpoint: Output<Boolean>? = null, val name: Output<String>? = null, val resourceGroupName: Output<String>? = null, val serverName: Output<String>? = null, val subnetId: Output<String>? = null) : ConvertibleToJava<VirtualNetworkRuleArgs>

Allows you to add, update, or remove an Azure SQL server to a subnet of a virtual network.

Note: The azure.sql.VirtualNetworkRule resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the azure.mssql.VirtualNetworkRule resource instead.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-sql-server-vnet-rule",
location: "West Europe",
});
const vnet = new azure.network.VirtualNetwork("vnet", {
name: "example-vnet",
addressSpaces: ["10&#46;7&#46;29&#46;0/29"],
location: example.location,
resourceGroupName: example.name,
});
const subnet = new azure.network.Subnet("subnet", {
name: "example-subnet",
resourceGroupName: example.name,
virtualNetworkName: vnet.name,
addressPrefixes: ["10&#46;7&#46;29&#46;0/29"],
serviceEndpoints: ["Microsoft&#46;Sql"],
});
const sqlserver = new azure.sql.SqlServer("sqlserver", {
name: "uniqueazuresqlserver",
resourceGroupName: example.name,
location: example.location,
version: "12.0",
administratorLogin: "4dm1n157r470r",
administratorLoginPassword: "4-v3ry-53cr37-p455w0rd",
});
const sqlvnetrule = new azure.sql.VirtualNetworkRule("sqlvnetrule", {
name: "sql-vnet-rule",
resourceGroupName: example.name,
serverName: sqlserver.name,
subnetId: subnet.id,
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-sql-server-vnet-rule",
location="West Europe")
vnet = azure.network.VirtualNetwork("vnet",
name="example-vnet",
address_spaces=["10&#46;7&#46;29&#46;0/29"],
location=example.location,
resource_group_name=example.name)
subnet = azure.network.Subnet("subnet",
name="example-subnet",
resource_group_name=example.name,
virtual_network_name=vnet.name,
address_prefixes=["10&#46;7&#46;29&#46;0/29"],
service_endpoints=["Microsoft&#46;Sql"])
sqlserver = azure.sql.SqlServer("sqlserver",
name="uniqueazuresqlserver",
resource_group_name=example.name,
location=example.location,
version="12.0",
administrator_login="4dm1n157r470r",
administrator_login_password="4-v3ry-53cr37-p455w0rd")
sqlvnetrule = azure.sql.VirtualNetworkRule("sqlvnetrule",
name="sql-vnet-rule",
resource_group_name=example.name,
server_name=sqlserver.name,
subnet_id=subnet.id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-sql-server-vnet-rule",
Location = "West Europe",
});
var vnet = new Azure.Network.VirtualNetwork("vnet", new()
{
Name = "example-vnet",
AddressSpaces = new[]
{
"10.7.29.0/29",
},
Location = example.Location,
ResourceGroupName = example.Name,
});
var subnet = new Azure.Network.Subnet("subnet", new()
{
Name = "example-subnet",
ResourceGroupName = example.Name,
VirtualNetworkName = vnet.Name,
AddressPrefixes = new[]
{
"10.7.29.0/29",
},
ServiceEndpoints = new[]
{
"Microsoft.Sql",
},
});
var sqlserver = new Azure.Sql.SqlServer("sqlserver", new()
{
Name = "uniqueazuresqlserver",
ResourceGroupName = example.Name,
Location = example.Location,
Version = "12.0",
AdministratorLogin = "4dm1n157r470r",
AdministratorLoginPassword = "4-v3ry-53cr37-p455w0rd",
});
var sqlvnetrule = new Azure.Sql.VirtualNetworkRule("sqlvnetrule", new()
{
Name = "sql-vnet-rule",
ResourceGroupName = example.Name,
ServerName = sqlserver.Name,
SubnetId = subnet.Id,
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-sql-server-vnet-rule"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
vnet, err := network.NewVirtualNetwork(ctx, "vnet", &network.VirtualNetworkArgs{
Name: pulumi.String("example-vnet"),
AddressSpaces: pulumi.StringArray{
pulumi.String("10.7.29.0/29"),
},
Location: example.Location,
ResourceGroupName: example.Name,
})
if err != nil {
return err
}
subnet, err := network.NewSubnet(ctx, "subnet", &network.SubnetArgs{
Name: pulumi.String("example-subnet"),
ResourceGroupName: example.Name,
VirtualNetworkName: vnet.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.7.29.0/29"),
},
ServiceEndpoints: pulumi.StringArray{
pulumi.String("Microsoft.Sql"),
},
})
if err != nil {
return err
}
sqlserver, err := sql.NewSqlServer(ctx, "sqlserver", &sql.SqlServerArgs{
Name: pulumi.String("uniqueazuresqlserver"),
ResourceGroupName: example.Name,
Location: example.Location,
Version: pulumi.String("12.0"),
AdministratorLogin: pulumi.String("4dm1n157r470r"),
AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
})
if err != nil {
return err
}
_, err = sql.NewVirtualNetworkRule(ctx, "sqlvnetrule", &sql.VirtualNetworkRuleArgs{
Name: pulumi.String("sql-vnet-rule"),
ResourceGroupName: example.Name,
ServerName: sqlserver.Name,
SubnetId: subnet.ID(),
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.sql.SqlServer;
import com.pulumi.azure.sql.SqlServerArgs;
import com.pulumi.azure.sql.VirtualNetworkRule;
import com.pulumi.azure.sql.VirtualNetworkRuleArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-sql-server-vnet-rule")
.location("West Europe")
.build());
var vnet = new VirtualNetwork("vnet", VirtualNetworkArgs.builder()
.name("example-vnet")
.addressSpaces("10.7.29.0/29")
.location(example.location())
.resourceGroupName(example.name())
.build());
var subnet = new Subnet("subnet", SubnetArgs.builder()
.name("example-subnet")
.resourceGroupName(example.name())
.virtualNetworkName(vnet.name())
.addressPrefixes("10.7.29.0/29")
.serviceEndpoints("Microsoft.Sql")
.build());
var sqlserver = new SqlServer("sqlserver", SqlServerArgs.builder()
.name("uniqueazuresqlserver")
.resourceGroupName(example.name())
.location(example.location())
.version("12.0")
.administratorLogin("4dm1n157r470r")
.administratorLoginPassword("4-v3ry-53cr37-p455w0rd")
.build());
var sqlvnetrule = new VirtualNetworkRule("sqlvnetrule", VirtualNetworkRuleArgs.builder()
.name("sql-vnet-rule")
.resourceGroupName(example.name())
.serverName(sqlserver.name())
.subnetId(subnet.id())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-sql-server-vnet-rule
location: West Europe
vnet:
type: azure:network:VirtualNetwork
properties:
name: example-vnet
addressSpaces:
- 10.7.29.0/29
location: ${example.location}
resourceGroupName: ${example.name}
subnet:
type: azure:network:Subnet
properties:
name: example-subnet
resourceGroupName: ${example.name}
virtualNetworkName: ${vnet.name}
addressPrefixes:
- 10.7.29.0/29
serviceEndpoints:
- Microsoft.Sql
sqlserver:
type: azure:sql:SqlServer
properties:
name: uniqueazuresqlserver
resourceGroupName: ${example.name}
location: ${example.location}
version: '12.0'
administratorLogin: 4dm1n157r470r
administratorLoginPassword: 4-v3ry-53cr37-p455w0rd
sqlvnetrule:
type: azure:sql:VirtualNetworkRule
properties:
name: sql-vnet-rule
resourceGroupName: ${example.name}
serverName: ${sqlserver.name}
subnetId: ${subnet.id}

Import

SQL Virtual Network Rules can be imported using the resource id, e.g.

$ pulumi import azure:sql/virtualNetworkRule:VirtualNetworkRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/virtualNetworkRules/vnetrulename

Constructors

Link copied to clipboard
constructor(ignoreMissingVnetServiceEndpoint: Output<Boolean>? = null, name: Output<String>? = null, resourceGroupName: Output<String>? = null, serverName: Output<String>? = null, subnetId: Output<String>? = null)

Properties

Link copied to clipboard

Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.

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

The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.

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

The name of the resource group where the SQL server resides. Changing this forces a new resource to be created.

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

The name of the SQL Server to which this SQL virtual network rule will be applied to. Changing this forces a new resource to be created.

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

The ID of the subnet that the SQL server will be connected to.

Functions

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