@bdzscaler/pulumi-zia
Version:
A Pulumi package for creating and managing zia cloud resources.
399 lines (398 loc) • 15.9 kB
TypeScript
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>[]>;
}