@bdzscaler/pulumi-zpa
Version:
A Pulumi package for creating and managing Zscaler Private Access (ZPA) cloud resources.
136 lines • 6.34 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.CloudBrowserIsolationExternalProfile = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* * [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: "***********",
* },
* });
* ```
*/
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, id, state, opts) {
return new CloudBrowserIsolationExternalProfile(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* 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) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === CloudBrowserIsolationExternalProfile.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["bannerId"] = state ? state.bannerId : undefined;
resourceInputs["certificateIds"] = state ? state.certificateIds : undefined;
resourceInputs["debugMode"] = state ? state.debugMode : undefined;
resourceInputs["description"] = state ? state.description : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["regionIds"] = state ? state.regionIds : undefined;
resourceInputs["securityControls"] = state ? state.securityControls : undefined;
resourceInputs["userExperience"] = state ? state.userExperience : undefined;
}
else {
const args = argsOrState;
if ((!args || args.bannerId === undefined) && !opts.urn) {
throw new Error("Missing required property 'bannerId'");
}
resourceInputs["bannerId"] = args ? args.bannerId : undefined;
resourceInputs["certificateIds"] = args ? args.certificateIds : undefined;
resourceInputs["debugMode"] = args ? args.debugMode : undefined;
resourceInputs["description"] = args ? args.description : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["regionIds"] = args ? args.regionIds : undefined;
resourceInputs["securityControls"] = args ? args.securityControls : undefined;
resourceInputs["userExperience"] = args ? args.userExperience : undefined;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(CloudBrowserIsolationExternalProfile.__pulumiType, name, resourceInputs, opts);
}
}
exports.CloudBrowserIsolationExternalProfile = CloudBrowserIsolationExternalProfile;
/** @internal */
CloudBrowserIsolationExternalProfile.__pulumiType = 'zpa:index/cloudBrowserIsolationExternalProfile:CloudBrowserIsolationExternalProfile';
//# sourceMappingURL=cloudBrowserIsolationExternalProfile.js.map