@bdzscaler/pulumi-zia
Version:
A Pulumi package for creating and managing zia cloud resources.
474 lines (473 loc) • 20 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-cloud-application-risk-profile)
* * [API documentation](https://help.zscaler.com/zia/cloud-applications#/riskProfiles-get)
*
* Use the **zia_risk_profiles** resource allows the creation and management of cloud application risk profile in the Zscaler Internet Access cloud or via the API.
* See [About Cloud Application Risk Profile](https://help.zscaler.com/zia/about-cloud-application-risk-profile) for more details.
*
* ## Example Usage
*
* ### Create A Risk Profile
*
* ## 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_risk_profiles** can be imported by using `<PROFILE_ID>` or `<PROFILE_NAME>` as the import ID.
*
* For example:
*
* ```sh
* $ pulumi import zia:index/riskProfiles:RiskProfiles example <profile_id>
* ```
*
* or
*
* ```sh
* $ pulumi import zia:index/riskProfiles:RiskProfiles example <profile_name>
* ```
*/
export declare class RiskProfiles extends pulumi.CustomResource {
/**
* Get an existing RiskProfiles 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?: RiskProfilesState, opts?: pulumi.CustomResourceOptions): RiskProfiles;
/**
* Returns true if the given object is an instance of RiskProfiles. 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 RiskProfiles;
/**
* (String) Filters based on support for administrative logging. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly adminAuditLogs: pulumi.Output<string | undefined>;
/**
* (Optional) Filters based on supported certifications.
*/
readonly certifications: pulumi.Output<string[] | undefined>;
/**
* (Set) List of custom tags to be included or excluded for the profile.
*/
readonly customTags: pulumi.Output<outputs.RiskProfilesCustomTags | undefined>;
/**
* (String) Filters based on history of data breaches. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly dataBreach: pulumi.Output<string | undefined>;
/**
* (Optional) Filters based on encryption of data in transit.
*/
readonly dataEncryptionInTransits: pulumi.Output<string[] | undefined>;
/**
* (String) Filters based on DNS CAA policy implementation.
*/
readonly dnsCaaPolicy: pulumi.Output<string | undefined>;
/**
* (String) Filters based on DMARC support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly domainBasedMessageAuth: pulumi.Output<string | undefined>;
/**
* (String) Filters based on DKIM authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly domainKeysIdentifiedMail: pulumi.Output<string | undefined>;
/**
* (String) Filters based on anonymous access support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly evasive: pulumi.Output<string | undefined>;
/**
* (Int) Indicates if the certificates are included or not.
*/
readonly excludeCertificates: pulumi.Output<number | undefined>;
/**
* (String) Filters based on file sharing capability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly fileSharing: pulumi.Output<string | undefined>;
/**
* (String) Filters based on HTTP security headers support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly httpSecurityHeaders: pulumi.Output<string | undefined>;
/**
* (String) Filters based on content malware scanning. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly malwareScanningForContent: pulumi.Output<string | undefined>;
/**
* (String) Filters based on multi-factor authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly mfaSupport: pulumi.Output<string | undefined>;
/**
* Cloud application risk profile name.
*/
readonly name: pulumi.Output<string>;
/**
* (String) Filters based on password strength policy. Supported values: `ANY`, `GOOD`, `POOR`, `UN_KNOWN`.
*/
readonly passwordStrength: pulumi.Output<string | undefined>;
/**
* (String) Filters applications based on questionable legal terms. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly poorItemsOfService: pulumi.Output<string | undefined>;
/**
* Unique identifier for the risk profile.
*/
readonly profileId: pulumi.Output<number>;
/**
* (String) Risk profile type. Supported value: `CLOUD_APPLICATIONS`. Default is `CLOUD_APPLICATIONS`.
*/
readonly profileType: pulumi.Output<string | undefined>;
/**
* (String) Filters based on remote screen sharing support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly remoteScreenSharing: pulumi.Output<string | undefined>;
/**
* (Optional) Filters based on risk index thresholds.
*/
readonly riskIndices: pulumi.Output<number[] | undefined>;
/**
* (String) Filters based on SPF authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly senderPolicyFramework: pulumi.Output<string | undefined>;
/**
* (String) Filters based on IP restriction support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly sourceIpRestrictions: pulumi.Output<string | undefined>;
/**
* (String) Filters based on SSL certificate key size. Supported values: `ANY`, `UN_KNOWN`, `BITS_1024`, `BITS_2048`, `BITS_256`, `BITS_3072`, `BITS_384`, `BITS_4096`, `BITS_8192`.
*/
readonly sslCertKeySize: pulumi.Output<string | undefined>;
/**
* (String) Filters based on SSL certificate validity period. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly sslCertValidity: pulumi.Output<string | undefined>;
/**
* (String) Filters based on use of pinned SSL certificates. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly sslPinned: pulumi.Output<string | undefined>;
/**
* (String) Status of the applications. Supported values: `UN_SANCTIONED`, `SANCTIONED`, `ANY`.
*/
readonly status: pulumi.Output<string | undefined>;
/**
* (String) Filters based on Web Application Firewall (WAF) support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly supportForWaf: pulumi.Output<string | undefined>;
/**
* (String) Filters based on published CVE vulnerabilities. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly vulnerability: pulumi.Output<string | undefined>;
/**
* (String) Filters based on vulnerability disclosure policy. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly vulnerabilityDisclosure: pulumi.Output<string | undefined>;
/**
* (String) Filters based on Heartbleed vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly vulnerableToHeartBleed: pulumi.Output<string | undefined>;
/**
* (String) Filters based on Logjam vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly vulnerableToLogJam: pulumi.Output<string | undefined>;
/**
* (String) Filters based on POODLE vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly vulnerableToPoodle: pulumi.Output<string | undefined>;
/**
* (String) Filters based on weak cipher usage. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
readonly weakCipherSupport: pulumi.Output<string | undefined>;
/**
* Create a RiskProfiles 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?: RiskProfilesArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering RiskProfiles resources.
*/
export interface RiskProfilesState {
/**
* (String) Filters based on support for administrative logging. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
adminAuditLogs?: pulumi.Input<string>;
/**
* (Optional) Filters based on supported certifications.
*/
certifications?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (Set) List of custom tags to be included or excluded for the profile.
*/
customTags?: pulumi.Input<inputs.RiskProfilesCustomTags>;
/**
* (String) Filters based on history of data breaches. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
dataBreach?: pulumi.Input<string>;
/**
* (Optional) Filters based on encryption of data in transit.
*/
dataEncryptionInTransits?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (String) Filters based on DNS CAA policy implementation.
*/
dnsCaaPolicy?: pulumi.Input<string>;
/**
* (String) Filters based on DMARC support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
domainBasedMessageAuth?: pulumi.Input<string>;
/**
* (String) Filters based on DKIM authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
domainKeysIdentifiedMail?: pulumi.Input<string>;
/**
* (String) Filters based on anonymous access support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
evasive?: pulumi.Input<string>;
/**
* (Int) Indicates if the certificates are included or not.
*/
excludeCertificates?: pulumi.Input<number>;
/**
* (String) Filters based on file sharing capability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
fileSharing?: pulumi.Input<string>;
/**
* (String) Filters based on HTTP security headers support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
httpSecurityHeaders?: pulumi.Input<string>;
/**
* (String) Filters based on content malware scanning. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
malwareScanningForContent?: pulumi.Input<string>;
/**
* (String) Filters based on multi-factor authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
mfaSupport?: pulumi.Input<string>;
/**
* Cloud application risk profile name.
*/
name?: pulumi.Input<string>;
/**
* (String) Filters based on password strength policy. Supported values: `ANY`, `GOOD`, `POOR`, `UN_KNOWN`.
*/
passwordStrength?: pulumi.Input<string>;
/**
* (String) Filters applications based on questionable legal terms. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
poorItemsOfService?: pulumi.Input<string>;
/**
* Unique identifier for the risk profile.
*/
profileId?: pulumi.Input<number>;
/**
* (String) Risk profile type. Supported value: `CLOUD_APPLICATIONS`. Default is `CLOUD_APPLICATIONS`.
*/
profileType?: pulumi.Input<string>;
/**
* (String) Filters based on remote screen sharing support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
remoteScreenSharing?: pulumi.Input<string>;
/**
* (Optional) Filters based on risk index thresholds.
*/
riskIndices?: pulumi.Input<pulumi.Input<number>[]>;
/**
* (String) Filters based on SPF authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
senderPolicyFramework?: pulumi.Input<string>;
/**
* (String) Filters based on IP restriction support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
sourceIpRestrictions?: pulumi.Input<string>;
/**
* (String) Filters based on SSL certificate key size. Supported values: `ANY`, `UN_KNOWN`, `BITS_1024`, `BITS_2048`, `BITS_256`, `BITS_3072`, `BITS_384`, `BITS_4096`, `BITS_8192`.
*/
sslCertKeySize?: pulumi.Input<string>;
/**
* (String) Filters based on SSL certificate validity period. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
sslCertValidity?: pulumi.Input<string>;
/**
* (String) Filters based on use of pinned SSL certificates. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
sslPinned?: pulumi.Input<string>;
/**
* (String) Status of the applications. Supported values: `UN_SANCTIONED`, `SANCTIONED`, `ANY`.
*/
status?: pulumi.Input<string>;
/**
* (String) Filters based on Web Application Firewall (WAF) support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
supportForWaf?: pulumi.Input<string>;
/**
* (String) Filters based on published CVE vulnerabilities. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerability?: pulumi.Input<string>;
/**
* (String) Filters based on vulnerability disclosure policy. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerabilityDisclosure?: pulumi.Input<string>;
/**
* (String) Filters based on Heartbleed vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerableToHeartBleed?: pulumi.Input<string>;
/**
* (String) Filters based on Logjam vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerableToLogJam?: pulumi.Input<string>;
/**
* (String) Filters based on POODLE vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerableToPoodle?: pulumi.Input<string>;
/**
* (String) Filters based on weak cipher usage. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
weakCipherSupport?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a RiskProfiles resource.
*/
export interface RiskProfilesArgs {
/**
* (String) Filters based on support for administrative logging. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
adminAuditLogs?: pulumi.Input<string>;
/**
* (Optional) Filters based on supported certifications.
*/
certifications?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (Set) List of custom tags to be included or excluded for the profile.
*/
customTags?: pulumi.Input<inputs.RiskProfilesCustomTags>;
/**
* (String) Filters based on history of data breaches. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
dataBreach?: pulumi.Input<string>;
/**
* (Optional) Filters based on encryption of data in transit.
*/
dataEncryptionInTransits?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (String) Filters based on DNS CAA policy implementation.
*/
dnsCaaPolicy?: pulumi.Input<string>;
/**
* (String) Filters based on DMARC support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
domainBasedMessageAuth?: pulumi.Input<string>;
/**
* (String) Filters based on DKIM authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
domainKeysIdentifiedMail?: pulumi.Input<string>;
/**
* (String) Filters based on anonymous access support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
evasive?: pulumi.Input<string>;
/**
* (Int) Indicates if the certificates are included or not.
*/
excludeCertificates?: pulumi.Input<number>;
/**
* (String) Filters based on file sharing capability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
fileSharing?: pulumi.Input<string>;
/**
* (String) Filters based on HTTP security headers support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
httpSecurityHeaders?: pulumi.Input<string>;
/**
* (String) Filters based on content malware scanning. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
malwareScanningForContent?: pulumi.Input<string>;
/**
* (String) Filters based on multi-factor authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
mfaSupport?: pulumi.Input<string>;
/**
* Cloud application risk profile name.
*/
name?: pulumi.Input<string>;
/**
* (String) Filters based on password strength policy. Supported values: `ANY`, `GOOD`, `POOR`, `UN_KNOWN`.
*/
passwordStrength?: pulumi.Input<string>;
/**
* (String) Filters applications based on questionable legal terms. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
poorItemsOfService?: pulumi.Input<string>;
/**
* (String) Risk profile type. Supported value: `CLOUD_APPLICATIONS`. Default is `CLOUD_APPLICATIONS`.
*/
profileType?: pulumi.Input<string>;
/**
* (String) Filters based on remote screen sharing support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
remoteScreenSharing?: pulumi.Input<string>;
/**
* (Optional) Filters based on risk index thresholds.
*/
riskIndices?: pulumi.Input<pulumi.Input<number>[]>;
/**
* (String) Filters based on SPF authentication support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
senderPolicyFramework?: pulumi.Input<string>;
/**
* (String) Filters based on IP restriction support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
sourceIpRestrictions?: pulumi.Input<string>;
/**
* (String) Filters based on SSL certificate key size. Supported values: `ANY`, `UN_KNOWN`, `BITS_1024`, `BITS_2048`, `BITS_256`, `BITS_3072`, `BITS_384`, `BITS_4096`, `BITS_8192`.
*/
sslCertKeySize?: pulumi.Input<string>;
/**
* (String) Filters based on SSL certificate validity period. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
sslCertValidity?: pulumi.Input<string>;
/**
* (String) Filters based on use of pinned SSL certificates. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
sslPinned?: pulumi.Input<string>;
/**
* (String) Status of the applications. Supported values: `UN_SANCTIONED`, `SANCTIONED`, `ANY`.
*/
status?: pulumi.Input<string>;
/**
* (String) Filters based on Web Application Firewall (WAF) support. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
supportForWaf?: pulumi.Input<string>;
/**
* (String) Filters based on published CVE vulnerabilities. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerability?: pulumi.Input<string>;
/**
* (String) Filters based on vulnerability disclosure policy. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerabilityDisclosure?: pulumi.Input<string>;
/**
* (String) Filters based on Heartbleed vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerableToHeartBleed?: pulumi.Input<string>;
/**
* (String) Filters based on Logjam vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerableToLogJam?: pulumi.Input<string>;
/**
* (String) Filters based on POODLE vulnerability. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
vulnerableToPoodle?: pulumi.Input<string>;
/**
* (String) Filters based on weak cipher usage. Supported values: `ANY`, `YES`, `NO`, `UN_KNOWN`.
*/
weakCipherSupport?: pulumi.Input<string>;
}