import * as network from '@pulumi/azure-native/network'; import * as pulumi from '@pulumi/pulumi'; import { output as outputs } from '@pulumi/azure-native/types'; import { BasicResourceArgs, ResourceInfo } from '../types'; import { CustomSecurityRuleArgs, RouteArgs } from './types'; import { SubnetProps } from './Subnet'; export type DelegateServices = 'Microsoft.ContainerInstance/containerGroups' | 'Microsoft.Web/serverFarms' | 'Microsoft.App/environments' | string; export interface VnetProps extends BasicResourceArgs { ddosId?: pulumi.Input; /** the prefix space of vnet: ex [192.168.0.0/16]. If not provided it will collect from subnet */ addressSpaces?: Array>; subnets?: SubnetProps[]; dnsServers?: pulumi.Input[]>; natGateway?: network.NatGateway; features?: { securityGroup?: { enabled?: boolean; /**Add Security rule to block/allow internet if it is TRUE*/ allowOutboundInternetAccess?: boolean; rules?: pulumi.Input[]; }; routeTable?: { enabled?: boolean; rules?: pulumi.Input[]; }; appGatewaySubnet?: { addressPrefix: string; version: 'v1' | 'v2'; }; gatewaySubnet?: { addressPrefix: string; }; firewall?: { /** Subnet address Prefix */ addressPrefix: string; enableNatGateway?: boolean; managementAddressPrefix?: string; }; bastion?: { /** Subnet address Prefix */ addressPrefix: string; }; }; } export type VnetResult = ResourceInfo & { vnet: network.VirtualNetwork; appGatewaySubnet: pulumi.OutputInstance; gatewaySubnet: pulumi.OutputInstance; firewallManageSubnet: pulumi.OutputInstance; routeTable?: network.RouteTable; firewallSubnet: pulumi.OutputInstance; bastionSubnet: pulumi.OutputInstance; findSubnet: (name: string) => pulumi.OutputInstance; securityGroup: undefined | network.NetworkSecurityGroup; }; declare const _default: ({ name, group, ddosId, addressSpaces, subnets, natGateway, dnsServers, features, dependsOn, }: VnetProps) => VnetResult; export default _default;