UNPKG

@pulumi/azure-native

Version:

[![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![NPM version](https://badge.fury.io/js/%40pulumi%2Fazure-native.svg)](https://npmjs.com/package/@pulumi/azure-native) [![Python version](https://badge.fury.io/py/pu

207 lines (206 loc) • 8.94 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * 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, 2024-07-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](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export declare class VirtualNetwork extends pulumi.CustomResource { /** * Get an existing VirtualNetwork 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): VirtualNetwork; /** * Returns true if the given object is an instance of VirtualNetwork. 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 VirtualNetwork; /** * The AddressSpace that contains an array of IP address ranges that can be used by subnets. */ readonly addressSpace: pulumi.Output<outputs.network.AddressSpaceResponse | undefined>; /** * The Azure API version of the resource. */ readonly azureApiVersion: pulumi.Output<string>; /** * Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. */ readonly bgpCommunities: pulumi.Output<outputs.network.VirtualNetworkBgpCommunitiesResponse | undefined>; /** * The DDoS protection plan associated with the virtual network. */ readonly ddosProtectionPlan: pulumi.Output<outputs.network.SubResourceResponse | undefined>; /** * The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. */ readonly dhcpOptions: pulumi.Output<outputs.network.DhcpOptionsResponse | undefined>; /** * 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. */ readonly enableDdosProtection: pulumi.Output<boolean | undefined>; /** * Indicates if VM protection is enabled for all the subnets in the virtual network. */ readonly enableVmProtection: pulumi.Output<boolean | undefined>; /** * Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet. */ readonly encryption: pulumi.Output<outputs.network.VirtualNetworkEncryptionResponse | undefined>; /** * A unique read-only string that changes whenever the resource is updated. */ readonly etag: pulumi.Output<string>; /** * The extended location of the virtual network. */ readonly extendedLocation: pulumi.Output<outputs.network.ExtendedLocationResponse | undefined>; /** * A collection of references to flow log resources. */ readonly flowLogs: pulumi.Output<outputs.network.FlowLogResponse[]>; /** * The FlowTimeout value (in minutes) for the Virtual Network */ readonly flowTimeoutInMinutes: pulumi.Output<number | undefined>; /** * Array of IpAllocation which reference this VNET. */ readonly ipAllocations: pulumi.Output<outputs.network.SubResourceResponse[] | undefined>; /** * Resource location. */ readonly location: pulumi.Output<string | undefined>; /** * Resource name. */ readonly name: pulumi.Output<string>; /** * Private Endpoint VNet Policies. */ readonly privateEndpointVNetPolicies: pulumi.Output<string | undefined>; /** * The provisioning state of the virtual network resource. */ readonly provisioningState: pulumi.Output<string>; /** * The resourceGuid property of the Virtual Network resource. */ readonly resourceGuid: pulumi.Output<string>; /** * A list of subnets in a Virtual Network. */ readonly subnets: pulumi.Output<outputs.network.SubnetResponse[] | undefined>; /** * Resource tags. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Resource type. */ readonly type: pulumi.Output<string>; /** * A list of peerings in a Virtual Network. */ readonly virtualNetworkPeerings: pulumi.Output<outputs.network.VirtualNetworkPeeringResponse[] | undefined>; /** * Create a VirtualNetwork 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: VirtualNetworkArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a VirtualNetwork resource. */ export interface VirtualNetworkArgs { /** * The AddressSpace that contains an array of IP address ranges that can be used by subnets. */ addressSpace?: pulumi.Input<inputs.network.AddressSpaceArgs>; /** * Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. */ bgpCommunities?: pulumi.Input<inputs.network.VirtualNetworkBgpCommunitiesArgs>; /** * The DDoS protection plan associated with the virtual network. */ ddosProtectionPlan?: pulumi.Input<inputs.network.SubResourceArgs>; /** * The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. */ dhcpOptions?: pulumi.Input<inputs.network.DhcpOptionsArgs>; /** * 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. */ enableDdosProtection?: pulumi.Input<boolean>; /** * Indicates if VM protection is enabled for all the subnets in the virtual network. */ enableVmProtection?: pulumi.Input<boolean>; /** * Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet. */ encryption?: pulumi.Input<inputs.network.VirtualNetworkEncryptionArgs>; /** * The extended location of the virtual network. */ extendedLocation?: pulumi.Input<inputs.network.ExtendedLocationArgs>; /** * The FlowTimeout value (in minutes) for the Virtual Network */ flowTimeoutInMinutes?: pulumi.Input<number>; /** * Resource ID. */ id?: pulumi.Input<string>; /** * Array of IpAllocation which reference this VNET. */ ipAllocations?: pulumi.Input<pulumi.Input<inputs.network.SubResourceArgs>[]>; /** * Resource location. */ location?: pulumi.Input<string>; /** * Private Endpoint VNet Policies. */ privateEndpointVNetPolicies?: pulumi.Input<string | enums.network.PrivateEndpointVNetPolicies>; /** * The name of the resource group. */ resourceGroupName: pulumi.Input<string>; /** * 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. */ subnets?: pulumi.Input<pulumi.Input<inputs.network.SubnetArgs>[]>; /** * Resource tags. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The name of the virtual network. */ virtualNetworkName?: pulumi.Input<string>; /** * 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. */ virtualNetworkPeerings?: pulumi.Input<pulumi.Input<inputs.network.VirtualNetworkPeeringArgs>[]>; }