UNPKG

@bdzscaler/pulumi-zia

Version:

A Pulumi package for creating and managing zia cloud resources.

399 lines (398 loc) 15.9 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * * [Official documentation](https://help.zscaler.com/zia/about-file-type-control) * * [API documentation](https://help.zscaler.com/zia/file-type-control-policy#/fileTypeRules-post) * * The **zia_file_type_control_rules** resource allows the creation and management of ZIA file type control rules in the Zscaler Internet Access. * * ## 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_file_type_control_rules** can be imported by using `<RULE ID>` or `<RULE NAME>` as the import ID. * * For example: * * ```sh * $ pulumi import zia:index/fileTypeControlRules:FileTypeControlRules example <rule_id> * ``` * * or * * ```sh * $ pulumi import zia:index/fileTypeControlRules:FileTypeControlRules example <rule_name> * ``` */ export declare class FileTypeControlRules extends pulumi.CustomResource { /** * Get an existing FileTypeControlRules 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?: FileTypeControlRulesState, opts?: pulumi.CustomResourceOptions): FileTypeControlRules; /** * Returns true if the given object is an instance of FileTypeControlRules. 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 FileTypeControlRules; /** * Flag to check whether a file has active content or not */ readonly activeContent: pulumi.Output<boolean>; /** * A Boolean value that indicates whether packet capture (PCAP) is enabled or not */ readonly capturePcap: pulumi.Output<boolean>; /** * The list of cloud applications to which the File Type Control rule must be applied. */ readonly cloudApplications: pulumi.Output<string[]>; /** * The Name-ID pairs of departments to which the File Type Control rule must be applied. */ readonly departments: pulumi.Output<outputs.FileTypeControlRulesDepartments | undefined>; /** * The description of the File Type Control rule. */ readonly description: pulumi.Output<string | undefined>; /** * This field is applicable for devices that are managed using Zscaler Client Connector. */ readonly deviceGroups: pulumi.Output<outputs.FileTypeControlRulesDeviceGroups | 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.FileTypeControlRulesDevices | undefined>; /** * File type categories for which the policy is applied. If not set, the rule is applied across all file types. */ readonly fileTypes: pulumi.Output<string[] | undefined>; /** * Action taken when traffic matches policy. This field is not applicable to the Lite API. */ readonly filteringAction: pulumi.Output<string>; /** * The Name-ID pairs of groups to which the File Type Control rule must be applied. */ readonly groups: pulumi.Output<outputs.FileTypeControlRulesGroups | undefined>; /** * list of Labels that are applicable to the rule. */ readonly labels: pulumi.Output<outputs.FileTypeControlRulesLabels | undefined>; /** * Name-ID pairs of locations groups for which rule must be applied. */ readonly locationGroups: pulumi.Output<outputs.FileTypeControlRulesLocationGroups | undefined>; /** * Name-ID pairs of locations for the which policy must be applied. If not set, policy is applied for all locations. */ readonly locations: pulumi.Output<outputs.FileTypeControlRulesLocations | undefined>; /** * Maximum file size (in KB) used for evaluation of the FTP rule */ readonly maxSize: pulumi.Output<number>; /** * Minimum file size (in KB) used for evaluation of the FTP rule */ readonly minSize: pulumi.Output<number>; /** * The File Type Control policy rule name. */ readonly name: pulumi.Output<string>; /** * File operation performed. This field is not applicable to the Lite API. */ readonly operation: pulumi.Output<string>; /** * The rule order of execution for the File Type Control rule with respect to other rules. */ readonly order: pulumi.Output<number>; /** * Protocol for the given rule. This field is not applicable to the Lite API. */ readonly protocols: pulumi.Output<string[]>; /** * Admin rank of the admin who creates this rule */ readonly rank: pulumi.Output<number>; readonly ruleId: pulumi.Output<number>; /** * Enables or disables the File Type Control rule. */ readonly state: pulumi.Output<string>; /** * list of time interval during which rule must be enforced. */ readonly timeWindows: pulumi.Output<outputs.FileTypeControlRulesTimeWindows | undefined>; /** * Flag to check whether a file has active content or not */ readonly unscannable: pulumi.Output<boolean>; /** * List of URL categories for which rule must be applied */ readonly urlCategories: pulumi.Output<string[] | undefined>; /** * The Name-ID pairs of users to which the File Type Control rule must be applied. */ readonly users: pulumi.Output<outputs.FileTypeControlRulesUsers | undefined>; /** * List of Source IP Anchoring-enabled ZPA Application Segments for which this rule is applicable */ readonly zpaAppSegments: pulumi.Output<outputs.FileTypeControlRulesZpaAppSegment[]>; /** * Create a FileTypeControlRules 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: FileTypeControlRulesArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FileTypeControlRules resources. */ export interface FileTypeControlRulesState { /** * Flag to check whether a file has active content or not */ activeContent?: pulumi.Input<boolean>; /** * A Boolean value that indicates whether packet capture (PCAP) is enabled or not */ capturePcap?: pulumi.Input<boolean>; /** * The list of cloud applications to which the File Type Control rule must be applied. */ cloudApplications?: pulumi.Input<pulumi.Input<string>[]>; /** * The Name-ID pairs of departments to which the File Type Control rule must be applied. */ departments?: pulumi.Input<inputs.FileTypeControlRulesDepartments>; /** * The description of the File Type Control rule. */ description?: pulumi.Input<string>; /** * This field is applicable for devices that are managed using Zscaler Client Connector. */ deviceGroups?: pulumi.Input<inputs.FileTypeControlRulesDeviceGroups>; /** * 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.FileTypeControlRulesDevices>; /** * File type categories for which the policy is applied. If not set, the rule is applied across all file types. */ fileTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Action taken when traffic matches policy. This field is not applicable to the Lite API. */ filteringAction?: pulumi.Input<string>; /** * The Name-ID pairs of groups to which the File Type Control rule must be applied. */ groups?: pulumi.Input<inputs.FileTypeControlRulesGroups>; /** * list of Labels that are applicable to the rule. */ labels?: pulumi.Input<inputs.FileTypeControlRulesLabels>; /** * Name-ID pairs of locations groups for which rule must be applied. */ locationGroups?: pulumi.Input<inputs.FileTypeControlRulesLocationGroups>; /** * Name-ID pairs of locations for the which policy must be applied. If not set, policy is applied for all locations. */ locations?: pulumi.Input<inputs.FileTypeControlRulesLocations>; /** * Maximum file size (in KB) used for evaluation of the FTP rule */ maxSize?: pulumi.Input<number>; /** * Minimum file size (in KB) used for evaluation of the FTP rule */ minSize?: pulumi.Input<number>; /** * The File Type Control policy rule name. */ name?: pulumi.Input<string>; /** * File operation performed. This field is not applicable to the Lite API. */ operation?: pulumi.Input<string>; /** * The rule order of execution for the File Type Control rule with respect to other rules. */ order?: pulumi.Input<number>; /** * Protocol for the given rule. This field is not applicable to the Lite API. */ protocols?: pulumi.Input<pulumi.Input<string>[]>; /** * Admin rank of the admin who creates this rule */ rank?: pulumi.Input<number>; ruleId?: pulumi.Input<number>; /** * Enables or disables the File Type Control rule. */ state?: pulumi.Input<string>; /** * list of time interval during which rule must be enforced. */ timeWindows?: pulumi.Input<inputs.FileTypeControlRulesTimeWindows>; /** * Flag to check whether a file has active content or not */ unscannable?: pulumi.Input<boolean>; /** * List of URL categories for which rule must be applied */ urlCategories?: pulumi.Input<pulumi.Input<string>[]>; /** * The Name-ID pairs of users to which the File Type Control rule must be applied. */ users?: pulumi.Input<inputs.FileTypeControlRulesUsers>; /** * List of Source IP Anchoring-enabled ZPA Application Segments for which this rule is applicable */ zpaAppSegments?: pulumi.Input<pulumi.Input<inputs.FileTypeControlRulesZpaAppSegment>[]>; } /** * The set of arguments for constructing a FileTypeControlRules resource. */ export interface FileTypeControlRulesArgs { /** * Flag to check whether a file has active content or not */ activeContent?: pulumi.Input<boolean>; /** * A Boolean value that indicates whether packet capture (PCAP) is enabled or not */ capturePcap?: pulumi.Input<boolean>; /** * The list of cloud applications to which the File Type Control rule must be applied. */ cloudApplications?: pulumi.Input<pulumi.Input<string>[]>; /** * The Name-ID pairs of departments to which the File Type Control rule must be applied. */ departments?: pulumi.Input<inputs.FileTypeControlRulesDepartments>; /** * The description of the File Type Control rule. */ description?: pulumi.Input<string>; /** * This field is applicable for devices that are managed using Zscaler Client Connector. */ deviceGroups?: pulumi.Input<inputs.FileTypeControlRulesDeviceGroups>; /** * 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.FileTypeControlRulesDevices>; /** * File type categories for which the policy is applied. If not set, the rule is applied across all file types. */ fileTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Action taken when traffic matches policy. This field is not applicable to the Lite API. */ filteringAction?: pulumi.Input<string>; /** * The Name-ID pairs of groups to which the File Type Control rule must be applied. */ groups?: pulumi.Input<inputs.FileTypeControlRulesGroups>; /** * list of Labels that are applicable to the rule. */ labels?: pulumi.Input<inputs.FileTypeControlRulesLabels>; /** * Name-ID pairs of locations groups for which rule must be applied. */ locationGroups?: pulumi.Input<inputs.FileTypeControlRulesLocationGroups>; /** * Name-ID pairs of locations for the which policy must be applied. If not set, policy is applied for all locations. */ locations?: pulumi.Input<inputs.FileTypeControlRulesLocations>; /** * Maximum file size (in KB) used for evaluation of the FTP rule */ maxSize?: pulumi.Input<number>; /** * Minimum file size (in KB) used for evaluation of the FTP rule */ minSize?: pulumi.Input<number>; /** * The File Type Control policy rule name. */ name?: pulumi.Input<string>; /** * File operation performed. This field is not applicable to the Lite API. */ operation?: pulumi.Input<string>; /** * The rule order of execution for the File Type Control rule with respect to other rules. */ order: pulumi.Input<number>; /** * Protocol for the given rule. This field is not applicable to the Lite API. */ protocols: pulumi.Input<pulumi.Input<string>[]>; /** * Admin rank of the admin who creates this rule */ rank?: pulumi.Input<number>; /** * Enables or disables the File Type Control rule. */ state?: pulumi.Input<string>; /** * list of time interval during which rule must be enforced. */ timeWindows?: pulumi.Input<inputs.FileTypeControlRulesTimeWindows>; /** * Flag to check whether a file has active content or not */ unscannable?: pulumi.Input<boolean>; /** * List of URL categories for which rule must be applied */ urlCategories?: pulumi.Input<pulumi.Input<string>[]>; /** * The Name-ID pairs of users to which the File Type Control rule must be applied. */ users?: pulumi.Input<inputs.FileTypeControlRulesUsers>; /** * List of Source IP Anchoring-enabled ZPA Application Segments for which this rule is applicable */ zpaAppSegments?: pulumi.Input<pulumi.Input<inputs.FileTypeControlRulesZpaAppSegment>[]>; }