import * as pulumi from "@pulumi/pulumi"; /** * Manages a Databricks Virtual Network Peering * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const remote = new azure.network.VirtualNetwork("remote", { * name: "remote-vnet", * resourceGroupName: example.name, * addressSpaces: ["10.0.1.0/24"], * location: example.location, * }); * const exampleWorkspace = new azure.databricks.Workspace("example", { * name: "example-workspace", * resourceGroupName: example.name, * location: example.location, * sku: "standard", * }); * const exampleVirtualNetworkPeering = new azure.databricks.VirtualNetworkPeering("example", { * name: "databricks-vnet-peer", * resourceGroupName: example.name, * workspaceId: exampleWorkspace.id, * remoteAddressSpacePrefixes: remote.addressSpaces, * remoteVirtualNetworkId: remote.id, * allowVirtualNetworkAccess: true, * }); * const remoteVirtualNetworkPeering = new azure.network.VirtualNetworkPeering("remote", { * name: "peer-to-databricks", * resourceGroupName: example.name, * virtualNetworkName: remote.name, * remoteVirtualNetworkId: exampleVirtualNetworkPeering.virtualNetworkId, * allowVirtualNetworkAccess: true, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Databricks` - 2026-01-01 * * ## Import * * Databrick Virtual Network Peerings can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:databricks/virtualNetworkPeering:VirtualNetworkPeering example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Databricks/workspaces/workspace1/virtualNetworkPeerings/peering1 * ``` */ export declare class VirtualNetworkPeering extends pulumi.CustomResource { /** * Get an existing VirtualNetworkPeering resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: VirtualNetworkPeeringState, opts?: pulumi.CustomResourceOptions): VirtualNetworkPeering; /** * Returns true if the given object is an instance of VirtualNetworkPeering. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VirtualNetworkPeering; /** * A list of address blocks reserved for this virtual network in CIDR notation. */ readonly addressSpacePrefixes: pulumi.Output; /** * Can the forwarded traffic from the VMs in the local virtual network be forwarded to the remote virtual network? Defaults to `false`. */ readonly allowForwardedTraffic: pulumi.Output; /** * Can the gateway links be used in the remote virtual network to link to the Databricks virtual network? Defaults to `false`. */ readonly allowGatewayTransit: pulumi.Output; /** * Can the VMs in the local virtual network space access the VMs in the remote virtual network space? Defaults to `true`. */ readonly allowVirtualNetworkAccess: pulumi.Output; /** * Specifies the name of the Databricks Virtual Network Peering resource. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * A list of address blocks reserved for the remote virtual network in CIDR notation. Changing this forces a new resource to be created. */ readonly remoteAddressSpacePrefixes: pulumi.Output; /** * The ID of the remote virtual network. Changing this forces a new resource to be created. * * > **Note:** The remote virtual network should be in the same region as the databricks workspace. Please see the [product documentation](https://learn.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering) for more information. */ readonly remoteVirtualNetworkId: pulumi.Output; /** * The name of the Resource Group in which the Databricks Virtual Network Peering should exist. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * Can remote gateways be used on the Databricks virtual network? Defaults to `false`. * * > **Note:** If the `useRemoteGateways` is set to `true`, and `allowGatewayTransit` on the remote peering is also `true`, the virtual network will use the gateways of the remote virtual network for transit. Only one peering can have this flag set to `true`. `useRemoteGateways` cannot be set if the virtual network already has a gateway. */ readonly useRemoteGateways: pulumi.Output; /** * The ID of the internal Virtual Network used by the DataBricks Workspace. * * > **Note:** The `virtualNetworkId` field is the value you must supply to the `azure.network.VirtualNetworkPeering` resources `remoteVirtualNetworkId` field to successfully peer the Databricks Virtual Network with the remote virtual network. */ readonly virtualNetworkId: pulumi.Output; /** * The ID of the Databricks Workspace that this Databricks Virtual Network Peering is bound. Changing this forces a new resource to be created. */ readonly workspaceId: pulumi.Output; /** * Create a VirtualNetworkPeering resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VirtualNetworkPeeringArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VirtualNetworkPeering resources. */ export interface VirtualNetworkPeeringState { /** * A list of address blocks reserved for this virtual network in CIDR notation. */ addressSpacePrefixes?: pulumi.Input[]>; /** * Can the forwarded traffic from the VMs in the local virtual network be forwarded to the remote virtual network? Defaults to `false`. */ allowForwardedTraffic?: pulumi.Input; /** * Can the gateway links be used in the remote virtual network to link to the Databricks virtual network? Defaults to `false`. */ allowGatewayTransit?: pulumi.Input; /** * Can the VMs in the local virtual network space access the VMs in the remote virtual network space? Defaults to `true`. */ allowVirtualNetworkAccess?: pulumi.Input; /** * Specifies the name of the Databricks Virtual Network Peering resource. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A list of address blocks reserved for the remote virtual network in CIDR notation. Changing this forces a new resource to be created. */ remoteAddressSpacePrefixes?: pulumi.Input[]>; /** * The ID of the remote virtual network. Changing this forces a new resource to be created. * * > **Note:** The remote virtual network should be in the same region as the databricks workspace. Please see the [product documentation](https://learn.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering) for more information. */ remoteVirtualNetworkId?: pulumi.Input; /** * The name of the Resource Group in which the Databricks Virtual Network Peering should exist. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * Can remote gateways be used on the Databricks virtual network? Defaults to `false`. * * > **Note:** If the `useRemoteGateways` is set to `true`, and `allowGatewayTransit` on the remote peering is also `true`, the virtual network will use the gateways of the remote virtual network for transit. Only one peering can have this flag set to `true`. `useRemoteGateways` cannot be set if the virtual network already has a gateway. */ useRemoteGateways?: pulumi.Input; /** * The ID of the internal Virtual Network used by the DataBricks Workspace. * * > **Note:** The `virtualNetworkId` field is the value you must supply to the `azure.network.VirtualNetworkPeering` resources `remoteVirtualNetworkId` field to successfully peer the Databricks Virtual Network with the remote virtual network. */ virtualNetworkId?: pulumi.Input; /** * The ID of the Databricks Workspace that this Databricks Virtual Network Peering is bound. Changing this forces a new resource to be created. */ workspaceId?: pulumi.Input; } /** * The set of arguments for constructing a VirtualNetworkPeering resource. */ export interface VirtualNetworkPeeringArgs { /** * Can the forwarded traffic from the VMs in the local virtual network be forwarded to the remote virtual network? Defaults to `false`. */ allowForwardedTraffic?: pulumi.Input; /** * Can the gateway links be used in the remote virtual network to link to the Databricks virtual network? Defaults to `false`. */ allowGatewayTransit?: pulumi.Input; /** * Can the VMs in the local virtual network space access the VMs in the remote virtual network space? Defaults to `true`. */ allowVirtualNetworkAccess?: pulumi.Input; /** * Specifies the name of the Databricks Virtual Network Peering resource. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A list of address blocks reserved for the remote virtual network in CIDR notation. Changing this forces a new resource to be created. */ remoteAddressSpacePrefixes: pulumi.Input[]>; /** * The ID of the remote virtual network. Changing this forces a new resource to be created. * * > **Note:** The remote virtual network should be in the same region as the databricks workspace. Please see the [product documentation](https://learn.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering) for more information. */ remoteVirtualNetworkId: pulumi.Input; /** * The name of the Resource Group in which the Databricks Virtual Network Peering should exist. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * Can remote gateways be used on the Databricks virtual network? Defaults to `false`. * * > **Note:** If the `useRemoteGateways` is set to `true`, and `allowGatewayTransit` on the remote peering is also `true`, the virtual network will use the gateways of the remote virtual network for transit. Only one peering can have this flag set to `true`. `useRemoteGateways` cannot be set if the virtual network already has a gateway. */ useRemoteGateways?: pulumi.Input; /** * The ID of the Databricks Workspace that this Databricks Virtual Network Peering is bound. Changing this forces a new resource to be created. */ workspaceId: pulumi.Input; }