import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface AddressSpace { addressPrefixes: Expressionable; } export interface ApplicationGatewayAuthenticationCertificate { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayAuthenticationCertificatePropertiesFormat { data?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayBackendAddress { fqdn?: Expressionable; ipAddress?: Expressionable; } export interface ApplicationGatewayBackendAddressPool { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayBackendAddressPoolPropertiesFormat { backendIPConfigurations?: Expressionable; backendAddresses?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayBackendHttpSettings { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayBackendHttpSettingsPropertiesFormat { port?: Expressionable; protocol?: Expressionable<('Http' | 'Https')>; cookieBasedAffinity?: Expressionable<('Enabled' | 'Disabled')>; requestTimeout?: Expressionable; probe?: Expressionable; authenticationCertificates?: Expressionable; connectionDraining?: Expressionable; hostName?: Expressionable; pickHostNameFromBackendAddress?: Expressionable; affinityCookieName?: Expressionable; probeEnabled?: Expressionable; path?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayConnectionDraining { enabled: Expressionable; drainTimeoutInSec: Expressionable; } export interface ApplicationGatewayFirewallDisabledRuleGroup { ruleGroupName: Expressionable; rules?: Expressionable; } export interface ApplicationGatewayFrontendIPConfiguration { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayFrontendIPConfigurationPropertiesFormat { privateIPAddress?: Expressionable; privateIPAllocationMethod?: Expressionable<('Static' | 'Dynamic')>; subnet?: Expressionable; publicIPAddress?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayFrontendPort { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayFrontendPortPropertiesFormat { port?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayHttpListener { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayHttpListenerPropertiesFormat { frontendIPConfiguration?: Expressionable; frontendPort?: Expressionable; protocol?: Expressionable<('Http' | 'Https')>; hostName?: Expressionable; sslCertificate?: Expressionable; requireServerNameIndication?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayIPConfiguration { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayIPConfigurationPropertiesFormat { subnet?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayPathRule { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayPathRulePropertiesFormat { paths?: Expressionable; backendAddressPool?: Expressionable; backendHttpSettings?: Expressionable; redirectConfiguration?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayProbe { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayProbeHealthResponseMatch { body?: Expressionable; statusCodes?: Expressionable; } export interface ApplicationGatewayProbePropertiesFormat { protocol?: Expressionable<('Http' | 'Https')>; host?: Expressionable; path?: Expressionable; interval?: Expressionable; timeout?: Expressionable; unhealthyThreshold?: Expressionable; pickHostNameFromBackendHttpSettings?: Expressionable; minServers?: Expressionable; match?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayPropertiesFormat { sku?: Expressionable; sslPolicy?: Expressionable; gatewayIPConfigurations?: Expressionable; authenticationCertificates?: Expressionable; sslCertificates?: Expressionable; frontendIPConfigurations?: Expressionable; frontendPorts?: Expressionable; probes?: Expressionable; backendAddressPools?: Expressionable; backendHttpSettingsCollection?: Expressionable; httpListeners?: Expressionable; urlPathMaps?: Expressionable; requestRoutingRules?: Expressionable; redirectConfigurations?: Expressionable; webApplicationFirewallConfiguration?: Expressionable; enableHttp2?: Expressionable; resourceGuid?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayRedirectConfiguration { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayRedirectConfigurationPropertiesFormat { redirectType?: Expressionable<('Permanent' | 'Found' | 'SeeOther' | 'Temporary')>; targetListener?: Expressionable; targetUrl?: Expressionable; includePath?: Expressionable; includeQueryString?: Expressionable; requestRoutingRules?: Expressionable; urlPathMaps?: Expressionable; pathRules?: Expressionable; } export interface ApplicationGatewayRequestRoutingRule { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayRequestRoutingRulePropertiesFormat { ruleType?: Expressionable<('Basic' | 'PathBasedRouting')>; backendAddressPool?: Expressionable; backendHttpSettings?: Expressionable; httpListener?: Expressionable; urlPathMap?: Expressionable; redirectConfiguration?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewaySku { name?: Expressionable<('Standard_Small' | 'Standard_Medium' | 'Standard_Large' | 'WAF_Medium' | 'WAF_Large')>; tier?: Expressionable<('Standard' | 'WAF')>; capacity?: Expressionable; } export interface ApplicationGatewaySslCertificate { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewaySslCertificatePropertiesFormat { data?: Expressionable; password?: Expressionable; publicCertData?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewaySslPolicy { disabledSslProtocols?: Expressionable<('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2')[]>; policyType?: Expressionable<('Predefined' | 'Custom')>; policyName?: Expressionable<('AppGwSslPolicy20150501' | 'AppGwSslPolicy20170401' | 'AppGwSslPolicy20170401S')>; cipherSuites?: Expressionable<('TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384' | 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256' | 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA' | 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA' | 'TLS_DHE_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_DHE_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_DHE_RSA_WITH_AES_256_CBC_SHA' | 'TLS_DHE_RSA_WITH_AES_128_CBC_SHA' | 'TLS_RSA_WITH_AES_256_GCM_SHA384' | 'TLS_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_RSA_WITH_AES_256_CBC_SHA256' | 'TLS_RSA_WITH_AES_128_CBC_SHA256' | 'TLS_RSA_WITH_AES_256_CBC_SHA' | 'TLS_RSA_WITH_AES_128_CBC_SHA' | 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384' | 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256' | 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384' | 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256' | 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA' | 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA' | 'TLS_DHE_DSS_WITH_AES_256_CBC_SHA256' | 'TLS_DHE_DSS_WITH_AES_128_CBC_SHA256' | 'TLS_DHE_DSS_WITH_AES_256_CBC_SHA' | 'TLS_DHE_DSS_WITH_AES_128_CBC_SHA' | 'TLS_RSA_WITH_3DES_EDE_CBC_SHA' | 'TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA' | 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' | 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384')[]>; minProtocolVersion?: Expressionable<('TLSv1_0' | 'TLSv1_1' | 'TLSv1_2')>; } export interface ApplicationGatewayUrlPathMap { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; type?: Expressionable; } export interface ApplicationGatewayUrlPathMapPropertiesFormat { defaultBackendAddressPool?: Expressionable; defaultBackendHttpSettings?: Expressionable; defaultRedirectConfiguration?: Expressionable; pathRules?: Expressionable; provisioningState?: Expressionable; } export interface ApplicationGatewayWebApplicationFirewallConfiguration { enabled: Expressionable; firewallMode: Expressionable<('Detection' | 'Prevention')>; ruleSetType: Expressionable; ruleSetVersion: Expressionable; disabledRuleGroups?: Expressionable; } export interface ApplicationSecurityGroup { location: Expressionable; properties?: Expressionable; } export interface ApplicationSecurityGroupPropertiesFormat { } export interface AuthorizationPropertiesFormat { authorizationKey?: Expressionable; authorizationUseStatus?: Expressionable<('Available' | 'InUse')>; provisioningState?: Expressionable; } export interface BackendAddressPool { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface BackendAddressPoolPropertiesFormat { provisioningState?: Expressionable; } export interface BgpSettings { asn?: Expressionable; bgpPeeringAddress?: Expressionable; peerWeight?: Expressionable; } export interface ConnectionMonitorDestination { resourceId?: Expressionable; address?: Expressionable; port?: Expressionable; } export interface ConnectionMonitorParameters { source: Expressionable; destination: Expressionable; autoStart?: Expressionable; monitoringIntervalInSeconds?: Expressionable; } export interface ConnectionMonitorSource { resourceId: Expressionable; port?: Expressionable; } export interface DhcpOptions { dnsServers: Expressionable; } export interface ExpressRouteCircuitAuthorization { properties?: Expressionable; name?: Expressionable; } export interface ExpressRouteCircuitPeering { properties?: Expressionable; name?: Expressionable; } export interface ExpressRouteCircuitPeeringConfig { advertisedPublicPrefixes?: Expressionable; advertisedCommunities?: Expressionable; advertisedPublicPrefixesState?: Expressionable<('NotConfigured' | 'Configuring' | 'Configured' | 'ValidationNeeded')>; legacyMode?: Expressionable; customerASN?: Expressionable; routingRegistryName?: Expressionable; } export interface ExpressRouteCircuitPeeringPropertiesFormat { peeringType?: Expressionable<('AzurePublicPeering' | 'AzurePrivatePeering' | 'MicrosoftPeering')>; state?: Expressionable<('Disabled' | 'Enabled')>; azureASN?: Expressionable; peerASN?: Expressionable; primaryPeerAddressPrefix?: Expressionable; secondaryPeerAddressPrefix?: Expressionable; primaryAzurePort?: Expressionable; secondaryAzurePort?: Expressionable; sharedKey?: Expressionable; vlanId?: Expressionable; microsoftPeeringConfig?: Expressionable; stats?: Expressionable; provisioningState?: Expressionable; gatewayManagerEtag?: Expressionable; lastModifiedBy?: Expressionable; routeFilter?: Expressionable; ipv6PeeringConfig?: Expressionable; } export interface ExpressRouteCircuitPropertiesFormat { allowClassicOperations?: Expressionable; circuitProvisioningState?: Expressionable; serviceProviderProvisioningState?: Expressionable<('NotProvisioned' | 'Provisioning' | 'Provisioned' | 'Deprovisioning')>; authorizations?: Expressionable; peerings?: Expressionable; serviceKey?: Expressionable; serviceProviderNotes?: Expressionable; serviceProviderProperties?: Expressionable; provisioningState?: Expressionable; gatewayManagerEtag?: Expressionable; } export interface ExpressRouteCircuitServiceProviderProperties { serviceProviderName?: Expressionable; peeringLocation?: Expressionable; bandwidthInMbps?: Expressionable; } export interface ExpressRouteCircuitSku { name?: Expressionable; tier?: Expressionable<('Standard' | 'Premium')>; family?: Expressionable<('UnlimitedData' | 'MeteredData')>; } export interface ExpressRouteCircuitStats { primarybytesIn?: Expressionable; primarybytesOut?: Expressionable; secondarybytesIn?: Expressionable; secondarybytesOut?: Expressionable; } export interface FrontendIPConfiguration { properties?: Expressionable; name: Expressionable; etag?: Expressionable; zones?: Expressionable; } export interface FrontendIPConfigurationPropertiesFormat { privateIPAddress?: Expressionable; privateIPAllocationMethod?: Expressionable<('Static' | 'Dynamic')>; subnet?: Expressionable; publicIPAddress?: Expressionable; provisioningState?: Expressionable; } export interface InboundNatPool { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface InboundNatPoolPropertiesFormat { frontendIPConfiguration: Expressionable; protocol: Expressionable<('Udp' | 'Tcp' | 'All')>; frontendPortRangeStart: Expressionable; frontendPortRangeEnd: Expressionable; backendPort: Expressionable; idleTimeoutInMinutes?: Expressionable; enableFloatingIP?: Expressionable; provisioningState?: Expressionable; } export interface InboundNatRule { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface InboundNatRulePropertiesFormat { frontendIPConfiguration: Expressionable; protocol: Expressionable<('Udp' | 'Tcp' | 'All')>; frontendPort: Expressionable; backendPort: Expressionable; idleTimeoutInMinutes?: Expressionable; enableFloatingIP?: Expressionable; provisioningState?: Expressionable; } export interface IpsecPolicy { saLifeTimeSeconds: Expressionable; saDataSizeKilobytes: Expressionable; ipsecEncryption: Expressionable<('None' | 'DES' | 'DES3' | 'AES128' | 'AES192' | 'AES256' | 'GCMAES128' | 'GCMAES192' | 'GCMAES256')>; ipsecIntegrity: Expressionable<('MD5' | 'SHA1' | 'SHA256' | 'GCMAES128' | 'GCMAES192' | 'GCMAES256')>; ikeEncryption: Expressionable<('DES' | 'DES3' | 'AES128' | 'AES192' | 'AES256')>; ikeIntegrity: Expressionable<('MD5' | 'SHA1' | 'SHA256' | 'SHA384')>; dhGroup: Expressionable<('None' | 'DHGroup1' | 'DHGroup2' | 'DHGroup14' | 'DHGroup2048' | 'ECP256' | 'ECP384' | 'DHGroup24')>; pfsGroup: Expressionable<('None' | 'PFS1' | 'PFS2' | 'PFS2048' | 'ECP256' | 'ECP384' | 'PFS24')>; } export interface IpTag { ipTagType?: Expressionable; tag?: Expressionable; } export interface Ipv6ExpressRouteCircuitPeeringConfig { primaryPeerAddressPrefix?: Expressionable; secondaryPeerAddressPrefix?: Expressionable; microsoftPeeringConfig?: Expressionable; routeFilter?: Expressionable; state?: Expressionable<('Disabled' | 'Enabled')>; } export interface LoadBalancerPropertiesFormat { frontendIPConfigurations?: Expressionable; backendAddressPools?: Expressionable; loadBalancingRules?: Expressionable; probes?: Expressionable; inboundNatRules?: Expressionable; inboundNatPools?: Expressionable; outboundNatRules?: Expressionable; resourceGuid?: Expressionable; provisioningState?: Expressionable; } export interface LoadBalancerSku { name?: Expressionable<('Basic' | 'Standard')>; } export interface LoadBalancingRule { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface LoadBalancingRulePropertiesFormat { frontendIPConfiguration: Expressionable; backendAddressPool?: Expressionable; probe?: Expressionable; protocol: Expressionable<('Udp' | 'Tcp' | 'All')>; loadDistribution?: Expressionable<('Default' | 'SourceIP' | 'SourceIPProtocol')>; frontendPort: Expressionable; backendPort: Expressionable; idleTimeoutInMinutes?: Expressionable; enableFloatingIP?: Expressionable; disableOutboundSnat?: Expressionable; provisioningState?: Expressionable; } export interface LocalNetworkGateway { location: Expressionable; properties: Expressionable; etag?: Expressionable; } export interface LocalNetworkGatewayPropertiesFormat { localNetworkAddressSpace?: Expressionable; gatewayIpAddress?: Expressionable; bgpSettings?: Expressionable; resourceGuid?: Expressionable; } export interface NetworkInterfaceDnsSettings { dnsServers?: Expressionable; appliedDnsServers?: Expressionable; internalDnsNameLabel?: Expressionable; internalFqdn?: Expressionable; internalDomainNameSuffix?: Expressionable; } export interface NetworkInterfaceIPConfiguration { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface NetworkInterfaceIPConfigurationPropertiesFormat { applicationGatewayBackendAddressPools?: Expressionable; loadBalancerBackendAddressPools?: Expressionable; loadBalancerInboundNatRules?: Expressionable; privateIPAddress?: Expressionable; privateIPAllocationMethod?: Expressionable<('Static' | 'Dynamic')>; privateIPAddressVersion?: Expressionable<('IPv4' | 'IPv6')>; subnet?: Expressionable; primary?: Expressionable; publicIPAddress?: Expressionable; applicationSecurityGroups?: Expressionable; provisioningState?: Expressionable; } export interface NetworkInterfacePropertiesFormat { networkSecurityGroup?: Expressionable; ipConfigurations: Expressionable; dnsSettings?: Expressionable; macAddress?: Expressionable; primary?: Expressionable; enableAcceleratedNetworking?: Expressionable; enableIPForwarding?: Expressionable; resourceGuid?: Expressionable; provisioningState?: Expressionable; } export interface NetworkSecurityGroupPropertiesFormat { securityRules?: Expressionable; defaultSecurityRules?: Expressionable; resourceGuid?: Expressionable; provisioningState?: Expressionable; } export interface NetworkWatcherPropertiesFormat { } export interface OutboundNatRule { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; } export interface OutboundNatRulePropertiesFormat { allocatedOutboundPorts?: Expressionable; frontendIPConfigurations?: Expressionable; backendAddressPool: Expressionable; provisioningState?: Expressionable; } export interface PacketCaptureFilter { protocol?: Expressionable<('TCP' | 'UDP' | 'Any')>; localIPAddress?: Expressionable; remoteIPAddress?: Expressionable; localPort?: Expressionable; remotePort?: Expressionable; } export interface PacketCaptureParameters { target: Expressionable; bytesToCapturePerPacket?: Expressionable; totalBytesPerSession?: Expressionable; timeLimitInSeconds?: Expressionable; storageLocation: Expressionable; filters?: Expressionable; } export interface PacketCaptureStorageLocation { storageId?: Expressionable; storagePath?: Expressionable; filePath?: Expressionable; } export interface Probe { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface ProbePropertiesFormat { protocol: Expressionable<('Http' | 'Tcp')>; port: Expressionable; intervalInSeconds?: Expressionable; numberOfProbes: Expressionable; requestPath?: Expressionable; provisioningState?: Expressionable; } export interface PublicIPAddressDnsSettings { domainNameLabel: Expressionable; fqdn?: Expressionable; reverseFqdn?: Expressionable; } export interface PublicIPAddressPropertiesFormat { publicIPAllocationMethod: Expressionable<('Static' | 'Dynamic')>; publicIPAddressVersion?: Expressionable<('IPv4' | 'IPv6')>; dnsSettings?: Expressionable; ipTags?: Expressionable; ipAddress?: Expressionable; idleTimeoutInMinutes?: Expressionable; resourceGuid?: Expressionable; provisioningState?: Expressionable; } export interface PublicIPAddressSku { name?: Expressionable<('Basic' | 'Standard')>; } export interface ResourceNavigationLink { properties?: Expressionable; name?: Expressionable; } export interface ResourceNavigationLinkFormat { linkedResourceType?: Expressionable; link?: Expressionable; } export interface Route { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; } export interface RouteFilterPropertiesFormat { rules?: Expressionable; peerings?: Expressionable; } export interface RouteFilterRule { properties?: Expressionable; name?: Expressionable; location?: Expressionable; } export interface RouteFilterRulePropertiesFormat { access: Expressionable<('Allow' | 'Deny')>; routeFilterRuleType: Expressionable<('Community')>; communities: Expressionable; } export interface RoutePropertiesFormat { addressPrefix: Expressionable; nextHopType: Expressionable<('VirtualNetworkGateway' | 'VnetLocal' | 'Internet' | 'VirtualAppliance' | 'None')>; nextHopIpAddress?: Expressionable; provisioningState?: Expressionable; } export interface RouteTablePropertiesFormat { routes?: Expressionable; disableBgpRoutePropagation?: Expressionable; provisioningState?: Expressionable; } export interface SecurityRule { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; } export interface SecurityRulePropertiesFormat { description?: Expressionable; protocol: Expressionable<('Tcp' | 'Udp' | '*')>; sourcePortRange?: Expressionable; destinationPortRange?: Expressionable; sourceAddressPrefix?: Expressionable; sourceAddressPrefixes?: Expressionable; sourceApplicationSecurityGroups?: Expressionable; destinationAddressPrefix?: Expressionable; destinationAddressPrefixes?: Expressionable; destinationApplicationSecurityGroups?: Expressionable; sourcePortRanges?: Expressionable; destinationPortRanges?: Expressionable; access: Expressionable<('Allow' | 'Deny')>; priority: Expressionable; direction: Expressionable<('Inbound' | 'Outbound')>; provisioningState?: Expressionable; } export interface ServiceEndpointPropertiesFormat { service?: Expressionable; locations?: Expressionable; provisioningState?: Expressionable; } export interface Subnet { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface SubnetPropertiesFormat { addressPrefix: Expressionable; networkSecurityGroup?: Expressionable; routeTable?: Expressionable; serviceEndpoints?: Expressionable; resourceNavigationLinks?: Expressionable; provisioningState?: Expressionable; } export interface SubResource { id: Expressionable; } export interface VirtualNetworkGateway { location: Expressionable; properties: Expressionable; etag?: Expressionable; } export interface VirtualNetworkGatewayConnectionPropertiesFormat { authorizationKey?: Expressionable; virtualNetworkGateway1: Expressionable; virtualNetworkGateway2?: Expressionable; localNetworkGateway2?: Expressionable; connectionType: Expressionable<('IPsec' | 'Vnet2Vnet' | 'ExpressRoute' | 'VPNClient')>; routingWeight?: Expressionable; sharedKey?: Expressionable; peer?: Expressionable; enableBgp?: Expressionable; usePolicyBasedTrafficSelectors?: Expressionable; ipsecPolicies?: Expressionable; resourceGuid?: Expressionable; } export interface VirtualNetworkGatewayIPConfiguration { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; } export interface VirtualNetworkGatewayIPConfigurationPropertiesFormat { privateIPAllocationMethod?: Expressionable<('Static' | 'Dynamic')>; subnet?: Expressionable; publicIPAddress?: Expressionable; } export interface VirtualNetworkGatewayPropertiesFormat { ipConfigurations?: Expressionable; gatewayType?: Expressionable<('Vpn' | 'ExpressRoute')>; vpnType?: Expressionable<('PolicyBased' | 'RouteBased')>; enableBgp?: Expressionable; activeActive?: Expressionable; gatewayDefaultSite?: Expressionable; sku?: Expressionable; vpnClientConfiguration?: Expressionable; bgpSettings?: Expressionable; resourceGuid?: Expressionable; } export interface VirtualNetworkGatewaySku { name?: Expressionable<('Basic' | 'HighPerformance' | 'Standard' | 'UltraPerformance' | 'VpnGw1' | 'VpnGw2' | 'VpnGw3')>; tier?: Expressionable<('Basic' | 'HighPerformance' | 'Standard' | 'UltraPerformance' | 'VpnGw1' | 'VpnGw2' | 'VpnGw3')>; capacity?: Expressionable; } export interface VirtualNetworkPeering { properties?: Expressionable; name: Expressionable; etag?: Expressionable; } export interface VirtualNetworkPeeringPropertiesFormat { allowVirtualNetworkAccess?: Expressionable; allowForwardedTraffic?: Expressionable; allowGatewayTransit?: Expressionable; useRemoteGateways?: Expressionable; remoteVirtualNetwork: Expressionable; remoteAddressSpace?: Expressionable; peeringState?: Expressionable<('Initiated' | 'Connected' | 'Disconnected')>; provisioningState?: Expressionable; } export interface VirtualNetworkPropertiesFormat { addressSpace: Expressionable; dhcpOptions?: Expressionable; subnets?: Expressionable; virtualNetworkPeerings?: Expressionable; resourceGuid?: Expressionable; provisioningState?: Expressionable; enableDdosProtection?: Expressionable; enableVmProtection?: Expressionable; } export interface VpnClientConfiguration { vpnClientAddressPool?: Expressionable; vpnClientRootCertificates?: Expressionable; vpnClientRevokedCertificates?: Expressionable; vpnClientProtocols?: Expressionable<('IkeV2' | 'SSTP')[]>; radiusServerAddress?: Expressionable; radiusServerSecret?: Expressionable; } export interface VpnClientRevokedCertificate { properties?: Expressionable; name?: Expressionable; etag?: Expressionable; } export interface VpnClientRevokedCertificatePropertiesFormat { thumbprint?: Expressionable; } export interface VpnClientRootCertificate { properties: Expressionable; name?: Expressionable; etag?: Expressionable; } export interface VpnClientRootCertificatePropertiesFormat { publicCertData: Expressionable; } export declare namespace applicationGateways { type ApplicationGatewaysResource = ResourceDefinition; function create(name: Expressionable, properties: ApplicationGatewayPropertiesFormat, location: Expressionable): ApplicationGatewaysResource; } export declare namespace applicationSecurityGroups { type ApplicationSecurityGroupsResource = ResourceDefinition; function create(name: Expressionable, properties: ApplicationSecurityGroupPropertiesFormat, location: Expressionable): ApplicationSecurityGroupsResource; } export declare namespace connections { type ConnectionsResource = ResourceDefinition; function create(name: Expressionable, properties: VirtualNetworkGatewayConnectionPropertiesFormat, location: Expressionable): ConnectionsResource; } export declare namespace expressRouteCircuits { interface AdditionalProps { sku?: Expressionable; } type ExpressRouteCircuitsResource = ResourceDefinition; function create(name: Expressionable, properties: ExpressRouteCircuitPropertiesFormat, location: Expressionable, sku?: Expressionable): ExpressRouteCircuitsResource; } export declare namespace expressRouteCircuits { namespace authorizations { type AuthorizationsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: AuthorizationPropertiesFormat): AuthorizationsResource; } } export declare namespace expressRouteCircuits { namespace peerings { type PeeringsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ExpressRouteCircuitPeeringPropertiesFormat): PeeringsResource; } } export declare namespace loadBalancers { interface AdditionalProps { sku?: Expressionable; } type LoadBalancersResource = ResourceDefinition; function create(name: Expressionable, properties: LoadBalancerPropertiesFormat, location: Expressionable, sku?: Expressionable): LoadBalancersResource; } export declare namespace loadBalancers { namespace inboundNatRules { type InboundNatRulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: InboundNatRulePropertiesFormat): InboundNatRulesResource; } } export declare namespace localNetworkGateways { type LocalNetworkGatewaysResource = ResourceDefinition; function create(name: Expressionable, properties: LocalNetworkGatewayPropertiesFormat, location: Expressionable): LocalNetworkGatewaysResource; } export declare namespace networkInterfaces { type NetworkInterfacesResource = ResourceDefinition; function create(name: Expressionable, properties: NetworkInterfacePropertiesFormat, location: Expressionable): NetworkInterfacesResource; } export declare namespace networkSecurityGroups { type NetworkSecurityGroupsResource = ResourceDefinition; function create(name: Expressionable, properties: NetworkSecurityGroupPropertiesFormat, location: Expressionable): NetworkSecurityGroupsResource; } export declare namespace networkSecurityGroups { namespace securityRules { type SecurityRulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: SecurityRulePropertiesFormat): SecurityRulesResource; } } export declare namespace networkWatchers { type NetworkWatchersResource = ResourceDefinition; function create(name: Expressionable, properties: NetworkWatcherPropertiesFormat, location: Expressionable): NetworkWatchersResource; } export declare namespace networkWatchers { namespace connectionMonitors { type ConnectionMonitorsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ConnectionMonitorParameters, location?: Expressionable): ConnectionMonitorsResource; } } export declare namespace networkWatchers { namespace packetCaptures { type PacketCapturesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: PacketCaptureParameters): PacketCapturesResource; } } export declare namespace publicIPAddresses { interface AdditionalProps { sku?: Expressionable; zones?: Expressionable; } type PublicIPAddressesResource = ResourceDefinition; function create(name: Expressionable, properties: PublicIPAddressPropertiesFormat, location: Expressionable, sku?: Expressionable, zones?: Expressionable): PublicIPAddressesResource; } export declare namespace routeFilters { type RouteFiltersResource = ResourceDefinition; function create(name: Expressionable, properties: RouteFilterPropertiesFormat, location: Expressionable): RouteFiltersResource; } export declare namespace routeFilters { namespace routeFilterRules { type RouteFilterRulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RouteFilterRulePropertiesFormat, location?: Expressionable): RouteFilterRulesResource; } } export declare namespace routeTables { type RouteTablesResource = ResourceDefinition; function create(name: Expressionable, properties: RouteTablePropertiesFormat, location: Expressionable): RouteTablesResource; } export declare namespace routeTables { namespace routes { type RoutesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RoutePropertiesFormat): RoutesResource; } } export declare namespace virtualNetworkGateways { type VirtualNetworkGatewaysResource = ResourceDefinition; function create(name: Expressionable, properties: VirtualNetworkGatewayPropertiesFormat, location: Expressionable): VirtualNetworkGatewaysResource; } export declare namespace virtualNetworks { type VirtualNetworksResource = ResourceDefinition; function create(name: Expressionable, properties: VirtualNetworkPropertiesFormat, location: Expressionable): VirtualNetworksResource; } export declare namespace virtualNetworks { namespace subnets { type SubnetsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: SubnetPropertiesFormat): SubnetsResource; } } export declare namespace virtualNetworks { namespace virtualNetworkPeerings { type VirtualNetworkPeeringsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: VirtualNetworkPeeringPropertiesFormat): VirtualNetworkPeeringsResource; } }