@bdzscaler/pulumi-zia
Version: 
A Pulumi package for creating and managing zia cloud resources.
475 lines (474 loc) • 18.6 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * ## Example Usage
 *
 * ## Import
 *
 * Zscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZIA configurations into Terraform-compliant HashiCorp Configuration Language.
 *
 * Visit
 *
 * **zia_firewall_filtering_rule** can be imported by using `<RULE ID>` or `<RULE NAME>` as the import ID.
 *
 * For example:
 *
 * ```sh
 * $ pulumi import zia:index/firewallFilteringRule:FirewallFilteringRule example <rule_id>
 * ```
 *
 * or
 *
 * ```sh
 * $ pulumi import zia:index/firewallFilteringRule:FirewallFilteringRule example <rule_name>
 * ```
 */
export declare class FirewallFilteringRule extends pulumi.CustomResource {
    /**
     * Get an existing FirewallFilteringRule 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FirewallFilteringRuleState, opts?: pulumi.CustomResourceOptions): FirewallFilteringRule;
    /**
     * Returns true if the given object is an instance of FirewallFilteringRule.  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 FirewallFilteringRule;
    /**
     * The action the Firewall Filtering policy rule takes when packets match the rule
     */
    readonly action: pulumi.Output<string | undefined>;
    /**
     * list of application service groups
     */
    readonly appServiceGroups: pulumi.Output<outputs.FirewallFilteringRuleAppServiceGroups | undefined>;
    /**
     * list of application services
     */
    readonly appServices: pulumi.Output<outputs.FirewallFilteringRuleAppServices | undefined>;
    /**
     * If set to true, the default rule is applied
     */
    readonly defaultRule: pulumi.Output<boolean | undefined>;
    /**
     * list of departments for which rule must be applied
     */
    readonly departments: pulumi.Output<outputs.FirewallFilteringRuleDepartments | undefined>;
    /**
     * Additional information about the rule
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Destination addresses. Supports IPv4, FQDNs, or wildcard FQDNs
     */
    readonly destAddresses: pulumi.Output<string[] | undefined>;
    /**
     * Destination countries for which the rule is applicable. If not set, the rule is not restricted to specific destination
     * countries.
     */
    readonly destCountries: pulumi.Output<string[]>;
    readonly destIpCategories: pulumi.Output<string[] | undefined>;
    /**
     * list of destination ip groups
     */
    readonly destIpGroups: pulumi.Output<outputs.FirewallFilteringRuleDestIpGroups | undefined>;
    /**
     * This field is applicable for devices that are managed using Zscaler Client Connector.
     */
    readonly deviceGroups: pulumi.Output<outputs.FirewallFilteringRuleDeviceGroups | undefined>;
    /**
     * List of device trust levels for which the rule must be applied. This field is applicable for devices that are managed
     * using Zscaler Client Connector. The trust levels are assigned to the devices based on your posture configurations in the
     * Zscaler Client Connector Portal. If no value is set, this field is ignored during the policy evaluation.
     */
    readonly deviceTrustLevels: pulumi.Output<string[] | undefined>;
    /**
     * Name-ID pairs of devices for which rule must be applied.
     */
    readonly devices: pulumi.Output<outputs.FirewallFilteringRuleDevices | undefined>;
    readonly enableFullLogging: pulumi.Output<boolean | undefined>;
    /**
     * list of groups for which rule must be applied
     */
    readonly groups: pulumi.Output<outputs.FirewallFilteringRuleGroups | undefined>;
    /**
     * list of Labels that are applicable to the rule.
     */
    readonly labels: pulumi.Output<outputs.FirewallFilteringRuleLabels | undefined>;
    /**
     * list of locations groups
     */
    readonly locationGroups: pulumi.Output<outputs.FirewallFilteringRuleLocationGroups | undefined>;
    /**
     * list of locations for which rule must be applied
     */
    readonly locations: pulumi.Output<outputs.FirewallFilteringRuleLocations | undefined>;
    /**
     * Name of the Firewall Filtering policy rule
     */
    readonly name: pulumi.Output<string>;
    /**
     * list of nw application groups
     */
    readonly nwApplicationGroups: pulumi.Output<outputs.FirewallFilteringRuleNwApplicationGroups | undefined>;
    /**
     * User-defined network service applications on which the rule is applied. If not set, the rule is not restricted to a
     * specific network service application.
     */
    readonly nwApplications: pulumi.Output<string[]>;
    /**
     * list of nw service groups
     */
    readonly nwServiceGroups: pulumi.Output<outputs.FirewallFilteringRuleNwServiceGroups | undefined>;
    /**
     * list of nw services
     */
    readonly nwServices: pulumi.Output<outputs.FirewallFilteringRuleNwServices | undefined>;
    /**
     * Rule order number. If omitted, the rule will be added to the end of the rule set.
     */
    readonly order: pulumi.Output<number>;
    /**
     * If set to true, a predefined rule is applied
     */
    readonly predefined: pulumi.Output<boolean | undefined>;
    /**
     * Admin rank of the Firewall Filtering policy rule
     */
    readonly rank: pulumi.Output<number | undefined>;
    readonly ruleId: pulumi.Output<number>;
    /**
     * Destination countries for which the rule is applicable. If not set, the rule is not restricted to specific destination
     * countries.
     */
    readonly sourceCountries: pulumi.Output<string[]>;
    /**
     * list of source ip groups
     */
    readonly srcIpGroups: pulumi.Output<outputs.FirewallFilteringRuleSrcIpGroups | undefined>;
    /**
     * User-defined source IP addresses for which the rule is applicable. If not set, the rule is not restricted to a specific
     * source IP address.
     */
    readonly srcIps: pulumi.Output<string[] | undefined>;
    /**
     * Determines whether the Firewall Filtering policy rule is enabled or disabled
     */
    readonly state: pulumi.Output<string | undefined>;
    /**
     * The time interval in which the Firewall Filtering policy rule applies
     */
    readonly timeWindows: pulumi.Output<outputs.FirewallFilteringRuleTimeWindows | undefined>;
    /**
     * list of users for which rule must be applied
     */
    readonly users: pulumi.Output<outputs.FirewallFilteringRuleUsers | undefined>;
    /**
     * The list of preconfigured workload groups to which the policy must be applied
     */
    readonly workloadGroups: pulumi.Output<outputs.FirewallFilteringRuleWorkloadGroup[]>;
    /**
     * The list of ZPA Application Segments for which this rule is applicable. This field is applicable only for the ZPA
     * Gateway forwarding method.
     */
    readonly zpaAppSegments: pulumi.Output<outputs.FirewallFilteringRuleZpaAppSegment[]>;
    /**
     * Create a FirewallFilteringRule 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?: FirewallFilteringRuleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering FirewallFilteringRule resources.
 */
export interface FirewallFilteringRuleState {
    /**
     * The action the Firewall Filtering policy rule takes when packets match the rule
     */
    action?: pulumi.Input<string>;
    /**
     * list of application service groups
     */
    appServiceGroups?: pulumi.Input<inputs.FirewallFilteringRuleAppServiceGroups>;
    /**
     * list of application services
     */
    appServices?: pulumi.Input<inputs.FirewallFilteringRuleAppServices>;
    /**
     * If set to true, the default rule is applied
     */
    defaultRule?: pulumi.Input<boolean>;
    /**
     * list of departments for which rule must be applied
     */
    departments?: pulumi.Input<inputs.FirewallFilteringRuleDepartments>;
    /**
     * Additional information about the rule
     */
    description?: pulumi.Input<string>;
    /**
     * Destination addresses. Supports IPv4, FQDNs, or wildcard FQDNs
     */
    destAddresses?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Destination countries for which the rule is applicable. If not set, the rule is not restricted to specific destination
     * countries.
     */
    destCountries?: pulumi.Input<pulumi.Input<string>[]>;
    destIpCategories?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * list of destination ip groups
     */
    destIpGroups?: pulumi.Input<inputs.FirewallFilteringRuleDestIpGroups>;
    /**
     * This field is applicable for devices that are managed using Zscaler Client Connector.
     */
    deviceGroups?: pulumi.Input<inputs.FirewallFilteringRuleDeviceGroups>;
    /**
     * List of device trust levels for which the rule must be applied. This field is applicable for devices that are managed
     * using Zscaler Client Connector. The trust levels are assigned to the devices based on your posture configurations in the
     * Zscaler Client Connector Portal. If no value is set, this field is ignored during the policy evaluation.
     */
    deviceTrustLevels?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Name-ID pairs of devices for which rule must be applied.
     */
    devices?: pulumi.Input<inputs.FirewallFilteringRuleDevices>;
    enableFullLogging?: pulumi.Input<boolean>;
    /**
     * list of groups for which rule must be applied
     */
    groups?: pulumi.Input<inputs.FirewallFilteringRuleGroups>;
    /**
     * list of Labels that are applicable to the rule.
     */
    labels?: pulumi.Input<inputs.FirewallFilteringRuleLabels>;
    /**
     * list of locations groups
     */
    locationGroups?: pulumi.Input<inputs.FirewallFilteringRuleLocationGroups>;
    /**
     * list of locations for which rule must be applied
     */
    locations?: pulumi.Input<inputs.FirewallFilteringRuleLocations>;
    /**
     * Name of the Firewall Filtering policy rule
     */
    name?: pulumi.Input<string>;
    /**
     * list of nw application groups
     */
    nwApplicationGroups?: pulumi.Input<inputs.FirewallFilteringRuleNwApplicationGroups>;
    /**
     * User-defined network service applications on which the rule is applied. If not set, the rule is not restricted to a
     * specific network service application.
     */
    nwApplications?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * list of nw service groups
     */
    nwServiceGroups?: pulumi.Input<inputs.FirewallFilteringRuleNwServiceGroups>;
    /**
     * list of nw services
     */
    nwServices?: pulumi.Input<inputs.FirewallFilteringRuleNwServices>;
    /**
     * Rule order number. If omitted, the rule will be added to the end of the rule set.
     */
    order?: pulumi.Input<number>;
    /**
     * If set to true, a predefined rule is applied
     */
    predefined?: pulumi.Input<boolean>;
    /**
     * Admin rank of the Firewall Filtering policy rule
     */
    rank?: pulumi.Input<number>;
    ruleId?: pulumi.Input<number>;
    /**
     * Destination countries for which the rule is applicable. If not set, the rule is not restricted to specific destination
     * countries.
     */
    sourceCountries?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * list of source ip groups
     */
    srcIpGroups?: pulumi.Input<inputs.FirewallFilteringRuleSrcIpGroups>;
    /**
     * User-defined source IP addresses for which the rule is applicable. If not set, the rule is not restricted to a specific
     * source IP address.
     */
    srcIps?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Determines whether the Firewall Filtering policy rule is enabled or disabled
     */
    state?: pulumi.Input<string>;
    /**
     * The time interval in which the Firewall Filtering policy rule applies
     */
    timeWindows?: pulumi.Input<inputs.FirewallFilteringRuleTimeWindows>;
    /**
     * list of users for which rule must be applied
     */
    users?: pulumi.Input<inputs.FirewallFilteringRuleUsers>;
    /**
     * The list of preconfigured workload groups to which the policy must be applied
     */
    workloadGroups?: pulumi.Input<pulumi.Input<inputs.FirewallFilteringRuleWorkloadGroup>[]>;
    /**
     * The list of ZPA Application Segments for which this rule is applicable. This field is applicable only for the ZPA
     * Gateway forwarding method.
     */
    zpaAppSegments?: pulumi.Input<pulumi.Input<inputs.FirewallFilteringRuleZpaAppSegment>[]>;
}
/**
 * The set of arguments for constructing a FirewallFilteringRule resource.
 */
export interface FirewallFilteringRuleArgs {
    /**
     * The action the Firewall Filtering policy rule takes when packets match the rule
     */
    action?: pulumi.Input<string>;
    /**
     * list of application service groups
     */
    appServiceGroups?: pulumi.Input<inputs.FirewallFilteringRuleAppServiceGroups>;
    /**
     * list of application services
     */
    appServices?: pulumi.Input<inputs.FirewallFilteringRuleAppServices>;
    /**
     * If set to true, the default rule is applied
     */
    defaultRule?: pulumi.Input<boolean>;
    /**
     * list of departments for which rule must be applied
     */
    departments?: pulumi.Input<inputs.FirewallFilteringRuleDepartments>;
    /**
     * Additional information about the rule
     */
    description?: pulumi.Input<string>;
    /**
     * Destination addresses. Supports IPv4, FQDNs, or wildcard FQDNs
     */
    destAddresses?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Destination countries for which the rule is applicable. If not set, the rule is not restricted to specific destination
     * countries.
     */
    destCountries?: pulumi.Input<pulumi.Input<string>[]>;
    destIpCategories?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * list of destination ip groups
     */
    destIpGroups?: pulumi.Input<inputs.FirewallFilteringRuleDestIpGroups>;
    /**
     * This field is applicable for devices that are managed using Zscaler Client Connector.
     */
    deviceGroups?: pulumi.Input<inputs.FirewallFilteringRuleDeviceGroups>;
    /**
     * List of device trust levels for which the rule must be applied. This field is applicable for devices that are managed
     * using Zscaler Client Connector. The trust levels are assigned to the devices based on your posture configurations in the
     * Zscaler Client Connector Portal. If no value is set, this field is ignored during the policy evaluation.
     */
    deviceTrustLevels?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Name-ID pairs of devices for which rule must be applied.
     */
    devices?: pulumi.Input<inputs.FirewallFilteringRuleDevices>;
    enableFullLogging?: pulumi.Input<boolean>;
    /**
     * list of groups for which rule must be applied
     */
    groups?: pulumi.Input<inputs.FirewallFilteringRuleGroups>;
    /**
     * list of Labels that are applicable to the rule.
     */
    labels?: pulumi.Input<inputs.FirewallFilteringRuleLabels>;
    /**
     * list of locations groups
     */
    locationGroups?: pulumi.Input<inputs.FirewallFilteringRuleLocationGroups>;
    /**
     * list of locations for which rule must be applied
     */
    locations?: pulumi.Input<inputs.FirewallFilteringRuleLocations>;
    /**
     * Name of the Firewall Filtering policy rule
     */
    name?: pulumi.Input<string>;
    /**
     * list of nw application groups
     */
    nwApplicationGroups?: pulumi.Input<inputs.FirewallFilteringRuleNwApplicationGroups>;
    /**
     * User-defined network service applications on which the rule is applied. If not set, the rule is not restricted to a
     * specific network service application.
     */
    nwApplications?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * list of nw service groups
     */
    nwServiceGroups?: pulumi.Input<inputs.FirewallFilteringRuleNwServiceGroups>;
    /**
     * list of nw services
     */
    nwServices?: pulumi.Input<inputs.FirewallFilteringRuleNwServices>;
    /**
     * Rule order number. If omitted, the rule will be added to the end of the rule set.
     */
    order?: pulumi.Input<number>;
    /**
     * If set to true, a predefined rule is applied
     */
    predefined?: pulumi.Input<boolean>;
    /**
     * Admin rank of the Firewall Filtering policy rule
     */
    rank?: pulumi.Input<number>;
    /**
     * Destination countries for which the rule is applicable. If not set, the rule is not restricted to specific destination
     * countries.
     */
    sourceCountries?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * list of source ip groups
     */
    srcIpGroups?: pulumi.Input<inputs.FirewallFilteringRuleSrcIpGroups>;
    /**
     * User-defined source IP addresses for which the rule is applicable. If not set, the rule is not restricted to a specific
     * source IP address.
     */
    srcIps?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Determines whether the Firewall Filtering policy rule is enabled or disabled
     */
    state?: pulumi.Input<string>;
    /**
     * The time interval in which the Firewall Filtering policy rule applies
     */
    timeWindows?: pulumi.Input<inputs.FirewallFilteringRuleTimeWindows>;
    /**
     * list of users for which rule must be applied
     */
    users?: pulumi.Input<inputs.FirewallFilteringRuleUsers>;
    /**
     * The list of preconfigured workload groups to which the policy must be applied
     */
    workloadGroups?: pulumi.Input<pulumi.Input<inputs.FirewallFilteringRuleWorkloadGroup>[]>;
    /**
     * The list of ZPA Application Segments for which this rule is applicable. This field is applicable only for the ZPA
     * Gateway forwarding method.
     */
    zpaAppSegments?: pulumi.Input<pulumi.Input<inputs.FirewallFilteringRuleZpaAppSegment>[]>;
}