import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * The zia_forwarding_control_rule resource manages forwarding control rules in the Zscaler Internet Access (ZIA) cloud service. Forwarding control rules determine how traffic is forwarded — directly to the internet, via an explicit proxy, or through Zscaler Private Access (ZPA). * * For more information, see the [ZIA Forwarding Control documentation](https://help.zscaler.com/zia/forwarding-control-policies). * * ## Example Usage * ### Basic Forwarding Control Rule * * ```typescript * import * as zia from "@bdzscaler/pulumi-zia"; * * const example = new zia.ForwardingControlRule("example", { * name: "Example Forwarding Rule", * description: "Forward traffic directly", * order: 1, * state: "ENABLED", * forwardMethod: "DIRECT", * }); * ``` * * ## Import * * An existing Forwarding Control Rule can be imported using its resource ID, e.g. * * ```sh * $ pulumi import zia:index:ForwardingControlRule example 12345 * ``` */ export declare class ForwardingControlRule extends pulumi.CustomResource { /** * Get an existing ForwardingControlRule 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, opts?: pulumi.CustomResourceOptions): ForwardingControlRule; /** * Returns true if the given object is an instance of ForwardingControlRule. 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 ForwardingControlRule; /** * IDs of application service groups to which the rule applies. */ readonly appServiceGroups: pulumi.Output; /** * The ID of the dedicated IP gateway. Applicable only for the Proxy Chaining forwarding method. */ readonly dedicatedIpGatewayId: pulumi.Output; /** * IDs of departments to which the rule must be applied. */ readonly departments: pulumi.Output; /** * Additional information about the forwarding control rule. */ readonly description: pulumi.Output; /** * Destination IP addresses, FQDNs, or wildcard FQDNs for the rule. */ readonly destAddresses: pulumi.Output; /** * Destination countries (ISO 3166-1 alpha-2 codes) for the rule. */ readonly destCountries: pulumi.Output; /** * Destination IP address URL categories for the rule. */ readonly destIpCategories: pulumi.Output; /** * IDs of destination IP address groups for the rule. */ readonly destIpGroups: pulumi.Output; /** * IDs of destination IPv6 address groups for the rule. */ readonly destIpv6Groups: pulumi.Output; /** * IDs of device groups for which the rule must be applied. Applicable for devices managed using Zscaler Client Connector. */ readonly deviceGroups: pulumi.Output; /** * IDs of Zscaler Edge Connector groups to which the rule applies. */ readonly ecGroups: pulumi.Output; /** * The type of traffic forwarding method. Valid values: `INVALID`, `DIRECT`, `PROXYCHAIN`, `ZPA`, `ECZPA`, `ZIA`, `ECSELF`, `DROP`, `ENATDEDIP`. */ readonly forwardMethod: pulumi.Output; /** * IDs of groups to which the rule must be applied. */ readonly groups: pulumi.Output; /** * IDs of labels associated with the rule. */ readonly labels: pulumi.Output; /** * IDs of location groups to which the rule must be applied. */ readonly locationGroups: pulumi.Output; /** * IDs of locations to which the rule must be applied. */ readonly locations: pulumi.Output; /** * The name of the forwarding control rule. Must be unique. */ readonly name: pulumi.Output; /** * IDs of network application groups to which the rule applies. */ readonly nwApplicationGroups: pulumi.Output; /** * IDs of network service groups to which the rule applies. */ readonly nwServiceGroups: pulumi.Output; /** * IDs of network services to which the rule applies. */ readonly nwServices: pulumi.Output; /** * The order of execution of the rule with respect to other forwarding control rules. */ readonly order: pulumi.Output; /** * The ID of the proxy gateway. Required when forwardMethod is `PROXYCHAIN`. */ readonly proxyGatewayId: pulumi.Output; /** * Admin rank of the forwarding control policy rule. Valid values: 0-7. Default: 7. */ readonly rank: pulumi.Output; /** * URL categories that apply to the response for the rule. */ readonly resCategories: pulumi.Output; /** * The system-generated ID of the forwarding control rule. */ readonly ruleId: pulumi.Output; /** * IDs of source IP address groups for the rule. */ readonly srcIpGroups: pulumi.Output; /** * Source IP addresses or CIDR ranges for the rule. */ readonly srcIps: pulumi.Output; /** * IDs of source IPv6 address groups for the rule. */ readonly srcIpv6Groups: pulumi.Output; /** * Rule state. Valid values: `ENABLED`, `DISABLED`. */ readonly state: pulumi.Output; /** * The rule type. Valid values: `FORWARDING`. */ readonly type: pulumi.Output; /** * IDs of users to which the rule must be applied. */ readonly users: pulumi.Output; /** * List of ZPA application segments for which this rule is applicable. This field is applicable only when forwardMethod is `ZPA`. */ readonly zpaAppSegments: pulumi.Output; /** * The ID of the ZPA gateway. Required when forwardMethod is `ZPA`. */ readonly zpaGatewayId: pulumi.Output; /** * Create a ForwardingControlRule 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: ForwardingControlRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ForwardingControlRule resource. */ export interface ForwardingControlRuleArgs { /** * IDs of application service groups to which the rule applies. */ appServiceGroups?: pulumi.Input[] | undefined>; /** * The ID of the dedicated IP gateway. Applicable only for the Proxy Chaining forwarding method. */ dedicatedIpGatewayId?: pulumi.Input; /** * IDs of departments to which the rule must be applied. */ departments?: pulumi.Input[] | undefined>; /** * Additional information about the forwarding control rule. */ description?: pulumi.Input; /** * Destination IP addresses, FQDNs, or wildcard FQDNs for the rule. */ destAddresses?: pulumi.Input[] | undefined>; /** * Destination countries (ISO 3166-1 alpha-2 codes) for the rule. */ destCountries?: pulumi.Input[] | undefined>; /** * Destination IP address URL categories for the rule. */ destIpCategories?: pulumi.Input[] | undefined>; /** * IDs of destination IP address groups for the rule. */ destIpGroups?: pulumi.Input[] | undefined>; /** * IDs of destination IPv6 address groups for the rule. */ destIpv6Groups?: pulumi.Input[] | undefined>; /** * IDs of device groups for which the rule must be applied. Applicable for devices managed using Zscaler Client Connector. */ deviceGroups?: pulumi.Input[] | undefined>; /** * IDs of Zscaler Edge Connector groups to which the rule applies. */ ecGroups?: pulumi.Input[] | undefined>; /** * The type of traffic forwarding method. Valid values: `INVALID`, `DIRECT`, `PROXYCHAIN`, `ZPA`, `ECZPA`, `ZIA`, `ECSELF`, `DROP`, `ENATDEDIP`. */ forwardMethod: pulumi.Input; /** * IDs of groups to which the rule must be applied. */ groups?: pulumi.Input[] | undefined>; /** * IDs of labels associated with the rule. */ labels?: pulumi.Input[] | undefined>; /** * IDs of location groups to which the rule must be applied. */ locationGroups?: pulumi.Input[] | undefined>; /** * IDs of locations to which the rule must be applied. */ locations?: pulumi.Input[] | undefined>; /** * The name of the forwarding control rule. Must be unique. */ name: pulumi.Input; /** * IDs of network application groups to which the rule applies. */ nwApplicationGroups?: pulumi.Input[] | undefined>; /** * IDs of network service groups to which the rule applies. */ nwServiceGroups?: pulumi.Input[] | undefined>; /** * IDs of network services to which the rule applies. */ nwServices?: pulumi.Input[] | undefined>; /** * The order of execution of the rule with respect to other forwarding control rules. */ order: pulumi.Input; /** * The ID of the proxy gateway. Required when forwardMethod is `PROXYCHAIN`. */ proxyGatewayId?: pulumi.Input; /** * Admin rank of the forwarding control policy rule. Valid values: 0-7. Default: 7. */ rank?: pulumi.Input; /** * URL categories that apply to the response for the rule. */ resCategories?: pulumi.Input[] | undefined>; /** * IDs of source IP address groups for the rule. */ srcIpGroups?: pulumi.Input[] | undefined>; /** * Source IP addresses or CIDR ranges for the rule. */ srcIps?: pulumi.Input[] | undefined>; /** * IDs of source IPv6 address groups for the rule. */ srcIpv6Groups?: pulumi.Input[] | undefined>; /** * Rule state. Valid values: `ENABLED`, `DISABLED`. */ state?: pulumi.Input; /** * The rule type. Valid values: `FORWARDING`. */ type?: pulumi.Input; /** * IDs of users to which the rule must be applied. */ users?: pulumi.Input[] | undefined>; /** * List of ZPA application segments for which this rule is applicable. This field is applicable only when forwardMethod is `ZPA`. */ zpaAppSegments?: pulumi.Input[] | undefined>; /** * The ID of the ZPA gateway. Required when forwardMethod is `ZPA`. */ zpaGatewayId?: pulumi.Input; } //# sourceMappingURL=forwardingControlRule.d.ts.map