@bdzscaler/pulumi-zpa
Version:
A Pulumi package for creating and managing Zscaler Private Access (ZPA) cloud resources.
151 lines (150 loc) • 6.63 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/isolation/about-custom-root-certificates-cloud-browser-isolation)
*
* The **zpa_cloud_browser_isolation_external_profile** resource creates a Cloud Browser Isolation external profile. This resource can then be used in as part of `zpa.PolicyAccessIsolationRule` when the `action` attribute is set to `ISOLATE`.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as zpa from "@bdzscaler/pulumi-zpa";
*
* const thisCloudBrowserIsolationBanner = zpa.getCloudBrowserIsolationBanner({
* name: "Default",
* });
* const singapore = zpa.getCloudBrowserIsolationRegion({
* name: "Singapore",
* });
* const frankfurt = zpa.getCloudBrowserIsolationRegion({
* name: "Frankfurt",
* });
* const thisCloudBrowserIsolationCertificate = zpa.getCloudBrowserIsolationCertificate({
* name: "Zscaler Root Certificate",
* });
* const thisCloudBrowserIsolationExternalProfile = new zpa.CloudBrowserIsolationExternalProfile("thisCloudBrowserIsolationExternalProfile", {
* description: "CBI_Profile_Example",
* bannerId: thisCloudBrowserIsolationBanner.then(thisCloudBrowserIsolationBanner => thisCloudBrowserIsolationBanner.id),
* regionIds: [singapore.then(singapore => singapore.id)],
* certificateIds: [thisCloudBrowserIsolationCertificate.then(thisCloudBrowserIsolationCertificate => thisCloudBrowserIsolationCertificate.id)],
* userExperience: {
* forwardToZia: {
* enabled: true,
* organizationId: "***********",
* cloudName: "<cloud_name>",
* pacFileUrl: "https://pac.<cloud_name>/<cloud_name>/proxy.pac",
* },
* browserInBrowser: true,
* persistIsolationBar: true,
* translate: true,
* sessionPersistence: true,
* },
* securityControls: {
* copyPaste: "all",
* uploadDownload: "upstream",
* documentViewer: true,
* localRender: true,
* allowPrinting: true,
* restrictKeystrokes: true,
* flattenedPdf: true,
* deepLink: {
* enabled: true,
* applications: [
* "test1",
* "test",
* ],
* },
* watermark: {
* enabled: true,
* showUserId: true,
* showTimestamp: true,
* showMessage: true,
* message: "Zscaler CBI",
* },
* },
* debugMode: {
* allowed: true,
* filePassword: "***********",
* },
* });
* ```
*/
export declare class CloudBrowserIsolationExternalProfile extends pulumi.CustomResource {
/**
* Get an existing CloudBrowserIsolationExternalProfile 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?: CloudBrowserIsolationExternalProfileState, opts?: pulumi.CustomResourceOptions): CloudBrowserIsolationExternalProfile;
/**
* Returns true if the given object is an instance of CloudBrowserIsolationExternalProfile. 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 CloudBrowserIsolationExternalProfile;
readonly bannerId: pulumi.Output<string>;
/**
* This field defines the list of certificate IDs.
*/
readonly certificateIds: pulumi.Output<string[] | undefined>;
readonly debugMode: pulumi.Output<outputs.CloudBrowserIsolationExternalProfileDebugMode | undefined>;
readonly description: pulumi.Output<string | undefined>;
readonly name: pulumi.Output<string>;
/**
* This field defines the list of region IDs.
*/
readonly regionIds: pulumi.Output<string[] | undefined>;
readonly securityControls: pulumi.Output<outputs.CloudBrowserIsolationExternalProfileSecurityControls | undefined>;
readonly userExperience: pulumi.Output<outputs.CloudBrowserIsolationExternalProfileUserExperience>;
/**
* Create a CloudBrowserIsolationExternalProfile 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: CloudBrowserIsolationExternalProfileArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering CloudBrowserIsolationExternalProfile resources.
*/
export interface CloudBrowserIsolationExternalProfileState {
bannerId?: pulumi.Input<string>;
/**
* This field defines the list of certificate IDs.
*/
certificateIds?: pulumi.Input<pulumi.Input<string>[]>;
debugMode?: pulumi.Input<inputs.CloudBrowserIsolationExternalProfileDebugMode>;
description?: pulumi.Input<string>;
name?: pulumi.Input<string>;
/**
* This field defines the list of region IDs.
*/
regionIds?: pulumi.Input<pulumi.Input<string>[]>;
securityControls?: pulumi.Input<inputs.CloudBrowserIsolationExternalProfileSecurityControls>;
userExperience?: pulumi.Input<inputs.CloudBrowserIsolationExternalProfileUserExperience>;
}
/**
* The set of arguments for constructing a CloudBrowserIsolationExternalProfile resource.
*/
export interface CloudBrowserIsolationExternalProfileArgs {
bannerId: pulumi.Input<string>;
/**
* This field defines the list of certificate IDs.
*/
certificateIds?: pulumi.Input<pulumi.Input<string>[]>;
debugMode?: pulumi.Input<inputs.CloudBrowserIsolationExternalProfileDebugMode>;
description?: pulumi.Input<string>;
name?: pulumi.Input<string>;
/**
* This field defines the list of region IDs.
*/
regionIds?: pulumi.Input<pulumi.Input<string>[]>;
securityControls?: pulumi.Input<inputs.CloudBrowserIsolationExternalProfileSecurityControls>;
userExperience?: pulumi.Input<inputs.CloudBrowserIsolationExternalProfileUserExperience>;
}