@bdzscaler/pulumi-zpa
Version:
A Pulumi package for creating and managing Zscaler Private Access (ZPA) cloud resources.
338 lines (337 loc) • 13.4 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/zpa/about-appprotection-applications)
* * [API documentation](https://help.zscaler.com/zpa/configuring-application-segments-using-api)
*
* The **zpa_application_segment_inspection** resource creates an inspection application segment in the Zscaler Private Access cloud. This resource can then be referenced in an access policy inspection rule. This resource supports Inspection for both `HTTP` and `HTTPS`.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as zpa from "@bdzscaler/pulumi-zpa";
*
* const jenkins = zpa.getBaCertificate({
* name: "jenkins.example.com",
* });
* const _this = new zpa.ApplicationSegmentInspection("this", {
* description: "ZPA_Inspection_Example",
* enabled: true,
* healthReporting: "ON_ACCESS",
* bypassType: "NEVER",
* isCnameEnabled: true,
* tcpPortRanges: [
* "443",
* "443",
* ],
* domainNames: ["jenkins.example.com"],
* segmentGroupId: zpa_segment_group["this"].id,
* serverGroups: [{
* ids: [zpa_server_group["this"].id],
* }],
* commonAppsDtos: [{
* appsConfigs: [{
* name: "jenkins.example.com",
* domain: "jenkins.example.com",
* applicationProtocol: "HTTPS",
* applicationPort: "443",
* certificateId: jenkins.then(jenkins => jenkins.id),
* enabled: true,
* appTypes: ["INSPECT"],
* }],
* }],
* });
* ```
*
* ## Import
*
* Zscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.
*
* Visit
*
* Inspection Application Segment can be imported by using `<APPLICATION SEGMENT ID>` or `<APPLICATION SEGMENT NAME>` as the import ID.
*
* ```sh
* $ pulumi import zpa:index/applicationSegmentInspection:ApplicationSegmentInspection example <application_segment_id>
* ```
*
* or
*
* ```sh
* $ pulumi import zpa:index/applicationSegmentInspection:ApplicationSegmentInspection example <application_segment_name>
* ```
*/
export declare class ApplicationSegmentInspection extends pulumi.CustomResource {
/**
* Get an existing ApplicationSegmentInspection 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?: ApplicationSegmentInspectionState, opts?: pulumi.CustomResourceOptions): ApplicationSegmentInspection;
/**
* Returns true if the given object is an instance of ApplicationSegmentInspection. 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 ApplicationSegmentInspection;
/**
* Indicates if Active Directory Inspection is enabled or not for the application. This allows the application segment's
* traffic to be inspected by Active Directory (AD) Protection.
*/
readonly adpEnabled: pulumi.Output<boolean>;
/**
* If autoAppProtectEnabled is set to true, this field indicates if the application segment’s traffic is inspected by
* AppProtection.
*/
readonly autoAppProtectEnabled: pulumi.Output<boolean>;
readonly bypassOnReauth: pulumi.Output<boolean>;
/**
* Indicates whether users can bypass ZPA to access applications. Default: NEVER. Supported values: ALWAYS, NEVER, ON_NET.
* The value NEVER indicates the use of the client forwarding policy.
*/
readonly bypassType: pulumi.Output<string>;
readonly commonAppsDtos: pulumi.Output<outputs.ApplicationSegmentInspectionCommonAppsDto[]>;
readonly configSpace: pulumi.Output<string | undefined>;
/**
* Description of the application.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* List of domains and IPs.
*/
readonly domainNames: pulumi.Output<string[]>;
/**
* Whether Double Encryption is enabled or disabled for the app.
*/
readonly doubleEncrypt: pulumi.Output<boolean>;
readonly enabled: pulumi.Output<boolean>;
readonly fqdnDnsCheck: pulumi.Output<boolean | undefined>;
readonly healthCheckType: pulumi.Output<string | undefined>;
/**
* Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS.
*/
readonly healthReporting: pulumi.Output<string | undefined>;
readonly icmpAccessType: pulumi.Output<string>;
readonly ipAnchored: pulumi.Output<boolean | undefined>;
/**
* Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the
* connectors.
*/
readonly isCnameEnabled: pulumi.Output<boolean>;
readonly isIncompleteDrConfig: pulumi.Output<boolean | undefined>;
/**
* Name of the application.
*/
readonly name: pulumi.Output<string>;
readonly passiveHealthEnabled: pulumi.Output<boolean>;
readonly segmentGroupId: pulumi.Output<string>;
readonly selectConnectorCloseToApp: pulumi.Output<boolean | undefined>;
readonly serverGroups: pulumi.Output<outputs.ApplicationSegmentInspectionServerGroup[] | undefined>;
readonly tcpKeepAlive: pulumi.Output<string>;
/**
* tcp port range
*/
readonly tcpPortRange: pulumi.Output<outputs.ApplicationSegmentInspectionTcpPortRange[]>;
/**
* TCP port ranges used to access the app.
*/
readonly tcpPortRanges: pulumi.Output<string[]>;
/**
* TCP port ranges used to access the app.
*/
readonly tcpProtocols: pulumi.Output<string[]>;
/**
* udp port range
*/
readonly udpPortRange: pulumi.Output<outputs.ApplicationSegmentInspectionUdpPortRange[]>;
/**
* UDP port ranges used to access the app.
*/
readonly udpPortRanges: pulumi.Output<string[]>;
/**
* TCP port ranges used to access the app.
*/
readonly udpProtocols: pulumi.Output<string[]>;
readonly useInDrMode: pulumi.Output<boolean | undefined>;
/**
* Create a ApplicationSegmentInspection 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: ApplicationSegmentInspectionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering ApplicationSegmentInspection resources.
*/
export interface ApplicationSegmentInspectionState {
/**
* Indicates if Active Directory Inspection is enabled or not for the application. This allows the application segment's
* traffic to be inspected by Active Directory (AD) Protection.
*/
adpEnabled?: pulumi.Input<boolean>;
/**
* If autoAppProtectEnabled is set to true, this field indicates if the application segment’s traffic is inspected by
* AppProtection.
*/
autoAppProtectEnabled?: pulumi.Input<boolean>;
bypassOnReauth?: pulumi.Input<boolean>;
/**
* Indicates whether users can bypass ZPA to access applications. Default: NEVER. Supported values: ALWAYS, NEVER, ON_NET.
* The value NEVER indicates the use of the client forwarding policy.
*/
bypassType?: pulumi.Input<string>;
commonAppsDtos?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionCommonAppsDto>[]>;
configSpace?: pulumi.Input<string>;
/**
* Description of the application.
*/
description?: pulumi.Input<string>;
/**
* List of domains and IPs.
*/
domainNames?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Whether Double Encryption is enabled or disabled for the app.
*/
doubleEncrypt?: pulumi.Input<boolean>;
enabled?: pulumi.Input<boolean>;
fqdnDnsCheck?: pulumi.Input<boolean>;
healthCheckType?: pulumi.Input<string>;
/**
* Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS.
*/
healthReporting?: pulumi.Input<string>;
icmpAccessType?: pulumi.Input<string>;
ipAnchored?: pulumi.Input<boolean>;
/**
* Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the
* connectors.
*/
isCnameEnabled?: pulumi.Input<boolean>;
isIncompleteDrConfig?: pulumi.Input<boolean>;
/**
* Name of the application.
*/
name?: pulumi.Input<string>;
passiveHealthEnabled?: pulumi.Input<boolean>;
segmentGroupId?: pulumi.Input<string>;
selectConnectorCloseToApp?: pulumi.Input<boolean>;
serverGroups?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionServerGroup>[]>;
tcpKeepAlive?: pulumi.Input<string>;
/**
* tcp port range
*/
tcpPortRange?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionTcpPortRange>[]>;
/**
* TCP port ranges used to access the app.
*/
tcpPortRanges?: pulumi.Input<pulumi.Input<string>[]>;
/**
* TCP port ranges used to access the app.
*/
tcpProtocols?: pulumi.Input<pulumi.Input<string>[]>;
/**
* udp port range
*/
udpPortRange?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionUdpPortRange>[]>;
/**
* UDP port ranges used to access the app.
*/
udpPortRanges?: pulumi.Input<pulumi.Input<string>[]>;
/**
* TCP port ranges used to access the app.
*/
udpProtocols?: pulumi.Input<pulumi.Input<string>[]>;
useInDrMode?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a ApplicationSegmentInspection resource.
*/
export interface ApplicationSegmentInspectionArgs {
/**
* Indicates if Active Directory Inspection is enabled or not for the application. This allows the application segment's
* traffic to be inspected by Active Directory (AD) Protection.
*/
adpEnabled?: pulumi.Input<boolean>;
/**
* If autoAppProtectEnabled is set to true, this field indicates if the application segment’s traffic is inspected by
* AppProtection.
*/
autoAppProtectEnabled?: pulumi.Input<boolean>;
bypassOnReauth?: pulumi.Input<boolean>;
/**
* Indicates whether users can bypass ZPA to access applications. Default: NEVER. Supported values: ALWAYS, NEVER, ON_NET.
* The value NEVER indicates the use of the client forwarding policy.
*/
bypassType?: pulumi.Input<string>;
commonAppsDtos?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionCommonAppsDto>[]>;
configSpace?: pulumi.Input<string>;
/**
* Description of the application.
*/
description?: pulumi.Input<string>;
/**
* List of domains and IPs.
*/
domainNames?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Whether Double Encryption is enabled or disabled for the app.
*/
doubleEncrypt?: pulumi.Input<boolean>;
enabled?: pulumi.Input<boolean>;
fqdnDnsCheck?: pulumi.Input<boolean>;
healthCheckType?: pulumi.Input<string>;
/**
* Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS.
*/
healthReporting?: pulumi.Input<string>;
icmpAccessType?: pulumi.Input<string>;
ipAnchored?: pulumi.Input<boolean>;
/**
* Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the
* connectors.
*/
isCnameEnabled?: pulumi.Input<boolean>;
isIncompleteDrConfig?: pulumi.Input<boolean>;
/**
* Name of the application.
*/
name?: pulumi.Input<string>;
passiveHealthEnabled?: pulumi.Input<boolean>;
segmentGroupId: pulumi.Input<string>;
selectConnectorCloseToApp?: pulumi.Input<boolean>;
serverGroups?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionServerGroup>[]>;
tcpKeepAlive?: pulumi.Input<string>;
/**
* tcp port range
*/
tcpPortRange?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionTcpPortRange>[]>;
/**
* TCP port ranges used to access the app.
*/
tcpPortRanges?: pulumi.Input<pulumi.Input<string>[]>;
/**
* TCP port ranges used to access the app.
*/
tcpProtocols?: pulumi.Input<pulumi.Input<string>[]>;
/**
* udp port range
*/
udpPortRange?: pulumi.Input<pulumi.Input<inputs.ApplicationSegmentInspectionUdpPortRange>[]>;
/**
* UDP port ranges used to access the app.
*/
udpPortRanges?: pulumi.Input<pulumi.Input<string>[]>;
/**
* TCP port ranges used to access the app.
*/
udpProtocols?: pulumi.Input<pulumi.Input<string>[]>;
useInDrMode?: pulumi.Input<boolean>;
}