import { enums, input as inputs } from '@pulumi/azure-native/types'; import { Input, Output } from '@pulumi/pulumi'; import * as pulumi from '@pulumi/pulumi'; import { WithNamedType } from '../types'; export interface RouteArgs { name?: Input; addressPrefix?: pulumi.Input; hasBgpOverride?: pulumi.Input; nextHopIpAddress?: pulumi.Input; nextHopType: pulumi.Input; } export interface CustomSecurityRuleArgs { access: pulumi.Input; description?: pulumi.Input; destinationAddressPrefix?: pulumi.Input; destinationAddressPrefixes?: pulumi.Input[]>; destinationApplicationSecurityGroups?: pulumi.Input[]>; destinationPortRange?: pulumi.Input; destinationPortRanges?: pulumi.Input[]>; direction: pulumi.Input; name?: pulumi.Input; priority: pulumi.Input; protocol: pulumi.Input; sourceAddressPrefix?: pulumi.Input; sourceAddressPrefixes?: pulumi.Input[]>; sourceApplicationSecurityGroups?: pulumi.Input[]>; sourcePortRange?: pulumi.Input; sourcePortRanges?: pulumi.Input[]>; type?: pulumi.Input; } export interface NatRuleArgs { description?: Input; destinationAddresses?: Input[]>; destinationPorts?: Input[]>; ipProtocols?: Input[]>; name?: Input; ruleType: Input<'NatRule'>; sourceAddresses?: Input[]>; sourceIpGroups?: Input[]>; translatedAddress?: Input; translatedFqdn?: Input; translatedPort?: Input; } interface FirewallPolicyRuleApplicationProtocolArgs { port?: pulumi.Input; protocolType?: pulumi.Input; } export interface NetworkRuleArgs { description?: Input; /** * List of destination IP addresses or Service Tags. */ destinationAddresses?: Input[]>; destinationFqdns?: Input[]>; destinationIpGroups?: Input[]>; destinationPorts?: Input[]>; ipProtocols?: Input[]>; name?: Input; ruleType: Input<'NetworkRule'>; sourceAddresses?: Input[]>; sourceIpGroups?: Input[]>; } export interface ApplicationRuleArgs { description?: Input; fqdnTags?: Input[]>; httpHeadersToInsert?: Input[]>; name?: Input; protocols?: Input[]>; ruleType: Input<'ApplicationRule'>; sourceAddresses?: Input[]>; sourceIpGroups?: Input[]>; targetFqdns?: Input[]>; targetUrls?: Input[]>; terminateTLS?: Input; webCategories?: Input[]>; } export type FirewallPolicyRuleCollectionResults = WithNamedType & { priority: number; ruleCollections: Input[]>; }; export type FirewallPolicyResults = WithNamedType & { dnatRules?: Array>; netRules?: Array>; appRules?: Array>; }; export interface FirewallPolicyProps { /**These props for create new policy*/ parentPolicyId?: Output; rules?: FirewallPolicyRuleCollectionResults[]; } export interface FirewallRuleResults { applicationRuleCollections?: inputs.network.AzureFirewallApplicationRuleCollectionArgs[]; natRuleCollections?: inputs.network.AzureFirewallNatRuleCollectionArgs[]; networkRuleCollections?: inputs.network.AzureFirewallNetworkRuleCollectionArgs[]; } export {};