UNPKG

@bdzscaler/pulumi-zpa

Version:

A Pulumi package for creating and managing Zscaler Private Access (ZPA) cloud resources.

338 lines (337 loc) 13.4 kB
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>; }