@bdzscaler/pulumi-zia
Version:
A Pulumi package for creating and managing zia cloud resources.
321 lines (320 loc) • 15.5 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-sandbox)
* * [API documentation](https://help.zscaler.com/zia/sandbox-policy-settings#/sandboxRules-get)
*
* The **zia_sandbox_rules** resource allows the creation and management of SAndbox 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_sandbox_rules** can be imported by using `<RULE ID>` or `<RULE NAME>` as the import ID.
*
* For example:
*
* ```sh
* $ pulumi import zia:index/sandboxRules:SandboxRules example <rule_id>
* ```
*
* or
*
* ```sh
* $ pulumi import zia:index/sandboxRules:SandboxRules example <rule_name>
* ```
*/
export declare class SandboxRules extends pulumi.CustomResource {
/**
* Get an existing SandboxRules 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?: SandboxRulesState, opts?: pulumi.CustomResourceOptions): SandboxRules;
/**
* Returns true if the given object is an instance of SandboxRules. 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 SandboxRules;
/**
* The threat categories to which the rule applies
*/
readonly baPolicyCategories: pulumi.Output<string[] | undefined>;
/**
* (String) The action configured for the rule that must take place if the traffic matches the rule criteria. Supported Values: `ALLOW` or `BLOCK`
*/
readonly baRuleAction: pulumi.Output<string>;
/**
* (Integer)
*/
readonly byThreatScore: pulumi.Output<number>;
/**
* (List of Objects) Apply to any number of departments When not used it implies `Any` to apply the rule to all departments.
*/
readonly departments: pulumi.Output<outputs.SandboxRulesDepartments | undefined>;
/**
* (String) Enter additional notes or information. The description cannot exceed 10,240 characters.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* (List of Strings) 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[]>;
/**
* (Boolean) A Boolean value indicating whether a First-Time Action is specifically configured for the rule. The First-Time Action takes place when users download unknown files. The action to be applied is specified using the firstTimeOperation field.
*/
readonly firstTimeEnable: pulumi.Output<boolean>;
/**
* (String) The action that must take place when users download unknown files for the first time. Supported Values: `ALLOW_SCAN`, `QUARANTINE`, `ALLOW_NOSCAN`, `QUARANTINE_ISOLATE`
*/
readonly firstTimeOperation: pulumi.Output<string>;
/**
* (List of Objects) You can manually select up to `8` groups. When not used it implies `Any` to apply the rule to all groups.
*/
readonly groups: pulumi.Output<outputs.SandboxRulesGroups | undefined>;
/**
* (List of Objects) Labels that are applicable to the rule.
*/
readonly labels: pulumi.Output<outputs.SandboxRulesLabels | undefined>;
/**
* (List of Objects)You can manually select up to `32` location groups. When not used it implies `Any` to apply the rule to all location groups.
*/
readonly locationGroups: pulumi.Output<outputs.SandboxRulesLocationGroups | undefined>;
/**
* (List of Objects) You can manually select up to `8` locations. When not used it implies `Any` to apply the rule to all groups.
*/
readonly locations: pulumi.Output<outputs.SandboxRulesLocations | undefined>;
/**
* (Boolean) A Boolean value indicating whether to enable or disable the AI Instant Verdict option to have the Zscaler service use AI analysis to instantly assign threat scores to unknown files. This option is available to use only with specific rule actions such as Quarantine and Allow and Scan for First-Time Action.
*/
readonly mlActionEnabled: pulumi.Output<boolean>;
/**
* The File Type Control policy rule name.
*/
readonly name: pulumi.Output<string>;
/**
* (Integer) Policy rules are evaluated in ascending numerical order (Rule 1 before Rule 2, and so on), and the Rule Order reflects this rule's place in the order.
*/
readonly order: pulumi.Output<number>;
/**
* Protocol for the given rule. This field is not applicable to the Lite API.
*/
readonly protocols: pulumi.Output<string[]>;
/**
* (Integer) The admin rank specified for the rule based on your assigned admin rank. Admin rank determines the rule order that can be specified for the rule. Admin rank can be configured if it is enabled in the Advanced Settings.
*/
readonly rank: pulumi.Output<number>;
readonly ruleId: pulumi.Output<number>;
/**
* (String) The state of the rule indicating whether it is enabled or disabled. Supported values: `ENABLED` or `DISABLED`
*/
readonly state: pulumi.Output<string>;
/**
* (List of Strings) The list of URL categories to which the DLP policy rule must be applied.
*/
readonly urlCategories: pulumi.Output<string[] | undefined>;
/**
* (List of Objects) You can manually select up to `4` general and/or special users. When not used it implies `Any` to apply the rule to all users.
*/
readonly users: pulumi.Output<outputs.SandboxRulesUsers | undefined>;
/**
* (List of Objects) The ZPA application segments to which the rule applies
*/
readonly zpaAppSegments: pulumi.Output<outputs.SandboxRulesZpaAppSegment[]>;
/**
* Create a SandboxRules 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: SandboxRulesArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering SandboxRules resources.
*/
export interface SandboxRulesState {
/**
* The threat categories to which the rule applies
*/
baPolicyCategories?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (String) The action configured for the rule that must take place if the traffic matches the rule criteria. Supported Values: `ALLOW` or `BLOCK`
*/
baRuleAction?: pulumi.Input<string>;
/**
* (Integer)
*/
byThreatScore?: pulumi.Input<number>;
/**
* (List of Objects) Apply to any number of departments When not used it implies `Any` to apply the rule to all departments.
*/
departments?: pulumi.Input<inputs.SandboxRulesDepartments>;
/**
* (String) Enter additional notes or information. The description cannot exceed 10,240 characters.
*/
description?: pulumi.Input<string>;
/**
* (List of Strings) 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>[]>;
/**
* (Boolean) A Boolean value indicating whether a First-Time Action is specifically configured for the rule. The First-Time Action takes place when users download unknown files. The action to be applied is specified using the firstTimeOperation field.
*/
firstTimeEnable?: pulumi.Input<boolean>;
/**
* (String) The action that must take place when users download unknown files for the first time. Supported Values: `ALLOW_SCAN`, `QUARANTINE`, `ALLOW_NOSCAN`, `QUARANTINE_ISOLATE`
*/
firstTimeOperation?: pulumi.Input<string>;
/**
* (List of Objects) You can manually select up to `8` groups. When not used it implies `Any` to apply the rule to all groups.
*/
groups?: pulumi.Input<inputs.SandboxRulesGroups>;
/**
* (List of Objects) Labels that are applicable to the rule.
*/
labels?: pulumi.Input<inputs.SandboxRulesLabels>;
/**
* (List of Objects)You can manually select up to `32` location groups. When not used it implies `Any` to apply the rule to all location groups.
*/
locationGroups?: pulumi.Input<inputs.SandboxRulesLocationGroups>;
/**
* (List of Objects) You can manually select up to `8` locations. When not used it implies `Any` to apply the rule to all groups.
*/
locations?: pulumi.Input<inputs.SandboxRulesLocations>;
/**
* (Boolean) A Boolean value indicating whether to enable or disable the AI Instant Verdict option to have the Zscaler service use AI analysis to instantly assign threat scores to unknown files. This option is available to use only with specific rule actions such as Quarantine and Allow and Scan for First-Time Action.
*/
mlActionEnabled?: pulumi.Input<boolean>;
/**
* The File Type Control policy rule name.
*/
name?: pulumi.Input<string>;
/**
* (Integer) Policy rules are evaluated in ascending numerical order (Rule 1 before Rule 2, and so on), and the Rule Order reflects this rule's place in the order.
*/
order?: pulumi.Input<number>;
/**
* Protocol for the given rule. This field is not applicable to the Lite API.
*/
protocols?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (Integer) The admin rank specified for the rule based on your assigned admin rank. Admin rank determines the rule order that can be specified for the rule. Admin rank can be configured if it is enabled in the Advanced Settings.
*/
rank?: pulumi.Input<number>;
ruleId?: pulumi.Input<number>;
/**
* (String) The state of the rule indicating whether it is enabled or disabled. Supported values: `ENABLED` or `DISABLED`
*/
state?: pulumi.Input<string>;
/**
* (List of Strings) The list of URL categories to which the DLP policy rule must be applied.
*/
urlCategories?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (List of Objects) You can manually select up to `4` general and/or special users. When not used it implies `Any` to apply the rule to all users.
*/
users?: pulumi.Input<inputs.SandboxRulesUsers>;
/**
* (List of Objects) The ZPA application segments to which the rule applies
*/
zpaAppSegments?: pulumi.Input<pulumi.Input<inputs.SandboxRulesZpaAppSegment>[]>;
}
/**
* The set of arguments for constructing a SandboxRules resource.
*/
export interface SandboxRulesArgs {
/**
* The threat categories to which the rule applies
*/
baPolicyCategories?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (String) The action configured for the rule that must take place if the traffic matches the rule criteria. Supported Values: `ALLOW` or `BLOCK`
*/
baRuleAction?: pulumi.Input<string>;
/**
* (Integer)
*/
byThreatScore?: pulumi.Input<number>;
/**
* (List of Objects) Apply to any number of departments When not used it implies `Any` to apply the rule to all departments.
*/
departments?: pulumi.Input<inputs.SandboxRulesDepartments>;
/**
* (String) Enter additional notes or information. The description cannot exceed 10,240 characters.
*/
description?: pulumi.Input<string>;
/**
* (List of Strings) 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>[]>;
/**
* (Boolean) A Boolean value indicating whether a First-Time Action is specifically configured for the rule. The First-Time Action takes place when users download unknown files. The action to be applied is specified using the firstTimeOperation field.
*/
firstTimeEnable?: pulumi.Input<boolean>;
/**
* (String) The action that must take place when users download unknown files for the first time. Supported Values: `ALLOW_SCAN`, `QUARANTINE`, `ALLOW_NOSCAN`, `QUARANTINE_ISOLATE`
*/
firstTimeOperation?: pulumi.Input<string>;
/**
* (List of Objects) You can manually select up to `8` groups. When not used it implies `Any` to apply the rule to all groups.
*/
groups?: pulumi.Input<inputs.SandboxRulesGroups>;
/**
* (List of Objects) Labels that are applicable to the rule.
*/
labels?: pulumi.Input<inputs.SandboxRulesLabels>;
/**
* (List of Objects)You can manually select up to `32` location groups. When not used it implies `Any` to apply the rule to all location groups.
*/
locationGroups?: pulumi.Input<inputs.SandboxRulesLocationGroups>;
/**
* (List of Objects) You can manually select up to `8` locations. When not used it implies `Any` to apply the rule to all groups.
*/
locations?: pulumi.Input<inputs.SandboxRulesLocations>;
/**
* (Boolean) A Boolean value indicating whether to enable or disable the AI Instant Verdict option to have the Zscaler service use AI analysis to instantly assign threat scores to unknown files. This option is available to use only with specific rule actions such as Quarantine and Allow and Scan for First-Time Action.
*/
mlActionEnabled?: pulumi.Input<boolean>;
/**
* The File Type Control policy rule name.
*/
name?: pulumi.Input<string>;
/**
* (Integer) Policy rules are evaluated in ascending numerical order (Rule 1 before Rule 2, and so on), and the Rule Order reflects this rule's place in the order.
*/
order: pulumi.Input<number>;
/**
* Protocol for the given rule. This field is not applicable to the Lite API.
*/
protocols: pulumi.Input<pulumi.Input<string>[]>;
/**
* (Integer) The admin rank specified for the rule based on your assigned admin rank. Admin rank determines the rule order that can be specified for the rule. Admin rank can be configured if it is enabled in the Advanced Settings.
*/
rank?: pulumi.Input<number>;
/**
* (String) The state of the rule indicating whether it is enabled or disabled. Supported values: `ENABLED` or `DISABLED`
*/
state?: pulumi.Input<string>;
/**
* (List of Strings) The list of URL categories to which the DLP policy rule must be applied.
*/
urlCategories?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (List of Objects) You can manually select up to `4` general and/or special users. When not used it implies `Any` to apply the rule to all users.
*/
users?: pulumi.Input<inputs.SandboxRulesUsers>;
/**
* (List of Objects) The ZPA application segments to which the rule applies
*/
zpaAppSegments?: pulumi.Input<pulumi.Input<inputs.SandboxRulesZpaAppSegment>[]>;
}