{"name":"zpa","displayName":"Zscaler Private Access","version":"1.0.3","description":"A Pulumi package for creating and managing Zscaler Private Access (ZPA) cloud resources.","keywords":["pulumi","zpa","zscaler","category/cloud"],"homepage":"https://www.zscaler.com","license":"MIT","attribution":"This Pulumi package is based on the [`zpa` Terraform Provider](https://github.com/zscaler/terraform-provider-zpa).","repository":"https://github.com/zscaler/pulumi-zpa","logoUrl":"https://raw.githubusercontent.com/zscaler/pulumi-zpa/master/assets/zscaler.png","pluginDownloadURL":"github://api.github.com/zscaler","publisher":"Zscaler","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"compatibility":"tfbridge20","rootNamespace":"zscaler.PulumiPackage"},"go":{"importBasePath":"github.com/zscaler/pulumi-zpa/sdk/go/zpa","generateResourceContainerTypes":true,"generateExtraInputTypes":true},"nodejs":{"packageName":"@bdzscaler/pulumi-zpa","packageDescription":"A Pulumi package for creating and managing Zscaler Private Access (ZPA) cloud resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/zscaler/terraform-provider-zpa)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-zpa` repo](https://github.com/zscaler/pulumi-zpa/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-zpa` repo](https://github.com/zscaler/terraform-provider-zpa/issues).","dependencies":{"@pulumi/pulumi":"^3.0.0"},"devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true},"python":{"packageName":"zscaler_pulumi_zpa","requires":{"pulumi":"\u003e=3.0.0,\u003c4.0.0"},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/zscaler/terraform-provider-zpa)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-zpa` repo](https://github.com/zscaler/pulumi-zpa/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-zpa` repo](https://github.com/zscaler/terraform-provider-zpa/issues).","compatibility":"tfbridge20","pyproject":{}}},"config":{"variables":{"backoff":{"type":"boolean","description":"Use exponential back off strategy for rate limits."},"clientId":{"type":"string","description":"zpa client id","defaultInfo":{"environment":["ZSCALER_CLIENT_ID"]}},"clientSecret":{"type":"string","description":"zpa client secret","defaultInfo":{"environment":["ZSCALER_CLIENT_SECRET"]},"secret":true},"customerId":{"type":"string","description":"zpa customer id","defaultInfo":{"environment":["ZPA_CUSTOMER_ID"]},"secret":true},"httpProxy":{"type":"string","description":"Alternate HTTP proxy of scheme://hostname or scheme://hostname:port format"},"maxRetries":{"type":"integer","description":"maximum number of retries to attempt before erroring out."},"maxWaitSeconds":{"type":"integer","description":"maximum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled."},"microtenantId":{"type":"string","description":"zpa microtenant ID","secret":true},"minWaitSeconds":{"type":"integer","description":"minimum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled."},"parallelism":{"type":"integer","description":"Number of concurrent requests to make within a resource where bulk operations are not possible. Take note of https://help.zscaler.com/zpa/understanding-rate-limiting."},"privateKey":{"type":"string","description":"zpa private key","defaultInfo":{"environment":["ZSCALER_PRIVATE_KEY"]},"secret":true},"requestTimeout":{"type":"integer","description":"Timeout for single request (in seconds) which is made to Zscaler, the default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (means no limit is set). The maximum value can be \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e."},"useLegacyClient":{"type":"boolean","description":"Enables interaction with the ZPA legacy API framework","defaultInfo":{"environment":["ZSCALER_USE_LEGACY_CLIENT"]}},"vanityDomain":{"type":"string","description":"Zscaler Vanity Domain","defaultInfo":{"environment":["ZSCALER_VANITY_DOMAIN"]},"secret":true},"zpaClientId":{"type":"string","description":"zpa client id","defaultInfo":{"environment":["ZPA_CLIENT_ID"]}},"zpaClientSecret":{"type":"string","description":"zpa client secret","defaultInfo":{"environment":["ZPA_CLIENT_SECRET"]},"secret":true},"zpaCloud":{"type":"string","description":"Cloud to use PRODUCTION, ZPATWO, BETA, GOV, GOVUS, PREVIEW, DEV, QA, QA2","defaultInfo":{"environment":["ZPA_CLOUD"]}},"zpaCustomerId":{"type":"string","description":"zpa customer id","defaultInfo":{"environment":["ZPA_CUSTOMER_ID"]},"secret":true},"zscalerCloud":{"type":"string","description":"Zscaler Cloud Name","defaultInfo":{"environment":["ZSCALER_CLOUD"]},"secret":true}}},"types":{"zpa:index/ApplicationSegmentBrowserAccessClientlessApp:ApplicationSegmentBrowserAccessClientlessApp":{"properties":{"allowOptions":{"type":"boolean","description":"If you want ZPA to forward unauthenticated HTTP preflight OPTIONS requests from the browser to the app.\n"},"appId":{"type":"string"},"applicationPort":{"type":"string","description":"Port for the BA app.\n"},"applicationProtocol":{"type":"string","description":"Protocol for the BA app.\n"},"certificateId":{"type":"string","description":"ID of the BA certificate.\n"},"cname":{"type":"string","description":"ID of the BA certificate.\n"},"description":{"type":"string"},"domain":{"type":"string","description":"Domain name or IP address of the BA app.\n"},"enabled":{"type":"boolean"},"extDomain":{"type":"string","description":"The external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal.\n"},"extLabel":{"type":"string","description":"The domain prefix for the privileged portal URL. The supported string can include numbers, lower case characters, and only supports a hyphen (-).\n"},"id":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"},"trustUntrustedCert":{"type":"boolean","description":"Indicates whether Use Untrusted Certificates is enabled or disabled for a BA app.\n"}},"type":"object","required":["applicationPort","applicationProtocol","name"],"language":{"nodejs":{"requiredOutputs":["appId","applicationPort","applicationProtocol","cname","enabled","id","name","trustUntrustedCert"]}}},"zpa:index/ApplicationSegmentBrowserAccessServerGroup:ApplicationSegmentBrowserAccessServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ApplicationSegmentBrowserAccessTcpPortRange:ApplicationSegmentBrowserAccessTcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentBrowserAccessUdpPortRange:ApplicationSegmentBrowserAccessUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentBrowserAccessZpnErId:ApplicationSegmentBrowserAccessZpnErId":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ApplicationSegmentInspectionCommonAppsDto:ApplicationSegmentInspectionCommonAppsDto":{"properties":{"appsConfigs":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionCommonAppsDtoAppsConfig:ApplicationSegmentInspectionCommonAppsDtoAppsConfig"}}},"type":"object","language":{"nodejs":{"requiredOutputs":["appsConfigs"]}}},"zpa:index/ApplicationSegmentInspectionCommonAppsDtoAppsConfig:ApplicationSegmentInspectionCommonAppsDtoAppsConfig":{"properties":{"appId":{"type":"string"},"appTypes":{"type":"array","items":{"type":"string"}},"applicationPort":{"type":"string"},"applicationProtocol":{"type":"string"},"certificateId":{"type":"string"},"description":{"type":"string"},"domain":{"type":"string"},"inspectAppId":{"type":"string"},"name":{"type":"string"},"trustUntrustedCert":{"type":"boolean"}},"type":"object","language":{"nodejs":{"requiredOutputs":["appId","appTypes","applicationPort","applicationProtocol","certificateId","description","domain","inspectAppId","name","trustUntrustedCert"]}}},"zpa:index/ApplicationSegmentInspectionServerGroup:ApplicationSegmentInspectionServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ApplicationSegmentInspectionTcpPortRange:ApplicationSegmentInspectionTcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentInspectionUdpPortRange:ApplicationSegmentInspectionUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentPRACommonAppsDto:ApplicationSegmentPRACommonAppsDto":{"properties":{"appsConfigs":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRACommonAppsDtoAppsConfig:ApplicationSegmentPRACommonAppsDtoAppsConfig"}}},"type":"object","language":{"nodejs":{"requiredOutputs":["appsConfigs"]}}},"zpa:index/ApplicationSegmentPRACommonAppsDtoAppsConfig:ApplicationSegmentPRACommonAppsDtoAppsConfig":{"properties":{"appId":{"type":"string"},"appTypes":{"type":"array","items":{"type":"string"}},"applicationPort":{"type":"string"},"applicationProtocol":{"type":"string"},"connectionSecurity":{"type":"string"},"domain":{"type":"string"},"name":{"type":"string"},"praAppId":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["appId","appTypes","applicationPort","name","praAppId"]}}},"zpa:index/ApplicationSegmentPRAServerGroup:ApplicationSegmentPRAServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ApplicationSegmentPRATcpPortRange:ApplicationSegmentPRATcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentPRAUdpPortRange:ApplicationSegmentPRAUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentPRAZpnErId:ApplicationSegmentPRAZpnErId":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ApplicationSegmentServerGroup:ApplicationSegmentServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ApplicationSegmentTcpPortRange:ApplicationSegmentTcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentUdpPortRange:ApplicationSegmentUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping:ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping":{"properties":{"id":{"type":"string","description":"Server group mapping identifier.\n"},"name":{"type":"string","description":"Server group name.\n"},"passive":{"type":"boolean","description":"Whether the server group is passive.\n"},"weight":{"type":"string","description":"Assigned weight for the server group.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","name","passive","weight"]}}},"zpa:index/ApplicationSegmentZpnErId:ApplicationSegmentZpnErId":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/BrowserAccessClientlessApp:BrowserAccessClientlessApp":{"properties":{"allowOptions":{"type":"boolean","description":"If you want ZPA to forward unauthenticated HTTP preflight OPTIONS requests from the browser to the app.\n"},"appId":{"type":"string"},"applicationPort":{"type":"string","description":"Port for the BA app.\n"},"applicationProtocol":{"type":"string","description":"Protocol for the BA app.\n"},"certificateId":{"type":"string","description":"ID of the BA certificate.\n"},"cname":{"type":"string","description":"ID of the BA certificate.\n"},"description":{"type":"string"},"domain":{"type":"string","description":"Domain name or IP address of the BA app.\n"},"enabled":{"type":"boolean"},"extDomain":{"type":"string","description":"The external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal.\n"},"extLabel":{"type":"string","description":"The domain prefix for the privileged portal URL. The supported string can include numbers, lower case characters, and only supports a hyphen (-).\n"},"id":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"},"trustUntrustedCert":{"type":"boolean","description":"Indicates whether Use Untrusted Certificates is enabled or disabled for a BA app.\n"}},"type":"object","required":["applicationPort","applicationProtocol","name"],"language":{"nodejs":{"requiredOutputs":["appId","applicationPort","applicationProtocol","cname","enabled","id","name","trustUntrustedCert"]}}},"zpa:index/BrowserAccessServerGroup:BrowserAccessServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/BrowserAccessTcpPortRange:BrowserAccessTcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/BrowserAccessUdpPortRange:BrowserAccessUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/BrowserAccessZpnErId:BrowserAccessZpnErId":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/CloudBrowserIsolationExternalProfileDebugMode:CloudBrowserIsolationExternalProfileDebugMode":{"properties":{"allowed":{"type":"boolean"},"filePassword":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["allowed"]}}},"zpa:index/CloudBrowserIsolationExternalProfileSecurityControls:CloudBrowserIsolationExternalProfileSecurityControls":{"properties":{"allowPrinting":{"type":"boolean"},"copyPaste":{"type":"string"},"deepLink":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileSecurityControlsDeepLink:CloudBrowserIsolationExternalProfileSecurityControlsDeepLink"},"documentViewer":{"type":"boolean"},"flattenedPdf":{"type":"boolean"},"localRender":{"type":"boolean"},"restrictKeystrokes":{"type":"boolean"},"uploadDownload":{"type":"string"},"watermark":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileSecurityControlsWatermark:CloudBrowserIsolationExternalProfileSecurityControlsWatermark"}},"type":"object","language":{"nodejs":{"requiredOutputs":["allowPrinting","deepLink","documentViewer","flattenedPdf","localRender","restrictKeystrokes","watermark"]}}},"zpa:index/CloudBrowserIsolationExternalProfileSecurityControlsDeepLink:CloudBrowserIsolationExternalProfileSecurityControlsDeepLink":{"properties":{"applications":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applications","enabled"]}}},"zpa:index/CloudBrowserIsolationExternalProfileSecurityControlsWatermark:CloudBrowserIsolationExternalProfileSecurityControlsWatermark":{"properties":{"enabled":{"type":"boolean"},"message":{"type":"string"},"showMessage":{"type":"boolean"},"showTimestamp":{"type":"boolean"},"showUserId":{"type":"boolean"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","message","showMessage","showTimestamp","showUserId"]}}},"zpa:index/CloudBrowserIsolationExternalProfileUserExperience:CloudBrowserIsolationExternalProfileUserExperience":{"properties":{"browserInBrowser":{"type":"boolean"},"forwardToZia":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileUserExperienceForwardToZia:CloudBrowserIsolationExternalProfileUserExperienceForwardToZia"},"persistIsolationBar":{"type":"boolean"},"sessionPersistence":{"type":"boolean"},"translate":{"type":"boolean"},"zgpu":{"type":"boolean"}},"type":"object","language":{"nodejs":{"requiredOutputs":["browserInBrowser","persistIsolationBar","sessionPersistence","translate","zgpu"]}}},"zpa:index/CloudBrowserIsolationExternalProfileUserExperienceForwardToZia:CloudBrowserIsolationExternalProfileUserExperienceForwardToZia":{"properties":{"cloudName":{"type":"string"},"enabled":{"type":"boolean"},"organizationId":{"type":"string"},"pacFileUrl":{"type":"string"}},"type":"object"},"zpa:index/InspectionCustomControlsRule:InspectionCustomControlsRule":{"properties":{"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionCustomControlsRuleCondition:InspectionCustomControlsRuleCondition"}},"names":{"type":"array","items":{"type":"string"},"description":"Name of the rules. If rules.type is set to REQUEST_HEADERS, REQUEST_COOKIES, or RESPONSE_HEADERS, the rules.name field is required.\n"},"type":{"type":"string","description":"Type value for the rules.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["conditions","names","type"]}}},"zpa:index/InspectionCustomControlsRuleCondition:InspectionCustomControlsRuleCondition":{"properties":{"lhs":{"type":"string","description":"Signifies the key for the object type\n"},"op":{"type":"string","description":"Denotes the operation type.\n"},"rhs":{"type":"string","description":"Denotes the value for the given object type. Its value depends on the key.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["lhs","op","rhs"]}}},"zpa:index/InspectionProfileControlsInfo:InspectionProfileControlsInfo":{"properties":{"controlType":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["controlType"]}}},"zpa:index/InspectionProfileCustomControl:InspectionProfileCustomControl":{"properties":{"action":{"type":"string","description":"The action of the custom control\n"},"actionValue":{"type":"string","description":"Denotes the action. Supports any string\n"},"id":{"type":"string","description":"The unique identifier of the custom control\n"}},"type":"object","required":["id"]},"zpa:index/InspectionProfilePredefinedApiControl:InspectionProfilePredefinedApiControl":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"id":{"type":"string"}},"type":"object"},"zpa:index/InspectionProfilePredefinedControl:InspectionProfilePredefinedControl":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"id":{"type":"string"}},"type":"object"},"zpa:index/InspectionProfileThreatLabzControl:InspectionProfileThreatLabzControl":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"id":{"type":"string"}},"type":"object"},"zpa:index/InspectionProfileWebsocketControl:InspectionProfileWebsocketControl":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"id":{"type":"string"}},"type":"object"},"zpa:index/LSSConfigControllerConfig:LSSConfigControllerConfig":{"properties":{"auditMessage":{"type":"string"},"description":{"type":"string","description":"Description of the LSS configuration\n"},"enabled":{"type":"boolean","description":"Whether this LSS configuration is enabled or not. Supported values: true, false\n"},"filters":{"type":"array","items":{"type":"string"},"description":"Filter for the LSS configuration. Format given by the following API to get status codes: /mgmtconfig/v2/admin/lssConfig/statusCodes\n"},"format":{"type":"string","description":"Format of the log type. Format given by the following API to get formats: /mgmtconfig/v2/admin/lssConfig/logType/formats\n"},"id":{"type":"string"},"lssHost":{"type":"string","description":"Host of the LSS configuration\n"},"lssPort":{"type":"string","description":"Port of the LSS configuration\n"},"name":{"type":"string","description":"Name of the LSS configuration\n"},"sourceLogType":{"type":"string","description":"Log type of the LSS configuration\n"},"useTls":{"type":"boolean"}},"type":"object","required":["format","lssHost","lssPort","name","sourceLogType"],"language":{"nodejs":{"requiredOutputs":["auditMessage","format","id","lssHost","lssPort","name","sourceLogType"]}}},"zpa:index/LSSConfigControllerConnectorGroup:LSSConfigControllerConnectorGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/LSSConfigControllerPolicyRuleResource:LSSConfigControllerPolicyRuleResource":{"properties":{"action":{"type":"string","description":"This is for providing the rule action.\n"},"actionId":{"type":"string","description":"This field defines the description of the server.\n"},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/LSSConfigControllerPolicyRuleResourceCondition:LSSConfigControllerPolicyRuleResourceCondition"},"description":"This is for proviidng the set of conditions for the policy.\n"},"customMsg":{"type":"string","description":"This is for providing a customer message for the user.\n"},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user.\n"},"description":{"type":"string","description":"This is the description of the access policy.\n"},"id":{"type":"string"},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy.\n"},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["bypassDefaultRule","customMsg","defaultRule","id","microtenantId","name","operator","policyType","priority","reauthDefaultRule","ruleOrder","zpnCbiProfileId","zpnInspectionProfileId","zpnIsolationProfileId"]}}},"zpa:index/LSSConfigControllerPolicyRuleResourceCondition:LSSConfigControllerPolicyRuleResourceCondition":{"properties":{"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/LSSConfigControllerPolicyRuleResourceConditionOperand:LSSConfigControllerPolicyRuleResourceConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","required":["operator"]},"zpa:index/LSSConfigControllerPolicyRuleResourceConditionOperand:LSSConfigControllerPolicyRuleResourceConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/LSSConfigControllerPolicyRuleResourceConditionOperandEntryValue:LSSConfigControllerPolicyRuleResourceConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","required":["objectType"]},"zpa:index/LSSConfigControllerPolicyRuleResourceConditionOperandEntryValue:LSSConfigControllerPolicyRuleResourceConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/MicrotenantUser:MicrotenantUser":{"properties":{"displayName":{"type":"string"},"microtenantId":{"type":"string"},"password":{"type":"string"},"username":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["displayName","microtenantId","password","username"]}}},"zpa:index/PRAApprovalApplication:PRAApprovalApplication":{"properties":{"ids":{"type":"array","items":{"type":"string"},"description":"The unique identifier of the pra application segment\n"}},"type":"object"},"zpa:index/PRAApprovalWorkingHour:PRAApprovalWorkingHour":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"The days of the week that you want to enable the privileged approval\n"},"endTime":{"type":"string","description":"The end time that the user no longer has access to the privileged approval\n"},"endTimeCron":{"type":"string","description":"The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]\n"},"startTime":{"type":"string","description":"The start time that the user has access to the privileged approval\n"},"startTimeCron":{"type":"string","description":"The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]\n"},"timezone":{"type":"string","description":"The time zone for the time window of a privileged approval\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["days","endTime","endTimeCron","startTime","startTimeCron","timezone"]}}},"zpa:index/PRAConsolePraApplication:PRAConsolePraApplication":{"properties":{"id":{"type":"string"}},"type":"object","required":["id"]},"zpa:index/PRAConsolePraPortal:PRAConsolePraPortal":{"properties":{"ids":{"type":"array","items":{"type":"string"},"description":"The unique identifier of the privileged portal\n"}},"type":"object"},"zpa:index/PolicyAccessCapabilitiesRuleCondition:PolicyAccessCapabilitiesRuleCondition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRuleConditionOperand:PolicyAccessCapabilitiesRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operands","operator"]}}},"zpa:index/PolicyAccessCapabilitiesRuleConditionOperand:PolicyAccessCapabilitiesRuleConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRuleConditionOperandEntryValue:PolicyAccessCapabilitiesRuleConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["entryValues","objectType"]}}},"zpa:index/PolicyAccessCapabilitiesRuleConditionOperandEntryValue:PolicyAccessCapabilitiesRuleConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessCapabilitiesRulePrivilegedCapabilities:PolicyAccessCapabilitiesRulePrivilegedCapabilities":{"properties":{"clipboardCopy":{"type":"boolean","description":"Indicates the PRA Clipboard Copy function\n"},"clipboardPaste":{"type":"boolean","description":"Indicates the PRA Clipboard Paste function\n"},"fileDownload":{"type":"boolean","description":"Indicates the PRA File Transfer capabilities that enables the File Download function\n"},"fileUpload":{"type":"boolean","description":"Indicates the PRA File Transfer capabilities that enables the File Upload function\n"},"inspectFileDownload":{"type":"boolean","description":"Inspects the file via ZIA sandbox (if you have set up the ZIA cloud and the Integrations settings) and downloads the file following the inspection\n"},"inspectFileUpload":{"type":"boolean","description":"Inspects the file via ZIA sandbox (if you have set up the ZIA cloud and the Integrations settings) and uploads the file following the inspection\n"},"monitorSession":{"type":"boolean","description":"Indicates the PRA Monitoring Capabilities to enable the PRA Session Monitoring function\n"},"recordSession":{"type":"boolean","description":"Indicates the PRA Session Recording capabilities to enable PRA Session Recording\n"},"shareSession":{"type":"boolean","description":"Indicates the PRA Session Control and Monitoring capabilities to enable PRA Session Monitoring\n"}},"type":"object"},"zpa:index/PolicyAccessCredentialRuleCondition:PolicyAccessCredentialRuleCondition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleConditionOperand:PolicyAccessCredentialRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operands","operator"]}}},"zpa:index/PolicyAccessCredentialRuleConditionOperand:PolicyAccessCredentialRuleConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleConditionOperandEntryValue:PolicyAccessCredentialRuleConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["entryValues","objectType"]}}},"zpa:index/PolicyAccessCredentialRuleConditionOperandEntryValue:PolicyAccessCredentialRuleConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessCredentialRuleCredential:PolicyAccessCredentialRuleCredential":{"properties":{"id":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessCredentialRuleCredentialPool:PolicyAccessCredentialRuleCredentialPool":{"properties":{"id":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessForwardingRuleCondition:PolicyAccessForwardingRuleCondition":{"properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleConditionOperand:PolicyAccessForwardingRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","required":["operator"],"language":{"nodejs":{"requiredOutputs":["id","microtenantId","operator"]}}},"zpa:index/PolicyAccessForwardingRuleConditionOperand:PolicyAccessForwardingRuleConditionOperand":{"properties":{"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string","description":"This signifies the key for the object type. String ID example: id\n"},"microtenantId":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"name":{"type":"string"},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"rhs":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"rhsLists":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","required":["lhs","objectType"],"language":{"nodejs":{"requiredOutputs":["id","idpId","lhs","microtenantId","name","objectType","rhs","rhsLists"]}}},"zpa:index/PolicyAccessForwardingRuleV2Condition:PolicyAccessForwardingRuleV2Condition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleV2ConditionOperand:PolicyAccessForwardingRuleV2ConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operands","operator"]}}},"zpa:index/PolicyAccessForwardingRuleV2ConditionOperand:PolicyAccessForwardingRuleV2ConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleV2ConditionOperandEntryValue:PolicyAccessForwardingRuleV2ConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["entryValues","objectType"]}}},"zpa:index/PolicyAccessForwardingRuleV2ConditionOperandEntryValue:PolicyAccessForwardingRuleV2ConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessInspectionRuleCondition:PolicyAccessInspectionRuleCondition":{"properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleConditionOperand:PolicyAccessInspectionRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","required":["operator"],"language":{"nodejs":{"requiredOutputs":["id","microtenantId","operator"]}}},"zpa:index/PolicyAccessInspectionRuleConditionOperand:PolicyAccessInspectionRuleConditionOperand":{"properties":{"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string","description":"This signifies the key for the object type. String ID example: id\n"},"microtenantId":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"name":{"type":"string"},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"rhs":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"rhsLists":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","required":["lhs","objectType"],"language":{"nodejs":{"requiredOutputs":["id","idpId","lhs","microtenantId","name","objectType","rhs","rhsLists"]}}},"zpa:index/PolicyAccessInspectionRuleV2Condition:PolicyAccessInspectionRuleV2Condition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleV2ConditionOperand:PolicyAccessInspectionRuleV2ConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operands","operator"]}}},"zpa:index/PolicyAccessInspectionRuleV2ConditionOperand:PolicyAccessInspectionRuleV2ConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleV2ConditionOperandEntryValue:PolicyAccessInspectionRuleV2ConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["entryValues","objectType"]}}},"zpa:index/PolicyAccessInspectionRuleV2ConditionOperandEntryValue:PolicyAccessInspectionRuleV2ConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessIsolationRuleCondition:PolicyAccessIsolationRuleCondition":{"properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleConditionOperand:PolicyAccessIsolationRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","required":["operator"],"language":{"nodejs":{"requiredOutputs":["id","microtenantId","operator"]}}},"zpa:index/PolicyAccessIsolationRuleConditionOperand:PolicyAccessIsolationRuleConditionOperand":{"properties":{"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string","description":"This signifies the key for the object type. String ID example: id\n"},"microtenantId":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"name":{"type":"string"},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"rhs":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"rhsLists":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","required":["lhs","objectType"],"language":{"nodejs":{"requiredOutputs":["id","idpId","lhs","microtenantId","name","objectType","rhs","rhsLists"]}}},"zpa:index/PolicyAccessIsolationRuleV2Condition:PolicyAccessIsolationRuleV2Condition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleV2ConditionOperand:PolicyAccessIsolationRuleV2ConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operands","operator"]}}},"zpa:index/PolicyAccessIsolationRuleV2ConditionOperand:PolicyAccessIsolationRuleV2ConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleV2ConditionOperandEntryValue:PolicyAccessIsolationRuleV2ConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["entryValues","objectType"]}}},"zpa:index/PolicyAccessIsolationRuleV2ConditionOperandEntryValue:PolicyAccessIsolationRuleV2ConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessRedirectionRuleCondition:PolicyAccessRedirectionRuleCondition":{"properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRedirectionRuleConditionOperand:PolicyAccessRedirectionRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","required":["operator"],"language":{"nodejs":{"requiredOutputs":["id","microtenantId","operator"]}}},"zpa:index/PolicyAccessRedirectionRuleConditionOperand:PolicyAccessRedirectionRuleConditionOperand":{"properties":{"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string","description":"This signifies the key for the object type. String ID example: id\n"},"microtenantId":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"name":{"type":"string"},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"rhs":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"rhsLists":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","required":["lhs","objectType"],"language":{"nodejs":{"requiredOutputs":["id","idpId","lhs","microtenantId","name","objectType","rhs","rhsLists"]}}},"zpa:index/PolicyAccessRedirectionRuleServiceEdgeGroup:PolicyAccessRedirectionRuleServiceEdgeGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/PolicyAccessReorderRuleRule:PolicyAccessReorderRuleRule":{"properties":{"id":{"type":"string"},"order":{"type":"string"}},"type":"object","required":["id","order"]},"zpa:index/PolicyAccessRuleAppConnectorGroup:PolicyAccessRuleAppConnectorGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/PolicyAccessRuleAppServerGroup:PolicyAccessRuleAppServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/PolicyAccessRuleCondition:PolicyAccessRuleCondition":{"properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleConditionOperand:PolicyAccessRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string","description":"Supported values: `AND`, `OR`\n"}},"type":"object","required":["operator"],"language":{"nodejs":{"requiredOutputs":["id","microtenantId","operator"]}}},"zpa:index/PolicyAccessRuleConditionOperand:PolicyAccessRuleConditionOperand":{"properties":{"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string","description":"This signifies the key for the object type. String ID example: id\n"},"microtenantId":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"rhs":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"rhsLists":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","required":["lhs","objectType"],"language":{"nodejs":{"requiredOutputs":["id","idpId","lhs","microtenantId","name","objectType","rhs","rhsLists"]}}},"zpa:index/PolicyAccessRuleV2AppConnectorGroup:PolicyAccessRuleV2AppConnectorGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/PolicyAccessRuleV2AppServerGroup:PolicyAccessRuleV2AppServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/PolicyAccessRuleV2Condition:PolicyAccessRuleV2Condition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2ConditionOperand:PolicyAccessRuleV2ConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id"]}}},"zpa:index/PolicyAccessRuleV2ConditionOperand:PolicyAccessRuleV2ConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2ConditionOperandEntryValue:PolicyAccessRuleV2ConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object"},"zpa:index/PolicyAccessRuleV2ConditionOperandEntryValue:PolicyAccessRuleV2ConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyAccessRuleV2ExtranetDto:PolicyAccessRuleV2ExtranetDto":{"properties":{"locationDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2ExtranetDtoLocationDto:PolicyAccessRuleV2ExtranetDtoLocationDto"},"description":"List of location DTOs.\n"},"locationGroupDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2ExtranetDtoLocationGroupDto:PolicyAccessRuleV2ExtranetDtoLocationGroupDto"},"description":"List of location group DTOs.\n"},"zpnErId":{"type":"string","description":"ZPN Extranet Resource ID.\n"}},"type":"object"},"zpa:index/PolicyAccessRuleV2ExtranetDtoLocationDto:PolicyAccessRuleV2ExtranetDtoLocationDto":{"properties":{"id":{"type":"string","description":"Location ID.\n"}},"type":"object","required":["id"]},"zpa:index/PolicyAccessRuleV2ExtranetDtoLocationGroupDto:PolicyAccessRuleV2ExtranetDtoLocationGroupDto":{"properties":{"id":{"type":"string","description":"Location Group ID.\n"}},"type":"object","required":["id"]},"zpa:index/PolicyAccessTimeOutRuleCondition:PolicyAccessTimeOutRuleCondition":{"properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleConditionOperand:PolicyAccessTimeOutRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","required":["operator"],"language":{"nodejs":{"requiredOutputs":["id","microtenantId","operator"]}}},"zpa:index/PolicyAccessTimeOutRuleConditionOperand:PolicyAccessTimeOutRuleConditionOperand":{"properties":{"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string","description":"This signifies the key for the object type. String ID example: id\n"},"microtenantId":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"name":{"type":"string"},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"rhs":{"type":"string","description":"This denotes the value for the given object type. Its value depends upon the key.\n"},"rhsLists":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","required":["lhs","objectType"],"language":{"nodejs":{"requiredOutputs":["id","idpId","lhs","microtenantId","name","objectType","rhs","rhsLists"]}}},"zpa:index/PolicyAccessTimeOutRuleV2Condition:PolicyAccessTimeOutRuleV2Condition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleV2ConditionOperand:PolicyAccessTimeOutRuleV2ConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operands","operator"]}}},"zpa:index/PolicyAccessTimeOutRuleV2ConditionOperand:PolicyAccessTimeOutRuleV2ConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleV2ConditionOperandEntryValue:PolicyAccessTimeOutRuleV2ConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["entryValues","objectType"]}}},"zpa:index/PolicyAccessTimeOutRuleV2ConditionOperandEntryValue:PolicyAccessTimeOutRuleV2ConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyBrowserProtectionRuleCondition:PolicyBrowserProtectionRuleCondition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyBrowserProtectionRuleConditionOperand:PolicyBrowserProtectionRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operands","operator"]}}},"zpa:index/PolicyBrowserProtectionRuleConditionOperand:PolicyBrowserProtectionRuleConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyBrowserProtectionRuleConditionOperandEntryValue:PolicyBrowserProtectionRuleConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["entryValues","objectType"]}}},"zpa:index/PolicyBrowserProtectionRuleConditionOperandEntryValue:PolicyBrowserProtectionRuleConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyPortalAccessRuleCondition:PolicyPortalAccessRuleCondition":{"properties":{"id":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyPortalAccessRuleConditionOperand:PolicyPortalAccessRuleConditionOperand"},"description":"This signifies the various policy criteria.\n"},"operator":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","operator"]}}},"zpa:index/PolicyPortalAccessRuleConditionOperand:PolicyPortalAccessRuleConditionOperand":{"properties":{"entryValues":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyPortalAccessRuleConditionOperandEntryValue:PolicyPortalAccessRuleConditionOperandEntryValue"}},"objectType":{"type":"string","description":"This is for specifying the policy critiera.\n"},"values":{"type":"array","items":{"type":"string"},"description":"This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored\n"}},"type":"object"},"zpa:index/PolicyPortalAccessRuleConditionOperandEntryValue:PolicyPortalAccessRuleConditionOperandEntryValue":{"properties":{"lhs":{"type":"string"},"rhs":{"type":"string"}},"type":"object"},"zpa:index/PolicyPortalAccessRulePrivilegedPortalCapabilities:PolicyPortalAccessRulePrivilegedPortalCapabilities":{"properties":{"accessUninspectedFile":{"type":"boolean","description":"Allows a User like an Admin to see all files marked Uninspected from other users in the tenant.\n"},"deleteFile":{"type":"boolean","description":"Allows a User to delete files to reclaim space. Allowing deletion will prevent auditing of the file.\n"},"requestApprovals":{"type":"boolean","description":"Allows a User to request approvals\n"},"reviewApprovals":{"type":"boolean","description":"Allows a User to review approvals\n"}},"type":"object"},"zpa:index/PraCredentialPoolCredential:PraCredentialPoolCredential":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/SegmentGroupApplication:SegmentGroupApplication":{"properties":{"id":{"type":"string"}},"type":"object"},"zpa:index/ServerGroupAppConnectorGroup:ServerGroupAppConnectorGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ServerGroupApplication:ServerGroupApplication":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/ServerGroupExtranetDto:ServerGroupExtranetDto":{"properties":{"locationDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupExtranetDtoLocationDto:ServerGroupExtranetDtoLocationDto"},"description":"List of location DTOs.\n"},"locationGroupDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupExtranetDtoLocationGroupDto:ServerGroupExtranetDtoLocationGroupDto"},"description":"List of location group DTOs.\n"},"zpnErId":{"type":"string","description":"ZPN Extranet Resource ID.\n"}},"type":"object"},"zpa:index/ServerGroupExtranetDtoLocationDto:ServerGroupExtranetDtoLocationDto":{"properties":{"id":{"type":"string","description":"Location ID.\n"}},"type":"object","required":["id"]},"zpa:index/ServerGroupExtranetDtoLocationGroupDto:ServerGroupExtranetDtoLocationGroupDto":{"properties":{"id":{"type":"string","description":"Location Group ID.\n"}},"type":"object","required":["id"]},"zpa:index/ServerGroupServer:ServerGroupServer":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"]},"zpa:index/ServiceEdgeGroupServiceEdges:ServiceEdgeGroupServiceEdges":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/ServiceEdgeGroupTrustedNetwork:ServiceEdgeGroupTrustedNetwork":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/UserPortalLinkUserPortal:UserPortalLinkUserPortal":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/getAppConnectorControllerAssistantVersion:getAppConnectorControllerAssistantVersion":{"properties":{"appConnectorGroupId":{"type":"string"},"applicationStartTime":{"type":"string"},"brokerId":{"type":"string"},"creationTime":{"type":"string"},"ctrlChannelStatus":{"type":"string"},"currentVersion":{"type":"string"},"disableAutoUpdate":{"type":"boolean"},"expectedVersion":{"type":"string"},"id":{"type":"string"},"lastBrokerConnectTime":{"type":"string"},"lastBrokerDisconnectTime":{"type":"string"},"lastUpgradedTime":{"type":"string"},"latitude":{"type":"string"},"loneWarrior":{"type":"boolean"},"longitude":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"mtunnelId":{"type":"string"},"platform":{"type":"string"},"platformDetail":{"type":"string"},"previousVersion":{"type":"string"},"privateIp":{"type":"string"},"publicIp":{"type":"string"},"restartTimeInSec":{"type":"string"},"runtimeOs":{"type":"string"},"sargeVersion":{"type":"string"},"systemStartTime":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeNowOnce":{"type":"boolean"},"upgradeStatus":{"type":"string"}},"type":"object","required":["appConnectorGroupId","applicationStartTime","brokerId","creationTime","ctrlChannelStatus","currentVersion","disableAutoUpdate","expectedVersion","id","lastBrokerConnectTime","lastBrokerDisconnectTime","lastUpgradedTime","latitude","loneWarrior","longitude","modifiedBy","modifiedTime","mtunnelId","platform","platformDetail","previousVersion","privateIp","publicIp","restartTimeInSec","runtimeOs","sargeVersion","systemStartTime","upgradeAttempt","upgradeNowOnce","upgradeStatus"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getAppConnectorControllerZpnSubModuleUpgradeList:getAppConnectorControllerZpnSubModuleUpgradeList":{"properties":{"creationTime":{"type":"string"},"currentVersion":{"type":"string"},"entityGid":{"type":"string"},"entityType":{"type":"string"},"expectedVersion":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"previousVersion":{"type":"string"},"role":{"type":"string"},"upgradeStatus":{"type":"string"},"upgradeTime":{"type":"string"}},"type":"object","required":["creationTime","currentVersion","entityGid","entityType","expectedVersion","id","modifiedBy","modifiedTime","previousVersion","role","upgradeStatus","upgradeTime"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getAppConnectorGroupConnector:getAppConnectorGroupConnector":{"properties":{"appconnectorGroupId":{"type":"string"},"appconnectorGroupName":{"type":"string"},"applicationStartTime":{"type":"string"},"controlChannelStatus":{"type":"string"},"creationTime":{"type":"string"},"ctrlBrokerName":{"type":"string"},"currentVersion":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"enrollmentCert":{"type":"object","additionalProperties":{"type":"string"}},"expectedUpgradeTime":{"type":"string"},"expectedVersion":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string"},"ipacl":{"type":"string"},"issuedCertId":{"type":"string"},"lastBrokerConnectTime":{"type":"string"},"lastBrokerConnectTimeDuration":{"type":"string"},"lastBrokerDisconnectTime":{"type":"string"},"lastBrokerDisconnectTimeDuration":{"type":"string"},"lastUpgradeTime":{"type":"string"},"latitude":{"type":"string"},"location":{"type":"string"},"longitude":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"platform":{"type":"string"},"previousVersion":{"type":"string"},"privateIp":{"type":"string"},"provisioningKeyId":{"type":"string"},"provisioningKeyName":{"type":"string"},"publicIp":{"type":"string"},"sargeVersion":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeStatus":{"type":"string"}},"type":"object","required":["appconnectorGroupId","appconnectorGroupName","applicationStartTime","controlChannelStatus","creationTime","ctrlBrokerName","currentVersion","description","enabled","enrollmentCert","expectedUpgradeTime","expectedVersion","fingerprint","id","ipacl","issuedCertId","lastBrokerConnectTime","lastBrokerConnectTimeDuration","lastBrokerDisconnectTime","lastBrokerDisconnectTimeDuration","lastUpgradeTime","latitude","location","longitude","modifiedTime","modifiedby","name","platform","previousVersion","privateIp","provisioningKeyId","provisioningKeyName","publicIp","sargeVersion","upgradeAttempt","upgradeStatus"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getAppConnectorGroupServerGroup:getAppConnectorGroupServerGroup":{"properties":{"configSpace":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"dynamicDiscovery":{"type":"boolean"},"enabled":{"type":"boolean"},"id":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["configSpace","creationTime","description","dynamicDiscovery","enabled","id","modifiedTime","modifiedby","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentBrowserAccessClientlessApp:getApplicationSegmentBrowserAccessClientlessApp":{"properties":{"allowOptions":{"type":"boolean"},"appId":{"type":"string"},"applicationPort":{"type":"string"},"applicationProtocol":{"type":"string"},"certificateId":{"type":"string"},"certificateName":{"type":"string"},"cname":{"type":"string"},"description":{"type":"string"},"domain":{"type":"string"},"enabled":{"type":"boolean"},"extDomain":{"type":"string","description":"The external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal.\n"},"extLabel":{"type":"string","description":"The domain prefix for the privileged portal URL. The supported string can include numbers, lower case characters, and only supports a hyphen (-).\n"},"hidden":{"type":"boolean"},"id":{"type":"string","description":"- (String) This field defines the id of the application server.\n"},"localDomain":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the server.\n"},"path":{"type":"string"},"trustUntrustedCert":{"type":"boolean"}},"type":"object","required":["allowOptions","appId","applicationPort","applicationProtocol","certificateId","certificateName","cname","description","domain","enabled","hidden","id","localDomain","microtenantId","name","path","trustUntrustedCert"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentBrowserAccessServerGroup:getApplicationSegmentBrowserAccessServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"},"description":"- (String) This field defines the id of the application server.\n"}},"type":"object","required":["ids"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentBrowserAccessTcpPortRange:getApplicationSegmentBrowserAccessTcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentBrowserAccessUdpPortRange:getApplicationSegmentBrowserAccessUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentInspectionInspectionApp:getApplicationSegmentInspectionInspectionApp":{"properties":{"appId":{"type":"string"},"applicationPort":{"type":"string"},"applicationProtocol":{"type":"string"},"certificateId":{"type":"string"},"certificateName":{"type":"string"},"description":{"type":"string"},"domain":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"trustedUntrustedCert":{"type":"boolean"}},"type":"object","required":["appId","applicationPort","applicationProtocol","certificateId","certificateName","description","domain","enabled","id","name","trustedUntrustedCert"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentInspectionServerGroup:getApplicationSegmentInspectionServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentInspectionTcpPortRange:getApplicationSegmentInspectionTcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentInspectionUdpPortRange:getApplicationSegmentInspectionUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentMultimatchBulkUnsupportedReference:getApplicationSegmentMultimatchBulkUnsupportedReference":{"properties":{"appSegmentName":{"type":"string","description":"Application segment name.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"List of domain names for this segment.\n"},"id":{"type":"string","description":"Application segment ID.\n"},"matchStyle":{"type":"string","description":"Current match style of the segment (EXCLUSIVE or INCLUSIVE).\n"},"microtenantName":{"type":"string","description":"Microtenant name associated with this segment.\n"},"tcpPorts":{"type":"array","items":{"type":"string"},"description":"List of TCP ports for this segment.\n"}},"type":"object","required":["appSegmentName","domains","id","matchStyle","microtenantName","tcpPorts"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentPRAServerGroup:getApplicationSegmentPRAServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentPRASraApp:getApplicationSegmentPRASraApp":{"properties":{"appId":{"type":"string"},"applicationPort":{"type":"string"},"applicationProtocol":{"type":"string"},"certificateId":{"type":"string"},"certificateName":{"type":"string"},"connectionSecurity":{"type":"string"},"description":{"type":"string"},"domain":{"type":"string"},"enabled":{"type":"boolean"},"hidden":{"type":"boolean"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"},"portal":{"type":"boolean"}},"type":"object","required":["appId","applicationPort","applicationProtocol","certificateId","certificateName","connectionSecurity","description","domain","enabled","hidden","id","microtenantId","microtenantName","name","portal"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentPRATcpPortRange:getApplicationSegmentPRATcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentPRAUdpPortRange:getApplicationSegmentPRAUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentServerGroup:getApplicationSegmentServerGroup":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object","required":["ids"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getApplicationSegmentTcpPortRange:getApplicationSegmentTcpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentUdpPortRange:getApplicationSegmentUdpPortRange":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"zpa:index/getApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping:getApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping":{"properties":{"id":{"type":"string","description":"Server group mapping identifier.\n"},"name":{"type":"string","description":"Server group name.\n"},"passive":{"type":"boolean","description":"Whether the server group is passive.\n"},"weight":{"type":"string","description":"Assigned weight for the server group.\n"}},"type":"object","required":["id","name","passive","weight"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getBrowserProtectionCriteria:getBrowserProtectionCriteria":{"properties":{"fingerPrintCriterias":{"type":"array","items":{"$ref":"#/types/zpa:index/getBrowserProtectionCriteriaFingerPrintCriteria:getBrowserProtectionCriteriaFingerPrintCriteria"}}},"type":"object","required":["fingerPrintCriterias"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getBrowserProtectionCriteriaFingerPrintCriteria:getBrowserProtectionCriteriaFingerPrintCriteria":{"properties":{"browsers":{"type":"array","items":{"$ref":"#/types/zpa:index/getBrowserProtectionCriteriaFingerPrintCriteriaBrowser:getBrowserProtectionCriteriaFingerPrintCriteriaBrowser"}},"collectLocation":{"type":"boolean"},"fingerprintTimeout":{"type":"string"},"locations":{"type":"array","items":{"$ref":"#/types/zpa:index/getBrowserProtectionCriteriaFingerPrintCriteriaLocation:getBrowserProtectionCriteriaFingerPrintCriteriaLocation"}},"systems":{"type":"array","items":{"$ref":"#/types/zpa:index/getBrowserProtectionCriteriaFingerPrintCriteriaSystem:getBrowserProtectionCriteriaFingerPrintCriteriaSystem"}}},"type":"object","required":["browsers","collectLocation","fingerprintTimeout","locations","systems"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getBrowserProtectionCriteriaFingerPrintCriteriaBrowser:getBrowserProtectionCriteriaFingerPrintCriteriaBrowser":{"properties":{"browserEng":{"type":"boolean"},"browserEngVer":{"type":"boolean"},"browserName":{"type":"boolean"},"browserVersion":{"type":"boolean"},"canvas":{"type":"boolean"},"flashVer":{"type":"boolean"},"fpUsrAgentStr":{"type":"boolean"},"isCookie":{"type":"boolean"},"isLocalStorage":{"type":"boolean"},"isSessStorage":{"type":"boolean"},"ja3":{"type":"boolean"},"mime":{"type":"boolean"},"plugin":{"type":"boolean"},"silverlightVer":{"type":"boolean"}},"type":"object","required":["browserEng","browserEngVer","browserName","browserVersion","canvas","flashVer","fpUsrAgentStr","isCookie","isLocalStorage","isSessStorage","ja3","mime","plugin","silverlightVer"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getBrowserProtectionCriteriaFingerPrintCriteriaLocation:getBrowserProtectionCriteriaFingerPrintCriteriaLocation":{"properties":{"lat":{"type":"boolean"},"lon":{"type":"boolean"}},"type":"object","required":["lat","lon"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getBrowserProtectionCriteriaFingerPrintCriteriaSystem:getBrowserProtectionCriteriaFingerPrintCriteriaSystem":{"properties":{"availScreenResolution":{"type":"boolean"},"cpuArch":{"type":"boolean"},"currScreenResolution":{"type":"boolean"},"font":{"type":"boolean"},"javaVer":{"type":"boolean"},"mobileDevType":{"type":"boolean"},"monitorMobile":{"type":"boolean"},"osName":{"type":"boolean"},"osVersion":{"type":"boolean"},"sysLang":{"type":"boolean"},"tz":{"type":"boolean"},"usrLang":{"type":"boolean"}},"type":"object","required":["availScreenResolution","cpuArch","currScreenResolution","font","javaVer","mobileDevType","monitorMobile","osName","osVersion","sysLang","tz","usrLang"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudBrowserIsolationExternalProfileDebugMode:getCloudBrowserIsolationExternalProfileDebugMode":{"properties":{"allowed":{"type":"boolean"},"filePassword":{"type":"string"}},"type":"object","required":["allowed","filePassword"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudBrowserIsolationExternalProfileRegion:getCloudBrowserIsolationExternalProfileRegion":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudBrowserIsolationExternalProfileSecurityControl:getCloudBrowserIsolationExternalProfileSecurityControl":{"properties":{"allowPrinting":{"type":"boolean"},"copyPaste":{"type":"string"},"deepLinks":{"type":"array","items":{"$ref":"#/types/zpa:index/getCloudBrowserIsolationExternalProfileSecurityControlDeepLink:getCloudBrowserIsolationExternalProfileSecurityControlDeepLink"}},"documentViewer":{"type":"boolean"},"flattenedPdf":{"type":"boolean"},"localRender":{"type":"boolean"},"restrictKeystrokes":{"type":"boolean"},"uploadDownload":{"type":"string"},"watermarks":{"type":"array","items":{"$ref":"#/types/zpa:index/getCloudBrowserIsolationExternalProfileSecurityControlWatermark:getCloudBrowserIsolationExternalProfileSecurityControlWatermark"}}},"type":"object","required":["allowPrinting","copyPaste","deepLinks","documentViewer","flattenedPdf","localRender","restrictKeystrokes","uploadDownload","watermarks"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudBrowserIsolationExternalProfileSecurityControlDeepLink:getCloudBrowserIsolationExternalProfileSecurityControlDeepLink":{"properties":{"applications":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"}},"type":"object","required":["applications","enabled"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudBrowserIsolationExternalProfileSecurityControlWatermark:getCloudBrowserIsolationExternalProfileSecurityControlWatermark":{"properties":{"enabled":{"type":"boolean"},"message":{"type":"string"},"showMessage":{"type":"boolean"},"showTimestamp":{"type":"boolean"},"showUserId":{"type":"boolean"}},"type":"object","required":["enabled","message","showMessage","showTimestamp","showUserId"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudBrowserIsolationExternalProfileUserExperience:getCloudBrowserIsolationExternalProfileUserExperience":{"properties":{"browserInBrowser":{"type":"boolean"},"forwardToZias":{"type":"array","items":{"$ref":"#/types/zpa:index/getCloudBrowserIsolationExternalProfileUserExperienceForwardToZia:getCloudBrowserIsolationExternalProfileUserExperienceForwardToZia"}},"persistIsolationBar":{"type":"boolean"},"sessionPersistence":{"type":"boolean"},"translate":{"type":"boolean"},"zgpu":{"type":"boolean"}},"type":"object","required":["browserInBrowser","forwardToZias","persistIsolationBar","sessionPersistence","translate"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudBrowserIsolationExternalProfileUserExperienceForwardToZia:getCloudBrowserIsolationExternalProfileUserExperienceForwardToZia":{"properties":{"cloudName":{"type":"string"},"enabled":{"type":"boolean"},"organizationId":{"type":"string"},"pacFileUrl":{"type":"string"}},"type":"object","required":["cloudName","enabled","organizationId","pacFileUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCloudConnectorGroupCloudConnector:getCloudConnectorGroupCloudConnector":{"properties":{"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"fingerprint":{"type":"string"},"id":{"type":"string"},"ipacls":{"type":"array","items":{"$ref":"pulumi.json#/Any"}},"issuedCertId":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"signingCert":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["creationTime","description","enabled","fingerprint","id","ipacls","issuedCertId","modifiedTime","modifiedby","name","signingCert"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCredentialPoolCredential:getCredentialPoolCredential":{"properties":{"ids":{"type":"array","items":{"type":"string"}}},"type":"object"},"zpa:index/getCustomerVersionProfileCustomScopeCustomerId:getCustomerVersionProfileCustomScopeCustomerId":{"properties":{"customerId":{"type":"string"},"excludeConstellation":{"type":"boolean"},"isPartner":{"type":"boolean"},"name":{"type":"string"}},"type":"object","required":["customerId","excludeConstellation","isPartner","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCustomerVersionProfileCustomScopeRequestCustomerId:getCustomerVersionProfileCustomScopeRequestCustomerId":{"properties":{"addCustomerIds":{"type":"array","items":{"type":"string"}},"deleteCustomerIds":{"type":"array","items":{"type":"string"}}},"type":"object","required":["addCustomerIds","deleteCustomerIds"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getCustomerVersionProfileVersion:getCustomerVersionProfileVersion":{"properties":{"creationTime":{"type":"string"},"customerId":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"platform":{"type":"string"},"restartAfterUptimeInDays":{"type":"string"},"role":{"type":"string"},"version":{"type":"string"},"versionProfileGid":{"type":"string"}},"type":"object","required":["creationTime","customerId","id","modifiedBy","modifiedTime","platform","restartAfterUptimeInDays","role","version","versionProfileGid"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getIdPControllerAdminMetadata:getIdPControllerAdminMetadata":{"properties":{"certificateUrl":{"type":"string"},"spBaseUrl":{"type":"string"},"spEntityId":{"type":"string"},"spMetadataUrl":{"type":"string"},"spPostUrl":{"type":"string"}},"type":"object","required":["certificateUrl","spBaseUrl","spEntityId","spMetadataUrl","spPostUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getIdPControllerUserMetadata:getIdPControllerUserMetadata":{"properties":{"certificateUrl":{"type":"string"},"spBaseUrl":{"type":"string"},"spEntityId":{"type":"string"},"spMetadataUrl":{"type":"string"},"spPostUrl":{"type":"string"}},"type":"object","required":["certificateUrl","spBaseUrl","spEntityId","spMetadataUrl","spPostUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionAllPredefinedControlsList:getInspectionAllPredefinedControlsList":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"associatedInspectionProfileNames":{"type":"array","items":{"$ref":"#/types/zpa:index/getInspectionAllPredefinedControlsListAssociatedInspectionProfileName:getInspectionAllPredefinedControlsListAssociatedInspectionProfileName"}},"attachment":{"type":"string"},"controlGroup":{"type":"string"},"controlNumber":{"type":"string"},"controlType":{"type":"string"},"creationTime":{"type":"string"},"defaultAction":{"type":"string"},"defaultActionValue":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"paranoiaLevel":{"type":"string"},"protocolType":{"type":"string"},"severity":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["action","actionValue","associatedInspectionProfileNames","attachment","controlGroup","controlNumber","controlType","creationTime","defaultAction","defaultActionValue","description","id","modifiedTime","modifiedby","name","paranoiaLevel","protocolType","severity","version"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionAllPredefinedControlsListAssociatedInspectionProfileName:getInspectionAllPredefinedControlsListAssociatedInspectionProfileName":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionCustomControlsRule:getInspectionCustomControlsRule":{"properties":{"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/getInspectionCustomControlsRuleCondition:getInspectionCustomControlsRuleCondition"}},"names":{"type":"array","items":{"type":"string"},"description":"Name of the rules. If rules.type is set to REQUEST_HEADERS, REQUEST_COOKIES, or RESPONSE_HEADERS, the rules.name field is required.\n"},"type":{"type":"string"}},"type":"object","required":["conditions","names","type"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionCustomControlsRuleCondition:getInspectionCustomControlsRuleCondition":{"properties":{"lhs":{"type":"string"},"op":{"type":"string"},"rhs":{"type":"string"}},"type":"object","required":["lhs","op","rhs"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionPredefinedControlsAssociatedInspectionProfileName:getInspectionPredefinedControlsAssociatedInspectionProfileName":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfileControlsInfo:getInspectionProfileControlsInfo":{"properties":{"controlType":{"type":"string"},"count":{"type":"string"}},"type":"object","required":["controlType","count"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfileCustomControl:getInspectionProfileCustomControl":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"associatedInspectionProfileNames":{"type":"array","items":{"$ref":"#/types/zpa:index/getInspectionProfileCustomControlAssociatedInspectionProfileName:getInspectionProfileCustomControlAssociatedInspectionProfileName"}},"controlNumber":{"type":"string"},"controlRuleJson":{"type":"string"},"creationTime":{"type":"string"},"defaultAction":{"type":"string"},"defaultActionValue":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the inspection profile.\n"},"paranoiaLevel":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/zpa:index/getInspectionProfileCustomControlRule:getInspectionProfileCustomControlRule"}},"severity":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["action","actionValue","associatedInspectionProfileNames","controlNumber","controlRuleJson","creationTime","defaultAction","defaultActionValue","description","id","modifiedBy","modifiedTime","name","paranoiaLevel","rules","severity","type","version"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfileCustomControlAssociatedInspectionProfileName:getInspectionProfileCustomControlAssociatedInspectionProfileName":{"properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the inspection profile.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfileCustomControlRule:getInspectionProfileCustomControlRule":{"properties":{"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/getInspectionProfileCustomControlRuleCondition:getInspectionProfileCustomControlRuleCondition"}},"names":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["conditions","names","type"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfileCustomControlRuleCondition:getInspectionProfileCustomControlRuleCondition":{"properties":{"lhs":{"type":"string"},"op":{"type":"string"},"rhs":{"type":"string"}},"type":"object","required":["lhs","op","rhs"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfilePredefinedControl:getInspectionProfilePredefinedControl":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"associatedInspectionProfileNames":{"type":"array","items":{"$ref":"#/types/zpa:index/getInspectionProfilePredefinedControlAssociatedInspectionProfileName:getInspectionProfilePredefinedControlAssociatedInspectionProfileName"}},"attachment":{"type":"string"},"controlGroup":{"type":"string"},"controlNumber":{"type":"string"},"controlType":{"type":"string"},"creationTime":{"type":"string"},"defaultAction":{"type":"string"},"defaultActionValue":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the inspection profile.\n"},"paranoiaLevel":{"type":"string"},"severity":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["action","actionValue","associatedInspectionProfileNames","attachment","controlGroup","controlNumber","controlType","creationTime","defaultAction","defaultActionValue","description","id","modifiedBy","modifiedTime","name","paranoiaLevel","severity","version"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfilePredefinedControlAssociatedInspectionProfileName:getInspectionProfilePredefinedControlAssociatedInspectionProfileName":{"properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the inspection profile.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfileWebSocketControl:getInspectionProfileWebSocketControl":{"properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"associatedInspectionProfileNames":{"type":"array","items":{"$ref":"#/types/zpa:index/getInspectionProfileWebSocketControlAssociatedInspectionProfileName:getInspectionProfileWebSocketControlAssociatedInspectionProfileName"}},"attachment":{"type":"string"},"controlGroup":{"type":"string"},"controlNumber":{"type":"string"},"controlType":{"type":"string"},"creationTime":{"type":"string"},"defaultAction":{"type":"string"},"defaultActionValue":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the inspection profile.\n"},"paranoiaLevel":{"type":"string"},"protocolType":{"type":"string"},"severity":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["action","actionValue","associatedInspectionProfileNames","attachment","controlGroup","controlNumber","controlType","creationTime","defaultAction","defaultActionValue","description","id","modifiedBy","modifiedTime","name","paranoiaLevel","protocolType","severity","version"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getInspectionProfileWebSocketControlAssociatedInspectionProfileName:getInspectionProfileWebSocketControlAssociatedInspectionProfileName":{"properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the inspection profile.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getLSSConfigControllerConfig:getLSSConfigControllerConfig":{"properties":{"auditMessage":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"filters":{"type":"array","items":{"type":"string"}},"format":{"type":"string"},"id":{"type":"string"},"lssHost":{"type":"string"},"lssPort":{"type":"string"},"name":{"type":"string"},"sourceLogType":{"type":"string"},"useTls":{"type":"boolean"}},"type":"object","required":["auditMessage","description","enabled","filters","format","id","lssHost","lssPort","name","sourceLogType","useTls"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getLSSConfigControllerConnectorGroup:getLSSConfigControllerConnectorGroup":{"properties":{"id":{"type":"string"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getLSSConfigControllerPolicyRule:getLSSConfigControllerPolicyRule":{"properties":{"action":{"type":"string"},"actionId":{"type":"string"},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/getLSSConfigControllerPolicyRuleCondition:getLSSConfigControllerPolicyRuleCondition"}},"creationTime":{"type":"string"},"customMsg":{"type":"string"},"defaultRule":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"isolationDefaultRule":{"type":"boolean"},"lssDefaultRule":{"type":"boolean"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"},"ruleOrder":{"type":"string"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnInspectionProfileName":{"type":"string"}},"type":"object","required":["action","actionId","bypassDefaultRule","conditions","creationTime","customMsg","defaultRule","description","id","isolationDefaultRule","lssDefaultRule","modifiedTime","modifiedby","name","operator","policySetId","policyType","priority","reauthDefaultRule","reauthIdleTimeout","reauthTimeout","ruleOrder","zpnCbiProfileId","zpnInspectionProfileId","zpnInspectionProfileName"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getLSSConfigControllerPolicyRuleCondition:getLSSConfigControllerPolicyRuleCondition":{"properties":{"creationTime":{"type":"string"},"id":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/getLSSConfigControllerPolicyRuleConditionOperand:getLSSConfigControllerPolicyRuleConditionOperand"}},"operator":{"type":"string"}},"type":"object","required":["creationTime","id","modifiedTime","modifiedby","operands","operator"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getLSSConfigControllerPolicyRuleConditionOperand:getLSSConfigControllerPolicyRuleConditionOperand":{"properties":{"creationTime":{"type":"string"},"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"objectType":{"type":"string"},"operator":{"type":"string"},"rhs":{"type":"string"}},"type":"object","required":["creationTime","id","idpId","lhs","modifiedTime","modifiedby","name","objectType","operator","rhs"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getLocationGroupControllerZiaLocation:getLocationGroupControllerZiaLocation":{"properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["enabled","id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getMachineGroupMachine:getMachineGroupMachine":{"properties":{"creationTime":{"type":"string"},"description":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string"},"issuedCertId":{"type":"string"},"machineGroupId":{"type":"string"},"machineGroupName":{"type":"string"},"machineTokenId":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"signingCert":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["creationTime","description","fingerprint","id","issuedCertId","machineGroupId","machineGroupName","machineTokenId","modifiedBy","modifiedTime","name","signingCert"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getManagedBrowserProfileChromePostureProfile:getManagedBrowserProfileChromePostureProfile":{"properties":{"browserType":{"type":"string"},"creationTime":{"type":"string"},"crowdStrikeAgent":{"type":"boolean"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"}},"type":"object","required":["browserType","creationTime","crowdStrikeAgent","id","modifiedBy","modifiedTime"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getMicrotenantRole:getMicrotenantRole":{"properties":{"customRole":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string","description":"- (Required) Name of the microtenant controller.\n"}},"type":"object","required":["customRole","id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getMicrotenantUser:getMicrotenantUser":{"properties":{"comments":{"type":"string"},"creationTime":{"type":"string"},"customerId":{"type":"string"},"deliveryTag":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"email":{"type":"string"},"enabled":{"type":"boolean"},"eula":{"type":"string"},"forcePwdChange":{"type":"boolean"},"groupIds":{"type":"array","items":{"type":"string"}},"iamUserId":{"type":"string"},"id":{"type":"string"},"isEnabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"languageCode":{"type":"string"},"localLoginDisabled":{"type":"boolean"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedTime":{"type":"integer"},"modifiedby":{"type":"integer"},"name":{"type":"string","description":"- (Required) Name of the microtenant controller.\n"},"oneIdentityUser":{"type":"boolean"},"operationType":{"type":"string"},"password":{"type":"string"},"phoneNumber":{"type":"boolean"},"pinSession":{"type":"string"},"roleId":{"type":"boolean"},"syncVersion":{"type":"string"},"timezone":{"type":"string"},"tmpPassword":{"type":"string"},"tokenId":{"type":"string"},"twoFactorAuthEnabled":{"type":"boolean"},"twoFactorAuthType":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["comments","creationTime","customerId","deliveryTag","description","displayName","email","enabled","eula","forcePwdChange","groupIds","iamUserId","id","isEnabled","isLocked","languageCode","localLoginDisabled","microtenantId","microtenantName","modifiedTime","modifiedby","name","oneIdentityUser","operationType","password","phoneNumber","pinSession","roleId","syncVersion","timezone","tmpPassword","tokenId","twoFactorAuthEnabled","twoFactorAuthType","username"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getPRAApprovalApplication:getPRAApprovalApplication":{"properties":{"id":{"type":"string","description":"The unique identifier of the pra application segment\n"},"name":{"type":"string","description":"The name of the pra application segment\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getPRAApprovalWorkingHour:getPRAApprovalWorkingHour":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"The days of the week that you want to enable the privileged approval\n"},"endTime":{"type":"string","description":"The end time that the user no longer has access to the privileged approval\n"},"endTimeCron":{"type":"string","description":"The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]\n"},"startTime":{"type":"string","description":"The start time that the user has access to the privileged approval\n"},"startTimeCron":{"type":"string","description":"The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]\n"},"timezone":{"type":"string","description":"The time zone for the time window of a privileged approval\n"}},"type":"object","required":["days","endTime","endTimeCron","startTime","startTimeCron","timezone"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getPRAConsolePraApplication:getPRAConsolePraApplication":{"properties":{"id":{"type":"string","description":"The unique identifier of the Privileged Remote Access-enabled application\n"},"name":{"type":"string","description":"- (Required) The name of the privileged console.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getPRAConsolePraPortal:getPRAConsolePraPortal":{"properties":{"id":{"type":"string","description":"The unique identifier of the privileged portal\n"},"name":{"type":"string","description":"- (Required) The name of the privileged console.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getPolicyTypeRule:getPolicyTypeRule":{"properties":{"action":{"type":"string"},"actionId":{"type":"string"},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/getPolicyTypeRuleCondition:getPolicyTypeRuleCondition"}},"creationTime":{"type":"string"},"customMsg":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"isolationDefaultRule":{"type":"boolean"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"},"ruleOrder":{"type":"string"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"}},"type":"object","required":["action","actionId","bypassDefaultRule","conditions","creationTime","customMsg","description","id","isolationDefaultRule","modifiedBy","modifiedTime","name","operator","policySetId","policyType","priority","reauthDefaultRule","reauthIdleTimeout","reauthTimeout","ruleOrder","zpnCbiProfileId","zpnInspectionProfileId"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getPolicyTypeRuleCondition:getPolicyTypeRuleCondition":{"properties":{"creationTime":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"operands":{"type":"array","items":{"$ref":"#/types/zpa:index/getPolicyTypeRuleConditionOperand:getPolicyTypeRuleConditionOperand"}},"operator":{"type":"string"}},"type":"object","required":["creationTime","id","modifiedBy","modifiedTime","operands","operator"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getPolicyTypeRuleConditionOperand:getPolicyTypeRuleConditionOperand":{"properties":{"creationTime":{"type":"string"},"id":{"type":"string"},"idpId":{"type":"string"},"lhs":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"objectType":{"type":"string"},"operator":{"type":"string"},"rhs":{"type":"string"}},"type":"object","required":["creationTime","id","idpId","lhs","modifiedBy","modifiedTime","name","objectType","operator","rhs"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getSegmentGroupApplication:getSegmentGroupApplication":{"properties":{"bypassType":{"type":"string"},"configSpace":{"type":"string"},"creationTime":{"type":"string"},"defaultIdleTimeout":{"type":"string"},"defaultMaxAge":{"type":"string"},"description":{"type":"string"},"domainName":{"type":"string"},"domainNames":{"type":"array","items":{"type":"string"}},"doubleEncrypt":{"type":"boolean"},"enabled":{"type":"boolean"},"healthCheckType":{"type":"string"},"id":{"type":"string"},"ipAnchored":{"type":"boolean"},"logFeatures":{"type":"array","items":{"type":"string"}},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"passiveHealthEnabled":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/getSegmentGroupApplicationServerGroup:getSegmentGroupApplicationServerGroup"}},"tcpPortRanges":{"type":"array","items":{"type":"string"}},"tcpPortsIns":{"type":"array","items":{"type":"string"}},"tcpPortsOuts":{"type":"array","items":{"type":"string"}},"udpPortRanges":{"type":"array","items":{"type":"string"}}},"type":"object","required":["bypassType","configSpace","creationTime","defaultIdleTimeout","defaultMaxAge","description","domainName","domainNames","doubleEncrypt","enabled","healthCheckType","id","ipAnchored","logFeatures","modifiedBy","modifiedTime","name","passiveHealthEnabled","serverGroups","tcpPortRanges","tcpPortsIns","tcpPortsOuts","udpPortRanges"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getSegmentGroupApplicationServerGroup:getSegmentGroupApplicationServerGroup":{"properties":{"configSpace":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"dynamicDiscovery":{"type":"boolean"},"enabled":{"type":"boolean"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["configSpace","creationTime","description","dynamicDiscovery","enabled","id","modifiedBy","modifiedTime","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServerGroupAppConnectorGroup:getServerGroupAppConnectorGroup":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServerGroupApplication:getServerGroupApplication":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServerGroupServer:getServerGroupServer":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServiceEdgeControllerPrivateBrokerVersion:getServiceEdgeControllerPrivateBrokerVersion":{"properties":{"applicationStartTime":{"type":"string"},"brokerId":{"type":"string"},"creationTime":{"type":"string"},"currentVersion":{"type":"string"},"disableAutoUpdate":{"type":"boolean"},"id":{"type":"string"},"lastConnectTime":{"type":"string"},"lastDisconnectTime":{"type":"string"},"lastUpgradedTime":{"type":"string"},"loneWarrior":{"type":"boolean"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"platform":{"type":"string"},"platformDetail":{"type":"string"},"previousVersion":{"type":"string"},"privateIp":{"type":"string"},"publicIp":{"type":"string"},"restartInstructions":{"type":"string"},"restartTimeInSec":{"type":"string"},"runtimeOs":{"type":"string"},"sargeVersion":{"type":"string"},"serviceEdgeGroupId":{"type":"string"},"systemStartTime":{"type":"string"},"tunnelId":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeNowOnce":{"type":"boolean"},"upgradeStatus":{"type":"string"},"zpnSubModuleUpgrades":{"type":"array","items":{"$ref":"#/types/zpa:index/getServiceEdgeControllerPrivateBrokerVersionZpnSubModuleUpgrade:getServiceEdgeControllerPrivateBrokerVersionZpnSubModuleUpgrade"}}},"type":"object","required":["applicationStartTime","brokerId","creationTime","currentVersion","disableAutoUpdate","id","lastConnectTime","lastDisconnectTime","lastUpgradedTime","loneWarrior","modifiedBy","modifiedTime","platform","platformDetail","previousVersion","privateIp","publicIp","restartInstructions","restartTimeInSec","runtimeOs","sargeVersion","serviceEdgeGroupId","systemStartTime","tunnelId","upgradeAttempt","upgradeNowOnce","upgradeStatus","zpnSubModuleUpgrades"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServiceEdgeControllerPrivateBrokerVersionZpnSubModuleUpgrade:getServiceEdgeControllerPrivateBrokerVersionZpnSubModuleUpgrade":{"properties":{"creationTime":{"type":"string"},"currentVersion":{"type":"string"},"entityGid":{"type":"string"},"entityType":{"type":"string"},"expectedVersion":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"previousVersion":{"type":"string"},"role":{"type":"string"},"upgradeStatus":{"type":"string"},"upgradeTime":{"type":"string"}},"type":"object","required":["creationTime","currentVersion","entityGid","entityType","expectedVersion","id","modifiedBy","modifiedTime","previousVersion","role","upgradeStatus","upgradeTime"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServiceEdgeGroupServiceEdge:getServiceEdgeGroupServiceEdge":{"properties":{"applicationStartTime":{"type":"string"},"controlChannelStatus":{"type":"string"},"creationTime":{"type":"string"},"ctrlBrokerName":{"type":"string"},"currentVersion":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"enrollmentCert":{"type":"object","additionalProperties":{"type":"string"}},"expectedUpgradeTime":{"type":"string"},"expectedVersion":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string"},"ipAcl":{"type":"string"},"issuedCertId":{"type":"string"},"lastBrokerConnectTime":{"type":"string"},"lastBrokerConnectTimeDuration":{"type":"string"},"lastBrokerDisconnectTime":{"type":"string"},"lastBrokerDisconnectTimeDuration":{"type":"string"},"lastUpgradeTime":{"type":"string"},"latitude":{"type":"string"},"listenIps":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"longitude":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"platform":{"type":"string"},"previousVersion":{"type":"string"},"privateBrokerVersions":{"type":"array","items":{"$ref":"#/types/zpa:index/getServiceEdgeGroupServiceEdgePrivateBrokerVersion:getServiceEdgeGroupServiceEdgePrivateBrokerVersion"}},"privateIp":{"type":"string"},"provisioningKeyId":{"type":"string"},"provisioningKeyName":{"type":"string"},"publicIp":{"type":"string"},"publishIps":{"type":"array","items":{"type":"string"}},"publishIpv6":{"type":"boolean"},"runtimeOs":{"type":"string"},"sargeVersion":{"type":"string"},"serviceEdgeGroupId":{"type":"string"},"serviceEdgeGroupName":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeStatus":{"type":"string"}},"type":"object","required":["applicationStartTime","controlChannelStatus","creationTime","ctrlBrokerName","currentVersion","description","enabled","enrollmentCert","expectedUpgradeTime","expectedVersion","fingerprint","id","ipAcl","issuedCertId","lastBrokerConnectTime","lastBrokerConnectTimeDuration","lastBrokerDisconnectTime","lastBrokerDisconnectTimeDuration","lastUpgradeTime","latitude","listenIps","location","longitude","modifiedBy","modifiedTime","platform","previousVersion","privateBrokerVersions","privateIp","provisioningKeyId","provisioningKeyName","publicIp","publishIps","publishIpv6","runtimeOs","sargeVersion","serviceEdgeGroupId","serviceEdgeGroupName","upgradeAttempt","upgradeStatus"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServiceEdgeGroupServiceEdgePrivateBrokerVersion:getServiceEdgeGroupServiceEdgePrivateBrokerVersion":{"properties":{"applicationStartTime":{"type":"string"},"brokerId":{"type":"string"},"creationTime":{"type":"string"},"currentVersion":{"type":"string"},"disableAutoUpdate":{"type":"boolean"},"id":{"type":"string"},"lastConnectTime":{"type":"string"},"lastDisconnectTime":{"type":"string"},"lastUpgradedTime":{"type":"string"},"loneWarrior":{"type":"boolean"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"platform":{"type":"string"},"platformDetail":{"type":"string"},"previousVersion":{"type":"string"},"privateIp":{"type":"string"},"publicIp":{"type":"string"},"restartInstructions":{"type":"string"},"restartTimeInSec":{"type":"string"},"runtimeOs":{"type":"string"},"sargeVersion":{"type":"string"},"serviceEdgeGroupId":{"type":"string"},"systemStartTime":{"type":"string"},"tunnelId":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeNowOnce":{"type":"boolean"},"upgradeStatus":{"type":"string"},"zpnSubModuleUpgrades":{"type":"array","items":{"$ref":"#/types/zpa:index/getServiceEdgeGroupServiceEdgePrivateBrokerVersionZpnSubModuleUpgrade:getServiceEdgeGroupServiceEdgePrivateBrokerVersionZpnSubModuleUpgrade"}}},"type":"object","required":["applicationStartTime","brokerId","creationTime","currentVersion","disableAutoUpdate","id","lastConnectTime","lastDisconnectTime","lastUpgradedTime","loneWarrior","modifiedBy","modifiedTime","platform","platformDetail","previousVersion","privateIp","publicIp","restartInstructions","restartTimeInSec","runtimeOs","sargeVersion","serviceEdgeGroupId","systemStartTime","tunnelId","upgradeAttempt","upgradeNowOnce","upgradeStatus","zpnSubModuleUpgrades"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServiceEdgeGroupServiceEdgePrivateBrokerVersionZpnSubModuleUpgrade:getServiceEdgeGroupServiceEdgePrivateBrokerVersionZpnSubModuleUpgrade":{"properties":{"creationTime":{"type":"string"},"currentVersion":{"type":"string"},"entityGid":{"type":"string"},"entityType":{"type":"string"},"expectedVersion":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"previousVersion":{"type":"string"},"role":{"type":"string"},"upgradeStatus":{"type":"string"},"upgradeTime":{"type":"string"}},"type":"object","required":["creationTime","currentVersion","entityGid","entityType","expectedVersion","id","modifiedBy","modifiedTime","previousVersion","role","upgradeStatus","upgradeTime"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getServiceEdgeGroupTrustedNetwork:getServiceEdgeGroupTrustedNetwork":{"properties":{"creationTime":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"},"masterCustomerId":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"networkId":{"type":"string"},"zscalerCloud":{"type":"string"}},"type":"object","required":["creationTime","domain","id","masterCustomerId","modifiedBy","modifiedTime","name","networkId","zscalerCloud"],"language":{"nodejs":{"requiredInputs":[]}}},"zpa:index/getUserPortalLinkUserPortal:getUserPortalLinkUserPortal":{"properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["enabled","id","name"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the zpa package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"backoff":{"type":"boolean","description":"Use exponential back off strategy for rate limits."},"clientId":{"type":"string","description":"zpa client id"},"clientSecret":{"type":"string","description":"zpa client secret","secret":true},"customerId":{"type":"string","description":"zpa customer id","secret":true},"httpProxy":{"type":"string","description":"Alternate HTTP proxy of scheme://hostname or scheme://hostname:port format"},"maxRetries":{"type":"integer","description":"maximum number of retries to attempt before erroring out."},"maxWaitSeconds":{"type":"integer","description":"maximum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled."},"microtenantId":{"type":"string","description":"zpa microtenant ID","secret":true},"minWaitSeconds":{"type":"integer","description":"minimum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled."},"parallelism":{"type":"integer","description":"Number of concurrent requests to make within a resource where bulk operations are not possible. Take note of https://help.zscaler.com/zpa/understanding-rate-limiting."},"privateKey":{"type":"string","description":"zpa private key","secret":true},"requestTimeout":{"type":"integer","description":"Timeout for single request (in seconds) which is made to Zscaler, the default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (means no limit is set). The maximum value can be \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e."},"useLegacyClient":{"type":"boolean","description":"Enables interaction with the ZPA legacy API framework"},"vanityDomain":{"type":"string","description":"Zscaler Vanity Domain","secret":true},"zpaClientId":{"type":"string","description":"zpa client id"},"zpaClientSecret":{"type":"string","description":"zpa client secret","secret":true},"zpaCloud":{"type":"string","description":"Cloud to use PRODUCTION, ZPATWO, BETA, GOV, GOVUS, PREVIEW, DEV, QA, QA2"},"zpaCustomerId":{"type":"string","description":"zpa customer id","secret":true},"zscalerCloud":{"type":"string","description":"Zscaler Cloud Name","secret":true}},"inputProperties":{"backoff":{"type":"boolean","description":"Use exponential back off strategy for rate limits."},"clientId":{"type":"string","description":"zpa client id","defaultInfo":{"environment":["ZSCALER_CLIENT_ID"]}},"clientSecret":{"type":"string","description":"zpa client secret","defaultInfo":{"environment":["ZSCALER_CLIENT_SECRET"]},"secret":true},"customerId":{"type":"string","description":"zpa customer id","defaultInfo":{"environment":["ZPA_CUSTOMER_ID"]},"secret":true},"httpProxy":{"type":"string","description":"Alternate HTTP proxy of scheme://hostname or scheme://hostname:port format"},"maxRetries":{"type":"integer","description":"maximum number of retries to attempt before erroring out."},"maxWaitSeconds":{"type":"integer","description":"maximum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled."},"microtenantId":{"type":"string","description":"zpa microtenant ID","secret":true},"minWaitSeconds":{"type":"integer","description":"minimum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled."},"parallelism":{"type":"integer","description":"Number of concurrent requests to make within a resource where bulk operations are not possible. Take note of https://help.zscaler.com/zpa/understanding-rate-limiting."},"privateKey":{"type":"string","description":"zpa private key","defaultInfo":{"environment":["ZSCALER_PRIVATE_KEY"]},"secret":true},"requestTimeout":{"type":"integer","description":"Timeout for single request (in seconds) which is made to Zscaler, the default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (means no limit is set). The maximum value can be \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e."},"useLegacyClient":{"type":"boolean","description":"Enables interaction with the ZPA legacy API framework","defaultInfo":{"environment":["ZSCALER_USE_LEGACY_CLIENT"]}},"vanityDomain":{"type":"string","description":"Zscaler Vanity Domain","defaultInfo":{"environment":["ZSCALER_VANITY_DOMAIN"]},"secret":true},"zpaClientId":{"type":"string","description":"zpa client id","defaultInfo":{"environment":["ZPA_CLIENT_ID"]}},"zpaClientSecret":{"type":"string","description":"zpa client secret","defaultInfo":{"environment":["ZPA_CLIENT_SECRET"]},"secret":true},"zpaCloud":{"type":"string","description":"Cloud to use PRODUCTION, ZPATWO, BETA, GOV, GOVUS, PREVIEW, DEV, QA, QA2","defaultInfo":{"environment":["ZPA_CLOUD"]}},"zpaCustomerId":{"type":"string","description":"zpa customer id","defaultInfo":{"environment":["ZPA_CUSTOMER_ID"]},"secret":true},"zscalerCloud":{"type":"string","description":"Zscaler Cloud Name","defaultInfo":{"environment":["ZSCALER_CLOUD"]},"secret":true}},"methods":{"terraformConfig":"pulumi:providers:zpa/terraformConfig"}},"resources":{"zpa:index/appConnectorAssistantSchedule:AppConnectorAssistantSchedule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/configuring-app-connectors-settings)\n* [API documentation](https://help.zscaler.com/zpa/configuring-auto-delete-disconnected-app-connectors-using-api)\n\nUse the **zpa_app_connector_assistant_schedule** resource sets the scheduled frequency at which the disconnected App Connectors are eligible for deletion. The supported value for frequency is days. The frequencyInterval field is the number of days after an App Connector disconnects for it to become eligible for deletion. The minimum supported value for frequencyInterval is 5.\n\n\u003e **NOTE** - When enabling the Assistant Schedule for the first time, you must provide the \u003cspan pulumi-lang-nodejs=\"`customerId`\" pulumi-lang-dotnet=\"`CustomerId`\" pulumi-lang-go=\"`customerId`\" pulumi-lang-python=\"`customer_id`\" pulumi-lang-yaml=\"`customerId`\" pulumi-lang-java=\"`customerId`\"\u003e`customer_id`\u003c/span\u003e information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the\u003cspan pulumi-lang-nodejs=\" customerId \" pulumi-lang-dotnet=\" CustomerId \" pulumi-lang-go=\" customerId \" pulumi-lang-python=\" customer_id \" pulumi-lang-yaml=\" customerId \" pulumi-lang-java=\" customerId \"\u003e customer_id \u003c/span\u003eattribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`\n\n## Example Usage\n\n### Defined Customer ID Value\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.AppConnectorAssistantSchedule(\"this\", {\n    customerId: \"123456789101112\",\n    frequency: \"days\",\n    frequencyInterval: \"5\",\n    enabled: true,\n    deleteDisabled: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.AppConnectorAssistantSchedule(\"this\",\n    customer_id=\"123456789101112\",\n    frequency=\"days\",\n    frequency_interval=\"5\",\n    enabled=True,\n    delete_disabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.AppConnectorAssistantSchedule(\"this\", new()\n    {\n        CustomerId = \"123456789101112\",\n        Frequency = \"days\",\n        FrequencyInterval = \"5\",\n        Enabled = true,\n        DeleteDisabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewAppConnectorAssistantSchedule(ctx, \"this\", \u0026zpa.AppConnectorAssistantScheduleArgs{\n\t\t\tCustomerId:        pulumi.String(\"123456789101112\"),\n\t\t\tFrequency:         pulumi.String(\"days\"),\n\t\t\tFrequencyInterval: pulumi.String(\"5\"),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tDeleteDisabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.AppConnectorAssistantSchedule;\nimport com.pulumi.zpa.AppConnectorAssistantScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new AppConnectorAssistantSchedule(\"this\", AppConnectorAssistantScheduleArgs.builder()\n            .customerId(\"123456789101112\")\n            .frequency(\"days\")\n            .frequencyInterval(\"5\")\n            .enabled(true)\n            .deleteDisabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:AppConnectorAssistantSchedule\n    properties:\n      customerId: '123456789101112'\n      frequency: days\n      frequencyInterval: '5'\n      enabled: true\n      deleteDisabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Customer ID Via Environment Variable\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.AppConnectorAssistantSchedule(\"this\", {\n    frequency: \"days\",\n    frequencyInterval: \"5\",\n    enabled: true,\n    deleteDisabled: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.AppConnectorAssistantSchedule(\"this\",\n    frequency=\"days\",\n    frequency_interval=\"5\",\n    enabled=True,\n    delete_disabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.AppConnectorAssistantSchedule(\"this\", new()\n    {\n        Frequency = \"days\",\n        FrequencyInterval = \"5\",\n        Enabled = true,\n        DeleteDisabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewAppConnectorAssistantSchedule(ctx, \"this\", \u0026zpa.AppConnectorAssistantScheduleArgs{\n\t\t\tFrequency:         pulumi.String(\"days\"),\n\t\t\tFrequencyInterval: pulumi.String(\"5\"),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tDeleteDisabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.AppConnectorAssistantSchedule;\nimport com.pulumi.zpa.AppConnectorAssistantScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new AppConnectorAssistantSchedule(\"this\", AppConnectorAssistantScheduleArgs.builder()\n            .frequency(\"days\")\n            .frequencyInterval(\"5\")\n            .enabled(true)\n            .deleteDisabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:AppConnectorAssistantSchedule\n    properties:\n      frequency: days\n      frequencyInterval: '5'\n      enabled: true\n      deleteDisabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport is not currently supported for this resource.\n\n","properties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"}},"required":["customerId"],"inputProperties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering AppConnectorAssistantSchedule resources.\n","properties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"}},"type":"object"}},"zpa:index/applicationSegment:ApplicationSegment":{"description":"\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nApplication Segment can be imported by using `\u003cAPPLICATION SEGMENT ID\u003e` or `\u003cAPPLICATION SEGMENT NAME\u003e` as the import ID.\n\n```sh\n$ pulumi import zpa:index/applicationSegment:ApplicationSegment example \u003capplication_segment_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/applicationSegment:ApplicationSegment example \u003capplication_segment_name\u003e\n```\n\n","properties":{"apiProtectionEnabled":{"type":"boolean","description":"If set to true, designates the application segment for API traffic inspection"},"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"Indicates whether users can bypass ZPA to access applications."},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean","description":"Whether this application is enabled or not."},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"inspectTrafficWithZia":{"type":"boolean","description":"Indicates if Inspect Traffic with ZIA is enabled for the application."},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"matchStyle":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentServerGroup:ApplicationSegmentServerGroup"}},"shareToMicrotenants":{"type":"array","items":{"type":"string"},"description":"Share the Application Segment to microtenants"},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentTcpPortRange:ApplicationSegmentTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentUdpPortRange:ApplicationSegmentUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"weightedLoadBalancing":{"type":"boolean","description":"If set to true, designates the application segment for weighted load balancing"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentZpnErId:ApplicationSegmentZpnErId"}}},"required":["bypassOnReauth","bypassType","domainNames","healthCheckType","isCnameEnabled","matchStyle","name","passiveHealthEnabled","segmentGroupId","segmentGroupName","tcpKeepAlive","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges"],"inputProperties":{"apiProtectionEnabled":{"type":"boolean","description":"If set to true, designates the application segment for API traffic inspection"},"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"Indicates whether users can bypass ZPA to access applications."},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean","description":"Whether this application is enabled or not."},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"inspectTrafficWithZia":{"type":"boolean","description":"Indicates if Inspect Traffic with ZIA is enabled for the application."},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"matchStyle":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean","willReplaceOnChanges":true},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentServerGroup:ApplicationSegmentServerGroup"}},"shareToMicrotenants":{"type":"array","items":{"type":"string"},"description":"Share the Application Segment to microtenants"},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentTcpPortRange:ApplicationSegmentTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentUdpPortRange:ApplicationSegmentUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"weightedLoadBalancing":{"type":"boolean","description":"If set to true, designates the application segment for weighted load balancing"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentZpnErId:ApplicationSegmentZpnErId"}}},"requiredInputs":["domainNames"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSegment resources.\n","properties":{"apiProtectionEnabled":{"type":"boolean","description":"If set to true, designates the application segment for API traffic inspection"},"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"Indicates whether users can bypass ZPA to access applications."},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean","description":"Whether this application is enabled or not."},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"inspectTrafficWithZia":{"type":"boolean","description":"Indicates if Inspect Traffic with ZIA is enabled for the application."},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"matchStyle":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean","willReplaceOnChanges":true},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentServerGroup:ApplicationSegmentServerGroup"}},"shareToMicrotenants":{"type":"array","items":{"type":"string"},"description":"Share the Application Segment to microtenants"},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentTcpPortRange:ApplicationSegmentTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentUdpPortRange:ApplicationSegmentUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"weightedLoadBalancing":{"type":"boolean","description":"If set to true, designates the application segment for weighted load balancing"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentZpnErId:ApplicationSegmentZpnErId"}}},"type":"object"}},"zpa:index/applicationSegmentBrowserAccess:ApplicationSegmentBrowserAccess":{"description":"## Example Usage\n\n### Zscaler Managed Certificate\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Browser Access Certificate\nconst testCert = zpa.getBaCertificate({\n    name: \"sales.acme.com\",\n});\n// ZPA Segment Group resource\nconst exampleSegmentGroup = new zpa.SegmentGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\nconst example = zpa.getAppConnectorGroup({\n    name: \"AWS-Connector\",\n});\n// ZPA Server Group resource\nconst exampleServerGroup = new zpa.ServerGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    dynamicDiscovery: true,\n    appConnectorGroups: [{\n        ids: [example.then(example =\u003e example.id)],\n    }],\n});\n// Create Browser Access Application\nconst browserAccessApps = new zpa.ApplicationSegmentBrowserAccess(\"browser_access_apps\", {\n    name: \"Browser Access Apps\",\n    description: \"Browser Access Apps\",\n    enabled: true,\n    healthReporting: \"ON_ACCESS\",\n    bypassType: \"NEVER\",\n    tcpPortRanges: [\n        \"443\",\n        \"443\",\n    ],\n    domainNames: [\"sales.acme.com\"],\n    segmentGroupId: exampleSegmentGroup.id,\n    clientlessApps: [{\n        name: \"app-ba01.acme.com\",\n        applicationProtocol: \"HTTPS\",\n        applicationPort: \"443\",\n        trustUntrustedCert: true,\n        enabled: true,\n        domain: \"app-ba01.acme.com\",\n        extLabel: \"app-ba01\",\n        extDomain: \"acme.com\",\n    }],\n    serverGroups: [{\n        ids: [exampleServerGroup.id],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve Browser Access Certificate\ntest_cert = zpa.get_ba_certificate(name=\"sales.acme.com\")\n# ZPA Segment Group resource\nexample_segment_group = zpa.SegmentGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\nexample = zpa.get_app_connector_group(name=\"AWS-Connector\")\n# ZPA Server Group resource\nexample_server_group = zpa.ServerGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    dynamic_discovery=True,\n    app_connector_groups=[{\n        \"ids\": [example.id],\n    }])\n# Create Browser Access Application\nbrowser_access_apps = zpa.ApplicationSegmentBrowserAccess(\"browser_access_apps\",\n    name=\"Browser Access Apps\",\n    description=\"Browser Access Apps\",\n    enabled=True,\n    health_reporting=\"ON_ACCESS\",\n    bypass_type=\"NEVER\",\n    tcp_port_ranges=[\n        \"443\",\n        \"443\",\n    ],\n    domain_names=[\"sales.acme.com\"],\n    segment_group_id=example_segment_group.id,\n    clientless_apps=[{\n        \"name\": \"app-ba01.acme.com\",\n        \"application_protocol\": \"HTTPS\",\n        \"application_port\": \"443\",\n        \"trust_untrusted_cert\": True,\n        \"enabled\": True,\n        \"domain\": \"app-ba01.acme.com\",\n        \"ext_label\": \"app-ba01\",\n        \"ext_domain\": \"acme.com\",\n    }],\n    server_groups=[{\n        \"ids\": [example_server_group.id],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Browser Access Certificate\n    var testCert = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"sales.acme.com\",\n    });\n\n    // ZPA Segment Group resource\n    var exampleSegmentGroup = new Zpa.SegmentGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    var example = Zpa.GetAppConnectorGroup.Invoke(new()\n    {\n        Name = \"AWS-Connector\",\n    });\n\n    // ZPA Server Group resource\n    var exampleServerGroup = new Zpa.ServerGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        DynamicDiscovery = true,\n        AppConnectorGroups = new[]\n        {\n            new Zpa.Inputs.ServerGroupAppConnectorGroupArgs\n            {\n                Ids = new[]\n                {\n                    example.Apply(getAppConnectorGroupResult =\u003e getAppConnectorGroupResult.Id),\n                },\n            },\n        },\n    });\n\n    // Create Browser Access Application\n    var browserAccessApps = new Zpa.ApplicationSegmentBrowserAccess(\"browser_access_apps\", new()\n    {\n        Name = \"Browser Access Apps\",\n        Description = \"Browser Access Apps\",\n        Enabled = true,\n        HealthReporting = \"ON_ACCESS\",\n        BypassType = \"NEVER\",\n        TcpPortRanges = new[]\n        {\n            \"443\",\n            \"443\",\n        },\n        DomainNames = new[]\n        {\n            \"sales.acme.com\",\n        },\n        SegmentGroupId = exampleSegmentGroup.Id,\n        ClientlessApps = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentBrowserAccessClientlessAppArgs\n            {\n                Name = \"app-ba01.acme.com\",\n                ApplicationProtocol = \"HTTPS\",\n                ApplicationPort = \"443\",\n                TrustUntrustedCert = true,\n                Enabled = true,\n                Domain = \"app-ba01.acme.com\",\n                ExtLabel = \"app-ba01\",\n                ExtDomain = \"acme.com\",\n            },\n        },\n        ServerGroups = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentBrowserAccessServerGroupArgs\n            {\n                Ids = new[]\n                {\n                    exampleServerGroup.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Browser Access Certificate\n\t\t_, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"sales.acme.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ZPA Segment Group resource\n\t\texampleSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"example\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := zpa.GetAppConnectorGroup(ctx, \u0026zpa.GetAppConnectorGroupArgs{\n\t\t\tName: pulumi.StringRef(\"AWS-Connector\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ZPA Server Group resource\n\t\texampleServerGroup, err := zpa.NewServerGroup(ctx, \"example\", \u0026zpa.ServerGroupArgs{\n\t\t\tName:             pulumi.String(\"Example\"),\n\t\t\tDescription:      pulumi.String(\"Example\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tDynamicDiscovery: pulumi.Bool(true),\n\t\t\tAppConnectorGroups: zpa.ServerGroupAppConnectorGroupArray{\n\t\t\t\t\u0026zpa.ServerGroupAppConnectorGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(example.Id),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Browser Access Application\n\t\t_, err = zpa.NewApplicationSegmentBrowserAccess(ctx, \"browser_access_apps\", \u0026zpa.ApplicationSegmentBrowserAccessArgs{\n\t\t\tName:            pulumi.String(\"Browser Access Apps\"),\n\t\t\tDescription:     pulumi.String(\"Browser Access Apps\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t\tHealthReporting: pulumi.String(\"ON_ACCESS\"),\n\t\t\tBypassType:      pulumi.String(\"NEVER\"),\n\t\t\tTcpPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sales.acme.com\"),\n\t\t\t},\n\t\t\tSegmentGroupId: exampleSegmentGroup.ID(),\n\t\t\tClientlessApps: zpa.ApplicationSegmentBrowserAccessClientlessAppArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentBrowserAccessClientlessAppArgs{\n\t\t\t\t\tName:                pulumi.String(\"app-ba01.acme.com\"),\n\t\t\t\t\tApplicationProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\tApplicationPort:     pulumi.String(\"443\"),\n\t\t\t\t\tTrustUntrustedCert:  pulumi.Bool(true),\n\t\t\t\t\tEnabled:             pulumi.Bool(true),\n\t\t\t\t\tDomain:              pulumi.String(\"app-ba01.acme.com\"),\n\t\t\t\t\tExtLabel:            pulumi.String(\"app-ba01\"),\n\t\t\t\t\tExtDomain:           pulumi.String(\"acme.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServerGroups: zpa.ApplicationSegmentBrowserAccessServerGroupArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentBrowserAccessServerGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\texampleServerGroup.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.inputs.GetAppConnectorGroupArgs;\nimport com.pulumi.zpa.ServerGroup;\nimport com.pulumi.zpa.ServerGroupArgs;\nimport com.pulumi.zpa.inputs.ServerGroupAppConnectorGroupArgs;\nimport com.pulumi.zpa.ApplicationSegmentBrowserAccess;\nimport com.pulumi.zpa.ApplicationSegmentBrowserAccessArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentBrowserAccessClientlessAppArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentBrowserAccessServerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Browser Access Certificate\n        final var testCert = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"sales.acme.com\")\n            .build());\n\n        // ZPA Segment Group resource\n        var exampleSegmentGroup = new SegmentGroup(\"exampleSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        final var example = ZpaFunctions.getAppConnectorGroup(GetAppConnectorGroupArgs.builder()\n            .name(\"AWS-Connector\")\n            .build());\n\n        // ZPA Server Group resource\n        var exampleServerGroup = new ServerGroup(\"exampleServerGroup\", ServerGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .dynamicDiscovery(true)\n            .appConnectorGroups(ServerGroupAppConnectorGroupArgs.builder()\n                .ids(example.id())\n                .build())\n            .build());\n\n        // Create Browser Access Application\n        var browserAccessApps = new ApplicationSegmentBrowserAccess(\"browserAccessApps\", ApplicationSegmentBrowserAccessArgs.builder()\n            .name(\"Browser Access Apps\")\n            .description(\"Browser Access Apps\")\n            .enabled(true)\n            .healthReporting(\"ON_ACCESS\")\n            .bypassType(\"NEVER\")\n            .tcpPortRanges(            \n                \"443\",\n                \"443\")\n            .domainNames(\"sales.acme.com\")\n            .segmentGroupId(exampleSegmentGroup.id())\n            .clientlessApps(ApplicationSegmentBrowserAccessClientlessAppArgs.builder()\n                .name(\"app-ba01.acme.com\")\n                .applicationProtocol(\"HTTPS\")\n                .applicationPort(\"443\")\n                .trustUntrustedCert(true)\n                .enabled(true)\n                .domain(\"app-ba01.acme.com\")\n                .extLabel(\"app-ba01\")\n                .extDomain(\"acme.com\")\n                .build())\n            .serverGroups(ApplicationSegmentBrowserAccessServerGroupArgs.builder()\n                .ids(exampleServerGroup.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Browser Access Application\n  browserAccessApps:\n    type: zpa:ApplicationSegmentBrowserAccess\n    name: browser_access_apps\n    properties:\n      name: Browser Access Apps\n      description: Browser Access Apps\n      enabled: true\n      healthReporting: ON_ACCESS\n      bypassType: NEVER\n      tcpPortRanges:\n        - '443'\n        - '443'\n      domainNames:\n        - sales.acme.com\n      segmentGroupId: ${exampleSegmentGroup.id}\n      clientlessApps:\n        - name: app-ba01.acme.com\n          applicationProtocol: HTTPS\n          applicationPort: '443'\n          trustUntrustedCert: true\n          enabled: true\n          domain: app-ba01.acme.com\n          extLabel: app-ba01\n          extDomain: acme.com\n      serverGroups:\n        - ids:\n            - ${exampleServerGroup.id}\n  # ZPA Segment Group resource\n  exampleSegmentGroup:\n    type: zpa:SegmentGroup\n    name: example\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # ZPA Server Group resource\n  exampleServerGroup:\n    type: zpa:ServerGroup\n    name: example\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      dynamicDiscovery: true\n      appConnectorGroups:\n        - ids:\n            - ${example.id}\nvariables:\n  # Retrieve Browser Access Certificate\n  testCert:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: sales.acme.com\n  example:\n    fn::invoke:\n      function: zpa:getAppConnectorGroup\n      arguments:\n        name: AWS-Connector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**zpa_application_segment_browser_access** Application Segment Browser Access can be imported by using \u003c`BROWSER ACCESS ID`\u003e or `\u003c\u003cBROWSER ACCESS NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/applicationSegmentBrowserAccess:ApplicationSegmentBrowserAccess example \u003cbrowser_access_id\u003e.\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/applicationSegmentBrowserAccess:ApplicationSegmentBrowserAccess example \u003cbrowser_access_name\u003e\n```\n\n","properties":{"bypassType":{"type":"string","description":"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."},"clientlessApps":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessClientlessApp:ApplicationSegmentBrowserAccessClientlessApp"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessServerGroup:ApplicationSegmentBrowserAccessServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessTcpPortRange:ApplicationSegmentBrowserAccessTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessUdpPortRange:ApplicationSegmentBrowserAccessUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessZpnErId:ApplicationSegmentBrowserAccessZpnErId"}}},"required":["clientlessApps","domainNames","enabled","healthCheckType","microtenantId","name","passiveHealthEnabled","segmentGroupId","segmentGroupName","tcpKeepAlive","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges"],"inputProperties":{"bypassType":{"type":"string","description":"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."},"clientlessApps":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessClientlessApp:ApplicationSegmentBrowserAccessClientlessApp"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessServerGroup:ApplicationSegmentBrowserAccessServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessTcpPortRange:ApplicationSegmentBrowserAccessTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessUdpPortRange:ApplicationSegmentBrowserAccessUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessZpnErId:ApplicationSegmentBrowserAccessZpnErId"}}},"requiredInputs":["clientlessApps","domainNames","segmentGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSegmentBrowserAccess resources.\n","properties":{"bypassType":{"type":"string","description":"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."},"clientlessApps":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessClientlessApp:ApplicationSegmentBrowserAccessClientlessApp"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessServerGroup:ApplicationSegmentBrowserAccessServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessTcpPortRange:ApplicationSegmentBrowserAccessTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessUdpPortRange:ApplicationSegmentBrowserAccessUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentBrowserAccessZpnErId:ApplicationSegmentBrowserAccessZpnErId"}}},"type":"object"}},"zpa:index/applicationSegmentInspection:ApplicationSegmentInspection":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-appprotection-applications)\n* [API documentation](https://help.zscaler.com/zpa/configuring-application-segments-using-api)\n\nThe **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`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst jenkins = zpa.getBaCertificate({\n    name: \"jenkins.example.com\",\n});\nconst _this = new zpa.ApplicationSegmentInspection(\"this\", {\n    name: \"ZPA_Inspection_Example\",\n    description: \"ZPA_Inspection_Example\",\n    enabled: true,\n    healthReporting: \"ON_ACCESS\",\n    bypassType: \"NEVER\",\n    isCnameEnabled: true,\n    tcpPortRanges: [\n        \"443\",\n        \"443\",\n    ],\n    domainNames: [\"jenkins.example.com\"],\n    segmentGroupId: thisZpaSegmentGroup.id,\n    serverGroups: [{\n        ids: [thisZpaServerGroup.id],\n    }],\n    commonAppsDtos: [{\n        appsConfigs: [{\n            domain: \"jenkins.example.com\",\n            applicationProtocol: \"HTTPS\",\n            applicationPort: \"443\",\n            certificateId: jenkins.then(jenkins =\u003e jenkins.id),\n            appTypes: [\"INSPECT\"],\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\njenkins = zpa.get_ba_certificate(name=\"jenkins.example.com\")\nthis = zpa.ApplicationSegmentInspection(\"this\",\n    name=\"ZPA_Inspection_Example\",\n    description=\"ZPA_Inspection_Example\",\n    enabled=True,\n    health_reporting=\"ON_ACCESS\",\n    bypass_type=\"NEVER\",\n    is_cname_enabled=True,\n    tcp_port_ranges=[\n        \"443\",\n        \"443\",\n    ],\n    domain_names=[\"jenkins.example.com\"],\n    segment_group_id=this_zpa_segment_group[\"id\"],\n    server_groups=[{\n        \"ids\": [this_zpa_server_group[\"id\"]],\n    }],\n    common_apps_dtos=[{\n        \"apps_configs\": [{\n            \"domain\": \"jenkins.example.com\",\n            \"application_protocol\": \"HTTPS\",\n            \"application_port\": \"443\",\n            \"certificate_id\": jenkins.id,\n            \"app_types\": [\"INSPECT\"],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var jenkins = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"jenkins.example.com\",\n    });\n\n    var @this = new Zpa.ApplicationSegmentInspection(\"this\", new()\n    {\n        Name = \"ZPA_Inspection_Example\",\n        Description = \"ZPA_Inspection_Example\",\n        Enabled = true,\n        HealthReporting = \"ON_ACCESS\",\n        BypassType = \"NEVER\",\n        IsCnameEnabled = true,\n        TcpPortRanges = new[]\n        {\n            \"443\",\n            \"443\",\n        },\n        DomainNames = new[]\n        {\n            \"jenkins.example.com\",\n        },\n        SegmentGroupId = thisZpaSegmentGroup.Id,\n        ServerGroups = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentInspectionServerGroupArgs\n            {\n                Ids = new[]\n                {\n                    thisZpaServerGroup.Id,\n                },\n            },\n        },\n        CommonAppsDtos = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentInspectionCommonAppsDtoArgs\n            {\n                AppsConfigs = new[]\n                {\n                    new Zpa.Inputs.ApplicationSegmentInspectionCommonAppsDtoAppsConfigArgs\n                    {\n                        Domain = \"jenkins.example.com\",\n                        ApplicationProtocol = \"HTTPS\",\n                        ApplicationPort = \"443\",\n                        CertificateId = jenkins.Apply(getBaCertificateResult =\u003e getBaCertificateResult.Id),\n                        AppTypes = new[]\n                        {\n                            \"INSPECT\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tjenkins, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"jenkins.example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewApplicationSegmentInspection(ctx, \"this\", \u0026zpa.ApplicationSegmentInspectionArgs{\n\t\t\tName:            pulumi.String(\"ZPA_Inspection_Example\"),\n\t\t\tDescription:     pulumi.String(\"ZPA_Inspection_Example\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t\tHealthReporting: pulumi.String(\"ON_ACCESS\"),\n\t\t\tBypassType:      pulumi.String(\"NEVER\"),\n\t\t\tIsCnameEnabled:  pulumi.Bool(true),\n\t\t\tTcpPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"jenkins.example.com\"),\n\t\t\t},\n\t\t\tSegmentGroupId: pulumi.Any(thisZpaSegmentGroup.Id),\n\t\t\tServerGroups: zpa.ApplicationSegmentInspectionServerGroupArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentInspectionServerGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthisZpaServerGroup.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCommonAppsDtos: zpa.ApplicationSegmentInspectionCommonAppsDtoArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentInspectionCommonAppsDtoArgs{\n\t\t\t\t\tAppsConfigs: zpa.ApplicationSegmentInspectionCommonAppsDtoAppsConfigArray{\n\t\t\t\t\t\t\u0026zpa.ApplicationSegmentInspectionCommonAppsDtoAppsConfigArgs{\n\t\t\t\t\t\t\tDomain:              pulumi.String(\"jenkins.example.com\"),\n\t\t\t\t\t\t\tApplicationProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\t\tApplicationPort:     pulumi.String(\"443\"),\n\t\t\t\t\t\t\tCertificateId:       pulumi.String(jenkins.Id),\n\t\t\t\t\t\t\tAppTypes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"INSPECT\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport com.pulumi.zpa.ApplicationSegmentInspection;\nimport com.pulumi.zpa.ApplicationSegmentInspectionArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentInspectionServerGroupArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentInspectionCommonAppsDtoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var jenkins = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"jenkins.example.com\")\n            .build());\n\n        var this_ = new ApplicationSegmentInspection(\"this\", ApplicationSegmentInspectionArgs.builder()\n            .name(\"ZPA_Inspection_Example\")\n            .description(\"ZPA_Inspection_Example\")\n            .enabled(true)\n            .healthReporting(\"ON_ACCESS\")\n            .bypassType(\"NEVER\")\n            .isCnameEnabled(true)\n            .tcpPortRanges(            \n                \"443\",\n                \"443\")\n            .domainNames(\"jenkins.example.com\")\n            .segmentGroupId(thisZpaSegmentGroup.id())\n            .serverGroups(ApplicationSegmentInspectionServerGroupArgs.builder()\n                .ids(thisZpaServerGroup.id())\n                .build())\n            .commonAppsDtos(ApplicationSegmentInspectionCommonAppsDtoArgs.builder()\n                .appsConfigs(ApplicationSegmentInspectionCommonAppsDtoAppsConfigArgs.builder()\n                    .domain(\"jenkins.example.com\")\n                    .applicationProtocol(\"HTTPS\")\n                    .applicationPort(\"443\")\n                    .certificateId(jenkins.id())\n                    .appTypes(\"INSPECT\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:ApplicationSegmentInspection\n    properties:\n      name: ZPA_Inspection_Example\n      description: ZPA_Inspection_Example\n      enabled: true\n      healthReporting: ON_ACCESS\n      bypassType: NEVER\n      isCnameEnabled: true\n      tcpPortRanges:\n        - '443'\n        - '443'\n      domainNames:\n        - jenkins.example.com\n      segmentGroupId: ${thisZpaSegmentGroup.id}\n      serverGroups:\n        - ids:\n            - ${thisZpaServerGroup.id}\n      commonAppsDtos:\n        - appsConfigs:\n            - domain: jenkins.example.com\n              applicationProtocol: HTTPS\n              applicationPort: '443'\n              certificateId: ${jenkins.id}\n              appTypes:\n                - INSPECT\nvariables:\n  jenkins:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: jenkins.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nInspection Application Segment can be imported by using `\u003cAPPLICATION SEGMENT ID\u003e` or `\u003cAPPLICATION SEGMENT NAME\u003e` as the import ID.\n\n```sh\n$ pulumi import zpa:index/applicationSegmentInspection:ApplicationSegmentInspection example \u003capplication_segment_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/applicationSegmentInspection:ApplicationSegmentInspection example \u003capplication_segment_name\u003e\n```\n\n","properties":{"adpEnabled":{"type":"boolean","description":"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."},"autoAppProtectEnabled":{"type":"boolean","description":"If autoAppProtectEnabled is set to true, this field indicates if the application segment’s traffic is inspected by AppProtection."},"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"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."},"commonAppsDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionCommonAppsDto:ApplicationSegmentInspectionCommonAppsDto"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionServerGroup:ApplicationSegmentInspectionServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionTcpPortRange:ApplicationSegmentInspectionTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"tcpProtocols":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionUdpPortRange:ApplicationSegmentInspectionUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"udpProtocols":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"useInDrMode":{"type":"boolean"}},"required":["adpEnabled","autoAppProtectEnabled","bypassOnReauth","bypassType","commonAppsDtos","domainNames","doubleEncrypt","enabled","healthCheckType","icmpAccessType","isCnameEnabled","name","passiveHealthEnabled","segmentGroupId","tcpKeepAlive","tcpPortRange","tcpPortRanges","tcpProtocols","udpPortRange","udpPortRanges","udpProtocols"],"inputProperties":{"adpEnabled":{"type":"boolean","description":"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."},"autoAppProtectEnabled":{"type":"boolean","description":"If autoAppProtectEnabled is set to true, this field indicates if the application segment’s traffic is inspected by AppProtection."},"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"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."},"commonAppsDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionCommonAppsDto:ApplicationSegmentInspectionCommonAppsDto"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean","willReplaceOnChanges":true},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionServerGroup:ApplicationSegmentInspectionServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionTcpPortRange:ApplicationSegmentInspectionTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"tcpProtocols":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionUdpPortRange:ApplicationSegmentInspectionUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"udpProtocols":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"useInDrMode":{"type":"boolean"}},"requiredInputs":["domainNames","segmentGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSegmentInspection resources.\n","properties":{"adpEnabled":{"type":"boolean","description":"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."},"autoAppProtectEnabled":{"type":"boolean","description":"If autoAppProtectEnabled is set to true, this field indicates if the application segment’s traffic is inspected by AppProtection."},"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"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."},"commonAppsDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionCommonAppsDto:ApplicationSegmentInspectionCommonAppsDto"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean","willReplaceOnChanges":true},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionServerGroup:ApplicationSegmentInspectionServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionTcpPortRange:ApplicationSegmentInspectionTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"tcpProtocols":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentInspectionUdpPortRange:ApplicationSegmentInspectionUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"udpProtocols":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"useInDrMode":{"type":"boolean"}},"type":"object"}},"zpa:index/applicationSegmentMultimatchBulk:ApplicationSegmentMultimatchBulk":{"description":"* [Official documentation](https://help.zscaler.com/zpa/adding-ip-ranges)\n* [API documentation](https://help.zscaler.com/zpa/adding-ip-ranges)\n\nThe **zpa_application_segment_multimatch_bulk** resource to bulk updates application segment Multimatch in multiple applications.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.ApplicationSegmentMultimatchBulk(\"this\", {\n    applicationIds: [\n        \"72058304855164528\",\n        \"72058304855164536\",\n    ],\n    matchStyle: \"EXCLUSIVE\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.ApplicationSegmentMultimatchBulk(\"this\",\n    application_ids=[\n        \"72058304855164528\",\n        \"72058304855164536\",\n    ],\n    match_style=\"EXCLUSIVE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.ApplicationSegmentMultimatchBulk(\"this\", new()\n    {\n        ApplicationIds = new[]\n        {\n            \"72058304855164528\",\n            \"72058304855164536\",\n        },\n        MatchStyle = \"EXCLUSIVE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewApplicationSegmentMultimatchBulk(ctx, \"this\", \u0026zpa.ApplicationSegmentMultimatchBulkArgs{\n\t\t\tApplicationIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"72058304855164528\"),\n\t\t\t\tpulumi.String(\"72058304855164536\"),\n\t\t\t},\n\t\t\tMatchStyle: pulumi.String(\"EXCLUSIVE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ApplicationSegmentMultimatchBulk;\nimport com.pulumi.zpa.ApplicationSegmentMultimatchBulkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new ApplicationSegmentMultimatchBulk(\"this\", ApplicationSegmentMultimatchBulkArgs.builder()\n            .applicationIds(            \n                \"72058304855164528\",\n                \"72058304855164536\")\n            .matchStyle(\"EXCLUSIVE\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:ApplicationSegmentMultimatchBulk\n    properties:\n      applicationIds:\n        - '72058304855164528'\n        - '72058304855164536'\n      matchStyle: EXCLUSIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"applicationIds":{"type":"array","items":{"type":"string"},"description":"The list of Application Segment IDs\n"},"matchStyle":{"type":"string","description":"Indicates if Multimatch is enabled for the application segment. If enabled (INCLUSIVE), the request allows traffic to match multiple applications. If disabled (EXCLUSIVE), the request allows traffic to match a single application. A domain can only be INCLUSIVE or EXCLUSIVE, and any application segment can only contain inclusive or exclusive domains. Supported values: `EXCLUSIVE` and `INCLUSIVE`\n"}},"required":["applicationIds","matchStyle"],"inputProperties":{"applicationIds":{"type":"array","items":{"type":"string"},"description":"The list of Application Segment IDs\n"},"matchStyle":{"type":"string","description":"Indicates if Multimatch is enabled for the application segment. If enabled (INCLUSIVE), the request allows traffic to match multiple applications. If disabled (EXCLUSIVE), the request allows traffic to match a single application. A domain can only be INCLUSIVE or EXCLUSIVE, and any application segment can only contain inclusive or exclusive domains. Supported values: `EXCLUSIVE` and `INCLUSIVE`\n"}},"requiredInputs":["applicationIds","matchStyle"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSegmentMultimatchBulk resources.\n","properties":{"applicationIds":{"type":"array","items":{"type":"string"},"description":"The list of Application Segment IDs\n"},"matchStyle":{"type":"string","description":"Indicates if Multimatch is enabled for the application segment. If enabled (INCLUSIVE), the request allows traffic to match multiple applications. If disabled (EXCLUSIVE), the request allows traffic to match a single application. A domain can only be INCLUSIVE or EXCLUSIVE, and any application segment can only contain inclusive or exclusive domains. Supported values: `EXCLUSIVE` and `INCLUSIVE`\n"}},"type":"object"}},"zpa:index/applicationSegmentPRA:ApplicationSegmentPRA":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-remote-access-applications)\n* [API documentation](https://help.zscaler.com/zpa/configuring-application-segments-using-api)\n\nThe **zpa_application_segment_pra** resource creates an application segment for Privileged Remote Access in the Zscaler Private Access cloud. This resource can then be referenced in an access policy rule, access policy timeout rule, access policy client forwarding rule and inspection policy. This resource supports Privileged Remote Access for both `RDP` and `SSH`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.ApplicationSegmentPRA(\"this\", {\n    name: \"PRA_Example\",\n    description: \"PRA_Example\",\n    enabled: true,\n    healthReporting: \"ON_ACCESS\",\n    bypassType: \"NEVER\",\n    isCnameEnabled: true,\n    tcpPortRanges: [\n        \"22\",\n        \"22\",\n        \"3389\",\n        \"3389\",\n    ],\n    domainNames: [\n        \"ssh_pra.example.com\",\n        \"rdp_pra.example.com\",\n    ],\n    segmentGroupId: thisZpaSegmentGroup.id,\n    serverGroups: [{\n        ids: [thisZpaServerGroup.id],\n    }],\n    commonAppsDtos: [{\n        appsConfigs: [\n            {\n                domain: \"ssh_pra.example.com\",\n                applicationProtocol: \"SSH\",\n                applicationPort: \"22\",\n                enabled: true,\n                appTypes: [\"SECURE_REMOTE_ACCESS\"],\n            },\n            {\n                domain: \"rdp_pra.example.com\",\n                applicationProtocol: \"RDP\",\n                connectionSecurity: \"ANY\",\n                applicationPort: \"3389\",\n                enabled: true,\n                appTypes: [\"SECURE_REMOTE_ACCESS\"],\n            },\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.ApplicationSegmentPRA(\"this\",\n    name=\"PRA_Example\",\n    description=\"PRA_Example\",\n    enabled=True,\n    health_reporting=\"ON_ACCESS\",\n    bypass_type=\"NEVER\",\n    is_cname_enabled=True,\n    tcp_port_ranges=[\n        \"22\",\n        \"22\",\n        \"3389\",\n        \"3389\",\n    ],\n    domain_names=[\n        \"ssh_pra.example.com\",\n        \"rdp_pra.example.com\",\n    ],\n    segment_group_id=this_zpa_segment_group[\"id\"],\n    server_groups=[{\n        \"ids\": [this_zpa_server_group[\"id\"]],\n    }],\n    common_apps_dtos=[{\n        \"apps_configs\": [\n            {\n                \"domain\": \"ssh_pra.example.com\",\n                \"application_protocol\": \"SSH\",\n                \"application_port\": \"22\",\n                \"enabled\": True,\n                \"app_types\": [\"SECURE_REMOTE_ACCESS\"],\n            },\n            {\n                \"domain\": \"rdp_pra.example.com\",\n                \"application_protocol\": \"RDP\",\n                \"connection_security\": \"ANY\",\n                \"application_port\": \"3389\",\n                \"enabled\": True,\n                \"app_types\": [\"SECURE_REMOTE_ACCESS\"],\n            },\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.ApplicationSegmentPRA(\"this\", new()\n    {\n        Name = \"PRA_Example\",\n        Description = \"PRA_Example\",\n        Enabled = true,\n        HealthReporting = \"ON_ACCESS\",\n        BypassType = \"NEVER\",\n        IsCnameEnabled = true,\n        TcpPortRanges = new[]\n        {\n            \"22\",\n            \"22\",\n            \"3389\",\n            \"3389\",\n        },\n        DomainNames = new[]\n        {\n            \"ssh_pra.example.com\",\n            \"rdp_pra.example.com\",\n        },\n        SegmentGroupId = thisZpaSegmentGroup.Id,\n        ServerGroups = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentPRAServerGroupArgs\n            {\n                Ids = new[]\n                {\n                    thisZpaServerGroup.Id,\n                },\n            },\n        },\n        CommonAppsDtos = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoArgs\n            {\n                AppsConfigs = new[]\n                {\n                    new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs\n                    {\n                        Domain = \"ssh_pra.example.com\",\n                        ApplicationProtocol = \"SSH\",\n                        ApplicationPort = \"22\",\n                        Enabled = true,\n                        AppTypes = new[]\n                        {\n                            \"SECURE_REMOTE_ACCESS\",\n                        },\n                    },\n                    new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs\n                    {\n                        Domain = \"rdp_pra.example.com\",\n                        ApplicationProtocol = \"RDP\",\n                        ConnectionSecurity = \"ANY\",\n                        ApplicationPort = \"3389\",\n                        Enabled = true,\n                        AppTypes = new[]\n                        {\n                            \"SECURE_REMOTE_ACCESS\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewApplicationSegmentPRA(ctx, \"this\", \u0026zpa.ApplicationSegmentPRAArgs{\n\t\t\tName:            pulumi.String(\"PRA_Example\"),\n\t\t\tDescription:     pulumi.String(\"PRA_Example\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t\tHealthReporting: pulumi.String(\"ON_ACCESS\"),\n\t\t\tBypassType:      pulumi.String(\"NEVER\"),\n\t\t\tIsCnameEnabled:  pulumi.Bool(true),\n\t\t\tTcpPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"3389\"),\n\t\t\t\tpulumi.String(\"3389\"),\n\t\t\t},\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ssh_pra.example.com\"),\n\t\t\t\tpulumi.String(\"rdp_pra.example.com\"),\n\t\t\t},\n\t\t\tSegmentGroupId: pulumi.Any(thisZpaSegmentGroup.Id),\n\t\t\tServerGroups: zpa.ApplicationSegmentPRAServerGroupArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentPRAServerGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthisZpaServerGroup.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCommonAppsDtos: zpa.ApplicationSegmentPRACommonAppsDtoArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentPRACommonAppsDtoArgs{\n\t\t\t\t\tAppsConfigs: zpa.ApplicationSegmentPRACommonAppsDtoAppsConfigArray{\n\t\t\t\t\t\t\u0026zpa.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs{\n\t\t\t\t\t\t\tDomain:              pulumi.String(\"ssh_pra.example.com\"),\n\t\t\t\t\t\t\tApplicationProtocol: pulumi.String(\"SSH\"),\n\t\t\t\t\t\t\tApplicationPort:     pulumi.String(\"22\"),\n\t\t\t\t\t\t\tEnabled:             true,\n\t\t\t\t\t\t\tAppTypes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"SECURE_REMOTE_ACCESS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs{\n\t\t\t\t\t\t\tDomain:              pulumi.String(\"rdp_pra.example.com\"),\n\t\t\t\t\t\t\tApplicationProtocol: pulumi.String(\"RDP\"),\n\t\t\t\t\t\t\tConnectionSecurity:  pulumi.String(\"ANY\"),\n\t\t\t\t\t\t\tApplicationPort:     pulumi.String(\"3389\"),\n\t\t\t\t\t\t\tEnabled:             true,\n\t\t\t\t\t\t\tAppTypes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"SECURE_REMOTE_ACCESS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ApplicationSegmentPRA;\nimport com.pulumi.zpa.ApplicationSegmentPRAArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentPRAServerGroupArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentPRACommonAppsDtoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new ApplicationSegmentPRA(\"this\", ApplicationSegmentPRAArgs.builder()\n            .name(\"PRA_Example\")\n            .description(\"PRA_Example\")\n            .enabled(true)\n            .healthReporting(\"ON_ACCESS\")\n            .bypassType(\"NEVER\")\n            .isCnameEnabled(true)\n            .tcpPortRanges(            \n                \"22\",\n                \"22\",\n                \"3389\",\n                \"3389\")\n            .domainNames(            \n                \"ssh_pra.example.com\",\n                \"rdp_pra.example.com\")\n            .segmentGroupId(thisZpaSegmentGroup.id())\n            .serverGroups(ApplicationSegmentPRAServerGroupArgs.builder()\n                .ids(thisZpaServerGroup.id())\n                .build())\n            .commonAppsDtos(ApplicationSegmentPRACommonAppsDtoArgs.builder()\n                .appsConfigs(                \n                    ApplicationSegmentPRACommonAppsDtoAppsConfigArgs.builder()\n                        .domain(\"ssh_pra.example.com\")\n                        .applicationProtocol(\"SSH\")\n                        .applicationPort(\"22\")\n                        .enabled(true)\n                        .appTypes(\"SECURE_REMOTE_ACCESS\")\n                        .build(),\n                    ApplicationSegmentPRACommonAppsDtoAppsConfigArgs.builder()\n                        .domain(\"rdp_pra.example.com\")\n                        .applicationProtocol(\"RDP\")\n                        .connectionSecurity(\"ANY\")\n                        .applicationPort(\"3389\")\n                        .enabled(true)\n                        .appTypes(\"SECURE_REMOTE_ACCESS\")\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:ApplicationSegmentPRA\n    properties:\n      name: PRA_Example\n      description: PRA_Example\n      enabled: true\n      healthReporting: ON_ACCESS\n      bypassType: NEVER\n      isCnameEnabled: true\n      tcpPortRanges:\n        - '22'\n        - '22'\n        - '3389'\n        - '3389'\n      domainNames:\n        - ssh_pra.example.com\n        - rdp_pra.example.com\n      segmentGroupId: ${thisZpaSegmentGroup.id}\n      serverGroups:\n        - ids:\n            - ${thisZpaServerGroup.id}\n      commonAppsDtos:\n        - appsConfigs:\n            - domain: ssh_pra.example.com\n              applicationProtocol: SSH\n              applicationPort: '22'\n              enabled: true\n              appTypes:\n                - SECURE_REMOTE_ACCESS\n            - domain: rdp_pra.example.com\n              applicationProtocol: RDP\n              connectionSecurity: ANY\n              applicationPort: '3389'\n              enabled: true\n              appTypes:\n                - SECURE_REMOTE_ACCESS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nApplication Segment can be imported by using `\u003cAPPLICATION SEGMENT ID\u003e` or `\u003cAPPLICATION SEGMENT NAME\u003e` as the import ID.\n\n```sh\n$ pulumi import zpa:index/applicationSegmentPRA:ApplicationSegmentPRA example \u003capplication_segment_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/applicationSegmentPRA:ApplicationSegmentPRA example \u003capplication_segment_name\u003e\n```\n\n","properties":{"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"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."},"commonAppsDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRACommonAppsDto:ApplicationSegmentPRACommonAppsDto"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAServerGroup:ApplicationSegmentPRAServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRATcpPortRange:ApplicationSegmentPRATcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAUdpPortRange:ApplicationSegmentPRAUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAZpnErId:ApplicationSegmentPRAZpnErId"}}},"required":["bypassOnReauth","bypassType","commonAppsDtos","domainNames","doubleEncrypt","healthCheckType","icmpAccessType","isCnameEnabled","isIncompleteDrConfig","microtenantId","name","passiveHealthEnabled","segmentGroupId","tcpKeepAlive","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges","useInDrMode"],"inputProperties":{"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"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."},"commonAppsDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRACommonAppsDto:ApplicationSegmentPRACommonAppsDto"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAServerGroup:ApplicationSegmentPRAServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRATcpPortRange:ApplicationSegmentPRATcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAUdpPortRange:ApplicationSegmentPRAUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAZpnErId:ApplicationSegmentPRAZpnErId"}}},"requiredInputs":["domainNames","segmentGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSegmentPRA resources.\n","properties":{"bypassOnReauth":{"type":"boolean"},"bypassType":{"type":"string","description":"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."},"commonAppsDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRACommonAppsDto:ApplicationSegmentPRACommonAppsDto"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAServerGroup:ApplicationSegmentPRAServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRATcpPortRange:ApplicationSegmentPRATcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAUdpPortRange:ApplicationSegmentPRAUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentPRAZpnErId:ApplicationSegmentPRAZpnErId"}}},"type":"object"}},"zpa:index/applicationSegmentWeightedlbConfig:ApplicationSegmentWeightedlbConfig":{"description":"Use the **zpa_application_segment_weightedlb_config** resource to create, update, or delete the weighted load balancer configuration for an application segment in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.ApplicationSegmentWeightedlbConfig(\"this\", {\n    applicationName: \"app02\",\n    weightedLoadBalancing: true,\n    applicationToServerGroupMappings: [{\n        name: \"Example100\",\n        weight: \"100\",\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.ApplicationSegmentWeightedlbConfig(\"this\",\n    application_name=\"app02\",\n    weighted_load_balancing=True,\n    application_to_server_group_mappings=[{\n        \"name\": \"Example100\",\n        \"weight\": \"100\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.ApplicationSegmentWeightedlbConfig(\"this\", new()\n    {\n        ApplicationName = \"app02\",\n        WeightedLoadBalancing = true,\n        ApplicationToServerGroupMappings = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentWeightedlbConfigApplicationToServerGroupMappingArgs\n            {\n                Name = \"Example100\",\n                Weight = \"100\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewApplicationSegmentWeightedlbConfig(ctx, \"this\", \u0026zpa.ApplicationSegmentWeightedlbConfigArgs{\n\t\t\tApplicationName:       pulumi.String(\"app02\"),\n\t\t\tWeightedLoadBalancing: pulumi.Bool(true),\n\t\t\tApplicationToServerGroupMappings: zpa.ApplicationSegmentWeightedlbConfigApplicationToServerGroupMappingArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentWeightedlbConfigApplicationToServerGroupMappingArgs{\n\t\t\t\t\tName:   pulumi.String(\"Example100\"),\n\t\t\t\t\tWeight: pulumi.String(\"100\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ApplicationSegmentWeightedlbConfig;\nimport com.pulumi.zpa.ApplicationSegmentWeightedlbConfigArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentWeightedlbConfigApplicationToServerGroupMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new ApplicationSegmentWeightedlbConfig(\"this\", ApplicationSegmentWeightedlbConfigArgs.builder()\n            .applicationName(\"app02\")\n            .weightedLoadBalancing(true)\n            .applicationToServerGroupMappings(ApplicationSegmentWeightedlbConfigApplicationToServerGroupMappingArgs.builder()\n                .name(\"Example100\")\n                .weight(\"100\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:ApplicationSegmentWeightedlbConfig\n    properties:\n      applicationName: app02\n      weightedLoadBalancing: true\n      applicationToServerGroupMappings:\n        - name: Example100\n          weight: '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"applicationId":{"type":"string","description":"Application segment identifier to manage. Either\u003cspan pulumi-lang-nodejs=\" applicationId \" pulumi-lang-dotnet=\" ApplicationId \" pulumi-lang-go=\" applicationId \" pulumi-lang-python=\" application_id \" pulumi-lang-yaml=\" applicationId \" pulumi-lang-java=\" applicationId \"\u003e application_id \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" applicationName \" pulumi-lang-dotnet=\" ApplicationName \" pulumi-lang-go=\" applicationName \" pulumi-lang-python=\" application_name \" pulumi-lang-yaml=\" applicationName \" pulumi-lang-java=\" applicationName \"\u003e application_name \u003c/span\u003emust be provided."},"applicationName":{"type":"string","description":"Application segment name to manage. Either\u003cspan pulumi-lang-nodejs=\" applicationId \" pulumi-lang-dotnet=\" ApplicationId \" pulumi-lang-go=\" applicationId \" pulumi-lang-python=\" application_id \" pulumi-lang-yaml=\" applicationId \" pulumi-lang-java=\" applicationId \"\u003e application_id \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" applicationName \" pulumi-lang-dotnet=\" ApplicationName \" pulumi-lang-go=\" applicationName \" pulumi-lang-python=\" application_name \" pulumi-lang-yaml=\" applicationName \" pulumi-lang-java=\" applicationName \"\u003e application_name \u003c/span\u003emust be provided."},"applicationToServerGroupMappings":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping:ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping"},"description":"Application to server group mapping details and weights."},"microtenantId":{"type":"string","description":"Optional microtenant identifier."},"weightedLoadBalancing":{"type":"boolean","description":"Enable or disable weighted load balancing for the application segment."}},"required":["applicationId","applicationName","applicationToServerGroupMappings","weightedLoadBalancing"],"inputProperties":{"applicationId":{"type":"string","description":"Application segment identifier to manage. Either\u003cspan pulumi-lang-nodejs=\" applicationId \" pulumi-lang-dotnet=\" ApplicationId \" pulumi-lang-go=\" applicationId \" pulumi-lang-python=\" application_id \" pulumi-lang-yaml=\" applicationId \" pulumi-lang-java=\" applicationId \"\u003e application_id \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" applicationName \" pulumi-lang-dotnet=\" ApplicationName \" pulumi-lang-go=\" applicationName \" pulumi-lang-python=\" application_name \" pulumi-lang-yaml=\" applicationName \" pulumi-lang-java=\" applicationName \"\u003e application_name \u003c/span\u003emust be provided."},"applicationName":{"type":"string","description":"Application segment name to manage. Either\u003cspan pulumi-lang-nodejs=\" applicationId \" pulumi-lang-dotnet=\" ApplicationId \" pulumi-lang-go=\" applicationId \" pulumi-lang-python=\" application_id \" pulumi-lang-yaml=\" applicationId \" pulumi-lang-java=\" applicationId \"\u003e application_id \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" applicationName \" pulumi-lang-dotnet=\" ApplicationName \" pulumi-lang-go=\" applicationName \" pulumi-lang-python=\" application_name \" pulumi-lang-yaml=\" applicationName \" pulumi-lang-java=\" applicationName \"\u003e application_name \u003c/span\u003emust be provided."},"applicationToServerGroupMappings":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping:ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping"},"description":"Application to server group mapping details and weights."},"microtenantId":{"type":"string","description":"Optional microtenant identifier."},"weightedLoadBalancing":{"type":"boolean","description":"Enable or disable weighted load balancing for the application segment."}},"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationSegmentWeightedlbConfig resources.\n","properties":{"applicationId":{"type":"string","description":"Application segment identifier to manage. Either\u003cspan pulumi-lang-nodejs=\" applicationId \" pulumi-lang-dotnet=\" ApplicationId \" pulumi-lang-go=\" applicationId \" pulumi-lang-python=\" application_id \" pulumi-lang-yaml=\" applicationId \" pulumi-lang-java=\" applicationId \"\u003e application_id \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" applicationName \" pulumi-lang-dotnet=\" ApplicationName \" pulumi-lang-go=\" applicationName \" pulumi-lang-python=\" application_name \" pulumi-lang-yaml=\" applicationName \" pulumi-lang-java=\" applicationName \"\u003e application_name \u003c/span\u003emust be provided."},"applicationName":{"type":"string","description":"Application segment name to manage. Either\u003cspan pulumi-lang-nodejs=\" applicationId \" pulumi-lang-dotnet=\" ApplicationId \" pulumi-lang-go=\" applicationId \" pulumi-lang-python=\" application_id \" pulumi-lang-yaml=\" applicationId \" pulumi-lang-java=\" applicationId \"\u003e application_id \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" applicationName \" pulumi-lang-dotnet=\" ApplicationName \" pulumi-lang-go=\" applicationName \" pulumi-lang-python=\" application_name \" pulumi-lang-yaml=\" applicationName \" pulumi-lang-java=\" applicationName \"\u003e application_name \u003c/span\u003emust be provided."},"applicationToServerGroupMappings":{"type":"array","items":{"$ref":"#/types/zpa:index/ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping:ApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping"},"description":"Application to server group mapping details and weights."},"microtenantId":{"type":"string","description":"Optional microtenant identifier."},"weightedLoadBalancing":{"type":"boolean","description":"Enable or disable weighted load balancing for the application segment."}},"type":"object"}},"zpa:index/applicationServer:ApplicationServer":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Server resource (IP Address)\nconst testAppServer = new zpa.ApplicationServer(\"test_app_server\", {\n    name: \"test1-app-server\",\n    description: \"test1-app-server\",\n    address: \"192.168.1.1\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Application Server resource (IP Address)\ntest_app_server = zpa.ApplicationServer(\"test_app_server\",\n    name=\"test1-app-server\",\n    description=\"test1-app-server\",\n    address=\"192.168.1.1\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Server resource (IP Address)\n    var testAppServer = new Zpa.ApplicationServer(\"test_app_server\", new()\n    {\n        Name = \"test1-app-server\",\n        Description = \"test1-app-server\",\n        Address = \"192.168.1.1\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Server resource (IP Address)\n\t\t_, err := zpa.NewApplicationServer(ctx, \"test_app_server\", \u0026zpa.ApplicationServerArgs{\n\t\t\tName:        pulumi.String(\"test1-app-server\"),\n\t\t\tDescription: pulumi.String(\"test1-app-server\"),\n\t\t\tAddress:     pulumi.String(\"192.168.1.1\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ApplicationServer;\nimport com.pulumi.zpa.ApplicationServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Server resource (IP Address)\n        var testAppServer = new ApplicationServer(\"testAppServer\", ApplicationServerArgs.builder()\n            .name(\"test1-app-server\")\n            .description(\"test1-app-server\")\n            .address(\"192.168.1.1\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Application Server resource (IP Address)\n  testAppServer:\n    type: zpa:ApplicationServer\n    name: test_app_server\n    properties:\n      name: test1-app-server\n      description: test1-app-server\n      address: 192.168.1.1\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Server resource (FQDN Address)\nconst testAppServer = new zpa.ApplicationServer(\"test_app_server\", {\n    name: \"test1-app-server\",\n    description: \"test1-app-server\",\n    address: \"server1.acme.com\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Application Server resource (FQDN Address)\ntest_app_server = zpa.ApplicationServer(\"test_app_server\",\n    name=\"test1-app-server\",\n    description=\"test1-app-server\",\n    address=\"server1.acme.com\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Server resource (FQDN Address)\n    var testAppServer = new Zpa.ApplicationServer(\"test_app_server\", new()\n    {\n        Name = \"test1-app-server\",\n        Description = \"test1-app-server\",\n        Address = \"server1.acme.com\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Server resource (FQDN Address)\n\t\t_, err := zpa.NewApplicationServer(ctx, \"test_app_server\", \u0026zpa.ApplicationServerArgs{\n\t\t\tName:        pulumi.String(\"test1-app-server\"),\n\t\t\tDescription: pulumi.String(\"test1-app-server\"),\n\t\t\tAddress:     pulumi.String(\"server1.acme.com\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ApplicationServer;\nimport com.pulumi.zpa.ApplicationServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Server resource (FQDN Address)\n        var testAppServer = new ApplicationServer(\"testAppServer\", ApplicationServerArgs.builder()\n            .name(\"test1-app-server\")\n            .description(\"test1-app-server\")\n            .address(\"server1.acme.com\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Application Server resource (FQDN Address)\n  testAppServer:\n    type: zpa:ApplicationServer\n    name: test_app_server\n    properties:\n      name: test1-app-server\n      description: test1-app-server\n      address: server1.acme.com\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst example = zpa.getServerGroup({\n    name: \"Example\",\n});\n// ZPA Application Server resource\nconst testAppServer = new zpa.ApplicationServer(\"test_app_server\", {\n    name: \"test1-app-server\",\n    description: \"test1-app-server\",\n    address: \"192.168.1.1\",\n    enabled: true,\n    appServerGroupIds: [example.then(example =\u003e example.com)],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nexample = zpa.get_server_group(name=\"Example\")\n# ZPA Application Server resource\ntest_app_server = zpa.ApplicationServer(\"test_app_server\",\n    name=\"test1-app-server\",\n    description=\"test1-app-server\",\n    address=\"192.168.1.1\",\n    enabled=True,\n    app_server_group_ids=[example.com])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Zpa.GetServerGroup.Invoke(new()\n    {\n        Name = \"Example\",\n    });\n\n    // ZPA Application Server resource\n    var testAppServer = new Zpa.ApplicationServer(\"test_app_server\", new()\n    {\n        Name = \"test1-app-server\",\n        Description = \"test1-app-server\",\n        Address = \"192.168.1.1\",\n        Enabled = true,\n        AppServerGroupIds = new[]\n        {\n            example.Apply(getServerGroupResult =\u003e getServerGroupResult.Com),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := zpa.LookupServerGroup(ctx, \u0026zpa.LookupServerGroupArgs{\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ZPA Application Server resource\n\t\t_, err = zpa.NewApplicationServer(ctx, \"test_app_server\", \u0026zpa.ApplicationServerArgs{\n\t\t\tName:        pulumi.String(\"test1-app-server\"),\n\t\t\tDescription: pulumi.String(\"test1-app-server\"),\n\t\t\tAddress:     pulumi.String(\"192.168.1.1\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\tAppServerGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.Any(example.Com),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetServerGroupArgs;\nimport com.pulumi.zpa.ApplicationServer;\nimport com.pulumi.zpa.ApplicationServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ZpaFunctions.getServerGroup(GetServerGroupArgs.builder()\n            .name(\"Example\")\n            .build());\n\n        // ZPA Application Server resource\n        var testAppServer = new ApplicationServer(\"testAppServer\", ApplicationServerArgs.builder()\n            .name(\"test1-app-server\")\n            .description(\"test1-app-server\")\n            .address(\"192.168.1.1\")\n            .enabled(true)\n            .appServerGroupIds(example.com())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Application Server resource\n  testAppServer:\n    type: zpa:ApplicationServer\n    name: test_app_server\n    properties:\n      name: test1-app-server\n      description: test1-app-server\n      address: 192.168.1.1\n      enabled: true\n      appServerGroupIds:\n        - ${example.com}\nvariables:\n  example:\n    fn::invoke:\n      function: zpa:getServerGroup\n      arguments:\n        name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nApplication Server can be imported by using `\u003cAPPLICATION SERVER ID\u003e` or `\u003cAPPLICATION SERVER NAME\u003e` as the import ID\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/applicationServer:ApplicationServer example \u003capplication_server_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/applicationServer:ApplicationServer example \u003capplication_server_name\u003e\n```\n\n","properties":{"address":{"type":"string","description":"This field defines the domain or IP address of the server."},"appServerGroupIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of server groups IDs."},"configSpace":{"type":"string"},"description":{"type":"string","description":"This field defines the description of the server."},"enabled":{"type":"boolean","description":"This field defines the status of the server."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This field defines the name of the server."}},"required":["address","appServerGroupIds","description","enabled","microtenantId","name"],"inputProperties":{"address":{"type":"string","description":"This field defines the domain or IP address of the server."},"appServerGroupIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of server groups IDs."},"configSpace":{"type":"string"},"description":{"type":"string","description":"This field defines the description of the server."},"enabled":{"type":"boolean","description":"This field defines the status of the server."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This field defines the name of the server."}},"requiredInputs":["address"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationServer resources.\n","properties":{"address":{"type":"string","description":"This field defines the domain or IP address of the server."},"appServerGroupIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of server groups IDs."},"configSpace":{"type":"string"},"description":{"type":"string","description":"This field defines the description of the server."},"enabled":{"type":"boolean","description":"This field defines the status of the server."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This field defines the name of the server."}},"type":"object"}},"zpa:index/browserAccess:BrowserAccess":{"properties":{"bypassType":{"type":"string","description":"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."},"clientlessApps":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessClientlessApp:BrowserAccessClientlessApp"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessServerGroup:BrowserAccessServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessTcpPortRange:BrowserAccessTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessUdpPortRange:BrowserAccessUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessZpnErId:BrowserAccessZpnErId"}}},"required":["clientlessApps","domainNames","enabled","healthCheckType","microtenantId","name","passiveHealthEnabled","segmentGroupId","segmentGroupName","tcpKeepAlive","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges"],"inputProperties":{"bypassType":{"type":"string","description":"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."},"clientlessApps":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessClientlessApp:BrowserAccessClientlessApp"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessServerGroup:BrowserAccessServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessTcpPortRange:BrowserAccessTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessUdpPortRange:BrowserAccessUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessZpnErId:BrowserAccessZpnErId"}}},"requiredInputs":["clientlessApps","domainNames","segmentGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering BrowserAccess resources.\n","properties":{"bypassType":{"type":"string","description":"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."},"clientlessApps":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessClientlessApp:BrowserAccessClientlessApp"}},"configSpace":{"type":"string"},"description":{"type":"string","description":"Description of the application."},"domainNames":{"type":"array","items":{"type":"string"},"description":"List of domains and IPs."},"doubleEncrypt":{"type":"boolean","description":"Whether Double Encryption is enabled or disabled for the app."},"enabled":{"type":"boolean"},"fqdnDnsCheck":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string","description":"Whether health reporting for the app is Continuous or On Access. Supported values: NONE, ON_ACCESS, CONTINUOUS."},"icmpAccessType":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean","description":"Indicates if the Zscaler Client Connector (formerly Zscaler App or Z App) receives CNAME DNS records from the connectors."},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the application."},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessServerGroup:BrowserAccessServerGroup"}},"tcpKeepAlive":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessTcpPortRange:BrowserAccessTcpPortRange"},"description":"tcp port range"},"tcpPortRanges":{"type":"array","items":{"type":"string"},"description":"TCP port ranges used to access the app."},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessUdpPortRange:BrowserAccessUdpPortRange"},"description":"udp port range"},"udpPortRanges":{"type":"array","items":{"type":"string"},"description":"UDP port ranges used to access the app."},"useInDrMode":{"type":"boolean"},"zpnErIds":{"type":"array","items":{"$ref":"#/types/zpa:index/BrowserAccessZpnErId:BrowserAccessZpnErId"}}},"type":"object"}},"zpa:index/browserCertificate:BrowserCertificate":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-web-server-certificates)\n* [API documentation](https://help.zscaler.com/zpa/configuring-certificates-using-api)\n\nUse the **zpa_ba_certificate** creates a browser access certificate with a private key in the Zscaler Private Access cloud. This resource is required when creating a browser access application segment resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Browser Access Data Source\nconst foo = zpa.getBaCertificate({\n    name: \"example.acme.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Browser Access Data Source\nfoo = zpa.get_ba_certificate(name=\"example.acme.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Browser Access Data Source\n    var foo = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"example.acme.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Browser Access Data Source\n\t\t_, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"example.acme.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Browser Access Data Source\n        final var foo = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"example.acme.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Browser Access Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: example.acme.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n//## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\nconst _this = new zpa.BrowserCertificate(\"this\", {\n    name: \"server.example.com\",\n    description: \"server.example.com\",\n    certBlob: `-----BEGIN PRIVATE KEY-----\nMIIDyzCCArOgA\n-----END PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIIDyzCCArOgAwIBAgIUekBD+iu64583B3u5ew7Bqj2O5cQwDQYJKoZIhvcNAQEL\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n### PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\nthis = zpa.BrowserCertificate(\"this\",\n    name=\"server.example.com\",\n    description=\"server.example.com\",\n    cert_blob=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIDyzCCArOgA\n-----END PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIIDyzCCArOgAwIBAgIUekBD+iu64583B3u5ew7Bqj2O5cQwDQYJKoZIhvcNAQEL\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n    var @this = new Zpa.BrowserCertificate(\"this\", new()\n    {\n        Name = \"server.example.com\",\n        Description = \"server.example.com\",\n        CertBlob = @\"-----BEGIN PRIVATE KEY-----\nMIIDyzCCArOgA\n-----END PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIIDyzCCArOgAwIBAgIUekBD+iu64583B3u5ew7Bqj2O5cQwDQYJKoZIhvcNAQEL\n-----END CERTIFICATE-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n\t\t_, err := zpa.NewBrowserCertificate(ctx, \"this\", \u0026zpa.BrowserCertificateArgs{\n\t\t\tName:        pulumi.String(\"server.example.com\"),\n\t\t\tDescription: pulumi.String(\"server.example.com\"),\n\t\t\tCertBlob: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIDyzCCArOgA\n-----END PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIIDyzCCArOgAwIBAgIUekBD+iu64583B3u5ew7Bqj2O5cQwDQYJKoZIhvcNAQEL\n-----END CERTIFICATE-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.BrowserCertificate;\nimport com.pulumi.zpa.BrowserCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n        var this_ = new BrowserCertificate(\"this\", BrowserCertificateArgs.builder()\n            .name(\"server.example.com\")\n            .description(\"server.example.com\")\n            .certBlob(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIDyzCCArOgA\n-----END PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIIDyzCCArOgAwIBAgIUekBD+iu64583B3u5ew7Bqj2O5cQwDQYJKoZIhvcNAQEL\n-----END CERTIFICATE-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ### PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n  this:\n    type: zpa:BrowserCertificate\n    properties:\n      name: server.example.com\n      description: server.example.com\n      certBlob: |\n        -----BEGIN PRIVATE KEY-----\n        MIIDyzCCArOgA\n        -----END PRIVATE KEY-----\n        -----BEGIN CERTIFICATE-----\n        MIIDyzCCArOgAwIBAgIUekBD+iu64583B3u5ew7Bqj2O5cQwDQYJKoZIhvcNAQEL\n        -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Let's Encrypt Certbot\n\nThis example demonstrates generatoring a domain certificate with letsencrypt\ncertbot https://letsencrypt.org/getting-started/\n\n```\n$ certbot certonly --manual --preferred-challenges dns --key-type rsa -d [DOMAIN]\n```\n\nUse letsencrypt's certbot to generate domain certificates in RSA output mode.\nThe generator's output corresponds to \u003cspan pulumi-lang-nodejs=\"`zpa.BrowserCertificate`\" pulumi-lang-dotnet=\"`zpa.BrowserCertificate`\" pulumi-lang-go=\"`BrowserCertificate`\" pulumi-lang-python=\"`BrowserCertificate`\" pulumi-lang-yaml=\"`zpa.BrowserCertificate`\" pulumi-lang-java=\"`zpa.BrowserCertificate`\"\u003e`zpa.BrowserCertificate`\u003c/span\u003e fields in the\nfollowing manner.\n\nZscaler Field          | Certbot file\n--------------------|--------------\n\u003cspan pulumi-lang-nodejs=\"`certblob`\" pulumi-lang-dotnet=\"`Certblob`\" pulumi-lang-go=\"`certblob`\" pulumi-lang-python=\"`certblob`\" pulumi-lang-yaml=\"`certblob`\" pulumi-lang-java=\"`certblob`\"\u003e`certblob`\u003c/span\u003e          | `cert.pem`\n\u003cspan pulumi-lang-nodejs=\"`certblob`\" pulumi-lang-dotnet=\"`Certblob`\" pulumi-lang-go=\"`certblob`\" pulumi-lang-python=\"`certblob`\" pulumi-lang-yaml=\"`certblob`\" pulumi-lang-java=\"`certblob`\"\u003e`certblob`\u003c/span\u003e          | `privkey.pem`\n\n## Import\n\nThis resource does not support importing.\n\n","properties":{"certBlob":{"type":"string","description":"The description of the certificate"},"certificate":{"type":"string","description":"The certificate text in PEM format"},"description":{"type":"string","description":"The description of the certificate"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant"},"name":{"type":"string","description":"The name of the certificate."}},"required":["certificate","microtenantId","name"],"inputProperties":{"certBlob":{"type":"string","description":"The description of the certificate","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the certificate"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant"},"name":{"type":"string","description":"The name of the certificate."}},"stateInputs":{"description":"Input properties used for looking up and filtering BrowserCertificate resources.\n","properties":{"certBlob":{"type":"string","description":"The description of the certificate","willReplaceOnChanges":true},"certificate":{"type":"string","description":"The certificate text in PEM format"},"description":{"type":"string","description":"The description of the certificate"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant"},"name":{"type":"string","description":"The name of the certificate."}},"type":"object"}},"zpa:index/c2CIPRanges:C2CIPRanges":{"description":"* [Official documentation](https://help.zscaler.com/zpa/adding-ip-ranges)\n* [API documentation](https://help.zscaler.com/zpa/adding-ip-ranges)\n\nThe **zpa_c2c_ip_ranges** resource creates a C2C IP Ranges in the Zscaler Private Access cloud.\n\n## Example Usage\n\n### Using IP Range\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.C2CIPRanges(\"this\", {\n    name: \"Terraform_IP_Range01\",\n    description: \"Terraform_IP_Range01\",\n    enabled: true,\n    locationHint: \"Created_via_Terraform\",\n    ipRangeBegin: \"192.168.1.1\",\n    ipRangeEnd: \"192.168.1.254\",\n    location: \"San Jose, CA, USA\",\n    sccmFlag: true,\n    countryCode: \"US\",\n    latitudeInDb: \"37.33874\",\n    longitudeInDb: \"-121.8852525\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.C2CIPRanges(\"this\",\n    name=\"Terraform_IP_Range01\",\n    description=\"Terraform_IP_Range01\",\n    enabled=True,\n    location_hint=\"Created_via_Terraform\",\n    ip_range_begin=\"192.168.1.1\",\n    ip_range_end=\"192.168.1.254\",\n    location=\"San Jose, CA, USA\",\n    sccm_flag=True,\n    country_code=\"US\",\n    latitude_in_db=\"37.33874\",\n    longitude_in_db=\"-121.8852525\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.C2CIPRanges(\"this\", new()\n    {\n        Name = \"Terraform_IP_Range01\",\n        Description = \"Terraform_IP_Range01\",\n        Enabled = true,\n        LocationHint = \"Created_via_Terraform\",\n        IpRangeBegin = \"192.168.1.1\",\n        IpRangeEnd = \"192.168.1.254\",\n        Location = \"San Jose, CA, USA\",\n        SccmFlag = true,\n        CountryCode = \"US\",\n        LatitudeInDb = \"37.33874\",\n        LongitudeInDb = \"-121.8852525\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewC2CIPRanges(ctx, \"this\", \u0026zpa.C2CIPRangesArgs{\n\t\t\tName:          pulumi.String(\"Terraform_IP_Range01\"),\n\t\t\tDescription:   pulumi.String(\"Terraform_IP_Range01\"),\n\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\tLocationHint:  pulumi.String(\"Created_via_Terraform\"),\n\t\t\tIpRangeBegin:  pulumi.String(\"192.168.1.1\"),\n\t\t\tIpRangeEnd:    pulumi.String(\"192.168.1.254\"),\n\t\t\tLocation:      pulumi.String(\"San Jose, CA, USA\"),\n\t\t\tSccmFlag:      pulumi.Bool(true),\n\t\t\tCountryCode:   pulumi.String(\"US\"),\n\t\t\tLatitudeInDb:  pulumi.String(\"37.33874\"),\n\t\t\tLongitudeInDb: pulumi.String(\"-121.8852525\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.C2CIPRanges;\nimport com.pulumi.zpa.C2CIPRangesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new C2CIPRanges(\"this\", C2CIPRangesArgs.builder()\n            .name(\"Terraform_IP_Range01\")\n            .description(\"Terraform_IP_Range01\")\n            .enabled(true)\n            .locationHint(\"Created_via_Terraform\")\n            .ipRangeBegin(\"192.168.1.1\")\n            .ipRangeEnd(\"192.168.1.254\")\n            .location(\"San Jose, CA, USA\")\n            .sccmFlag(true)\n            .countryCode(\"US\")\n            .latitudeInDb(\"37.33874\")\n            .longitudeInDb(\"-121.8852525\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:C2CIPRanges\n    properties:\n      name: Terraform_IP_Range01\n      description: Terraform_IP_Range01\n      enabled: true\n      locationHint: Created_via_Terraform\n      ipRangeBegin: 192.168.1.1\n      ipRangeEnd: 192.168.1.254\n      location: San Jose, CA, USA\n      sccmFlag: true\n      countryCode: US\n      latitudeInDb: '37.33874'\n      longitudeInDb: '-121.8852525'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Subnet CIDR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.C2CIPRanges(\"this\", {\n    name: \"Terraform_IP_Range01\",\n    description: \"Terraform_IP_Range01\",\n    enabled: true,\n    locationHint: \"Created_via_Terraform\",\n    subnetCidr: \"192.168.1.0/24\",\n    location: \"San Jose, CA, USA\",\n    sccmFlag: true,\n    countryCode: \"US\",\n    latitudeInDb: \"37.33874\",\n    longitudeInDb: \"-121.8852525\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.C2CIPRanges(\"this\",\n    name=\"Terraform_IP_Range01\",\n    description=\"Terraform_IP_Range01\",\n    enabled=True,\n    location_hint=\"Created_via_Terraform\",\n    subnet_cidr=\"192.168.1.0/24\",\n    location=\"San Jose, CA, USA\",\n    sccm_flag=True,\n    country_code=\"US\",\n    latitude_in_db=\"37.33874\",\n    longitude_in_db=\"-121.8852525\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.C2CIPRanges(\"this\", new()\n    {\n        Name = \"Terraform_IP_Range01\",\n        Description = \"Terraform_IP_Range01\",\n        Enabled = true,\n        LocationHint = \"Created_via_Terraform\",\n        SubnetCidr = \"192.168.1.0/24\",\n        Location = \"San Jose, CA, USA\",\n        SccmFlag = true,\n        CountryCode = \"US\",\n        LatitudeInDb = \"37.33874\",\n        LongitudeInDb = \"-121.8852525\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewC2CIPRanges(ctx, \"this\", \u0026zpa.C2CIPRangesArgs{\n\t\t\tName:          pulumi.String(\"Terraform_IP_Range01\"),\n\t\t\tDescription:   pulumi.String(\"Terraform_IP_Range01\"),\n\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\tLocationHint:  pulumi.String(\"Created_via_Terraform\"),\n\t\t\tSubnetCidr:    pulumi.String(\"192.168.1.0/24\"),\n\t\t\tLocation:      pulumi.String(\"San Jose, CA, USA\"),\n\t\t\tSccmFlag:      pulumi.Bool(true),\n\t\t\tCountryCode:   pulumi.String(\"US\"),\n\t\t\tLatitudeInDb:  pulumi.String(\"37.33874\"),\n\t\t\tLongitudeInDb: pulumi.String(\"-121.8852525\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.C2CIPRanges;\nimport com.pulumi.zpa.C2CIPRangesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new C2CIPRanges(\"this\", C2CIPRangesArgs.builder()\n            .name(\"Terraform_IP_Range01\")\n            .description(\"Terraform_IP_Range01\")\n            .enabled(true)\n            .locationHint(\"Created_via_Terraform\")\n            .subnetCidr(\"192.168.1.0/24\")\n            .location(\"San Jose, CA, USA\")\n            .sccmFlag(true)\n            .countryCode(\"US\")\n            .latitudeInDb(\"37.33874\")\n            .longitudeInDb(\"-121.8852525\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:C2CIPRanges\n    properties:\n      name: Terraform_IP_Range01\n      description: Terraform_IP_Range01\n      enabled: true\n      locationHint: Created_via_Terraform\n      subnetCidr: 192.168.1.0/24\n      location: San Jose, CA, USA\n      sccmFlag: true\n      countryCode: US\n      latitudeInDb: '37.33874'\n      longitudeInDb: '-121.8852525'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nC2C IP Ranges can be imported by using `\u003cRANGE ID\u003e` or `\u003cRANGE NAME\u003e` as the import ID\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/c2CIPRanges:C2CIPRanges example \u003crange_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/c2CIPRanges:C2CIPRanges example \u003crange_name\u003e\n```\n\n","properties":{"countryCode":{"type":"string","description":"- Country code for the C2C IP Ranges\n"},"description":{"type":"string","description":"- Description of the C2C IP Ranges\n"},"enabled":{"type":"boolean","description":"- Whether the C2C IP Ranges is enabled\n"},"ipRangeBegin":{"type":"string","description":"- Beginning IP address of the range\n"},"ipRangeEnd":{"type":"string","description":"- Ending IP address of the range\n"},"latitudeInDb":{"type":"string","description":"- Latitude in database for the C2C IP Ranges\n"},"location":{"type":"string","description":"- Location of the C2C IP Ranges\n"},"locationHint":{"type":"string","description":"- Location hint for the C2C IP Ranges\n"},"longitudeInDb":{"type":"string","description":"- Longitude in database for the C2C IP Ranges\n"},"name":{"type":"string","description":"- Name of the C2C IP Ranges\n"},"sccmFlag":{"type":"boolean","description":"- SCCM flag for the C2C IP Ranges\n"},"subnetCidr":{"type":"string","description":"- Subnet CIDR for the C2C IP Ranges\n"}},"required":["ipRangeBegin","ipRangeEnd","name"],"inputProperties":{"countryCode":{"type":"string","description":"- Country code for the C2C IP Ranges\n"},"description":{"type":"string","description":"- Description of the C2C IP Ranges\n"},"enabled":{"type":"boolean","description":"- Whether the C2C IP Ranges is enabled\n"},"ipRangeBegin":{"type":"string","description":"- Beginning IP address of the range\n"},"ipRangeEnd":{"type":"string","description":"- Ending IP address of the range\n"},"latitudeInDb":{"type":"string","description":"- Latitude in database for the C2C IP Ranges\n"},"location":{"type":"string","description":"- Location of the C2C IP Ranges\n"},"locationHint":{"type":"string","description":"- Location hint for the C2C IP Ranges\n"},"longitudeInDb":{"type":"string","description":"- Longitude in database for the C2C IP Ranges\n"},"name":{"type":"string","description":"- Name of the C2C IP Ranges\n"},"sccmFlag":{"type":"boolean","description":"- SCCM flag for the C2C IP Ranges\n"},"subnetCidr":{"type":"string","description":"- Subnet CIDR for the C2C IP Ranges\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering C2CIPRanges resources.\n","properties":{"countryCode":{"type":"string","description":"- Country code for the C2C IP Ranges\n"},"description":{"type":"string","description":"- Description of the C2C IP Ranges\n"},"enabled":{"type":"boolean","description":"- Whether the C2C IP Ranges is enabled\n"},"ipRangeBegin":{"type":"string","description":"- Beginning IP address of the range\n"},"ipRangeEnd":{"type":"string","description":"- Ending IP address of the range\n"},"latitudeInDb":{"type":"string","description":"- Latitude in database for the C2C IP Ranges\n"},"location":{"type":"string","description":"- Location of the C2C IP Ranges\n"},"locationHint":{"type":"string","description":"- Location hint for the C2C IP Ranges\n"},"longitudeInDb":{"type":"string","description":"- Longitude in database for the C2C IP Ranges\n"},"name":{"type":"string","description":"- Name of the C2C IP Ranges\n"},"sccmFlag":{"type":"boolean","description":"- SCCM flag for the C2C IP Ranges\n"},"subnetCidr":{"type":"string","description":"- Subnet CIDR for the C2C IP Ranges\n"}},"type":"object"}},"zpa:index/cloudBrowserIsolationBanner:CloudBrowserIsolationBanner":{"description":"* [Official documentation](https://help.zscaler.com/isolation/adding-banner-theme-isolation-end-user-notification-zpa)\n\nThe **zpa_cloud_browser_isolation_banner** resource creates a Cloud Browser Isolation banner. This resource is required as part of the attribute \u003cspan pulumi-lang-nodejs=\"`bannerId`\" pulumi-lang-dotnet=\"`BannerId`\" pulumi-lang-go=\"`bannerId`\" pulumi-lang-python=\"`banner_id`\" pulumi-lang-yaml=\"`bannerId`\" pulumi-lang-java=\"`bannerId`\"\u003e`banner_id`\u003c/span\u003e when creating an Cloud Browser Isolation External Profile `\u003cspan pulumi-lang-nodejs=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-dotnet=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-go=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-python=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-yaml=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-java=\"`zpa.CloudBrowserIsolationExternalProfile`\"\u003e`zpa.CloudBrowserIsolationExternalProfile`\u003c/span\u003e`\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nApplication Segment can be imported by using `\u003cBANNER ID\u003e` or `\u003cBANNER NAME\u003e` as the import ID.\n\n```sh\n$ pulumi import zpa:index/cloudBrowserIsolationBanner:CloudBrowserIsolationBanner example \u003cbanner_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/cloudBrowserIsolationBanner:CloudBrowserIsolationBanner example \u003cbanner_name\u003e\n```\n\n","properties":{"banner":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"notificationText":{"type":"string"},"notificationTitle":{"type":"string"},"persist":{"type":"boolean"},"primaryColor":{"type":"string"},"textColor":{"type":"string"}},"required":["banner","logo","name","persist"],"inputProperties":{"banner":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"notificationText":{"type":"string"},"notificationTitle":{"type":"string"},"persist":{"type":"boolean"},"primaryColor":{"type":"string"},"textColor":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering CloudBrowserIsolationBanner resources.\n","properties":{"banner":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"notificationText":{"type":"string"},"notificationTitle":{"type":"string"},"persist":{"type":"boolean"},"primaryColor":{"type":"string"},"textColor":{"type":"string"}},"type":"object"}},"zpa:index/cloudBrowserIsolationCertificate:CloudBrowserIsolationCertificate":{"description":"* [Official documentation](https://help.zscaler.com/isolation/about-custom-root-certificates-cloud-browser-isolation)\n\nThe **zpa_cloud_browser_isolation_certificate** resource creates a Cloud Browser Isolation certificate. This resource can then be used when creating a CBI External Profile \u003cspan pulumi-lang-nodejs=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-dotnet=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-go=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-python=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-yaml=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-java=\"`zpa.CloudBrowserIsolationExternalProfile`\"\u003e`zpa.CloudBrowserIsolationExternalProfile`\u003c/span\u003e.`\n\n","properties":{"name":{"type":"string"},"pem":{"type":"string"}},"required":["name"],"inputProperties":{"name":{"type":"string"},"pem":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering CloudBrowserIsolationCertificate resources.\n","properties":{"name":{"type":"string"},"pem":{"type":"string"}},"type":"object"}},"zpa:index/cloudBrowserIsolationExternalProfile:CloudBrowserIsolationExternalProfile":{"description":"* [Official documentation](https://help.zscaler.com/isolation/about-custom-root-certificates-cloud-browser-isolation)\n\nThe **zpa_cloud_browser_isolation_external_profile** resource creates a Cloud Browser Isolation external profile. This resource can then be used in as part of \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-go=\"`PolicyAccessIsolationRule`\" pulumi-lang-python=\"`PolicyAccessIsolationRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-java=\"`zpa.PolicyAccessIsolationRule`\"\u003e`zpa.PolicyAccessIsolationRule`\u003c/span\u003e when the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e attribute is set to `ISOLATE`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve CBI Banner ID\nconst _this = zpa.getCloudBrowserIsolationBanner({\n    name: \"Default\",\n});\n// Retrieve Primary CBI Region ID\nconst singapore = zpa.getCloudBrowserIsolationRegion({\n    name: \"Singapore\",\n});\n// Retrieve Secondary CBI Region ID\nconst frankfurt = zpa.getCloudBrowserIsolationRegion({\n    name: \"Frankfurt\",\n});\n// Retrieve CBI Certificate ID\nconst thisGetCloudBrowserIsolationCertificate = zpa.getCloudBrowserIsolationCertificate({\n    name: \"Zscaler Root Certificate\",\n});\nconst thisCloudBrowserIsolationExternalProfile = new zpa.CloudBrowserIsolationExternalProfile(\"this\", {\n    name: \"CBI_Profile_Example\",\n    description: \"CBI_Profile_Example\",\n    bannerId: _this.then(_this =\u003e _this.id),\n    regionIds: [singapore.then(singapore =\u003e singapore.id)],\n    certificateIds: [thisGetCloudBrowserIsolationCertificate.then(thisGetCloudBrowserIsolationCertificate =\u003e thisGetCloudBrowserIsolationCertificate.id)],\n    userExperience: {\n        forwardToZia: {\n            enabled: true,\n            organizationId: \"***********\",\n            cloudName: \"\u003ccloud_name\u003e\",\n            pacFileUrl: \"https://pac.\u003ccloud_name\u003e/\u003ccloud_name\u003e/proxy.pac\",\n        },\n        browserInBrowser: true,\n        persistIsolationBar: true,\n        translate: true,\n        sessionPersistence: true,\n    },\n    securityControls: {\n        copyPaste: \"all\",\n        uploadDownload: \"upstream\",\n        documentViewer: true,\n        localRender: true,\n        allowPrinting: true,\n        restrictKeystrokes: true,\n        flattenedPdf: true,\n        deepLink: {\n            enabled: true,\n            applications: [\n                \"test1\",\n                \"test\",\n            ],\n        },\n        watermark: {\n            enabled: true,\n            showUserId: true,\n            showTimestamp: true,\n            showMessage: true,\n            message: \"Zscaler CBI\",\n        },\n    },\n    debugMode: {\n        allowed: true,\n        filePassword: \"***********\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve CBI Banner ID\nthis = zpa.get_cloud_browser_isolation_banner(name=\"Default\")\n# Retrieve Primary CBI Region ID\nsingapore = zpa.get_cloud_browser_isolation_region(name=\"Singapore\")\n# Retrieve Secondary CBI Region ID\nfrankfurt = zpa.get_cloud_browser_isolation_region(name=\"Frankfurt\")\n# Retrieve CBI Certificate ID\nthis_get_cloud_browser_isolation_certificate = zpa.get_cloud_browser_isolation_certificate(name=\"Zscaler Root Certificate\")\nthis_cloud_browser_isolation_external_profile = zpa.CloudBrowserIsolationExternalProfile(\"this\",\n    name=\"CBI_Profile_Example\",\n    description=\"CBI_Profile_Example\",\n    banner_id=this.id,\n    region_ids=[singapore.id],\n    certificate_ids=[this_get_cloud_browser_isolation_certificate.id],\n    user_experience={\n        \"forward_to_zia\": {\n            \"enabled\": True,\n            \"organization_id\": \"***********\",\n            \"cloud_name\": \"\u003ccloud_name\u003e\",\n            \"pac_file_url\": \"https://pac.\u003ccloud_name\u003e/\u003ccloud_name\u003e/proxy.pac\",\n        },\n        \"browser_in_browser\": True,\n        \"persist_isolation_bar\": True,\n        \"translate\": True,\n        \"session_persistence\": True,\n    },\n    security_controls={\n        \"copy_paste\": \"all\",\n        \"upload_download\": \"upstream\",\n        \"document_viewer\": True,\n        \"local_render\": True,\n        \"allow_printing\": True,\n        \"restrict_keystrokes\": True,\n        \"flattened_pdf\": True,\n        \"deep_link\": {\n            \"enabled\": True,\n            \"applications\": [\n                \"test1\",\n                \"test\",\n            ],\n        },\n        \"watermark\": {\n            \"enabled\": True,\n            \"show_user_id\": True,\n            \"show_timestamp\": True,\n            \"show_message\": True,\n            \"message\": \"Zscaler CBI\",\n        },\n    },\n    debug_mode={\n        \"allowed\": True,\n        \"file_password\": \"***********\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve CBI Banner ID\n    var @this = Zpa.GetCloudBrowserIsolationBanner.Invoke(new()\n    {\n        Name = \"Default\",\n    });\n\n    // Retrieve Primary CBI Region ID\n    var singapore = Zpa.GetCloudBrowserIsolationRegion.Invoke(new()\n    {\n        Name = \"Singapore\",\n    });\n\n    // Retrieve Secondary CBI Region ID\n    var frankfurt = Zpa.GetCloudBrowserIsolationRegion.Invoke(new()\n    {\n        Name = \"Frankfurt\",\n    });\n\n    // Retrieve CBI Certificate ID\n    var thisGetCloudBrowserIsolationCertificate = Zpa.GetCloudBrowserIsolationCertificate.Invoke(new()\n    {\n        Name = \"Zscaler Root Certificate\",\n    });\n\n    var thisCloudBrowserIsolationExternalProfile = new Zpa.CloudBrowserIsolationExternalProfile(\"this\", new()\n    {\n        Name = \"CBI_Profile_Example\",\n        Description = \"CBI_Profile_Example\",\n        BannerId = @this.Apply(@this =\u003e @this.Apply(getCloudBrowserIsolationBannerResult =\u003e getCloudBrowserIsolationBannerResult.Id)),\n        RegionIds = new[]\n        {\n            singapore.Apply(getCloudBrowserIsolationRegionResult =\u003e getCloudBrowserIsolationRegionResult.Id),\n        },\n        CertificateIds = new[]\n        {\n            thisGetCloudBrowserIsolationCertificate.Apply(getCloudBrowserIsolationCertificateResult =\u003e getCloudBrowserIsolationCertificateResult.Id),\n        },\n        UserExperience = new Zpa.Inputs.CloudBrowserIsolationExternalProfileUserExperienceArgs\n        {\n            ForwardToZia = new Zpa.Inputs.CloudBrowserIsolationExternalProfileUserExperienceForwardToZiaArgs\n            {\n                Enabled = true,\n                OrganizationId = \"***********\",\n                CloudName = \"\u003ccloud_name\u003e\",\n                PacFileUrl = \"https://pac.\u003ccloud_name\u003e/\u003ccloud_name\u003e/proxy.pac\",\n            },\n            BrowserInBrowser = true,\n            PersistIsolationBar = true,\n            Translate = true,\n            SessionPersistence = true,\n        },\n        SecurityControls = new Zpa.Inputs.CloudBrowserIsolationExternalProfileSecurityControlsArgs\n        {\n            CopyPaste = \"all\",\n            UploadDownload = \"upstream\",\n            DocumentViewer = true,\n            LocalRender = true,\n            AllowPrinting = true,\n            RestrictKeystrokes = true,\n            FlattenedPdf = true,\n            DeepLink = new Zpa.Inputs.CloudBrowserIsolationExternalProfileSecurityControlsDeepLinkArgs\n            {\n                Enabled = true,\n                Applications = new[]\n                {\n                    \"test1\",\n                    \"test\",\n                },\n            },\n            Watermark = new Zpa.Inputs.CloudBrowserIsolationExternalProfileSecurityControlsWatermarkArgs\n            {\n                Enabled = true,\n                ShowUserId = true,\n                ShowTimestamp = true,\n                ShowMessage = true,\n                Message = \"Zscaler CBI\",\n            },\n        },\n        DebugMode = new Zpa.Inputs.CloudBrowserIsolationExternalProfileDebugModeArgs\n        {\n            Allowed = true,\n            FilePassword = \"***********\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve CBI Banner ID\n\t\tthis, err := zpa.LookupCloudBrowserIsolationBanner(ctx, \u0026zpa.LookupCloudBrowserIsolationBannerArgs{\n\t\t\tName: pulumi.StringRef(\"Default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve Primary CBI Region ID\n\t\tsingapore, err := zpa.GetCloudBrowserIsolationRegion(ctx, \u0026zpa.GetCloudBrowserIsolationRegionArgs{\n\t\t\tName: pulumi.StringRef(\"Singapore\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve Secondary CBI Region ID\n\t\t_, err = zpa.GetCloudBrowserIsolationRegion(ctx, \u0026zpa.GetCloudBrowserIsolationRegionArgs{\n\t\t\tName: pulumi.StringRef(\"Frankfurt\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve CBI Certificate ID\n\t\tthisGetCloudBrowserIsolationCertificate, err := zpa.LookupCloudBrowserIsolationCertificate(ctx, \u0026zpa.LookupCloudBrowserIsolationCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"Zscaler Root Certificate\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewCloudBrowserIsolationExternalProfile(ctx, \"this\", \u0026zpa.CloudBrowserIsolationExternalProfileArgs{\n\t\t\tName:        pulumi.String(\"CBI_Profile_Example\"),\n\t\t\tDescription: pulumi.String(\"CBI_Profile_Example\"),\n\t\t\tBannerId:    pulumi.String(this.Id),\n\t\t\tRegionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(singapore.Id),\n\t\t\t},\n\t\t\tCertificateIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(thisGetCloudBrowserIsolationCertificate.Id),\n\t\t\t},\n\t\t\tUserExperience: \u0026zpa.CloudBrowserIsolationExternalProfileUserExperienceArgs{\n\t\t\t\tForwardToZia: \u0026zpa.CloudBrowserIsolationExternalProfileUserExperienceForwardToZiaArgs{\n\t\t\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\t\t\tOrganizationId: pulumi.String(\"***********\"),\n\t\t\t\t\tCloudName:      pulumi.String(\"\u003ccloud_name\u003e\"),\n\t\t\t\t\tPacFileUrl:     pulumi.String(\"https://pac.\u003ccloud_name\u003e/\u003ccloud_name\u003e/proxy.pac\"),\n\t\t\t\t},\n\t\t\t\tBrowserInBrowser:    pulumi.Bool(true),\n\t\t\t\tPersistIsolationBar: pulumi.Bool(true),\n\t\t\t\tTranslate:           pulumi.Bool(true),\n\t\t\t\tSessionPersistence:  pulumi.Bool(true),\n\t\t\t},\n\t\t\tSecurityControls: \u0026zpa.CloudBrowserIsolationExternalProfileSecurityControlsArgs{\n\t\t\t\tCopyPaste:          pulumi.String(\"all\"),\n\t\t\t\tUploadDownload:     pulumi.String(\"upstream\"),\n\t\t\t\tDocumentViewer:     pulumi.Bool(true),\n\t\t\t\tLocalRender:        pulumi.Bool(true),\n\t\t\t\tAllowPrinting:      pulumi.Bool(true),\n\t\t\t\tRestrictKeystrokes: pulumi.Bool(true),\n\t\t\t\tFlattenedPdf:       pulumi.Bool(true),\n\t\t\t\tDeepLink: \u0026zpa.CloudBrowserIsolationExternalProfileSecurityControlsDeepLinkArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tApplications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test1\"),\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tWatermark: \u0026zpa.CloudBrowserIsolationExternalProfileSecurityControlsWatermarkArgs{\n\t\t\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\t\t\tShowUserId:    pulumi.Bool(true),\n\t\t\t\t\tShowTimestamp: pulumi.Bool(true),\n\t\t\t\t\tShowMessage:   pulumi.Bool(true),\n\t\t\t\t\tMessage:       pulumi.String(\"Zscaler CBI\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDebugMode: \u0026zpa.CloudBrowserIsolationExternalProfileDebugModeArgs{\n\t\t\t\tAllowed:      pulumi.Bool(true),\n\t\t\t\tFilePassword: pulumi.String(\"***********\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationBannerArgs;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationRegionArgs;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationCertificateArgs;\nimport com.pulumi.zpa.CloudBrowserIsolationExternalProfile;\nimport com.pulumi.zpa.CloudBrowserIsolationExternalProfileArgs;\nimport com.pulumi.zpa.inputs.CloudBrowserIsolationExternalProfileUserExperienceArgs;\nimport com.pulumi.zpa.inputs.CloudBrowserIsolationExternalProfileUserExperienceForwardToZiaArgs;\nimport com.pulumi.zpa.inputs.CloudBrowserIsolationExternalProfileSecurityControlsArgs;\nimport com.pulumi.zpa.inputs.CloudBrowserIsolationExternalProfileSecurityControlsDeepLinkArgs;\nimport com.pulumi.zpa.inputs.CloudBrowserIsolationExternalProfileSecurityControlsWatermarkArgs;\nimport com.pulumi.zpa.inputs.CloudBrowserIsolationExternalProfileDebugModeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve CBI Banner ID\n        final var this = ZpaFunctions.getCloudBrowserIsolationBanner(GetCloudBrowserIsolationBannerArgs.builder()\n            .name(\"Default\")\n            .build());\n\n        // Retrieve Primary CBI Region ID\n        final var singapore = ZpaFunctions.getCloudBrowserIsolationRegion(GetCloudBrowserIsolationRegionArgs.builder()\n            .name(\"Singapore\")\n            .build());\n\n        // Retrieve Secondary CBI Region ID\n        final var frankfurt = ZpaFunctions.getCloudBrowserIsolationRegion(GetCloudBrowserIsolationRegionArgs.builder()\n            .name(\"Frankfurt\")\n            .build());\n\n        // Retrieve CBI Certificate ID\n        final var thisGetCloudBrowserIsolationCertificate = ZpaFunctions.getCloudBrowserIsolationCertificate(GetCloudBrowserIsolationCertificateArgs.builder()\n            .name(\"Zscaler Root Certificate\")\n            .build());\n\n        var thisCloudBrowserIsolationExternalProfile = new CloudBrowserIsolationExternalProfile(\"thisCloudBrowserIsolationExternalProfile\", CloudBrowserIsolationExternalProfileArgs.builder()\n            .name(\"CBI_Profile_Example\")\n            .description(\"CBI_Profile_Example\")\n            .bannerId(this_.id())\n            .regionIds(singapore.id())\n            .certificateIds(thisGetCloudBrowserIsolationCertificate.id())\n            .userExperience(CloudBrowserIsolationExternalProfileUserExperienceArgs.builder()\n                .forwardToZia(CloudBrowserIsolationExternalProfileUserExperienceForwardToZiaArgs.builder()\n                    .enabled(true)\n                    .organizationId(\"***********\")\n                    .cloudName(\"\u003ccloud_name\u003e\")\n                    .pacFileUrl(\"https://pac.\u003ccloud_name\u003e/\u003ccloud_name\u003e/proxy.pac\")\n                    .build())\n                .browserInBrowser(true)\n                .persistIsolationBar(true)\n                .translate(true)\n                .sessionPersistence(true)\n                .build())\n            .securityControls(CloudBrowserIsolationExternalProfileSecurityControlsArgs.builder()\n                .copyPaste(\"all\")\n                .uploadDownload(\"upstream\")\n                .documentViewer(true)\n                .localRender(true)\n                .allowPrinting(true)\n                .restrictKeystrokes(true)\n                .flattenedPdf(true)\n                .deepLink(CloudBrowserIsolationExternalProfileSecurityControlsDeepLinkArgs.builder()\n                    .enabled(true)\n                    .applications(                    \n                        \"test1\",\n                        \"test\")\n                    .build())\n                .watermark(CloudBrowserIsolationExternalProfileSecurityControlsWatermarkArgs.builder()\n                    .enabled(true)\n                    .showUserId(true)\n                    .showTimestamp(true)\n                    .showMessage(true)\n                    .message(\"Zscaler CBI\")\n                    .build())\n                .build())\n            .debugMode(CloudBrowserIsolationExternalProfileDebugModeArgs.builder()\n                .allowed(true)\n                .filePassword(\"***********\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisCloudBrowserIsolationExternalProfile:\n    type: zpa:CloudBrowserIsolationExternalProfile\n    name: this\n    properties:\n      name: CBI_Profile_Example\n      description: CBI_Profile_Example\n      bannerId: ${this.id}\n      regionIds:\n        - ${singapore.id}\n      certificateIds:\n        - ${thisGetCloudBrowserIsolationCertificate.id}\n      userExperience:\n        forwardToZia:\n          enabled: true\n          organizationId: '***********'\n          cloudName: \u003ccloud_name\u003e\n          pacFileUrl: https://pac.\u003ccloud_name\u003e/\u003ccloud_name\u003e/proxy.pac\n        browserInBrowser: true\n        persistIsolationBar: true\n        translate: true\n        sessionPersistence: true\n      securityControls:\n        copyPaste: all\n        uploadDownload: upstream\n        documentViewer: true\n        localRender: true\n        allowPrinting: true\n        restrictKeystrokes: true\n        flattenedPdf: true\n        deepLink:\n          enabled: true\n          applications:\n            - test1\n            - test\n        watermark:\n          enabled: true\n          showUserId: true\n          showTimestamp: true\n          showMessage: true\n          message: Zscaler CBI\n      debugMode:\n        allowed: true\n        filePassword: '***********'\nvariables:\n  # Retrieve CBI Banner ID\n  this:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationBanner\n      arguments:\n        name: Default\n  # Retrieve Primary CBI Region ID\n  singapore:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationRegion\n      arguments:\n        name: Singapore\n  # Retrieve Secondary CBI Region ID\n  frankfurt:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationRegion\n      arguments:\n        name: Frankfurt\n  # Retrieve CBI Certificate ID\n  thisGetCloudBrowserIsolationCertificate:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationCertificate\n      arguments:\n        name: Zscaler Root Certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"bannerId":{"type":"string"},"certificateIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of certificate IDs."},"debugMode":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileDebugMode:CloudBrowserIsolationExternalProfileDebugMode"},"description":{"type":"string"},"name":{"type":"string"},"regionIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of region IDs."},"securityControls":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileSecurityControls:CloudBrowserIsolationExternalProfileSecurityControls"},"userExperience":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileUserExperience:CloudBrowserIsolationExternalProfileUserExperience"}},"required":["bannerId","name","userExperience"],"inputProperties":{"bannerId":{"type":"string"},"certificateIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of certificate IDs."},"debugMode":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileDebugMode:CloudBrowserIsolationExternalProfileDebugMode"},"description":{"type":"string"},"name":{"type":"string"},"regionIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of region IDs."},"securityControls":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileSecurityControls:CloudBrowserIsolationExternalProfileSecurityControls"},"userExperience":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileUserExperience:CloudBrowserIsolationExternalProfileUserExperience"}},"requiredInputs":["bannerId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudBrowserIsolationExternalProfile resources.\n","properties":{"bannerId":{"type":"string"},"certificateIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of certificate IDs."},"debugMode":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileDebugMode:CloudBrowserIsolationExternalProfileDebugMode"},"description":{"type":"string"},"name":{"type":"string"},"regionIds":{"type":"array","items":{"type":"string"},"description":"This field defines the list of region IDs."},"securityControls":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileSecurityControls:CloudBrowserIsolationExternalProfileSecurityControls"},"userExperience":{"$ref":"#/types/zpa:index/CloudBrowserIsolationExternalProfileUserExperience:CloudBrowserIsolationExternalProfileUserExperience"}},"type":"object"}},"zpa:index/connectorGroup:ConnectorGroup":{"description":"## Example Usage\n\n### Using Version Profile Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Create a App Connector Group\nconst example = new zpa.ConnectorGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    cityCountry: \"San Jose, CA\",\n    countryCode: \"US\",\n    latitude: \"37.338\",\n    longitude: \"-121.8863\",\n    location: \"San Jose, CA, US\",\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    overrideVersionProfile: true,\n    versionProfileName: \"New Release\",\n    dnsQueryType: \"IPV4_IPV6\",\n    useInDrMode: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# Create a App Connector Group\nexample = zpa.ConnectorGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    city_country=\"San Jose, CA\",\n    country_code=\"US\",\n    latitude=\"37.338\",\n    longitude=\"-121.8863\",\n    location=\"San Jose, CA, US\",\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    override_version_profile=True,\n    version_profile_name=\"New Release\",\n    dns_query_type=\"IPV4_IPV6\",\n    use_in_dr_mode=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a App Connector Group\n    var example = new Zpa.ConnectorGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        CityCountry = \"San Jose, CA\",\n        CountryCode = \"US\",\n        Latitude = \"37.338\",\n        Longitude = \"-121.8863\",\n        Location = \"San Jose, CA, US\",\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        OverrideVersionProfile = true,\n        VersionProfileName = \"New Release\",\n        DnsQueryType = \"IPV4_IPV6\",\n        UseInDrMode = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a App Connector Group\n\t\t_, err := zpa.NewConnectorGroup(ctx, \"example\", \u0026zpa.ConnectorGroupArgs{\n\t\t\tName:                   pulumi.String(\"Example\"),\n\t\t\tDescription:            pulumi.String(\"Example\"),\n\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\tCityCountry:            pulumi.String(\"San Jose, CA\"),\n\t\t\tCountryCode:            pulumi.String(\"US\"),\n\t\t\tLatitude:               pulumi.String(\"37.338\"),\n\t\t\tLongitude:              pulumi.String(\"-121.8863\"),\n\t\t\tLocation:               pulumi.String(\"San Jose, CA, US\"),\n\t\t\tUpgradeDay:             pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:      pulumi.String(\"66600\"),\n\t\t\tOverrideVersionProfile: pulumi.Bool(true),\n\t\t\tVersionProfileName:     pulumi.String(\"New Release\"),\n\t\t\tDnsQueryType:           pulumi.String(\"IPV4_IPV6\"),\n\t\t\tUseInDrMode:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ConnectorGroup;\nimport com.pulumi.zpa.ConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a App Connector Group\n        var example = new ConnectorGroup(\"example\", ConnectorGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .cityCountry(\"San Jose, CA\")\n            .countryCode(\"US\")\n            .latitude(\"37.338\")\n            .longitude(\"-121.8863\")\n            .location(\"San Jose, CA, US\")\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .overrideVersionProfile(true)\n            .versionProfileName(\"New Release\")\n            .dnsQueryType(\"IPV4_IPV6\")\n            .useInDrMode(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a App Connector Group\n  example:\n    type: zpa:ConnectorGroup\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      cityCountry: San Jose, CA\n      countryCode: US\n      latitude: '37.338'\n      longitude: '-121.8863'\n      location: San Jose, CA, US\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      overrideVersionProfile: true\n      versionProfileName: New Release\n      dnsQueryType: IPV4_IPV6\n      useInDrMode: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Version Profile ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getCustomerVersionProfile({\n    name: \"New Release\",\n});\n// Create a App Connector Group\nconst example = new zpa.ConnectorGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    cityCountry: \"San Jose, CA\",\n    countryCode: \"US\",\n    latitude: \"37.338\",\n    longitude: \"-121.8863\",\n    location: \"San Jose, CA, US\",\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    overrideVersionProfile: true,\n    versionProfileId: _this.then(_this =\u003e _this.id),\n    dnsQueryType: \"IPV4_IPV6\",\n    useInDrMode: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_customer_version_profile(name=\"New Release\")\n# Create a App Connector Group\nexample = zpa.ConnectorGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    city_country=\"San Jose, CA\",\n    country_code=\"US\",\n    latitude=\"37.338\",\n    longitude=\"-121.8863\",\n    location=\"San Jose, CA, US\",\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    override_version_profile=True,\n    version_profile_id=this.id,\n    dns_query_type=\"IPV4_IPV6\",\n    use_in_dr_mode=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetCustomerVersionProfile.Invoke(new()\n    {\n        Name = \"New Release\",\n    });\n\n    // Create a App Connector Group\n    var example = new Zpa.ConnectorGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        CityCountry = \"San Jose, CA\",\n        CountryCode = \"US\",\n        Latitude = \"37.338\",\n        Longitude = \"-121.8863\",\n        Location = \"San Jose, CA, US\",\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        OverrideVersionProfile = true,\n        VersionProfileId = @this.Apply(@this =\u003e @this.Apply(getCustomerVersionProfileResult =\u003e getCustomerVersionProfileResult.Id)),\n        DnsQueryType = \"IPV4_IPV6\",\n        UseInDrMode = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetCustomerVersionProfile(ctx, \u0026zpa.GetCustomerVersionProfileArgs{\n\t\t\tName: \"New Release\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a App Connector Group\n\t\t_, err = zpa.NewConnectorGroup(ctx, \"example\", \u0026zpa.ConnectorGroupArgs{\n\t\t\tName:                   pulumi.String(\"Example\"),\n\t\t\tDescription:            pulumi.String(\"Example\"),\n\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\tCityCountry:            pulumi.String(\"San Jose, CA\"),\n\t\t\tCountryCode:            pulumi.String(\"US\"),\n\t\t\tLatitude:               pulumi.String(\"37.338\"),\n\t\t\tLongitude:              pulumi.String(\"-121.8863\"),\n\t\t\tLocation:               pulumi.String(\"San Jose, CA, US\"),\n\t\t\tUpgradeDay:             pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:      pulumi.String(\"66600\"),\n\t\t\tOverrideVersionProfile: pulumi.Bool(true),\n\t\t\tVersionProfileId:       pulumi.String(this.Id),\n\t\t\tDnsQueryType:           pulumi.String(\"IPV4_IPV6\"),\n\t\t\tUseInDrMode:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCustomerVersionProfileArgs;\nimport com.pulumi.zpa.ConnectorGroup;\nimport com.pulumi.zpa.ConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getCustomerVersionProfile(GetCustomerVersionProfileArgs.builder()\n            .name(\"New Release\")\n            .build());\n\n        // Create a App Connector Group\n        var example = new ConnectorGroup(\"example\", ConnectorGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .cityCountry(\"San Jose, CA\")\n            .countryCode(\"US\")\n            .latitude(\"37.338\")\n            .longitude(\"-121.8863\")\n            .location(\"San Jose, CA, US\")\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .overrideVersionProfile(true)\n            .versionProfileId(this_.id())\n            .dnsQueryType(\"IPV4_IPV6\")\n            .useInDrMode(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a App Connector Group\n  example:\n    type: zpa:ConnectorGroup\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      cityCountry: San Jose, CA\n      countryCode: US\n      latitude: '37.338'\n      longitude: '-121.8863'\n      location: San Jose, CA, US\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      overrideVersionProfile: true\n      versionProfileId: ${this.id}\n      dnsQueryType: IPV4_IPV6\n      useInDrMode: true\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getCustomerVersionProfile\n      arguments:\n        name: New Release\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nApp Connector Group can be imported by using `\u003cAPP CONNECTOR GROUP ID\u003e` or `\u003cAPP CONNECTOR GROUP NAME\u003e`as the import ID.\n\n```sh\n$ pulumi import zpa:index/connectorGroup:ConnectorGroup example \u003capp_connector_group_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/connectorGroup:ConnectorGroup example \u003capp_connector_group_name\u003e\n```\n\n","properties":{"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string","description":"Description of the App Connector Group"},"dnsQueryType":{"type":"string","description":"Whether to enable IPv4 or IPv6, or both, for DNS resolution of all applications in the App Connector Group"},"enabled":{"type":"boolean","description":"Whether this App Connector Group is enabled or not"},"latitude":{"type":"string","description":"Latitude of the App Connector Group. Integer or decimal. With values in the range of -90 to 90"},"location":{"type":"string","description":"Location of the App Connector Group"},"longitude":{"type":"string","description":"Longitude of the App Connector Group. Integer or decimal. With values in the range of -180 to 180"},"lssAppConnectorGroup":{"type":"boolean","description":"Whether or not the App Connector Group is configured for the Log Streaming Service (LSS)"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the App Connector Group"},"overrideVersionProfile":{"type":"boolean","description":"Whether the default version profile of the App Connector Group is applied or overridden. Supported values: true, false"},"praEnabled":{"type":"boolean"},"tcpQuickAckApp":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"tcpQuickAckAssistant":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"tcpQuickAckReadAssistant":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"upgradeDay":{"type":"string","description":"App Connectors in this group will attempt to update to a newer version of the software during this specified day. List of valid days (i.e., Sunday, Monday)"},"upgradeTimeInSecs":{"type":"string","description":"App Connectors in this group will attempt to update to a newer version of the software during this specified time. Integer in seconds (i.e., -66600). The integer should be greater than or equal to 0 and less than 86400, in 15 minute intervals"},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string","description":"ID of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"versionProfileName":{"type":"string","description":"Name of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"wafDisabled":{"type":"boolean"}},"required":["latitude","location","longitude","microtenantId","name","overrideVersionProfile","praEnabled","tcpQuickAckApp","tcpQuickAckAssistant","tcpQuickAckReadAssistant","useInDrMode","versionProfileId","versionProfileName","wafDisabled"],"inputProperties":{"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string","description":"Description of the App Connector Group"},"dnsQueryType":{"type":"string","description":"Whether to enable IPv4 or IPv6, or both, for DNS resolution of all applications in the App Connector Group"},"enabled":{"type":"boolean","description":"Whether this App Connector Group is enabled or not"},"latitude":{"type":"string","description":"Latitude of the App Connector Group. Integer or decimal. With values in the range of -90 to 90"},"location":{"type":"string","description":"Location of the App Connector Group"},"longitude":{"type":"string","description":"Longitude of the App Connector Group. Integer or decimal. With values in the range of -180 to 180"},"lssAppConnectorGroup":{"type":"boolean","description":"Whether or not the App Connector Group is configured for the Log Streaming Service (LSS)"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the App Connector Group"},"overrideVersionProfile":{"type":"boolean","description":"Whether the default version profile of the App Connector Group is applied or overridden. Supported values: true, false"},"praEnabled":{"type":"boolean"},"tcpQuickAckApp":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"tcpQuickAckAssistant":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"tcpQuickAckReadAssistant":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"upgradeDay":{"type":"string","description":"App Connectors in this group will attempt to update to a newer version of the software during this specified day. List of valid days (i.e., Sunday, Monday)"},"upgradeTimeInSecs":{"type":"string","description":"App Connectors in this group will attempt to update to a newer version of the software during this specified time. Integer in seconds (i.e., -66600). The integer should be greater than or equal to 0 and less than 86400, in 15 minute intervals"},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string","description":"ID of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"versionProfileName":{"type":"string","description":"Name of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"wafDisabled":{"type":"boolean"}},"requiredInputs":["latitude","location","longitude"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorGroup resources.\n","properties":{"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string","description":"Description of the App Connector Group"},"dnsQueryType":{"type":"string","description":"Whether to enable IPv4 or IPv6, or both, for DNS resolution of all applications in the App Connector Group"},"enabled":{"type":"boolean","description":"Whether this App Connector Group is enabled or not"},"latitude":{"type":"string","description":"Latitude of the App Connector Group. Integer or decimal. With values in the range of -90 to 90"},"location":{"type":"string","description":"Location of the App Connector Group"},"longitude":{"type":"string","description":"Longitude of the App Connector Group. Integer or decimal. With values in the range of -180 to 180"},"lssAppConnectorGroup":{"type":"boolean","description":"Whether or not the App Connector Group is configured for the Log Streaming Service (LSS)"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the App Connector Group"},"overrideVersionProfile":{"type":"boolean","description":"Whether the default version profile of the App Connector Group is applied or overridden. Supported values: true, false"},"praEnabled":{"type":"boolean"},"tcpQuickAckApp":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"tcpQuickAckAssistant":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"tcpQuickAckReadAssistant":{"type":"boolean","description":"Whether TCP Quick Acknowledgement is enabled or disabled for the application. The tcpQuickAckApp, tcpQuickAckAssistant, and tcpQuickAckReadAssistant fields must all share the same value."},"upgradeDay":{"type":"string","description":"App Connectors in this group will attempt to update to a newer version of the software during this specified day. List of valid days (i.e., Sunday, Monday)"},"upgradeTimeInSecs":{"type":"string","description":"App Connectors in this group will attempt to update to a newer version of the software during this specified time. Integer in seconds (i.e., -66600). The integer should be greater than or equal to 0 and less than 86400, in 15 minute intervals"},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string","description":"ID of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"versionProfileName":{"type":"string","description":"Name of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"wafDisabled":{"type":"boolean"}},"type":"object"}},"zpa:index/emergencyAccessUser:EmergencyAccessUser":{"description":"* [Official documentation](https://help.zscaler.com/zpa/configuring-emergency-access)\n* [API documentation](https://help.zscaler.com/zpa/configuring-emergency-access-users-using-api)\n\nThe **zpa_emergency_access_user** Create emergency access users with permissions limited to privileged approvals in the specified IdP that is enabled for emergency access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.EmergencyAccessUser(\"this\", {\n    emailId: \"usertest@example.com\",\n    firstName: \"User\",\n    lastName: \"Test\",\n    userId: \"usertest\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.EmergencyAccessUser(\"this\",\n    email_id=\"usertest@example.com\",\n    first_name=\"User\",\n    last_name=\"Test\",\n    user_id=\"usertest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.EmergencyAccessUser(\"this\", new()\n    {\n        EmailId = \"usertest@example.com\",\n        FirstName = \"User\",\n        LastName = \"Test\",\n        UserId = \"usertest\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewEmergencyAccessUser(ctx, \"this\", \u0026zpa.EmergencyAccessUserArgs{\n\t\t\tEmailId:   pulumi.String(\"usertest@example.com\"),\n\t\t\tFirstName: pulumi.String(\"User\"),\n\t\t\tLastName:  pulumi.String(\"Test\"),\n\t\t\tUserId:    pulumi.String(\"usertest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.EmergencyAccessUser;\nimport com.pulumi.zpa.EmergencyAccessUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new EmergencyAccessUser(\"this\", EmergencyAccessUserArgs.builder()\n            .emailId(\"usertest@example.com\")\n            .firstName(\"User\")\n            .lastName(\"Test\")\n            .userId(\"usertest\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:EmergencyAccessUser\n    properties:\n      emailId: usertest@example.com\n      firstName: User\n      lastName: Test\n      userId: usertest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `zpa_emergency_access_user` do not support resource import.\n\n","properties":{"emailId":{"type":"string","description":"The email address of the emergency access user, as provided by the admin"},"firstName":{"type":"string","description":"The first name of the emergency access user"},"lastName":{"type":"string","description":"The last name of the emergency access user, as provided by the admin"},"userId":{"type":"string","description":"The unique identifier of the emergency access user"}},"required":["firstName","lastName","userId"],"inputProperties":{"emailId":{"type":"string","description":"The email address of the emergency access user, as provided by the admin","willReplaceOnChanges":true},"firstName":{"type":"string","description":"The first name of the emergency access user"},"lastName":{"type":"string","description":"The last name of the emergency access user, as provided by the admin"},"userId":{"type":"string","description":"The unique identifier of the emergency access user"}},"stateInputs":{"description":"Input properties used for looking up and filtering EmergencyAccessUser resources.\n","properties":{"emailId":{"type":"string","description":"The email address of the emergency access user, as provided by the admin","willReplaceOnChanges":true},"firstName":{"type":"string","description":"The first name of the emergency access user"},"lastName":{"type":"string","description":"The last name of the emergency access user, as provided by the admin"},"userId":{"type":"string","description":"The unique identifier of the emergency access user"}},"type":"object"}},"zpa:index/inspectionCustomControls:InspectionCustomControls":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-custom-controls)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-controls-using-api)\n\nThe **zpa_inspection_custom_controls** resource creates an inspection custom control. This resource can then be referenced in an inspection profile resource.\n\n## Example - Inspection Custom Control - PASS Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.InspectionCustomControls(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    defaultAction: \"PASS\",\n    paranoiaLevel: \"1\",\n    severity: \"CRITICAL\",\n    type: \"RESPONSE\",\n    rules: [\n        {\n            names: [\"this\"],\n            type: \"RESPONSE_HEADERS\",\n            conditions: [{\n                lhs: \"SIZE\",\n                op: \"GE\",\n                rhs: \"1000\",\n            }],\n        },\n        {\n            type: \"RESPONSE_BODY\",\n            conditions: [{\n                lhs: \"SIZE\",\n                op: \"GE\",\n                rhs: \"1000\",\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.InspectionCustomControls(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    default_action=\"PASS\",\n    paranoia_level=\"1\",\n    severity=\"CRITICAL\",\n    type=\"RESPONSE\",\n    rules=[\n        {\n            \"names\": [\"this\"],\n            \"type\": \"RESPONSE_HEADERS\",\n            \"conditions\": [{\n                \"lhs\": \"SIZE\",\n                \"op\": \"GE\",\n                \"rhs\": \"1000\",\n            }],\n        },\n        {\n            \"type\": \"RESPONSE_BODY\",\n            \"conditions\": [{\n                \"lhs\": \"SIZE\",\n                \"op\": \"GE\",\n                \"rhs\": \"1000\",\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.InspectionCustomControls(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        DefaultAction = \"PASS\",\n        ParanoiaLevel = \"1\",\n        Severity = \"CRITICAL\",\n        Type = \"RESPONSE\",\n        Rules = new[]\n        {\n            new Zpa.Inputs.InspectionCustomControlsRuleArgs\n            {\n                Names = new[]\n                {\n                    \"this\",\n                },\n                Type = \"RESPONSE_HEADERS\",\n                Conditions = new[]\n                {\n                    new Zpa.Inputs.InspectionCustomControlsRuleConditionArgs\n                    {\n                        Lhs = \"SIZE\",\n                        Op = \"GE\",\n                        Rhs = \"1000\",\n                    },\n                },\n            },\n            new Zpa.Inputs.InspectionCustomControlsRuleArgs\n            {\n                Type = \"RESPONSE_BODY\",\n                Conditions = new[]\n                {\n                    new Zpa.Inputs.InspectionCustomControlsRuleConditionArgs\n                    {\n                        Lhs = \"SIZE\",\n                        Op = \"GE\",\n                        Rhs = \"1000\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewInspectionCustomControls(ctx, \"this\", \u0026zpa.InspectionCustomControlsArgs{\n\t\t\tName:          pulumi.String(\"Example\"),\n\t\t\tDescription:   pulumi.String(\"Example\"),\n\t\t\tDefaultAction: pulumi.String(\"PASS\"),\n\t\t\tParanoiaLevel: pulumi.String(\"1\"),\n\t\t\tSeverity:      pulumi.String(\"CRITICAL\"),\n\t\t\tType:          pulumi.String(\"RESPONSE\"),\n\t\t\tRules: zpa.InspectionCustomControlsRuleArray{\n\t\t\t\t\u0026zpa.InspectionCustomControlsRuleArgs{\n\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"this\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"RESPONSE_HEADERS\"),\n\t\t\t\t\tConditions: zpa.InspectionCustomControlsRuleConditionArray{\n\t\t\t\t\t\t\u0026zpa.InspectionCustomControlsRuleConditionArgs{\n\t\t\t\t\t\t\tLhs: pulumi.String(\"SIZE\"),\n\t\t\t\t\t\t\tOp:  pulumi.String(\"GE\"),\n\t\t\t\t\t\t\tRhs: pulumi.String(\"1000\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.InspectionCustomControlsRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"RESPONSE_BODY\"),\n\t\t\t\t\tConditions: zpa.InspectionCustomControlsRuleConditionArray{\n\t\t\t\t\t\t\u0026zpa.InspectionCustomControlsRuleConditionArgs{\n\t\t\t\t\t\t\tLhs: pulumi.String(\"SIZE\"),\n\t\t\t\t\t\t\tOp:  pulumi.String(\"GE\"),\n\t\t\t\t\t\t\tRhs: pulumi.String(\"1000\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.InspectionCustomControls;\nimport com.pulumi.zpa.InspectionCustomControlsArgs;\nimport com.pulumi.zpa.inputs.InspectionCustomControlsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new InspectionCustomControls(\"this\", InspectionCustomControlsArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .defaultAction(\"PASS\")\n            .paranoiaLevel(\"1\")\n            .severity(\"CRITICAL\")\n            .type(\"RESPONSE\")\n            .rules(            \n                InspectionCustomControlsRuleArgs.builder()\n                    .names(\"this\")\n                    .type(\"RESPONSE_HEADERS\")\n                    .conditions(InspectionCustomControlsRuleConditionArgs.builder()\n                        .lhs(\"SIZE\")\n                        .op(\"GE\")\n                        .rhs(\"1000\")\n                        .build())\n                    .build(),\n                InspectionCustomControlsRuleArgs.builder()\n                    .type(\"RESPONSE_BODY\")\n                    .conditions(InspectionCustomControlsRuleConditionArgs.builder()\n                        .lhs(\"SIZE\")\n                        .op(\"GE\")\n                        .rhs(\"1000\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:InspectionCustomControls\n    properties:\n      name: Example\n      description: Example\n      defaultAction: PASS\n      paranoiaLevel: '1'\n      severity: CRITICAL\n      type: RESPONSE\n      rules:\n        - names:\n            - this\n          type: RESPONSE_HEADERS\n          conditions:\n            - lhs: SIZE\n              op: GE\n              rhs: '1000'\n        - type: RESPONSE_BODY\n          conditions:\n            - lhs: SIZE\n              op: GE\n              rhs: '1000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example - Inspection Custom Control - BLOCK Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.InspectionCustomControls(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    defaultAction: \"BLOCK\",\n    paranoiaLevel: \"1\",\n    severity: \"CRITICAL\",\n    type: \"RESPONSE\",\n    rules: [\n        {\n            names: [\"this\"],\n            type: \"RESPONSE_HEADERS\",\n            conditions: [{\n                lhs: \"SIZE\",\n                op: \"GE\",\n                rhs: \"1000\",\n            }],\n        },\n        {\n            type: \"RESPONSE_BODY\",\n            conditions: [{\n                lhs: \"SIZE\",\n                op: \"GE\",\n                rhs: \"1000\",\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.InspectionCustomControls(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    default_action=\"BLOCK\",\n    paranoia_level=\"1\",\n    severity=\"CRITICAL\",\n    type=\"RESPONSE\",\n    rules=[\n        {\n            \"names\": [\"this\"],\n            \"type\": \"RESPONSE_HEADERS\",\n            \"conditions\": [{\n                \"lhs\": \"SIZE\",\n                \"op\": \"GE\",\n                \"rhs\": \"1000\",\n            }],\n        },\n        {\n            \"type\": \"RESPONSE_BODY\",\n            \"conditions\": [{\n                \"lhs\": \"SIZE\",\n                \"op\": \"GE\",\n                \"rhs\": \"1000\",\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.InspectionCustomControls(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        DefaultAction = \"BLOCK\",\n        ParanoiaLevel = \"1\",\n        Severity = \"CRITICAL\",\n        Type = \"RESPONSE\",\n        Rules = new[]\n        {\n            new Zpa.Inputs.InspectionCustomControlsRuleArgs\n            {\n                Names = new[]\n                {\n                    \"this\",\n                },\n                Type = \"RESPONSE_HEADERS\",\n                Conditions = new[]\n                {\n                    new Zpa.Inputs.InspectionCustomControlsRuleConditionArgs\n                    {\n                        Lhs = \"SIZE\",\n                        Op = \"GE\",\n                        Rhs = \"1000\",\n                    },\n                },\n            },\n            new Zpa.Inputs.InspectionCustomControlsRuleArgs\n            {\n                Type = \"RESPONSE_BODY\",\n                Conditions = new[]\n                {\n                    new Zpa.Inputs.InspectionCustomControlsRuleConditionArgs\n                    {\n                        Lhs = \"SIZE\",\n                        Op = \"GE\",\n                        Rhs = \"1000\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewInspectionCustomControls(ctx, \"this\", \u0026zpa.InspectionCustomControlsArgs{\n\t\t\tName:          pulumi.String(\"Example\"),\n\t\t\tDescription:   pulumi.String(\"Example\"),\n\t\t\tDefaultAction: pulumi.String(\"BLOCK\"),\n\t\t\tParanoiaLevel: pulumi.String(\"1\"),\n\t\t\tSeverity:      pulumi.String(\"CRITICAL\"),\n\t\t\tType:          pulumi.String(\"RESPONSE\"),\n\t\t\tRules: zpa.InspectionCustomControlsRuleArray{\n\t\t\t\t\u0026zpa.InspectionCustomControlsRuleArgs{\n\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"this\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"RESPONSE_HEADERS\"),\n\t\t\t\t\tConditions: zpa.InspectionCustomControlsRuleConditionArray{\n\t\t\t\t\t\t\u0026zpa.InspectionCustomControlsRuleConditionArgs{\n\t\t\t\t\t\t\tLhs: pulumi.String(\"SIZE\"),\n\t\t\t\t\t\t\tOp:  pulumi.String(\"GE\"),\n\t\t\t\t\t\t\tRhs: pulumi.String(\"1000\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.InspectionCustomControlsRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"RESPONSE_BODY\"),\n\t\t\t\t\tConditions: zpa.InspectionCustomControlsRuleConditionArray{\n\t\t\t\t\t\t\u0026zpa.InspectionCustomControlsRuleConditionArgs{\n\t\t\t\t\t\t\tLhs: pulumi.String(\"SIZE\"),\n\t\t\t\t\t\t\tOp:  pulumi.String(\"GE\"),\n\t\t\t\t\t\t\tRhs: pulumi.String(\"1000\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.InspectionCustomControls;\nimport com.pulumi.zpa.InspectionCustomControlsArgs;\nimport com.pulumi.zpa.inputs.InspectionCustomControlsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new InspectionCustomControls(\"this\", InspectionCustomControlsArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .defaultAction(\"BLOCK\")\n            .paranoiaLevel(\"1\")\n            .severity(\"CRITICAL\")\n            .type(\"RESPONSE\")\n            .rules(            \n                InspectionCustomControlsRuleArgs.builder()\n                    .names(\"this\")\n                    .type(\"RESPONSE_HEADERS\")\n                    .conditions(InspectionCustomControlsRuleConditionArgs.builder()\n                        .lhs(\"SIZE\")\n                        .op(\"GE\")\n                        .rhs(\"1000\")\n                        .build())\n                    .build(),\n                InspectionCustomControlsRuleArgs.builder()\n                    .type(\"RESPONSE_BODY\")\n                    .conditions(InspectionCustomControlsRuleConditionArgs.builder()\n                        .lhs(\"SIZE\")\n                        .op(\"GE\")\n                        .rhs(\"1000\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:InspectionCustomControls\n    properties:\n      name: Example\n      description: Example\n      defaultAction: BLOCK\n      paranoiaLevel: '1'\n      severity: CRITICAL\n      type: RESPONSE\n      rules:\n        - names:\n            - this\n          type: RESPONSE_HEADERS\n          conditions:\n            - lhs: SIZE\n              op: GE\n              rhs: '1000'\n        - type: RESPONSE_BODY\n          conditions:\n            - lhs: SIZE\n              op: GE\n              rhs: '1000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example - Inspection Custom Control - REDIRECT Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.InspectionCustomControls(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    defaultAction: \"REDIRECT\",\n    defaultActionValue: \"https://test.com\",\n    paranoiaLevel: \"1\",\n    severity: \"CRITICAL\",\n    type: \"RESPONSE\",\n    rules: [\n        {\n            names: [\"this\"],\n            type: \"RESPONSE_HEADERS\",\n            conditions: [{\n                lhs: \"SIZE\",\n                op: \"GE\",\n                rhs: \"1000\",\n            }],\n        },\n        {\n            type: \"RESPONSE_BODY\",\n            conditions: [{\n                lhs: \"SIZE\",\n                op: \"GE\",\n                rhs: \"1000\",\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.InspectionCustomControls(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    default_action=\"REDIRECT\",\n    default_action_value=\"https://test.com\",\n    paranoia_level=\"1\",\n    severity=\"CRITICAL\",\n    type=\"RESPONSE\",\n    rules=[\n        {\n            \"names\": [\"this\"],\n            \"type\": \"RESPONSE_HEADERS\",\n            \"conditions\": [{\n                \"lhs\": \"SIZE\",\n                \"op\": \"GE\",\n                \"rhs\": \"1000\",\n            }],\n        },\n        {\n            \"type\": \"RESPONSE_BODY\",\n            \"conditions\": [{\n                \"lhs\": \"SIZE\",\n                \"op\": \"GE\",\n                \"rhs\": \"1000\",\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.InspectionCustomControls(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        DefaultAction = \"REDIRECT\",\n        DefaultActionValue = \"https://test.com\",\n        ParanoiaLevel = \"1\",\n        Severity = \"CRITICAL\",\n        Type = \"RESPONSE\",\n        Rules = new[]\n        {\n            new Zpa.Inputs.InspectionCustomControlsRuleArgs\n            {\n                Names = new[]\n                {\n                    \"this\",\n                },\n                Type = \"RESPONSE_HEADERS\",\n                Conditions = new[]\n                {\n                    new Zpa.Inputs.InspectionCustomControlsRuleConditionArgs\n                    {\n                        Lhs = \"SIZE\",\n                        Op = \"GE\",\n                        Rhs = \"1000\",\n                    },\n                },\n            },\n            new Zpa.Inputs.InspectionCustomControlsRuleArgs\n            {\n                Type = \"RESPONSE_BODY\",\n                Conditions = new[]\n                {\n                    new Zpa.Inputs.InspectionCustomControlsRuleConditionArgs\n                    {\n                        Lhs = \"SIZE\",\n                        Op = \"GE\",\n                        Rhs = \"1000\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewInspectionCustomControls(ctx, \"this\", \u0026zpa.InspectionCustomControlsArgs{\n\t\t\tName:               pulumi.String(\"Example\"),\n\t\t\tDescription:        pulumi.String(\"Example\"),\n\t\t\tDefaultAction:      pulumi.String(\"REDIRECT\"),\n\t\t\tDefaultActionValue: pulumi.String(\"https://test.com\"),\n\t\t\tParanoiaLevel:      pulumi.String(\"1\"),\n\t\t\tSeverity:           pulumi.String(\"CRITICAL\"),\n\t\t\tType:               pulumi.String(\"RESPONSE\"),\n\t\t\tRules: zpa.InspectionCustomControlsRuleArray{\n\t\t\t\t\u0026zpa.InspectionCustomControlsRuleArgs{\n\t\t\t\t\tNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"this\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"RESPONSE_HEADERS\"),\n\t\t\t\t\tConditions: zpa.InspectionCustomControlsRuleConditionArray{\n\t\t\t\t\t\t\u0026zpa.InspectionCustomControlsRuleConditionArgs{\n\t\t\t\t\t\t\tLhs: pulumi.String(\"SIZE\"),\n\t\t\t\t\t\t\tOp:  pulumi.String(\"GE\"),\n\t\t\t\t\t\t\tRhs: pulumi.String(\"1000\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.InspectionCustomControlsRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"RESPONSE_BODY\"),\n\t\t\t\t\tConditions: zpa.InspectionCustomControlsRuleConditionArray{\n\t\t\t\t\t\t\u0026zpa.InspectionCustomControlsRuleConditionArgs{\n\t\t\t\t\t\t\tLhs: pulumi.String(\"SIZE\"),\n\t\t\t\t\t\t\tOp:  pulumi.String(\"GE\"),\n\t\t\t\t\t\t\tRhs: pulumi.String(\"1000\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.InspectionCustomControls;\nimport com.pulumi.zpa.InspectionCustomControlsArgs;\nimport com.pulumi.zpa.inputs.InspectionCustomControlsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new InspectionCustomControls(\"this\", InspectionCustomControlsArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .defaultAction(\"REDIRECT\")\n            .defaultActionValue(\"https://test.com\")\n            .paranoiaLevel(\"1\")\n            .severity(\"CRITICAL\")\n            .type(\"RESPONSE\")\n            .rules(            \n                InspectionCustomControlsRuleArgs.builder()\n                    .names(\"this\")\n                    .type(\"RESPONSE_HEADERS\")\n                    .conditions(InspectionCustomControlsRuleConditionArgs.builder()\n                        .lhs(\"SIZE\")\n                        .op(\"GE\")\n                        .rhs(\"1000\")\n                        .build())\n                    .build(),\n                InspectionCustomControlsRuleArgs.builder()\n                    .type(\"RESPONSE_BODY\")\n                    .conditions(InspectionCustomControlsRuleConditionArgs.builder()\n                        .lhs(\"SIZE\")\n                        .op(\"GE\")\n                        .rhs(\"1000\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:InspectionCustomControls\n    properties:\n      name: Example\n      description: Example\n      defaultAction: REDIRECT\n      defaultActionValue: https://test.com\n      paranoiaLevel: '1'\n      severity: CRITICAL\n      type: RESPONSE\n      rules:\n        - names:\n            - this\n          type: RESPONSE_HEADERS\n          conditions:\n            - lhs: SIZE\n              op: GE\n              rhs: '1000'\n        - type: RESPONSE_BODY\n          conditions:\n            - lhs: SIZE\n              op: GE\n              rhs: '1000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n","properties":{"controlType":{"type":"string"},"defaultAction":{"type":"string","description":"The performed action"},"defaultActionValue":{"type":"string","description":"This is used to provide the redirect URL if the default action is set to REDIRECT"},"description":{"type":"string","description":"Description of the custom control"},"name":{"type":"string"},"paranoiaLevel":{"type":"string","description":"OWASP Predefined Paranoia Level. Range: [1-4], inclusive"},"protocolType":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionCustomControlsRule:InspectionCustomControlsRule"},"description":"Rules of the custom controls applied as conditions (JSON)"},"severity":{"type":"string","description":"Severity of the control number"},"type":{"type":"string","description":"Rules to be applied to the request or response type"},"version":{"type":"string"}},"required":["controlType","defaultActionValue","description","name","paranoiaLevel","protocolType","rules","severity","type","version"],"inputProperties":{"controlType":{"type":"string"},"defaultAction":{"type":"string","description":"The performed action"},"defaultActionValue":{"type":"string","description":"This is used to provide the redirect URL if the default action is set to REDIRECT"},"description":{"type":"string","description":"Description of the custom control"},"name":{"type":"string"},"paranoiaLevel":{"type":"string","description":"OWASP Predefined Paranoia Level. Range: [1-4], inclusive"},"protocolType":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionCustomControlsRule:InspectionCustomControlsRule"},"description":"Rules of the custom controls applied as conditions (JSON)"},"severity":{"type":"string","description":"Severity of the control number"},"type":{"type":"string","description":"Rules to be applied to the request or response type"},"version":{"type":"string"}},"requiredInputs":["severity","type"],"stateInputs":{"description":"Input properties used for looking up and filtering InspectionCustomControls resources.\n","properties":{"controlType":{"type":"string"},"defaultAction":{"type":"string","description":"The performed action"},"defaultActionValue":{"type":"string","description":"This is used to provide the redirect URL if the default action is set to REDIRECT"},"description":{"type":"string","description":"Description of the custom control"},"name":{"type":"string"},"paranoiaLevel":{"type":"string","description":"OWASP Predefined Paranoia Level. Range: [1-4], inclusive"},"protocolType":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionCustomControlsRule:InspectionCustomControlsRule"},"description":"Rules of the custom controls applied as conditions (JSON)"},"severity":{"type":"string","description":"Severity of the control number"},"type":{"type":"string","description":"Rules to be applied to the request or response type"},"version":{"type":"string"}},"type":"object"}},"zpa:index/inspectionProfile:InspectionProfile":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-browser-protection-profiles)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-profiles-using-api)\n\nThe  **zpa_inspection_profile** resource creates an inspection profile in the Zscaler Private Access cloud. This resource can then be referenced in an inspection custom control resource.\n\n**NOTE** There are several ways to set up the Inspection Profile due to its complex data structure\n\n## Example Usage\n\n### Using Dynamic Blocks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getInspectionAllPredefinedControls({\n    version: \"OWASP_CRS/3.3.0\",\n    groupName: \"Preprocessors\",\n});\nconst thisGetInspectionPredefinedControls = zpa.getInspectionPredefinedControls({\n    name: \"Failed to parse request body\",\n    version: \"OWASP_CRS/3.3.0\",\n});\nconst thisInspectionProfile = new zpa.InspectionProfile(\"this\", {\n    predefinedControls: [{\n        id: thisGetInspectionPredefinedControls.then(thisGetInspectionPredefinedControls =\u003e thisGetInspectionPredefinedControls.id),\n        action: \"BLOCK\",\n    }],\n    name: \"Example\",\n    description: \"Example\",\n    paranoiaLevel: \"1\",\n    predefinedControlsVersion: \"OWASP_CRS/3.3.0\",\n    incarnationNumber: \"6\",\n    controlsInfos: [{\n        controlType: \"PREDEFINED\",\n    }],\n    globalControlActions: [\n        \"PREDEFINED:PASS\",\n        \"CUSTOM:NONE\",\n        \"OVERRIDE_ACTION:COMMON\",\n    ],\n    commonGlobalOverrideActionsConfig: {\n        PREDEF_CNTRL_GLOBAL_ACTION: \"PASS\",\n        IS_OVERRIDE_ACTION_COMMON: \"TRUE\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_inspection_all_predefined_controls(version=\"OWASP_CRS/3.3.0\",\n    group_name=\"Preprocessors\")\nthis_get_inspection_predefined_controls = zpa.get_inspection_predefined_controls(name=\"Failed to parse request body\",\n    version=\"OWASP_CRS/3.3.0\")\nthis_inspection_profile = zpa.InspectionProfile(\"this\",\n    predefined_controls=[{\n        \"id\": this_get_inspection_predefined_controls.id,\n        \"action\": \"BLOCK\",\n    }],\n    name=\"Example\",\n    description=\"Example\",\n    paranoia_level=\"1\",\n    predefined_controls_version=\"OWASP_CRS/3.3.0\",\n    incarnation_number=\"6\",\n    controls_infos=[{\n        \"control_type\": \"PREDEFINED\",\n    }],\n    global_control_actions=[\n        \"PREDEFINED:PASS\",\n        \"CUSTOM:NONE\",\n        \"OVERRIDE_ACTION:COMMON\",\n    ],\n    common_global_override_actions_config={\n        \"PREDEF_CNTRL_GLOBAL_ACTION\": \"PASS\",\n        \"IS_OVERRIDE_ACTION_COMMON\": \"TRUE\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetInspectionAllPredefinedControls.Invoke(new()\n    {\n        Version = \"OWASP_CRS/3.3.0\",\n        GroupName = \"Preprocessors\",\n    });\n\n    var thisGetInspectionPredefinedControls = Zpa.GetInspectionPredefinedControls.Invoke(new()\n    {\n        Name = \"Failed to parse request body\",\n        Version = \"OWASP_CRS/3.3.0\",\n    });\n\n    var thisInspectionProfile = new Zpa.InspectionProfile(\"this\", new()\n    {\n        PredefinedControls = new[]\n        {\n            new Zpa.Inputs.InspectionProfilePredefinedControlArgs\n            {\n                Id = thisGetInspectionPredefinedControls.Apply(getInspectionPredefinedControlsResult =\u003e getInspectionPredefinedControlsResult.Id),\n                Action = \"BLOCK\",\n            },\n        },\n        Name = \"Example\",\n        Description = \"Example\",\n        ParanoiaLevel = \"1\",\n        PredefinedControlsVersion = \"OWASP_CRS/3.3.0\",\n        IncarnationNumber = \"6\",\n        ControlsInfos = new[]\n        {\n            new Zpa.Inputs.InspectionProfileControlsInfoArgs\n            {\n                ControlType = \"PREDEFINED\",\n            },\n        },\n        GlobalControlActions = new[]\n        {\n            \"PREDEFINED:PASS\",\n            \"CUSTOM:NONE\",\n            \"OVERRIDE_ACTION:COMMON\",\n        },\n        CommonGlobalOverrideActionsConfig = \n        {\n            { \"PREDEF_CNTRL_GLOBAL_ACTION\", \"PASS\" },\n            { \"IS_OVERRIDE_ACTION_COMMON\", \"TRUE\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetInspectionAllPredefinedControls(ctx, \u0026zpa.GetInspectionAllPredefinedControlsArgs{\n\t\t\tVersion:   pulumi.StringRef(\"OWASP_CRS/3.3.0\"),\n\t\t\tGroupName: pulumi.StringRef(\"Preprocessors\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetInspectionPredefinedControls, err := zpa.GetInspectionPredefinedControls(ctx, \u0026zpa.GetInspectionPredefinedControlsArgs{\n\t\t\tName:    pulumi.StringRef(\"Failed to parse request body\"),\n\t\t\tVersion: pulumi.StringRef(\"OWASP_CRS/3.3.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewInspectionProfile(ctx, \"this\", \u0026zpa.InspectionProfileArgs{\n\t\t\tPredefinedControls: zpa.InspectionProfilePredefinedControlArray{\n\t\t\t\t\u0026zpa.InspectionProfilePredefinedControlArgs{\n\t\t\t\t\tId:     pulumi.String(thisGetInspectionPredefinedControls.Id),\n\t\t\t\t\tAction: pulumi.String(\"BLOCK\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName:                      pulumi.String(\"Example\"),\n\t\t\tDescription:               pulumi.String(\"Example\"),\n\t\t\tParanoiaLevel:             pulumi.String(\"1\"),\n\t\t\tPredefinedControlsVersion: pulumi.String(\"OWASP_CRS/3.3.0\"),\n\t\t\tIncarnationNumber:         \"6\",\n\t\t\tControlsInfos: zpa.InspectionProfileControlsInfoArray{\n\t\t\t\t\u0026zpa.InspectionProfileControlsInfoArgs{\n\t\t\t\t\tControlType: pulumi.String(\"PREDEFINED\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tGlobalControlActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PREDEFINED:PASS\"),\n\t\t\t\tpulumi.String(\"CUSTOM:NONE\"),\n\t\t\t\tpulumi.String(\"OVERRIDE_ACTION:COMMON\"),\n\t\t\t},\n\t\t\tCommonGlobalOverrideActionsConfig: pulumi.StringMap{\n\t\t\t\t\"PREDEF_CNTRL_GLOBAL_ACTION\": pulumi.String(\"PASS\"),\n\t\t\t\t\"IS_OVERRIDE_ACTION_COMMON\":  pulumi.String(\"TRUE\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetInspectionAllPredefinedControlsArgs;\nimport com.pulumi.zpa.inputs.GetInspectionPredefinedControlsArgs;\nimport com.pulumi.zpa.InspectionProfile;\nimport com.pulumi.zpa.InspectionProfileArgs;\nimport com.pulumi.zpa.inputs.InspectionProfilePredefinedControlArgs;\nimport com.pulumi.zpa.inputs.InspectionProfileControlsInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getInspectionAllPredefinedControls(GetInspectionAllPredefinedControlsArgs.builder()\n            .version(\"OWASP_CRS/3.3.0\")\n            .groupName(\"Preprocessors\")\n            .build());\n\n        final var thisGetInspectionPredefinedControls = ZpaFunctions.getInspectionPredefinedControls(GetInspectionPredefinedControlsArgs.builder()\n            .name(\"Failed to parse request body\")\n            .version(\"OWASP_CRS/3.3.0\")\n            .build());\n\n        var thisInspectionProfile = new InspectionProfile(\"thisInspectionProfile\", InspectionProfileArgs.builder()\n            .predefinedControls(InspectionProfilePredefinedControlArgs.builder()\n                .id(thisGetInspectionPredefinedControls.id())\n                .action(\"BLOCK\")\n                .build())\n            .name(\"Example\")\n            .description(\"Example\")\n            .paranoiaLevel(\"1\")\n            .predefinedControlsVersion(\"OWASP_CRS/3.3.0\")\n            .incarnationNumber(\"6\")\n            .controlsInfos(InspectionProfileControlsInfoArgs.builder()\n                .controlType(\"PREDEFINED\")\n                .build())\n            .globalControlActions(            \n                \"PREDEFINED:PASS\",\n                \"CUSTOM:NONE\",\n                \"OVERRIDE_ACTION:COMMON\")\n            .commonGlobalOverrideActionsConfig(Map.ofEntries(\n                Map.entry(\"PREDEF_CNTRL_GLOBAL_ACTION\", \"PASS\"),\n                Map.entry(\"IS_OVERRIDE_ACTION_COMMON\", \"TRUE\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisInspectionProfile:\n    type: zpa:InspectionProfile\n    name: this\n    properties:\n      predefinedControls:\n        - id: ${thisGetInspectionPredefinedControls.id}\n          action: BLOCK\n      name: Example\n      description: Example\n      paranoiaLevel: '1'\n      predefinedControlsVersion: OWASP_CRS/3.3.0\n      incarnationNumber: '6'\n      controlsInfos:\n        - controlType: PREDEFINED\n      globalControlActions:\n        - PREDEFINED:PASS\n        - CUSTOM:NONE\n        - OVERRIDE_ACTION:COMMON\n      commonGlobalOverrideActionsConfig:\n        PREDEF_CNTRL_GLOBAL_ACTION: PASS\n        IS_OVERRIDE_ACTION_COMMON: TRUE\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getInspectionAllPredefinedControls\n      arguments:\n        version: OWASP_CRS/3.3.0\n        groupName: Preprocessors\n  thisGetInspectionPredefinedControls:\n    fn::invoke:\n      function: zpa:getInspectionPredefinedControls\n      arguments:\n        name: Failed to parse request body\n        version: OWASP_CRS/3.3.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Using Locals And Dynamic Blocks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as std from \"@pulumi/std\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst groupNames = {\n    defaultPredefinedControls: \"preprocessors\",\n    group1: \"Protocol Issues\",\n    group2: \"Environment and port scanners\",\n    group3: \"Remote Code Execution\",\n    group4: \"Remote file inclusion\",\n    group5: \"Local File Inclusion\",\n    group6: \"Request smuggling or Response split or Header injection\",\n    group7: \"PHP Injection\",\n    group8: \"XSS\",\n    group9: \"SQL Injection\",\n    group10: \"Session Fixation\",\n    group11: \"Deserialization Issues\",\n    group12: \"Anomalies\",\n    group13: \"Request smuggling or Response split or Header injection\",\n};\n// Dynamically create data sources using for_each\nconst all = Object.entries(groupNames).reduce((__obj, [__key, __value]) =\u003e ({ ...__obj, [__key]: zpa.getInspectionAllPredefinedControls({\n    groupName: __value,\n}) }));\nconst combinedPredefinedControls = _arg0_.result;\nconst example = new zpa.InspectionProfile(\"example\", {\n    predefinedControls: combinedPredefinedControls.map((v, k) =\u003e ({key: k, value: v})).apply(entries =\u003e entries.map(entry =\u003e ({\n        id: entry.value.id,\n        action: entry.value.action == \"\" ? entry.value.defaultAction : entry.value.action,\n    }))),\n    name: \"Example\",\n    description: \"Example\",\n    paranoiaLevel: \"2\",\n    incarnationNumber: \"6\",\n    controlsInfos: [{\n        controlType: \"PREDEFINED\",\n    }],\n    globalControlActions: [\n        \"PREDEFINED:PASS\",\n        \"CUSTOM:NONE\",\n        \"OVERRIDE_ACTION:COMMON\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_std as std\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\ngroup_names = {\n    \"defaultPredefinedControls\": \"preprocessors\",\n    \"group1\": \"Protocol Issues\",\n    \"group2\": \"Environment and port scanners\",\n    \"group3\": \"Remote Code Execution\",\n    \"group4\": \"Remote file inclusion\",\n    \"group5\": \"Local File Inclusion\",\n    \"group6\": \"Request smuggling or Response split or Header injection\",\n    \"group7\": \"PHP Injection\",\n    \"group8\": \"XSS\",\n    \"group9\": \"SQL Injection\",\n    \"group10\": \"Session Fixation\",\n    \"group11\": \"Deserialization Issues\",\n    \"group12\": \"Anomalies\",\n    \"group13\": \"Request smuggling or Response split or Header injection\",\n}\n# Dynamically create data sources using for_each\nall = {__key: zpa.get_inspection_all_predefined_controls(group_name=__value) for __key, __value in group_names}\ncombined_predefined_controls = std.flatten(input=[ds.list for ds in all]).result\nexample = zpa.InspectionProfile(\"example\",\n    predefined_controls=[{\"key\": k, \"value\": v} for k, v in combined_predefined_controls].apply(lambda entries: [{\n        \"id\": entry[\"value\"][\"id\"],\n        \"action\": entry[\"value\"][\"defaultAction\"] if entry[\"value\"][\"action\"] == \"\" else entry[\"value\"][\"action\"],\n    } for entry in entries]),\n    name=\"Example\",\n    description=\"Example\",\n    paranoia_level=\"2\",\n    incarnation_number=\"6\",\n    controls_infos=[{\n        \"control_type\": \"PREDEFINED\",\n    }],\n    global_control_actions=[\n        \"PREDEFINED:PASS\",\n        \"CUSTOM:NONE\",\n        \"OVERRIDE_ACTION:COMMON\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Std = Pulumi.Std;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var groupNames = \n    {\n        { \"defaultPredefinedControls\", \"preprocessors\" },\n        { \"group1\", \"Protocol Issues\" },\n        { \"group2\", \"Environment and port scanners\" },\n        { \"group3\", \"Remote Code Execution\" },\n        { \"group4\", \"Remote file inclusion\" },\n        { \"group5\", \"Local File Inclusion\" },\n        { \"group6\", \"Request smuggling or Response split or Header injection\" },\n        { \"group7\", \"PHP Injection\" },\n        { \"group8\", \"XSS\" },\n        { \"group9\", \"SQL Injection\" },\n        { \"group10\", \"Session Fixation\" },\n        { \"group11\", \"Deserialization Issues\" },\n        { \"group12\", \"Anomalies\" },\n        { \"group13\", \"Request smuggling or Response split or Header injection\" },\n    };\n\n    // Dynamically create data sources using for_each\n    var all = .ToDictionary(item =\u003e {\n        var __key = item.Key;\n        return __key;\n    }, item =\u003e {\n        var __value = item.Value;\n        return Zpa.GetInspectionAllPredefinedControls.Invoke(new()\n        {\n            GroupName = __value,\n        });\n    });\n\n    var combinedPredefinedControls = _arg0_.Result;\n\n    var example = new Zpa.InspectionProfile(\"example\", new()\n    {\n        PredefinedControls = .Apply(entries =\u003e entries.Select(entry =\u003e \n        {\n            return \n            {\n                { \"id\", entry.Value.Id },\n                { \"action\", entry.Value.Action == \"\" ? entry.Value.DefaultAction : entry.Value.Action },\n            };\n        }).ToList()),\n        Name = \"Example\",\n        Description = \"Example\",\n        ParanoiaLevel = \"2\",\n        IncarnationNumber = \"6\",\n        ControlsInfos = new[]\n        {\n            new Zpa.Inputs.InspectionProfileControlsInfoArgs\n            {\n                ControlType = \"PREDEFINED\",\n            },\n        },\n        GlobalControlActions = new[]\n        {\n            \"PREDEFINED:PASS\",\n            \"CUSTOM:NONE\",\n            \"OVERRIDE_ACTION:COMMON\",\n        },\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Using With ThreatLabz And Dynamic Blocks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as std from \"@pulumi/std\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst groupNames = {\n    defaultPredefinedControls: \"preprocessors\",\n};\n// Retrieve all IDs and Actions for the preprocessors Control\nconst all = Object.entries(groupNames).reduce((__obj, [__key, __value]) =\u003e ({ ...__obj, [__key]: zpa.getInspectionAllPredefinedControls({\n    groupName: __value,\n}) }));\nconst combinedPredefinedControls = _arg0_.result;\nconst threatLabzControls = [\n    {\n        id: \"1\",\n        action: \"PASS\",\n    },\n    {\n        id: \"2\",\n        action: \"PASS\",\n    },\n    {\n        id: \"3\",\n        action: \"PASS\",\n    },\n];\nconst example = new zpa.InspectionProfile(\"example\", {\n    predefinedControls: combinedPredefinedControls.map((v, k) =\u003e ({key: k, value: v})).apply(entries =\u003e entries.map(entry =\u003e ({\n        id: entry.value.id,\n        action: entry.value.action == \"\" ? entry.value.defaultAction : entry.value.action,\n    }))),\n    threatLabzControls: threatLabzControls.map((v, k) =\u003e ({key: k, value: v})).map(entry2 =\u003e ({\n        id: entry2.value.id,\n        action: entry2.value.action,\n    })),\n    name: \"ThreatLabz_Inspection_Profile\",\n    description: \"ThreatLabz Inspection Profile\",\n    paranoiaLevel: \"2\",\n    incarnationNumber: \"6\",\n    zsDefinedControlChoice: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_std as std\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\ngroup_names = {\n    \"defaultPredefinedControls\": \"preprocessors\",\n}\n# Retrieve all IDs and Actions for the preprocessors Control\nall = {__key: zpa.get_inspection_all_predefined_controls(group_name=__value) for __key, __value in group_names}\ncombined_predefined_controls = std.flatten(input=[ds.list for ds in all]).result\nthreat_labz_controls = [\n    {\n        \"id\": \"1\",\n        \"action\": \"PASS\",\n    },\n    {\n        \"id\": \"2\",\n        \"action\": \"PASS\",\n    },\n    {\n        \"id\": \"3\",\n        \"action\": \"PASS\",\n    },\n]\nexample = zpa.InspectionProfile(\"example\",\n    predefined_controls=[{\"key\": k, \"value\": v} for k, v in combined_predefined_controls].apply(lambda entries: [{\n        \"id\": entry[\"value\"][\"id\"],\n        \"action\": entry[\"value\"][\"defaultAction\"] if entry[\"value\"][\"action\"] == \"\" else entry[\"value\"][\"action\"],\n    } for entry in entries]),\n    threat_labz_controls=[{\n        \"id\": entry2[\"value\"][\"id\"],\n        \"action\": entry2[\"value\"][\"action\"],\n    } for entry2 in [{\"key\": k, \"value\": v} for k, v in threat_labz_controls]],\n    name=\"ThreatLabz_Inspection_Profile\",\n    description=\"ThreatLabz Inspection Profile\",\n    paranoia_level=\"2\",\n    incarnation_number=\"6\",\n    zs_defined_control_choice=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Std = Pulumi.Std;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var groupNames = \n    {\n        { \"defaultPredefinedControls\", \"preprocessors\" },\n    };\n\n    // Retrieve all IDs and Actions for the preprocessors Control\n    var all = .ToDictionary(item =\u003e {\n        var __key = item.Key;\n        return __key;\n    }, item =\u003e {\n        var __value = item.Value;\n        return Zpa.GetInspectionAllPredefinedControls.Invoke(new()\n        {\n            GroupName = __value,\n        });\n    });\n\n    var combinedPredefinedControls = _arg0_.Result;\n\n    var threatLabzControls = new[]\n    {\n        \n        {\n            { \"id\", \"1\" },\n            { \"action\", \"PASS\" },\n        },\n        \n        {\n            { \"id\", \"2\" },\n            { \"action\", \"PASS\" },\n        },\n        \n        {\n            { \"id\", \"3\" },\n            { \"action\", \"PASS\" },\n        },\n    };\n\n    var example = new Zpa.InspectionProfile(\"example\", new()\n    {\n        PredefinedControls = .Apply(entries =\u003e entries.Select(entry =\u003e \n        {\n            return \n            {\n                { \"id\", entry.Value.Id },\n                { \"action\", entry.Value.Action == \"\" ? entry.Value.DefaultAction : entry.Value.Action },\n            };\n        }).ToList()),\n        ThreatLabzControls = threatLabzControls.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry2 =\u003e \n        {\n            return new Zpa.Inputs.InspectionProfileThreatLabzControlArgs\n            {\n                Id = entry2.Value.Id,\n                Action = entry2.Value.Action,\n            };\n        }).ToList(),\n        Name = \"ThreatLabz_Inspection_Profile\",\n        Description = \"ThreatLabz Inspection Profile\",\n        ParanoiaLevel = \"2\",\n        IncarnationNumber = \"6\",\n        ZsDefinedControlChoice = \"ALL\",\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n","properties":{"apiProfile":{"type":"boolean"},"associateAllControls":{"type":"boolean"},"commonGlobalOverrideActionsConfig":{"type":"object","additionalProperties":{"type":"string"}},"controlsInfos":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileControlsInfo:InspectionProfileControlsInfo"}},"customControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileCustomControl:InspectionProfileCustomControl"},"description":"The set of AppProtection controls used to define how inspections are managed"},"description":{"type":"string","description":"The description of the AppProtection profile"},"globalControlActions":{"type":"array","items":{"type":"string"},"description":"The actions of the predefined, custom, or override controls"},"name":{"type":"string"},"overrideAction":{"type":"string"},"paranoiaLevel":{"type":"string","description":"The OWASP Predefined Paranoia Level"},"predefinedApiControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfilePredefinedApiControl:InspectionProfilePredefinedApiControl"},"description":"The predefined controls"},"predefinedControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfilePredefinedControl:InspectionProfilePredefinedControl"},"description":"The predefined controls"},"predefinedControlsVersion":{"type":"string","description":"The protocol for the AppProtection application"},"threatLabzControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileThreatLabzControl:InspectionProfileThreatLabzControl"},"description":"The ThreatLabZ predefined controls"},"websocketControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileWebsocketControl:InspectionProfileWebsocketControl"},"description":"The WebSocket predefined controls"},"zsDefinedControlChoice":{"type":"string","description":"Indicates the user's choice for the ThreatLabZ Controls. Supported values: ALL and SPECIFIC"}},"required":["commonGlobalOverrideActionsConfig","controlsInfos","name"],"inputProperties":{"apiProfile":{"type":"boolean"},"associateAllControls":{"type":"boolean"},"commonGlobalOverrideActionsConfig":{"type":"object","additionalProperties":{"type":"string"}},"controlsInfos":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileControlsInfo:InspectionProfileControlsInfo"}},"customControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileCustomControl:InspectionProfileCustomControl"},"description":"The set of AppProtection controls used to define how inspections are managed"},"description":{"type":"string","description":"The description of the AppProtection profile"},"globalControlActions":{"type":"array","items":{"type":"string"},"description":"The actions of the predefined, custom, or override controls"},"name":{"type":"string"},"overrideAction":{"type":"string"},"paranoiaLevel":{"type":"string","description":"The OWASP Predefined Paranoia Level"},"predefinedApiControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfilePredefinedApiControl:InspectionProfilePredefinedApiControl"},"description":"The predefined controls"},"predefinedControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfilePredefinedControl:InspectionProfilePredefinedControl"},"description":"The predefined controls"},"predefinedControlsVersion":{"type":"string","description":"The protocol for the AppProtection application"},"threatLabzControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileThreatLabzControl:InspectionProfileThreatLabzControl"},"description":"The ThreatLabZ predefined controls"},"websocketControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileWebsocketControl:InspectionProfileWebsocketControl"},"description":"The WebSocket predefined controls"},"zsDefinedControlChoice":{"type":"string","description":"Indicates the user's choice for the ThreatLabZ Controls. Supported values: ALL and SPECIFIC"}},"stateInputs":{"description":"Input properties used for looking up and filtering InspectionProfile resources.\n","properties":{"apiProfile":{"type":"boolean"},"associateAllControls":{"type":"boolean"},"commonGlobalOverrideActionsConfig":{"type":"object","additionalProperties":{"type":"string"}},"controlsInfos":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileControlsInfo:InspectionProfileControlsInfo"}},"customControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileCustomControl:InspectionProfileCustomControl"},"description":"The set of AppProtection controls used to define how inspections are managed"},"description":{"type":"string","description":"The description of the AppProtection profile"},"globalControlActions":{"type":"array","items":{"type":"string"},"description":"The actions of the predefined, custom, or override controls"},"name":{"type":"string"},"overrideAction":{"type":"string"},"paranoiaLevel":{"type":"string","description":"The OWASP Predefined Paranoia Level"},"predefinedApiControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfilePredefinedApiControl:InspectionProfilePredefinedApiControl"},"description":"The predefined controls"},"predefinedControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfilePredefinedControl:InspectionProfilePredefinedControl"},"description":"The predefined controls"},"predefinedControlsVersion":{"type":"string","description":"The protocol for the AppProtection application"},"threatLabzControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileThreatLabzControl:InspectionProfileThreatLabzControl"},"description":"The ThreatLabZ predefined controls"},"websocketControls":{"type":"array","items":{"$ref":"#/types/zpa:index/InspectionProfileWebsocketControl:InspectionProfileWebsocketControl"},"description":"The WebSocket predefined controls"},"zsDefinedControlChoice":{"type":"string","description":"Indicates the user's choice for the ThreatLabZ Controls. Supported values: ALL and SPECIFIC"}},"type":"object"}},"zpa:index/lSSConfigController:LSSConfigController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-log-streaming-service)\n* [API documentation](https://help.zscaler.com/zpa/configuring-log-streaming-service-configurations-using-api)\n\nThe **zpa_lss_config_controller** resource creates and manages Log Streaming Service (LSS) in the Zscaler Private Access cloud for App Connector Metrics \u003cspan pulumi-lang-nodejs=\"`zpnAstComprehensiveStats`\" pulumi-lang-dotnet=\"`ZpnAstComprehensiveStats`\" pulumi-lang-go=\"`zpnAstComprehensiveStats`\" pulumi-lang-python=\"`zpn_ast_comprehensive_stats`\" pulumi-lang-yaml=\"`zpnAstComprehensiveStats`\" pulumi-lang-java=\"`zpnAstComprehensiveStats`\"\u003e`zpn_ast_comprehensive_stats`\u003c/span\u003e.\n\n## Example 1 - LSS App Connector Metrics - Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get Log Type Format - \"App Connector Metrics\"\nconst zpnAstComprehensiveStats = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_ast_comprehensive_stats\",\n});\nconst lssSiemPolicy = zpa.getPolicyType({\n    policyType: \"SIEM_POLICY\",\n});\nconst _this = zpa.getAppConnectorGroup({\n    name: \"Example100\",\n});\nconst lssAppConnectorMetrics = new zpa.LSSConfigController(\"lss_app_connector_metrics\", {\n    config: {\n        name: \"LSS App Connector Metrics\",\n        description: \"LSS App Connector Metrics\",\n        enabled: true,\n        format: zpnAstComprehensiveStats.then(zpnAstComprehensiveStats =\u003e zpnAstComprehensiveStats.json),\n        lssHost: \"splunk1.acme.com\",\n        lssPort: \"5001\",\n        sourceLogType: \"zpn_ast_comprehensive_stats\",\n        useTls: true,\n    },\n    connectorGroups: [{\n        ids: [_this.then(_this =\u003e _this.id)],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Get Log Type Format - \"App Connector Metrics\"\nzpn_ast_comprehensive_stats = zpa.get_lss_log_type_formats(log_type=\"zpn_ast_comprehensive_stats\")\nlss_siem_policy = zpa.get_policy_type(policy_type=\"SIEM_POLICY\")\nthis = zpa.get_app_connector_group(name=\"Example100\")\nlss_app_connector_metrics = zpa.LSSConfigController(\"lss_app_connector_metrics\",\n    config={\n        \"name\": \"LSS App Connector Metrics\",\n        \"description\": \"LSS App Connector Metrics\",\n        \"enabled\": True,\n        \"format\": zpn_ast_comprehensive_stats.json,\n        \"lss_host\": \"splunk1.acme.com\",\n        \"lss_port\": \"5001\",\n        \"source_log_type\": \"zpn_ast_comprehensive_stats\",\n        \"use_tls\": True,\n    },\n    connector_groups=[{\n        \"ids\": [this.id],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get Log Type Format - \"App Connector Metrics\"\n    var zpnAstComprehensiveStats = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_ast_comprehensive_stats\",\n    });\n\n    var lssSiemPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"SIEM_POLICY\",\n    });\n\n    var @this = Zpa.GetAppConnectorGroup.Invoke(new()\n    {\n        Name = \"Example100\",\n    });\n\n    var lssAppConnectorMetrics = new Zpa.LSSConfigController(\"lss_app_connector_metrics\", new()\n    {\n        Config = new Zpa.Inputs.LSSConfigControllerConfigArgs\n        {\n            Name = \"LSS App Connector Metrics\",\n            Description = \"LSS App Connector Metrics\",\n            Enabled = true,\n            Format = zpnAstComprehensiveStats.Apply(getLSSLogTypeFormatsResult =\u003e getLSSLogTypeFormatsResult.Json),\n            LssHost = \"splunk1.acme.com\",\n            LssPort = \"5001\",\n            SourceLogType = \"zpn_ast_comprehensive_stats\",\n            UseTls = true,\n        },\n        ConnectorGroups = new[]\n        {\n            new Zpa.Inputs.LSSConfigControllerConnectorGroupArgs\n            {\n                Ids = new[]\n                {\n                    @this.Apply(@this =\u003e @this.Apply(getAppConnectorGroupResult =\u003e getAppConnectorGroupResult.Id)),\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get Log Type Format - \"App Connector Metrics\"\n\t\tzpnAstComprehensiveStats, err := zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_ast_comprehensive_stats\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"SIEM_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := zpa.GetAppConnectorGroup(ctx, \u0026zpa.GetAppConnectorGroupArgs{\n\t\t\tName: pulumi.StringRef(\"Example100\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewLSSConfigController(ctx, \"lss_app_connector_metrics\", \u0026zpa.LSSConfigControllerArgs{\n\t\t\tConfig: \u0026zpa.LSSConfigControllerConfigArgs{\n\t\t\t\tName:          pulumi.String(\"LSS App Connector Metrics\"),\n\t\t\t\tDescription:   pulumi.String(\"LSS App Connector Metrics\"),\n\t\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\t\tFormat:        pulumi.String(zpnAstComprehensiveStats.Json),\n\t\t\t\tLssHost:       pulumi.String(\"splunk1.acme.com\"),\n\t\t\t\tLssPort:       pulumi.String(\"5001\"),\n\t\t\t\tSourceLogType: pulumi.String(\"zpn_ast_comprehensive_stats\"),\n\t\t\t\tUseTls:        pulumi.Bool(true),\n\t\t\t},\n\t\t\tConnectorGroups: zpa.LSSConfigControllerConnectorGroupArray{\n\t\t\t\t\u0026zpa.LSSConfigControllerConnectorGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(this.Id),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLSSLogTypeFormatsArgs;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport com.pulumi.zpa.inputs.GetAppConnectorGroupArgs;\nimport com.pulumi.zpa.LSSConfigController;\nimport com.pulumi.zpa.LSSConfigControllerArgs;\nimport com.pulumi.zpa.inputs.LSSConfigControllerConfigArgs;\nimport com.pulumi.zpa.inputs.LSSConfigControllerConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get Log Type Format - \"App Connector Metrics\"\n        final var zpnAstComprehensiveStats = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_ast_comprehensive_stats\")\n            .build());\n\n        final var lssSiemPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"SIEM_POLICY\")\n            .build());\n\n        final var this = ZpaFunctions.getAppConnectorGroup(GetAppConnectorGroupArgs.builder()\n            .name(\"Example100\")\n            .build());\n\n        var lssAppConnectorMetrics = new LSSConfigController(\"lssAppConnectorMetrics\", LSSConfigControllerArgs.builder()\n            .config(LSSConfigControllerConfigArgs.builder()\n                .name(\"LSS App Connector Metrics\")\n                .description(\"LSS App Connector Metrics\")\n                .enabled(true)\n                .format(zpnAstComprehensiveStats.json())\n                .lssHost(\"splunk1.acme.com\")\n                .lssPort(\"5001\")\n                .sourceLogType(\"zpn_ast_comprehensive_stats\")\n                .useTls(true)\n                .build())\n            .connectorGroups(LSSConfigControllerConnectorGroupArgs.builder()\n                .ids(this_.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lssAppConnectorMetrics:\n    type: zpa:LSSConfigController\n    name: lss_app_connector_metrics\n    properties:\n      config:\n        name: LSS App Connector Metrics\n        description: LSS App Connector Metrics\n        enabled: true\n        format: ${zpnAstComprehensiveStats.json}\n        lssHost: splunk1.acme.com\n        lssPort: '5001'\n        sourceLogType: zpn_ast_comprehensive_stats\n        useTls: true\n      connectorGroups:\n        - ids:\n            - ${this.id}\nvariables:\n  # Get Log Type Format - \"App Connector Metrics\"\n  zpnAstComprehensiveStats:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_ast_comprehensive_stats\n  lssSiemPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: SIEM_POLICY\n  this:\n    fn::invoke:\n      function: zpa:getAppConnectorGroup\n      arguments:\n        name: Example100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LSS Source Log Type Table\n\n|       Source Log Type                     |            Description                 |\n|-------------------------------------------|----------------------------------------|\n|        \u003cspan pulumi-lang-nodejs=\"`zpnTransLog`\" pulumi-lang-dotnet=\"`ZpnTransLog`\" pulumi-lang-go=\"`zpnTransLog`\" pulumi-lang-python=\"`zpn_trans_log`\" pulumi-lang-yaml=\"`zpnTransLog`\" pulumi-lang-java=\"`zpnTransLog`\"\u003e`zpn_trans_log`\u003c/span\u003e                    |        `User Activity`                 |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnAuthLog`\" pulumi-lang-dotnet=\"`ZpnAuthLog`\" pulumi-lang-go=\"`zpnAuthLog`\" pulumi-lang-python=\"`zpn_auth_log`\" pulumi-lang-yaml=\"`zpnAuthLog`\" pulumi-lang-java=\"`zpnAuthLog`\"\u003e`zpn_auth_log`\u003c/span\u003e                     |         `User Status`                  |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnAstAuthLog`\" pulumi-lang-dotnet=\"`ZpnAstAuthLog`\" pulumi-lang-go=\"`zpnAstAuthLog`\" pulumi-lang-python=\"`zpn_ast_auth_log`\" pulumi-lang-yaml=\"`zpnAstAuthLog`\" pulumi-lang-java=\"`zpnAstAuthLog`\"\u003e`zpn_ast_auth_log`\u003c/span\u003e                 |        `App Connector Status`          |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnHttpTransLog`\" pulumi-lang-dotnet=\"`ZpnHttpTransLog`\" pulumi-lang-go=\"`zpnHttpTransLog`\" pulumi-lang-python=\"`zpn_http_trans_log`\" pulumi-lang-yaml=\"`zpnHttpTransLog`\" pulumi-lang-java=\"`zpnHttpTransLog`\"\u003e`zpn_http_trans_log`\u003c/span\u003e               |         `Web Browser`                  |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnAuditLog`\" pulumi-lang-dotnet=\"`ZpnAuditLog`\" pulumi-lang-go=\"`zpnAuditLog`\" pulumi-lang-python=\"`zpn_audit_log`\" pulumi-lang-yaml=\"`zpnAuditLog`\" pulumi-lang-java=\"`zpnAuditLog`\"\u003e`zpn_audit_log`\u003c/span\u003e                    |         `Audit Logs`                   |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnSysAuthLog`\" pulumi-lang-dotnet=\"`ZpnSysAuthLog`\" pulumi-lang-go=\"`zpnSysAuthLog`\" pulumi-lang-python=\"`zpn_sys_auth_log`\" pulumi-lang-yaml=\"`zpnSysAuthLog`\" pulumi-lang-java=\"`zpnSysAuthLog`\"\u003e`zpn_sys_auth_log`\u003c/span\u003e                 |         `Private Service Edge Status`  |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnAstComprehensiveStats`\" pulumi-lang-dotnet=\"`ZpnAstComprehensiveStats`\" pulumi-lang-go=\"`zpnAstComprehensiveStats`\" pulumi-lang-python=\"`zpn_ast_comprehensive_stats`\" pulumi-lang-yaml=\"`zpnAstComprehensiveStats`\" pulumi-lang-java=\"`zpnAstComprehensiveStats`\"\u003e`zpn_ast_comprehensive_stats`\u003c/span\u003e      |         `App Connector Metrics`        |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnPbrokerComprehensiveStats`\" pulumi-lang-dotnet=\"`ZpnPbrokerComprehensiveStats`\" pulumi-lang-go=\"`zpnPbrokerComprehensiveStats`\" pulumi-lang-python=\"`zpn_pbroker_comprehensive_stats`\" pulumi-lang-yaml=\"`zpnPbrokerComprehensiveStats`\" pulumi-lang-java=\"`zpnPbrokerComprehensiveStats`\"\u003e`zpn_pbroker_comprehensive_stats`\u003c/span\u003e  |         `Private Service Edge Metrics` |\n|        \u003cspan pulumi-lang-nodejs=\"`zpnWafHttpExchangesLog`\" pulumi-lang-dotnet=\"`ZpnWafHttpExchangesLog`\" pulumi-lang-go=\"`zpnWafHttpExchangesLog`\" pulumi-lang-python=\"`zpn_waf_http_exchanges_log`\" pulumi-lang-yaml=\"`zpnWafHttpExchangesLog`\" pulumi-lang-java=\"`zpnWafHttpExchangesLog`\"\u003e`zpn_waf_http_exchanges_log`\u003c/span\u003e       |         `ZPA App Protection`           |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n","properties":{"config":{"$ref":"#/types/zpa:index/LSSConfigControllerConfig:LSSConfigControllerConfig"},"connectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/LSSConfigControllerConnectorGroup:LSSConfigControllerConnectorGroup"},"description":"App Connector Group(s) to be added to the LSS configuration"},"policyRuleId":{"type":"string"},"policyRuleResource":{"$ref":"#/types/zpa:index/LSSConfigControllerPolicyRuleResource:LSSConfigControllerPolicyRuleResource"}},"required":["policyRuleId"],"inputProperties":{"config":{"$ref":"#/types/zpa:index/LSSConfigControllerConfig:LSSConfigControllerConfig"},"connectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/LSSConfigControllerConnectorGroup:LSSConfigControllerConnectorGroup"},"description":"App Connector Group(s) to be added to the LSS configuration"},"policyRuleResource":{"$ref":"#/types/zpa:index/LSSConfigControllerPolicyRuleResource:LSSConfigControllerPolicyRuleResource"}},"stateInputs":{"description":"Input properties used for looking up and filtering LSSConfigController resources.\n","properties":{"config":{"$ref":"#/types/zpa:index/LSSConfigControllerConfig:LSSConfigControllerConfig"},"connectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/LSSConfigControllerConnectorGroup:LSSConfigControllerConnectorGroup"},"description":"App Connector Group(s) to be added to the LSS configuration"},"policyRuleId":{"type":"string"},"policyRuleResource":{"$ref":"#/types/zpa:index/LSSConfigControllerPolicyRuleResource:LSSConfigControllerPolicyRuleResource"}},"type":"object"}},"zpa:index/microtenant:Microtenant":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-microtenants)\n* [API documentation](https://help.zscaler.com/zpa/configuring-microtenants-using-api)\n\nThe **zpa_microtenant_controller** resource creates a microtenant controller in the Zscaler Private Access cloud. This resource allows organizations to delegate responsibilities of admins directly to the acquired or merged company admins so that they can manage their configurations independently\n\n⚠️ **WARNING:**: This feature is in limited availability and requires additional license. To learn more, contact Zscaler Support or your local account team.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Microtenant Controller resource\nconst _this = new zpa.Microtenant(\"this\", {\n    name: \"Microtenant_A\",\n    description: \"Microtenant_A\",\n    enabled: true,\n    criteriaAttribute: \"AuthDomain\",\n    criteriaAttributeValues: [\"acme.com\"],\n    privilegedApprovalsEnabled: true,\n});\nexport const zpaMicrotenantController1 = _this.users.apply(users =\u003e users.map(u =\u003e ({\n    microtenantId: u.microtenantId,\n    username: u.username,\n    password: u.password,\n})));\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Microtenant Controller resource\nthis = zpa.Microtenant(\"this\",\n    name=\"Microtenant_A\",\n    description=\"Microtenant_A\",\n    enabled=True,\n    criteria_attribute=\"AuthDomain\",\n    criteria_attribute_values=[\"acme.com\"],\n    privileged_approvals_enabled=True)\npulumi.export(\"zpaMicrotenantController1\", this.users.apply(lambda users: [{\n    \"microtenantId\": u.microtenant_id,\n    \"username\": u.username,\n    \"password\": u.password,\n} for u in users]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Microtenant Controller resource\n    var @this = new Zpa.Microtenant(\"this\", new()\n    {\n        Name = \"Microtenant_A\",\n        Description = \"Microtenant_A\",\n        Enabled = true,\n        CriteriaAttribute = \"AuthDomain\",\n        CriteriaAttributeValues = new[]\n        {\n            \"acme.com\",\n        },\n        PrivilegedApprovalsEnabled = true,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaMicrotenantController1\"] = @this.Users.Apply(users =\u003e users.Select(u =\u003e \n        {\n            return \n            {\n                { \"microtenantId\", u.MicrotenantId },\n                { \"username\", u.Username },\n                { \"password\", u.Password },\n            };\n        }).ToList()),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**microtenant_controller** can be imported by using `\u003cMICROTENANT ID\u003e` or `\u003cMICROTENANT NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/microtenant:Microtenant example \u003cmicrotenant_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/microtenant:Microtenant example \u003cmicrotenant_name\u003e\n```\n\n","properties":{"criteriaAttribute":{"type":"string","description":"- (Required) Type of authentication criteria for the microtenant\n"},"criteriaAttributeValues":{"type":"array","items":{"type":"string"},"description":"- (Required) The domain associated with the respective microtenant controller resource\n"},"description":{"type":"string","description":"The description of the Microtenant."},"enabled":{"type":"boolean","description":"Whether or not the Microtenant is enabled."},"name":{"type":"string","description":"- (Required) Name of the microtenant controller.\n"},"privilegedApprovalsEnabled":{"type":"boolean","description":"Indicates if Privileged Approvals is enabled (true) for the Microtenant. This allows approval-based access even if no Authentication Domain is selected."},"users":{"type":"array","items":{"$ref":"#/types/zpa:index/MicrotenantUser:MicrotenantUser"}}},"required":["criteriaAttributeValues","enabled","name","users"],"inputProperties":{"criteriaAttribute":{"type":"string","description":"- (Required) Type of authentication criteria for the microtenant\n"},"criteriaAttributeValues":{"type":"array","items":{"type":"string"},"description":"- (Required) The domain associated with the respective microtenant controller resource\n"},"description":{"type":"string","description":"The description of the Microtenant."},"enabled":{"type":"boolean","description":"Whether or not the Microtenant is enabled."},"name":{"type":"string","description":"- (Required) Name of the microtenant controller.\n"},"privilegedApprovalsEnabled":{"type":"boolean","description":"Indicates if Privileged Approvals is enabled (true) for the Microtenant. This allows approval-based access even if no Authentication Domain is selected."},"users":{"type":"array","items":{"$ref":"#/types/zpa:index/MicrotenantUser:MicrotenantUser"}}},"stateInputs":{"description":"Input properties used for looking up and filtering Microtenant resources.\n","properties":{"criteriaAttribute":{"type":"string","description":"- (Required) Type of authentication criteria for the microtenant\n"},"criteriaAttributeValues":{"type":"array","items":{"type":"string"},"description":"- (Required) The domain associated with the respective microtenant controller resource\n"},"description":{"type":"string","description":"The description of the Microtenant."},"enabled":{"type":"boolean","description":"Whether or not the Microtenant is enabled."},"name":{"type":"string","description":"- (Required) Name of the microtenant controller.\n"},"privilegedApprovalsEnabled":{"type":"boolean","description":"Indicates if Privileged Approvals is enabled (true) for the Microtenant. This allows approval-based access even if no Authentication Domain is selected."},"users":{"type":"array","items":{"$ref":"#/types/zpa:index/MicrotenantUser:MicrotenantUser"}}},"type":"object"}},"zpa:index/pRAApproval:PRAApproval":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-approvals)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-approvals-using-api)\n\nThe **zpa_pra_approval_controller** resource creates a privileged remote access approval in the Zscaler Private Access cloud. This resource allows third-party users and contractors to be able to log in to a Privileged Remote Access (PRA) portal. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Segment Group resource\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\n// ZPA App Connector Group resource\nconst thisConnectorGroup = new zpa.ConnectorGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    cityCountry: \"San Jose, CA\",\n    countryCode: \"US\",\n    latitude: \"37.338\",\n    longitude: \"-121.8863\",\n    location: \"San Jose, CA, US\",\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    overrideVersionProfile: true,\n    versionProfileId: \"0\",\n    dnsQueryType: \"IPV4\",\n});\n// ZPA Server Group resource\nconst thisServerGroup = new zpa.ServerGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    dynamicDiscovery: false,\n    appConnectorGroups: [{\n        ids: [thisConnectorGroup.id],\n    }],\n}, {\n    dependsOn: [thisConnectorGroup],\n});\n// ZPA Application Segment resource\nconst _this = new zpa.ApplicationSegment(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    healthReporting: \"ON_ACCESS\",\n    bypassType: \"NEVER\",\n    isCnameEnabled: true,\n    tcpPortRanges: [\n        \"8080\",\n        \"8080\",\n    ],\n    domainNames: [\"server.acme.com\"],\n    segmentGroupId: thisSegmentGroup.id,\n    serverGroups: [{\n        ids: [thisServerGroup.id],\n    }],\n}, {\n    dependsOn: [\n        thisServerGroup,\n        thisSegmentGroup,\n    ],\n});\n// Create PRA Approval Controller\nconst thisPRAApproval = new zpa.PRAApproval(\"this\", {\n    emailIds: [\"jdoe@acme.com\"],\n    startTime: \"Tue, 07 Mar 2024 11:05:30 PST\",\n    endTime: \"Tue, 07 Jun 2024 11:05:30 PST\",\n    status: \"FUTURE\",\n    applications: [{\n        ids: [_this.id],\n    }],\n    workingHours: [{\n        days: [\n            \"FRI\",\n            \"MON\",\n            \"SAT\",\n            \"SUN\",\n            \"THU\",\n            \"TUE\",\n            \"WED\",\n        ],\n        startTime: \"00:10\",\n        startTimeCron: \"0 0 8 ? * MON,TUE,WED,THU,FRI,SAT\",\n        endTime: \"09:15\",\n        endTimeCron: \"0 15 17 ? * MON,TUE,WED,THU,FRI,SAT\",\n        timezone: \"America/Vancouver\",\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Segment Group resource\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\n# ZPA App Connector Group resource\nthis_connector_group = zpa.ConnectorGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    city_country=\"San Jose, CA\",\n    country_code=\"US\",\n    latitude=\"37.338\",\n    longitude=\"-121.8863\",\n    location=\"San Jose, CA, US\",\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    override_version_profile=True,\n    version_profile_id=\"0\",\n    dns_query_type=\"IPV4\")\n# ZPA Server Group resource\nthis_server_group = zpa.ServerGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    dynamic_discovery=False,\n    app_connector_groups=[{\n        \"ids\": [this_connector_group.id],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[this_connector_group]))\n# ZPA Application Segment resource\nthis = zpa.ApplicationSegment(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    health_reporting=\"ON_ACCESS\",\n    bypass_type=\"NEVER\",\n    is_cname_enabled=True,\n    tcp_port_ranges=[\n        \"8080\",\n        \"8080\",\n    ],\n    domain_names=[\"server.acme.com\"],\n    segment_group_id=this_segment_group.id,\n    server_groups=[{\n        \"ids\": [this_server_group.id],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[\n            this_server_group,\n            this_segment_group,\n        ]))\n# Create PRA Approval Controller\nthis_pra_approval = zpa.PRAApproval(\"this\",\n    email_ids=[\"jdoe@acme.com\"],\n    start_time=\"Tue, 07 Mar 2024 11:05:30 PST\",\n    end_time=\"Tue, 07 Jun 2024 11:05:30 PST\",\n    status=\"FUTURE\",\n    applications=[{\n        \"ids\": [this.id],\n    }],\n    working_hours=[{\n        \"days\": [\n            \"FRI\",\n            \"MON\",\n            \"SAT\",\n            \"SUN\",\n            \"THU\",\n            \"TUE\",\n            \"WED\",\n        ],\n        \"start_time\": \"00:10\",\n        \"start_time_cron\": \"0 0 8 ? * MON,TUE,WED,THU,FRI,SAT\",\n        \"end_time\": \"09:15\",\n        \"end_time_cron\": \"0 15 17 ? * MON,TUE,WED,THU,FRI,SAT\",\n        \"timezone\": \"America/Vancouver\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Segment Group resource\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    // ZPA App Connector Group resource\n    var thisConnectorGroup = new Zpa.ConnectorGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        CityCountry = \"San Jose, CA\",\n        CountryCode = \"US\",\n        Latitude = \"37.338\",\n        Longitude = \"-121.8863\",\n        Location = \"San Jose, CA, US\",\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        OverrideVersionProfile = true,\n        VersionProfileId = \"0\",\n        DnsQueryType = \"IPV4\",\n    });\n\n    // ZPA Server Group resource\n    var thisServerGroup = new Zpa.ServerGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        DynamicDiscovery = false,\n        AppConnectorGroups = new[]\n        {\n            new Zpa.Inputs.ServerGroupAppConnectorGroupArgs\n            {\n                Ids = new[]\n                {\n                    thisConnectorGroup.Id,\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            thisConnectorGroup,\n        },\n    });\n\n    // ZPA Application Segment resource\n    var @this = new Zpa.ApplicationSegment(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        HealthReporting = \"ON_ACCESS\",\n        BypassType = \"NEVER\",\n        IsCnameEnabled = true,\n        TcpPortRanges = new[]\n        {\n            \"8080\",\n            \"8080\",\n        },\n        DomainNames = new[]\n        {\n            \"server.acme.com\",\n        },\n        SegmentGroupId = thisSegmentGroup.Id,\n        ServerGroups = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentServerGroupArgs\n            {\n                Ids = new[]\n                {\n                    thisServerGroup.Id,\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            thisServerGroup,\n            thisSegmentGroup,\n        },\n    });\n\n    // Create PRA Approval Controller\n    var thisPRAApproval = new Zpa.PRAApproval(\"this\", new()\n    {\n        EmailIds = new[]\n        {\n            \"jdoe@acme.com\",\n        },\n        StartTime = \"Tue, 07 Mar 2024 11:05:30 PST\",\n        EndTime = \"Tue, 07 Jun 2024 11:05:30 PST\",\n        Status = \"FUTURE\",\n        Applications = new[]\n        {\n            new Zpa.Inputs.PRAApprovalApplicationArgs\n            {\n                Ids = new[]\n                {\n                    @this.Id,\n                },\n            },\n        },\n        WorkingHours = new[]\n        {\n            new Zpa.Inputs.PRAApprovalWorkingHourArgs\n            {\n                Days = new[]\n                {\n                    \"FRI\",\n                    \"MON\",\n                    \"SAT\",\n                    \"SUN\",\n                    \"THU\",\n                    \"TUE\",\n                    \"WED\",\n                },\n                StartTime = \"00:10\",\n                StartTimeCron = \"0 0 8 ? * MON,TUE,WED,THU,FRI,SAT\",\n                EndTime = \"09:15\",\n                EndTimeCron = \"0 15 17 ? * MON,TUE,WED,THU,FRI,SAT\",\n                Timezone = \"America/Vancouver\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Segment Group resource\n\t\tthisSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"this\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ZPA App Connector Group resource\n\t\tthisConnectorGroup, err := zpa.NewConnectorGroup(ctx, \"this\", \u0026zpa.ConnectorGroupArgs{\n\t\t\tName:                   pulumi.String(\"Example\"),\n\t\t\tDescription:            pulumi.String(\"Example\"),\n\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\tCityCountry:            pulumi.String(\"San Jose, CA\"),\n\t\t\tCountryCode:            pulumi.String(\"US\"),\n\t\t\tLatitude:               pulumi.String(\"37.338\"),\n\t\t\tLongitude:              pulumi.String(\"-121.8863\"),\n\t\t\tLocation:               pulumi.String(\"San Jose, CA, US\"),\n\t\t\tUpgradeDay:             pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:      pulumi.String(\"66600\"),\n\t\t\tOverrideVersionProfile: pulumi.Bool(true),\n\t\t\tVersionProfileId:       pulumi.String(\"0\"),\n\t\t\tDnsQueryType:           pulumi.String(\"IPV4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ZPA Server Group resource\n\t\tthisServerGroup, err := zpa.NewServerGroup(ctx, \"this\", \u0026zpa.ServerGroupArgs{\n\t\t\tName:             pulumi.String(\"Example\"),\n\t\t\tDescription:      pulumi.String(\"Example\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tDynamicDiscovery: pulumi.Bool(false),\n\t\t\tAppConnectorGroups: zpa.ServerGroupAppConnectorGroupArray{\n\t\t\t\t\u0026zpa.ServerGroupAppConnectorGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthisConnectorGroup.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tthisConnectorGroup,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ZPA Application Segment resource\n\t\tthis, err := zpa.NewApplicationSegment(ctx, \"this\", \u0026zpa.ApplicationSegmentArgs{\n\t\t\tName:            pulumi.String(\"Example\"),\n\t\t\tDescription:     pulumi.String(\"Example\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t\tHealthReporting: pulumi.String(\"ON_ACCESS\"),\n\t\t\tBypassType:      pulumi.String(\"NEVER\"),\n\t\t\tIsCnameEnabled:  pulumi.Bool(true),\n\t\t\tTcpPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8080\"),\n\t\t\t\tpulumi.String(\"8080\"),\n\t\t\t},\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"server.acme.com\"),\n\t\t\t},\n\t\t\tSegmentGroupId: thisSegmentGroup.ID(),\n\t\t\tServerGroups: zpa.ApplicationSegmentServerGroupArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentServerGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthisServerGroup.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tthisServerGroup,\n\t\t\tthisSegmentGroup,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create PRA Approval Controller\n\t\t_, err = zpa.NewPRAApproval(ctx, \"this\", \u0026zpa.PRAApprovalArgs{\n\t\t\tEmailIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"jdoe@acme.com\"),\n\t\t\t},\n\t\t\tStartTime: pulumi.String(\"Tue, 07 Mar 2024 11:05:30 PST\"),\n\t\t\tEndTime:   pulumi.String(\"Tue, 07 Jun 2024 11:05:30 PST\"),\n\t\t\tStatus:    pulumi.String(\"FUTURE\"),\n\t\t\tApplications: zpa.PRAApprovalApplicationArray{\n\t\t\t\t\u0026zpa.PRAApprovalApplicationArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthis.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tWorkingHours: zpa.PRAApprovalWorkingHourArray{\n\t\t\t\t\u0026zpa.PRAApprovalWorkingHourArgs{\n\t\t\t\t\tDays: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FRI\"),\n\t\t\t\t\t\tpulumi.String(\"MON\"),\n\t\t\t\t\t\tpulumi.String(\"SAT\"),\n\t\t\t\t\t\tpulumi.String(\"SUN\"),\n\t\t\t\t\t\tpulumi.String(\"THU\"),\n\t\t\t\t\t\tpulumi.String(\"TUE\"),\n\t\t\t\t\t\tpulumi.String(\"WED\"),\n\t\t\t\t\t},\n\t\t\t\t\tStartTime:     pulumi.String(\"00:10\"),\n\t\t\t\t\tStartTimeCron: pulumi.String(\"0 0 8 ? * MON,TUE,WED,THU,FRI,SAT\"),\n\t\t\t\t\tEndTime:       pulumi.String(\"09:15\"),\n\t\t\t\t\tEndTimeCron:   pulumi.String(\"0 15 17 ? * MON,TUE,WED,THU,FRI,SAT\"),\n\t\t\t\t\tTimezone:      pulumi.String(\"America/Vancouver\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.ConnectorGroup;\nimport com.pulumi.zpa.ConnectorGroupArgs;\nimport com.pulumi.zpa.ServerGroup;\nimport com.pulumi.zpa.ServerGroupArgs;\nimport com.pulumi.zpa.inputs.ServerGroupAppConnectorGroupArgs;\nimport com.pulumi.zpa.ApplicationSegment;\nimport com.pulumi.zpa.ApplicationSegmentArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentServerGroupArgs;\nimport com.pulumi.zpa.PRAApproval;\nimport com.pulumi.zpa.PRAApprovalArgs;\nimport com.pulumi.zpa.inputs.PRAApprovalApplicationArgs;\nimport com.pulumi.zpa.inputs.PRAApprovalWorkingHourArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Segment Group resource\n        var thisSegmentGroup = new SegmentGroup(\"thisSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        // ZPA App Connector Group resource\n        var thisConnectorGroup = new ConnectorGroup(\"thisConnectorGroup\", ConnectorGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .cityCountry(\"San Jose, CA\")\n            .countryCode(\"US\")\n            .latitude(\"37.338\")\n            .longitude(\"-121.8863\")\n            .location(\"San Jose, CA, US\")\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .overrideVersionProfile(true)\n            .versionProfileId(\"0\")\n            .dnsQueryType(\"IPV4\")\n            .build());\n\n        // ZPA Server Group resource\n        var thisServerGroup = new ServerGroup(\"thisServerGroup\", ServerGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .dynamicDiscovery(false)\n            .appConnectorGroups(ServerGroupAppConnectorGroupArgs.builder()\n                .ids(thisConnectorGroup.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(thisConnectorGroup)\n                .build());\n\n        // ZPA Application Segment resource\n        var this_ = new ApplicationSegment(\"this\", ApplicationSegmentArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .healthReporting(\"ON_ACCESS\")\n            .bypassType(\"NEVER\")\n            .isCnameEnabled(true)\n            .tcpPortRanges(            \n                \"8080\",\n                \"8080\")\n            .domainNames(\"server.acme.com\")\n            .segmentGroupId(thisSegmentGroup.id())\n            .serverGroups(ApplicationSegmentServerGroupArgs.builder()\n                .ids(thisServerGroup.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    thisServerGroup,\n                    thisSegmentGroup)\n                .build());\n\n        // Create PRA Approval Controller\n        var thisPRAApproval = new PRAApproval(\"thisPRAApproval\", PRAApprovalArgs.builder()\n            .emailIds(\"jdoe@acme.com\")\n            .startTime(\"Tue, 07 Mar 2024 11:05:30 PST\")\n            .endTime(\"Tue, 07 Jun 2024 11:05:30 PST\")\n            .status(\"FUTURE\")\n            .applications(PRAApprovalApplicationArgs.builder()\n                .ids(this_.id())\n                .build())\n            .workingHours(PRAApprovalWorkingHourArgs.builder()\n                .days(                \n                    \"FRI\",\n                    \"MON\",\n                    \"SAT\",\n                    \"SUN\",\n                    \"THU\",\n                    \"TUE\",\n                    \"WED\")\n                .startTime(\"00:10\")\n                .startTimeCron(\"0 0 8 ? * MON,TUE,WED,THU,FRI,SAT\")\n                .endTime(\"09:15\")\n                .endTimeCron(\"0 15 17 ? * MON,TUE,WED,THU,FRI,SAT\")\n                .timezone(\"America/Vancouver\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Application Segment resource\n  this:\n    type: zpa:ApplicationSegment\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      healthReporting: ON_ACCESS\n      bypassType: NEVER\n      isCnameEnabled: true\n      tcpPortRanges:\n        - '8080'\n        - '8080'\n      domainNames:\n        - server.acme.com\n      segmentGroupId: ${thisSegmentGroup.id}\n      serverGroups:\n        - ids:\n            - ${thisServerGroup.id}\n    options:\n      dependsOn:\n        - ${thisServerGroup}\n        - ${thisSegmentGroup}\n  # ZPA Segment Group resource\n  thisSegmentGroup:\n    type: zpa:SegmentGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # ZPA Server Group resource\n  thisServerGroup:\n    type: zpa:ServerGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      dynamicDiscovery: false\n      appConnectorGroups:\n        - ids:\n            - ${thisConnectorGroup.id}\n    options:\n      dependsOn:\n        - ${thisConnectorGroup}\n  # ZPA App Connector Group resource\n  thisConnectorGroup:\n    type: zpa:ConnectorGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      cityCountry: San Jose, CA\n      countryCode: US\n      latitude: '37.338'\n      longitude: '-121.8863'\n      location: San Jose, CA, US\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      overrideVersionProfile: true\n      versionProfileId: 0\n      dnsQueryType: IPV4\n  # Create PRA Approval Controller\n  thisPRAApproval:\n    type: zpa:PRAApproval\n    name: this\n    properties:\n      emailIds:\n        - jdoe@acme.com\n      startTime: Tue, 07 Mar 2024 11:05:30 PST\n      endTime: Tue, 07 Jun 2024 11:05:30 PST\n      status: FUTURE\n      applications:\n        - ids:\n            - ${this.id}\n      workingHours:\n        - days:\n            - FRI\n            - MON\n            - SAT\n            - SUN\n            - THU\n            - TUE\n            - WED\n          startTime: 00:10\n          startTimeCron: 0 0 8 ? * MON,TUE,WED,THU,FRI,SAT\n          endTime: 09:15\n          endTimeCron: 0 15 17 ? * MON,TUE,WED,THU,FRI,SAT\n          timezone: America/Vancouver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**zpa_pra_approval_controller** can be imported by using `\u003cAPPROVAL ID\u003e` or `\u003cAPPROVAL NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/pRAApproval:PRAApproval this \u003capproval_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/pRAApproval:PRAApproval this \u003capproval_name\u003e\n```\n\n","properties":{"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAApprovalApplication:PRAApprovalApplication"}},"emailIds":{"type":"array","items":{"type":"string"},"description":"The email address of the user that you are assigning the privileged approval to"},"endTime":{"type":"string","description":"The end date that the user no longer has access to the privileged approval"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"startTime":{"type":"string","description":"The start date that the user has access to the privileged approval"},"status":{"type":"string","description":"The status of the privileged approval"},"workingHours":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAApprovalWorkingHour:PRAApprovalWorkingHour"}}},"required":["applications","emailIds","endTime","microtenantId","startTime","status","workingHours"],"inputProperties":{"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAApprovalApplication:PRAApprovalApplication"}},"emailIds":{"type":"array","items":{"type":"string"},"description":"The email address of the user that you are assigning the privileged approval to"},"endTime":{"type":"string","description":"The end date that the user no longer has access to the privileged approval"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"startTime":{"type":"string","description":"The start date that the user has access to the privileged approval"},"status":{"type":"string","description":"The status of the privileged approval"},"workingHours":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAApprovalWorkingHour:PRAApprovalWorkingHour"}}},"requiredInputs":["applications"],"stateInputs":{"description":"Input properties used for looking up and filtering PRAApproval resources.\n","properties":{"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAApprovalApplication:PRAApprovalApplication"}},"emailIds":{"type":"array","items":{"type":"string"},"description":"The email address of the user that you are assigning the privileged approval to"},"endTime":{"type":"string","description":"The end date that the user no longer has access to the privileged approval"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"startTime":{"type":"string","description":"The start date that the user has access to the privileged approval"},"status":{"type":"string","description":"The status of the privileged approval"},"workingHours":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAApprovalWorkingHour:PRAApprovalWorkingHour"}}},"type":"object"}},"zpa:index/pRAConsole:PRAConsole":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-consoles)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-consoles-using-api)\n\nThe **zpa_pra_console_controller** resource creates a privileged remote access console in the Zscaler Private Access cloud. This resource can then be referenced in an privileged access policy resource and a privileged access portal.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Creates Segment Group for Application Segment\"\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\n// Creates Privileged Remote Access Application Segment\"\nconst thisApplicationSegmentPRA = new zpa.ApplicationSegmentPRA(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    healthReporting: \"ON_ACCESS\",\n    bypassType: \"NEVER\",\n    isCnameEnabled: true,\n    tcpPortRanges: [\n        \"3389\",\n        \"3389\",\n    ],\n    domainNames: [\"rdp_pra.example.com\"],\n    segmentGroupId: thisSegmentGroup.id,\n    commonAppsDtos: [{\n        appsConfigs: [{\n            name: \"rdp_pra\",\n            domain: \"rdp_pra.example.com\",\n            applicationProtocol: \"RDP\",\n            connectionSecurity: \"ANY\",\n            applicationPort: \"3389\",\n            enabled: true,\n            appTypes: [\"SECURE_REMOTE_ACCESS\"],\n        }],\n    }],\n});\nconst _this = zpa.getApplicationSegmentByType({\n    applicationType: \"SECURE_REMOTE_ACCESS\",\n    name: \"rdp_pra\",\n});\n// Retrieves the Browser Access Certificate\nconst thisGetBaCertificate = zpa.getBaCertificate({\n    name: \"pra01.example.com\",\n});\n// Creates PRA Portal\"\nconst this1 = new zpa.PRAPortal(\"this1\", {\n    name: \"pra01.example.com\",\n    description: \"pra01.example.com\",\n    enabled: true,\n    domain: \"pra01.example.com\",\n    certificateId: thisGetBaCertificate.then(thisGetBaCertificate =\u003e thisGetBaCertificate.id),\n    userNotification: \"Created with Terraform\",\n    userNotificationEnabled: true,\n});\nconst sshPra = new zpa.PRAConsole(\"ssh_pra\", {\n    name: \"ssh_console\",\n    description: \"Created with Terraform\",\n    enabled: true,\n    praApplications: [{\n        id: _this.then(_this =\u003e _this.id),\n    }],\n    praPortals: [{\n        ids: [thisZpaPraPortalController.id],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Creates Segment Group for Application Segment\"\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\n# Creates Privileged Remote Access Application Segment\"\nthis_application_segment_pra = zpa.ApplicationSegmentPRA(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    health_reporting=\"ON_ACCESS\",\n    bypass_type=\"NEVER\",\n    is_cname_enabled=True,\n    tcp_port_ranges=[\n        \"3389\",\n        \"3389\",\n    ],\n    domain_names=[\"rdp_pra.example.com\"],\n    segment_group_id=this_segment_group.id,\n    common_apps_dtos=[{\n        \"apps_configs\": [{\n            \"name\": \"rdp_pra\",\n            \"domain\": \"rdp_pra.example.com\",\n            \"application_protocol\": \"RDP\",\n            \"connection_security\": \"ANY\",\n            \"application_port\": \"3389\",\n            \"enabled\": True,\n            \"app_types\": [\"SECURE_REMOTE_ACCESS\"],\n        }],\n    }])\nthis = zpa.get_application_segment_by_type(application_type=\"SECURE_REMOTE_ACCESS\",\n    name=\"rdp_pra\")\n# Retrieves the Browser Access Certificate\nthis_get_ba_certificate = zpa.get_ba_certificate(name=\"pra01.example.com\")\n# Creates PRA Portal\"\nthis1 = zpa.PRAPortal(\"this1\",\n    name=\"pra01.example.com\",\n    description=\"pra01.example.com\",\n    enabled=True,\n    domain=\"pra01.example.com\",\n    certificate_id=this_get_ba_certificate.id,\n    user_notification=\"Created with Terraform\",\n    user_notification_enabled=True)\nssh_pra = zpa.PRAConsole(\"ssh_pra\",\n    name=\"ssh_console\",\n    description=\"Created with Terraform\",\n    enabled=True,\n    pra_applications=[{\n        \"id\": this.id,\n    }],\n    pra_portals=[{\n        \"ids\": [this_zpa_pra_portal_controller[\"id\"]],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Creates Segment Group for Application Segment\"\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    // Creates Privileged Remote Access Application Segment\"\n    var thisApplicationSegmentPRA = new Zpa.ApplicationSegmentPRA(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        HealthReporting = \"ON_ACCESS\",\n        BypassType = \"NEVER\",\n        IsCnameEnabled = true,\n        TcpPortRanges = new[]\n        {\n            \"3389\",\n            \"3389\",\n        },\n        DomainNames = new[]\n        {\n            \"rdp_pra.example.com\",\n        },\n        SegmentGroupId = thisSegmentGroup.Id,\n        CommonAppsDtos = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoArgs\n            {\n                AppsConfigs = new[]\n                {\n                    new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs\n                    {\n                        Name = \"rdp_pra\",\n                        Domain = \"rdp_pra.example.com\",\n                        ApplicationProtocol = \"RDP\",\n                        ConnectionSecurity = \"ANY\",\n                        ApplicationPort = \"3389\",\n                        Enabled = true,\n                        AppTypes = new[]\n                        {\n                            \"SECURE_REMOTE_ACCESS\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n    var @this = Zpa.GetApplicationSegmentByType.Invoke(new()\n    {\n        ApplicationType = \"SECURE_REMOTE_ACCESS\",\n        Name = \"rdp_pra\",\n    });\n\n    // Retrieves the Browser Access Certificate\n    var thisGetBaCertificate = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"pra01.example.com\",\n    });\n\n    // Creates PRA Portal\"\n    var this1 = new Zpa.PRAPortal(\"this1\", new()\n    {\n        Name = \"pra01.example.com\",\n        Description = \"pra01.example.com\",\n        Enabled = true,\n        Domain = \"pra01.example.com\",\n        CertificateId = thisGetBaCertificate.Apply(getBaCertificateResult =\u003e getBaCertificateResult.Id),\n        UserNotification = \"Created with Terraform\",\n        UserNotificationEnabled = true,\n    });\n\n    var sshPra = new Zpa.PRAConsole(\"ssh_pra\", new()\n    {\n        Name = \"ssh_console\",\n        Description = \"Created with Terraform\",\n        Enabled = true,\n        PraApplications = new[]\n        {\n            new Zpa.Inputs.PRAConsolePraApplicationArgs\n            {\n                Id = @this.Apply(@this =\u003e @this.Apply(getApplicationSegmentByTypeResult =\u003e getApplicationSegmentByTypeResult.Id)),\n            },\n        },\n        PraPortals = new[]\n        {\n            new Zpa.Inputs.PRAConsolePraPortalArgs\n            {\n                Ids = new[]\n                {\n                    thisZpaPraPortalController.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Creates Segment Group for Application Segment\"\n\t\tthisSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"this\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creates Privileged Remote Access Application Segment\"\n\t\t_, err = zpa.NewApplicationSegmentPRA(ctx, \"this\", \u0026zpa.ApplicationSegmentPRAArgs{\n\t\t\tName:            pulumi.String(\"Example\"),\n\t\t\tDescription:     pulumi.String(\"Example\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t\tHealthReporting: pulumi.String(\"ON_ACCESS\"),\n\t\t\tBypassType:      pulumi.String(\"NEVER\"),\n\t\t\tIsCnameEnabled:  pulumi.Bool(true),\n\t\t\tTcpPortRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"3389\"),\n\t\t\t\tpulumi.String(\"3389\"),\n\t\t\t},\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rdp_pra.example.com\"),\n\t\t\t},\n\t\t\tSegmentGroupId: thisSegmentGroup.ID(),\n\t\t\tCommonAppsDtos: zpa.ApplicationSegmentPRACommonAppsDtoArray{\n\t\t\t\t\u0026zpa.ApplicationSegmentPRACommonAppsDtoArgs{\n\t\t\t\t\tAppsConfigs: zpa.ApplicationSegmentPRACommonAppsDtoAppsConfigArray{\n\t\t\t\t\t\t\u0026zpa.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs{\n\t\t\t\t\t\t\tName:                pulumi.String(\"rdp_pra\"),\n\t\t\t\t\t\t\tDomain:              pulumi.String(\"rdp_pra.example.com\"),\n\t\t\t\t\t\t\tApplicationProtocol: pulumi.String(\"RDP\"),\n\t\t\t\t\t\t\tConnectionSecurity:  pulumi.String(\"ANY\"),\n\t\t\t\t\t\t\tApplicationPort:     pulumi.String(\"3389\"),\n\t\t\t\t\t\t\tEnabled:             true,\n\t\t\t\t\t\t\tAppTypes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"SECURE_REMOTE_ACCESS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := zpa.GetApplicationSegmentByType(ctx, \u0026zpa.GetApplicationSegmentByTypeArgs{\n\t\t\tApplicationType: \"SECURE_REMOTE_ACCESS\",\n\t\t\tName:            pulumi.StringRef(\"rdp_pra\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieves the Browser Access Certificate\n\t\tthisGetBaCertificate, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"pra01.example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creates PRA Portal\"\n\t\t_, err = zpa.NewPRAPortal(ctx, \"this1\", \u0026zpa.PRAPortalArgs{\n\t\t\tName:                    pulumi.String(\"pra01.example.com\"),\n\t\t\tDescription:             pulumi.String(\"pra01.example.com\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tDomain:                  pulumi.String(\"pra01.example.com\"),\n\t\t\tCertificateId:           pulumi.String(thisGetBaCertificate.Id),\n\t\t\tUserNotification:        pulumi.String(\"Created with Terraform\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPRAConsole(ctx, \"ssh_pra\", \u0026zpa.PRAConsoleArgs{\n\t\t\tName:        pulumi.String(\"ssh_console\"),\n\t\t\tDescription: pulumi.String(\"Created with Terraform\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\tPraApplications: zpa.PRAConsolePraApplicationArray{\n\t\t\t\t\u0026zpa.PRAConsolePraApplicationArgs{\n\t\t\t\t\tId: pulumi.String(this.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPraPortals: zpa.PRAConsolePraPortalArray{\n\t\t\t\t\u0026zpa.PRAConsolePraPortalArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthisZpaPraPortalController.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.ApplicationSegmentPRA;\nimport com.pulumi.zpa.ApplicationSegmentPRAArgs;\nimport com.pulumi.zpa.inputs.ApplicationSegmentPRACommonAppsDtoArgs;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentByTypeArgs;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport com.pulumi.zpa.PRAPortal;\nimport com.pulumi.zpa.PRAPortalArgs;\nimport com.pulumi.zpa.PRAConsole;\nimport com.pulumi.zpa.PRAConsoleArgs;\nimport com.pulumi.zpa.inputs.PRAConsolePraApplicationArgs;\nimport com.pulumi.zpa.inputs.PRAConsolePraPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Creates Segment Group for Application Segment\"\n        var thisSegmentGroup = new SegmentGroup(\"thisSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        // Creates Privileged Remote Access Application Segment\"\n        var thisApplicationSegmentPRA = new ApplicationSegmentPRA(\"thisApplicationSegmentPRA\", ApplicationSegmentPRAArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .healthReporting(\"ON_ACCESS\")\n            .bypassType(\"NEVER\")\n            .isCnameEnabled(true)\n            .tcpPortRanges(            \n                \"3389\",\n                \"3389\")\n            .domainNames(\"rdp_pra.example.com\")\n            .segmentGroupId(thisSegmentGroup.id())\n            .commonAppsDtos(ApplicationSegmentPRACommonAppsDtoArgs.builder()\n                .appsConfigs(ApplicationSegmentPRACommonAppsDtoAppsConfigArgs.builder()\n                    .name(\"rdp_pra\")\n                    .domain(\"rdp_pra.example.com\")\n                    .applicationProtocol(\"RDP\")\n                    .connectionSecurity(\"ANY\")\n                    .applicationPort(\"3389\")\n                    .enabled(true)\n                    .appTypes(\"SECURE_REMOTE_ACCESS\")\n                    .build())\n                .build())\n            .build());\n\n        final var this = ZpaFunctions.getApplicationSegmentByType(GetApplicationSegmentByTypeArgs.builder()\n            .applicationType(\"SECURE_REMOTE_ACCESS\")\n            .name(\"rdp_pra\")\n            .build());\n\n        // Retrieves the Browser Access Certificate\n        final var thisGetBaCertificate = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"pra01.example.com\")\n            .build());\n\n        // Creates PRA Portal\"\n        var this1 = new PRAPortal(\"this1\", PRAPortalArgs.builder()\n            .name(\"pra01.example.com\")\n            .description(\"pra01.example.com\")\n            .enabled(true)\n            .domain(\"pra01.example.com\")\n            .certificateId(thisGetBaCertificate.id())\n            .userNotification(\"Created with Terraform\")\n            .userNotificationEnabled(true)\n            .build());\n\n        var sshPra = new PRAConsole(\"sshPra\", PRAConsoleArgs.builder()\n            .name(\"ssh_console\")\n            .description(\"Created with Terraform\")\n            .enabled(true)\n            .praApplications(PRAConsolePraApplicationArgs.builder()\n                .id(this_.id())\n                .build())\n            .praPortals(PRAConsolePraPortalArgs.builder()\n                .ids(thisZpaPraPortalController.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Creates Privileged Remote Access Application Segment\"\n  thisApplicationSegmentPRA:\n    type: zpa:ApplicationSegmentPRA\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      healthReporting: ON_ACCESS\n      bypassType: NEVER\n      isCnameEnabled: true\n      tcpPortRanges:\n        - '3389'\n        - '3389'\n      domainNames:\n        - rdp_pra.example.com\n      segmentGroupId: ${thisSegmentGroup.id}\n      commonAppsDtos:\n        - appsConfigs:\n            - name: rdp_pra\n              domain: rdp_pra.example.com\n              applicationProtocol: RDP\n              connectionSecurity: ANY\n              applicationPort: '3389'\n              enabled: true\n              appTypes:\n                - SECURE_REMOTE_ACCESS\n  # Creates Segment Group for Application Segment\"\n  thisSegmentGroup:\n    type: zpa:SegmentGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # Creates PRA Portal\"\n  this1:\n    type: zpa:PRAPortal\n    properties:\n      name: pra01.example.com\n      description: pra01.example.com\n      enabled: true\n      domain: pra01.example.com\n      certificateId: ${thisGetBaCertificate.id}\n      userNotification: Created with Terraform\n      userNotificationEnabled: true\n  sshPra:\n    type: zpa:PRAConsole\n    name: ssh_pra\n    properties:\n      name: ssh_console\n      description: Created with Terraform\n      enabled: true\n      praApplications:\n        - id: ${this.id}\n      praPortals:\n        - ids:\n            - ${thisZpaPraPortalController.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegmentByType\n      arguments:\n        applicationType: SECURE_REMOTE_ACCESS\n        name: rdp_pra\n  # Retrieves the Browser Access Certificate\n  thisGetBaCertificate:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: pra01.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**pra_credential_controller** can be imported by using `\u003cCONSOLE ID\u003e` or `\u003cCONSOLE NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/pRAConsole:PRAConsole this \u003cconsole_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/pRAConsole:PRAConsole this \u003cconsole_name\u003e\n```\n\n","properties":{"description":{"type":"string","description":"The description of the privileged console"},"enabled":{"type":"boolean","description":"Whether or not the privileged console is enabled"},"iconText":{"type":"string","description":"The privileged console icon. The icon image is converted to base64 encoded text format"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged console"},"praApplications":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAConsolePraApplication:PRAConsolePraApplication"}},"praPortals":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAConsolePraPortal:PRAConsolePraPortal"}}},"required":["name","praApplications","praPortals"],"inputProperties":{"description":{"type":"string","description":"The description of the privileged console"},"enabled":{"type":"boolean","description":"Whether or not the privileged console is enabled"},"iconText":{"type":"string","description":"The privileged console icon. The icon image is converted to base64 encoded text format"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged console"},"praApplications":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAConsolePraApplication:PRAConsolePraApplication"}},"praPortals":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAConsolePraPortal:PRAConsolePraPortal"}}},"requiredInputs":["praApplications","praPortals"],"stateInputs":{"description":"Input properties used for looking up and filtering PRAConsole resources.\n","properties":{"description":{"type":"string","description":"The description of the privileged console"},"enabled":{"type":"boolean","description":"Whether or not the privileged console is enabled"},"iconText":{"type":"string","description":"The privileged console icon. The icon image is converted to base64 encoded text format"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged console"},"praApplications":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAConsolePraApplication:PRAConsolePraApplication"}},"praPortals":{"type":"array","items":{"$ref":"#/types/zpa:index/PRAConsolePraPortal:PRAConsolePraPortal"}}},"type":"object"}},"zpa:index/pRACredential:PRACredential":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-credentials)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-credentials-using-api)\n\nThe **zpa_pra_credential_controller** resource creates a privileged remote access credential in the Zscaler Private Access cloud. This resource can then be referenced in an privileged access policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n//## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n// Creates Credential of Type \"USERNAME_PASSWORD\"\nconst _this = new zpa.PRACredential(\"this\", {\n    name: \"John Doe\",\n    description: \"Created with Terraform\",\n    credentialType: \"USERNAME_PASSWORD\",\n    userDomain: \"acme.com\",\n    username: \"jdoe\",\n    password: \"\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n### PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n# Creates Credential of Type \"USERNAME_PASSWORD\"\nthis = zpa.PRACredential(\"this\",\n    name=\"John Doe\",\n    description=\"Created with Terraform\",\n    credential_type=\"USERNAME_PASSWORD\",\n    user_domain=\"acme.com\",\n    username=\"jdoe\",\n    password=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n    // Creates Credential of Type \"USERNAME_PASSWORD\"\n    var @this = new Zpa.PRACredential(\"this\", new()\n    {\n        Name = \"John Doe\",\n        Description = \"Created with Terraform\",\n        CredentialType = \"USERNAME_PASSWORD\",\n        UserDomain = \"acme.com\",\n        Username = \"jdoe\",\n        Password = \"\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n\t\t// Creates Credential of Type \"USERNAME_PASSWORD\"\n\t\t_, err := zpa.NewPRACredential(ctx, \"this\", \u0026zpa.PRACredentialArgs{\n\t\t\tName:           pulumi.String(\"John Doe\"),\n\t\t\tDescription:    pulumi.String(\"Created with Terraform\"),\n\t\t\tCredentialType: pulumi.String(\"USERNAME_PASSWORD\"),\n\t\t\tUserDomain:     pulumi.String(\"acme.com\"),\n\t\t\tUsername:       pulumi.String(\"jdoe\"),\n\t\t\tPassword:       pulumi.String(\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PRACredential;\nimport com.pulumi.zpa.PRACredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n        // Creates Credential of Type \"USERNAME_PASSWORD\"\n        var this_ = new PRACredential(\"this\", PRACredentialArgs.builder()\n            .name(\"John Doe\")\n            .description(\"Created with Terraform\")\n            .credentialType(\"USERNAME_PASSWORD\")\n            .userDomain(\"acme.com\")\n            .username(\"jdoe\")\n            .password(\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ### PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n  # Creates Credential of Type \"USERNAME_PASSWORD\"\n  this:\n    type: zpa:PRACredential\n    properties:\n      name: John Doe\n      description: Created with Terraform\n      credentialType: USERNAME_PASSWORD\n      userDomain: acme.com\n      username: jdoe\n      password: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n//## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n// Creates Credential of Type \"SSH_KEY\"\nconst _this = new zpa.PRACredential(\"this\", {\n    name: \"John Doe\",\n    description: \"Created with Terraform\",\n    credentialType: \"SSH_KEY\",\n    userDomain: \"acme.com\",\n    username: \"jdoe\",\n    privateKey: `-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6\n-----END PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n### PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n# Creates Credential of Type \"SSH_KEY\"\nthis = zpa.PRACredential(\"this\",\n    name=\"John Doe\",\n    description=\"Created with Terraform\",\n    credential_type=\"SSH_KEY\",\n    user_domain=\"acme.com\",\n    username=\"jdoe\",\n    private_key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6\n-----END PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n    // Creates Credential of Type \"SSH_KEY\"\n    var @this = new Zpa.PRACredential(\"this\", new()\n    {\n        Name = \"John Doe\",\n        Description = \"Created with Terraform\",\n        CredentialType = \"SSH_KEY\",\n        UserDomain = \"acme.com\",\n        Username = \"jdoe\",\n        PrivateKey = @\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6\n-----END PRIVATE KEY-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n\t\t// Creates Credential of Type \"SSH_KEY\"\n\t\t_, err := zpa.NewPRACredential(ctx, \"this\", \u0026zpa.PRACredentialArgs{\n\t\t\tName:           pulumi.String(\"John Doe\"),\n\t\t\tDescription:    pulumi.String(\"Created with Terraform\"),\n\t\t\tCredentialType: pulumi.String(\"SSH_KEY\"),\n\t\t\tUserDomain:     pulumi.String(\"acme.com\"),\n\t\t\tUsername:       pulumi.String(\"jdoe\"),\n\t\t\tPrivateKey:     pulumi.String(\"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6\\n-----END PRIVATE KEY-----\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PRACredential;\nimport com.pulumi.zpa.PRACredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //## PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n        // Creates Credential of Type \"SSH_KEY\"\n        var this_ = new PRACredential(\"this\", PRACredentialArgs.builder()\n            .name(\"John Doe\")\n            .description(\"Created with Terraform\")\n            .credentialType(\"SSH_KEY\")\n            .userDomain(\"acme.com\")\n            .username(\"jdoe\")\n            .privateKey(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6\n-----END PRIVATE KEY-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ### PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ####\n  # Creates Credential of Type \"SSH_KEY\"\n  this:\n    type: zpa:PRACredential\n    properties:\n      name: John Doe\n      description: Created with Terraform\n      credentialType: SSH_KEY\n      userDomain: acme.com\n      username: jdoe\n      privateKey: |\n        -----BEGIN PRIVATE KEY-----\n        MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6\n        -----END PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**pra_credential_controller** can be imported by using `\u003cCREDENTIAL ID\u003e` or `\u003cCREDENTIAL NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/pRACredential:PRACredential this \u003ccredential_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/pRACredential:PRACredential this \u003ccredential_name\u003e\n```\n\n","properties":{"credentialType":{"type":"string","description":"The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements."},"description":{"type":"string","description":"The description of the privileged credential"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged credential"},"passphrase":{"type":"string","description":"The password that is used to protect the SSH private key. This field is optional","secret":true},"password":{"type":"string","description":"The password associated with the username for the login you want to use for the privileged credential","secret":true},"privateKey":{"type":"string","description":"The SSH private key associated with the username for the login you want to use for the privileged credential","secret":true},"userDomain":{"type":"string","description":"The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain"},"username":{"type":"string","description":"The username for the login you want to use for the privileged credential"}},"required":["microtenantId","name"],"inputProperties":{"credentialType":{"type":"string","description":"The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements."},"description":{"type":"string","description":"The description of the privileged credential"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged credential"},"passphrase":{"type":"string","description":"The password that is used to protect the SSH private key. This field is optional","secret":true},"password":{"type":"string","description":"The password associated with the username for the login you want to use for the privileged credential","secret":true},"privateKey":{"type":"string","description":"The SSH private key associated with the username for the login you want to use for the privileged credential","secret":true},"userDomain":{"type":"string","description":"The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain"},"username":{"type":"string","description":"The username for the login you want to use for the privileged credential"}},"stateInputs":{"description":"Input properties used for looking up and filtering PRACredential resources.\n","properties":{"credentialType":{"type":"string","description":"The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements."},"description":{"type":"string","description":"The description of the privileged credential"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged credential"},"passphrase":{"type":"string","description":"The password that is used to protect the SSH private key. This field is optional","secret":true},"password":{"type":"string","description":"The password associated with the username for the login you want to use for the privileged credential","secret":true},"privateKey":{"type":"string","description":"The SSH private key associated with the username for the login you want to use for the privileged credential","secret":true},"userDomain":{"type":"string","description":"The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain"},"username":{"type":"string","description":"The username for the login you want to use for the privileged credential"}},"type":"object"}},"zpa:index/pRAPortal:PRAPortal":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-portals)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-portals-using-api)\n\nThe **zpa_pra_portal_controller** resource creates a privileged remote access portal in the Zscaler Private Access cloud. This resource can then be referenced in an privileged remote access console resource.\n\n## Example Usage\n\n### Using Custom Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieves Browser Access Certificate\nconst _this = zpa.getBaCertificate({\n    name: \"portal.acme.com\",\n});\nconst thisPRAPortal = new zpa.PRAPortal(\"this\", {\n    name: \"portal.acme.com\",\n    description: \"portal.acme.com\",\n    enabled: true,\n    domain: \"portal.acme.com\",\n    certificateId: _this.then(_this =\u003e _this.id),\n    userNotification: \"Created with Terraform\",\n    userNotificationEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieves Browser Access Certificate\nthis = zpa.get_ba_certificate(name=\"portal.acme.com\")\nthis_pra_portal = zpa.PRAPortal(\"this\",\n    name=\"portal.acme.com\",\n    description=\"portal.acme.com\",\n    enabled=True,\n    domain=\"portal.acme.com\",\n    certificate_id=this.id,\n    user_notification=\"Created with Terraform\",\n    user_notification_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieves Browser Access Certificate\n    var @this = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"portal.acme.com\",\n    });\n\n    var thisPRAPortal = new Zpa.PRAPortal(\"this\", new()\n    {\n        Name = \"portal.acme.com\",\n        Description = \"portal.acme.com\",\n        Enabled = true,\n        Domain = \"portal.acme.com\",\n        CertificateId = @this.Apply(@this =\u003e @this.Apply(getBaCertificateResult =\u003e getBaCertificateResult.Id)),\n        UserNotification = \"Created with Terraform\",\n        UserNotificationEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieves Browser Access Certificate\n\t\tthis, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"portal.acme.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPRAPortal(ctx, \"this\", \u0026zpa.PRAPortalArgs{\n\t\t\tName:                    pulumi.String(\"portal.acme.com\"),\n\t\t\tDescription:             pulumi.String(\"portal.acme.com\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tDomain:                  pulumi.String(\"portal.acme.com\"),\n\t\t\tCertificateId:           pulumi.String(this.Id),\n\t\t\tUserNotification:        pulumi.String(\"Created with Terraform\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport com.pulumi.zpa.PRAPortal;\nimport com.pulumi.zpa.PRAPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieves Browser Access Certificate\n        final var this = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"portal.acme.com\")\n            .build());\n\n        var thisPRAPortal = new PRAPortal(\"thisPRAPortal\", PRAPortalArgs.builder()\n            .name(\"portal.acme.com\")\n            .description(\"portal.acme.com\")\n            .enabled(true)\n            .domain(\"portal.acme.com\")\n            .certificateId(this_.id())\n            .userNotification(\"Created with Terraform\")\n            .userNotificationEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisPRAPortal:\n    type: zpa:PRAPortal\n    name: this\n    properties:\n      name: portal.acme.com\n      description: portal.acme.com\n      enabled: true\n      domain: portal.acme.com\n      certificateId: ${this.id}\n      userNotification: Created with Terraform\n      userNotificationEnabled: true\nvariables:\n  # Retrieves Browser Access Certificate\n  this:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: portal.acme.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Zscaler Managed Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.PRAPortal(\"this\", {\n    name: \"server1.acme.com\",\n    description: \"server1.acme.com\",\n    enabled: true,\n    domain: \"server1-acme.com.pra.d.zscalerportal.net\",\n    userNotification: \"Created with Terraform\",\n    userNotificationEnabled: true,\n    extLabel: \"server1\",\n    extDomain: \"acme.com\",\n    extDomainName: \"acme.com.pra.d.zscalerportal.net\",\n    extDomainTranslation: \"acme.com\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.PRAPortal(\"this\",\n    name=\"server1.acme.com\",\n    description=\"server1.acme.com\",\n    enabled=True,\n    domain=\"server1-acme.com.pra.d.zscalerportal.net\",\n    user_notification=\"Created with Terraform\",\n    user_notification_enabled=True,\n    ext_label=\"server1\",\n    ext_domain=\"acme.com\",\n    ext_domain_name=\"acme.com.pra.d.zscalerportal.net\",\n    ext_domain_translation=\"acme.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.PRAPortal(\"this\", new()\n    {\n        Name = \"server1.acme.com\",\n        Description = \"server1.acme.com\",\n        Enabled = true,\n        Domain = \"server1-acme.com.pra.d.zscalerportal.net\",\n        UserNotification = \"Created with Terraform\",\n        UserNotificationEnabled = true,\n        ExtLabel = \"server1\",\n        ExtDomain = \"acme.com\",\n        ExtDomainName = \"acme.com.pra.d.zscalerportal.net\",\n        ExtDomainTranslation = \"acme.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewPRAPortal(ctx, \"this\", \u0026zpa.PRAPortalArgs{\n\t\t\tName:                    pulumi.String(\"server1.acme.com\"),\n\t\t\tDescription:             pulumi.String(\"server1.acme.com\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tDomain:                  pulumi.String(\"server1-acme.com.pra.d.zscalerportal.net\"),\n\t\t\tUserNotification:        pulumi.String(\"Created with Terraform\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t\tExtLabel:                pulumi.String(\"server1\"),\n\t\t\tExtDomain:               pulumi.String(\"acme.com\"),\n\t\t\tExtDomainName:           pulumi.String(\"acme.com.pra.d.zscalerportal.net\"),\n\t\t\tExtDomainTranslation:    pulumi.String(\"acme.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PRAPortal;\nimport com.pulumi.zpa.PRAPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new PRAPortal(\"this\", PRAPortalArgs.builder()\n            .name(\"server1.acme.com\")\n            .description(\"server1.acme.com\")\n            .enabled(true)\n            .domain(\"server1-acme.com.pra.d.zscalerportal.net\")\n            .userNotification(\"Created with Terraform\")\n            .userNotificationEnabled(true)\n            .extLabel(\"server1\")\n            .extDomain(\"acme.com\")\n            .extDomainName(\"acme.com.pra.d.zscalerportal.net\")\n            .extDomainTranslation(\"acme.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:PRAPortal\n    properties:\n      name: server1.acme.com\n      description: server1.acme.com\n      enabled: true\n      domain: server1-acme.com.pra.d.zscalerportal.net\n      userNotification: Created with Terraform\n      userNotificationEnabled: true\n      extLabel: server1\n      extDomain: acme.com\n      extDomainName: acme.com.pra.d.zscalerportal.net\n      extDomainTranslation: acme.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n# Configuring PRA Portal with User Portal\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.PRAPortal(\"this\", {\n    name: \"Server1 PRA01\",\n    description: \"Server1 PRA01 Description\",\n    enabled: true,\n    domain: \"server1-acme.com.pra.d.zscalerportal.net\",\n    userNotification: \"Created with Terraform\",\n    userNotificationEnabled: true,\n    extLabel: \"server1\",\n    extDomain: \"acme.com\",\n    extDomainName: \"acme.com.pra.d.zscalerportal.net\",\n    extDomainTranslation: \"acme.com\",\n    userPortalGid: \"145262059234265326\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.PRAPortal(\"this\",\n    name=\"Server1 PRA01\",\n    description=\"Server1 PRA01 Description\",\n    enabled=True,\n    domain=\"server1-acme.com.pra.d.zscalerportal.net\",\n    user_notification=\"Created with Terraform\",\n    user_notification_enabled=True,\n    ext_label=\"server1\",\n    ext_domain=\"acme.com\",\n    ext_domain_name=\"acme.com.pra.d.zscalerportal.net\",\n    ext_domain_translation=\"acme.com\",\n    user_portal_gid=\"145262059234265326\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.PRAPortal(\"this\", new()\n    {\n        Name = \"Server1 PRA01\",\n        Description = \"Server1 PRA01 Description\",\n        Enabled = true,\n        Domain = \"server1-acme.com.pra.d.zscalerportal.net\",\n        UserNotification = \"Created with Terraform\",\n        UserNotificationEnabled = true,\n        ExtLabel = \"server1\",\n        ExtDomain = \"acme.com\",\n        ExtDomainName = \"acme.com.pra.d.zscalerportal.net\",\n        ExtDomainTranslation = \"acme.com\",\n        UserPortalGid = \"145262059234265326\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewPRAPortal(ctx, \"this\", \u0026zpa.PRAPortalArgs{\n\t\t\tName:                    pulumi.String(\"Server1 PRA01\"),\n\t\t\tDescription:             pulumi.String(\"Server1 PRA01 Description\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tDomain:                  pulumi.String(\"server1-acme.com.pra.d.zscalerportal.net\"),\n\t\t\tUserNotification:        pulumi.String(\"Created with Terraform\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t\tExtLabel:                pulumi.String(\"server1\"),\n\t\t\tExtDomain:               pulumi.String(\"acme.com\"),\n\t\t\tExtDomainName:           pulumi.String(\"acme.com.pra.d.zscalerportal.net\"),\n\t\t\tExtDomainTranslation:    pulumi.String(\"acme.com\"),\n\t\t\tUserPortalGid:           pulumi.String(\"145262059234265326\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PRAPortal;\nimport com.pulumi.zpa.PRAPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new PRAPortal(\"this\", PRAPortalArgs.builder()\n            .name(\"Server1 PRA01\")\n            .description(\"Server1 PRA01 Description\")\n            .enabled(true)\n            .domain(\"server1-acme.com.pra.d.zscalerportal.net\")\n            .userNotification(\"Created with Terraform\")\n            .userNotificationEnabled(true)\n            .extLabel(\"server1\")\n            .extDomain(\"acme.com\")\n            .extDomainName(\"acme.com.pra.d.zscalerportal.net\")\n            .extDomainTranslation(\"acme.com\")\n            .userPortalGid(\"145262059234265326\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:PRAPortal\n    properties:\n      name: Server1 PRA01\n      description: Server1 PRA01 Description\n      enabled: true\n      domain: server1-acme.com.pra.d.zscalerportal.net\n      userNotification: Created with Terraform\n      userNotificationEnabled: true\n      extLabel: server1\n      extDomain: acme.com\n      extDomainName: acme.com.pra.d.zscalerportal.net\n      extDomainTranslation: acme.com\n      userPortalGid: '145262059234265326'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n# Configuring PRA Portal with Approval Reviewer\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.PRAPortal(\"this\", {\n    name: \"Server1 PRA01\",\n    description: \"Server1 PRA01 Description\",\n    enabled: true,\n    domain: \"server1-acme.com.pra.d.zscalerportal.net\",\n    userNotification: \"Created with Terraform\",\n    userNotificationEnabled: true,\n    extLabel: \"server1\",\n    extDomain: \"acme.com\",\n    extDomainName: \"acme.com.pra.d.zscalerportal.net\",\n    extDomainTranslation: \"acme.com\",\n    userPortalGid: \"145262059234265326\",\n    approvalReviewers: [\"jdoe@acme.com\"],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.PRAPortal(\"this\",\n    name=\"Server1 PRA01\",\n    description=\"Server1 PRA01 Description\",\n    enabled=True,\n    domain=\"server1-acme.com.pra.d.zscalerportal.net\",\n    user_notification=\"Created with Terraform\",\n    user_notification_enabled=True,\n    ext_label=\"server1\",\n    ext_domain=\"acme.com\",\n    ext_domain_name=\"acme.com.pra.d.zscalerportal.net\",\n    ext_domain_translation=\"acme.com\",\n    user_portal_gid=\"145262059234265326\",\n    approval_reviewers=[\"jdoe@acme.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.PRAPortal(\"this\", new()\n    {\n        Name = \"Server1 PRA01\",\n        Description = \"Server1 PRA01 Description\",\n        Enabled = true,\n        Domain = \"server1-acme.com.pra.d.zscalerportal.net\",\n        UserNotification = \"Created with Terraform\",\n        UserNotificationEnabled = true,\n        ExtLabel = \"server1\",\n        ExtDomain = \"acme.com\",\n        ExtDomainName = \"acme.com.pra.d.zscalerportal.net\",\n        ExtDomainTranslation = \"acme.com\",\n        UserPortalGid = \"145262059234265326\",\n        ApprovalReviewers = new[]\n        {\n            \"jdoe@acme.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewPRAPortal(ctx, \"this\", \u0026zpa.PRAPortalArgs{\n\t\t\tName:                    pulumi.String(\"Server1 PRA01\"),\n\t\t\tDescription:             pulumi.String(\"Server1 PRA01 Description\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tDomain:                  pulumi.String(\"server1-acme.com.pra.d.zscalerportal.net\"),\n\t\t\tUserNotification:        pulumi.String(\"Created with Terraform\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t\tExtLabel:                pulumi.String(\"server1\"),\n\t\t\tExtDomain:               pulumi.String(\"acme.com\"),\n\t\t\tExtDomainName:           pulumi.String(\"acme.com.pra.d.zscalerportal.net\"),\n\t\t\tExtDomainTranslation:    pulumi.String(\"acme.com\"),\n\t\t\tUserPortalGid:           pulumi.String(\"145262059234265326\"),\n\t\t\tApprovalReviewers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"jdoe@acme.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PRAPortal;\nimport com.pulumi.zpa.PRAPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new PRAPortal(\"this\", PRAPortalArgs.builder()\n            .name(\"Server1 PRA01\")\n            .description(\"Server1 PRA01 Description\")\n            .enabled(true)\n            .domain(\"server1-acme.com.pra.d.zscalerportal.net\")\n            .userNotification(\"Created with Terraform\")\n            .userNotificationEnabled(true)\n            .extLabel(\"server1\")\n            .extDomain(\"acme.com\")\n            .extDomainName(\"acme.com.pra.d.zscalerportal.net\")\n            .extDomainTranslation(\"acme.com\")\n            .userPortalGid(\"145262059234265326\")\n            .approvalReviewers(\"jdoe@acme.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:PRAPortal\n    properties:\n      name: Server1 PRA01\n      description: Server1 PRA01 Description\n      enabled: true\n      domain: server1-acme.com.pra.d.zscalerportal.net\n      userNotification: Created with Terraform\n      userNotificationEnabled: true\n      extLabel: server1\n      extDomain: acme.com\n      extDomainName: acme.com.pra.d.zscalerportal.net\n      extDomainTranslation: acme.com\n      userPortalGid: '145262059234265326'\n      approvalReviewers:\n        - jdoe@acme.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**pra_portal_controller** can be imported by using `\u003cPORTAL ID\u003e` or `\u003cPORTAL NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/pRAPortal:PRAPortal this \u003cportal_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/pRAPortal:PRAPortal this \u003cportal_name\u003e\n```\n\n","properties":{"approvalReviewers":{"type":"array","items":{"type":"string"}},"certificateId":{"type":"string","description":"The unique identifier of the certificate"},"description":{"type":"string","description":"The description of the privileged portal"},"domain":{"type":"string","description":"The domain of the privileged portal"},"enabled":{"type":"boolean","description":"Whether or not the privileged portal is enabled"},"extDomain":{"type":"string","description":"The external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal."},"extDomainName":{"type":"string","description":"The domain suffix for the privileged portal URL. This field must be one of the customer's authentication domains."},"extDomainTranslation":{"type":"string","description":"The translation of the external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal."},"extLabel":{"type":"string","description":"The domain prefix for the privileged portal URL. The supported string can include numbers, lower case characters, and only supports a hyphen (-)."},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant. Pass microtenantId as null to retrieve data from all customers associated with the tenant."},"name":{"type":"string","description":"The name of the privileged portal"},"userNotification":{"type":"string","description":"The notification message displayed in the banner of the privileged portallink, if enabled"},"userNotificationEnabled":{"type":"boolean","description":"Indicates if the Notification Banner is enabled (true) or disabled (false)"},"userPortalGid":{"type":"string","description":"The unique identifier of the user portal."}},"required":["certificateId","name"],"inputProperties":{"approvalReviewers":{"type":"array","items":{"type":"string"}},"certificateId":{"type":"string","description":"The unique identifier of the certificate"},"description":{"type":"string","description":"The description of the privileged portal"},"domain":{"type":"string","description":"The domain of the privileged portal"},"enabled":{"type":"boolean","description":"Whether or not the privileged portal is enabled"},"extDomain":{"type":"string","description":"The external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal."},"extDomainName":{"type":"string","description":"The domain suffix for the privileged portal URL. This field must be one of the customer's authentication domains."},"extDomainTranslation":{"type":"string","description":"The translation of the external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal."},"extLabel":{"type":"string","description":"The domain prefix for the privileged portal URL. The supported string can include numbers, lower case characters, and only supports a hyphen (-)."},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant. Pass microtenantId as null to retrieve data from all customers associated with the tenant."},"name":{"type":"string","description":"The name of the privileged portal"},"userNotification":{"type":"string","description":"The notification message displayed in the banner of the privileged portallink, if enabled"},"userNotificationEnabled":{"type":"boolean","description":"Indicates if the Notification Banner is enabled (true) or disabled (false)"},"userPortalGid":{"type":"string","description":"The unique identifier of the user portal."}},"stateInputs":{"description":"Input properties used for looking up and filtering PRAPortal resources.\n","properties":{"approvalReviewers":{"type":"array","items":{"type":"string"}},"certificateId":{"type":"string","description":"The unique identifier of the certificate"},"description":{"type":"string","description":"The description of the privileged portal"},"domain":{"type":"string","description":"The domain of the privileged portal"},"enabled":{"type":"boolean","description":"Whether or not the privileged portal is enabled"},"extDomain":{"type":"string","description":"The external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal."},"extDomainName":{"type":"string","description":"The domain suffix for the privileged portal URL. This field must be one of the customer's authentication domains."},"extDomainTranslation":{"type":"string","description":"The translation of the external domain name prefix of the Browser Access application that is used for Zscaler-managed certificates when creating a privileged portal."},"extLabel":{"type":"string","description":"The domain prefix for the privileged portal URL. The supported string can include numbers, lower case characters, and only supports a hyphen (-)."},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant. Pass microtenantId as null to retrieve data from all customers associated with the tenant."},"name":{"type":"string","description":"The name of the privileged portal"},"userNotification":{"type":"string","description":"The notification message displayed in the banner of the privileged portallink, if enabled"},"userNotificationEnabled":{"type":"boolean","description":"Indicates if the Notification Banner is enabled (true) or disabled (false)"},"userPortalGid":{"type":"string","description":"The unique identifier of the user portal."}},"type":"object"}},"zpa:index/policyAccessCapabilitiesRule:PolicyAccessCapabilitiesRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-capabilities-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-policies-using-api)\n\nThe **zpa_policy_capabilities_rule** resource creates a policy capabilities rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getIdPController({\n    name: \"IdP_Users\",\n});\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_IdP_Users\",\n    idpName: \"IdP_Users\",\n});\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_IdP_Users\",\n    idpName: \"IdP_Users\",\n});\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"IdP_Users\",\n});\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"IdP_Users\",\n});\nconst thisPolicyAccessCapabilitiesRule = new zpa.PolicyAccessCapabilitiesRule(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"CHECK_CAPABILITIES\",\n    privilegedCapabilities: {\n        fileUpload: true,\n        fileDownload: true,\n        inspectFileUpload: true,\n        clipboardCopy: true,\n        clipboardPaste: true,\n        recordSession: true,\n    },\n    conditions: [{\n        operator: \"OR\",\n        operands: [\n            {\n                objectType: \"SAML\",\n                entryValues: [\n                    {\n                        rhs: \"user1@example.com\",\n                        lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                    },\n                    {\n                        rhs: \"A000\",\n                        lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                    },\n                ],\n            },\n            {\n                objectType: \"SCIM_GROUP\",\n                entryValues: [\n                    {\n                        rhs: a000.then(a000 =\u003e a000.id),\n                        lhs: _this.then(_this =\u003e _this.id),\n                    },\n                    {\n                        rhs: b000.then(b000 =\u003e b000.id),\n                        lhs: _this.then(_this =\u003e _this.id),\n                    },\n                ],\n            },\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_id_p_controller(name=\"IdP_Users\")\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_IdP_Users\",\n    idp_name=\"IdP_Users\")\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_IdP_Users\",\n    idp_name=\"IdP_Users\")\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"IdP_Users\")\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"IdP_Users\")\nthis_policy_access_capabilities_rule = zpa.PolicyAccessCapabilitiesRule(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"CHECK_CAPABILITIES\",\n    privileged_capabilities={\n        \"file_upload\": True,\n        \"file_download\": True,\n        \"inspect_file_upload\": True,\n        \"clipboard_copy\": True,\n        \"clipboard_paste\": True,\n        \"record_session\": True,\n    },\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [\n            {\n                \"object_type\": \"SAML\",\n                \"entry_values\": [\n                    {\n                        \"rhs\": \"user1@example.com\",\n                        \"lhs\": email_user_sso.id,\n                    },\n                    {\n                        \"rhs\": \"A000\",\n                        \"lhs\": group_user.id,\n                    },\n                ],\n            },\n            {\n                \"object_type\": \"SCIM_GROUP\",\n                \"entry_values\": [\n                    {\n                        \"rhs\": a000.id,\n                        \"lhs\": this.id,\n                    },\n                    {\n                        \"rhs\": b000.id,\n                        \"lhs\": this.id,\n                    },\n                ],\n            },\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"IdP_Users\",\n    });\n\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_IdP_Users\",\n        IdpName = \"IdP_Users\",\n    });\n\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_IdP_Users\",\n        IdpName = \"IdP_Users\",\n    });\n\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"IdP_Users\",\n    });\n\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"IdP_Users\",\n    });\n\n    var thisPolicyAccessCapabilitiesRule = new Zpa.PolicyAccessCapabilitiesRule(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"CHECK_CAPABILITIES\",\n        PrivilegedCapabilities = new Zpa.Inputs.PolicyAccessCapabilitiesRulePrivilegedCapabilitiesArgs\n        {\n            FileUpload = true,\n            FileDownload = true,\n            InspectFileUpload = true,\n            ClipboardCopy = true,\n            ClipboardPaste = true,\n            RecordSession = true,\n        },\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessCapabilitiesRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessCapabilitiesRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@example.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessCapabilitiesRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"IdP_Users\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_IdP_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"IdP_Users\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_IdP_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"IdP_Users\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"IdP_Users\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"IdP_Users\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPolicyAccessCapabilitiesRule(ctx, \"this\", \u0026zpa.PolicyAccessCapabilitiesRuleArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"CHECK_CAPABILITIES\"),\n\t\t\tPrivilegedCapabilities: \u0026zpa.PolicyAccessCapabilitiesRulePrivilegedCapabilitiesArgs{\n\t\t\t\tFileUpload:        pulumi.Bool(true),\n\t\t\t\tFileDownload:      pulumi.Bool(true),\n\t\t\t\tInspectFileUpload: pulumi.Bool(true),\n\t\t\t\tClipboardCopy:     pulumi.Bool(true),\n\t\t\t\tClipboardPaste:    pulumi.Bool(true),\n\t\t\t\tRecordSession:     pulumi.Bool(true),\n\t\t\t},\n\t\t\tConditions: zpa.PolicyAccessCapabilitiesRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessCapabilitiesRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessCapabilitiesRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessCapabilitiesRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@example.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessCapabilitiesRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.PolicyAccessCapabilitiesRule;\nimport com.pulumi.zpa.PolicyAccessCapabilitiesRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyAccessCapabilitiesRulePrivilegedCapabilitiesArgs;\nimport com.pulumi.zpa.inputs.PolicyAccessCapabilitiesRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"IdP_Users\")\n            .build());\n\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_IdP_Users\")\n            .idpName(\"IdP_Users\")\n            .build());\n\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_IdP_Users\")\n            .idpName(\"IdP_Users\")\n            .build());\n\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"IdP_Users\")\n            .build());\n\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"IdP_Users\")\n            .build());\n\n        var thisPolicyAccessCapabilitiesRule = new PolicyAccessCapabilitiesRule(\"thisPolicyAccessCapabilitiesRule\", PolicyAccessCapabilitiesRuleArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"CHECK_CAPABILITIES\")\n            .privilegedCapabilities(PolicyAccessCapabilitiesRulePrivilegedCapabilitiesArgs.builder()\n                .fileUpload(true)\n                .fileDownload(true)\n                .inspectFileUpload(true)\n                .clipboardCopy(true)\n                .clipboardPaste(true)\n                .recordSession(true)\n                .build())\n            .conditions(PolicyAccessCapabilitiesRuleConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(                \n                    PolicyAccessCapabilitiesRuleConditionOperandArgs.builder()\n                        .objectType(\"SAML\")\n                        .entryValues(                        \n                            PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs.builder()\n                                .rhs(\"user1@example.com\")\n                                .lhs(emailUserSso.id())\n                                .build(),\n                            PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs.builder()\n                                .rhs(\"A000\")\n                                .lhs(groupUser.id())\n                                .build())\n                        .build(),\n                    PolicyAccessCapabilitiesRuleConditionOperandArgs.builder()\n                        .objectType(\"SCIM_GROUP\")\n                        .entryValues(                        \n                            PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs.builder()\n                                .rhs(a000.id())\n                                .lhs(this_.id())\n                                .build(),\n                            PolicyAccessCapabilitiesRuleConditionOperandEntryValueArgs.builder()\n                                .rhs(b000.id())\n                                .lhs(this_.id())\n                                .build())\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisPolicyAccessCapabilitiesRule:\n    type: zpa:PolicyAccessCapabilitiesRule\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: CHECK_CAPABILITIES\n      privilegedCapabilities:\n        fileUpload: true\n        fileDownload: true\n        inspectFileUpload: true\n        clipboardCopy: true\n        clipboardPaste: true\n        recordSession: true\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@example.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${this.id}\n                - rhs: ${b000.id}\n                  lhs: ${this.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: IdP_Users\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_IdP_Users\n        idpName: IdP_Users\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_IdP_Users\n        idpName: IdP_Users\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: IdP_Users\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: IdP_Users\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| APP |   |  | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e`\n| APP_GROUP |   |  | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access capability can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessCapabilitiesRule:PolicyAccessCapabilitiesRule example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported value: `CHECK_CAPABILITIES`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRuleCondition:PolicyAccessCapabilitiesRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"privilegedCapabilities":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRulePrivilegedCapabilities:PolicyAccessCapabilitiesRulePrivilegedCapabilities"}},"required":["conditions","microtenantId","name","policySetId","privilegedCapabilities"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported value: `CHECK_CAPABILITIES`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRuleCondition:PolicyAccessCapabilitiesRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"privilegedCapabilities":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRulePrivilegedCapabilities:PolicyAccessCapabilitiesRulePrivilegedCapabilities"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessCapabilitiesRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported value: `CHECK_CAPABILITIES`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRuleCondition:PolicyAccessCapabilitiesRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"privilegedCapabilities":{"$ref":"#/types/zpa:index/PolicyAccessCapabilitiesRulePrivilegedCapabilities:PolicyAccessCapabilitiesRulePrivilegedCapabilities"}},"type":"object"}},"zpa:index/policyAccessCredentialRule:PolicyAccessCredentialRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-capabilities-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-policies-using-api)\n\nThe **zpa_policy_credential_rule** resource creates a policy credential rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as std from \"@pulumi/std\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\nconst thisApplicationSegmentPRA = new zpa.ApplicationSegmentPRA(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    healthReporting: \"ON_ACCESS\",\n    bypassType: \"NEVER\",\n    isCnameEnabled: true,\n    tcpPortRanges: [\n        \"22\",\n        \"22\",\n        \"3389\",\n        \"3389\",\n    ],\n    domainNames: [\n        \"ssh_pra.example.com\",\n        \"rdp_pra.example.com\",\n    ],\n    segmentGroupId: thisSegmentGroup.id,\n    commonAppsDtos: [{\n        appsConfigs: [\n            {\n                name: \"rdp_pra\",\n                domain: \"rdp_pra.example.com\",\n                applicationProtocol: \"RDP\",\n                connectionSecurity: \"ANY\",\n                applicationPort: \"3389\",\n                enabled: true,\n                appTypes: [\"SECURE_REMOTE_ACCESS\"],\n            },\n            {\n                name: \"ssh_pra\",\n                domain: \"ssh_pra.example.com\",\n                applicationProtocol: \"SSH\",\n                applicationPort: \"22\",\n                enabled: true,\n                appTypes: [\"SECURE_REMOTE_ACCESS\"],\n            },\n        ],\n    }],\n});\nconst this1 = zpa.getBaCertificate({\n    name: \"pra01.example.com\",\n});\nconst thisPRAPortal = new zpa.PRAPortal(\"this\", {\n    name: \"pra01.example.com\",\n    description: \"pra01.example.com\",\n    enabled: true,\n    domain: \"pra01.example.com\",\n    certificateId: thisZpaBaCertificate.id,\n    userNotification: \"Created with Terraform\",\n    userNotificationEnabled: true,\n});\nconst praApplicationIds = std.flattenOutput({\n    input: thisApplicationSegmentPRA.commonAppsDtos.apply(commonAppsDtos =\u003e commonAppsDtos.map(commonApps =\u003e (commonApps.appsConfig))),\n}).apply(invoke =\u003e .reduce((__obj, appDto) =\u003e ({ ...__obj, [appDto.name]: appDto.id })));\nconst praApplicationIdSshPra = std.lookupOutput({\n    map: praApplicationIds,\n    key: \"ssh_pra\",\n    \"default\": \"\",\n}).apply(invoke =\u003e invoke.result);\nconst praApplicationIdRdpPra = std.lookupOutput({\n    map: praApplicationIds,\n    key: \"rdp_pra\",\n    \"default\": \"\",\n}).apply(invoke =\u003e invoke.result);\nconst sshPra = new zpa.PRAConsole(\"ssh_pra\", {\n    name: \"ssh_console\",\n    description: \"Created with Terraform\",\n    enabled: true,\n    praApplications: [{\n        id: praApplicationIdSshPra,\n    }],\n    praPortals: [{\n        ids: [this1ZpaPraPortalController.id],\n    }],\n}, {\n    dependsOn: [thisApplicationSegmentPRA],\n});\nconst rdpPra = new zpa.PRAConsole(\"rdp_pra\", {\n    name: \"rdp_console\",\n    description: \"Created with Terraform\",\n    enabled: true,\n    praApplications: [{\n        id: praApplicationIdRdpPra,\n    }],\n    praPortals: [{\n        ids: [this1ZpaPraPortalController.id],\n    }],\n}, {\n    dependsOn: [thisApplicationSegmentPRA],\n});\nconst thisPRACredential = new zpa.PRACredential(\"this\", {\n    name: \"John Carrow\",\n    description: \"Created with Terraform\",\n    credentialType: \"USERNAME_PASSWORD\",\n    userDomain: \"acme.com\",\n    username: \"jcarrow\",\n    password: \"\",\n});\nconst _this = zpa.getIdPController({\n    name: \"Idp_Users\",\n});\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Idp_Users\",\n    idpName: \"Idp_Users\",\n});\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Idp_Users\",\n    idpName: \"Idp_Users\",\n});\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Users\",\n});\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Users\",\n});\nconst thisPolicyAccessCredentialRule = new zpa.PolicyAccessCredentialRule(\"this\", {\n    name: \"Example_Credential_Rule\",\n    description: \"Example_Credential_Rule\",\n    action: \"INJECT_CREDENTIALS\",\n    credentials: [{\n        id: thisPRACredential.id,\n    }],\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"CONSOLE\",\n                values: [\n                    rdpPra.id,\n                    sshPra.id,\n                ],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                    ],\n                },\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_std as std\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\nthis_application_segment_pra = zpa.ApplicationSegmentPRA(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    health_reporting=\"ON_ACCESS\",\n    bypass_type=\"NEVER\",\n    is_cname_enabled=True,\n    tcp_port_ranges=[\n        \"22\",\n        \"22\",\n        \"3389\",\n        \"3389\",\n    ],\n    domain_names=[\n        \"ssh_pra.example.com\",\n        \"rdp_pra.example.com\",\n    ],\n    segment_group_id=this_segment_group.id,\n    common_apps_dtos=[{\n        \"apps_configs\": [\n            {\n                \"name\": \"rdp_pra\",\n                \"domain\": \"rdp_pra.example.com\",\n                \"application_protocol\": \"RDP\",\n                \"connection_security\": \"ANY\",\n                \"application_port\": \"3389\",\n                \"enabled\": True,\n                \"app_types\": [\"SECURE_REMOTE_ACCESS\"],\n            },\n            {\n                \"name\": \"ssh_pra\",\n                \"domain\": \"ssh_pra.example.com\",\n                \"application_protocol\": \"SSH\",\n                \"application_port\": \"22\",\n                \"enabled\": True,\n                \"app_types\": [\"SECURE_REMOTE_ACCESS\"],\n            },\n        ],\n    }])\nthis1 = zpa.get_ba_certificate(name=\"pra01.example.com\")\nthis_pra_portal = zpa.PRAPortal(\"this\",\n    name=\"pra01.example.com\",\n    description=\"pra01.example.com\",\n    enabled=True,\n    domain=\"pra01.example.com\",\n    certificate_id=this_zpa_ba_certificate[\"id\"],\n    user_notification=\"Created with Terraform\",\n    user_notification_enabled=True)\npra_application_ids = std.flatten_output(input=this_application_segment_pra.common_apps_dtos.apply(lambda common_apps_dtos: [common_apps.apps_config for commonApps in common_apps_dtos])).apply(lambda invoke: {app_dto[\"name\"]: app_dto[\"id\"] for appDto in invoke.result})\npra_application_id_ssh_pra = std.lookup_output(map=pra_application_ids,\n    key=\"ssh_pra\",\n    default=\"\").apply(lambda invoke: invoke.result)\npra_application_id_rdp_pra = std.lookup_output(map=pra_application_ids,\n    key=\"rdp_pra\",\n    default=\"\").apply(lambda invoke: invoke.result)\nssh_pra = zpa.PRAConsole(\"ssh_pra\",\n    name=\"ssh_console\",\n    description=\"Created with Terraform\",\n    enabled=True,\n    pra_applications=[{\n        \"id\": pra_application_id_ssh_pra,\n    }],\n    pra_portals=[{\n        \"ids\": [this1_zpa_pra_portal_controller[\"id\"]],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[this_application_segment_pra]))\nrdp_pra = zpa.PRAConsole(\"rdp_pra\",\n    name=\"rdp_console\",\n    description=\"Created with Terraform\",\n    enabled=True,\n    pra_applications=[{\n        \"id\": pra_application_id_rdp_pra,\n    }],\n    pra_portals=[{\n        \"ids\": [this1_zpa_pra_portal_controller[\"id\"]],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[this_application_segment_pra]))\nthis_pra_credential = zpa.PRACredential(\"this\",\n    name=\"John Carrow\",\n    description=\"Created with Terraform\",\n    credential_type=\"USERNAME_PASSWORD\",\n    user_domain=\"acme.com\",\n    username=\"jcarrow\",\n    password=\"\")\nthis = zpa.get_id_p_controller(name=\"Idp_Users\")\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Idp_Users\",\n    idp_name=\"Idp_Users\")\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Idp_Users\",\n    idp_name=\"Idp_Users\")\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Users\")\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Users\")\nthis_policy_access_credential_rule = zpa.PolicyAccessCredentialRule(\"this\",\n    name=\"Example_Credential_Rule\",\n    description=\"Example_Credential_Rule\",\n    action=\"INJECT_CREDENTIALS\",\n    credentials=[{\n        \"id\": this_pra_credential.id,\n    }],\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"CONSOLE\",\n                \"values\": [\n                    rdp_pra.id,\n                    ssh_pra.id,\n                ],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this.id,\n                        },\n                    ],\n                },\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Std = Pulumi.Std;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    var thisApplicationSegmentPRA = new Zpa.ApplicationSegmentPRA(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        HealthReporting = \"ON_ACCESS\",\n        BypassType = \"NEVER\",\n        IsCnameEnabled = true,\n        TcpPortRanges = new[]\n        {\n            \"22\",\n            \"22\",\n            \"3389\",\n            \"3389\",\n        },\n        DomainNames = new[]\n        {\n            \"ssh_pra.example.com\",\n            \"rdp_pra.example.com\",\n        },\n        SegmentGroupId = thisSegmentGroup.Id,\n        CommonAppsDtos = new[]\n        {\n            new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoArgs\n            {\n                AppsConfigs = new[]\n                {\n                    new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs\n                    {\n                        Name = \"rdp_pra\",\n                        Domain = \"rdp_pra.example.com\",\n                        ApplicationProtocol = \"RDP\",\n                        ConnectionSecurity = \"ANY\",\n                        ApplicationPort = \"3389\",\n                        Enabled = true,\n                        AppTypes = new[]\n                        {\n                            \"SECURE_REMOTE_ACCESS\",\n                        },\n                    },\n                    new Zpa.Inputs.ApplicationSegmentPRACommonAppsDtoAppsConfigArgs\n                    {\n                        Name = \"ssh_pra\",\n                        Domain = \"ssh_pra.example.com\",\n                        ApplicationProtocol = \"SSH\",\n                        ApplicationPort = \"22\",\n                        Enabled = true,\n                        AppTypes = new[]\n                        {\n                            \"SECURE_REMOTE_ACCESS\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n    var this1 = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"pra01.example.com\",\n    });\n\n    var thisPRAPortal = new Zpa.PRAPortal(\"this\", new()\n    {\n        Name = \"pra01.example.com\",\n        Description = \"pra01.example.com\",\n        Enabled = true,\n        Domain = \"pra01.example.com\",\n        CertificateId = thisZpaBaCertificate.Id,\n        UserNotification = \"Created with Terraform\",\n        UserNotificationEnabled = true,\n    });\n\n    var praApplicationIds = Std.Flatten.Invoke(new()\n    {\n        Input = thisApplicationSegmentPRA.CommonAppsDtos.Apply(commonAppsDtos =\u003e commonAppsDtos.Select(commonApps =\u003e \n        {\n            return commonApps.AppsConfig;\n        }).ToList()),\n    }).Apply(invoke =\u003e .ToDictionary(item =\u003e {\n        var appDto = item.Value;\n        return appDto.Name;\n    }, item =\u003e {\n        var appDto = item.Value;\n        return appDto.Id;\n    }));\n\n    var praApplicationIdSshPra = Std.Lookup.Invoke(new()\n    {\n        Map = praApplicationIds,\n        Key = \"ssh_pra\",\n        Default = \"\",\n    }).Apply(invoke =\u003e invoke.Result);\n\n    var praApplicationIdRdpPra = Std.Lookup.Invoke(new()\n    {\n        Map = praApplicationIds,\n        Key = \"rdp_pra\",\n        Default = \"\",\n    }).Apply(invoke =\u003e invoke.Result);\n\n    var sshPra = new Zpa.PRAConsole(\"ssh_pra\", new()\n    {\n        Name = \"ssh_console\",\n        Description = \"Created with Terraform\",\n        Enabled = true,\n        PraApplications = new[]\n        {\n            new Zpa.Inputs.PRAConsolePraApplicationArgs\n            {\n                Id = praApplicationIdSshPra,\n            },\n        },\n        PraPortals = new[]\n        {\n            new Zpa.Inputs.PRAConsolePraPortalArgs\n            {\n                Ids = new[]\n                {\n                    this1ZpaPraPortalController.Id,\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            thisApplicationSegmentPRA,\n        },\n    });\n\n    var rdpPra = new Zpa.PRAConsole(\"rdp_pra\", new()\n    {\n        Name = \"rdp_console\",\n        Description = \"Created with Terraform\",\n        Enabled = true,\n        PraApplications = new[]\n        {\n            new Zpa.Inputs.PRAConsolePraApplicationArgs\n            {\n                Id = praApplicationIdRdpPra,\n            },\n        },\n        PraPortals = new[]\n        {\n            new Zpa.Inputs.PRAConsolePraPortalArgs\n            {\n                Ids = new[]\n                {\n                    this1ZpaPraPortalController.Id,\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            thisApplicationSegmentPRA,\n        },\n    });\n\n    var thisPRACredential = new Zpa.PRACredential(\"this\", new()\n    {\n        Name = \"John Carrow\",\n        Description = \"Created with Terraform\",\n        CredentialType = \"USERNAME_PASSWORD\",\n        UserDomain = \"acme.com\",\n        Username = \"jcarrow\",\n        Password = \"\",\n    });\n\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Users\",\n    });\n\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Idp_Users\",\n        IdpName = \"Idp_Users\",\n    });\n\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Idp_Users\",\n        IdpName = \"Idp_Users\",\n    });\n\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Users\",\n    });\n\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Users\",\n    });\n\n    var thisPolicyAccessCredentialRule = new Zpa.PolicyAccessCredentialRule(\"this\", new()\n    {\n        Name = \"Example_Credential_Rule\",\n        Description = \"Example_Credential_Rule\",\n        Action = \"INJECT_CREDENTIALS\",\n        Credentials = new[]\n        {\n            new Zpa.Inputs.PolicyAccessCredentialRuleCredentialArgs\n            {\n                Id = thisPRACredential.Id,\n            },\n        },\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessCredentialRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessCredentialRuleConditionOperandArgs\n                    {\n                        ObjectType = \"CONSOLE\",\n                        Values = new[]\n                        {\n                            rdpPra.Id,\n                            sshPra.Id,\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessCredentialRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessCredentialRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessCredentialRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessCredentialRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessCredentialRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessCredentialRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyAccessCredentialRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| CONSOLE |   |  | `\u003cspan pulumi-lang-nodejs=\"`praConsoleId`\" pulumi-lang-dotnet=\"`PraConsoleId`\" pulumi-lang-go=\"`praConsoleId`\" pulumi-lang-python=\"`pra_console_id`\" pulumi-lang-yaml=\"`praConsoleId`\" pulumi-lang-java=\"`praConsoleId`\"\u003e`pra_console_id`\u003c/span\u003e`\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access credential can be imported by using `\u003cPOLICY CREDENTIAL ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessCredentialRule:PolicyAccessCredentialRule example \u003cpolicy_credential_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCondition:PolicyAccessCredentialRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"credentialPools":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCredentialPool:PolicyAccessCredentialRuleCredentialPool"}},"credentials":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCredential:PolicyAccessCredentialRuleCredential"}},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"policySetId":{"type":"string"}},"required":["conditions","microtenantId","name","policySetId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCondition:PolicyAccessCredentialRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"credentialPools":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCredentialPool:PolicyAccessCredentialRuleCredentialPool"}},"credentials":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCredential:PolicyAccessCredentialRuleCredential"}},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessCredentialRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCondition:PolicyAccessCredentialRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"credentialPools":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCredentialPool:PolicyAccessCredentialRuleCredentialPool"}},"credentials":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessCredentialRuleCredential:PolicyAccessCredentialRuleCredential"}},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"policySetId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessForwardingRule:PolicyAccessForwardingRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-client-forwarding-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-client-forwarding-policies-using-api)\n\nThe **zpa_policy_forwarding_rule** resource creates a policy forwarding access rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e`\u003cspan pulumi-lang-nodejs=\" policyAccessRuleReorder\n\" pulumi-lang-dotnet=\" PolicyAccessRuleReorder\n\" pulumi-lang-go=\" policyAccessRuleReorder\n\" pulumi-lang-python=\" policy_access_rule_reorder\n\" pulumi-lang-yaml=\" policyAccessRuleReorder\n\" pulumi-lang-java=\" policyAccessRuleReorder\n\"\u003e policy_access_rule_reorder\n\u003c/span\u003e\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  #Create Client Forwarding Access Rule\n  this:\n    type: zpa:PolicyAccessForwardingRule\n    properties:\n      name: Example\n      description: Example\n      action: BYPASS\n      operator: AND\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP\n              lhs: id\n              rhs:\n                - ${thisApplicationSegment.id}\n        - operator: OR\n          operands:\n            - objectType: SCIM_GROUP\n              lhs: ${idpName.id}\n              rhs:\n                - ${engineering.id}\n  # ZPA Application Segment resource\n  thisApplicationSegment:\n    type: zpa:ApplicationSegment\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      healthReporting: ON_ACCESS\n      bypassType: NEVER\n      isCnameEnabled: true\n      tcpPortRanges:\n        - '8080'\n        - '8080'\n      domainNames:\n        - server.acme.com\n      segmentGroupId: ${testSegmentGroup.id}\n      serverGroups:\n        - ids:\n            - ${testServerGroup.id}\nvariables:\n  # Get IdP ID\n  idpName:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: IdP_Name\n  # Get SCIM Group attribute ID\n  engineering:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: Engineering\n        idpName: IdP_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\nLHS and RHS values differ based on object types. Refer to the following table:\n\n| Object Type | LHS| RHS\n|----------|-----------|----------\n| APP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeMachineTunnel`\" pulumi-lang-dotnet=\"`ZpnClientTypeMachineTunnel`\" pulumi-lang-go=\"`zpnClientTypeMachineTunnel`\" pulumi-lang-python=\"`zpn_client_type_machine_tunnel`\" pulumi-lang-yaml=\"`zpnClientTypeMachineTunnel`\" pulumi-lang-java=\"`zpnClientTypeMachineTunnel`\"\u003e`zpn_client_type_machine_tunnel`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| EDGE_CONNECTOR_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`edgeConnectorId`\" pulumi-lang-dotnet=\"`EdgeConnectorId`\" pulumi-lang-go=\"`edgeConnectorId`\" pulumi-lang-python=\"`edge_connector_id`\" pulumi-lang-yaml=\"`edgeConnectorId`\" pulumi-lang-java=\"`edgeConnectorId`\"\u003e`edge_connector_id`\u003c/span\u003e` |\n| MACHINE_GRP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n| TRUSTED_NETWORK | `\u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e`  | ``\"true\"`` |\n| IDP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`identityProviderId`\" pulumi-lang-dotnet=\"`IdentityProviderId`\" pulumi-lang-go=\"`identityProviderId`\" pulumi-lang-python=\"`identity_provider_id`\" pulumi-lang-yaml=\"`identityProviderId`\" pulumi-lang-java=\"`identityProviderId`\"\u003e`identity_provider_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy Access Forwarding Rule can be imported by using `\u003cPOLICY FORWARDING RULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessForwardingRule:PolicyAccessForwardingRule example \u003cpolicy_forwarding_rule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleCondition:PolicyAccessForwardingRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"required":["bypassDefaultRule","customMsg","defaultRule","microtenantId","name","operator","policySetId","policyType","priority","reauthDefaultRule","ruleOrder","zpnCbiProfileId","zpnInspectionProfileId","zpnIsolationProfileId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleCondition:PolicyAccessForwardingRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessForwardingRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleCondition:PolicyAccessForwardingRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessForwardingRuleV2:PolicyAccessForwardingRuleV2":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-client-forwarding-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-client-forwarding-policies-using-api)\n\nThe **zpa_policy_forwarding_rule_v2** resource creates and manages policy access forwarding rule in the Zscaler Private Access cloud using a new v2 API endpoint.\n\n  ⚠️ **NOTE**: This resource is recommended if your configuration requires the association of more than 1000 resource criteria per rule.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Identity Provider ID\nconst _this = zpa.getIdPController({\n    name: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Name\",\n});\n// Create Segment Group\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\n// Create Policy Access Rule V2\nconst thisPolicyAccessForwardingRuleV2 = new zpa.PolicyAccessForwardingRuleV2(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"BYPASS\",\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"APP_GROUP\",\n                values: [thisSegmentGroup.id],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"PLATFORM\",\n                entryValues: [\n                    {\n                        rhs: \"true\",\n                        lhs: \"linux\",\n                    },\n                    {\n                        rhs: \"true\",\n                        lhs: \"android\",\n                    },\n                ],\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve Identity Provider ID\nthis = zpa.get_id_p_controller(name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Name\")\n# Create Segment Group\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\n# Create Policy Access Rule V2\nthis_policy_access_forwarding_rule_v2 = zpa.PolicyAccessForwardingRuleV2(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"BYPASS\",\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"APP_GROUP\",\n                \"values\": [this_segment_group.id],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this.id,\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"PLATFORM\",\n                \"entry_values\": [\n                    {\n                        \"rhs\": \"true\",\n                        \"lhs\": \"linux\",\n                    },\n                    {\n                        \"rhs\": \"true\",\n                        \"lhs\": \"android\",\n                    },\n                ],\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Identity Provider ID\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Create Segment Group\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    // Create Policy Access Rule V2\n    var thisPolicyAccessForwardingRuleV2 = new Zpa.PolicyAccessForwardingRuleV2(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"BYPASS\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"APP_GROUP\",\n                        Values = new[]\n                        {\n                            thisSegmentGroup.Id,\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"PLATFORM\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"true\",\n                                Lhs = \"linux\",\n                            },\n                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"true\",\n                                Lhs = \"android\",\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Identity Provider ID\n\t\tthis, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Segment Group\n\t\tthisSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"this\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Rule V2\n\t\t_, err = zpa.NewPolicyAccessForwardingRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessForwardingRuleV2Args{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"BYPASS\"),\n\t\t\tConditions: zpa.PolicyAccessForwardingRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessForwardingRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP_GROUP\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tthisSegmentGroup.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessForwardingRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessForwardingRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"PLATFORM\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"linux\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"android\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.PolicyAccessForwardingRuleV2;\nimport com.pulumi.zpa.PolicyAccessForwardingRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessForwardingRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Identity Provider ID\n        final var this = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Create Segment Group\n        var thisSegmentGroup = new SegmentGroup(\"thisSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        // Create Policy Access Rule V2\n        var thisPolicyAccessForwardingRuleV2 = new PolicyAccessForwardingRuleV2(\"thisPolicyAccessForwardingRuleV2\", PolicyAccessForwardingRuleV2Args.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"BYPASS\")\n            .conditions(            \n                PolicyAccessForwardingRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"APP_GROUP\")\n                        .values(thisSegmentGroup.id())\n                        .build())\n                    .build(),\n                PolicyAccessForwardingRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(                            \n                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"user1@acme.com\")\n                                    .lhs(emailUserSso.id())\n                                    .build(),\n                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"A000\")\n                                    .lhs(groupUser.id())\n                                    .build())\n                            .build(),\n                        PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(this_.id())\n                                    .build(),\n                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(this_.id())\n                                    .build())\n                            .build())\n                    .build(),\n                PolicyAccessForwardingRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"PLATFORM\")\n                        .entryValues(                        \n                            PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()\n                                .rhs(\"true\")\n                                .lhs(\"linux\")\n                                .build(),\n                            PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()\n                                .rhs(\"true\")\n                                .lhs(\"android\")\n                                .build())\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Segment Group\n  thisSegmentGroup:\n    type: zpa:SegmentGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # Create Policy Access Rule V2\n  thisPolicyAccessForwardingRuleV2:\n    type: zpa:PolicyAccessForwardingRuleV2\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: BYPASS\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP_GROUP\n              values:\n                - ${thisSegmentGroup.id}\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${this.id}\n                - rhs: ${b000.id}\n                  lhs: ${this.id}\n        - operator: OR\n          operands:\n            - objectType: PLATFORM\n              entryValues:\n                - rhs: 'true'\n                  lhs: linux\n                - rhs: 'true'\n                  lhs: android\nvariables:\n  # Retrieve Identity Provider ID\n  this:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: Idp_Name\n  # Retrieve SAML Attribute ID\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_Users\n        idpName: Idp_Name\n  # Retrieve SAML Attribute ID\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_Users\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: Idp_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| APP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE  |   |  |  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappl`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappl`\" pulumi-lang-go=\"`zpnClientTypeZappl`\" pulumi-lang-python=\"`zpn_client_type_zappl`\" pulumi-lang-yaml=\"`zpnClientTypeZappl`\" pulumi-lang-java=\"`zpnClientTypeZappl`\"\u003e`zpn_client_type_zappl`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access timeout rule can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessForwardingRuleV2:PolicyAccessForwardingRuleV2 example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `BYPASS`, `INTERCEPT`, and `INTERCEPT_ACCESSIBLE`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleV2Condition:PolicyAccessForwardingRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"}},"required":["conditions","microtenantId","name","policySetId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `BYPASS`, `INTERCEPT`, and `INTERCEPT_ACCESSIBLE`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleV2Condition:PolicyAccessForwardingRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessForwardingRuleV2 resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `BYPASS`, `INTERCEPT`, and `INTERCEPT_ACCESSIBLE`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessForwardingRuleV2Condition:PolicyAccessForwardingRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessInspectionRule:PolicyAccessInspectionRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-security-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-policies-using-api)\n\nThe **zpa_policy_inspection_rule** resource creates a policy inspection access rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e`\u003cspan pulumi-lang-nodejs=\" policyAccessRuleReorder\n\" pulumi-lang-dotnet=\" PolicyAccessRuleReorder\n\" pulumi-lang-go=\" policyAccessRuleReorder\n\" pulumi-lang-python=\" policy_access_rule_reorder\n\" pulumi-lang-yaml=\" policyAccessRuleReorder\n\" pulumi-lang-java=\" policyAccessRuleReorder\n\"\u003e policy_access_rule_reorder\n\u003c/span\u003e\n## Example Usage\n\n### 1\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n//Create Inspection Access Rule\nconst _this = new zpa.PolicyAccessInspectionRule(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"INSPECT\",\n    operator: \"AND\",\n    policySetId: inspectionPolicy.id,\n    zpnInspectionProfileId: thisZpaInspectionProfile.id,\n    conditions: [{\n        operator: \"OR\",\n        operands: [{\n            objectType: \"APP\",\n            lhs: \"id\",\n            rhs: thisZpaApplicationSegmentInspection.id,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n#Create Inspection Access Rule\nthis = zpa.PolicyAccessInspectionRule(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"INSPECT\",\n    operator=\"AND\",\n    policy_set_id=inspection_policy[\"id\"],\n    zpn_inspection_profile_id=this_zpa_inspection_profile[\"id\"],\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [{\n            \"object_type\": \"APP\",\n            \"lhs\": \"id\",\n            \"rhs\": this_zpa_application_segment_inspection[\"id\"],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //Create Inspection Access Rule\n    var @this = new Zpa.PolicyAccessInspectionRule(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"INSPECT\",\n        Operator = \"AND\",\n        PolicySetId = inspectionPolicy.Id,\n        ZpnInspectionProfileId = thisZpaInspectionProfile.Id,\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessInspectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessInspectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"APP\",\n                        Lhs = \"id\",\n                        Rhs = thisZpaApplicationSegmentInspection.Id,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create Inspection Access Rule\n\t\t_, err := zpa.NewPolicyAccessInspectionRule(ctx, \"this\", \u0026zpa.PolicyAccessInspectionRuleArgs{\n\t\t\tName:                   pulumi.String(\"Example\"),\n\t\t\tDescription:            pulumi.String(\"Example\"),\n\t\t\tAction:                 pulumi.String(\"INSPECT\"),\n\t\t\tOperator:               pulumi.String(\"AND\"),\n\t\t\tPolicySetId:            pulumi.Any(inspectionPolicy.Id),\n\t\t\tZpnInspectionProfileId: pulumi.Any(thisZpaInspectionProfile.Id),\n\t\t\tConditions: zpa.PolicyAccessInspectionRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessInspectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP\"),\n\t\t\t\t\t\t\tLhs:        pulumi.String(\"id\"),\n\t\t\t\t\t\t\tRhs:        pulumi.Any(thisZpaApplicationSegmentInspection.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PolicyAccessInspectionRule;\nimport com.pulumi.zpa.PolicyAccessInspectionRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyAccessInspectionRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //Create Inspection Access Rule\n        var this_ = new PolicyAccessInspectionRule(\"this\", PolicyAccessInspectionRuleArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"INSPECT\")\n            .operator(\"AND\")\n            .policySetId(inspectionPolicy.id())\n            .zpnInspectionProfileId(thisZpaInspectionProfile.id())\n            .conditions(PolicyAccessInspectionRuleConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(PolicyAccessInspectionRuleConditionOperandArgs.builder()\n                    .objectType(\"APP\")\n                    .lhs(\"id\")\n                    .rhs(thisZpaApplicationSegmentInspection.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  #Create Inspection Access Rule\n  this:\n    type: zpa:PolicyAccessInspectionRule\n    properties:\n      name: Example\n      description: Example\n      action: INSPECT\n      operator: AND\n      policySetId: ${inspectionPolicy.id}\n      zpnInspectionProfileId: ${thisZpaInspectionProfile.id}\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP\n              lhs: id\n              rhs: ${thisZpaApplicationSegmentInspection.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### 2\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Inspection policy type\nconst inspectionPolicy = zpa.getPolicyType({\n    policyType: \"INSPECTION_POLICY\",\n});\n//Create Inspection Access Rule\nconst _this = new zpa.PolicyAccessInspectionRule(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"BYPASS_INSPECT\",\n    ruleOrder: 1,\n    operator: \"AND\",\n    policySetId: inspectionPolicy.then(inspectionPolicy =\u003e inspectionPolicy.id),\n    conditions: [{\n        operator: \"OR\",\n        operands: [{\n            objectType: \"APP\",\n            lhs: \"id\",\n            rhs: thisZpaApplicationSegmentInspection.id,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve Inspection policy type\ninspection_policy = zpa.get_policy_type(policy_type=\"INSPECTION_POLICY\")\n#Create Inspection Access Rule\nthis = zpa.PolicyAccessInspectionRule(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"BYPASS_INSPECT\",\n    rule_order=1,\n    operator=\"AND\",\n    policy_set_id=inspection_policy.id,\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [{\n            \"object_type\": \"APP\",\n            \"lhs\": \"id\",\n            \"rhs\": this_zpa_application_segment_inspection[\"id\"],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Inspection policy type\n    var inspectionPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"INSPECTION_POLICY\",\n    });\n\n    //Create Inspection Access Rule\n    var @this = new Zpa.PolicyAccessInspectionRule(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"BYPASS_INSPECT\",\n        RuleOrder = 1,\n        Operator = \"AND\",\n        PolicySetId = inspectionPolicy.Apply(getPolicyTypeResult =\u003e getPolicyTypeResult.Id),\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessInspectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessInspectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"APP\",\n                        Lhs = \"id\",\n                        Rhs = thisZpaApplicationSegmentInspection.Id,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Inspection policy type\n\t\tinspectionPolicy, err := zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"INSPECTION_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Inspection Access Rule\n\t\t_, err = zpa.NewPolicyAccessInspectionRule(ctx, \"this\", \u0026zpa.PolicyAccessInspectionRuleArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"BYPASS_INSPECT\"),\n\t\t\tRuleOrder:   1,\n\t\t\tOperator:    pulumi.String(\"AND\"),\n\t\t\tPolicySetId: pulumi.String(inspectionPolicy.Id),\n\t\t\tConditions: zpa.PolicyAccessInspectionRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessInspectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP\"),\n\t\t\t\t\t\t\tLhs:        pulumi.String(\"id\"),\n\t\t\t\t\t\t\tRhs:        pulumi.Any(thisZpaApplicationSegmentInspection.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport com.pulumi.zpa.PolicyAccessInspectionRule;\nimport com.pulumi.zpa.PolicyAccessInspectionRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyAccessInspectionRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Inspection policy type\n        final var inspectionPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"INSPECTION_POLICY\")\n            .build());\n\n        //Create Inspection Access Rule\n        var this_ = new PolicyAccessInspectionRule(\"this\", PolicyAccessInspectionRuleArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"BYPASS_INSPECT\")\n            .ruleOrder(1)\n            .operator(\"AND\")\n            .policySetId(inspectionPolicy.id())\n            .conditions(PolicyAccessInspectionRuleConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(PolicyAccessInspectionRuleConditionOperandArgs.builder()\n                    .objectType(\"APP\")\n                    .lhs(\"id\")\n                    .rhs(thisZpaApplicationSegmentInspection.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  #Create Inspection Access Rule\n  this:\n    type: zpa:PolicyAccessInspectionRule\n    properties:\n      name: Example\n      description: Example\n      action: BYPASS_INSPECT\n      ruleOrder: 1\n      operator: AND\n      policySetId: ${inspectionPolicy.id}\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP\n              lhs: id\n              rhs: ${thisZpaApplicationSegmentInspection.id}\nvariables:\n  # Retrieve Inspection policy type\n  inspectionPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: INSPECTION_POLICY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS\n|----------|-----------|----------\n| APP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappl`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappl`\" pulumi-lang-go=\"`zpnClientTypeZappl`\" pulumi-lang-python=\"`zpn_client_type_zappl`\" pulumi-lang-yaml=\"`zpnClientTypeZappl`\" pulumi-lang-java=\"`zpnClientTypeZappl`\"\u003e`zpn_client_type_zappl`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| EDGE_CONNECTOR_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`edgeConnectorId`\" pulumi-lang-dotnet=\"`EdgeConnectorId`\" pulumi-lang-go=\"`edgeConnectorId`\" pulumi-lang-python=\"`edge_connector_id`\" pulumi-lang-yaml=\"`edgeConnectorId`\" pulumi-lang-java=\"`edgeConnectorId`\"\u003e`edge_connector_id`\u003c/span\u003e` |\n| IDP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`identityProviderId`\" pulumi-lang-dotnet=\"`IdentityProviderId`\" pulumi-lang-go=\"`identityProviderId`\" pulumi-lang-python=\"`identity_provider_id`\" pulumi-lang-yaml=\"`identityProviderId`\" pulumi-lang-java=\"`identityProviderId`\"\u003e`identity_provider_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| MACHINE_GRP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n| TRUSTED_NETWORK | `\u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e`  | ``\"true\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy Access Inspection Rule can be imported by using `\u003cPOLICY INSPECTION RULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessInspectionRule:PolicyAccessInspectionRule example \u003cpolicy_inspection_rule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleCondition:PolicyAccessInspectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"}},"required":["name","policySetId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleCondition:PolicyAccessInspectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessInspectionRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleCondition:PolicyAccessInspectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessInspectionRuleV2:PolicyAccessInspectionRuleV2":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-security-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-policies-using-api)\n\nThe **zpa_policy_inspection_rule_v2** resource creates and manages policy access inspection rule in the Zscaler Private Access cloud using a new v2 API endpoint.\n\n  ⚠️ **NOTE**: This resource is recommended if your configuration requires the association of more than 1000 resource criteria per rule.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getInspectionPredefinedControls({\n    name: \"Failed to parse request body\",\n    version: \"OWASP_CRS/3.3.0\",\n});\nconst defaultPredefinedControls = zpa.getInspectionAllPredefinedControls({\n    version: \"OWASP_CRS/3.3.0\",\n    groupName: \"preprocessors\",\n});\nconst thisInspectionProfile = new zpa.InspectionProfile(\"this\", {\n    predefinedControls: [{\n        id: _this.then(_this =\u003e _this.id),\n        action: \"BLOCK\",\n    }],\n    name: \"Example\",\n    description: \"Example\",\n    paranoiaLevel: \"1\",\n});\n// Retrieve Identity Provider ID\nconst thisGetIdPController = zpa.getIdPController({\n    name: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Name\",\n});\n// Create Policy Access Isolation Rule V2\nconst thisPolicyAccessInspectionRuleV2 = new zpa.PolicyAccessInspectionRuleV2(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"INSPECT\",\n    zpnInspectionProfileId: thisInspectionProfile.id,\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"CLIENT_TYPE\",\n                values: [\"zpn_client_type_exporter\"],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: thisGetIdPController.then(thisGetIdPController =\u003e thisGetIdPController.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: thisGetIdPController.then(thisGetIdPController =\u003e thisGetIdPController.id),\n                        },\n                    ],\n                },\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_inspection_predefined_controls(name=\"Failed to parse request body\",\n    version=\"OWASP_CRS/3.3.0\")\ndefault_predefined_controls = zpa.get_inspection_all_predefined_controls(version=\"OWASP_CRS/3.3.0\",\n    group_name=\"preprocessors\")\nthis_inspection_profile = zpa.InspectionProfile(\"this\",\n    predefined_controls=[{\n        \"id\": this.id,\n        \"action\": \"BLOCK\",\n    }],\n    name=\"Example\",\n    description=\"Example\",\n    paranoia_level=\"1\")\n# Retrieve Identity Provider ID\nthis_get_id_p_controller = zpa.get_id_p_controller(name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Name\")\n# Create Policy Access Isolation Rule V2\nthis_policy_access_inspection_rule_v2 = zpa.PolicyAccessInspectionRuleV2(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"INSPECT\",\n    zpn_inspection_profile_id=this_inspection_profile.id,\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"CLIENT_TYPE\",\n                \"values\": [\"zpn_client_type_exporter\"],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this_get_id_p_controller.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this_get_id_p_controller.id,\n                        },\n                    ],\n                },\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetInspectionPredefinedControls.Invoke(new()\n    {\n        Name = \"Failed to parse request body\",\n        Version = \"OWASP_CRS/3.3.0\",\n    });\n\n    var defaultPredefinedControls = Zpa.GetInspectionAllPredefinedControls.Invoke(new()\n    {\n        Version = \"OWASP_CRS/3.3.0\",\n        GroupName = \"preprocessors\",\n    });\n\n    var thisInspectionProfile = new Zpa.InspectionProfile(\"this\", new()\n    {\n        PredefinedControls = new[]\n        {\n            new Zpa.Inputs.InspectionProfilePredefinedControlArgs\n            {\n                Id = @this.Apply(@this =\u003e @this.Apply(getInspectionPredefinedControlsResult =\u003e getInspectionPredefinedControlsResult.Id)),\n                Action = \"BLOCK\",\n            },\n        },\n        Name = \"Example\",\n        Description = \"Example\",\n        ParanoiaLevel = \"1\",\n    });\n\n    // Retrieve Identity Provider ID\n    var thisGetIdPController = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Create Policy Access Isolation Rule V2\n    var thisPolicyAccessInspectionRuleV2 = new Zpa.PolicyAccessInspectionRuleV2(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"INSPECT\",\n        ZpnInspectionProfileId = thisInspectionProfile.Id,\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"CLIENT_TYPE\",\n                        Values = new[]\n                        {\n                            \"zpn_client_type_exporter\",\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = thisGetIdPController.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = thisGetIdPController.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id),\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetInspectionPredefinedControls(ctx, \u0026zpa.GetInspectionPredefinedControlsArgs{\n\t\t\tName:    pulumi.StringRef(\"Failed to parse request body\"),\n\t\t\tVersion: pulumi.StringRef(\"OWASP_CRS/3.3.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetInspectionAllPredefinedControls(ctx, \u0026zpa.GetInspectionAllPredefinedControlsArgs{\n\t\t\tVersion:   pulumi.StringRef(\"OWASP_CRS/3.3.0\"),\n\t\t\tGroupName: pulumi.StringRef(\"preprocessors\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisInspectionProfile, err := zpa.NewInspectionProfile(ctx, \"this\", \u0026zpa.InspectionProfileArgs{\n\t\t\tPredefinedControls: zpa.InspectionProfilePredefinedControlArray{\n\t\t\t\t\u0026zpa.InspectionProfilePredefinedControlArgs{\n\t\t\t\t\tId:     pulumi.String(this.Id),\n\t\t\t\t\tAction: pulumi.String(\"BLOCK\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName:          pulumi.String(\"Example\"),\n\t\t\tDescription:   pulumi.String(\"Example\"),\n\t\t\tParanoiaLevel: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve Identity Provider ID\n\t\tthisGetIdPController, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Isolation Rule V2\n\t\t_, err = zpa.NewPolicyAccessInspectionRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessInspectionRuleV2Args{\n\t\t\tName:                   pulumi.String(\"Example\"),\n\t\t\tDescription:            pulumi.String(\"Example\"),\n\t\t\tAction:                 pulumi.String(\"INSPECT\"),\n\t\t\tZpnInspectionProfileId: thisInspectionProfile.ID(),\n\t\t\tConditions: zpa.PolicyAccessInspectionRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessInspectionRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CLIENT_TYPE\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"zpn_client_type_exporter\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessInspectionRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(thisGetIdPController.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(thisGetIdPController.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetInspectionPredefinedControlsArgs;\nimport com.pulumi.zpa.inputs.GetInspectionAllPredefinedControlsArgs;\nimport com.pulumi.zpa.InspectionProfile;\nimport com.pulumi.zpa.InspectionProfileArgs;\nimport com.pulumi.zpa.inputs.InspectionProfilePredefinedControlArgs;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.PolicyAccessInspectionRuleV2;\nimport com.pulumi.zpa.PolicyAccessInspectionRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessInspectionRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getInspectionPredefinedControls(GetInspectionPredefinedControlsArgs.builder()\n            .name(\"Failed to parse request body\")\n            .version(\"OWASP_CRS/3.3.0\")\n            .build());\n\n        final var defaultPredefinedControls = ZpaFunctions.getInspectionAllPredefinedControls(GetInspectionAllPredefinedControlsArgs.builder()\n            .version(\"OWASP_CRS/3.3.0\")\n            .groupName(\"preprocessors\")\n            .build());\n\n        var thisInspectionProfile = new InspectionProfile(\"thisInspectionProfile\", InspectionProfileArgs.builder()\n            .predefinedControls(InspectionProfilePredefinedControlArgs.builder()\n                .id(this_.id())\n                .action(\"BLOCK\")\n                .build())\n            .name(\"Example\")\n            .description(\"Example\")\n            .paranoiaLevel(\"1\")\n            .build());\n\n        // Retrieve Identity Provider ID\n        final var thisGetIdPController = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Create Policy Access Isolation Rule V2\n        var thisPolicyAccessInspectionRuleV2 = new PolicyAccessInspectionRuleV2(\"thisPolicyAccessInspectionRuleV2\", PolicyAccessInspectionRuleV2Args.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"INSPECT\")\n            .zpnInspectionProfileId(thisInspectionProfile.id())\n            .conditions(            \n                PolicyAccessInspectionRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessInspectionRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"CLIENT_TYPE\")\n                        .values(\"zpn_client_type_exporter\")\n                        .build())\n                    .build(),\n                PolicyAccessInspectionRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyAccessInspectionRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(                            \n                                PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"user1@acme.com\")\n                                    .lhs(emailUserSso.id())\n                                    .build(),\n                                PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"A000\")\n                                    .lhs(groupUser.id())\n                                    .build())\n                            .build(),\n                        PolicyAccessInspectionRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(thisGetIdPController.id())\n                                    .build(),\n                                PolicyAccessInspectionRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(thisGetIdPController.id())\n                                    .build())\n                            .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisInspectionProfile:\n    type: zpa:InspectionProfile\n    name: this\n    properties:\n      predefinedControls:\n        - id: ${this.id}\n          action: BLOCK\n      name: Example\n      description: Example\n      paranoiaLevel: '1'\n  # Create Policy Access Isolation Rule V2\n  thisPolicyAccessInspectionRuleV2:\n    type: zpa:PolicyAccessInspectionRuleV2\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: INSPECT\n      zpnInspectionProfileId: ${thisInspectionProfile.id}\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: CLIENT_TYPE\n              values:\n                - zpn_client_type_exporter\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${thisGetIdPController.id}\n                - rhs: ${b000.id}\n                  lhs: ${thisGetIdPController.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getInspectionPredefinedControls\n      arguments:\n        name: Failed to parse request body\n        version: OWASP_CRS/3.3.0\n  defaultPredefinedControls:\n    fn::invoke:\n      function: zpa:getInspectionAllPredefinedControls\n      arguments:\n        version: OWASP_CRS/3.3.0\n        groupName: preprocessors\n  # Retrieve Identity Provider ID\n  thisGetIdPController:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: Idp_Name\n  # Retrieve SAML Attribute ID\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_Users\n        idpName: Idp_Name\n  # Retrieve SAML Attribute ID\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_Users\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: Idp_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| APP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE  |   |  |  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappl`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappl`\" pulumi-lang-go=\"`zpnClientTypeZappl`\" pulumi-lang-python=\"`zpn_client_type_zappl`\" pulumi-lang-yaml=\"`zpnClientTypeZappl`\" pulumi-lang-java=\"`zpnClientTypeZappl`\"\u003e`zpn_client_type_zappl`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| EDGE_CONNECTOR_GROUP  |   |  |  ``\u003cedge_connector_id\u003e`` |\n| MACHINE_GRP   |   |  | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access inspection rule can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessInspectionRuleV2:PolicyAccessInspectionRuleV2 example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `INSPECT` and `BYPASS_INSPECT`.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleV2Condition:PolicyAccessInspectionRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- (String) This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"zpnInspectionProfileId":{"type":"string","description":"An inspection profile is required if the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to `INSPECT`\n"}},"required":["conditions","microtenantId","name","policySetId","zpnInspectionProfileId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `INSPECT` and `BYPASS_INSPECT`.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleV2Condition:PolicyAccessInspectionRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- (String) This is the name of the policy rule.\n"},"zpnInspectionProfileId":{"type":"string","description":"An inspection profile is required if the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to `INSPECT`\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessInspectionRuleV2 resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `INSPECT` and `BYPASS_INSPECT`.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessInspectionRuleV2Condition:PolicyAccessInspectionRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- (String) This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"zpnInspectionProfileId":{"type":"string","description":"An inspection profile is required if the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to `INSPECT`\n"}},"type":"object"}},"zpa:index/policyAccessIsolationRule:PolicyAccessIsolationRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-isolation-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-isolation-policies-using-api)\n\nThe **zpa_policy_isolation_rule** resource creates a policy isolation access rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get Isolation Profile ID\nconst isolationProfile = zpa.getIsolationProfile({\n    name: \"zpa_isolation_profile\",\n});\n//Create Client Isolation Access Rule\nconst _this = new zpa.PolicyAccessIsolationRule(\"this\", {\n    name: \"Example_Isolation_Policy\",\n    description: \"Example_Isolation_Policy\",\n    action: \"ISOLATE\",\n    operator: \"AND\",\n    zpnIsolationProfileId: isolationProfile.then(isolationProfile =\u003e isolationProfile.id),\n    conditions: [{\n        operator: \"OR\",\n        operands: [{\n            objectType: \"CLIENT_TYPE\",\n            lhs: \"id\",\n            rhs: \"zpn_client_type_exporter\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Get Isolation Profile ID\nisolation_profile = zpa.get_isolation_profile(name=\"zpa_isolation_profile\")\n#Create Client Isolation Access Rule\nthis = zpa.PolicyAccessIsolationRule(\"this\",\n    name=\"Example_Isolation_Policy\",\n    description=\"Example_Isolation_Policy\",\n    action=\"ISOLATE\",\n    operator=\"AND\",\n    zpn_isolation_profile_id=isolation_profile.id,\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [{\n            \"object_type\": \"CLIENT_TYPE\",\n            \"lhs\": \"id\",\n            \"rhs\": \"zpn_client_type_exporter\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get Isolation Profile ID\n    var isolationProfile = Zpa.GetIsolationProfile.Invoke(new()\n    {\n        Name = \"zpa_isolation_profile\",\n    });\n\n    //Create Client Isolation Access Rule\n    var @this = new Zpa.PolicyAccessIsolationRule(\"this\", new()\n    {\n        Name = \"Example_Isolation_Policy\",\n        Description = \"Example_Isolation_Policy\",\n        Action = \"ISOLATE\",\n        Operator = \"AND\",\n        ZpnIsolationProfileId = isolationProfile.Apply(getIsolationProfileResult =\u003e getIsolationProfileResult.Id),\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessIsolationRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessIsolationRuleConditionOperandArgs\n                    {\n                        ObjectType = \"CLIENT_TYPE\",\n                        Lhs = \"id\",\n                        Rhs = \"zpn_client_type_exporter\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get Isolation Profile ID\n\t\tisolationProfile, err := zpa.GetIsolationProfile(ctx, \u0026zpa.GetIsolationProfileArgs{\n\t\t\tName: pulumi.StringRef(\"zpa_isolation_profile\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Client Isolation Access Rule\n\t\t_, err = zpa.NewPolicyAccessIsolationRule(ctx, \"this\", \u0026zpa.PolicyAccessIsolationRuleArgs{\n\t\t\tName:                  pulumi.String(\"Example_Isolation_Policy\"),\n\t\t\tDescription:           pulumi.String(\"Example_Isolation_Policy\"),\n\t\t\tAction:                pulumi.String(\"ISOLATE\"),\n\t\t\tOperator:              pulumi.String(\"AND\"),\n\t\t\tZpnIsolationProfileId: pulumi.String(isolationProfile.Id),\n\t\t\tConditions: zpa.PolicyAccessIsolationRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessIsolationRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CLIENT_TYPE\"),\n\t\t\t\t\t\t\tLhs:        pulumi.String(\"id\"),\n\t\t\t\t\t\t\tRhs:        pulumi.String(\"zpn_client_type_exporter\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIsolationProfileArgs;\nimport com.pulumi.zpa.PolicyAccessIsolationRule;\nimport com.pulumi.zpa.PolicyAccessIsolationRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyAccessIsolationRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get Isolation Profile ID\n        final var isolationProfile = ZpaFunctions.getIsolationProfile(GetIsolationProfileArgs.builder()\n            .name(\"zpa_isolation_profile\")\n            .build());\n\n        //Create Client Isolation Access Rule\n        var this_ = new PolicyAccessIsolationRule(\"this\", PolicyAccessIsolationRuleArgs.builder()\n            .name(\"Example_Isolation_Policy\")\n            .description(\"Example_Isolation_Policy\")\n            .action(\"ISOLATE\")\n            .operator(\"AND\")\n            .zpnIsolationProfileId(isolationProfile.id())\n            .conditions(PolicyAccessIsolationRuleConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(PolicyAccessIsolationRuleConditionOperandArgs.builder()\n                    .objectType(\"CLIENT_TYPE\")\n                    .lhs(\"id\")\n                    .rhs(\"zpn_client_type_exporter\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  #Create Client Isolation Access Rule\n  this:\n    type: zpa:PolicyAccessIsolationRule\n    properties:\n      name: Example_Isolation_Policy\n      description: Example_Isolation_Policy\n      action: ISOLATE\n      operator: AND\n      zpnIsolationProfileId: ${isolationProfile.id}\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: CLIENT_TYPE\n              lhs: id\n              rhs: zpn_client_type_exporter\nvariables:\n  # Get Isolation Profile ID\n  isolationProfile:\n    fn::invoke:\n      function: zpa:getIsolationProfile\n      arguments:\n        name: zpa_isolation_profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\nLHS and RHS values differ based on object types. Refer to the following table:\n\n| Object Type | LHS| RHS\n|----------|-----------|----------\n| APP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e` |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| EDGE_CONNECTOR_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`edgeConnectorId`\" pulumi-lang-dotnet=\"`EdgeConnectorId`\" pulumi-lang-go=\"`edgeConnectorId`\" pulumi-lang-python=\"`edge_connector_id`\" pulumi-lang-yaml=\"`edgeConnectorId`\" pulumi-lang-java=\"`edgeConnectorId`\"\u003e`edge_connector_id`\u003c/span\u003e` |\n| IDP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`identityProviderId`\" pulumi-lang-dotnet=\"`IdentityProviderId`\" pulumi-lang-go=\"`identityProviderId`\" pulumi-lang-python=\"`identity_provider_id`\" pulumi-lang-yaml=\"`identityProviderId`\" pulumi-lang-java=\"`identityProviderId`\"\u003e`identity_provider_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | \u003cAttribute_value_to_match\u003e |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | \u003cAttribute_value_to_match\u003e  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | \u003cAttribute_value_to_match\u003e  |\n| MACHINE_GRP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n| TRUSTED_NETWORK | `\u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e`  | ``\"true\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy Access Isolation Rule can be imported by using `\u003cPOLICY ISOLATION RULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessIsolationRule:PolicyAccessIsolationRule example \u003cpolicy_isolation_rule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleCondition:PolicyAccessIsolationRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"required":["name","policySetId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleCondition:PolicyAccessIsolationRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessIsolationRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleCondition:PolicyAccessIsolationRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessIsolationRuleV2:PolicyAccessIsolationRuleV2":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-isolation-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-isolation-policies-using-api)\n\nThe **zpa_policy_isolation_rule_v2** resource creates and manages policy access isolation rule in the Zscaler Private Access cloud using a new v2 API endpoint.\n\n  ⚠️ **NOTE**: This resource is recommended if your configuration requires the association of more than 1000 resource criteria per rule.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get Isolation Profile ID\nconst _this = zpa.getIsolationProfile({\n    name: \"zpa_isolation_profile\",\n});\n// Retrieve Identity Provider ID\nconst thisGetIdPController = zpa.getIdPController({\n    name: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Name\",\n});\n// Create Policy Access Isolation Rule V2\nconst thisPolicyAccessIsolationRuleV2 = new zpa.PolicyAccessIsolationRuleV2(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"ISOLATE\",\n    zpnIsolationProfileId: _this.then(_this =\u003e _this.id),\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"CLIENT_TYPE\",\n                values: [\"zpn_client_type_exporter\"],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: thisGetIdPController.then(thisGetIdPController =\u003e thisGetIdPController.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: thisGetIdPController.then(thisGetIdPController =\u003e thisGetIdPController.id),\n                        },\n                    ],\n                },\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Get Isolation Profile ID\nthis = zpa.get_isolation_profile(name=\"zpa_isolation_profile\")\n# Retrieve Identity Provider ID\nthis_get_id_p_controller = zpa.get_id_p_controller(name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Name\")\n# Create Policy Access Isolation Rule V2\nthis_policy_access_isolation_rule_v2 = zpa.PolicyAccessIsolationRuleV2(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"ISOLATE\",\n    zpn_isolation_profile_id=this.id,\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"CLIENT_TYPE\",\n                \"values\": [\"zpn_client_type_exporter\"],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this_get_id_p_controller.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this_get_id_p_controller.id,\n                        },\n                    ],\n                },\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get Isolation Profile ID\n    var @this = Zpa.GetIsolationProfile.Invoke(new()\n    {\n        Name = \"zpa_isolation_profile\",\n    });\n\n    // Retrieve Identity Provider ID\n    var thisGetIdPController = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Create Policy Access Isolation Rule V2\n    var thisPolicyAccessIsolationRuleV2 = new Zpa.PolicyAccessIsolationRuleV2(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"ISOLATE\",\n        ZpnIsolationProfileId = @this.Apply(@this =\u003e @this.Apply(getIsolationProfileResult =\u003e getIsolationProfileResult.Id)),\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"CLIENT_TYPE\",\n                        Values = new[]\n                        {\n                            \"zpn_client_type_exporter\",\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = thisGetIdPController.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = thisGetIdPController.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id),\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get Isolation Profile ID\n\t\tthis, err := zpa.GetIsolationProfile(ctx, \u0026zpa.GetIsolationProfileArgs{\n\t\t\tName: pulumi.StringRef(\"zpa_isolation_profile\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve Identity Provider ID\n\t\tthisGetIdPController, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Isolation Rule V2\n\t\t_, err = zpa.NewPolicyAccessIsolationRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessIsolationRuleV2Args{\n\t\t\tName:                  pulumi.String(\"Example\"),\n\t\t\tDescription:           pulumi.String(\"Example\"),\n\t\t\tAction:                pulumi.String(\"ISOLATE\"),\n\t\t\tZpnIsolationProfileId: pulumi.String(this.Id),\n\t\t\tConditions: zpa.PolicyAccessIsolationRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessIsolationRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CLIENT_TYPE\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"zpn_client_type_exporter\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessIsolationRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(thisGetIdPController.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(thisGetIdPController.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIsolationProfileArgs;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.PolicyAccessIsolationRuleV2;\nimport com.pulumi.zpa.PolicyAccessIsolationRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessIsolationRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get Isolation Profile ID\n        final var this = ZpaFunctions.getIsolationProfile(GetIsolationProfileArgs.builder()\n            .name(\"zpa_isolation_profile\")\n            .build());\n\n        // Retrieve Identity Provider ID\n        final var thisGetIdPController = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Create Policy Access Isolation Rule V2\n        var thisPolicyAccessIsolationRuleV2 = new PolicyAccessIsolationRuleV2(\"thisPolicyAccessIsolationRuleV2\", PolicyAccessIsolationRuleV2Args.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"ISOLATE\")\n            .zpnIsolationProfileId(this_.id())\n            .conditions(            \n                PolicyAccessIsolationRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessIsolationRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"CLIENT_TYPE\")\n                        .values(\"zpn_client_type_exporter\")\n                        .build())\n                    .build(),\n                PolicyAccessIsolationRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyAccessIsolationRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(                            \n                                PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"user1@acme.com\")\n                                    .lhs(emailUserSso.id())\n                                    .build(),\n                                PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"A000\")\n                                    .lhs(groupUser.id())\n                                    .build())\n                            .build(),\n                        PolicyAccessIsolationRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(thisGetIdPController.id())\n                                    .build(),\n                                PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(thisGetIdPController.id())\n                                    .build())\n                            .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Policy Access Isolation Rule V2\n  thisPolicyAccessIsolationRuleV2:\n    type: zpa:PolicyAccessIsolationRuleV2\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: ISOLATE\n      zpnIsolationProfileId: ${this.id}\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: CLIENT_TYPE\n              values:\n                - zpn_client_type_exporter\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${thisGetIdPController.id}\n                - rhs: ${b000.id}\n                  lhs: ${thisGetIdPController.id}\nvariables:\n  # Get Isolation Profile ID\n  this:\n    fn::invoke:\n      function: zpa:getIsolationProfile\n      arguments:\n        name: zpa_isolation_profile\n  # Retrieve Identity Provider ID\n  thisGetIdPController:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: Idp_Name\n  # Retrieve SAML Attribute ID\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_Users\n        idpName: Idp_Name\n  # Retrieve SAML Attribute ID\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_Users\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: Idp_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Chrome Enterprise And Chrome Posture Profile\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getManagedBrowserProfile({\n    name: \"Profile01\",\n});\nconst thisPolicyAccessIsolationRuleV2 = new zpa.PolicyAccessIsolationRuleV2(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"ISOLATE\",\n    zpnIsolationProfileId: thisZpaIsolationProfile.id,\n    conditions: [{\n        operator: \"OR\",\n        operands: [\n            {\n                objectType: \"CHROME_ENTERPRISE\",\n                entryValues: [{\n                    lhs: \"managed\",\n                    rhs: \"true\",\n                }],\n            },\n            {\n                objectType: \"CHROME_POSTURE_PROFILE\",\n                values: [_this.then(_this =\u003e _this.id)],\n            },\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_managed_browser_profile(name=\"Profile01\")\nthis_policy_access_isolation_rule_v2 = zpa.PolicyAccessIsolationRuleV2(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"ISOLATE\",\n    zpn_isolation_profile_id=this_zpa_isolation_profile[\"id\"],\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [\n            {\n                \"object_type\": \"CHROME_ENTERPRISE\",\n                \"entry_values\": [{\n                    \"lhs\": \"managed\",\n                    \"rhs\": \"true\",\n                }],\n            },\n            {\n                \"object_type\": \"CHROME_POSTURE_PROFILE\",\n                \"values\": [this.id],\n            },\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetManagedBrowserProfile.Invoke(new()\n    {\n        Name = \"Profile01\",\n    });\n\n    var thisPolicyAccessIsolationRuleV2 = new Zpa.PolicyAccessIsolationRuleV2(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"ISOLATE\",\n        ZpnIsolationProfileId = thisZpaIsolationProfile.Id,\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"CHROME_ENTERPRISE\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"managed\",\n                                Rhs = \"true\",\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessIsolationRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"CHROME_POSTURE_PROFILE\",\n                        Values = new[]\n                        {\n                            @this.Apply(@this =\u003e @this.Apply(getManagedBrowserProfileResult =\u003e getManagedBrowserProfileResult.Id)),\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetManagedBrowserProfile(ctx, \u0026zpa.GetManagedBrowserProfileArgs{\n\t\t\tName: pulumi.StringRef(\"Profile01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPolicyAccessIsolationRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessIsolationRuleV2Args{\n\t\t\tName:                  pulumi.String(\"Example\"),\n\t\t\tDescription:           pulumi.String(\"Example\"),\n\t\t\tAction:                pulumi.String(\"ISOLATE\"),\n\t\t\tZpnIsolationProfileId: pulumi.Any(thisZpaIsolationProfile.Id),\n\t\t\tConditions: zpa.PolicyAccessIsolationRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessIsolationRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CHROME_ENTERPRISE\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"managed\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessIsolationRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CHROME_POSTURE_PROFILE\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(this.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetManagedBrowserProfileArgs;\nimport com.pulumi.zpa.PolicyAccessIsolationRuleV2;\nimport com.pulumi.zpa.PolicyAccessIsolationRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessIsolationRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getManagedBrowserProfile(GetManagedBrowserProfileArgs.builder()\n            .name(\"Profile01\")\n            .build());\n\n        var thisPolicyAccessIsolationRuleV2 = new PolicyAccessIsolationRuleV2(\"thisPolicyAccessIsolationRuleV2\", PolicyAccessIsolationRuleV2Args.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"ISOLATE\")\n            .zpnIsolationProfileId(thisZpaIsolationProfile.id())\n            .conditions(PolicyAccessIsolationRuleV2ConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(                \n                    PolicyAccessIsolationRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"CHROME_ENTERPRISE\")\n                        .entryValues(PolicyAccessIsolationRuleV2ConditionOperandEntryValueArgs.builder()\n                            .lhs(\"managed\")\n                            .rhs(\"true\")\n                            .build())\n                        .build(),\n                    PolicyAccessIsolationRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"CHROME_POSTURE_PROFILE\")\n                        .values(this_.id())\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisPolicyAccessIsolationRuleV2:\n    type: zpa:PolicyAccessIsolationRuleV2\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: ISOLATE\n      zpnIsolationProfileId: ${thisZpaIsolationProfile.id}\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: CHROME_ENTERPRISE\n              entryValues:\n                - lhs: managed\n                  rhs: 'true'\n            - objectType: CHROME_POSTURE_PROFILE\n              values:\n                - ${this.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getManagedBrowserProfile\n      arguments:\n        name: Profile01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| APP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE  |   |  |  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappl`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappl`\" pulumi-lang-go=\"`zpnClientTypeZappl`\" pulumi-lang-python=\"`zpn_client_type_zappl`\" pulumi-lang-yaml=\"`zpnClientTypeZappl`\" pulumi-lang-java=\"`zpnClientTypeZappl`\"\u003e`zpn_client_type_zappl`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| EDGE_CONNECTOR_GROUP  |   |  |  ``\u003cedge_connector_id\u003e`` |\n| MACHINE_GRP   |   |  | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access isolation rule can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessIsolationRuleV2:PolicyAccessIsolationRuleV2 example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ISOLATE` Default.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleV2Condition:PolicyAccessIsolationRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"zpnIsolationProfileId":{"type":"string","description":"Use zpa*isolation*profile data source to retrieve the necessary Isolation profile ID \u003cspan pulumi-lang-nodejs=\"`zpnIsolationProfileId`\" pulumi-lang-dotnet=\"`ZpnIsolationProfileId`\" pulumi-lang-go=\"`zpnIsolationProfileId`\" pulumi-lang-python=\"`zpn_isolation_profile_id`\" pulumi-lang-yaml=\"`zpnIsolationProfileId`\" pulumi-lang-java=\"`zpnIsolationProfileId`\"\u003e`zpn_isolation_profile_id`\u003c/span\u003e\n"}},"required":["conditions","microtenantId","name","policySetId","zpnIsolationProfileId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ISOLATE` Default.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleV2Condition:PolicyAccessIsolationRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"zpnIsolationProfileId":{"type":"string","description":"Use zpa*isolation*profile data source to retrieve the necessary Isolation profile ID \u003cspan pulumi-lang-nodejs=\"`zpnIsolationProfileId`\" pulumi-lang-dotnet=\"`ZpnIsolationProfileId`\" pulumi-lang-go=\"`zpnIsolationProfileId`\" pulumi-lang-python=\"`zpn_isolation_profile_id`\" pulumi-lang-yaml=\"`zpnIsolationProfileId`\" pulumi-lang-java=\"`zpnIsolationProfileId`\"\u003e`zpn_isolation_profile_id`\u003c/span\u003e\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessIsolationRuleV2 resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ISOLATE` Default.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessIsolationRuleV2Condition:PolicyAccessIsolationRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"zpnIsolationProfileId":{"type":"string","description":"Use zpa*isolation*profile data source to retrieve the necessary Isolation profile ID \u003cspan pulumi-lang-nodejs=\"`zpnIsolationProfileId`\" pulumi-lang-dotnet=\"`ZpnIsolationProfileId`\" pulumi-lang-go=\"`zpnIsolationProfileId`\" pulumi-lang-python=\"`zpn_isolation_profile_id`\" pulumi-lang-yaml=\"`zpnIsolationProfileId`\" pulumi-lang-java=\"`zpnIsolationProfileId`\"\u003e`zpn_isolation_profile_id`\u003c/span\u003e\n"}},"type":"object"}},"zpa:index/policyAccessRedirectionRule:PolicyAccessRedirectionRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-redirection-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-redirection-policies-using-api)\n\nThe **zpa_policy_redirection_rule** resource creates a policy redirection access rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n### REDIRECT_DEFAULT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.PolicyAccessRedirectionRule(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"REDIRECT_DEFAULT\",\n    conditions: [{\n        operator: \"OR\",\n        operands: [{\n            objectType: \"CLIENT_TYPE\",\n            values: [\"zpn_client_type_branch_connector\"],\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.PolicyAccessRedirectionRule(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"REDIRECT_DEFAULT\",\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [{\n            \"object_type\": \"CLIENT_TYPE\",\n            \"values\": [\"zpn_client_type_branch_connector\"],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.PolicyAccessRedirectionRule(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"REDIRECT_DEFAULT\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessRedirectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRedirectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"CLIENT_TYPE\",\n                        Values = new[]\n                        {\n                            \"zpn_client_type_branch_connector\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewPolicyAccessRedirectionRule(ctx, \"this\", \u0026zpa.PolicyAccessRedirectionRuleArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"REDIRECT_DEFAULT\"),\n\t\t\tConditions: zpa.PolicyAccessRedirectionRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessRedirectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRedirectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRedirectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CLIENT_TYPE\"),\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"zpn_client_type_branch_connector\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PolicyAccessRedirectionRule;\nimport com.pulumi.zpa.PolicyAccessRedirectionRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyAccessRedirectionRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new PolicyAccessRedirectionRule(\"this\", PolicyAccessRedirectionRuleArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"REDIRECT_DEFAULT\")\n            .conditions(PolicyAccessRedirectionRuleConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(PolicyAccessRedirectionRuleConditionOperandArgs.builder()\n                    .objectType(\"CLIENT_TYPE\")\n                    .values(List.of(\"zpn_client_type_branch_connector\"))\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:PolicyAccessRedirectionRule\n    properties:\n      name: Example\n      description: Example\n      action: REDIRECT_DEFAULT\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: CLIENT_TYPE\n              values:\n                - zpn_client_type_branch_connector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy Access Isolation Rule can be imported by using `\u003cPOLICY REDIRECTION RULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessRedirectionRule:PolicyAccessRedirectionRule example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRedirectionRuleCondition:PolicyAccessRedirectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"serviceEdgeGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRedirectionRuleServiceEdgeGroup:PolicyAccessRedirectionRuleServiceEdgeGroup"},"description":"List of the service edge group IDs."},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"required":["bypassDefaultRule","customMsg","defaultRule","microtenantId","name","operator","policySetId","policyType","priority","reauthDefaultRule","ruleOrder","zpnCbiProfileId","zpnInspectionProfileId","zpnIsolationProfileId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRedirectionRuleCondition:PolicyAccessRedirectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"serviceEdgeGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRedirectionRuleServiceEdgeGroup:PolicyAccessRedirectionRuleServiceEdgeGroup"},"description":"List of the service edge group IDs."},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessRedirectionRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRedirectionRuleCondition:PolicyAccessRedirectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"serviceEdgeGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRedirectionRuleServiceEdgeGroup:PolicyAccessRedirectionRuleServiceEdgeGroup"},"description":"List of the service edge group IDs."},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessReorderRule:PolicyAccessReorderRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-access-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api)\n\nThe **zpa_policy_access_rule_reorder** is a dedicated resource to manage and update \u003cspan pulumi-lang-nodejs=\"`ruleOrders`\" pulumi-lang-dotnet=\"`RuleOrders`\" pulumi-lang-go=\"`ruleOrders`\" pulumi-lang-python=\"`rule_orders`\" pulumi-lang-yaml=\"`ruleOrders`\" pulumi-lang-java=\"`ruleOrders`\"\u003e`rule_orders`\u003c/span\u003e in any of the supported ZPA Policy Access types Zscaler Private Access cloud.\n\n⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of this resource for all ZPA policy types.\n\n⚠️ **WARNING:**: Updating the rule order of an access policy configured using `Zscaler Deception` is not supported. When changing the rule order of a regular access policy and there is an access policy configured using Deception, the rule order of the regular access policy must be greater than the rule order for an access policy configured using Deception. Please refer to the [Zscaler API Documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api#:~:text=Updating%20the%20rule,configured%20using%20Deception.) for further details.\n\n## Example Usage\n\n### 1\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst example001 = new zpa.PolicyAccessRule(\"example001\", {\n    name: \"example001\",\n    description: \"example001\",\n    action: \"ALLOW\",\n    operator: \"AND\",\n});\nconst example002 = new zpa.PolicyAccessRule(\"example002\", {\n    name: \"example002\",\n    description: \"example002\",\n    action: \"ALLOW\",\n    operator: \"AND\",\n});\nconst ruleOrders = [\n    {\n        id: example001.id,\n        order: 1,\n    },\n    {\n        id: example002.id,\n        order: 2,\n    },\n];\nconst accessPolicyReorder = new zpa.PolicyAccessReorderRule(\"access_policy_reorder\", {\n    rules: ruleOrders.map((v, k) =\u003e ({key: k, value: v})).apply(entries =\u003e entries.map(entry =\u003e ({\n        id: entry.value.id,\n        order: entry.value.order,\n    }))),\n    policyType: \"ACCESS_POLICY\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nexample001 = zpa.PolicyAccessRule(\"example001\",\n    name=\"example001\",\n    description=\"example001\",\n    action=\"ALLOW\",\n    operator=\"AND\")\nexample002 = zpa.PolicyAccessRule(\"example002\",\n    name=\"example002\",\n    description=\"example002\",\n    action=\"ALLOW\",\n    operator=\"AND\")\nrule_orders = [\n    {\n        \"id\": example001.id,\n        \"order\": 1,\n    },\n    {\n        \"id\": example002.id,\n        \"order\": 2,\n    },\n]\naccess_policy_reorder = zpa.PolicyAccessReorderRule(\"access_policy_reorder\",\n    rules=[{\"key\": k, \"value\": v} for k, v in rule_orders].apply(lambda entries: [{\n        \"id\": entry[\"value\"][\"id\"],\n        \"order\": entry[\"value\"][\"order\"],\n    } for entry in entries]),\n    policy_type=\"ACCESS_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example001 = new Zpa.PolicyAccessRule(\"example001\", new()\n    {\n        Name = \"example001\",\n        Description = \"example001\",\n        Action = \"ALLOW\",\n        Operator = \"AND\",\n    });\n\n    var example002 = new Zpa.PolicyAccessRule(\"example002\", new()\n    {\n        Name = \"example002\",\n        Description = \"example002\",\n        Action = \"ALLOW\",\n        Operator = \"AND\",\n    });\n\n    var ruleOrders = new[]\n    {\n        \n        {\n            { \"id\", example001.Id },\n            { \"order\", 1 },\n        },\n        \n        {\n            { \"id\", example002.Id },\n            { \"order\", 2 },\n        },\n    };\n\n    var accessPolicyReorder = new Zpa.PolicyAccessReorderRule(\"access_policy_reorder\", new()\n    {\n        Rules = ruleOrders.Select((v, k) =\u003e new { Key = k, Value = v }).Apply(entries =\u003e entries.Select(entry =\u003e \n        {\n            return \n            {\n                { \"id\", entry.Value.Id },\n                { \"order\", entry.Value.Order },\n            };\n        }).ToList()),\n        PolicyType = \"ACCESS_POLICY\",\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### 2\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as std from \"@pulumi/std\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst example001 = new zpa.PolicyAccessRule(\"example001\", {\n    name: \"example001\",\n    description: \"example001\",\n    action: \"ALLOW\",\n    operator: \"AND\",\n});\nconst example002 = new zpa.PolicyAccessRule(\"example002\", {\n    name: \"example002\",\n    description: \"example002\",\n    action: \"ALLOW\",\n    operator: \"AND\",\n});\n// Define a map with rule names as keys and their desired order as values.\nconst ruleOrderMap = {\n    example001: 1,\n    example002: 2,\n};\nconst ruleOrders = [\n    {\n        id: example001.id,\n        order: std.lookup({\n            map: ruleOrderMap,\n            key: \"example001\",\n        }).then(invoke =\u003e invoke.result),\n    },\n    {\n        id: example002.id,\n        order: std.lookup({\n            map: ruleOrderMap,\n            key: \"example002\",\n        }).then(invoke =\u003e invoke.result),\n    },\n];\nconst accessPolicyReorder = new zpa.PolicyAccessReorderRule(\"access_policy_reorder\", {\n    rules: ruleOrders.map((v, k) =\u003e ({key: k, value: v})).apply(entries =\u003e entries.map(entry =\u003e ({\n        id: entry.value.id,\n        order: entry.value.order,\n    }))),\n    policyType: \"ACCESS_POLICY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_std as std\nimport zscaler_pulumi_zpa as zpa\n\nexample001 = zpa.PolicyAccessRule(\"example001\",\n    name=\"example001\",\n    description=\"example001\",\n    action=\"ALLOW\",\n    operator=\"AND\")\nexample002 = zpa.PolicyAccessRule(\"example002\",\n    name=\"example002\",\n    description=\"example002\",\n    action=\"ALLOW\",\n    operator=\"AND\")\n# Define a map with rule names as keys and their desired order as values.\nrule_order_map = {\n    \"example001\": 1,\n    \"example002\": 2,\n}\nrule_orders = [\n    {\n        \"id\": example001.id,\n        \"order\": std.lookup(map=rule_order_map,\n            key=\"example001\").result,\n    },\n    {\n        \"id\": example002.id,\n        \"order\": std.lookup(map=rule_order_map,\n            key=\"example002\").result,\n    },\n]\naccess_policy_reorder = zpa.PolicyAccessReorderRule(\"access_policy_reorder\",\n    rules=[{\"key\": k, \"value\": v} for k, v in rule_orders].apply(lambda entries: [{\n        \"id\": entry[\"value\"][\"id\"],\n        \"order\": entry[\"value\"][\"order\"],\n    } for entry in entries]),\n    policy_type=\"ACCESS_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Std = Pulumi.Std;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example001 = new Zpa.PolicyAccessRule(\"example001\", new()\n    {\n        Name = \"example001\",\n        Description = \"example001\",\n        Action = \"ALLOW\",\n        Operator = \"AND\",\n    });\n\n    var example002 = new Zpa.PolicyAccessRule(\"example002\", new()\n    {\n        Name = \"example002\",\n        Description = \"example002\",\n        Action = \"ALLOW\",\n        Operator = \"AND\",\n    });\n\n    // Define a map with rule names as keys and their desired order as values.\n    var ruleOrderMap = \n    {\n        { \"example001\", 1 },\n        { \"example002\", 2 },\n    };\n\n    var ruleOrders = new[]\n    {\n        \n        {\n            { \"id\", example001.Id },\n            { \"order\", Std.Lookup.Invoke(new()\n            {\n                Map = ruleOrderMap,\n                Key = \"example001\",\n            }).Apply(invoke =\u003e invoke.Result) },\n        },\n        \n        {\n            { \"id\", example002.Id },\n            { \"order\", Std.Lookup.Invoke(new()\n            {\n                Map = ruleOrderMap,\n                Key = \"example002\",\n            }).Apply(invoke =\u003e invoke.Result) },\n        },\n    };\n\n    var accessPolicyReorder = new Zpa.PolicyAccessReorderRule(\"access_policy_reorder\", new()\n    {\n        Rules = ruleOrders.Select((v, k) =\u003e new { Key = k, Value = v }).Apply(entries =\u003e entries.Select(entry =\u003e \n        {\n            return \n            {\n                { \"id\", entry.Value.Id },\n                { \"order\", entry.Value.Order },\n            };\n        }).ToList()),\n        PolicyType = \"ACCESS_POLICY\",\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n","properties":{"policyType":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessReorderRuleRule:PolicyAccessReorderRuleRule"},"description":"List of rules and their orders"}},"required":["policyType","rules"],"inputProperties":{"policyType":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessReorderRuleRule:PolicyAccessReorderRuleRule"},"description":"List of rules and their orders"}},"requiredInputs":["policyType","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessReorderRule resources.\n","properties":{"policyType":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessReorderRuleRule:PolicyAccessReorderRuleRule"},"description":"List of rules and their orders"}},"type":"object"}},"zpa:index/policyAccessRule:PolicyAccessRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-access-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api)\n\nThe **zpa_policy_access_rule** resource creates and manages policy access rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get IdP ID\nconst idpName = zpa.getIdPController({\n    name: \"IdP_Name\",\n});\n// Get SCIM Group attribute ID\nconst engineering = zpa.getSCIMGroups({\n    name: \"Engineering\",\n    idpName: \"IdP_Name\",\n});\n//Create Policy Access Rule\nconst _this = new zpa.PolicyAccessRule(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"ALLOW\",\n    operator: \"AND\",\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"APP\",\n                lhs: \"id\",\n                rhs: thisZpaApplicationSegment.id,\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"SCIM_GROUP\",\n                lhs: idpName.then(idpName =\u003e idpName.id),\n                rhs: engineering.then(engineering =\u003e engineering.id),\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"CHROME_ENTERPRISE\",\n                entryValues: [\n                    {\n                        lhs: \"managed\",\n                        rhs: \"true\",\n                    },\n                    {\n                        lhs: \"managed\",\n                        rhs: \"false\",\n                    },\n                ],\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Get IdP ID\nidp_name = zpa.get_id_p_controller(name=\"IdP_Name\")\n# Get SCIM Group attribute ID\nengineering = zpa.get_scim_groups(name=\"Engineering\",\n    idp_name=\"IdP_Name\")\n#Create Policy Access Rule\nthis = zpa.PolicyAccessRule(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"ALLOW\",\n    operator=\"AND\",\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"APP\",\n                \"lhs\": \"id\",\n                \"rhs\": this_zpa_application_segment[\"id\"],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"SCIM_GROUP\",\n                \"lhs\": idp_name.id,\n                \"rhs\": engineering.id,\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"CHROME_ENTERPRISE\",\n                \"entry_values\": [\n                    {\n                        \"lhs\": \"managed\",\n                        \"rhs\": \"true\",\n                    },\n                    {\n                        \"lhs\": \"managed\",\n                        \"rhs\": \"false\",\n                    },\n                ],\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get IdP ID\n    var idpName = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"IdP_Name\",\n    });\n\n    // Get SCIM Group attribute ID\n    var engineering = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"Engineering\",\n        IdpName = \"IdP_Name\",\n    });\n\n    //Create Policy Access Rule\n    var @this = new Zpa.PolicyAccessRule(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"ALLOW\",\n        Operator = \"AND\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleConditionOperandArgs\n                    {\n                        ObjectType = \"APP\",\n                        Lhs = \"id\",\n                        Rhs = thisZpaApplicationSegment.Id,\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        Lhs = idpName.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id),\n                        Rhs = engineering.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleConditionOperandArgs\n                    {\n                        ObjectType = \"CHROME_ENTERPRISE\",\n                        EntryValues = new[]\n                        {\n                            \n                            {\n                                { \"lhs\", \"managed\" },\n                                { \"rhs\", \"true\" },\n                            },\n                            \n                            {\n                                { \"lhs\", \"managed\" },\n                                { \"rhs\", \"false\" },\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get IdP ID\n\t\tidpName, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"IdP_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get SCIM Group attribute ID\n\t\tengineering, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"Engineering\"),\n\t\t\tIdpName: pulumi.StringRef(\"IdP_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Rule\n\t\t_, err = zpa.NewPolicyAccessRule(ctx, \"this\", \u0026zpa.PolicyAccessRuleArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"ALLOW\"),\n\t\t\tOperator:    pulumi.String(\"AND\"),\n\t\t\tConditions: zpa.PolicyAccessRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP\"),\n\t\t\t\t\t\t\tLhs:        pulumi.String(\"id\"),\n\t\t\t\t\t\t\tRhs:        pulumi.Any(thisZpaApplicationSegment.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tLhs:        pulumi.String(idpName.Id),\n\t\t\t\t\t\t\tRhs:        pulumi.String(engineering.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CHROME_ENTERPRISE\"),\n\t\t\t\t\t\t\tEntryValues: []map[string]interface{}{\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"lhs\": \"managed\",\n\t\t\t\t\t\t\t\t\t\"rhs\": \"true\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"lhs\": \"managed\",\n\t\t\t\t\t\t\t\t\t\"rhs\": \"false\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.PolicyAccessRule;\nimport com.pulumi.zpa.PolicyAccessRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyAccessRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get IdP ID\n        final var idpName = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"IdP_Name\")\n            .build());\n\n        // Get SCIM Group attribute ID\n        final var engineering = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"Engineering\")\n            .idpName(\"IdP_Name\")\n            .build());\n\n        //Create Policy Access Rule\n        var this_ = new PolicyAccessRule(\"this\", PolicyAccessRuleArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"ALLOW\")\n            .operator(\"AND\")\n            .conditions(            \n                PolicyAccessRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleConditionOperandArgs.builder()\n                        .objectType(\"APP\")\n                        .lhs(\"id\")\n                        .rhs(thisZpaApplicationSegment.id())\n                        .build())\n                    .build(),\n                PolicyAccessRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleConditionOperandArgs.builder()\n                        .objectType(\"SCIM_GROUP\")\n                        .lhs(idpName.id())\n                        .rhs(engineering.id())\n                        .build())\n                    .build(),\n                PolicyAccessRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleConditionOperandArgs.builder()\n                        .objectType(\"CHROME_ENTERPRISE\")\n                        .entryValues(List.of(                        \n                            Map.ofEntries(\n                                Map.entry(\"lhs\", \"managed\"),\n                                Map.entry(\"rhs\", \"true\")\n                            ),\n                            Map.ofEntries(\n                                Map.entry(\"lhs\", \"managed\"),\n                                Map.entry(\"rhs\", \"false\")\n                            )))\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  #Create Policy Access Rule\n  this:\n    type: zpa:PolicyAccessRule\n    properties:\n      name: Example\n      description: Example\n      action: ALLOW\n      operator: AND\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP\n              lhs: id\n              rhs: ${thisZpaApplicationSegment.id}\n        - operator: OR\n          operands:\n            - objectType: SCIM_GROUP\n              lhs: ${idpName.id}\n              rhs: ${engineering.id}\n        - operator: OR\n          operands:\n            - objectType: CHROME_ENTERPRISE\n              entryValues:\n                - lhs: managed\n                  rhs: 'true'\n                - lhs: managed\n                  rhs: 'false'\nvariables:\n  # Get IdP ID\n  idpName:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: IdP_Name\n  # Get SCIM Group attribute ID\n  engineering:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: Engineering\n        idpName: IdP_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS\n|----------|-----------|----------\n| APP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappl`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappl`\" pulumi-lang-go=\"`zpnClientTypeZappl`\" pulumi-lang-python=\"`zpn_client_type_zappl`\" pulumi-lang-yaml=\"`zpnClientTypeZappl`\" pulumi-lang-java=\"`zpnClientTypeZappl`\"\u003e`zpn_client_type_zappl`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| EDGE_CONNECTOR_GROUP | ``\"id\"`` | ``\u003cedge_connector_id\u003e`` |\n| IDP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`identityProviderId`\" pulumi-lang-dotnet=\"`IdentityProviderId`\" pulumi-lang-go=\"`identityProviderId`\" pulumi-lang-python=\"`identity_provider_id`\" pulumi-lang-yaml=\"`identityProviderId`\" pulumi-lang-java=\"`identityProviderId`\"\u003e`identity_provider_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| MACHINE_GRP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n| TRUSTED_NETWORK | `\u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e`  | ``\"true\"`` |\n| COUNTRY_CODE | [2 Letter ISO3166 Alpha2](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)  | ``\"true\"`` / ``\"false\"`` |\n| RISK_FACTOR_TYPE | ``ZIA``  | ``\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"`` |\n| CHROME_ENTERPRISE | `\u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e`  | ``\"true\" / \"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access rule can be imported by using `\u003cPOLICY ACCESS RULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessRule:PolicyAccessRule example \u003cpolicy_access_rule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ALLOW`, `DENY`, and `REQUIRE_APPROVAL`\n"},"actionId":{"type":"string","description":"This field defines the description of the server."},"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleAppConnectorGroup:PolicyAccessRuleAppConnectorGroup"}},"appServerGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleAppServerGroup:PolicyAccessRuleAppServerGroup"},"description":"List of the server group IDs."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleCondition:PolicyAccessRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user.\n"},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"operator":{"type":"string","description":"Supported values: `AND`, `OR`\n"},"policySetId":{"type":"string","description":"- (String) Use zpa*policy*type data source to retrieve the necessary policy Set ID \u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e\n\u003e **NOTE** As of v3.2.0 the \u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e attribute is now optional, and will be automatically determined based on the policy type being configured. The attribute is being kept for backwards compatibility, but can be safely removed from existing configurations.\n"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"required":["bypassDefaultRule","customMsg","defaultRule","microtenantId","name","operator","policySetId","policyType","priority","reauthDefaultRule","ruleOrder","zpnCbiProfileId","zpnInspectionProfileId","zpnIsolationProfileId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ALLOW`, `DENY`, and `REQUIRE_APPROVAL`\n"},"actionId":{"type":"string","description":"This field defines the description of the server."},"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleAppConnectorGroup:PolicyAccessRuleAppConnectorGroup"}},"appServerGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleAppServerGroup:PolicyAccessRuleAppServerGroup"},"description":"List of the server group IDs."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleCondition:PolicyAccessRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user.\n"},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"operator":{"type":"string","description":"Supported values: `AND`, `OR`\n"},"policySetId":{"type":"string","description":"- (String) Use zpa*policy*type data source to retrieve the necessary policy Set ID \u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e\n\u003e **NOTE** As of v3.2.0 the \u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e attribute is now optional, and will be automatically determined based on the policy type being configured. The attribute is being kept for backwards compatibility, but can be safely removed from existing configurations.\n"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ALLOW`, `DENY`, and `REQUIRE_APPROVAL`\n"},"actionId":{"type":"string","description":"This field defines the description of the server."},"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleAppConnectorGroup:PolicyAccessRuleAppConnectorGroup"}},"appServerGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleAppServerGroup:PolicyAccessRuleAppServerGroup"},"description":"List of the server group IDs."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleCondition:PolicyAccessRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user.\n"},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"operator":{"type":"string","description":"Supported values: `AND`, `OR`\n"},"policySetId":{"type":"string","description":"- (String) Use zpa*policy*type data source to retrieve the necessary policy Set ID \u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e\n\u003e **NOTE** As of v3.2.0 the \u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e attribute is now optional, and will be automatically determined based on the policy type being configured. The attribute is being kept for backwards compatibility, but can be safely removed from existing configurations.\n"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessRuleV2:PolicyAccessRuleV2":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-access-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api#postV2)\n\nThe **zpa_policy_access_rule_v2** resource creates and manages policy access rule in the Zscaler Private Access cloud using a new v2 API endpoint.\n\n  ⚠️ **NOTE**: This resource is recommended if your configuration requires the association of more than 1000 resource criteria per rule.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Policy Types\n// Retrieve Identity Provider ID\nconst _this = zpa.getIdPController({\n    name: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Name\",\n});\n// Create Segment Group\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\n// Create Policy Access Rule V2\nconst thisPolicyAccessRuleV2 = new zpa.PolicyAccessRuleV2(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"ALLOW\",\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"APP_GROUP\",\n                values: [thisSegmentGroup.id],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"PLATFORM\",\n                entryValues: [\n                    {\n                        rhs: \"true\",\n                        lhs: \"linux\",\n                    },\n                    {\n                        rhs: \"true\",\n                        lhs: \"android\",\n                    },\n                ],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"COUNTRY_CODE\",\n                entryValues: [\n                    {\n                        lhs: \"CA\",\n                        rhs: \"true\",\n                    },\n                    {\n                        lhs: \"US\",\n                        rhs: \"true\",\n                    },\n                ],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"RISK_FACTOR_TYPE\",\n                entryValues: [\n                    {\n                        lhs: \"ZIA\",\n                        rhs: \"UNKNOWN\",\n                    },\n                    {\n                        lhs: \"ZIA\",\n                        rhs: \"LOW\",\n                    },\n                    {\n                        lhs: \"ZIA\",\n                        rhs: \"MEDIUM\",\n                    },\n                    {\n                        lhs: \"ZIA\",\n                        rhs: \"HIGH\",\n                    },\n                    {\n                        lhs: \"ZIA\",\n                        rhs: \"CRITICAL\",\n                    },\n                ],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"CHROME_ENTERPRISE\",\n                entryValues: [\n                    {\n                        lhs: \"managed\",\n                        rhs: \"true\",\n                    },\n                    {\n                        lhs: \"managed\",\n                        rhs: \"false\",\n                    },\n                ],\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve Policy Types\n# Retrieve Identity Provider ID\nthis = zpa.get_id_p_controller(name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Name\")\n# Create Segment Group\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\n# Create Policy Access Rule V2\nthis_policy_access_rule_v2 = zpa.PolicyAccessRuleV2(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"ALLOW\",\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"APP_GROUP\",\n                \"values\": [this_segment_group.id],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this.id,\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"PLATFORM\",\n                \"entry_values\": [\n                    {\n                        \"rhs\": \"true\",\n                        \"lhs\": \"linux\",\n                    },\n                    {\n                        \"rhs\": \"true\",\n                        \"lhs\": \"android\",\n                    },\n                ],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"COUNTRY_CODE\",\n                \"entry_values\": [\n                    {\n                        \"lhs\": \"CA\",\n                        \"rhs\": \"true\",\n                    },\n                    {\n                        \"lhs\": \"US\",\n                        \"rhs\": \"true\",\n                    },\n                ],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"RISK_FACTOR_TYPE\",\n                \"entry_values\": [\n                    {\n                        \"lhs\": \"ZIA\",\n                        \"rhs\": \"UNKNOWN\",\n                    },\n                    {\n                        \"lhs\": \"ZIA\",\n                        \"rhs\": \"LOW\",\n                    },\n                    {\n                        \"lhs\": \"ZIA\",\n                        \"rhs\": \"MEDIUM\",\n                    },\n                    {\n                        \"lhs\": \"ZIA\",\n                        \"rhs\": \"HIGH\",\n                    },\n                    {\n                        \"lhs\": \"ZIA\",\n                        \"rhs\": \"CRITICAL\",\n                    },\n                ],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"CHROME_ENTERPRISE\",\n                \"entry_values\": [\n                    {\n                        \"lhs\": \"managed\",\n                        \"rhs\": \"true\",\n                    },\n                    {\n                        \"lhs\": \"managed\",\n                        \"rhs\": \"false\",\n                    },\n                ],\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Policy Types\n    // Retrieve Identity Provider ID\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Create Segment Group\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    // Create Policy Access Rule V2\n    var thisPolicyAccessRuleV2 = new Zpa.PolicyAccessRuleV2(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"ALLOW\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"APP_GROUP\",\n                        Values = new[]\n                        {\n                            thisSegmentGroup.Id,\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"PLATFORM\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"true\",\n                                Lhs = \"linux\",\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"true\",\n                                Lhs = \"android\",\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"COUNTRY_CODE\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"CA\",\n                                Rhs = \"true\",\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"US\",\n                                Rhs = \"true\",\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"RISK_FACTOR_TYPE\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"ZIA\",\n                                Rhs = \"UNKNOWN\",\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"ZIA\",\n                                Rhs = \"LOW\",\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"ZIA\",\n                                Rhs = \"MEDIUM\",\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"ZIA\",\n                                Rhs = \"HIGH\",\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"ZIA\",\n                                Rhs = \"CRITICAL\",\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"CHROME_ENTERPRISE\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"managed\",\n                                Rhs = \"true\",\n                            },\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"managed\",\n                                Rhs = \"false\",\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Policy Types\n\t\t// Retrieve Identity Provider ID\n\t\tthis, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Segment Group\n\t\tthisSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"this\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Rule V2\n\t\t_, err = zpa.NewPolicyAccessRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessRuleV2Args{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"ALLOW\"),\n\t\t\tConditions: zpa.PolicyAccessRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP_GROUP\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tthisSegmentGroup.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"PLATFORM\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"linux\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"android\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"COUNTRY_CODE\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"CA\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"US\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"RISK_FACTOR_TYPE\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"ZIA\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"UNKNOWN\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"ZIA\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"LOW\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"ZIA\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"MEDIUM\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"ZIA\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"HIGH\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"ZIA\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"CRITICAL\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CHROME_ENTERPRISE\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"managed\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"managed\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"false\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.PolicyAccessRuleV2;\nimport com.pulumi.zpa.PolicyAccessRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Policy Types\n        // Retrieve Identity Provider ID\n        final var this = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Create Segment Group\n        var thisSegmentGroup = new SegmentGroup(\"thisSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        // Create Policy Access Rule V2\n        var thisPolicyAccessRuleV2 = new PolicyAccessRuleV2(\"thisPolicyAccessRuleV2\", PolicyAccessRuleV2Args.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"ALLOW\")\n            .conditions(            \n                PolicyAccessRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"APP_GROUP\")\n                        .values(thisSegmentGroup.id())\n                        .build())\n                    .build(),\n                PolicyAccessRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyAccessRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(                            \n                                PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"user1@acme.com\")\n                                    .lhs(emailUserSso.id())\n                                    .build(),\n                                PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"A000\")\n                                    .lhs(groupUser.id())\n                                    .build())\n                            .build(),\n                        PolicyAccessRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(this_.id())\n                                    .build(),\n                                PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(this_.id())\n                                    .build())\n                            .build())\n                    .build(),\n                PolicyAccessRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"PLATFORM\")\n                        .entryValues(                        \n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .rhs(\"true\")\n                                .lhs(\"linux\")\n                                .build(),\n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .rhs(\"true\")\n                                .lhs(\"android\")\n                                .build())\n                        .build())\n                    .build(),\n                PolicyAccessRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"COUNTRY_CODE\")\n                        .entryValues(                        \n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"CA\")\n                                .rhs(\"true\")\n                                .build(),\n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"US\")\n                                .rhs(\"true\")\n                                .build())\n                        .build())\n                    .build(),\n                PolicyAccessRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"RISK_FACTOR_TYPE\")\n                        .entryValues(                        \n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"ZIA\")\n                                .rhs(\"UNKNOWN\")\n                                .build(),\n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"ZIA\")\n                                .rhs(\"LOW\")\n                                .build(),\n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"ZIA\")\n                                .rhs(\"MEDIUM\")\n                                .build(),\n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"ZIA\")\n                                .rhs(\"HIGH\")\n                                .build(),\n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"ZIA\")\n                                .rhs(\"CRITICAL\")\n                                .build())\n                        .build())\n                    .build(),\n                PolicyAccessRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"CHROME_ENTERPRISE\")\n                        .entryValues(                        \n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"managed\")\n                                .rhs(\"true\")\n                                .build(),\n                            PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                                .lhs(\"managed\")\n                                .rhs(\"false\")\n                                .build())\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Segment Group\n  thisSegmentGroup:\n    type: zpa:SegmentGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # Create Policy Access Rule V2\n  thisPolicyAccessRuleV2:\n    type: zpa:PolicyAccessRuleV2\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: ALLOW\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP_GROUP\n              values:\n                - ${thisSegmentGroup.id}\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${this.id}\n                - rhs: ${b000.id}\n                  lhs: ${this.id}\n        - operator: OR\n          operands:\n            - objectType: PLATFORM\n              entryValues:\n                - rhs: 'true'\n                  lhs: linux\n                - rhs: 'true'\n                  lhs: android\n        - operator: OR\n          operands:\n            - objectType: COUNTRY_CODE\n              entryValues:\n                - lhs: CA\n                  rhs: 'true'\n                - lhs: US\n                  rhs: 'true'\n        - operator: OR\n          operands:\n            - objectType: RISK_FACTOR_TYPE\n              entryValues:\n                - lhs: ZIA\n                  rhs: UNKNOWN\n                - lhs: ZIA\n                  rhs: LOW\n                - lhs: ZIA\n                  rhs: MEDIUM\n                - lhs: ZIA\n                  rhs: HIGH\n                - lhs: ZIA\n                  rhs: CRITICAL\n        - operator: OR\n          operands:\n            - objectType: CHROME_ENTERPRISE\n              entryValues:\n                - lhs: managed\n                  rhs: 'true'\n                - lhs: managed\n                  rhs: 'false'\nvariables:\n  # Retrieve Policy Types\n  # Retrieve Identity Provider ID\n  this:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: Idp_Name\n  # Retrieve SAML Attribute ID\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_Users\n        idpName: Idp_Name\n  # Retrieve SAML Attribute ID\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_Users\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: Idp_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configure Extranet Access Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getLocationController({\n    name: \"ExtranetLocation01 | zscalerbeta.net\",\n    ziaErName: \"NewExtranet 8432\",\n});\nconst thisGetLocationGroupController = zpa.getLocationGroupController({\n    locationName: \"ExtranetLocation01\",\n    ziaErName: \"NewExtranet 8432\",\n});\nconst thisGetExtranetResourcePartner = zpa.getExtranetResourcePartner({\n    name: \"NewExtranet 8432\",\n});\nconst thisPolicyAccessRuleV2 = new zpa.PolicyAccessRuleV2(\"this\", {\n    name: \"Extranet_Rule01\",\n    description: \"Extranet_Rule01\",\n    action: \"ALLOW\",\n    customMsg: \"Test\",\n    operator: \"AND\",\n    extranetEnabled: true,\n    extranetDtos: [{\n        zpnErId: thisGetExtranetResourcePartner.then(thisGetExtranetResourcePartner =\u003e thisGetExtranetResourcePartner.id),\n        locationDtos: [{\n            id: _this.then(_this =\u003e _this.id),\n        }],\n        locationGroupDtos: [{\n            id: thisGetLocationGroupController.then(thisGetLocationGroupController =\u003e thisGetLocationGroupController.id),\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_location_controller(name=\"ExtranetLocation01 | zscalerbeta.net\",\n    zia_er_name=\"NewExtranet 8432\")\nthis_get_location_group_controller = zpa.get_location_group_controller(location_name=\"ExtranetLocation01\",\n    zia_er_name=\"NewExtranet 8432\")\nthis_get_extranet_resource_partner = zpa.get_extranet_resource_partner(name=\"NewExtranet 8432\")\nthis_policy_access_rule_v2 = zpa.PolicyAccessRuleV2(\"this\",\n    name=\"Extranet_Rule01\",\n    description=\"Extranet_Rule01\",\n    action=\"ALLOW\",\n    custom_msg=\"Test\",\n    operator=\"AND\",\n    extranet_enabled=True,\n    extranet_dtos=[{\n        \"zpn_er_id\": this_get_extranet_resource_partner.id,\n        \"location_dtos\": [{\n            \"id\": this.id,\n        }],\n        \"location_group_dtos\": [{\n            \"id\": this_get_location_group_controller.id,\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetLocationController.Invoke(new()\n    {\n        Name = \"ExtranetLocation01 | zscalerbeta.net\",\n        ZiaErName = \"NewExtranet 8432\",\n    });\n\n    var thisGetLocationGroupController = Zpa.GetLocationGroupController.Invoke(new()\n    {\n        LocationName = \"ExtranetLocation01\",\n        ZiaErName = \"NewExtranet 8432\",\n    });\n\n    var thisGetExtranetResourcePartner = Zpa.GetExtranetResourcePartner.Invoke(new()\n    {\n        Name = \"NewExtranet 8432\",\n    });\n\n    var thisPolicyAccessRuleV2 = new Zpa.PolicyAccessRuleV2(\"this\", new()\n    {\n        Name = \"Extranet_Rule01\",\n        Description = \"Extranet_Rule01\",\n        Action = \"ALLOW\",\n        CustomMsg = \"Test\",\n        Operator = \"AND\",\n        ExtranetEnabled = true,\n        ExtranetDtos = new[]\n        {\n            new Zpa.Inputs.PolicyAccessRuleV2ExtranetDtoArgs\n            {\n                ZpnErId = thisGetExtranetResourcePartner.Apply(getExtranetResourcePartnerResult =\u003e getExtranetResourcePartnerResult.Id),\n                LocationDtos = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ExtranetDtoLocationDtoArgs\n                    {\n                        Id = @this.Apply(@this =\u003e @this.Apply(getLocationControllerResult =\u003e getLocationControllerResult.Id)),\n                    },\n                },\n                LocationGroupDtos = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ExtranetDtoLocationGroupDtoArgs\n                    {\n                        Id = thisGetLocationGroupController.Apply(getLocationGroupControllerResult =\u003e getLocationGroupControllerResult.Id),\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetLocationController(ctx, \u0026zpa.GetLocationControllerArgs{\n\t\t\tName:      \"ExtranetLocation01 | zscalerbeta.net\",\n\t\t\tZiaErName: \"NewExtranet 8432\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetLocationGroupController, err := zpa.GetLocationGroupController(ctx, \u0026zpa.GetLocationGroupControllerArgs{\n\t\t\tLocationName: \"ExtranetLocation01\",\n\t\t\tZiaErName:    \"NewExtranet 8432\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetExtranetResourcePartner, err := zpa.GetExtranetResourcePartner(ctx, \u0026zpa.GetExtranetResourcePartnerArgs{\n\t\t\tName: pulumi.StringRef(\"NewExtranet 8432\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPolicyAccessRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessRuleV2Args{\n\t\t\tName:            pulumi.String(\"Extranet_Rule01\"),\n\t\t\tDescription:     pulumi.String(\"Extranet_Rule01\"),\n\t\t\tAction:          pulumi.String(\"ALLOW\"),\n\t\t\tCustomMsg:       pulumi.String(\"Test\"),\n\t\t\tOperator:        pulumi.String(\"AND\"),\n\t\t\tExtranetEnabled: pulumi.Bool(true),\n\t\t\tExtranetDtos: zpa.PolicyAccessRuleV2ExtranetDtoArray{\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ExtranetDtoArgs{\n\t\t\t\t\tZpnErId: pulumi.String(thisGetExtranetResourcePartner.Id),\n\t\t\t\t\tLocationDtos: zpa.PolicyAccessRuleV2ExtranetDtoLocationDtoArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ExtranetDtoLocationDtoArgs{\n\t\t\t\t\t\t\tId: pulumi.String(this.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tLocationGroupDtos: zpa.PolicyAccessRuleV2ExtranetDtoLocationGroupDtoArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ExtranetDtoLocationGroupDtoArgs{\n\t\t\t\t\t\t\tId: pulumi.String(thisGetLocationGroupController.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLocationControllerArgs;\nimport com.pulumi.zpa.inputs.GetLocationGroupControllerArgs;\nimport com.pulumi.zpa.inputs.GetExtranetResourcePartnerArgs;\nimport com.pulumi.zpa.PolicyAccessRuleV2;\nimport com.pulumi.zpa.PolicyAccessRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessRuleV2ExtranetDtoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getLocationController(GetLocationControllerArgs.builder()\n            .name(\"ExtranetLocation01 | zscalerbeta.net\")\n            .ziaErName(\"NewExtranet 8432\")\n            .build());\n\n        final var thisGetLocationGroupController = ZpaFunctions.getLocationGroupController(GetLocationGroupControllerArgs.builder()\n            .locationName(\"ExtranetLocation01\")\n            .ziaErName(\"NewExtranet 8432\")\n            .build());\n\n        final var thisGetExtranetResourcePartner = ZpaFunctions.getExtranetResourcePartner(GetExtranetResourcePartnerArgs.builder()\n            .name(\"NewExtranet 8432\")\n            .build());\n\n        var thisPolicyAccessRuleV2 = new PolicyAccessRuleV2(\"thisPolicyAccessRuleV2\", PolicyAccessRuleV2Args.builder()\n            .name(\"Extranet_Rule01\")\n            .description(\"Extranet_Rule01\")\n            .action(\"ALLOW\")\n            .customMsg(\"Test\")\n            .operator(\"AND\")\n            .extranetEnabled(true)\n            .extranetDtos(PolicyAccessRuleV2ExtranetDtoArgs.builder()\n                .zpnErId(thisGetExtranetResourcePartner.id())\n                .locationDtos(PolicyAccessRuleV2ExtranetDtoLocationDtoArgs.builder()\n                    .id(this_.id())\n                    .build())\n                .locationGroupDtos(PolicyAccessRuleV2ExtranetDtoLocationGroupDtoArgs.builder()\n                    .id(thisGetLocationGroupController.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisPolicyAccessRuleV2:\n    type: zpa:PolicyAccessRuleV2\n    name: this\n    properties:\n      name: Extranet_Rule01\n      description: Extranet_Rule01\n      action: ALLOW\n      customMsg: Test\n      operator: AND\n      extranetEnabled: true\n      extranetDtos:\n        - zpnErId: ${thisGetExtranetResourcePartner.id}\n          locationDtos:\n            - id: ${this.id}\n          locationGroupDtos:\n            - id: ${thisGetLocationGroupController.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getLocationController\n      arguments:\n        name: ExtranetLocation01 | zscalerbeta.net\n        ziaErName: NewExtranet 8432\n  thisGetLocationGroupController:\n    fn::invoke:\n      function: zpa:getLocationGroupController\n      arguments:\n        locationName: ExtranetLocation01\n        ziaErName: NewExtranet 8432\n  thisGetExtranetResourcePartner:\n    fn::invoke:\n      function: zpa:getExtranetResourcePartner\n      arguments:\n        name: NewExtranet 8432\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration Location Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getLocationControllerSummary({\n    name: \"BD_CC01_US | NONE | zscalerbeta.net\",\n});\nconst thisPolicyAccessRuleV2 = new zpa.PolicyAccessRuleV2(\"this\", {\n    name: \"ExampleLocationRule\",\n    description: \"ExampleLocationRule\",\n    action: \"ALLOW\",\n    conditions: [{\n        operator: \"OR\",\n        operands: [{\n            objectType: \"LOCATION\",\n            values: [_this.then(_this =\u003e _this.id)],\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_location_controller_summary(name=\"BD_CC01_US | NONE | zscalerbeta.net\")\nthis_policy_access_rule_v2 = zpa.PolicyAccessRuleV2(\"this\",\n    name=\"ExampleLocationRule\",\n    description=\"ExampleLocationRule\",\n    action=\"ALLOW\",\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [{\n            \"object_type\": \"LOCATION\",\n            \"values\": [this.id],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetLocationControllerSummary.Invoke(new()\n    {\n        Name = \"BD_CC01_US | NONE | zscalerbeta.net\",\n    });\n\n    var thisPolicyAccessRuleV2 = new Zpa.PolicyAccessRuleV2(\"this\", new()\n    {\n        Name = \"ExampleLocationRule\",\n        Description = \"ExampleLocationRule\",\n        Action = \"ALLOW\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"LOCATION\",\n                        Values = new[]\n                        {\n                            @this.Apply(@this =\u003e @this.Apply(getLocationControllerSummaryResult =\u003e getLocationControllerSummaryResult.Id)),\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetLocationControllerSummary(ctx, \u0026zpa.GetLocationControllerSummaryArgs{\n\t\t\tName: pulumi.StringRef(\"BD_CC01_US | NONE | zscalerbeta.net\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPolicyAccessRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessRuleV2Args{\n\t\t\tName:        pulumi.String(\"ExampleLocationRule\"),\n\t\t\tDescription: pulumi.String(\"ExampleLocationRule\"),\n\t\t\tAction:      pulumi.String(\"ALLOW\"),\n\t\t\tConditions: zpa.PolicyAccessRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"LOCATION\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(this.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLocationControllerSummaryArgs;\nimport com.pulumi.zpa.PolicyAccessRuleV2;\nimport com.pulumi.zpa.PolicyAccessRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getLocationControllerSummary(GetLocationControllerSummaryArgs.builder()\n            .name(\"BD_CC01_US | NONE | zscalerbeta.net\")\n            .build());\n\n        var thisPolicyAccessRuleV2 = new PolicyAccessRuleV2(\"thisPolicyAccessRuleV2\", PolicyAccessRuleV2Args.builder()\n            .name(\"ExampleLocationRule\")\n            .description(\"ExampleLocationRule\")\n            .action(\"ALLOW\")\n            .conditions(PolicyAccessRuleV2ConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(PolicyAccessRuleV2ConditionOperandArgs.builder()\n                    .objectType(\"LOCATION\")\n                    .values(this_.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisPolicyAccessRuleV2:\n    type: zpa:PolicyAccessRuleV2\n    name: this\n    properties:\n      name: ExampleLocationRule\n      description: ExampleLocationRule\n      action: ALLOW\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: LOCATION\n              values:\n                - ${this.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getLocationControllerSummary\n      arguments:\n        name: BD_CC01_US | NONE | zscalerbeta.net\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Chrome Enterprise And Chrome Posture Profile\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getManagedBrowserProfile({\n    name: \"Profile01\",\n});\nconst thisPolicyAccessRuleV2 = new zpa.PolicyAccessRuleV2(\"this\", {\n    name: \"Example_v2_100_test\",\n    description: \"Example_v2_100_test\",\n    action: \"ALLOW\",\n    customMsg: \"Test\",\n    operator: \"AND\",\n    conditions: [{\n        operator: \"OR\",\n        operands: [\n            {\n                objectType: \"CHROME_ENTERPRISE\",\n                entryValues: [{\n                    lhs: \"managed\",\n                    rhs: \"true\",\n                }],\n            },\n            {\n                objectType: \"CHROME_POSTURE_PROFILE\",\n                values: [_this.then(_this =\u003e _this.id)],\n            },\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_managed_browser_profile(name=\"Profile01\")\nthis_policy_access_rule_v2 = zpa.PolicyAccessRuleV2(\"this\",\n    name=\"Example_v2_100_test\",\n    description=\"Example_v2_100_test\",\n    action=\"ALLOW\",\n    custom_msg=\"Test\",\n    operator=\"AND\",\n    conditions=[{\n        \"operator\": \"OR\",\n        \"operands\": [\n            {\n                \"object_type\": \"CHROME_ENTERPRISE\",\n                \"entry_values\": [{\n                    \"lhs\": \"managed\",\n                    \"rhs\": \"true\",\n                }],\n            },\n            {\n                \"object_type\": \"CHROME_POSTURE_PROFILE\",\n                \"values\": [this.id],\n            },\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetManagedBrowserProfile.Invoke(new()\n    {\n        Name = \"Profile01\",\n    });\n\n    var thisPolicyAccessRuleV2 = new Zpa.PolicyAccessRuleV2(\"this\", new()\n    {\n        Name = \"Example_v2_100_test\",\n        Description = \"Example_v2_100_test\",\n        Action = \"ALLOW\",\n        CustomMsg = \"Test\",\n        Operator = \"AND\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"CHROME_ENTERPRISE\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"managed\",\n                                Rhs = \"true\",\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"CHROME_POSTURE_PROFILE\",\n                        Values = new[]\n                        {\n                            @this.Apply(@this =\u003e @this.Apply(getManagedBrowserProfileResult =\u003e getManagedBrowserProfileResult.Id)),\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetManagedBrowserProfile(ctx, \u0026zpa.GetManagedBrowserProfileArgs{\n\t\t\tName: pulumi.StringRef(\"Profile01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPolicyAccessRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessRuleV2Args{\n\t\t\tName:        pulumi.String(\"Example_v2_100_test\"),\n\t\t\tDescription: pulumi.String(\"Example_v2_100_test\"),\n\t\t\tAction:      pulumi.String(\"ALLOW\"),\n\t\t\tCustomMsg:   pulumi.String(\"Test\"),\n\t\t\tOperator:    pulumi.String(\"AND\"),\n\t\t\tConditions: zpa.PolicyAccessRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CHROME_ENTERPRISE\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"managed\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CHROME_POSTURE_PROFILE\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(this.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetManagedBrowserProfileArgs;\nimport com.pulumi.zpa.PolicyAccessRuleV2;\nimport com.pulumi.zpa.PolicyAccessRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getManagedBrowserProfile(GetManagedBrowserProfileArgs.builder()\n            .name(\"Profile01\")\n            .build());\n\n        var thisPolicyAccessRuleV2 = new PolicyAccessRuleV2(\"thisPolicyAccessRuleV2\", PolicyAccessRuleV2Args.builder()\n            .name(\"Example_v2_100_test\")\n            .description(\"Example_v2_100_test\")\n            .action(\"ALLOW\")\n            .customMsg(\"Test\")\n            .operator(\"AND\")\n            .conditions(PolicyAccessRuleV2ConditionArgs.builder()\n                .operator(\"OR\")\n                .operands(                \n                    PolicyAccessRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"CHROME_ENTERPRISE\")\n                        .entryValues(PolicyAccessRuleV2ConditionOperandEntryValueArgs.builder()\n                            .lhs(\"managed\")\n                            .rhs(\"true\")\n                            .build())\n                        .build(),\n                    PolicyAccessRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"CHROME_POSTURE_PROFILE\")\n                        .values(this_.id())\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisPolicyAccessRuleV2:\n    type: zpa:PolicyAccessRuleV2\n    name: this\n    properties:\n      name: Example_v2_100_test\n      description: Example_v2_100_test\n      action: ALLOW\n      customMsg: Test\n      operator: AND\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: CHROME_ENTERPRISE\n              entryValues:\n                - lhs: managed\n                  rhs: 'true'\n            - objectType: CHROME_POSTURE_PROFILE\n              values:\n                - ${this.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getManagedBrowserProfile\n      arguments:\n        name: Profile01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| APP  | `NA` | `NA` | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP  | `NA`  | `NA` | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE  | `NA`  | `NA` |  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporterNoauth`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporterNoauth`\" pulumi-lang-go=\"`zpnClientTypeExporterNoauth`\" pulumi-lang-python=\"`zpn_client_type_exporter_noauth`\" pulumi-lang-yaml=\"`zpnClientTypeExporterNoauth`\" pulumi-lang-java=\"`zpnClientTypeExporterNoauth`\"\u003e`zpn_client_type_exporter_noauth`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeMachineTunnel`\" pulumi-lang-dotnet=\"`ZpnClientTypeMachineTunnel`\" pulumi-lang-go=\"`zpnClientTypeMachineTunnel`\" pulumi-lang-python=\"`zpn_client_type_machine_tunnel`\" pulumi-lang-yaml=\"`zpnClientTypeMachineTunnel`\" pulumi-lang-java=\"`zpnClientTypeMachineTunnel`\"\u003e`zpn_client_type_machine_tunnel`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZiaInspection`\" pulumi-lang-dotnet=\"`ZpnClientTypeZiaInspection`\" pulumi-lang-go=\"`zpnClientTypeZiaInspection`\" pulumi-lang-python=\"`zpn_client_type_zia_inspection`\" pulumi-lang-yaml=\"`zpnClientTypeZiaInspection`\" pulumi-lang-java=\"`zpnClientTypeZiaInspection`\"\u003e`zpn_client_type_zia_inspection`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeVdi`\" pulumi-lang-dotnet=\"`ZpnClientTypeVdi`\" pulumi-lang-go=\"`zpnClientTypeVdi`\" pulumi-lang-python=\"`zpn_client_type_vdi`\" pulumi-lang-yaml=\"`zpnClientTypeVdi`\" pulumi-lang-java=\"`zpnClientTypeVdi`\"\u003e`zpn_client_type_vdi`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeSlogger`\" pulumi-lang-dotnet=\"`ZpnClientTypeSlogger`\" pulumi-lang-go=\"`zpnClientTypeSlogger`\" pulumi-lang-python=\"`zpn_client_type_slogger`\" pulumi-lang-yaml=\"`zpnClientTypeSlogger`\" pulumi-lang-java=\"`zpnClientTypeSlogger`\"\u003e`zpn_client_type_slogger`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e` |\n| EDGE_CONNECTOR_GROUP  | `NA`  | `NA` |  ``\u003cedge_connector_id\u003e`` |\n| BRANCH_CONNECTOR_GROUP  | `NA` | `NA` |  ``\u003cbranch_connector_id\u003e`` |\n| LOCATION   | `NA` | `NA` | `\u003cspan pulumi-lang-nodejs=\"`locationId`\" pulumi-lang-dotnet=\"`LocationId`\" pulumi-lang-go=\"`locationId`\" pulumi-lang-python=\"`location_id`\" pulumi-lang-yaml=\"`locationId`\" pulumi-lang-java=\"`locationId`\"\u003e`location_id`\u003c/span\u003e` |\n| MACHINE_GRP   | `NA` | `NA` | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n| TRUSTED_NETWORK | `\u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e`  | ``\"true\"`` |\n| COUNTRY_CODE | [2 Letter ISO3166 Alpha2](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)  | ``\"true\"`` |\n| RISK_FACTOR_TYPE | ``ZIA``  | ``\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"`` |\n| CHROME_ENTERPRISE | `\u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e`  | ``\"true\" / \"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access rule can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessRuleV2:PolicyAccessRuleV2 example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ALLOW`, `DENY`, and `REQUIRE_APPROVAL`\n"},"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2AppConnectorGroup:PolicyAccessRuleV2AppConnectorGroup"}},"appServerGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2AppServerGroup:PolicyAccessRuleV2AppServerGroup"},"description":"List of the server group IDs."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2Condition:PolicyAccessRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user.\n"},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"extranetDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2ExtranetDto:PolicyAccessRuleV2ExtranetDto"},"description":"Extranet configuration for the policy rule."},"extranetEnabled":{"type":"boolean","description":"Indiciates if the application is designated for Extranet Application Support (true) or not (false). Extranet applications connect to a partner site or offshore development center that is not directly available on your organization’s network.\n"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"operator":{"type":"string"},"policySetId":{"type":"string"}},"required":["customMsg","name","operator","policySetId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ALLOW`, `DENY`, and `REQUIRE_APPROVAL`\n"},"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2AppConnectorGroup:PolicyAccessRuleV2AppConnectorGroup"}},"appServerGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2AppServerGroup:PolicyAccessRuleV2AppServerGroup"},"description":"List of the server group IDs."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2Condition:PolicyAccessRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user.\n"},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"extranetDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2ExtranetDto:PolicyAccessRuleV2ExtranetDto"},"description":"Extranet configuration for the policy rule."},"extranetEnabled":{"type":"boolean","description":"Indiciates if the application is designated for Extranet Application Support (true) or not (false). Extranet applications connect to a partner site or offshore development center that is not directly available on your organization’s network.\n"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"operator":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessRuleV2 resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `ALLOW`, `DENY`, and `REQUIRE_APPROVAL`\n"},"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2AppConnectorGroup:PolicyAccessRuleV2AppConnectorGroup"}},"appServerGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2AppServerGroup:PolicyAccessRuleV2AppServerGroup"},"description":"List of the server group IDs."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2Condition:PolicyAccessRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user.\n"},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"extranetDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessRuleV2ExtranetDto:PolicyAccessRuleV2ExtranetDto"},"description":"Extranet configuration for the policy rule."},"extranetEnabled":{"type":"boolean","description":"Indiciates if the application is designated for Extranet Application Support (true) or not (false). Extranet applications connect to a partner site or offshore development center that is not directly available on your organization’s network.\n"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"operator":{"type":"string"},"policySetId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessTimeOutRule:PolicyAccessTimeOutRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-timeout-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-timeout-policies-using-api)\n\nThe **zpa_policy_timeout_rule** resource creates a policy timeout rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  this:\n    type: zpa:PolicyAccessTimeOutRule\n    properties:\n      name: Example\n      description: Example\n      action: RE_AUTH\n      reauthIdleTimeout: '600'\n      reauthTimeout: '172800'\n      operator: AND\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: CLIENT_TYPE\n              lhs: id\n              rhs: zpn_client_type_exporter\n        - operator: OR\n          operands:\n            - objectType: SCIM_GROUP\n              lhs: ${idpName.id}\n              rhs:\n                - ${engineering.id}\nvariables:\n  # Get IdP ID\n  idpName:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: IdP_Name\n  # Get SCIM Group attribute ID\n  engineering:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: Engineering\n        idpName: IdP_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS\n|----------|-----------|----------\n| APP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`  |\n| IDP | ``\"id\"`` | `\u003cspan pulumi-lang-nodejs=\"`identityProviderId`\" pulumi-lang-dotnet=\"`IdentityProviderId`\" pulumi-lang-go=\"`identityProviderId`\" pulumi-lang-python=\"`identity_provider_id`\" pulumi-lang-yaml=\"`identityProviderId`\" pulumi-lang-java=\"`identityProviderId`\"\u003e`identity_provider_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access timeout can be imported by using `\u003cPOLICY TIMEOUT RULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessTimeOutRule:PolicyAccessTimeOutRule example \u003cpolicy_timeout_rule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleCondition:PolicyAccessTimeOutRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"required":["bypassDefaultRule","customMsg","defaultRule","microtenantId","name","operator","policySetId","policyType","priority","reauthDefaultRule","ruleOrder","zpnCbiProfileId","zpnInspectionProfileId","zpnIsolationProfileId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleCondition:PolicyAccessTimeOutRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessTimeOutRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"actionId":{"type":"string","description":"This field defines the description of the server."},"bypassDefaultRule":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleCondition:PolicyAccessTimeOutRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"defaultRule":{"type":"boolean","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"lssDefaultRule":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"operator":{"type":"string"},"policySetId":{"type":"string"},"policyType":{"type":"string"},"priority":{"type":"string"},"reauthDefaultRule":{"type":"boolean"},"reauthIdleTimeout":{"type":"string","willReplaceOnChanges":true},"reauthTimeout":{"type":"string","willReplaceOnChanges":true},"ruleOrder":{"type":"string","deprecationMessage":"The \u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e field is now deprecated for all zpa access policy resources in favor of the resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-go=\"`PolicyAccessReorderRule`\" pulumi-lang-python=\"`PolicyAccessReorderRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessReorderRule`\" pulumi-lang-java=\"`zpa.PolicyAccessReorderRule`\"\u003e`zpa.PolicyAccessReorderRule`\u003c/span\u003e"},"zpnCbiProfileId":{"type":"string"},"zpnInspectionProfileId":{"type":"string"},"zpnIsolationProfileId":{"type":"string"}},"type":"object"}},"zpa:index/policyAccessTimeOutRuleV2:PolicyAccessTimeOutRuleV2":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-timeout-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-timeout-policies-using-api)\n\nThe **zpa_policy_timeout_rule_v2** resource creates and manages policy access timeout rule in the Zscaler Private Access cloud using a new v2 API endpoint.\n\n  ⚠️ **NOTE**: This resource is recommended if your configuration requires the association of more than 1000 resource criteria per rule.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Identity Provider ID\nconst _this = zpa.getIdPController({\n    name: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Name\",\n});\n// Create Segment Group\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\n// Create Policy Access Rule V2\nconst thisPolicyAccessTimeOutRuleV2 = new zpa.PolicyAccessTimeOutRuleV2(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"RE_AUTH\",\n    reauthIdleTimeout: \"10 Days\",\n    reauthTimeout: \"10 Days\",\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"APP_GROUP\",\n                values: [thisSegmentGroup.id],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"PLATFORM\",\n                entryValues: [\n                    {\n                        rhs: \"true\",\n                        lhs: \"linux\",\n                    },\n                    {\n                        rhs: \"true\",\n                        lhs: \"android\",\n                    },\n                ],\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve Identity Provider ID\nthis = zpa.get_id_p_controller(name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Name\")\n# Create Segment Group\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\n# Create Policy Access Rule V2\nthis_policy_access_time_out_rule_v2 = zpa.PolicyAccessTimeOutRuleV2(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"RE_AUTH\",\n    reauth_idle_timeout=\"10 Days\",\n    reauth_timeout=\"10 Days\",\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"APP_GROUP\",\n                \"values\": [this_segment_group.id],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this.id,\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"PLATFORM\",\n                \"entry_values\": [\n                    {\n                        \"rhs\": \"true\",\n                        \"lhs\": \"linux\",\n                    },\n                    {\n                        \"rhs\": \"true\",\n                        \"lhs\": \"android\",\n                    },\n                ],\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Identity Provider ID\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Create Segment Group\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    // Create Policy Access Rule V2\n    var thisPolicyAccessTimeOutRuleV2 = new Zpa.PolicyAccessTimeOutRuleV2(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"RE_AUTH\",\n        ReauthIdleTimeout = \"10 Days\",\n        ReauthTimeout = \"10 Days\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"APP_GROUP\",\n                        Values = new[]\n                        {\n                            thisSegmentGroup.Id,\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandArgs\n                    {\n                        ObjectType = \"PLATFORM\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"true\",\n                                Lhs = \"linux\",\n                            },\n                            new Zpa.Inputs.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"true\",\n                                Lhs = \"android\",\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Identity Provider ID\n\t\tthis, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Segment Group\n\t\tthisSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"this\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Rule V2\n\t\t_, err = zpa.NewPolicyAccessTimeOutRuleV2(ctx, \"this\", \u0026zpa.PolicyAccessTimeOutRuleV2Args{\n\t\t\tName:              pulumi.String(\"Example\"),\n\t\t\tDescription:       pulumi.String(\"Example\"),\n\t\t\tAction:            pulumi.String(\"RE_AUTH\"),\n\t\t\tReauthIdleTimeout: pulumi.String(\"10 Days\"),\n\t\t\tReauthTimeout:     pulumi.String(\"10 Days\"),\n\t\t\tConditions: zpa.PolicyAccessTimeOutRuleV2ConditionArray{\n\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessTimeOutRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP_GROUP\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tthisSegmentGroup.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessTimeOutRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyAccessTimeOutRuleV2ConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"PLATFORM\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"linux\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"android\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.PolicyAccessTimeOutRuleV2;\nimport com.pulumi.zpa.PolicyAccessTimeOutRuleV2Args;\nimport com.pulumi.zpa.inputs.PolicyAccessTimeOutRuleV2ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Identity Provider ID\n        final var this = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Create Segment Group\n        var thisSegmentGroup = new SegmentGroup(\"thisSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        // Create Policy Access Rule V2\n        var thisPolicyAccessTimeOutRuleV2 = new PolicyAccessTimeOutRuleV2(\"thisPolicyAccessTimeOutRuleV2\", PolicyAccessTimeOutRuleV2Args.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"RE_AUTH\")\n            .reauthIdleTimeout(\"10 Days\")\n            .reauthTimeout(\"10 Days\")\n            .conditions(            \n                PolicyAccessTimeOutRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessTimeOutRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"APP_GROUP\")\n                        .values(thisSegmentGroup.id())\n                        .build())\n                    .build(),\n                PolicyAccessTimeOutRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyAccessTimeOutRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(                            \n                                PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"user1@acme.com\")\n                                    .lhs(emailUserSso.id())\n                                    .build(),\n                                PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"A000\")\n                                    .lhs(groupUser.id())\n                                    .build())\n                            .build(),\n                        PolicyAccessTimeOutRuleV2ConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(this_.id())\n                                    .build(),\n                                PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(this_.id())\n                                    .build())\n                            .build())\n                    .build(),\n                PolicyAccessTimeOutRuleV2ConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyAccessTimeOutRuleV2ConditionOperandArgs.builder()\n                        .objectType(\"PLATFORM\")\n                        .entryValues(                        \n                            PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs.builder()\n                                .rhs(\"true\")\n                                .lhs(\"linux\")\n                                .build(),\n                            PolicyAccessTimeOutRuleV2ConditionOperandEntryValueArgs.builder()\n                                .rhs(\"true\")\n                                .lhs(\"android\")\n                                .build())\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Segment Group\n  thisSegmentGroup:\n    type: zpa:SegmentGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # Create Policy Access Rule V2\n  thisPolicyAccessTimeOutRuleV2:\n    type: zpa:PolicyAccessTimeOutRuleV2\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: RE_AUTH\n      reauthIdleTimeout: 10 Days\n      reauthTimeout: 10 Days\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP_GROUP\n              values:\n                - ${thisSegmentGroup.id}\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${this.id}\n                - rhs: ${b000.id}\n                  lhs: ${this.id}\n        - operator: OR\n          operands:\n            - objectType: PLATFORM\n              entryValues:\n                - rhs: 'true'\n                  lhs: linux\n                - rhs: 'true'\n                  lhs: android\nvariables:\n  # Retrieve Identity Provider ID\n  this:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: Idp_Name\n  # Retrieve SAML Attribute ID\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_Users\n        idpName: Idp_Name\n  # Retrieve SAML Attribute ID\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_Users\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: Idp_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| APP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE  |   |  |  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappl`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappl`\" pulumi-lang-go=\"`zpnClientTypeZappl`\" pulumi-lang-python=\"`zpn_client_type_zappl`\" pulumi-lang-yaml=\"`zpnClientTypeZappl`\" pulumi-lang-java=\"`zpnClientTypeZappl`\"\u003e`zpn_client_type_zappl`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access timeout rule can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyAccessTimeOutRuleV2:PolicyAccessTimeOutRuleV2 example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleV2Condition:PolicyAccessTimeOutRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"policySetId":{"type":"string"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"}},"required":["conditions","microtenantId","name","policySetId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleV2Condition:PolicyAccessTimeOutRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyAccessTimeOutRuleV2 resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action."},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyAccessTimeOutRuleV2Condition:PolicyAccessTimeOutRuleV2Condition"},"description":"This is for proviidng the set of conditions for the policy."},"customMsg":{"type":"string","description":"This is for providing a customer message for the user."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy."},"policySetId":{"type":"string"},"reauthIdleTimeout":{"type":"string"},"reauthTimeout":{"type":"string"}},"type":"object"}},"zpa:index/policyBrowserProtectionRule:PolicyBrowserProtectionRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-access-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api#postV2)\n\nThe **zpa_policy_browser_protection_rule** resource creates and manages policy access rule in the Zscaler Private Access cloud using a new v2 API endpoint.\n\n  ⚠️ **NOTE**: This resource is recommended if your configuration requires the association of more than 1000 resource criteria per rule.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n### Browser Protection With MONITOR ACTION\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Policy Types\n// Retrieve Identity Provider ID\nconst _this = zpa.getIdPController({\n    name: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Name\",\n});\n// Create Segment Group\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\n// Create Policy Access Rule V2\nconst thisPolicyBrowserProtectionRule = new zpa.PolicyBrowserProtectionRule(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"MONITOR\",\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"APP_GROUP\",\n                values: [thisSegmentGroup.id],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"USER_PORTAL\",\n                values: [\"145262059234265326\"],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"CLIENT_TYPE\",\n                values: [\"zpn_client_type_exporter\"],\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve Policy Types\n# Retrieve Identity Provider ID\nthis = zpa.get_id_p_controller(name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Name\")\n# Create Segment Group\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\n# Create Policy Access Rule V2\nthis_policy_browser_protection_rule = zpa.PolicyBrowserProtectionRule(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"MONITOR\",\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"APP_GROUP\",\n                \"values\": [this_segment_group.id],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this.id,\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"USER_PORTAL\",\n                \"values\": [\"145262059234265326\"],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"CLIENT_TYPE\",\n                \"values\": [\"zpn_client_type_exporter\"],\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Policy Types\n    // Retrieve Identity Provider ID\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Create Segment Group\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    // Create Policy Access Rule V2\n    var thisPolicyBrowserProtectionRule = new Zpa.PolicyBrowserProtectionRule(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"MONITOR\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"APP_GROUP\",\n                        Values = new[]\n                        {\n                            thisSegmentGroup.Id,\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"USER_PORTAL\",\n                        Values = new[]\n                        {\n                            \"145262059234265326\",\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"CLIENT_TYPE\",\n                        Values = new[]\n                        {\n                            \"zpn_client_type_exporter\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Policy Types\n\t\t// Retrieve Identity Provider ID\n\t\tthis, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Segment Group\n\t\tthisSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"this\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Rule V2\n\t\t_, err = zpa.NewPolicyBrowserProtectionRule(ctx, \"this\", \u0026zpa.PolicyBrowserProtectionRuleArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"MONITOR\"),\n\t\t\tConditions: zpa.PolicyBrowserProtectionRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP_GROUP\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tthisSegmentGroup.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"USER_PORTAL\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"145262059234265326\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CLIENT_TYPE\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"zpn_client_type_exporter\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.PolicyBrowserProtectionRule;\nimport com.pulumi.zpa.PolicyBrowserProtectionRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyBrowserProtectionRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Policy Types\n        // Retrieve Identity Provider ID\n        final var this = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Create Segment Group\n        var thisSegmentGroup = new SegmentGroup(\"thisSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        // Create Policy Access Rule V2\n        var thisPolicyBrowserProtectionRule = new PolicyBrowserProtectionRule(\"thisPolicyBrowserProtectionRule\", PolicyBrowserProtectionRuleArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"MONITOR\")\n            .conditions(            \n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                        .objectType(\"APP_GROUP\")\n                        .values(thisSegmentGroup.id())\n                        .build())\n                    .build(),\n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(                            \n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"user1@acme.com\")\n                                    .lhs(emailUserSso.id())\n                                    .build(),\n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"A000\")\n                                    .lhs(groupUser.id())\n                                    .build())\n                            .build(),\n                        PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(this_.id())\n                                    .build(),\n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(this_.id())\n                                    .build())\n                            .build())\n                    .build(),\n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                        .objectType(\"USER_PORTAL\")\n                        .values(\"145262059234265326\")\n                        .build())\n                    .build(),\n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                        .objectType(\"CLIENT_TYPE\")\n                        .values(\"zpn_client_type_exporter\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Segment Group\n  thisSegmentGroup:\n    type: zpa:SegmentGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # Create Policy Access Rule V2\n  thisPolicyBrowserProtectionRule:\n    type: zpa:PolicyBrowserProtectionRule\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: MONITOR\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP_GROUP\n              values:\n                - ${thisSegmentGroup.id}\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${this.id}\n                - rhs: ${b000.id}\n                  lhs: ${this.id}\n        - operator: OR\n          operands:\n            - objectType: USER_PORTAL\n              values:\n                - '145262059234265326'\n        - operator: OR\n          operands:\n            - objectType: CLIENT_TYPE\n              values:\n                - zpn_client_type_exporter\nvariables:\n  # Retrieve Policy Types\n  # Retrieve Identity Provider ID\n  this:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: Idp_Name\n  # Retrieve SAML Attribute ID\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_Users\n        idpName: Idp_Name\n  # Retrieve SAML Attribute ID\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_Users\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: Idp_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Browser Protection With DO_NOT_MONITOR ACTION\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Policy Types\n// Retrieve Identity Provider ID\nconst _this = zpa.getIdPController({\n    name: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SAML Attribute ID\nconst groupUser = zpa.getSAMLAttribute({\n    name: \"GroupName_Users\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst a000 = zpa.getSCIMGroups({\n    name: \"A000\",\n    idpName: \"Idp_Name\",\n});\n// Retrieve SCIM Group ID\nconst b000 = zpa.getSCIMGroups({\n    name: \"B000\",\n    idpName: \"Idp_Name\",\n});\n// Create Segment Group\nconst thisSegmentGroup = new zpa.SegmentGroup(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n});\n// Create Policy Access Rule V2\nconst thisPolicyBrowserProtectionRule = new zpa.PolicyBrowserProtectionRule(\"this\", {\n    name: \"Example\",\n    description: \"Example\",\n    action: \"DO_NOT_MONITOR\",\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"APP_GROUP\",\n                values: [thisSegmentGroup.id],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [\n                        {\n                            rhs: \"user1@acme.com\",\n                            lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                        },\n                        {\n                            rhs: \"A000\",\n                            lhs: groupUser.then(groupUser =\u003e groupUser.id),\n                        },\n                    ],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"USER_PORTAL\",\n                values: [\"145262059234265326\"],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"CLIENT_TYPE\",\n                values: [\"zpn_client_type_exporter\"],\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\n# Retrieve Policy Types\n# Retrieve Identity Provider ID\nthis = zpa.get_id_p_controller(name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SAML Attribute ID\ngroup_user = zpa.get_saml_attribute(name=\"GroupName_Users\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\na000 = zpa.get_scim_groups(name=\"A000\",\n    idp_name=\"Idp_Name\")\n# Retrieve SCIM Group ID\nb000 = zpa.get_scim_groups(name=\"B000\",\n    idp_name=\"Idp_Name\")\n# Create Segment Group\nthis_segment_group = zpa.SegmentGroup(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True)\n# Create Policy Access Rule V2\nthis_policy_browser_protection_rule = zpa.PolicyBrowserProtectionRule(\"this\",\n    name=\"Example\",\n    description=\"Example\",\n    action=\"DO_NOT_MONITOR\",\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"APP_GROUP\",\n                \"values\": [this_segment_group.id],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": \"user1@acme.com\",\n                            \"lhs\": email_user_sso.id,\n                        },\n                        {\n                            \"rhs\": \"A000\",\n                            \"lhs\": group_user.id,\n                        },\n                    ],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this.id,\n                        },\n                    ],\n                },\n            ],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"USER_PORTAL\",\n                \"values\": [\"145262059234265326\"],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"CLIENT_TYPE\",\n                \"values\": [\"zpn_client_type_exporter\"],\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Policy Types\n    // Retrieve Identity Provider ID\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SAML Attribute ID\n    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"GroupName_Users\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"A000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Retrieve SCIM Group ID\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"B000\",\n        IdpName = \"Idp_Name\",\n    });\n\n    // Create Segment Group\n    var thisSegmentGroup = new Zpa.SegmentGroup(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n    });\n\n    // Create Policy Access Rule V2\n    var thisPolicyBrowserProtectionRule = new Zpa.PolicyBrowserProtectionRule(\"this\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Action = \"DO_NOT_MONITOR\",\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"APP_GROUP\",\n                        Values = new[]\n                        {\n                            thisSegmentGroup.Id,\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"A000\",\n                                Lhs = groupUser.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"USER_PORTAL\",\n                        Values = new[]\n                        {\n                            \"145262059234265326\",\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyBrowserProtectionRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyBrowserProtectionRuleConditionOperandArgs\n                    {\n                        ObjectType = \"CLIENT_TYPE\",\n                        Values = new[]\n                        {\n                            \"zpn_client_type_exporter\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Policy Types\n\t\t// Retrieve Identity Provider ID\n\t\tthis, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SAML Attribute ID\n\t\tgroupUser, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"GroupName_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve SCIM Group ID\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t\tIdpName: pulumi.StringRef(\"Idp_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Segment Group\n\t\tthisSegmentGroup, err := zpa.NewSegmentGroup(ctx, \"this\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Policy Access Rule V2\n\t\t_, err = zpa.NewPolicyBrowserProtectionRule(ctx, \"this\", \u0026zpa.PolicyBrowserProtectionRuleArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAction:      pulumi.String(\"DO_NOT_MONITOR\"),\n\t\t\tConditions: zpa.PolicyBrowserProtectionRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"APP_GROUP\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tthisSegmentGroup.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"A000\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(groupUser.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"USER_PORTAL\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"145262059234265326\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyBrowserProtectionRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyBrowserProtectionRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"CLIENT_TYPE\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"zpn_client_type_exporter\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport com.pulumi.zpa.PolicyBrowserProtectionRule;\nimport com.pulumi.zpa.PolicyBrowserProtectionRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyBrowserProtectionRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Policy Types\n        // Retrieve Identity Provider ID\n        final var this = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SAML Attribute ID\n        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"GroupName_Users\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"A000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Retrieve SCIM Group ID\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"B000\")\n            .idpName(\"Idp_Name\")\n            .build());\n\n        // Create Segment Group\n        var thisSegmentGroup = new SegmentGroup(\"thisSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .build());\n\n        // Create Policy Access Rule V2\n        var thisPolicyBrowserProtectionRule = new PolicyBrowserProtectionRule(\"thisPolicyBrowserProtectionRule\", PolicyBrowserProtectionRuleArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .action(\"DO_NOT_MONITOR\")\n            .conditions(            \n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                        .objectType(\"APP_GROUP\")\n                        .values(thisSegmentGroup.id())\n                        .build())\n                    .build(),\n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(                            \n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"user1@acme.com\")\n                                    .lhs(emailUserSso.id())\n                                    .build(),\n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(\"A000\")\n                                    .lhs(groupUser.id())\n                                    .build())\n                            .build(),\n                        PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(this_.id())\n                                    .build(),\n                                PolicyBrowserProtectionRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(this_.id())\n                                    .build())\n                            .build())\n                    .build(),\n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                        .objectType(\"USER_PORTAL\")\n                        .values(\"145262059234265326\")\n                        .build())\n                    .build(),\n                PolicyBrowserProtectionRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyBrowserProtectionRuleConditionOperandArgs.builder()\n                        .objectType(\"CLIENT_TYPE\")\n                        .values(\"zpn_client_type_exporter\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Segment Group\n  thisSegmentGroup:\n    type: zpa:SegmentGroup\n    name: this\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n  # Create Policy Access Rule V2\n  thisPolicyBrowserProtectionRule:\n    type: zpa:PolicyBrowserProtectionRule\n    name: this\n    properties:\n      name: Example\n      description: Example\n      action: DO_NOT_MONITOR\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: APP_GROUP\n              values:\n                - ${thisSegmentGroup.id}\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n                - rhs: A000\n                  lhs: ${groupUser.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${this.id}\n                - rhs: ${b000.id}\n                  lhs: ${this.id}\n        - operator: OR\n          operands:\n            - objectType: USER_PORTAL\n              values:\n                - '145262059234265326'\n        - operator: OR\n          operands:\n            - objectType: CLIENT_TYPE\n              values:\n                - zpn_client_type_exporter\nvariables:\n  # Retrieve Policy Types\n  # Retrieve Identity Provider ID\n  this:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: Idp_Name\n  # Retrieve SAML Attribute ID\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_Users\n        idpName: Idp_Name\n  # Retrieve SAML Attribute ID\n  groupUser:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: GroupName_Users\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: A000\n        idpName: Idp_Name\n  # Retrieve SCIM Group ID\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: B000\n        idpName: Idp_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| APP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`applicationSegmentId`\" pulumi-lang-dotnet=\"`ApplicationSegmentId`\" pulumi-lang-go=\"`applicationSegmentId`\" pulumi-lang-python=\"`application_segment_id`\" pulumi-lang-yaml=\"`applicationSegmentId`\" pulumi-lang-java=\"`applicationSegmentId`\"\u003e`application_segment_id`\u003c/span\u003e` |\n| APP_GROUP  |   |  | `\u003cspan pulumi-lang-nodejs=\"`segmentGroupId`\" pulumi-lang-dotnet=\"`SegmentGroupId`\" pulumi-lang-go=\"`segmentGroupId`\" pulumi-lang-python=\"`segment_group_id`\" pulumi-lang-yaml=\"`segmentGroupId`\" pulumi-lang-java=\"`segmentGroupId`\"\u003e`segment_group_id`\u003c/span\u003e`|\n| CLIENT_TYPE  |   |  |  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappl`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappl`\" pulumi-lang-go=\"`zpnClientTypeZappl`\" pulumi-lang-python=\"`zpn_client_type_zappl`\" pulumi-lang-yaml=\"`zpnClientTypeZappl`\" pulumi-lang-java=\"`zpnClientTypeZappl`\"\u003e`zpn_client_type_zappl`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-dotnet=\"`ZpnClientTypeBrowserIsolation`\" pulumi-lang-go=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-python=\"`zpn_client_type_browser_isolation`\" pulumi-lang-yaml=\"`zpnClientTypeBrowserIsolation`\" pulumi-lang-java=\"`zpnClientTypeBrowserIsolation`\"\u003e`zpn_client_type_browser_isolation`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-dotnet=\"`ZpnClientTypeIpAnchoring`\" pulumi-lang-go=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-python=\"`zpn_client_type_ip_anchoring`\" pulumi-lang-yaml=\"`zpnClientTypeIpAnchoring`\" pulumi-lang-java=\"`zpnClientTypeIpAnchoring`\"\u003e`zpn_client_type_ip_anchoring`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeEdgeConnector`\" pulumi-lang-go=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-python=\"`zpn_client_type_edge_connector`\" pulumi-lang-yaml=\"`zpnClientTypeEdgeConnector`\" pulumi-lang-java=\"`zpnClientTypeEdgeConnector`\"\u003e`zpn_client_type_edge_connector`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeBranchConnector`\" pulumi-lang-dotnet=\"`ZpnClientTypeBranchConnector`\" pulumi-lang-go=\"`zpnClientTypeBranchConnector`\" pulumi-lang-python=\"`zpn_client_type_branch_connector`\" pulumi-lang-yaml=\"`zpnClientTypeBranchConnector`\" pulumi-lang-java=\"`zpnClientTypeBranchConnector`\"\u003e`zpn_client_type_branch_connector`\u003c/span\u003e`,  `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZappPartner`\" pulumi-lang-dotnet=\"`ZpnClientTypeZappPartner`\" pulumi-lang-go=\"`zpnClientTypeZappPartner`\" pulumi-lang-python=\"`zpn_client_type_zapp_partner`\" pulumi-lang-yaml=\"`zpnClientTypeZappPartner`\" pulumi-lang-java=\"`zpnClientTypeZappPartner`\"\u003e`zpn_client_type_zapp_partner`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeZapp`\" pulumi-lang-dotnet=\"`ZpnClientTypeZapp`\" pulumi-lang-go=\"`zpnClientTypeZapp`\" pulumi-lang-python=\"`zpn_client_type_zapp`\" pulumi-lang-yaml=\"`zpnClientTypeZapp`\" pulumi-lang-java=\"`zpnClientTypeZapp`\"\u003e`zpn_client_type_zapp`\u003c/span\u003e`  |\n| EDGE_CONNECTOR_GROUP  |   |  |  ``\u003cedge_connector_id\u003e`` |\n| BRANCH_CONNECTOR_GROUP  |   |  |  ``\u003cbranch_connector_id\u003e`` |\n| LOCATION   |   |  | `\u003cspan pulumi-lang-nodejs=\"`locationId`\" pulumi-lang-dotnet=\"`LocationId`\" pulumi-lang-go=\"`locationId`\" pulumi-lang-python=\"`location_id`\" pulumi-lang-yaml=\"`locationId`\" pulumi-lang-java=\"`locationId`\"\u003e`location_id`\u003c/span\u003e` |\n| MACHINE_GRP   |   |  | `\u003cspan pulumi-lang-nodejs=\"`machineGroupId`\" pulumi-lang-dotnet=\"`MachineGroupId`\" pulumi-lang-go=\"`machineGroupId`\" pulumi-lang-python=\"`machine_group_id`\" pulumi-lang-yaml=\"`machineGroupId`\" pulumi-lang-java=\"`machineGroupId`\"\u003e`machine_group_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| PLATFORM | `\u003cspan pulumi-lang-nodejs=\"`mac`\" pulumi-lang-dotnet=\"`Mac`\" pulumi-lang-go=\"`mac`\" pulumi-lang-python=\"`mac`\" pulumi-lang-yaml=\"`mac`\" pulumi-lang-java=\"`mac`\"\u003e`mac`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`ios`\" pulumi-lang-dotnet=\"`Ios`\" pulumi-lang-go=\"`ios`\" pulumi-lang-python=\"`ios`\" pulumi-lang-yaml=\"`ios`\" pulumi-lang-java=\"`ios`\"\u003e`ios`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`android`\" pulumi-lang-dotnet=\"`Android`\" pulumi-lang-go=\"`android`\" pulumi-lang-python=\"`android`\" pulumi-lang-yaml=\"`android`\" pulumi-lang-java=\"`android`\"\u003e`android`\u003c/span\u003e`, `\u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e` | ``\"true\"`` / ``\"false\"`` |\n| POSTURE | `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e`  | ``\"true\"`` / ``\"false\"`` |\n| TRUSTED_NETWORK | `\u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e`  | ``\"true\"`` |\n| COUNTRY_CODE | [2 Letter ISO3166 Alpha2](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)  | ``\"true\"`` / ``\"false\"`` |\n| RISK_FACTOR_TYPE | ``ZIA``  | ``\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"`` |\n| CHROME_ENTERPRISE | `\u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e`  | ``\"true\" / \"false\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access rule can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyBrowserProtectionRule:PolicyBrowserProtectionRule example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `MONITOR`, `DO_NOT_MONITOR`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyBrowserProtectionRuleCondition:PolicyBrowserProtectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"}},"required":["conditions","microtenantId","name","policySetId"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `MONITOR`, `DO_NOT_MONITOR`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyBrowserProtectionRuleCondition:PolicyBrowserProtectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyBrowserProtectionRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported values: `MONITOR`, `DO_NOT_MONITOR`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyBrowserProtectionRuleCondition:PolicyBrowserProtectionRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy rule.\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"}},"type":"object"}},"zpa:index/policyPortalAccessRule:PolicyPortalAccessRule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-capabilities-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-policies-using-api)\n\nThe **zpa_policy_portal_access_rule** resource creates a Privileged Portal Policy Capabilities Rule in the Zscaler Private Access cloud.\n\n  ⚠️ **WARNING:**: The attribute `\u003cspan pulumi-lang-nodejs=\"`ruleOrder`\" pulumi-lang-dotnet=\"`RuleOrder`\" pulumi-lang-go=\"`ruleOrder`\" pulumi-lang-python=\"`rule_order`\" pulumi-lang-yaml=\"`ruleOrder`\" pulumi-lang-java=\"`ruleOrder`\"\u003e`rule_order`\u003c/span\u003e` is now deprecated in favor of the new resource  `\u003cspan pulumi-lang-nodejs=\"`policyAccessRuleReorder`\" pulumi-lang-dotnet=\"`PolicyAccessRuleReorder`\" pulumi-lang-go=\"`policyAccessRuleReorder`\" pulumi-lang-python=\"`policy_access_rule_reorder`\" pulumi-lang-yaml=\"`policyAccessRuleReorder`\" pulumi-lang-java=\"`policyAccessRuleReorder`\"\u003e`policy_access_rule_reorder`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_BD_Okta_Users\",\n    idpName: \"BD_Okta_Users\",\n});\nconst _this = zpa.getIdPController({\n    name: \"BD_Okta_Users\",\n});\nconst a000 = zpa.getSCIMGroups({\n    idpName: \"BD_Okta_Users\",\n    name: \"A000\",\n});\nconst b000 = zpa.getSCIMGroups({\n    idpName: \"BD_Okta_Users\",\n    name: \"B000\",\n});\nconst example = new zpa.PolicyPortalAccessRule(\"example\", {\n    name: \"Portal Access Rule\",\n    description: \"Allow portal access with specific capabilities\",\n    action: \"CHECK_PRIVILEGED_PORTAL_CAPABILITIES\",\n    privilegedPortalCapabilities: {\n        deleteFile: true,\n        accessUninspectedFile: true,\n        requestApprovals: true,\n        reviewApprovals: true,\n    },\n    conditions: [\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"PRIVILEGE_PORTAL\",\n                values: [\"216196257331387235\"],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [{\n                objectType: \"COUNTRY_CODE\",\n                entryValues: [\n                    {\n                        lhs: \"BR\",\n                        rhs: \"true\",\n                    },\n                    {\n                        lhs: \"CA\",\n                        rhs: \"true\",\n                    },\n                ],\n            }],\n        },\n        {\n            operator: \"OR\",\n            operands: [\n                {\n                    objectType: \"SAML\",\n                    entryValues: [{\n                        rhs: \"user1@acme.com\",\n                        lhs: emailUserSso.then(emailUserSso =\u003e emailUserSso.id),\n                    }],\n                },\n                {\n                    objectType: \"SCIM_GROUP\",\n                    entryValues: [\n                        {\n                            rhs: a000.then(a000 =\u003e a000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                        {\n                            rhs: b000.then(b000 =\u003e b000.id),\n                            lhs: _this.then(_this =\u003e _this.id),\n                        },\n                    ],\n                },\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_BD_Okta_Users\",\n    idp_name=\"BD_Okta_Users\")\nthis = zpa.get_id_p_controller(name=\"BD_Okta_Users\")\na000 = zpa.get_scim_groups(idp_name=\"BD_Okta_Users\",\n    name=\"A000\")\nb000 = zpa.get_scim_groups(idp_name=\"BD_Okta_Users\",\n    name=\"B000\")\nexample = zpa.PolicyPortalAccessRule(\"example\",\n    name=\"Portal Access Rule\",\n    description=\"Allow portal access with specific capabilities\",\n    action=\"CHECK_PRIVILEGED_PORTAL_CAPABILITIES\",\n    privileged_portal_capabilities={\n        \"delete_file\": True,\n        \"access_uninspected_file\": True,\n        \"request_approvals\": True,\n        \"review_approvals\": True,\n    },\n    conditions=[\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"PRIVILEGE_PORTAL\",\n                \"values\": [\"216196257331387235\"],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [{\n                \"object_type\": \"COUNTRY_CODE\",\n                \"entry_values\": [\n                    {\n                        \"lhs\": \"BR\",\n                        \"rhs\": \"true\",\n                    },\n                    {\n                        \"lhs\": \"CA\",\n                        \"rhs\": \"true\",\n                    },\n                ],\n            }],\n        },\n        {\n            \"operator\": \"OR\",\n            \"operands\": [\n                {\n                    \"object_type\": \"SAML\",\n                    \"entry_values\": [{\n                        \"rhs\": \"user1@acme.com\",\n                        \"lhs\": email_user_sso.id,\n                    }],\n                },\n                {\n                    \"object_type\": \"SCIM_GROUP\",\n                    \"entry_values\": [\n                        {\n                            \"rhs\": a000.id,\n                            \"lhs\": this.id,\n                        },\n                        {\n                            \"rhs\": b000.id,\n                            \"lhs\": this.id,\n                        },\n                    ],\n                },\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_BD_Okta_Users\",\n        IdpName = \"BD_Okta_Users\",\n    });\n\n    var @this = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"BD_Okta_Users\",\n    });\n\n    var a000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        IdpName = \"BD_Okta_Users\",\n        Name = \"A000\",\n    });\n\n    var b000 = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        IdpName = \"BD_Okta_Users\",\n        Name = \"B000\",\n    });\n\n    var example = new Zpa.PolicyPortalAccessRule(\"example\", new()\n    {\n        Name = \"Portal Access Rule\",\n        Description = \"Allow portal access with specific capabilities\",\n        Action = \"CHECK_PRIVILEGED_PORTAL_CAPABILITIES\",\n        PrivilegedPortalCapabilities = new Zpa.Inputs.PolicyPortalAccessRulePrivilegedPortalCapabilitiesArgs\n        {\n            DeleteFile = true,\n            AccessUninspectedFile = true,\n            RequestApprovals = true,\n            ReviewApprovals = true,\n        },\n        Conditions = new[]\n        {\n            new Zpa.Inputs.PolicyPortalAccessRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandArgs\n                    {\n                        ObjectType = \"PRIVILEGE_PORTAL\",\n                        Values = new[]\n                        {\n                            \"216196257331387235\",\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyPortalAccessRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandArgs\n                    {\n                        ObjectType = \"COUNTRY_CODE\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"BR\",\n                                Rhs = \"true\",\n                            },\n                            new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandEntryValueArgs\n                            {\n                                Lhs = \"CA\",\n                                Rhs = \"true\",\n                            },\n                        },\n                    },\n                },\n            },\n            new Zpa.Inputs.PolicyPortalAccessRuleConditionArgs\n            {\n                Operator = \"OR\",\n                Operands = new[]\n                {\n                    new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SAML\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = \"user1@acme.com\",\n                                Lhs = emailUserSso.Apply(getSAMLAttributeResult =\u003e getSAMLAttributeResult.Id),\n                            },\n                        },\n                    },\n                    new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandArgs\n                    {\n                        ObjectType = \"SCIM_GROUP\",\n                        EntryValues = new[]\n                        {\n                            new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = a000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                            new Zpa.Inputs.PolicyPortalAccessRuleConditionOperandEntryValueArgs\n                            {\n                                Rhs = b000.Apply(getSCIMGroupsResult =\u003e getSCIMGroupsResult.Id),\n                                Lhs = @this.Apply(@this =\u003e @this.Apply(getIdPControllerResult =\u003e getIdPControllerResult.Id)),\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\temailUserSso, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_BD_Okta_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"BD_Okta_Users\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"BD_Okta_Users\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ta000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tIdpName: pulumi.StringRef(\"BD_Okta_Users\"),\n\t\t\tName:    pulumi.StringRef(\"A000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tb000, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tIdpName: pulumi.StringRef(\"BD_Okta_Users\"),\n\t\t\tName:    pulumi.StringRef(\"B000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewPolicyPortalAccessRule(ctx, \"example\", \u0026zpa.PolicyPortalAccessRuleArgs{\n\t\t\tName:        pulumi.String(\"Portal Access Rule\"),\n\t\t\tDescription: pulumi.String(\"Allow portal access with specific capabilities\"),\n\t\t\tAction:      pulumi.String(\"CHECK_PRIVILEGED_PORTAL_CAPABILITIES\"),\n\t\t\tPrivilegedPortalCapabilities: \u0026zpa.PolicyPortalAccessRulePrivilegedPortalCapabilitiesArgs{\n\t\t\t\tDeleteFile:            pulumi.Bool(true),\n\t\t\t\tAccessUninspectedFile: pulumi.Bool(true),\n\t\t\t\tRequestApprovals:      pulumi.Bool(true),\n\t\t\t\tReviewApprovals:       pulumi.Bool(true),\n\t\t\t},\n\t\t\tConditions: zpa.PolicyPortalAccessRuleConditionArray{\n\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyPortalAccessRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"PRIVILEGE_PORTAL\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"216196257331387235\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyPortalAccessRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"COUNTRY_CODE\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyPortalAccessRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"BR\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(\"CA\"),\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\tOperands: zpa.PolicyPortalAccessRuleConditionOperandArray{\n\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SAML\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyPortalAccessRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(\"user1@acme.com\"),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(emailUserSso.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandArgs{\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"SCIM_GROUP\"),\n\t\t\t\t\t\t\tEntryValues: zpa.PolicyPortalAccessRuleConditionOperandEntryValueArray{\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(a000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026zpa.PolicyPortalAccessRuleConditionOperandEntryValueArgs{\n\t\t\t\t\t\t\t\t\tRhs: pulumi.String(b000.Id),\n\t\t\t\t\t\t\t\t\tLhs: pulumi.String(this.Id),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport com.pulumi.zpa.PolicyPortalAccessRule;\nimport com.pulumi.zpa.PolicyPortalAccessRuleArgs;\nimport com.pulumi.zpa.inputs.PolicyPortalAccessRulePrivilegedPortalCapabilitiesArgs;\nimport com.pulumi.zpa.inputs.PolicyPortalAccessRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_BD_Okta_Users\")\n            .idpName(\"BD_Okta_Users\")\n            .build());\n\n        final var this = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"BD_Okta_Users\")\n            .build());\n\n        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .idpName(\"BD_Okta_Users\")\n            .name(\"A000\")\n            .build());\n\n        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .idpName(\"BD_Okta_Users\")\n            .name(\"B000\")\n            .build());\n\n        var example = new PolicyPortalAccessRule(\"example\", PolicyPortalAccessRuleArgs.builder()\n            .name(\"Portal Access Rule\")\n            .description(\"Allow portal access with specific capabilities\")\n            .action(\"CHECK_PRIVILEGED_PORTAL_CAPABILITIES\")\n            .privilegedPortalCapabilities(PolicyPortalAccessRulePrivilegedPortalCapabilitiesArgs.builder()\n                .deleteFile(true)\n                .accessUninspectedFile(true)\n                .requestApprovals(true)\n                .reviewApprovals(true)\n                .build())\n            .conditions(            \n                PolicyPortalAccessRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyPortalAccessRuleConditionOperandArgs.builder()\n                        .objectType(\"PRIVILEGE_PORTAL\")\n                        .values(\"216196257331387235\")\n                        .build())\n                    .build(),\n                PolicyPortalAccessRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(PolicyPortalAccessRuleConditionOperandArgs.builder()\n                        .objectType(\"COUNTRY_CODE\")\n                        .entryValues(                        \n                            PolicyPortalAccessRuleConditionOperandEntryValueArgs.builder()\n                                .lhs(\"BR\")\n                                .rhs(\"true\")\n                                .build(),\n                            PolicyPortalAccessRuleConditionOperandEntryValueArgs.builder()\n                                .lhs(\"CA\")\n                                .rhs(\"true\")\n                                .build())\n                        .build())\n                    .build(),\n                PolicyPortalAccessRuleConditionArgs.builder()\n                    .operator(\"OR\")\n                    .operands(                    \n                        PolicyPortalAccessRuleConditionOperandArgs.builder()\n                            .objectType(\"SAML\")\n                            .entryValues(PolicyPortalAccessRuleConditionOperandEntryValueArgs.builder()\n                                .rhs(\"user1@acme.com\")\n                                .lhs(emailUserSso.id())\n                                .build())\n                            .build(),\n                        PolicyPortalAccessRuleConditionOperandArgs.builder()\n                            .objectType(\"SCIM_GROUP\")\n                            .entryValues(                            \n                                PolicyPortalAccessRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(a000.id())\n                                    .lhs(this_.id())\n                                    .build(),\n                                PolicyPortalAccessRuleConditionOperandEntryValueArgs.builder()\n                                    .rhs(b000.id())\n                                    .lhs(this_.id())\n                                    .build())\n                            .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: zpa:PolicyPortalAccessRule\n    properties:\n      name: Portal Access Rule\n      description: Allow portal access with specific capabilities\n      action: CHECK_PRIVILEGED_PORTAL_CAPABILITIES\n      privilegedPortalCapabilities:\n        deleteFile: true\n        accessUninspectedFile: true\n        requestApprovals: true\n        reviewApprovals: true\n      conditions:\n        - operator: OR\n          operands:\n            - objectType: PRIVILEGE_PORTAL\n              values:\n                - '216196257331387235'\n        - operator: OR\n          operands:\n            - objectType: COUNTRY_CODE\n              entryValues:\n                - lhs: BR\n                  rhs: 'true'\n                - lhs: CA\n                  rhs: 'true'\n        - operator: OR\n          operands:\n            - objectType: SAML\n              entryValues:\n                - rhs: user1@acme.com\n                  lhs: ${emailUserSso.id}\n            - objectType: SCIM_GROUP\n              entryValues:\n                - rhs: ${a000.id}\n                  lhs: ${this.id}\n                - rhs: ${b000.id}\n                  lhs: ${this.id}\nvariables:\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_BD_Okta_Users\n        idpName: BD_Okta_Users\n  this:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: BD_Okta_Users\n  a000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        idpName: BD_Okta_Users\n        name: A000\n  b000:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        idpName: BD_Okta_Users\n        name: B000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## LHS and RHS Values\n\n| Object Type | LHS| RHS| VALUES\n|----------|-----------|----------|----------\n| PRIVILEGE_PORTAL  | `NA` | `NA` | `\u003cspan pulumi-lang-nodejs=\"`userPortalId`\" pulumi-lang-dotnet=\"`UserPortalId`\" pulumi-lang-go=\"`userPortalId`\" pulumi-lang-python=\"`user_portal_id`\" pulumi-lang-yaml=\"`userPortalId`\" pulumi-lang-java=\"`userPortalId`\"\u003e`user_portal_id`\u003c/span\u003e` |\n| SAML | `\u003cspan pulumi-lang-nodejs=\"`samlAttributeId`\" pulumi-lang-dotnet=\"`SamlAttributeId`\" pulumi-lang-go=\"`samlAttributeId`\" pulumi-lang-python=\"`saml_attribute_id`\" pulumi-lang-yaml=\"`samlAttributeId`\" pulumi-lang-java=\"`samlAttributeId`\"\u003e`saml_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e` |\n| SCIM | `\u003cspan pulumi-lang-nodejs=\"`scimAttributeId`\" pulumi-lang-dotnet=\"`ScimAttributeId`\" pulumi-lang-go=\"`scimAttributeId`\" pulumi-lang-python=\"`scim_attribute_id`\" pulumi-lang-yaml=\"`scimAttributeId`\" pulumi-lang-java=\"`scimAttributeId`\"\u003e`scim_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| SCIM_GROUP | `\u003cspan pulumi-lang-nodejs=\"`scimGroupAttributeId`\" pulumi-lang-dotnet=\"`ScimGroupAttributeId`\" pulumi-lang-go=\"`scimGroupAttributeId`\" pulumi-lang-python=\"`scim_group_attribute_id`\" pulumi-lang-yaml=\"`scimGroupAttributeId`\" pulumi-lang-java=\"`scimGroupAttributeId`\"\u003e`scim_group_attribute_id`\u003c/span\u003e`  | `\u003cspan pulumi-lang-nodejs=\"`attributeValueToMatch`\" pulumi-lang-dotnet=\"`AttributeValueToMatch`\" pulumi-lang-go=\"`attributeValueToMatch`\" pulumi-lang-python=\"`attribute_value_to_match`\" pulumi-lang-yaml=\"`attributeValueToMatch`\" pulumi-lang-java=\"`attributeValueToMatch`\"\u003e`attribute_value_to_match`\u003c/span\u003e`  |\n| COUNTRY_CODE | [2 Letter ISO3166 Alpha2](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)  | ``\"true\"`` |\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPolicy access capability can be imported by using `\u003cRULE ID\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/policyPortalAccessRule:PolicyPortalAccessRule example \u003crule_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported value: `CHECK_CAPABILITIES`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyPortalAccessRuleCondition:PolicyPortalAccessRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"privilegedPortalCapabilities":{"$ref":"#/types/zpa:index/PolicyPortalAccessRulePrivilegedPortalCapabilities:PolicyPortalAccessRulePrivilegedPortalCapabilities"}},"required":["name","policySetId","privilegedPortalCapabilities"],"inputProperties":{"action":{"type":"string","description":"This is for providing the rule action. Supported value: `CHECK_CAPABILITIES`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyPortalAccessRuleCondition:PolicyPortalAccessRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"privilegedPortalCapabilities":{"$ref":"#/types/zpa:index/PolicyPortalAccessRulePrivilegedPortalCapabilities:PolicyPortalAccessRulePrivilegedPortalCapabilities"}},"stateInputs":{"description":"Input properties used for looking up and filtering PolicyPortalAccessRule resources.\n","properties":{"action":{"type":"string","description":"This is for providing the rule action. Supported value: `CHECK_CAPABILITIES`\n"},"conditions":{"type":"array","items":{"$ref":"#/types/zpa:index/PolicyPortalAccessRuleCondition:PolicyPortalAccessRuleCondition"},"description":"This is for proviidng the set of conditions for the policy."},"description":{"type":"string","description":"This is the description of the access policy."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This is the name of the policy rule.\n"},"policySetId":{"type":"string"},"privilegedPortalCapabilities":{"$ref":"#/types/zpa:index/PolicyPortalAccessRulePrivilegedPortalCapabilities:PolicyPortalAccessRulePrivilegedPortalCapabilities"}},"type":"object"}},"zpa:index/praCredentialPool:PraCredentialPool":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-credential-pools)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-credentials-using-api)\n\nThe **zpa_pra_credential_pool** resource creates a privileged remote access credential pool in the Zscaler Private Access cloud. This resource can then be referenced in an privileged access policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst thisPRACredential = new zpa.PRACredential(\"this\", {\n    name: \"John Doe\",\n    description: \"Created with Terraform\",\n    credentialType: \"PASSWORD\",\n    userDomain: \"acme.com\",\n    password: \"\",\n});\n// Creates Credential Pool of Type \"USERNAME_PASSWORD\"\nconst _this = new zpa.PraCredentialPool(\"this\", {\n    name: \"PRACredentialPool01\",\n    credentialType: \"USERNAME_PASSWORD\",\n    credentials: [{\n        ids: [thisPRACredential.id],\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis_pra_credential = zpa.PRACredential(\"this\",\n    name=\"John Doe\",\n    description=\"Created with Terraform\",\n    credential_type=\"PASSWORD\",\n    user_domain=\"acme.com\",\n    password=\"\")\n# Creates Credential Pool of Type \"USERNAME_PASSWORD\"\nthis = zpa.PraCredentialPool(\"this\",\n    name=\"PRACredentialPool01\",\n    credential_type=\"USERNAME_PASSWORD\",\n    credentials=[{\n        \"ids\": [this_pra_credential.id],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var thisPRACredential = new Zpa.PRACredential(\"this\", new()\n    {\n        Name = \"John Doe\",\n        Description = \"Created with Terraform\",\n        CredentialType = \"PASSWORD\",\n        UserDomain = \"acme.com\",\n        Password = \"\",\n    });\n\n    // Creates Credential Pool of Type \"USERNAME_PASSWORD\"\n    var @this = new Zpa.PraCredentialPool(\"this\", new()\n    {\n        Name = \"PRACredentialPool01\",\n        CredentialType = \"USERNAME_PASSWORD\",\n        Credentials = new[]\n        {\n            new Zpa.Inputs.PraCredentialPoolCredentialArgs\n            {\n                Ids = new[]\n                {\n                    thisPRACredential.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthisPRACredential, err := zpa.NewPRACredential(ctx, \"this\", \u0026zpa.PRACredentialArgs{\n\t\t\tName:           pulumi.String(\"John Doe\"),\n\t\t\tDescription:    pulumi.String(\"Created with Terraform\"),\n\t\t\tCredentialType: pulumi.String(\"PASSWORD\"),\n\t\t\tUserDomain:     pulumi.String(\"acme.com\"),\n\t\t\tPassword:       pulumi.String(\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creates Credential Pool of Type \"USERNAME_PASSWORD\"\n\t\t_, err = zpa.NewPraCredentialPool(ctx, \"this\", \u0026zpa.PraCredentialPoolArgs{\n\t\t\tName:           pulumi.String(\"PRACredentialPool01\"),\n\t\t\tCredentialType: pulumi.String(\"USERNAME_PASSWORD\"),\n\t\t\tCredentials: zpa.PraCredentialPoolCredentialArray{\n\t\t\t\t\u0026zpa.PraCredentialPoolCredentialArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthisPRACredential.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PRACredential;\nimport com.pulumi.zpa.PRACredentialArgs;\nimport com.pulumi.zpa.PraCredentialPool;\nimport com.pulumi.zpa.PraCredentialPoolArgs;\nimport com.pulumi.zpa.inputs.PraCredentialPoolCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var thisPRACredential = new PRACredential(\"thisPRACredential\", PRACredentialArgs.builder()\n            .name(\"John Doe\")\n            .description(\"Created with Terraform\")\n            .credentialType(\"PASSWORD\")\n            .userDomain(\"acme.com\")\n            .password(\"\")\n            .build());\n\n        // Creates Credential Pool of Type \"USERNAME_PASSWORD\"\n        var this_ = new PraCredentialPool(\"this\", PraCredentialPoolArgs.builder()\n            .name(\"PRACredentialPool01\")\n            .credentialType(\"USERNAME_PASSWORD\")\n            .credentials(PraCredentialPoolCredentialArgs.builder()\n                .ids(thisPRACredential.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Creates Credential Pool of Type \"USERNAME_PASSWORD\"\n  this:\n    type: zpa:PraCredentialPool\n    properties:\n      name: PRACredentialPool01\n      credentialType: USERNAME_PASSWORD\n      credentials:\n        - ids:\n            - ${thisPRACredential.id}\n  thisPRACredential:\n    type: zpa:PRACredential\n    name: this\n    properties:\n      name: John Doe\n      description: Created with Terraform\n      credentialType: PASSWORD\n      userDomain: acme.com\n      password: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**zpa_pra_credential_pool** can be imported by using `\u003cPOOL ID\u003e` or `\u003cPOOL NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/praCredentialPool:PraCredentialPool this \u003cpool_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/praCredentialPool:PraCredentialPool this \u003cpool_name\u003e\n```\n\n","properties":{"credentialType":{"type":"string","description":"The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements."},"credentials":{"type":"array","items":{"$ref":"#/types/zpa:index/PraCredentialPoolCredential:PraCredentialPoolCredential"},"description":"List of PRA Credentials"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged credential"}},"required":["credentials","microtenantId","name"],"inputProperties":{"credentialType":{"type":"string","description":"The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements."},"credentials":{"type":"array","items":{"$ref":"#/types/zpa:index/PraCredentialPoolCredential:PraCredentialPoolCredential"},"description":"List of PRA Credentials"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged credential"}},"stateInputs":{"description":"Input properties used for looking up and filtering PraCredentialPool resources.\n","properties":{"credentialType":{"type":"string","description":"The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements."},"credentials":{"type":"array","items":{"$ref":"#/types/zpa:index/PraCredentialPoolCredential:PraCredentialPoolCredential"},"description":"List of PRA Credentials"},"microtenantId":{"type":"string","description":"The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant."},"name":{"type":"string","description":"The name of the privileged credential"}},"type":"object"}},"zpa:index/privateCloudGroup:PrivateCloudGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-private-cloud-controller-groups)\n* [API documentation](https://help.zscaler.com/zpa/about-private-cloud-controller-groups)\n\nThe **zpa_private_cloud_group** resource creates a private cloud group in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.PrivateCloudGroup(\"this\", {\n    name: \"PrivateCloudGroup01\",\n    description: \"Example private cloud group\",\n    enabled: true,\n    cityCountry: \"San Jose, US\",\n    latitude: \"37.33874\",\n    longitude: \"-121.8852525\",\n    location: \"San Jose, CA, USA\",\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    siteId: \"72058304855088543\",\n    versionProfileId: \"0\",\n    overrideVersionProfile: true,\n    isPublic: \"TRUE\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.PrivateCloudGroup(\"this\",\n    name=\"PrivateCloudGroup01\",\n    description=\"Example private cloud group\",\n    enabled=True,\n    city_country=\"San Jose, US\",\n    latitude=\"37.33874\",\n    longitude=\"-121.8852525\",\n    location=\"San Jose, CA, USA\",\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    site_id=\"72058304855088543\",\n    version_profile_id=\"0\",\n    override_version_profile=True,\n    is_public=\"TRUE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.PrivateCloudGroup(\"this\", new()\n    {\n        Name = \"PrivateCloudGroup01\",\n        Description = \"Example private cloud group\",\n        Enabled = true,\n        CityCountry = \"San Jose, US\",\n        Latitude = \"37.33874\",\n        Longitude = \"-121.8852525\",\n        Location = \"San Jose, CA, USA\",\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        SiteId = \"72058304855088543\",\n        VersionProfileId = \"0\",\n        OverrideVersionProfile = true,\n        IsPublic = \"TRUE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewPrivateCloudGroup(ctx, \"this\", \u0026zpa.PrivateCloudGroupArgs{\n\t\t\tName:                   pulumi.String(\"PrivateCloudGroup01\"),\n\t\t\tDescription:            pulumi.String(\"Example private cloud group\"),\n\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\tCityCountry:            pulumi.String(\"San Jose, US\"),\n\t\t\tLatitude:               pulumi.String(\"37.33874\"),\n\t\t\tLongitude:              pulumi.String(\"-121.8852525\"),\n\t\t\tLocation:               pulumi.String(\"San Jose, CA, USA\"),\n\t\t\tUpgradeDay:             pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:      pulumi.String(\"66600\"),\n\t\t\tSiteId:                 pulumi.String(\"72058304855088543\"),\n\t\t\tVersionProfileId:       pulumi.String(\"0\"),\n\t\t\tOverrideVersionProfile: pulumi.Bool(true),\n\t\t\tIsPublic:               pulumi.String(\"TRUE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.PrivateCloudGroup;\nimport com.pulumi.zpa.PrivateCloudGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new PrivateCloudGroup(\"this\", PrivateCloudGroupArgs.builder()\n            .name(\"PrivateCloudGroup01\")\n            .description(\"Example private cloud group\")\n            .enabled(true)\n            .cityCountry(\"San Jose, US\")\n            .latitude(\"37.33874\")\n            .longitude(\"-121.8852525\")\n            .location(\"San Jose, CA, USA\")\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .siteId(\"72058304855088543\")\n            .versionProfileId(\"0\")\n            .overrideVersionProfile(true)\n            .isPublic(\"TRUE\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:PrivateCloudGroup\n    properties:\n      name: PrivateCloudGroup01\n      description: Example private cloud group\n      enabled: true\n      cityCountry: San Jose, US\n      latitude: '37.33874'\n      longitude: '-121.8852525'\n      location: San Jose, CA, USA\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      siteId: '72058304855088543'\n      versionProfileId: '0'\n      overrideVersionProfile: true\n      isPublic: TRUE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nPrivate Cloud Group can be imported by using `\u003cGROUP ID\u003e` or `\u003cGROUP NAME\u003e` as the import ID.\n\n```sh\n$ pulumi import zpa:index/privateCloudGroup:PrivateCloudGroup example \u003cgroup_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/privateCloudGroup:PrivateCloudGroup example \u003cgroup_name\u003e\n```\n\n","properties":{"cityCountry":{"type":"string","description":"- City and country of the Private Cloud Group\n"},"countryCode":{"type":"string","description":"- Country code of the Private Cloud Group\n"},"description":{"type":"string","description":"- Description of the Private Cloud Group\n"},"enabled":{"type":"boolean","description":"- Whether this Private Cloud Group is enabled or not\n"},"isPublic":{"type":"string","description":"- Whether the Private Cloud Group is public\n"},"latitude":{"type":"string","description":"- Latitude of the Private Cloud Group. Integer or decimal. With values in the range of -90 to 90\n"},"location":{"type":"string","description":"- Location of the Private Cloud Group\n"},"longitude":{"type":"string","description":"- Longitude of the Private Cloud Group. Integer or decimal. With values in the range of -180 to 180\n"},"microtenantId":{"type":"string","description":"- Microtenant ID for the Private Cloud Group\n"},"name":{"type":"string","description":"- Name of the Private Cloud Group\n"},"overrideVersionProfile":{"type":"boolean","description":"- Whether the default version profile of the Private Cloud Group is applied or overridden\n"},"siteId":{"type":"string","description":"- Site ID for the Private Cloud Group\n"},"upgradeDay":{"type":"string","description":"- Private Cloud Controllers in this group will attempt to update to a newer version of the software during this specified day. Supported values: `SUNDAY`, `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`\n"},"upgradeTimeInSecs":{"type":"string","description":"- Private Cloud Controllers in this group will attempt to update to a newer version of the software during this specified time. Integer in seconds (i.e., -66600). The integer should be greater than or equal to 0 and less than 86400, in 15 minute intervals\n"},"versionProfileId":{"type":"string","description":"- ID of the version profile for the Private Cloud Group\n"}},"required":["countryCode","isPublic","name"],"inputProperties":{"cityCountry":{"type":"string","description":"- City and country of the Private Cloud Group\n"},"countryCode":{"type":"string","description":"- Country code of the Private Cloud Group\n"},"description":{"type":"string","description":"- Description of the Private Cloud Group\n"},"enabled":{"type":"boolean","description":"- Whether this Private Cloud Group is enabled or not\n"},"isPublic":{"type":"string","description":"- Whether the Private Cloud Group is public\n"},"latitude":{"type":"string","description":"- Latitude of the Private Cloud Group. Integer or decimal. With values in the range of -90 to 90\n"},"location":{"type":"string","description":"- Location of the Private Cloud Group\n"},"longitude":{"type":"string","description":"- Longitude of the Private Cloud Group. Integer or decimal. With values in the range of -180 to 180\n"},"microtenantId":{"type":"string","description":"- Microtenant ID for the Private Cloud Group\n"},"name":{"type":"string","description":"- Name of the Private Cloud Group\n"},"overrideVersionProfile":{"type":"boolean","description":"- Whether the default version profile of the Private Cloud Group is applied or overridden\n"},"siteId":{"type":"string","description":"- Site ID for the Private Cloud Group\n"},"upgradeDay":{"type":"string","description":"- Private Cloud Controllers in this group will attempt to update to a newer version of the software during this specified day. Supported values: `SUNDAY`, `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`\n"},"upgradeTimeInSecs":{"type":"string","description":"- Private Cloud Controllers in this group will attempt to update to a newer version of the software during this specified time. Integer in seconds (i.e., -66600). The integer should be greater than or equal to 0 and less than 86400, in 15 minute intervals\n"},"versionProfileId":{"type":"string","description":"- ID of the version profile for the Private Cloud Group\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering PrivateCloudGroup resources.\n","properties":{"cityCountry":{"type":"string","description":"- City and country of the Private Cloud Group\n"},"countryCode":{"type":"string","description":"- Country code of the Private Cloud Group\n"},"description":{"type":"string","description":"- Description of the Private Cloud Group\n"},"enabled":{"type":"boolean","description":"- Whether this Private Cloud Group is enabled or not\n"},"isPublic":{"type":"string","description":"- Whether the Private Cloud Group is public\n"},"latitude":{"type":"string","description":"- Latitude of the Private Cloud Group. Integer or decimal. With values in the range of -90 to 90\n"},"location":{"type":"string","description":"- Location of the Private Cloud Group\n"},"longitude":{"type":"string","description":"- Longitude of the Private Cloud Group. Integer or decimal. With values in the range of -180 to 180\n"},"microtenantId":{"type":"string","description":"- Microtenant ID for the Private Cloud Group\n"},"name":{"type":"string","description":"- Name of the Private Cloud Group\n"},"overrideVersionProfile":{"type":"boolean","description":"- Whether the default version profile of the Private Cloud Group is applied or overridden\n"},"siteId":{"type":"string","description":"- Site ID for the Private Cloud Group\n"},"upgradeDay":{"type":"string","description":"- Private Cloud Controllers in this group will attempt to update to a newer version of the software during this specified day. Supported values: `SUNDAY`, `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`\n"},"upgradeTimeInSecs":{"type":"string","description":"- Private Cloud Controllers in this group will attempt to update to a newer version of the software during this specified time. Integer in seconds (i.e., -66600). The integer should be greater than or equal to 0 and less than 86400, in 15 minute intervals\n"},"versionProfileId":{"type":"string","description":"- ID of the version profile for the Private Cloud Group\n"}},"type":"object"}},"zpa:index/provisioningKey:ProvisioningKey":{"description":"\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nProvisioning key can be imported by using `\u003cPROVISIONING KEY ID\u003e` or `\u003cPROVISIONING KEY NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/provisioningKey:ProvisioningKey example \u003cprovisioning_key_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/provisioningKey:ProvisioningKey example \u003cprovisioning_key_name\u003e\n```\n\n","properties":{"ProvisioningKeyValue":{"type":"string","description":"read only field. Ignored in PUT/POST calls."},"appConnectorGroupId":{"type":"string"},"appConnectorGroupName":{"type":"string","description":"Read only property. Applicable only for GET calls, ignored in PUT/POST calls."},"associationType":{"type":"string","description":"Specifies the provisioning key type for App Connectors or ZPA Private Service Edges. The supported values are CONNECTOR_GRP and SERVICE_EDGE_GRP."},"enabled":{"type":"boolean","description":"Whether the provisioning key is enabled or not. Supported values: true, false"},"enrollmentCertId":{"type":"string","description":"ID of the enrollment certificate that can be used for this provisioning key."},"ipAcls":{"type":"array","items":{"type":"string"}},"maxUsage":{"type":"string","description":"The maximum number of instances where this provisioning key can be used for enrolling an App Connector or Service Edge."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the provisioning key."},"uiConfig":{"type":"string"},"usageCount":{"type":"string","description":"The provisioning key utilization count."},"zcomponentId":{"type":"string","description":"ID of the existing App Connector or Service Edge Group."},"zcomponentName":{"type":"string","description":"Read only property. Applicable only for GET calls, ignored in PUT/POST calls."}},"required":["appConnectorGroupName","associationType","enrollmentCertId","maxUsage","microtenantId","name","ProvisioningKeyValue","usageCount","zcomponentId","zcomponentName"],"inputProperties":{"ProvisioningKeyValue":{"type":"string","description":"read only field. Ignored in PUT/POST calls."},"appConnectorGroupId":{"type":"string"},"associationType":{"type":"string","description":"Specifies the provisioning key type for App Connectors or ZPA Private Service Edges. The supported values are CONNECTOR_GRP and SERVICE_EDGE_GRP."},"enabled":{"type":"boolean","description":"Whether the provisioning key is enabled or not. Supported values: true, false"},"enrollmentCertId":{"type":"string","description":"ID of the enrollment certificate that can be used for this provisioning key."},"ipAcls":{"type":"array","items":{"type":"string"}},"maxUsage":{"type":"string","description":"The maximum number of instances where this provisioning key can be used for enrolling an App Connector or Service Edge."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the provisioning key."},"uiConfig":{"type":"string"},"usageCount":{"type":"string","description":"The provisioning key utilization count."},"zcomponentId":{"type":"string","description":"ID of the existing App Connector or Service Edge Group."},"zcomponentName":{"type":"string","description":"Read only property. Applicable only for GET calls, ignored in PUT/POST calls."}},"requiredInputs":["associationType","enrollmentCertId","maxUsage","zcomponentId"],"stateInputs":{"description":"Input properties used for looking up and filtering ProvisioningKey resources.\n","properties":{"ProvisioningKeyValue":{"type":"string","description":"read only field. Ignored in PUT/POST calls."},"appConnectorGroupId":{"type":"string"},"appConnectorGroupName":{"type":"string","description":"Read only property. Applicable only for GET calls, ignored in PUT/POST calls."},"associationType":{"type":"string","description":"Specifies the provisioning key type for App Connectors or ZPA Private Service Edges. The supported values are CONNECTOR_GRP and SERVICE_EDGE_GRP."},"enabled":{"type":"boolean","description":"Whether the provisioning key is enabled or not. Supported values: true, false"},"enrollmentCertId":{"type":"string","description":"ID of the enrollment certificate that can be used for this provisioning key."},"ipAcls":{"type":"array","items":{"type":"string"}},"maxUsage":{"type":"string","description":"The maximum number of instances where this provisioning key can be used for enrolling an App Connector or Service Edge."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the provisioning key."},"uiConfig":{"type":"string"},"usageCount":{"type":"string","description":"The provisioning key utilization count."},"zcomponentId":{"type":"string","description":"ID of the existing App Connector or Service Edge Group."},"zcomponentName":{"type":"string","description":"Read only property. Applicable only for GET calls, ignored in PUT/POST calls."}},"type":"object"}},"zpa:index/segmentGroup:SegmentGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Segment Group resource\nconst testSegmentGroup = new zpa.SegmentGroup(\"test_segment_group\", {\n    name: \"test1-segment-group\",\n    description: \"test1-segment-group\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Segment Group resource\ntest_segment_group = zpa.SegmentGroup(\"test_segment_group\",\n    name=\"test1-segment-group\",\n    description=\"test1-segment-group\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Segment Group resource\n    var testSegmentGroup = new Zpa.SegmentGroup(\"test_segment_group\", new()\n    {\n        Name = \"test1-segment-group\",\n        Description = \"test1-segment-group\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Segment Group resource\n\t\t_, err := zpa.NewSegmentGroup(ctx, \"test_segment_group\", \u0026zpa.SegmentGroupArgs{\n\t\t\tName:        pulumi.String(\"test1-segment-group\"),\n\t\t\tDescription: pulumi.String(\"test1-segment-group\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.SegmentGroup;\nimport com.pulumi.zpa.SegmentGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Segment Group resource\n        var testSegmentGroup = new SegmentGroup(\"testSegmentGroup\", SegmentGroupArgs.builder()\n            .name(\"test1-segment-group\")\n            .description(\"test1-segment-group\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Segment Group resource\n  testSegmentGroup:\n    type: zpa:SegmentGroup\n    name: test_segment_group\n    properties:\n      name: test1-segment-group\n      description: test1-segment-group\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**segment_group** can be imported by using `\u003cSEGMENT GROUP ID\u003e` or `\u003cSEGMENT GROUP NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/segmentGroup:SegmentGroup example \u003csegment_group_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/segmentGroup:SegmentGroup example \u003csegment_group_name\u003e\n```\n\n","properties":{"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/SegmentGroupApplication:SegmentGroupApplication"}},"description":{"type":"string","description":"Description of the app group."},"enabled":{"type":"boolean","description":"Whether this app group is enabled or not."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the app group."}},"required":["applications","microtenantId","name"],"inputProperties":{"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/SegmentGroupApplication:SegmentGroupApplication"}},"description":{"type":"string","description":"Description of the app group."},"enabled":{"type":"boolean","description":"Whether this app group is enabled or not."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the app group."}},"stateInputs":{"description":"Input properties used for looking up and filtering SegmentGroup resources.\n","properties":{"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/SegmentGroupApplication:SegmentGroupApplication"}},"description":{"type":"string","description":"Description of the app group."},"enabled":{"type":"boolean","description":"Whether this app group is enabled or not."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the app group."}},"type":"object"}},"zpa:index/serverGroup:ServerGroup":{"description":"## Example Usage\n\n### Dynamic Discovery Enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Create a App Connector Group\nconst exampleConnectorGroup = new zpa.ConnectorGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    cityCountry: \"San Jose, CA\",\n    countryCode: \"US\",\n    latitude: \"37.338\",\n    longitude: \"-121.8863\",\n    location: \"San Jose, CA, US\",\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    overrideVersionProfile: true,\n    versionProfileId: \"0\",\n    dnsQueryType: \"IPV4\",\n});\nconst example = new zpa.ServerGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    dynamicDiscovery: true,\n    appConnectorGroups: [{\n        ids: [exampleConnectorGroup.id],\n    }],\n}, {\n    dependsOn: [exampleConnectorGroup],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# Create a App Connector Group\nexample_connector_group = zpa.ConnectorGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    city_country=\"San Jose, CA\",\n    country_code=\"US\",\n    latitude=\"37.338\",\n    longitude=\"-121.8863\",\n    location=\"San Jose, CA, US\",\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    override_version_profile=True,\n    version_profile_id=\"0\",\n    dns_query_type=\"IPV4\")\nexample = zpa.ServerGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    dynamic_discovery=True,\n    app_connector_groups=[{\n        \"ids\": [example_connector_group.id],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[example_connector_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a App Connector Group\n    var exampleConnectorGroup = new Zpa.ConnectorGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        CityCountry = \"San Jose, CA\",\n        CountryCode = \"US\",\n        Latitude = \"37.338\",\n        Longitude = \"-121.8863\",\n        Location = \"San Jose, CA, US\",\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        OverrideVersionProfile = true,\n        VersionProfileId = \"0\",\n        DnsQueryType = \"IPV4\",\n    });\n\n    var example = new Zpa.ServerGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        DynamicDiscovery = true,\n        AppConnectorGroups = new[]\n        {\n            new Zpa.Inputs.ServerGroupAppConnectorGroupArgs\n            {\n                Ids = new[]\n                {\n                    exampleConnectorGroup.Id,\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleConnectorGroup,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a App Connector Group\n\t\texampleConnectorGroup, err := zpa.NewConnectorGroup(ctx, \"example\", \u0026zpa.ConnectorGroupArgs{\n\t\t\tName:                   pulumi.String(\"Example\"),\n\t\t\tDescription:            pulumi.String(\"Example\"),\n\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\tCityCountry:            pulumi.String(\"San Jose, CA\"),\n\t\t\tCountryCode:            pulumi.String(\"US\"),\n\t\t\tLatitude:               pulumi.String(\"37.338\"),\n\t\t\tLongitude:              pulumi.String(\"-121.8863\"),\n\t\t\tLocation:               pulumi.String(\"San Jose, CA, US\"),\n\t\t\tUpgradeDay:             pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:      pulumi.String(\"66600\"),\n\t\t\tOverrideVersionProfile: pulumi.Bool(true),\n\t\t\tVersionProfileId:       pulumi.String(\"0\"),\n\t\t\tDnsQueryType:           pulumi.String(\"IPV4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewServerGroup(ctx, \"example\", \u0026zpa.ServerGroupArgs{\n\t\t\tName:             pulumi.String(\"Example\"),\n\t\t\tDescription:      pulumi.String(\"Example\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tDynamicDiscovery: pulumi.Bool(true),\n\t\t\tAppConnectorGroups: zpa.ServerGroupAppConnectorGroupArray{\n\t\t\t\t\u0026zpa.ServerGroupAppConnectorGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\texampleConnectorGroup.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleConnectorGroup,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ConnectorGroup;\nimport com.pulumi.zpa.ConnectorGroupArgs;\nimport com.pulumi.zpa.ServerGroup;\nimport com.pulumi.zpa.ServerGroupArgs;\nimport com.pulumi.zpa.inputs.ServerGroupAppConnectorGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a App Connector Group\n        var exampleConnectorGroup = new ConnectorGroup(\"exampleConnectorGroup\", ConnectorGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .cityCountry(\"San Jose, CA\")\n            .countryCode(\"US\")\n            .latitude(\"37.338\")\n            .longitude(\"-121.8863\")\n            .location(\"San Jose, CA, US\")\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .overrideVersionProfile(true)\n            .versionProfileId(\"0\")\n            .dnsQueryType(\"IPV4\")\n            .build());\n\n        var example = new ServerGroup(\"example\", ServerGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .dynamicDiscovery(true)\n            .appConnectorGroups(ServerGroupAppConnectorGroupArgs.builder()\n                .ids(exampleConnectorGroup.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(exampleConnectorGroup)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: zpa:ServerGroup\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      dynamicDiscovery: true\n      appConnectorGroups:\n        - ids:\n            - ${exampleConnectorGroup.id}\n    options:\n      dependsOn:\n        - ${exampleConnectorGroup}\n  # Create a App Connector Group\n  exampleConnectorGroup:\n    type: zpa:ConnectorGroup\n    name: example\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      cityCountry: San Jose, CA\n      countryCode: US\n      latitude: '37.338'\n      longitude: '-121.8863'\n      location: San Jose, CA, US\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      overrideVersionProfile: true\n      versionProfileId: 0\n      dnsQueryType: IPV4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamic Discovery Disabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Create an application server\nconst exampleApplicationServer = new zpa.ApplicationServer(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    address: \"server.example.com\",\n    enabled: true,\n});\n// Create a App Connector Group\nconst exampleConnectorGroup = new zpa.ConnectorGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    cityCountry: \"San Jose, CA\",\n    countryCode: \"US\",\n    latitude: \"37.338\",\n    longitude: \"-121.8863\",\n    location: \"San Jose, CA, US\",\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    overrideVersionProfile: true,\n    versionProfileId: \"0\",\n    dnsQueryType: \"IPV4\",\n});\nconst example = new zpa.ServerGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    dynamicDiscovery: false,\n    servers: [{\n        ids: [exampleApplicationServer.id],\n    }],\n    appConnectorGroups: [{\n        ids: [exampleConnectorGroup.id],\n    }],\n}, {\n    dependsOn: [\n        exampleConnectorGroup,\n        server,\n    ],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# Create an application server\nexample_application_server = zpa.ApplicationServer(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    address=\"server.example.com\",\n    enabled=True)\n# Create a App Connector Group\nexample_connector_group = zpa.ConnectorGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    city_country=\"San Jose, CA\",\n    country_code=\"US\",\n    latitude=\"37.338\",\n    longitude=\"-121.8863\",\n    location=\"San Jose, CA, US\",\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    override_version_profile=True,\n    version_profile_id=\"0\",\n    dns_query_type=\"IPV4\")\nexample = zpa.ServerGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    dynamic_discovery=False,\n    servers=[{\n        \"ids\": [example_application_server.id],\n    }],\n    app_connector_groups=[{\n        \"ids\": [example_connector_group.id],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[\n            example_connector_group,\n            server,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create an application server\n    var exampleApplicationServer = new Zpa.ApplicationServer(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Address = \"server.example.com\",\n        Enabled = true,\n    });\n\n    // Create a App Connector Group\n    var exampleConnectorGroup = new Zpa.ConnectorGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        CityCountry = \"San Jose, CA\",\n        CountryCode = \"US\",\n        Latitude = \"37.338\",\n        Longitude = \"-121.8863\",\n        Location = \"San Jose, CA, US\",\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        OverrideVersionProfile = true,\n        VersionProfileId = \"0\",\n        DnsQueryType = \"IPV4\",\n    });\n\n    var example = new Zpa.ServerGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        DynamicDiscovery = false,\n        Servers = new[]\n        {\n            new Zpa.Inputs.ServerGroupServerArgs\n            {\n                Ids = new[]\n                {\n                    exampleApplicationServer.Id,\n                },\n            },\n        },\n        AppConnectorGroups = new[]\n        {\n            new Zpa.Inputs.ServerGroupAppConnectorGroupArgs\n            {\n                Ids = new[]\n                {\n                    exampleConnectorGroup.Id,\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            exampleConnectorGroup,\n            server,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create an application server\n\t\texampleApplicationServer, err := zpa.NewApplicationServer(ctx, \"example\", \u0026zpa.ApplicationServerArgs{\n\t\t\tName:        pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tAddress:     pulumi.String(\"server.example.com\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a App Connector Group\n\t\texampleConnectorGroup, err := zpa.NewConnectorGroup(ctx, \"example\", \u0026zpa.ConnectorGroupArgs{\n\t\t\tName:                   pulumi.String(\"Example\"),\n\t\t\tDescription:            pulumi.String(\"Example\"),\n\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\tCityCountry:            pulumi.String(\"San Jose, CA\"),\n\t\t\tCountryCode:            pulumi.String(\"US\"),\n\t\t\tLatitude:               pulumi.String(\"37.338\"),\n\t\t\tLongitude:              pulumi.String(\"-121.8863\"),\n\t\t\tLocation:               pulumi.String(\"San Jose, CA, US\"),\n\t\t\tUpgradeDay:             pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:      pulumi.String(\"66600\"),\n\t\t\tOverrideVersionProfile: pulumi.Bool(true),\n\t\t\tVersionProfileId:       pulumi.String(\"0\"),\n\t\t\tDnsQueryType:           pulumi.String(\"IPV4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewServerGroup(ctx, \"example\", \u0026zpa.ServerGroupArgs{\n\t\t\tName:             pulumi.String(\"Example\"),\n\t\t\tDescription:      pulumi.String(\"Example\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tDynamicDiscovery: pulumi.Bool(false),\n\t\t\tServers: zpa.ServerGroupServerArray{\n\t\t\t\t\u0026zpa.ServerGroupServerArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\texampleApplicationServer.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAppConnectorGroups: zpa.ServerGroupAppConnectorGroupArray{\n\t\t\t\t\u0026zpa.ServerGroupAppConnectorGroupArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\texampleConnectorGroup.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleConnectorGroup,\n\t\t\tserver,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ApplicationServer;\nimport com.pulumi.zpa.ApplicationServerArgs;\nimport com.pulumi.zpa.ConnectorGroup;\nimport com.pulumi.zpa.ConnectorGroupArgs;\nimport com.pulumi.zpa.ServerGroup;\nimport com.pulumi.zpa.ServerGroupArgs;\nimport com.pulumi.zpa.inputs.ServerGroupServerArgs;\nimport com.pulumi.zpa.inputs.ServerGroupAppConnectorGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create an application server\n        var exampleApplicationServer = new ApplicationServer(\"exampleApplicationServer\", ApplicationServerArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .address(\"server.example.com\")\n            .enabled(true)\n            .build());\n\n        // Create a App Connector Group\n        var exampleConnectorGroup = new ConnectorGroup(\"exampleConnectorGroup\", ConnectorGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .cityCountry(\"San Jose, CA\")\n            .countryCode(\"US\")\n            .latitude(\"37.338\")\n            .longitude(\"-121.8863\")\n            .location(\"San Jose, CA, US\")\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .overrideVersionProfile(true)\n            .versionProfileId(\"0\")\n            .dnsQueryType(\"IPV4\")\n            .build());\n\n        var example = new ServerGroup(\"example\", ServerGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .dynamicDiscovery(false)\n            .servers(ServerGroupServerArgs.builder()\n                .ids(exampleApplicationServer.id())\n                .build())\n            .appConnectorGroups(ServerGroupAppConnectorGroupArgs.builder()\n                .ids(exampleConnectorGroup.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    exampleConnectorGroup,\n                    server)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: zpa:ServerGroup\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      dynamicDiscovery: false\n      servers:\n        - ids:\n            - ${exampleApplicationServer.id}\n      appConnectorGroups:\n        - ids:\n            - ${exampleConnectorGroup.id}\n    options:\n      dependsOn:\n        - ${exampleConnectorGroup}\n        - ${server}\n  # Create an application server\n  exampleApplicationServer:\n    type: zpa:ApplicationServer\n    name: example\n    properties:\n      name: Example\n      description: Example\n      address: server.example.com\n      enabled: true\n  # Create a App Connector Group\n  exampleConnectorGroup:\n    type: zpa:ConnectorGroup\n    name: example\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      cityCountry: San Jose, CA\n      countryCode: US\n      latitude: '37.338'\n      longitude: '-121.8863'\n      location: San Jose, CA, US\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      overrideVersionProfile: true\n      versionProfileId: 0\n      dnsQueryType: IPV4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Extranet Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getLocationController({\n    name: \"ExtranetLocation01 | zscalerbeta.net\",\n    ziaErName: \"NewExtranet 8432\",\n});\nconst thisGetLocationGroupController = zpa.getLocationGroupController({\n    locationName: \"ExtranetLocation01\",\n    ziaErName: \"NewExtranet 8432\",\n});\nconst thisGetExtranetResourcePartner = zpa.getExtranetResourcePartner({\n    name: \"NewExtranet 8432\",\n});\nconst example = new zpa.ServerGroup(\"example\", {\n    name: \"Example\",\n    description: \"Example\",\n    enabled: true,\n    dynamicDiscovery: true,\n    extranetEnabled: true,\n    extranetDtos: [{\n        zpnErId: thisGetExtranetResourcePartner.then(thisGetExtranetResourcePartner =\u003e thisGetExtranetResourcePartner.id),\n        locationDtos: [{\n            id: _this.then(_this =\u003e _this.id),\n        }],\n        locationGroupDtos: [{\n            id: thisGetLocationGroupController.then(thisGetLocationGroupController =\u003e thisGetLocationGroupController.id),\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_location_controller(name=\"ExtranetLocation01 | zscalerbeta.net\",\n    zia_er_name=\"NewExtranet 8432\")\nthis_get_location_group_controller = zpa.get_location_group_controller(location_name=\"ExtranetLocation01\",\n    zia_er_name=\"NewExtranet 8432\")\nthis_get_extranet_resource_partner = zpa.get_extranet_resource_partner(name=\"NewExtranet 8432\")\nexample = zpa.ServerGroup(\"example\",\n    name=\"Example\",\n    description=\"Example\",\n    enabled=True,\n    dynamic_discovery=True,\n    extranet_enabled=True,\n    extranet_dtos=[{\n        \"zpn_er_id\": this_get_extranet_resource_partner.id,\n        \"location_dtos\": [{\n            \"id\": this.id,\n        }],\n        \"location_group_dtos\": [{\n            \"id\": this_get_location_group_controller.id,\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetLocationController.Invoke(new()\n    {\n        Name = \"ExtranetLocation01 | zscalerbeta.net\",\n        ZiaErName = \"NewExtranet 8432\",\n    });\n\n    var thisGetLocationGroupController = Zpa.GetLocationGroupController.Invoke(new()\n    {\n        LocationName = \"ExtranetLocation01\",\n        ZiaErName = \"NewExtranet 8432\",\n    });\n\n    var thisGetExtranetResourcePartner = Zpa.GetExtranetResourcePartner.Invoke(new()\n    {\n        Name = \"NewExtranet 8432\",\n    });\n\n    var example = new Zpa.ServerGroup(\"example\", new()\n    {\n        Name = \"Example\",\n        Description = \"Example\",\n        Enabled = true,\n        DynamicDiscovery = true,\n        ExtranetEnabled = true,\n        ExtranetDtos = new[]\n        {\n            new Zpa.Inputs.ServerGroupExtranetDtoArgs\n            {\n                ZpnErId = thisGetExtranetResourcePartner.Apply(getExtranetResourcePartnerResult =\u003e getExtranetResourcePartnerResult.Id),\n                LocationDtos = new[]\n                {\n                    new Zpa.Inputs.ServerGroupExtranetDtoLocationDtoArgs\n                    {\n                        Id = @this.Apply(@this =\u003e @this.Apply(getLocationControllerResult =\u003e getLocationControllerResult.Id)),\n                    },\n                },\n                LocationGroupDtos = new[]\n                {\n                    new Zpa.Inputs.ServerGroupExtranetDtoLocationGroupDtoArgs\n                    {\n                        Id = thisGetLocationGroupController.Apply(getLocationGroupControllerResult =\u003e getLocationGroupControllerResult.Id),\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetLocationController(ctx, \u0026zpa.GetLocationControllerArgs{\n\t\t\tName:      \"ExtranetLocation01 | zscalerbeta.net\",\n\t\t\tZiaErName: \"NewExtranet 8432\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetLocationGroupController, err := zpa.GetLocationGroupController(ctx, \u0026zpa.GetLocationGroupControllerArgs{\n\t\t\tLocationName: \"ExtranetLocation01\",\n\t\t\tZiaErName:    \"NewExtranet 8432\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetExtranetResourcePartner, err := zpa.GetExtranetResourcePartner(ctx, \u0026zpa.GetExtranetResourcePartnerArgs{\n\t\t\tName: pulumi.StringRef(\"NewExtranet 8432\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewServerGroup(ctx, \"example\", \u0026zpa.ServerGroupArgs{\n\t\t\tName:             pulumi.String(\"Example\"),\n\t\t\tDescription:      pulumi.String(\"Example\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tDynamicDiscovery: pulumi.Bool(true),\n\t\t\tExtranetEnabled:  pulumi.Bool(true),\n\t\t\tExtranetDtos: zpa.ServerGroupExtranetDtoArray{\n\t\t\t\t\u0026zpa.ServerGroupExtranetDtoArgs{\n\t\t\t\t\tZpnErId: pulumi.String(thisGetExtranetResourcePartner.Id),\n\t\t\t\t\tLocationDtos: zpa.ServerGroupExtranetDtoLocationDtoArray{\n\t\t\t\t\t\t\u0026zpa.ServerGroupExtranetDtoLocationDtoArgs{\n\t\t\t\t\t\t\tId: pulumi.String(this.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tLocationGroupDtos: zpa.ServerGroupExtranetDtoLocationGroupDtoArray{\n\t\t\t\t\t\t\u0026zpa.ServerGroupExtranetDtoLocationGroupDtoArgs{\n\t\t\t\t\t\t\tId: pulumi.String(thisGetLocationGroupController.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLocationControllerArgs;\nimport com.pulumi.zpa.inputs.GetLocationGroupControllerArgs;\nimport com.pulumi.zpa.inputs.GetExtranetResourcePartnerArgs;\nimport com.pulumi.zpa.ServerGroup;\nimport com.pulumi.zpa.ServerGroupArgs;\nimport com.pulumi.zpa.inputs.ServerGroupExtranetDtoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getLocationController(GetLocationControllerArgs.builder()\n            .name(\"ExtranetLocation01 | zscalerbeta.net\")\n            .ziaErName(\"NewExtranet 8432\")\n            .build());\n\n        final var thisGetLocationGroupController = ZpaFunctions.getLocationGroupController(GetLocationGroupControllerArgs.builder()\n            .locationName(\"ExtranetLocation01\")\n            .ziaErName(\"NewExtranet 8432\")\n            .build());\n\n        final var thisGetExtranetResourcePartner = ZpaFunctions.getExtranetResourcePartner(GetExtranetResourcePartnerArgs.builder()\n            .name(\"NewExtranet 8432\")\n            .build());\n\n        var example = new ServerGroup(\"example\", ServerGroupArgs.builder()\n            .name(\"Example\")\n            .description(\"Example\")\n            .enabled(true)\n            .dynamicDiscovery(true)\n            .extranetEnabled(true)\n            .extranetDtos(ServerGroupExtranetDtoArgs.builder()\n                .zpnErId(thisGetExtranetResourcePartner.id())\n                .locationDtos(ServerGroupExtranetDtoLocationDtoArgs.builder()\n                    .id(this_.id())\n                    .build())\n                .locationGroupDtos(ServerGroupExtranetDtoLocationGroupDtoArgs.builder()\n                    .id(thisGetLocationGroupController.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: zpa:ServerGroup\n    properties:\n      name: Example\n      description: Example\n      enabled: true\n      dynamicDiscovery: true\n      extranetEnabled: true\n      extranetDtos:\n        - zpnErId: ${thisGetExtranetResourcePartner.id}\n          locationDtos:\n            - id: ${this.id}\n          locationGroupDtos:\n            - id: ${thisGetLocationGroupController.id}\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getLocationController\n      arguments:\n        name: ExtranetLocation01 | zscalerbeta.net\n        ziaErName: NewExtranet 8432\n  thisGetLocationGroupController:\n    fn::invoke:\n      function: zpa:getLocationGroupController\n      arguments:\n        locationName: ExtranetLocation01\n        ziaErName: NewExtranet 8432\n  thisGetExtranetResourcePartner:\n    fn::invoke:\n      function: zpa:getExtranetResourcePartner\n      arguments:\n        name: NewExtranet 8432\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nServer Groups can be imported; use `\u003cSERVER GROUP ID\u003e` or `\u003cSERVER GROUP NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/serverGroup:ServerGroup example \u003cserver_group_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/serverGroup:ServerGroup example \u003cserver_group_name\u003e\n```\n\n","properties":{"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupAppConnectorGroup:ServerGroupAppConnectorGroup"}},"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupApplication:ServerGroupApplication"},"description":"This field is a json array of app-connector-id only."},"configSpace":{"type":"string"},"description":{"type":"string","description":"This field is the description of the server group."},"dynamicDiscovery":{"type":"boolean","description":"This field controls dynamic discovery of the servers."},"enabled":{"type":"boolean","description":"This field defines if the server group is enabled or disabled."},"extranetDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupExtranetDto:ServerGroupExtranetDto"},"description":"Extranet configuration for the policy rule."},"extranetEnabled":{"type":"boolean","description":"Enable extranet for this policy rule."},"ipAnchored":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This field defines the name of the server group."},"servers":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupServer:ServerGroupServer"},"description":"This field is a list of servers that are applicable only when dynamic discovery is disabled. Server name is required only in cases where the new servers need to be created in this API. For existing servers, pass only the serverId."}},"required":["applications","microtenantId","name"],"inputProperties":{"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupAppConnectorGroup:ServerGroupAppConnectorGroup"}},"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupApplication:ServerGroupApplication"},"description":"This field is a json array of app-connector-id only."},"configSpace":{"type":"string"},"description":{"type":"string","description":"This field is the description of the server group."},"dynamicDiscovery":{"type":"boolean","description":"This field controls dynamic discovery of the servers."},"enabled":{"type":"boolean","description":"This field defines if the server group is enabled or disabled."},"extranetDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupExtranetDto:ServerGroupExtranetDto"},"description":"Extranet configuration for the policy rule."},"extranetEnabled":{"type":"boolean","description":"Enable extranet for this policy rule."},"ipAnchored":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This field defines the name of the server group."},"servers":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupServer:ServerGroupServer"},"description":"This field is a list of servers that are applicable only when dynamic discovery is disabled. Server name is required only in cases where the new servers need to be created in this API. For existing servers, pass only the serverId."}},"stateInputs":{"description":"Input properties used for looking up and filtering ServerGroup resources.\n","properties":{"appConnectorGroups":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupAppConnectorGroup:ServerGroupAppConnectorGroup"}},"applications":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupApplication:ServerGroupApplication"},"description":"This field is a json array of app-connector-id only."},"configSpace":{"type":"string"},"description":{"type":"string","description":"This field is the description of the server group."},"dynamicDiscovery":{"type":"boolean","description":"This field controls dynamic discovery of the servers."},"enabled":{"type":"boolean","description":"This field defines if the server group is enabled or disabled."},"extranetDtos":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupExtranetDto:ServerGroupExtranetDto"},"description":"Extranet configuration for the policy rule."},"extranetEnabled":{"type":"boolean","description":"Enable extranet for this policy rule."},"ipAnchored":{"type":"boolean"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"This field defines the name of the server group."},"servers":{"type":"array","items":{"$ref":"#/types/zpa:index/ServerGroupServer:ServerGroupServer"},"description":"This field is a list of servers that are applicable only when dynamic discovery is disabled. Server name is required only in cases where the new servers need to be created in this API. For existing servers, pass only the serverId."}},"type":"object"}},"zpa:index/serviceEdgeAssistantSchedule:ServiceEdgeAssistantSchedule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/configuring-app-connectors-settings)\n* [API documentation](https://help.zscaler.com/zpa/configuring-auto-delete-disconnected-app-connectors-using-api)\n\nUse the **zpa_service_edge_assistant_schedule** resource sets the scheduled frequency at which the disconnected Service Edges are eligible for deletion. The supported value for frequency is days. The frequencyInterval field is the number of days after an Service Edge disconnects for it to become eligible for deletion. The minimum supported value for frequencyInterval is 5.\n\n\u003e **NOTE** - When enabling the Assistant Schedule for the first time, you must provide the \u003cspan pulumi-lang-nodejs=\"`customerId`\" pulumi-lang-dotnet=\"`CustomerId`\" pulumi-lang-go=\"`customerId`\" pulumi-lang-python=\"`customer_id`\" pulumi-lang-yaml=\"`customerId`\" pulumi-lang-java=\"`customerId`\"\u003e`customer_id`\u003c/span\u003e information. If you authenticated using environment variables and used `ZPA_CUSTOMER_ID` environment variable, you don't have to define the\u003cspan pulumi-lang-nodejs=\" customerId \" pulumi-lang-dotnet=\" CustomerId \" pulumi-lang-go=\" customerId \" pulumi-lang-python=\" customer_id \" pulumi-lang-yaml=\" customerId \" pulumi-lang-java=\" customerId \"\u003e customer_id \u003c/span\u003eattribute in the HCL configuration, and the provider will automatically use the value from the environment variable `ZPA_CUSTOMER_ID`\n\n## Example Usage\n\n### Defined Customer ID Value\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.ServiceEdgeAssistantSchedule(\"this\", {\n    customerId: \"123456789101112\",\n    frequency: \"days\",\n    frequencyInterval: \"5\",\n    enabled: true,\n    deleteDisabled: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.ServiceEdgeAssistantSchedule(\"this\",\n    customer_id=\"123456789101112\",\n    frequency=\"days\",\n    frequency_interval=\"5\",\n    enabled=True,\n    delete_disabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.ServiceEdgeAssistantSchedule(\"this\", new()\n    {\n        CustomerId = \"123456789101112\",\n        Frequency = \"days\",\n        FrequencyInterval = \"5\",\n        Enabled = true,\n        DeleteDisabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewServiceEdgeAssistantSchedule(ctx, \"this\", \u0026zpa.ServiceEdgeAssistantScheduleArgs{\n\t\t\tCustomerId:        pulumi.String(\"123456789101112\"),\n\t\t\tFrequency:         pulumi.String(\"days\"),\n\t\t\tFrequencyInterval: pulumi.String(\"5\"),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tDeleteDisabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ServiceEdgeAssistantSchedule;\nimport com.pulumi.zpa.ServiceEdgeAssistantScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new ServiceEdgeAssistantSchedule(\"this\", ServiceEdgeAssistantScheduleArgs.builder()\n            .customerId(\"123456789101112\")\n            .frequency(\"days\")\n            .frequencyInterval(\"5\")\n            .enabled(true)\n            .deleteDisabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:ServiceEdgeAssistantSchedule\n    properties:\n      customerId: '123456789101112'\n      frequency: days\n      frequencyInterval: '5'\n      enabled: true\n      deleteDisabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Customer ID Via Environment Variable\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.ServiceEdgeAssistantSchedule(\"this\", {\n    frequency: \"days\",\n    frequencyInterval: \"5\",\n    enabled: true,\n    deleteDisabled: true,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.ServiceEdgeAssistantSchedule(\"this\",\n    frequency=\"days\",\n    frequency_interval=\"5\",\n    enabled=True,\n    delete_disabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.ServiceEdgeAssistantSchedule(\"this\", new()\n    {\n        Frequency = \"days\",\n        FrequencyInterval = \"5\",\n        Enabled = true,\n        DeleteDisabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewServiceEdgeAssistantSchedule(ctx, \"this\", \u0026zpa.ServiceEdgeAssistantScheduleArgs{\n\t\t\tFrequency:         pulumi.String(\"days\"),\n\t\t\tFrequencyInterval: pulumi.String(\"5\"),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tDeleteDisabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ServiceEdgeAssistantSchedule;\nimport com.pulumi.zpa.ServiceEdgeAssistantScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new ServiceEdgeAssistantSchedule(\"this\", ServiceEdgeAssistantScheduleArgs.builder()\n            .frequency(\"days\")\n            .frequencyInterval(\"5\")\n            .enabled(true)\n            .deleteDisabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:ServiceEdgeAssistantSchedule\n    properties:\n      frequency: days\n      frequencyInterval: '5'\n      enabled: true\n      deleteDisabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport is not currently supported for this resource.\n\n","properties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"}},"required":["customerId"],"inputProperties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering ServiceEdgeAssistantSchedule resources.\n","properties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"}},"type":"object"}},"zpa:index/serviceEdgeGroup:ServiceEdgeGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-zpa-private-service-edge-groups)\n* [API documentation](https://help.zscaler.com/zpa/configuring-zpa-private-service-edge-groups-using-api)\n\nThe **zpa_service_edge_group** resource creates a service edge group in the Zscaler Private Access cloud. This resource can then be referenced in a service edge connector.\n\n## Example Usage\n\n### Using Version Profile Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Service Edge Group resource - Trusted Network\nconst serviceEdgeGroupSjc = new zpa.ServiceEdgeGroup(\"service_edge_group_sjc\", {\n    name: \"Service Edge Group San Jose\",\n    description: \"Service Edge Group in San Jose\",\n    enabled: true,\n    isPublic: true,\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    latitude: \"37.3382082\",\n    longitude: \"-121.8863286\",\n    location: \"San Jose, CA, USA\",\n    versionProfileName: \"New Release\",\n    trustedNetworks: [{\n        ids: [example.id],\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Service Edge Group resource - Trusted Network\nservice_edge_group_sjc = zpa.ServiceEdgeGroup(\"service_edge_group_sjc\",\n    name=\"Service Edge Group San Jose\",\n    description=\"Service Edge Group in San Jose\",\n    enabled=True,\n    is_public=True,\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    latitude=\"37.3382082\",\n    longitude=\"-121.8863286\",\n    location=\"San Jose, CA, USA\",\n    version_profile_name=\"New Release\",\n    trusted_networks=[{\n        \"ids\": [example[\"id\"]],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Service Edge Group resource - Trusted Network\n    var serviceEdgeGroupSjc = new Zpa.ServiceEdgeGroup(\"service_edge_group_sjc\", new()\n    {\n        Name = \"Service Edge Group San Jose\",\n        Description = \"Service Edge Group in San Jose\",\n        Enabled = true,\n        IsPublic = true,\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        Latitude = \"37.3382082\",\n        Longitude = \"-121.8863286\",\n        Location = \"San Jose, CA, USA\",\n        VersionProfileName = \"New Release\",\n        TrustedNetworks = new[]\n        {\n            new Zpa.Inputs.ServiceEdgeGroupTrustedNetworkArgs\n            {\n                Ids = new[]\n                {\n                    example.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Service Edge Group resource - Trusted Network\n\t\t_, err := zpa.NewServiceEdgeGroup(ctx, \"service_edge_group_sjc\", \u0026zpa.ServiceEdgeGroupArgs{\n\t\t\tName:               pulumi.String(\"Service Edge Group San Jose\"),\n\t\t\tDescription:        pulumi.String(\"Service Edge Group in San Jose\"),\n\t\t\tEnabled:            pulumi.Bool(true),\n\t\t\tIsPublic:           pulumi.Bool(true),\n\t\t\tUpgradeDay:         pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:  pulumi.String(\"66600\"),\n\t\t\tLatitude:           pulumi.String(\"37.3382082\"),\n\t\t\tLongitude:          pulumi.String(\"-121.8863286\"),\n\t\t\tLocation:           pulumi.String(\"San Jose, CA, USA\"),\n\t\t\tVersionProfileName: pulumi.String(\"New Release\"),\n\t\t\tTrustedNetworks: zpa.ServiceEdgeGroupTrustedNetworkArray{\n\t\t\t\t\u0026zpa.ServiceEdgeGroupTrustedNetworkArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\texample.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ServiceEdgeGroup;\nimport com.pulumi.zpa.ServiceEdgeGroupArgs;\nimport com.pulumi.zpa.inputs.ServiceEdgeGroupTrustedNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Service Edge Group resource - Trusted Network\n        var serviceEdgeGroupSjc = new ServiceEdgeGroup(\"serviceEdgeGroupSjc\", ServiceEdgeGroupArgs.builder()\n            .name(\"Service Edge Group San Jose\")\n            .description(\"Service Edge Group in San Jose\")\n            .enabled(true)\n            .isPublic(true)\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .latitude(\"37.3382082\")\n            .longitude(\"-121.8863286\")\n            .location(\"San Jose, CA, USA\")\n            .versionProfileName(\"New Release\")\n            .trustedNetworks(ServiceEdgeGroupTrustedNetworkArgs.builder()\n                .ids(example.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Service Edge Group resource - Trusted Network\n  serviceEdgeGroupSjc:\n    type: zpa:ServiceEdgeGroup\n    name: service_edge_group_sjc\n    properties:\n      name: Service Edge Group San Jose\n      description: Service Edge Group in San Jose\n      enabled: true\n      isPublic: true\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      latitude: '37.3382082'\n      longitude: '-121.8863286'\n      location: San Jose, CA, USA\n      versionProfileName: New Release\n      trustedNetworks:\n        - ids:\n            - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Service Edge Group resource - No Trusted Network\nconst serviceEdgeGroupNyc = new zpa.ServiceEdgeGroup(\"service_edge_group_nyc\", {\n    name: \"Service Edge Group New York\",\n    description: \"Service Edge Group in New York\",\n    enabled: true,\n    isPublic: true,\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    latitude: \"40.7128\",\n    longitude: \"-73.935242\",\n    location: \"New York, NY, USA\",\n    versionProfileId: _this.id,\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Service Edge Group resource - No Trusted Network\nservice_edge_group_nyc = zpa.ServiceEdgeGroup(\"service_edge_group_nyc\",\n    name=\"Service Edge Group New York\",\n    description=\"Service Edge Group in New York\",\n    enabled=True,\n    is_public=True,\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    latitude=\"40.7128\",\n    longitude=\"-73.935242\",\n    location=\"New York, NY, USA\",\n    version_profile_id=this[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Service Edge Group resource - No Trusted Network\n    var serviceEdgeGroupNyc = new Zpa.ServiceEdgeGroup(\"service_edge_group_nyc\", new()\n    {\n        Name = \"Service Edge Group New York\",\n        Description = \"Service Edge Group in New York\",\n        Enabled = true,\n        IsPublic = true,\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        Latitude = \"40.7128\",\n        Longitude = \"-73.935242\",\n        Location = \"New York, NY, USA\",\n        VersionProfileId = @this.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Service Edge Group resource - No Trusted Network\n\t\t_, err := zpa.NewServiceEdgeGroup(ctx, \"service_edge_group_nyc\", \u0026zpa.ServiceEdgeGroupArgs{\n\t\t\tName:              pulumi.String(\"Service Edge Group New York\"),\n\t\t\tDescription:       pulumi.String(\"Service Edge Group in New York\"),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tIsPublic:          pulumi.Bool(true),\n\t\t\tUpgradeDay:        pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs: pulumi.String(\"66600\"),\n\t\t\tLatitude:          pulumi.String(\"40.7128\"),\n\t\t\tLongitude:         pulumi.String(\"-73.935242\"),\n\t\t\tLocation:          pulumi.String(\"New York, NY, USA\"),\n\t\t\tVersionProfileId:  pulumi.Any(this.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ServiceEdgeGroup;\nimport com.pulumi.zpa.ServiceEdgeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Service Edge Group resource - No Trusted Network\n        var serviceEdgeGroupNyc = new ServiceEdgeGroup(\"serviceEdgeGroupNyc\", ServiceEdgeGroupArgs.builder()\n            .name(\"Service Edge Group New York\")\n            .description(\"Service Edge Group in New York\")\n            .enabled(true)\n            .isPublic(true)\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .latitude(\"40.7128\")\n            .longitude(\"-73.935242\")\n            .location(\"New York, NY, USA\")\n            .versionProfileId(this_.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Service Edge Group resource - No Trusted Network\n  serviceEdgeGroupNyc:\n    type: zpa:ServiceEdgeGroup\n    name: service_edge_group_nyc\n    properties:\n      name: Service Edge Group New York\n      description: Service Edge Group in New York\n      enabled: true\n      isPublic: true\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      latitude: '40.7128'\n      longitude: '-73.935242'\n      location: New York, NY, USA\n      versionProfileId: ${this.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Version Profile ID\n\ndata \u003cspan pulumi-lang-nodejs=\"\"zpa.getCustomerVersionProfile\"\" pulumi-lang-dotnet=\"\"zpa.getCustomerVersionProfile\"\" pulumi-lang-go=\"\"getCustomerVersionProfile\"\" pulumi-lang-python=\"\"get_customer_version_profile\"\" pulumi-lang-yaml=\"\"zpa.getCustomerVersionProfile\"\" pulumi-lang-java=\"\"zpa.getCustomerVersionProfile\"\"\u003e\"zpa.getCustomerVersionProfile\"\u003c/span\u003e \"this\" {\n  name = \"New Release\"\n}\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Service Edge Group resource - Trusted Network\nconst serviceEdgeGroupSjc = new zpa.ServiceEdgeGroup(\"service_edge_group_sjc\", {\n    name: \"Service Edge Group San Jose\",\n    description: \"Service Edge Group in San Jose\",\n    enabled: true,\n    isPublic: true,\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    latitude: \"37.3382082\",\n    longitude: \"-121.8863286\",\n    location: \"San Jose, CA, USA\",\n    versionProfileName: \"New Release\",\n    trustedNetworks: [{\n        ids: [example.id],\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Service Edge Group resource - Trusted Network\nservice_edge_group_sjc = zpa.ServiceEdgeGroup(\"service_edge_group_sjc\",\n    name=\"Service Edge Group San Jose\",\n    description=\"Service Edge Group in San Jose\",\n    enabled=True,\n    is_public=True,\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    latitude=\"37.3382082\",\n    longitude=\"-121.8863286\",\n    location=\"San Jose, CA, USA\",\n    version_profile_name=\"New Release\",\n    trusted_networks=[{\n        \"ids\": [example[\"id\"]],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Service Edge Group resource - Trusted Network\n    var serviceEdgeGroupSjc = new Zpa.ServiceEdgeGroup(\"service_edge_group_sjc\", new()\n    {\n        Name = \"Service Edge Group San Jose\",\n        Description = \"Service Edge Group in San Jose\",\n        Enabled = true,\n        IsPublic = true,\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        Latitude = \"37.3382082\",\n        Longitude = \"-121.8863286\",\n        Location = \"San Jose, CA, USA\",\n        VersionProfileName = \"New Release\",\n        TrustedNetworks = new[]\n        {\n            new Zpa.Inputs.ServiceEdgeGroupTrustedNetworkArgs\n            {\n                Ids = new[]\n                {\n                    example.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Service Edge Group resource - Trusted Network\n\t\t_, err := zpa.NewServiceEdgeGroup(ctx, \"service_edge_group_sjc\", \u0026zpa.ServiceEdgeGroupArgs{\n\t\t\tName:               pulumi.String(\"Service Edge Group San Jose\"),\n\t\t\tDescription:        pulumi.String(\"Service Edge Group in San Jose\"),\n\t\t\tEnabled:            pulumi.Bool(true),\n\t\t\tIsPublic:           pulumi.Bool(true),\n\t\t\tUpgradeDay:         pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:  pulumi.String(\"66600\"),\n\t\t\tLatitude:           pulumi.String(\"37.3382082\"),\n\t\t\tLongitude:          pulumi.String(\"-121.8863286\"),\n\t\t\tLocation:           pulumi.String(\"San Jose, CA, USA\"),\n\t\t\tVersionProfileName: pulumi.String(\"New Release\"),\n\t\t\tTrustedNetworks: zpa.ServiceEdgeGroupTrustedNetworkArray{\n\t\t\t\t\u0026zpa.ServiceEdgeGroupTrustedNetworkArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\texample.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ServiceEdgeGroup;\nimport com.pulumi.zpa.ServiceEdgeGroupArgs;\nimport com.pulumi.zpa.inputs.ServiceEdgeGroupTrustedNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Service Edge Group resource - Trusted Network\n        var serviceEdgeGroupSjc = new ServiceEdgeGroup(\"serviceEdgeGroupSjc\", ServiceEdgeGroupArgs.builder()\n            .name(\"Service Edge Group San Jose\")\n            .description(\"Service Edge Group in San Jose\")\n            .enabled(true)\n            .isPublic(true)\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .latitude(\"37.3382082\")\n            .longitude(\"-121.8863286\")\n            .location(\"San Jose, CA, USA\")\n            .versionProfileName(\"New Release\")\n            .trustedNetworks(ServiceEdgeGroupTrustedNetworkArgs.builder()\n                .ids(example.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Service Edge Group resource - Trusted Network\n  serviceEdgeGroupSjc:\n    type: zpa:ServiceEdgeGroup\n    name: service_edge_group_sjc\n    properties:\n      name: Service Edge Group San Jose\n      description: Service Edge Group in San Jose\n      enabled: true\n      isPublic: true\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      latitude: '37.3382082'\n      longitude: '-121.8863286'\n      location: San Jose, CA, USA\n      versionProfileName: New Release\n      trustedNetworks:\n        - ids:\n            - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Service Edge Group resource - No Trusted Network\nconst serviceEdgeGroupNyc = new zpa.ServiceEdgeGroup(\"service_edge_group_nyc\", {\n    name: \"Service Edge Group New York\",\n    description: \"Service Edge Group in New York\",\n    enabled: true,\n    isPublic: true,\n    upgradeDay: \"SUNDAY\",\n    upgradeTimeInSecs: \"66600\",\n    latitude: \"40.7128\",\n    longitude: \"-73.935242\",\n    location: \"New York, NY, USA\",\n    versionProfileName: \"New Release\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n# ZPA Service Edge Group resource - No Trusted Network\nservice_edge_group_nyc = zpa.ServiceEdgeGroup(\"service_edge_group_nyc\",\n    name=\"Service Edge Group New York\",\n    description=\"Service Edge Group in New York\",\n    enabled=True,\n    is_public=True,\n    upgrade_day=\"SUNDAY\",\n    upgrade_time_in_secs=\"66600\",\n    latitude=\"40.7128\",\n    longitude=\"-73.935242\",\n    location=\"New York, NY, USA\",\n    version_profile_name=\"New Release\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Service Edge Group resource - No Trusted Network\n    var serviceEdgeGroupNyc = new Zpa.ServiceEdgeGroup(\"service_edge_group_nyc\", new()\n    {\n        Name = \"Service Edge Group New York\",\n        Description = \"Service Edge Group in New York\",\n        Enabled = true,\n        IsPublic = true,\n        UpgradeDay = \"SUNDAY\",\n        UpgradeTimeInSecs = \"66600\",\n        Latitude = \"40.7128\",\n        Longitude = \"-73.935242\",\n        Location = \"New York, NY, USA\",\n        VersionProfileName = \"New Release\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Service Edge Group resource - No Trusted Network\n\t\t_, err := zpa.NewServiceEdgeGroup(ctx, \"service_edge_group_nyc\", \u0026zpa.ServiceEdgeGroupArgs{\n\t\t\tName:               pulumi.String(\"Service Edge Group New York\"),\n\t\t\tDescription:        pulumi.String(\"Service Edge Group in New York\"),\n\t\t\tEnabled:            pulumi.Bool(true),\n\t\t\tIsPublic:           pulumi.Bool(true),\n\t\t\tUpgradeDay:         pulumi.String(\"SUNDAY\"),\n\t\t\tUpgradeTimeInSecs:  pulumi.String(\"66600\"),\n\t\t\tLatitude:           pulumi.String(\"40.7128\"),\n\t\t\tLongitude:          pulumi.String(\"-73.935242\"),\n\t\t\tLocation:           pulumi.String(\"New York, NY, USA\"),\n\t\t\tVersionProfileName: pulumi.String(\"New Release\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ServiceEdgeGroup;\nimport com.pulumi.zpa.ServiceEdgeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Service Edge Group resource - No Trusted Network\n        var serviceEdgeGroupNyc = new ServiceEdgeGroup(\"serviceEdgeGroupNyc\", ServiceEdgeGroupArgs.builder()\n            .name(\"Service Edge Group New York\")\n            .description(\"Service Edge Group in New York\")\n            .enabled(true)\n            .isPublic(true)\n            .upgradeDay(\"SUNDAY\")\n            .upgradeTimeInSecs(\"66600\")\n            .latitude(\"40.7128\")\n            .longitude(\"-73.935242\")\n            .location(\"New York, NY, USA\")\n            .versionProfileName(\"New Release\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ZPA Service Edge Group resource - No Trusted Network\n  serviceEdgeGroupNyc:\n    type: zpa:ServiceEdgeGroup\n    name: service_edge_group_nyc\n    properties:\n      name: Service Edge Group New York\n      description: Service Edge Group in New York\n      enabled: true\n      isPublic: true\n      upgradeDay: SUNDAY\n      upgradeTimeInSecs: '66600'\n      latitude: '40.7128'\n      longitude: '-73.935242'\n      location: New York, NY, USA\n      versionProfileName: New Release\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\nService Edge Group can be imported; use `\u003cSERVER EDGE GROUP ID\u003e` or `\u003cSERVER EDGE GROUP NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/serviceEdgeGroup:ServiceEdgeGroup example \u003cservice_edge_group_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/serviceEdgeGroup:ServiceEdgeGroup example \u003cservice_edge_group_name\u003e\n```\n\n","properties":{"city":{"type":"string","description":"City for the Service Edge Group."},"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string","description":"Description of the Service Edge Group."},"enabled":{"type":"boolean","description":"Whether this Service Edge Group is enabled or not."},"exclusiveForBusinessContinuity":{"type":"boolean","description":"Indicates whether the Service Edge Group is exclusive for business continuity."},"graceDistanceEnabled":{"type":"boolean","description":"If enabled, allows ZPA Private Service Edge Groups within the specified distance to be prioritized over a closer ZPA Public Service Edge."},"graceDistanceValue":{"type":"string","description":"Indicates the maximum distance in miles or kilometers to ZPA Private Service Edge groups that would override a ZPA Public Service Edge"},"graceDistanceValueUnit":{"type":"string","description":"Indicates the grace distance unit of measure in miles or kilometers. This value is only required if\u003cspan pulumi-lang-nodejs=\" graceDistanceValue \" pulumi-lang-dotnet=\" GraceDistanceValue \" pulumi-lang-go=\" graceDistanceValue \" pulumi-lang-python=\" grace_distance_value \" pulumi-lang-yaml=\" graceDistanceValue \" pulumi-lang-java=\" graceDistanceValue \"\u003e grace_distance_value \u003c/span\u003eis set to true"},"isPublic":{"type":"boolean","description":"Enable or disable public access for the Service Edge Group."},"latitude":{"type":"string","description":"Latitude for the Service Edge Group."},"location":{"type":"string","description":"Location for the Service Edge Group."},"longitude":{"type":"string","description":"Longitude for the Service Edge Group."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the Service Edge Group."},"overrideVersionProfile":{"type":"boolean","description":"Whether the default version profile of the App Connector Group is applied or overridden."},"serviceEdges":{"$ref":"#/types/zpa:index/ServiceEdgeGroupServiceEdges:ServiceEdgeGroupServiceEdges","description":"WARNING: Service edge membership is managed externally. Specifying this field will enforce exact membership matching.This field will be deprecated in future versions"},"trustedNetworks":{"type":"array","items":{"$ref":"#/types/zpa:index/ServiceEdgeGroupTrustedNetwork:ServiceEdgeGroupTrustedNetwork"},"description":"List of trusted network IDs."},"upgradeDay":{"type":"string","description":"Service Edges in this group will attempt to update to a newer version of the software during this specified day."},"upgradeTimeInSecs":{"type":"string","description":"Service Edges in this group will attempt to update to a newer version of the software during this specified time."},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string","description":"ID of the version profile."},"versionProfileName":{"type":"string","description":"Name of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"versionProfileVisibilityScope":{"type":"string","description":"ID of the version profile."}},"required":["countryCode","graceDistanceEnabled","graceDistanceValue","graceDistanceValueUnit","latitude","location","longitude","microtenantId","name","serviceEdges","useInDrMode","versionProfileId","versionProfileName","versionProfileVisibilityScope"],"inputProperties":{"city":{"type":"string","description":"City for the Service Edge Group."},"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string","description":"Description of the Service Edge Group."},"enabled":{"type":"boolean","description":"Whether this Service Edge Group is enabled or not."},"exclusiveForBusinessContinuity":{"type":"boolean","description":"Indicates whether the Service Edge Group is exclusive for business continuity."},"graceDistanceEnabled":{"type":"boolean","description":"If enabled, allows ZPA Private Service Edge Groups within the specified distance to be prioritized over a closer ZPA Public Service Edge."},"graceDistanceValue":{"type":"string","description":"Indicates the maximum distance in miles or kilometers to ZPA Private Service Edge groups that would override a ZPA Public Service Edge"},"graceDistanceValueUnit":{"type":"string","description":"Indicates the grace distance unit of measure in miles or kilometers. This value is only required if\u003cspan pulumi-lang-nodejs=\" graceDistanceValue \" pulumi-lang-dotnet=\" GraceDistanceValue \" pulumi-lang-go=\" graceDistanceValue \" pulumi-lang-python=\" grace_distance_value \" pulumi-lang-yaml=\" graceDistanceValue \" pulumi-lang-java=\" graceDistanceValue \"\u003e grace_distance_value \u003c/span\u003eis set to true"},"isPublic":{"type":"boolean","description":"Enable or disable public access for the Service Edge Group."},"latitude":{"type":"string","description":"Latitude for the Service Edge Group."},"location":{"type":"string","description":"Location for the Service Edge Group."},"longitude":{"type":"string","description":"Longitude for the Service Edge Group."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the Service Edge Group."},"overrideVersionProfile":{"type":"boolean","description":"Whether the default version profile of the App Connector Group is applied or overridden."},"serviceEdges":{"$ref":"#/types/zpa:index/ServiceEdgeGroupServiceEdges:ServiceEdgeGroupServiceEdges","description":"WARNING: Service edge membership is managed externally. Specifying this field will enforce exact membership matching.This field will be deprecated in future versions"},"trustedNetworks":{"type":"array","items":{"$ref":"#/types/zpa:index/ServiceEdgeGroupTrustedNetwork:ServiceEdgeGroupTrustedNetwork"},"description":"List of trusted network IDs."},"upgradeDay":{"type":"string","description":"Service Edges in this group will attempt to update to a newer version of the software during this specified day."},"upgradeTimeInSecs":{"type":"string","description":"Service Edges in this group will attempt to update to a newer version of the software during this specified time."},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string","description":"ID of the version profile."},"versionProfileName":{"type":"string","description":"Name of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"versionProfileVisibilityScope":{"type":"string","description":"ID of the version profile."}},"requiredInputs":["latitude","location","longitude"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceEdgeGroup resources.\n","properties":{"city":{"type":"string","description":"City for the Service Edge Group."},"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string","description":"Description of the Service Edge Group."},"enabled":{"type":"boolean","description":"Whether this Service Edge Group is enabled or not."},"exclusiveForBusinessContinuity":{"type":"boolean","description":"Indicates whether the Service Edge Group is exclusive for business continuity."},"graceDistanceEnabled":{"type":"boolean","description":"If enabled, allows ZPA Private Service Edge Groups within the specified distance to be prioritized over a closer ZPA Public Service Edge."},"graceDistanceValue":{"type":"string","description":"Indicates the maximum distance in miles or kilometers to ZPA Private Service Edge groups that would override a ZPA Public Service Edge"},"graceDistanceValueUnit":{"type":"string","description":"Indicates the grace distance unit of measure in miles or kilometers. This value is only required if\u003cspan pulumi-lang-nodejs=\" graceDistanceValue \" pulumi-lang-dotnet=\" GraceDistanceValue \" pulumi-lang-go=\" graceDistanceValue \" pulumi-lang-python=\" grace_distance_value \" pulumi-lang-yaml=\" graceDistanceValue \" pulumi-lang-java=\" graceDistanceValue \"\u003e grace_distance_value \u003c/span\u003eis set to true"},"isPublic":{"type":"boolean","description":"Enable or disable public access for the Service Edge Group."},"latitude":{"type":"string","description":"Latitude for the Service Edge Group."},"location":{"type":"string","description":"Location for the Service Edge Group."},"longitude":{"type":"string","description":"Longitude for the Service Edge Group."},"microtenantId":{"type":"string"},"name":{"type":"string","description":"Name of the Service Edge Group."},"overrideVersionProfile":{"type":"boolean","description":"Whether the default version profile of the App Connector Group is applied or overridden."},"serviceEdges":{"$ref":"#/types/zpa:index/ServiceEdgeGroupServiceEdges:ServiceEdgeGroupServiceEdges","description":"WARNING: Service edge membership is managed externally. Specifying this field will enforce exact membership matching.This field will be deprecated in future versions"},"trustedNetworks":{"type":"array","items":{"$ref":"#/types/zpa:index/ServiceEdgeGroupTrustedNetwork:ServiceEdgeGroupTrustedNetwork"},"description":"List of trusted network IDs."},"upgradeDay":{"type":"string","description":"Service Edges in this group will attempt to update to a newer version of the software during this specified day."},"upgradeTimeInSecs":{"type":"string","description":"Service Edges in this group will attempt to update to a newer version of the software during this specified time."},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string","description":"ID of the version profile."},"versionProfileName":{"type":"string","description":"Name of the version profile. To learn more, see Version Profile Use Cases. This value is required, if the value for overrideVersionProfile is set to true"},"versionProfileVisibilityScope":{"type":"string","description":"ID of the version profile."}},"type":"object"}},"zpa:index/userPortalAUP:UserPortalAUP":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-user-portals)\n* [API documentation](https://help.zscaler.com/zpa/about-user-portals)\n\nThe **zpa_user_portal_aup** resource creates a user portal link in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.UserPortalAUP(\"this\", {\n    name: \"Org_AUP01\",\n    description: \"Org_AUP01\",\n    enabled: true,\n    aup: \"Org_AUP01\",\n    email: \"company@acme.com\",\n    phoneNum: \"+1 123-1458\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.UserPortalAUP(\"this\",\n    name=\"Org_AUP01\",\n    description=\"Org_AUP01\",\n    enabled=True,\n    aup=\"Org_AUP01\",\n    email=\"company@acme.com\",\n    phone_num=\"+1 123-1458\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.UserPortalAUP(\"this\", new()\n    {\n        Name = \"Org_AUP01\",\n        Description = \"Org_AUP01\",\n        Enabled = true,\n        Aup = \"Org_AUP01\",\n        Email = \"company@acme.com\",\n        PhoneNum = \"+1 123-1458\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewUserPortalAUP(ctx, \"this\", \u0026zpa.UserPortalAUPArgs{\n\t\t\tName:        pulumi.String(\"Org_AUP01\"),\n\t\t\tDescription: pulumi.String(\"Org_AUP01\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\tAup:         pulumi.String(\"Org_AUP01\"),\n\t\t\tEmail:       pulumi.String(\"company@acme.com\"),\n\t\t\tPhoneNum:    pulumi.String(\"+1 123-1458\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.UserPortalAUP;\nimport com.pulumi.zpa.UserPortalAUPArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new UserPortalAUP(\"this\", UserPortalAUPArgs.builder()\n            .name(\"Org_AUP01\")\n            .description(\"Org_AUP01\")\n            .enabled(true)\n            .aup(\"Org_AUP01\")\n            .email(\"company@acme.com\")\n            .phoneNum(\"+1 123-1458\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:UserPortalAUP\n    properties:\n      name: Org_AUP01\n      description: Org_AUP01\n      enabled: true\n      aup: Org_AUP01\n      email: company@acme.com\n      phoneNum: +1 123-1458\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**zpa_user_portal_aup** can be imported by using `\u003cUSER PORTAL ID\u003e` or `\u003cUSER PORTAL NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/userPortalAUP:UserPortalAUP example \u003cportal_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/userPortalAUP:UserPortalAUP example \u003cportal_name\u003e\n```\n\n","properties":{"aup":{"type":"string","description":"- (String)\n"},"description":{"type":"string","description":"- (String) Description of the User Portal AUP\n"},"email":{"type":"string","description":"- (String)\n"},"enabled":{"type":"boolean","description":"- (Boolean) Whether this User Portal AUP is enabled or not\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- Name of the User Portal AUP\n"},"phoneNum":{"type":"string","description":"- (String)\n"}},"required":["name"],"inputProperties":{"aup":{"type":"string","description":"- (String)\n"},"description":{"type":"string","description":"- (String) Description of the User Portal AUP\n"},"email":{"type":"string","description":"- (String)\n"},"enabled":{"type":"boolean","description":"- (Boolean) Whether this User Portal AUP is enabled or not\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- Name of the User Portal AUP\n"},"phoneNum":{"type":"string","description":"- (String)\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering UserPortalAUP resources.\n","properties":{"aup":{"type":"string","description":"- (String)\n"},"description":{"type":"string","description":"- (String) Description of the User Portal AUP\n"},"email":{"type":"string","description":"- (String)\n"},"enabled":{"type":"boolean","description":"- (Boolean) Whether this User Portal AUP is enabled or not\n"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- Name of the User Portal AUP\n"},"phoneNum":{"type":"string","description":"- (String)\n"}},"type":"object"}},"zpa:index/userPortalController:UserPortalController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-user-portals)\n* [API documentation](https://help.zscaler.com/zpa/about-user-portals)\n\nThe **zpa_user_portal_controller** resource creates a user portal in the Zscaler Private Access cloud.\n\n## Example Usage\n\n### With Customer Own Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getBaCertificate({\n    name: \"example.acme.com\",\n});\nconst thisUserPortalController = new zpa.UserPortalController(\"this\", {\n    name: \"UserPortal01\",\n    description: \"UserPortal01\",\n    enabled: true,\n    userNotification: \"User_Portal_Terraform_01\",\n    userNotificationEnabled: true,\n    certificateId: _this.then(_this =\u003e _this.id),\n    domain: \"portal01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_ba_certificate(name=\"example.acme.com\")\nthis_user_portal_controller = zpa.UserPortalController(\"this\",\n    name=\"UserPortal01\",\n    description=\"UserPortal01\",\n    enabled=True,\n    user_notification=\"User_Portal_Terraform_01\",\n    user_notification_enabled=True,\n    certificate_id=this.id,\n    domain=\"portal01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"example.acme.com\",\n    });\n\n    var thisUserPortalController = new Zpa.UserPortalController(\"this\", new()\n    {\n        Name = \"UserPortal01\",\n        Description = \"UserPortal01\",\n        Enabled = true,\n        UserNotification = \"User_Portal_Terraform_01\",\n        UserNotificationEnabled = true,\n        CertificateId = @this.Apply(@this =\u003e @this.Apply(getBaCertificateResult =\u003e getBaCertificateResult.Id)),\n        Domain = \"portal01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"example.acme.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewUserPortalController(ctx, \"this\", \u0026zpa.UserPortalControllerArgs{\n\t\t\tName:                    pulumi.String(\"UserPortal01\"),\n\t\t\tDescription:             pulumi.String(\"UserPortal01\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tUserNotification:        pulumi.String(\"User_Portal_Terraform_01\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t\tCertificateId:           pulumi.String(this.Id),\n\t\t\tDomain:                  pulumi.String(\"portal01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport com.pulumi.zpa.UserPortalController;\nimport com.pulumi.zpa.UserPortalControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"example.acme.com\")\n            .build());\n\n        var thisUserPortalController = new UserPortalController(\"thisUserPortalController\", UserPortalControllerArgs.builder()\n            .name(\"UserPortal01\")\n            .description(\"UserPortal01\")\n            .enabled(true)\n            .userNotification(\"User_Portal_Terraform_01\")\n            .userNotificationEnabled(true)\n            .certificateId(this_.id())\n            .domain(\"portal01\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisUserPortalController:\n    type: zpa:UserPortalController\n    name: this\n    properties:\n      name: UserPortal01\n      description: UserPortal01\n      enabled: true\n      userNotification: User_Portal_Terraform_01\n      userNotificationEnabled: true\n      certificateId: ${this.id}\n      domain: portal01\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: example.acme.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Zscaler Managed Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.UserPortalController(\"this\", {\n    name: \"UserPortal01\",\n    description: \"UserPortal01\",\n    enabled: true,\n    userNotification: \"UserPortal01\",\n    userNotificationEnabled: true,\n    certificateId: \"\",\n    extDomainTranslation: \"acme.io\",\n    extLabel: \"portal01\",\n    extDomainName: \"acme-io.b.zscalerportal.net\",\n    extDomain: \"acme.io\",\n    domain: \"portal01-acme-io.b.zscalerportal.net\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.UserPortalController(\"this\",\n    name=\"UserPortal01\",\n    description=\"UserPortal01\",\n    enabled=True,\n    user_notification=\"UserPortal01\",\n    user_notification_enabled=True,\n    certificate_id=\"\",\n    ext_domain_translation=\"acme.io\",\n    ext_label=\"portal01\",\n    ext_domain_name=\"acme-io.b.zscalerportal.net\",\n    ext_domain=\"acme.io\",\n    domain=\"portal01-acme-io.b.zscalerportal.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.UserPortalController(\"this\", new()\n    {\n        Name = \"UserPortal01\",\n        Description = \"UserPortal01\",\n        Enabled = true,\n        UserNotification = \"UserPortal01\",\n        UserNotificationEnabled = true,\n        CertificateId = \"\",\n        ExtDomainTranslation = \"acme.io\",\n        ExtLabel = \"portal01\",\n        ExtDomainName = \"acme-io.b.zscalerportal.net\",\n        ExtDomain = \"acme.io\",\n        Domain = \"portal01-acme-io.b.zscalerportal.net\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewUserPortalController(ctx, \"this\", \u0026zpa.UserPortalControllerArgs{\n\t\t\tName:                    pulumi.String(\"UserPortal01\"),\n\t\t\tDescription:             pulumi.String(\"UserPortal01\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tUserNotification:        pulumi.String(\"UserPortal01\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t\tCertificateId:           pulumi.String(\"\"),\n\t\t\tExtDomainTranslation:    pulumi.String(\"acme.io\"),\n\t\t\tExtLabel:                pulumi.String(\"portal01\"),\n\t\t\tExtDomainName:           pulumi.String(\"acme-io.b.zscalerportal.net\"),\n\t\t\tExtDomain:               pulumi.String(\"acme.io\"),\n\t\t\tDomain:                  pulumi.String(\"portal01-acme-io.b.zscalerportal.net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.UserPortalController;\nimport com.pulumi.zpa.UserPortalControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new UserPortalController(\"this\", UserPortalControllerArgs.builder()\n            .name(\"UserPortal01\")\n            .description(\"UserPortal01\")\n            .enabled(true)\n            .userNotification(\"UserPortal01\")\n            .userNotificationEnabled(true)\n            .certificateId(\"\")\n            .extDomainTranslation(\"acme.io\")\n            .extLabel(\"portal01\")\n            .extDomainName(\"acme-io.b.zscalerportal.net\")\n            .extDomain(\"acme.io\")\n            .domain(\"portal01-acme-io.b.zscalerportal.net\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:UserPortalController\n    properties:\n      name: UserPortal01\n      description: UserPortal01\n      enabled: true\n      userNotification: UserPortal01\n      userNotificationEnabled: true\n      certificateId: \"\"\n      extDomainTranslation: acme.io\n      extLabel: portal01\n      extDomainName: acme-io.b.zscalerportal.net\n      extDomain: acme.io\n      domain: portal01-acme-io.b.zscalerportal.net\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**user_portal_controller** can be imported by using `\u003cUSER PORTAL ID\u003e` or `\u003cUSER PORTAL NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/userPortalController:UserPortalController example \u003cportal_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/userPortalController:UserPortalController example \u003cportal_name\u003e\n```\n\n","properties":{"certificateId":{"type":"string","description":"- Certificate ID for the User Portal Controller\n"},"description":{"type":"string","description":"- Description of the User Portal Controller\n"},"domain":{"type":"string","description":"- Domain for the User Portal Controller\n"},"enabled":{"type":"boolean","description":"- Whether this User Portal Controller is enabled or not\n"},"extDomain":{"type":"string","description":"- External domain for the User Portal Controller\n"},"extDomainName":{"type":"string","description":"- External domain name for the User Portal Controller\n"},"extDomainTranslation":{"type":"string","description":"- External domain translation for the User Portal Controller\n"},"extLabel":{"type":"string","description":"- External label for the User Portal Controller\n"},"microtenantId":{"type":"string","description":"- Microtenant ID for the User Portal Controller\n"},"name":{"type":"string","description":"- Name of the User Portal Controller\n"},"userNotification":{"type":"string","description":"- User notification message for the User Portal Controller\n"},"userNotificationEnabled":{"type":"boolean","description":"- Whether user notifications are enabled for the User Portal Controller\n"}},"required":["domain","name"],"inputProperties":{"certificateId":{"type":"string","description":"- Certificate ID for the User Portal Controller\n"},"description":{"type":"string","description":"- Description of the User Portal Controller\n"},"domain":{"type":"string","description":"- Domain for the User Portal Controller\n"},"enabled":{"type":"boolean","description":"- Whether this User Portal Controller is enabled or not\n"},"extDomain":{"type":"string","description":"- External domain for the User Portal Controller\n"},"extDomainName":{"type":"string","description":"- External domain name for the User Portal Controller\n"},"extDomainTranslation":{"type":"string","description":"- External domain translation for the User Portal Controller\n"},"extLabel":{"type":"string","description":"- External label for the User Portal Controller\n"},"microtenantId":{"type":"string","description":"- Microtenant ID for the User Portal Controller\n"},"name":{"type":"string","description":"- Name of the User Portal Controller\n"},"userNotification":{"type":"string","description":"- User notification message for the User Portal Controller\n"},"userNotificationEnabled":{"type":"boolean","description":"- Whether user notifications are enabled for the User Portal Controller\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering UserPortalController resources.\n","properties":{"certificateId":{"type":"string","description":"- Certificate ID for the User Portal Controller\n"},"description":{"type":"string","description":"- Description of the User Portal Controller\n"},"domain":{"type":"string","description":"- Domain for the User Portal Controller\n"},"enabled":{"type":"boolean","description":"- Whether this User Portal Controller is enabled or not\n"},"extDomain":{"type":"string","description":"- External domain for the User Portal Controller\n"},"extDomainName":{"type":"string","description":"- External domain name for the User Portal Controller\n"},"extDomainTranslation":{"type":"string","description":"- External domain translation for the User Portal Controller\n"},"extLabel":{"type":"string","description":"- External label for the User Portal Controller\n"},"microtenantId":{"type":"string","description":"- Microtenant ID for the User Portal Controller\n"},"name":{"type":"string","description":"- Name of the User Portal Controller\n"},"userNotification":{"type":"string","description":"- User notification message for the User Portal Controller\n"},"userNotificationEnabled":{"type":"boolean","description":"- Whether user notifications are enabled for the User Portal Controller\n"}},"type":"object"}},"zpa:index/userPortalLink:UserPortalLink":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-user-portals)\n* [API documentation](https://help.zscaler.com/zpa/about-user-portals)\n\nThe **zpa_user_portal_link** resource creates a user portal link in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = new zpa.UserPortalLink(\"this\", {\n    name: \"server1.example.com\",\n    description: \"server1.example.com\",\n    enabled: true,\n    link: \"server1.example.com\",\n    iconText: \"\",\n    protocol: \"https://\",\n    userPortals: [{\n        ids: [thisZpaUserPortalController.id],\n    }],\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.UserPortalLink(\"this\",\n    name=\"server1.example.com\",\n    description=\"server1.example.com\",\n    enabled=True,\n    link=\"server1.example.com\",\n    icon_text=\"\",\n    protocol=\"https://\",\n    user_portals=[{\n        \"ids\": [this_zpa_user_portal_controller[\"id\"]],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Zpa.UserPortalLink(\"this\", new()\n    {\n        Name = \"server1.example.com\",\n        Description = \"server1.example.com\",\n        Enabled = true,\n        Link = \"server1.example.com\",\n        IconText = \"\",\n        Protocol = \"https://\",\n        UserPortals = new[]\n        {\n            new Zpa.Inputs.UserPortalLinkUserPortalArgs\n            {\n                Ids = new[]\n                {\n                    thisZpaUserPortalController.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.NewUserPortalLink(ctx, \"this\", \u0026zpa.UserPortalLinkArgs{\n\t\t\tName:        pulumi.String(\"server1.example.com\"),\n\t\t\tDescription: pulumi.String(\"server1.example.com\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\tLink:        pulumi.String(\"server1.example.com\"),\n\t\t\tIconText:    pulumi.String(\"\"),\n\t\t\tProtocol:    pulumi.String(\"https://\"),\n\t\t\tUserPortals: zpa.UserPortalLinkUserPortalArray{\n\t\t\t\t\u0026zpa.UserPortalLinkUserPortalArgs{\n\t\t\t\t\tIds: pulumi.StringArray{\n\t\t\t\t\t\tthisZpaUserPortalController.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.UserPortalLink;\nimport com.pulumi.zpa.UserPortalLinkArgs;\nimport com.pulumi.zpa.inputs.UserPortalLinkUserPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new UserPortalLink(\"this\", UserPortalLinkArgs.builder()\n            .name(\"server1.example.com\")\n            .description(\"server1.example.com\")\n            .enabled(true)\n            .link(\"server1.example.com\")\n            .iconText(\"\")\n            .protocol(\"https://\")\n            .userPortals(UserPortalLinkUserPortalArgs.builder()\n                .ids(thisZpaUserPortalController.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: zpa:UserPortalLink\n    properties:\n      name: server1.example.com\n      description: server1.example.com\n      enabled: true\n      link: server1.example.com\n      iconText: \"\"\n      protocol: https://\n      userPortals:\n        - ids:\n            - ${thisZpaUserPortalController.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**user_portal_controller** can be imported by using `\u003cUSER PORTAL ID\u003e` or `\u003cUSER PORTAL NAME\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/userPortalLink:UserPortalLink example \u003cportal_id\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/userPortalLink:UserPortalLink example \u003cportal_name\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the User Portal Link"},"enabled":{"type":"boolean","description":"Whether this User Portal Link is enabled or not"},"iconText":{"type":"string","description":"Icon text for the User Portal Link"},"link":{"type":"string","description":"Link URL for the User Portal Link"},"linkPath":{"type":"string","description":"Link path for the User Portal Link"},"microtenantId":{"type":"string","description":"Microtenant ID for the User Portal Link"},"name":{"type":"string","description":"Name of the User Portal Link"},"protocol":{"type":"string","description":"Protocol for the User Portal Link"},"userPortals":{"type":"array","items":{"$ref":"#/types/zpa:index/UserPortalLinkUserPortal:UserPortalLinkUserPortal"},"description":"List of User Portals"}},"required":["name","userPortals"],"inputProperties":{"description":{"type":"string","description":"Description of the User Portal Link"},"enabled":{"type":"boolean","description":"Whether this User Portal Link is enabled or not"},"iconText":{"type":"string","description":"Icon text for the User Portal Link"},"link":{"type":"string","description":"Link URL for the User Portal Link"},"linkPath":{"type":"string","description":"Link path for the User Portal Link"},"microtenantId":{"type":"string","description":"Microtenant ID for the User Portal Link"},"name":{"type":"string","description":"Name of the User Portal Link"},"protocol":{"type":"string","description":"Protocol for the User Portal Link"},"userPortals":{"type":"array","items":{"$ref":"#/types/zpa:index/UserPortalLinkUserPortal:UserPortalLinkUserPortal"},"description":"List of User Portals"}},"stateInputs":{"description":"Input properties used for looking up and filtering UserPortalLink resources.\n","properties":{"description":{"type":"string","description":"Description of the User Portal Link"},"enabled":{"type":"boolean","description":"Whether this User Portal Link is enabled or not"},"iconText":{"type":"string","description":"Icon text for the User Portal Link"},"link":{"type":"string","description":"Link URL for the User Portal Link"},"linkPath":{"type":"string","description":"Link path for the User Portal Link"},"microtenantId":{"type":"string","description":"Microtenant ID for the User Portal Link"},"name":{"type":"string","description":"Name of the User Portal Link"},"protocol":{"type":"string","description":"Protocol for the User Portal Link"},"userPortals":{"type":"array","items":{"$ref":"#/types/zpa:index/UserPortalLinkUserPortal:UserPortalLinkUserPortal"},"description":"List of User Portals"}},"type":"object"}},"zpa:index/zIACloudConfig:ZIACloudConfig":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-user-portals)\n* [API documentation](https://help.zscaler.com/zpa/about-user-portals)\n\nThe **zpa_zia_cloud_config** resource configures the Zscaler Cloud Sandbox Settings in the Zscaler Private Access cloud. This resource is required when configuring the policy type resource \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessCapabilitiesRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessCapabilitiesRule`\" pulumi-lang-go=\"`PolicyAccessCapabilitiesRule`\" pulumi-lang-python=\"`PolicyAccessCapabilitiesRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessCapabilitiesRule`\" pulumi-lang-java=\"`zpa.PolicyAccessCapabilitiesRule`\"\u003e`zpa.PolicyAccessCapabilitiesRule`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n//######## PASSWORDS IN THIS FILE ARE FAKE AND NOT USED IN PRODUCTION SYSTEMS #########\nconst _this = new zpa.ZIACloudConfig(\"this\", {\n    ziaUsername: \"\",\n    ziaPassword: \"\",\n    ziaCloudServiceApiKey: \"\",\n    ziaSandboxApiToken: \"\",\n    ziaCloudDomain: \"\",\n});\n```\n```python\nimport pulumi\nimport zscaler_pulumi_zpa as zpa\n\n######### PASSWORDS IN THIS FILE ARE FAKE AND NOT USED IN PRODUCTION SYSTEMS #########\nthis = zpa.ZIACloudConfig(\"this\",\n    zia_username=\"\",\n    zia_password=\"\",\n    zia_cloud_service_api_key=\"\",\n    zia_sandbox_api_token=\"\",\n    zia_cloud_domain=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //######## PASSWORDS IN THIS FILE ARE FAKE AND NOT USED IN PRODUCTION SYSTEMS #########\n    var @this = new Zpa.ZIACloudConfig(\"this\", new()\n    {\n        ZiaUsername = \"\",\n        ZiaPassword = \"\",\n        ZiaCloudServiceApiKey = \"\",\n        ZiaSandboxApiToken = \"\",\n        ZiaCloudDomain = \"\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ######## PASSWORDS IN THIS FILE ARE FAKE AND NOT USED IN PRODUCTION SYSTEMS #########\n\t\t_, err := zpa.NewZIACloudConfig(ctx, \"this\", \u0026zpa.ZIACloudConfigArgs{\n\t\t\tZiaUsername:           pulumi.String(\"\"),\n\t\t\tZiaPassword:           pulumi.String(\"\"),\n\t\t\tZiaCloudServiceApiKey: pulumi.String(\"\"),\n\t\t\tZiaSandboxApiToken:    pulumi.String(\"\"),\n\t\t\tZiaCloudDomain:        pulumi.String(\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZIACloudConfig;\nimport com.pulumi.zpa.ZIACloudConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //######## PASSWORDS IN THIS FILE ARE FAKE AND NOT USED IN PRODUCTION SYSTEMS #########\n        var this_ = new ZIACloudConfig(\"this\", ZIACloudConfigArgs.builder()\n            .ziaUsername(\"\")\n            .ziaPassword(\"\")\n            .ziaCloudServiceApiKey(\"\")\n            .ziaSandboxApiToken(\"\")\n            .ziaCloudDomain(\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ######### PASSWORDS IN THIS FILE ARE FAKE AND NOT USED IN PRODUCTION SYSTEMS #########\n  this:\n    type: zpa:ZIACloudConfig\n    properties:\n      ziaUsername: \"\"\n      ziaPassword: \"\"\n      ziaCloudServiceApiKey: \"\"\n      ziaSandboxApiToken: \"\"\n      ziaCloudDomain: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.\n\nVisit\n\n**zpa_zia_cloud_config** can be imported by using `\u003cZIA_CLOUD_CONFIG\u003e` as the import ID.\n\nFor example:\n\n```sh\n$ pulumi import zpa:index/zIACloudConfig:ZIACloudConfig example \u003czia_cloud_config\u003e\n```\n\nor\n\n```sh\n$ pulumi import zpa:index/zIACloudConfig:ZIACloudConfig example \u003czia_cloud_config\u003e\n```\n\n","properties":{"ziaCloudDomain":{"type":"string","description":"- (String) The supported ZIA cloud name. Supported values are:\n"},"ziaCloudServiceApiKey":{"type":"string","description":"- (String) The ZIA Cloud service api key\n","secret":true},"ziaPassword":{"type":"string","description":"- (String) The ZIA admin password with permission to use the api key\n","secret":true},"ziaSandboxApiToken":{"type":"string","description":"- (String) The ZIA Sandbox API token\n","secret":true},"ziaUsername":{"type":"string","description":"- (String) The ZIA admin username with permission to use the api key\n"}},"required":["ziaCloudDomain","ziaCloudServiceApiKey","ziaPassword","ziaSandboxApiToken","ziaUsername"],"inputProperties":{"ziaCloudDomain":{"type":"string","description":"- (String) The supported ZIA cloud name. Supported values are:\n"},"ziaCloudServiceApiKey":{"type":"string","description":"- (String) The ZIA Cloud service api key\n","secret":true},"ziaPassword":{"type":"string","description":"- (String) The ZIA admin password with permission to use the api key\n","secret":true},"ziaSandboxApiToken":{"type":"string","description":"- (String) The ZIA Sandbox API token\n","secret":true},"ziaUsername":{"type":"string","description":"- (String) The ZIA admin username with permission to use the api key\n"}},"requiredInputs":["ziaCloudDomain","ziaCloudServiceApiKey","ziaPassword","ziaSandboxApiToken","ziaUsername"],"stateInputs":{"description":"Input properties used for looking up and filtering ZIACloudConfig resources.\n","properties":{"ziaCloudDomain":{"type":"string","description":"- (String) The supported ZIA cloud name. Supported values are:\n"},"ziaCloudServiceApiKey":{"type":"string","description":"- (String) The ZIA Cloud service api key\n","secret":true},"ziaPassword":{"type":"string","description":"- (String) The ZIA admin password with permission to use the api key\n","secret":true},"ziaSandboxApiToken":{"type":"string","description":"- (String) The ZIA Sandbox API token\n","secret":true},"ziaUsername":{"type":"string","description":"- (String) The ZIA admin username with permission to use the api key\n"}},"type":"object"}}},"functions":{"pulumi:providers:zpa/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:zpa/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}},"zpa:index/getAppConnectorAssistantSchedule:getAppConnectorAssistantSchedule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/deleting-disconnected-app-connectors)\n* [API documentation](https://help.zscaler.com/zpa/configuring-auto-delete-disconnected-app-connectors-using-api)\n\nUse the **zpa_app_connector_assistant_schedule** data source to get information about Auto Delete frequency of the App Connector for the specified customer in the Zscaler Private Access cloud.\n\n\u003e **NOTE** - The \u003cspan pulumi-lang-nodejs=\"`customerId`\" pulumi-lang-dotnet=\"`CustomerId`\" pulumi-lang-go=\"`customerId`\" pulumi-lang-python=\"`customer_id`\" pulumi-lang-yaml=\"`customerId`\" pulumi-lang-java=\"`customerId`\"\u003e`customer_id`\u003c/span\u003e attribute is optional and not required during the configuration.\n\n","inputs":{"description":"A collection of arguments for invoking getAppConnectorAssistantSchedule.\n","properties":{"customerId":{"type":"string"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAppConnectorAssistantSchedule.\n","properties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"},"id":{"type":"string"}},"required":["deleteDisabled","enabled","frequency","frequencyInterval"],"type":"object"}},"zpa:index/getAppConnectorController:getAppConnectorController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-connectors)\n* [API documentation](https://help.zscaler.com/zpa/managing-app-connectors-using-api)\n\nUse the **zpa_app_connector_controller** data source to get information about a app connector created in the Zscaler Private Access cloud. This data source can then be referenced in an App Connector Group.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA App Connector Data Source\nconst example = zpa.getAppConnectorController({\n    name: \"AWS-VPC100-App-Connector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA App Connector Data Source\nexample = zpa.get_app_connector_controller(name=\"AWS-VPC100-App-Connector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA App Connector Data Source\n    var example = Zpa.GetAppConnectorController.Invoke(new()\n    {\n        Name = \"AWS-VPC100-App-Connector\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA App Connector Data Source\n\t\t_, err := zpa.GetAppConnectorController(ctx, \u0026zpa.GetAppConnectorControllerArgs{\n\t\t\tName: pulumi.StringRef(\"AWS-VPC100-App-Connector\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetAppConnectorControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA App Connector Data Source\n        final var example = ZpaFunctions.getAppConnectorController(GetAppConnectorControllerArgs.builder()\n            .name(\"AWS-VPC100-App-Connector\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA App Connector Data Source\n  example:\n    fn::invoke:\n      function: zpa:getAppConnectorController\n      arguments:\n        name: AWS-VPC100-App-Connector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  # ZPA App Connector Data Source\n  example:\n    fn::invoke:\n      function: zpa:getAppConnectorController\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppConnectorController.\n","properties":{"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAppConnectorController.\n","properties":{"appConnectorGroupId":{"type":"string"},"appConnectorGroupName":{"type":"string"},"applicationStartTime":{"type":"string"},"assistantVersions":{"items":{"$ref":"#/types/zpa:index/getAppConnectorControllerAssistantVersion:getAppConnectorControllerAssistantVersion"},"type":"array"},"controlChannelStatus":{"type":"string"},"creationTime":{"type":"string"},"ctrlBrokerName":{"type":"string"},"currentVersion":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"enrollmentCert":{"additionalProperties":{"type":"string"},"type":"object"},"expectedUpgradeTime":{"type":"string"},"expectedVersion":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string"},"ipAcl":{"type":"string"},"issuedCertId":{"type":"string"},"lastBrokerConnectTime":{"type":"string"},"lastBrokerConnectTimeDuration":{"type":"string"},"lastBrokerDisconnectTime":{"type":"string"},"lastBrokerDisconnectTimeDuration":{"type":"string"},"lastUpgradeTime":{"type":"string"},"latitude":{"type":"string"},"location":{"type":"string"},"longitude":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"platform":{"type":"string"},"platformDetail":{"type":"string"},"previousVersion":{"type":"string"},"privateIp":{"type":"string"},"provisioningKeyId":{"type":"string"},"provisioningKeyName":{"type":"string"},"publicIp":{"type":"string"},"runtimeOs":{"type":"string"},"sargeVersion":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeStatus":{"type":"string"},"zpnSubModuleUpgradeLists":{"items":{"$ref":"#/types/zpa:index/getAppConnectorControllerZpnSubModuleUpgradeList:getAppConnectorControllerZpnSubModuleUpgradeList"},"type":"array"}},"required":["appConnectorGroupId","appConnectorGroupName","applicationStartTime","assistantVersions","controlChannelStatus","creationTime","ctrlBrokerName","currentVersion","description","enabled","enrollmentCert","expectedUpgradeTime","expectedVersion","fingerprint","id","ipAcl","issuedCertId","lastBrokerConnectTime","lastBrokerConnectTimeDuration","lastBrokerDisconnectTime","lastBrokerDisconnectTimeDuration","lastUpgradeTime","latitude","location","longitude","modifiedBy","modifiedTime","platform","platformDetail","previousVersion","privateIp","provisioningKeyId","provisioningKeyName","publicIp","runtimeOs","sargeVersion","upgradeAttempt","upgradeStatus","zpnSubModuleUpgradeLists"],"type":"object"}},"zpa:index/getAppConnectorGroup:getAppConnectorGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA App Connector Group Data Source\nconst foo = zpa.getAppConnectorGroup({\n    name: \"DataCenter\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA App Connector Group Data Source\nfoo = zpa.get_app_connector_group(name=\"DataCenter\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA App Connector Group Data Source\n    var foo = Zpa.GetAppConnectorGroup.Invoke(new()\n    {\n        Name = \"DataCenter\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA App Connector Group Data Source\n\t\t_, err := zpa.GetAppConnectorGroup(ctx, \u0026zpa.GetAppConnectorGroupArgs{\n\t\t\tName: pulumi.StringRef(\"DataCenter\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetAppConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA App Connector Group Data Source\n        final var foo = ZpaFunctions.getAppConnectorGroup(GetAppConnectorGroupArgs.builder()\n            .name(\"DataCenter\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA App Connector Group Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getAppConnectorGroup\n      arguments:\n        name: DataCenter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA App Connector Group Data Source\nconst foo = zpa.getAppConnectorGroup({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA App Connector Group Data Source\nfoo = zpa.get_app_connector_group(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA App Connector Group Data Source\n    var foo = Zpa.GetAppConnectorGroup.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA App Connector Group Data Source\n\t\t_, err := zpa.GetAppConnectorGroup(ctx, \u0026zpa.GetAppConnectorGroupArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetAppConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA App Connector Group Data Source\n        final var foo = ZpaFunctions.getAppConnectorGroup(GetAppConnectorGroupArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA App Connector Group Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getAppConnectorGroup\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppConnectorGroup.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"},"overrideVersionProfile":{"type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAppConnectorGroup.\n","properties":{"cityCountry":{"type":"string"},"connectors":{"items":{"$ref":"#/types/zpa:index/getAppConnectorGroupConnector:getAppConnectorGroupConnector"},"type":"array"},"countryCode":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"dnsQueryType":{"type":"string"},"enabled":{"type":"boolean"},"geoLocationId":{"type":"string"},"id":{"type":"string"},"latitude":{"type":"string"},"location":{"type":"string"},"longitude":{"type":"string"},"lssAppConnectorGroup":{"type":"boolean"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"overrideVersionProfile":{"type":"boolean"},"serverGroups":{"items":{"$ref":"#/types/zpa:index/getAppConnectorGroupServerGroup:getAppConnectorGroupServerGroup"},"type":"array"},"tcpQuickAckApp":{"type":"boolean"},"tcpQuickAckAssistant":{"type":"boolean"},"tcpQuickAckReadAssistant":{"type":"boolean"},"upgradeDay":{"type":"string"},"upgradeTimeInSecs":{"type":"string"},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string"},"versionProfileName":{"type":"string"},"versionProfileVisibilityScope":{"type":"string"}},"required":["cityCountry","connectors","countryCode","creationTime","description","dnsQueryType","enabled","geoLocationId","latitude","location","longitude","lssAppConnectorGroup","modifiedTime","modifiedby","serverGroups","tcpQuickAckApp","tcpQuickAckAssistant","tcpQuickAckReadAssistant","upgradeDay","upgradeTimeInSecs","useInDrMode","versionProfileId","versionProfileName","versionProfileVisibilityScope"],"type":"object"}},"zpa:index/getApplicationSegment:getApplicationSegment":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Segment Data Source\nconst _this = zpa.getApplicationSegment({\n    name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Segment Data Source\nthis = zpa.get_application_segment(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Segment Data Source\n    var @this = Zpa.GetApplicationSegment.Invoke(new()\n    {\n        Name = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Segment Data Source\n\t\t_, err := zpa.LookupApplicationSegment(ctx, \u0026zpa.LookupApplicationSegmentArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Segment Data Source\n        final var this = ZpaFunctions.getApplicationSegment(GetApplicationSegmentArgs.builder()\n            .name(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Segment Data Source\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegment\n      arguments:\n        name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Segment Data Source\nconst _this = zpa.getApplicationSegment({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Segment Data Source\nthis = zpa.get_application_segment(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Segment Data Source\n    var @this = Zpa.GetApplicationSegment.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Segment Data Source\n\t\t_, err := zpa.LookupApplicationSegment(ctx, \u0026zpa.LookupApplicationSegmentArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Segment Data Source\n        final var this = ZpaFunctions.getApplicationSegment(GetApplicationSegmentArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Segment Data Source\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegment\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationSegment.\n","properties":{"id":{"type":"string"},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentTcpPortRange:getApplicationSegmentTcpPortRange"}},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentUdpPortRange:getApplicationSegmentUdpPortRange"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getApplicationSegment.\n","properties":{"apiProtectionEnabled":{"type":"boolean"},"bypassType":{"type":"string"},"configSpace":{"type":"string"},"creationTime":{"type":"string"},"defaultIdleTimeout":{"type":"string"},"defaultMaxAge":{"type":"string"},"description":{"type":"string"},"domainNames":{"items":{"type":"string"},"type":"array"},"doubleEncrypt":{"type":"boolean"},"enabled":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string"},"id":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean"},"isIncompleteDrConfig":{"type":"boolean"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentServerGroup:getApplicationSegmentServerGroup"},"type":"array"},"tcpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentTcpPortRange:getApplicationSegmentTcpPortRange"},"type":"array"},"tcpPortRanges":{"items":{"type":"string"},"type":"array"},"udpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentUdpPortRange:getApplicationSegmentUdpPortRange"},"type":"array"},"udpPortRanges":{"items":{"type":"string"},"type":"array"},"useInDrMode":{"type":"boolean"}},"required":["apiProtectionEnabled","bypassType","configSpace","creationTime","defaultIdleTimeout","defaultMaxAge","description","domainNames","doubleEncrypt","enabled","healthCheckType","healthReporting","ipAnchored","isCnameEnabled","isIncompleteDrConfig","modifiedTime","modifiedby","passiveHealthEnabled","segmentGroupId","segmentGroupName","selectConnectorCloseToApp","serverGroups","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges","useInDrMode"],"type":"object"}},"zpa:index/getApplicationSegmentBrowserAccess:getApplicationSegmentBrowserAccess":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Segment Browser Access Data Source\nconst example = zpa.getApplicationSegmentBrowserAccess({\n    name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Segment Browser Access Data Source\nexample = zpa.get_application_segment_browser_access(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Segment Browser Access Data Source\n    var example = Zpa.GetApplicationSegmentBrowserAccess.Invoke(new()\n    {\n        Name = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Segment Browser Access Data Source\n\t\t_, err := zpa.LookupApplicationSegmentBrowserAccess(ctx, \u0026zpa.LookupApplicationSegmentBrowserAccessArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentBrowserAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Segment Browser Access Data Source\n        final var example = ZpaFunctions.getApplicationSegmentBrowserAccess(GetApplicationSegmentBrowserAccessArgs.builder()\n            .name(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Segment Browser Access Data Source\n  example:\n    fn::invoke:\n      function: zpa:getApplicationSegmentBrowserAccess\n      arguments:\n        name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Segment Browser Access Data Source\nconst example = zpa.getApplicationSegmentBrowserAccess({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Segment Browser Access Data Source\nexample = zpa.get_application_segment_browser_access(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Segment Browser Access Data Source\n    var example = Zpa.GetApplicationSegmentBrowserAccess.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Segment Browser Access Data Source\n\t\t_, err := zpa.LookupApplicationSegmentBrowserAccess(ctx, \u0026zpa.LookupApplicationSegmentBrowserAccessArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentBrowserAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Segment Browser Access Data Source\n        final var example = ZpaFunctions.getApplicationSegmentBrowserAccess(GetApplicationSegmentBrowserAccessArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Segment Browser Access Data Source\n  example:\n    fn::invoke:\n      function: zpa:getApplicationSegmentBrowserAccess\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationSegmentBrowserAccess.\n","properties":{"id":{"type":"string","description":"- (String) This field defines the id of the application server.\n"},"matchStyle":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the server.\n"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentBrowserAccessTcpPortRange:getApplicationSegmentBrowserAccessTcpPortRange"}},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentBrowserAccessUdpPortRange:getApplicationSegmentBrowserAccessUdpPortRange"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getApplicationSegmentBrowserAccess.\n","properties":{"bypassType":{"type":"string"},"clientlessApps":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentBrowserAccessClientlessApp:getApplicationSegmentBrowserAccessClientlessApp"},"type":"array"},"configSpace":{"type":"string"},"description":{"type":"string"},"domainNames":{"items":{"type":"string"},"type":"array"},"doubleEncrypt":{"type":"boolean"},"enabled":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string"},"id":{"description":"- (String) This field defines the id of the application server.\n","type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean"},"matchStyle":{"type":"string"},"microtenantId":{"type":"string"},"name":{"description":"- (String) This field defines the name of the server.\n","type":"string"},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"serverGroups":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentBrowserAccessServerGroup:getApplicationSegmentBrowserAccessServerGroup"},"type":"array"},"tcpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentBrowserAccessTcpPortRange:getApplicationSegmentBrowserAccessTcpPortRange"},"type":"array"},"tcpPortRanges":{"items":{"type":"string"},"type":"array"},"udpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentBrowserAccessUdpPortRange:getApplicationSegmentBrowserAccessUdpPortRange"},"type":"array"},"udpPortRanges":{"items":{"type":"string"},"type":"array"}},"required":["bypassType","clientlessApps","configSpace","description","domainNames","doubleEncrypt","enabled","healthCheckType","healthReporting","ipAnchored","isCnameEnabled","matchStyle","passiveHealthEnabled","segmentGroupId","segmentGroupName","serverGroups","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges"],"type":"object"}},"zpa:index/getApplicationSegmentByType:getApplicationSegmentByType":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-applications)\n* [API documentation](https://help.zscaler.com/zpa/configuring-application-segments-using-api)\n\nUse the **zpa_application_segment_by_type** data source to get all configured Application Segments by Access Type (e.g., ``BROWSER_ACCESS``, ``INSPECT``, or ``SECURE_REMOTE_ACCESS``) for the specified customer.\n\n","inputs":{"description":"A collection of arguments for invoking getApplicationSegmentByType.\n","properties":{"applicationType":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["applicationType"]},"outputs":{"description":"A collection of values returned by getApplicationSegmentByType.\n","properties":{"appId":{"type":"string"},"applicationPort":{"type":"string"},"applicationProtocol":{"type":"string"},"applicationType":{"type":"string"},"certificateId":{"type":"string"},"certificateName":{"type":"string"},"domain":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"required":["appId","applicationPort","applicationProtocol","applicationType","certificateId","certificateName","domain","enabled","id","microtenantName"],"type":"object"}},"zpa:index/getApplicationSegmentInspection:getApplicationSegmentInspection":{"description":"Use the **zpa_application_segment_inspection** data source to get information about an inspection application segment in the Zscaler Private Access cloud. This resource can then be referenced in a ZPA access inspection policy. This resource supports ZPA Inspection for both `HTTP` and `HTTPS`.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Inspection Application Segment Data Source\nconst _this = zpa.getApplicationSegmentInspection({\n    name: \"ZPA_Inspection_Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Inspection Application Segment Data Source\nthis = zpa.get_application_segment_inspection(name=\"ZPA_Inspection_Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Inspection Application Segment Data Source\n    var @this = Zpa.GetApplicationSegmentInspection.Invoke(new()\n    {\n        Name = \"ZPA_Inspection_Example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Inspection Application Segment Data Source\n\t\t_, err := zpa.LookupApplicationSegmentInspection(ctx, \u0026zpa.LookupApplicationSegmentInspectionArgs{\n\t\t\tName: pulumi.StringRef(\"ZPA_Inspection_Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentInspectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Inspection Application Segment Data Source\n        final var this = ZpaFunctions.getApplicationSegmentInspection(GetApplicationSegmentInspectionArgs.builder()\n            .name(\"ZPA_Inspection_Example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Inspection Application Segment Data Source\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegmentInspection\n      arguments:\n        name: ZPA_Inspection_Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Inspection Application Segment Data Source\nconst _this = zpa.getApplicationSegmentInspection({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Inspection Application Segment Data Source\nthis = zpa.get_application_segment_inspection(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Inspection Application Segment Data Source\n    var @this = Zpa.GetApplicationSegmentInspection.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Inspection Application Segment Data Source\n\t\t_, err := zpa.LookupApplicationSegmentInspection(ctx, \u0026zpa.LookupApplicationSegmentInspectionArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentInspectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Inspection Application Segment Data Source\n        final var this = ZpaFunctions.getApplicationSegmentInspection(GetApplicationSegmentInspectionArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Inspection Application Segment Data Source\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegmentInspection\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationSegmentInspection.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentInspectionTcpPortRange:getApplicationSegmentInspectionTcpPortRange"}},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentInspectionUdpPortRange:getApplicationSegmentInspectionUdpPortRange"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getApplicationSegmentInspection.\n","properties":{"bypassType":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"domainNames":{"items":{"type":"string"},"type":"array"},"doubleEncrypt":{"type":"boolean"},"enabled":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string"},"icmpAccessType":{"type":"string"},"id":{"type":"string"},"inspectionApps":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentInspectionInspectionApp:getApplicationSegmentInspectionInspectionApp"},"type":"array"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"selectConnectorCloseToApp":{"type":"boolean"},"serverGroups":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentInspectionServerGroup:getApplicationSegmentInspectionServerGroup"},"type":"array"},"tcpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentInspectionTcpPortRange:getApplicationSegmentInspectionTcpPortRange"},"type":"array"},"tcpPortRanges":{"items":{"type":"string"},"type":"array"},"udpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentInspectionUdpPortRange:getApplicationSegmentInspectionUdpPortRange"},"type":"array"},"udpPortRanges":{"items":{"type":"string"},"type":"array"}},"required":["bypassType","creationTime","description","domainNames","doubleEncrypt","enabled","healthCheckType","healthReporting","icmpAccessType","inspectionApps","ipAnchored","isCnameEnabled","modifiedBy","modifiedTime","passiveHealthEnabled","segmentGroupId","segmentGroupName","selectConnectorCloseToApp","serverGroups","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges"],"type":"object"}},"zpa:index/getApplicationSegmentMultimatchBulk:getApplicationSegmentMultimatchBulk":{"description":"* [Official documentation](https://help.zscaler.com/zpa/using-app-segment-multimatch)\n* [API documentation](https://help.zscaler.com/zpa/configuring-application-segment-multimatch-using-api)\n\nUse the **zpa_application_segment_multimatch_bulk** data source to get application segments by domain that are incompatible with application segment Multimatch Zscaler Private Access cloud. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getApplicationSegmentMultimatchBulk({\n    domainNames: [\n        \"server1.bd-hashicorp.com\",\n        \"server2.bd-hashicorp.com\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_application_segment_multimatch_bulk(domain_names=[\n    \"server1.bd-hashicorp.com\",\n    \"server2.bd-hashicorp.com\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetApplicationSegmentMultimatchBulk.Invoke(new()\n    {\n        DomainNames = new[]\n        {\n            \"server1.bd-hashicorp.com\",\n            \"server2.bd-hashicorp.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupApplicationSegmentMultimatchBulk(ctx, \u0026zpa.LookupApplicationSegmentMultimatchBulkArgs{\n\t\t\tDomainNames: []string{\n\t\t\t\t\"server1.bd-hashicorp.com\",\n\t\t\t\t\"server2.bd-hashicorp.com\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentMultimatchBulkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getApplicationSegmentMultimatchBulk(GetApplicationSegmentMultimatchBulkArgs.builder()\n            .domainNames(            \n                \"server1.bd-hashicorp.com\",\n                \"server2.bd-hashicorp.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegmentMultimatchBulk\n      arguments:\n        domainNames:\n          - server1.bd-hashicorp.com\n          - server2.bd-hashicorp.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationSegmentMultimatchBulk.\n","properties":{"domainNames":{"type":"array","items":{"type":"string"}}},"type":"object","required":["domainNames"]},"outputs":{"description":"A collection of values returned by getApplicationSegmentMultimatchBulk.\n","properties":{"domainNames":{"items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"unsupportedReferences":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentMultimatchBulkUnsupportedReference:getApplicationSegmentMultimatchBulkUnsupportedReference"},"type":"array"}},"required":["domainNames","unsupportedReferences","id"],"type":"object"}},"zpa:index/getApplicationSegmentPRA:getApplicationSegmentPRA":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-remote-access-applications)\n* [API documentation](https://help.zscaler.com/zpa/configuring-application-segments-using-api)\n\nUse the **zpa_application_segment_pra** data source to get information about an application segment for Privileged Remote Access in the Zscaler Private Access cloud. This resource can then be referenced in an access policy rule, access policy timeout rule, access policy client forwarding rule and inspection policy. This resource supports Privileged Remote Access for both `RDP` and `SSH`.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Segment Data Source\nconst _this = zpa.getApplicationSegmentPRA({\n    name: \"PRA_Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Segment Data Source\nthis = zpa.get_application_segment_pra(name=\"PRA_Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Segment Data Source\n    var @this = Zpa.GetApplicationSegmentPRA.Invoke(new()\n    {\n        Name = \"PRA_Example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Segment Data Source\n\t\t_, err := zpa.LookupApplicationSegmentPRA(ctx, \u0026zpa.LookupApplicationSegmentPRAArgs{\n\t\t\tName: pulumi.StringRef(\"PRA_Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentPRAArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Segment Data Source\n        final var this = ZpaFunctions.getApplicationSegmentPRA(GetApplicationSegmentPRAArgs.builder()\n            .name(\"PRA_Example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Segment Data Source\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegmentPRA\n      arguments:\n        name: PRA_Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Segment Data Source\nconst _this = zpa.getApplicationSegmentPRA({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Segment Data Source\nthis = zpa.get_application_segment_pra(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Segment Data Source\n    var @this = Zpa.GetApplicationSegmentPRA.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Segment Data Source\n\t\t_, err := zpa.LookupApplicationSegmentPRA(ctx, \u0026zpa.LookupApplicationSegmentPRAArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentPRAArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Segment Data Source\n        final var this = ZpaFunctions.getApplicationSegmentPRA(GetApplicationSegmentPRAArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Segment Data Source\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegmentPRA\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationSegmentPRA.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"},"tcpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentPRATcpPortRange:getApplicationSegmentPRATcpPortRange"}},"udpPortRange":{"type":"array","items":{"$ref":"#/types/zpa:index/getApplicationSegmentPRAUdpPortRange:getApplicationSegmentPRAUdpPortRange"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getApplicationSegmentPRA.\n","properties":{"bypassType":{"type":"string"},"configSpace":{"type":"string"},"description":{"type":"string"},"domainNames":{"items":{"type":"string"},"type":"array"},"doubleEncrypt":{"type":"boolean"},"enabled":{"type":"boolean"},"healthCheckType":{"type":"string"},"healthReporting":{"type":"string"},"id":{"type":"string"},"ipAnchored":{"type":"boolean"},"isCnameEnabled":{"type":"boolean"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"},"passiveHealthEnabled":{"type":"boolean"},"segmentGroupId":{"type":"string"},"segmentGroupName":{"type":"string"},"serverGroups":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentPRAServerGroup:getApplicationSegmentPRAServerGroup"},"type":"array"},"sraApps":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentPRASraApp:getApplicationSegmentPRASraApp"},"type":"array"},"tcpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentPRATcpPortRange:getApplicationSegmentPRATcpPortRange"},"type":"array"},"tcpPortRanges":{"items":{"type":"string"},"type":"array"},"udpPortRange":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentPRAUdpPortRange:getApplicationSegmentPRAUdpPortRange"},"type":"array"},"udpPortRanges":{"items":{"type":"string"},"type":"array"}},"required":["bypassType","configSpace","description","domainNames","doubleEncrypt","enabled","healthCheckType","healthReporting","ipAnchored","isCnameEnabled","passiveHealthEnabled","segmentGroupId","segmentGroupName","serverGroups","sraApps","tcpPortRange","tcpPortRanges","udpPortRange","udpPortRanges"],"type":"object"}},"zpa:index/getApplicationSegmentWeightedlbConfig:getApplicationSegmentWeightedlbConfig":{"description":"Use the **zpa_application_segment_weightedlb_config** data source to retrieve the weighted load balancer configuration for an application segment in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getApplicationSegmentWeightedlbConfig({\n    applicationName: \"app02\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_application_segment_weightedlb_config(application_name=\"app02\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetApplicationSegmentWeightedlbConfig.Invoke(new()\n    {\n        ApplicationName = \"app02\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupApplicationSegmentWeightedlbConfig(ctx, \u0026zpa.LookupApplicationSegmentWeightedlbConfigArgs{\n\t\t\tApplicationName: pulumi.StringRef(\"app02\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationSegmentWeightedlbConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getApplicationSegmentWeightedlbConfig(GetApplicationSegmentWeightedlbConfigArgs.builder()\n            .applicationName(\"app02\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getApplicationSegmentWeightedlbConfig\n      arguments:\n        applicationName: app02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationSegmentWeightedlbConfig.\n","properties":{"applicationId":{"type":"string"},"applicationName":{"type":"string"},"microtenantId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getApplicationSegmentWeightedlbConfig.\n","properties":{"applicationId":{"type":"string"},"applicationName":{"type":"string"},"applicationToServerGroupMappings":{"items":{"$ref":"#/types/zpa:index/getApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping:getApplicationSegmentWeightedlbConfigApplicationToServerGroupMapping"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"microtenantId":{"type":"string"},"weightedLoadBalancing":{"type":"boolean"}},"required":["applicationId","applicationName","applicationToServerGroupMappings","weightedLoadBalancing","id"],"type":"object"}},"zpa:index/getApplicationServer:getApplicationServer":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Server Data Source by Name\nconst example = zpa.getApplicationServer({\n    name: \"server.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Server Data Source by Name\nexample = zpa.get_application_server(name=\"server.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Server Data Source by Name\n    var example = Zpa.GetApplicationServer.Invoke(new()\n    {\n        Name = \"server.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Server Data Source by Name\n\t\t_, err := zpa.LookupApplicationServer(ctx, \u0026zpa.LookupApplicationServerArgs{\n\t\t\tName: pulumi.StringRef(\"server.example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Server Data Source by Name\n        final var example = ZpaFunctions.getApplicationServer(GetApplicationServerArgs.builder()\n            .name(\"server.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Server Data Source by Name\n  example:\n    fn::invoke:\n      function: zpa:getApplicationServer\n      arguments:\n        name: server.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Application Server Data Source by ID\nconst example = zpa.getApplicationServer({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Application Server Data Source by ID\nexample = zpa.get_application_server(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Application Server Data Source by ID\n    var example = Zpa.GetApplicationServer.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Application Server Data Source by ID\n\t\t_, err := zpa.LookupApplicationServer(ctx, \u0026zpa.LookupApplicationServerArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetApplicationServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Application Server Data Source by ID\n        final var example = ZpaFunctions.getApplicationServer(GetApplicationServerArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Application Server Data Source by ID\n  example:\n    fn::invoke:\n      function: zpa:getApplicationServer\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationServer.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getApplicationServer.\n","properties":{"address":{"type":"string"},"appServerGroupIds":{"items":{"type":"string"},"type":"array"},"configSpace":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"}},"required":["address","appServerGroupIds","configSpace","creationTime","description","enabled","modifiedTime","modifiedby"],"type":"object"}},"zpa:index/getBaCertificate:getBaCertificate":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-web-server-certificates)\n* [API documentation](https://help.zscaler.com/zpa/configuring-certificates-using-api)\n\nUse the **zpa_ba_certificate** data source to get information about a browser access certificate created in the Zscaler Private Access cloud. This data source is required when creating a browser access application segment resource.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Browser Access Data Source\nconst foo = zpa.getBaCertificate({\n    name: \"example.acme.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Browser Access Data Source\nfoo = zpa.get_ba_certificate(name=\"example.acme.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Browser Access Data Source\n    var foo = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"example.acme.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Browser Access Data Source\n\t\t_, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"example.acme.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Browser Access Data Source\n        final var foo = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"example.acme.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Browser Access Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: example.acme.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Browser Access Data Source\nconst foo = zpa.getBaCertificate({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Browser Access Data Source\nfoo = zpa.get_ba_certificate(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Browser Access Data Source\n    var foo = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Browser Access Data Source\n\t\t_, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Browser Access Data Source\n        final var foo = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Browser Access Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBaCertificate.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBaCertificate.\n","properties":{"certChain":{"type":"string"},"certificate":{"type":"string"},"cname":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"issuedBy":{"type":"string"},"issuedTo":{"type":"string"},"microtenantId":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"publicKey":{"type":"string"},"sans":{"items":{"type":"string"},"type":"array"},"serialNo":{"type":"string"},"status":{"type":"string"},"validFromInEpochsec":{"type":"string"},"validToInEpochsec":{"type":"string"}},"required":["certChain","certificate","cname","creationTime","description","issuedBy","issuedTo","microtenantId","modifiedTime","modifiedby","publicKey","sans","serialNo","status","validFromInEpochsec","validToInEpochsec"],"type":"object"}},"zpa:index/getBranchConnectorGroup:getBranchConnectorGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-branch-connector-groups)\n* [API documentation](https://help.zscaler.com/zpa/about-branch-connector-groups)\n\nUse the **zpa_branch_connector_group** data source to get information about branch connector group resources from ZTW shared within the Zscaler Private Access cloud. This data source can be used when configuring \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-go=\"`PolicyAccessRuleV2`\" pulumi-lang-python=\"`PolicyAccessRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessRuleV2`\"\u003e`zpa.PolicyAccessRuleV2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-go=\"`PolicyAccessForwardingRule`\" pulumi-lang-python=\"`PolicyAccessForwardingRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-java=\"`zpa.PolicyAccessForwardingRule`\"\u003e`zpa.PolicyAccessForwardingRule`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessForwardingRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessForwardingRuleV2`\" pulumi-lang-go=\"`PolicyAccessForwardingRuleV2`\" pulumi-lang-python=\"`PolicyAccessForwardingRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessForwardingRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessForwardingRuleV2`\"\u003e`zpa.PolicyAccessForwardingRuleV2`\u003c/span\u003e, where the \u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e is `BRANCH_CONNECTOR_GROUP`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getBranchConnectorGroup({\n    name: \"GROUP01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_branch_connector_group(name=\"GROUP01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetBranchConnectorGroup.Invoke(new()\n    {\n        Name = \"GROUP01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetBranchConnectorGroup(ctx, \u0026zpa.GetBranchConnectorGroupArgs{\n\t\t\tName: pulumi.StringRef(\"GROUP01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBranchConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getBranchConnectorGroup(GetBranchConnectorGroupArgs.builder()\n            .name(\"GROUP01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getBranchConnectorGroup\n      arguments:\n        name: GROUP01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getBranchConnectorGroup({\n    id: \"123635465\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_branch_connector_group(id=\"123635465\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetBranchConnectorGroup.Invoke(new()\n    {\n        Id = \"123635465\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetBranchConnectorGroup(ctx, \u0026zpa.GetBranchConnectorGroupArgs{\n\t\t\tId: pulumi.StringRef(\"123635465\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBranchConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getBranchConnectorGroup(GetBranchConnectorGroupArgs.builder()\n            .id(\"123635465\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getBranchConnectorGroup\n      arguments:\n        id: '123635465'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBranchConnectorGroup.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBranchConnectorGroup.\n","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"}},"required":["enabled"],"type":"object"}},"zpa:index/getBrowserProtection:getBrowserProtection":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-browser-protection-profiles)\n* [API documentation](https://help.zscaler.com/zpa/about-browser-protection-profiles)\n\nUse the **zpa_browser_protection** data source to get information about managed browser protection profiles within the Zscaler Private Access cloud. This data source can be used when configuring \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyBrowserProtectionRule`\" pulumi-lang-dotnet=\"`zpa.PolicyBrowserProtectionRule`\" pulumi-lang-go=\"`PolicyBrowserProtectionRule`\" pulumi-lang-python=\"`PolicyBrowserProtectionRule`\" pulumi-lang-yaml=\"`zpa.PolicyBrowserProtectionRule`\" pulumi-lang-java=\"`zpa.PolicyBrowserProtectionRule`\"\u003e`zpa.PolicyBrowserProtectionRule`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getBrowserProtection({\n    name: \"Profile01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_browser_protection(name=\"Profile01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetBrowserProtection.Invoke(new()\n    {\n        Name = \"Profile01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetBrowserProtection(ctx, \u0026zpa.GetBrowserProtectionArgs{\n\t\t\tName: pulumi.StringRef(\"Profile01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBrowserProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getBrowserProtection(GetBrowserProtectionArgs.builder()\n            .name(\"Profile01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getBrowserProtection\n      arguments:\n        name: Profile01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBrowserProtection.\n","properties":{"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBrowserProtection.\n","properties":{"creationTime":{"type":"string"},"criteriaFlagsMask":{"type":"string"},"criterias":{"items":{"$ref":"#/types/zpa:index/getBrowserProtectionCriteria:getBrowserProtectionCriteria"},"type":"array"},"defaultCsp":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"}},"required":["creationTime","criterias","criteriaFlagsMask","defaultCsp","description","id","modifiedBy","modifiedTime"],"type":"object"}},"zpa:index/getC2CIPRanges:getC2CIPRanges":{"description":"* [Official documentation](https://help.zscaler.com/zpa/adding-ip-ranges)\n* [API documentation](https://help.zscaler.com/zpa/adding-ip-ranges)\n\nThe **zpa_c2c_ip_ranges** data source to get information about a C2C IP range created in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA C2C IP Ranges Data Source by Name\nconst _this = zpa.getC2CIPRanges({\n    name: \"Range01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA C2C IP Ranges Data Source by Name\nthis = zpa.get_c2_cip_ranges(name=\"Range01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA C2C IP Ranges Data Source by Name\n    var @this = Zpa.GetC2CIPRanges.Invoke(new()\n    {\n        Name = \"Range01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA C2C IP Ranges Data Source by Name\n\t\t_, err := zpa.LookupC2CIPRanges(ctx, \u0026zpa.LookupC2CIPRangesArgs{\n\t\t\tName: pulumi.StringRef(\"Range01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetC2CIPRangesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA C2C IP Ranges Data Source by Name\n        final var this = ZpaFunctions.getC2CIPRanges(GetC2CIPRangesArgs.builder()\n            .name(\"Range01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA C2C IP Ranges Data Source by Name\n  this:\n    fn::invoke:\n      function: zpa:getC2CIPRanges\n      arguments:\n        name: Range01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA C2C IP Ranges Data Source by ID\nconst _this = zpa.getC2CIPRanges({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA C2C IP Ranges Data Source by ID\nthis = zpa.get_c2_cip_ranges(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA C2C IP Ranges Data Source by ID\n    var @this = Zpa.GetC2CIPRanges.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA C2C IP Ranges Data Source by ID\n\t\t_, err := zpa.LookupC2CIPRanges(ctx, \u0026zpa.LookupC2CIPRangesArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetC2CIPRangesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA C2C IP Ranges Data Source by ID\n        final var this = ZpaFunctions.getC2CIPRanges(GetC2CIPRangesArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA C2C IP Ranges Data Source by ID\n  this:\n    fn::invoke:\n      function: zpa:getC2CIPRanges\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getC2CIPRanges.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getC2CIPRanges.\n","properties":{"availableIps":{"type":"string"},"countryCode":{"type":"string"},"creationTime":{"type":"string"},"customerId":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"ipRangeBegin":{"type":"string"},"ipRangeEnd":{"type":"string"},"isDeleted":{"type":"string"},"latitudeInDb":{"type":"string"},"location":{"type":"string"},"locationHint":{"type":"string"},"longitudeInDb":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"sccmFlag":{"type":"boolean"},"subnetCidr":{"type":"string"},"totalIps":{"type":"string"},"usedIps":{"type":"string"}},"required":["availableIps","countryCode","creationTime","customerId","description","enabled","ipRangeBegin","ipRangeEnd","isDeleted","latitudeInDb","location","locationHint","longitudeInDb","modifiedBy","modifiedTime","sccmFlag","subnetCidr","totalIps","usedIps"],"type":"object"}},"zpa:index/getCloudBrowserIsolationBanner:getCloudBrowserIsolationBanner":{"description":"* [Official documentation](https://help.zscaler.com/isolation/adding-banner-theme-isolation-end-user-notification-zpa)\n\nUse the **zpa_cloud_browser_isolation_banner** data source to get information about Cloud Browser Isolation banner. This data source information is required as part of the attribute \u003cspan pulumi-lang-nodejs=\"`bannerId`\" pulumi-lang-dotnet=\"`BannerId`\" pulumi-lang-go=\"`bannerId`\" pulumi-lang-python=\"`banner_id`\" pulumi-lang-yaml=\"`bannerId`\" pulumi-lang-java=\"`bannerId`\"\u003e`banner_id`\u003c/span\u003e when creating an Cloud Browser Isolation External Profile `\u003cspan pulumi-lang-nodejs=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-dotnet=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-go=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-python=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-yaml=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-java=\"`zpa.CloudBrowserIsolationExternalProfile`\"\u003e`zpa.CloudBrowserIsolationExternalProfile`\u003c/span\u003e`\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve CBI Region ID and Name\nconst _this = zpa.getCloudBrowserIsolationBanner({\n    name: \"Default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Retrieve CBI Region ID and Name\nthis = zpa.get_cloud_browser_isolation_banner(name=\"Default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve CBI Region ID and Name\n    var @this = Zpa.GetCloudBrowserIsolationBanner.Invoke(new()\n    {\n        Name = \"Default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve CBI Region ID and Name\n\t\t_, err := zpa.LookupCloudBrowserIsolationBanner(ctx, \u0026zpa.LookupCloudBrowserIsolationBannerArgs{\n\t\t\tName: pulumi.StringRef(\"Default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationBannerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve CBI Region ID and Name\n        final var this = ZpaFunctions.getCloudBrowserIsolationBanner(GetCloudBrowserIsolationBannerArgs.builder()\n            .name(\"Default\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve CBI Region ID and Name\n  this:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationBanner\n      arguments:\n        name: Default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCloudBrowserIsolationBanner.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudBrowserIsolationBanner.\n","properties":{"banner":{"type":"boolean"},"id":{"type":"string"},"isDefault":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"notificationText":{"type":"string"},"notificationTitle":{"type":"string"},"primaryColor":{"type":"string"},"textColor":{"type":"string"}},"required":["banner","isDefault","logo","notificationText","notificationTitle","primaryColor","textColor"],"type":"object"}},"zpa:index/getCloudBrowserIsolationCertificate:getCloudBrowserIsolationCertificate":{"description":"* [Official documentation](https://help.zscaler.com/isolation/adding-banner-theme-isolation-end-user-notification-zpa)\n\nUse the **zpa_cloud_browser_isolation_certificate** data source to get information about Cloud Browser Isolation Certificate. This data source information is required as part of the attribute \u003cspan pulumi-lang-nodejs=\"`certificateIds`\" pulumi-lang-dotnet=\"`CertificateIds`\" pulumi-lang-go=\"`certificateIds`\" pulumi-lang-python=\"`certificate_ids`\" pulumi-lang-yaml=\"`certificateIds`\" pulumi-lang-java=\"`certificateIds`\"\u003e`certificate_ids`\u003c/span\u003e when creating an Cloud Browser Isolation External Profile `\u003cspan pulumi-lang-nodejs=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-dotnet=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-go=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-python=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-yaml=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-java=\"`zpa.CloudBrowserIsolationExternalProfile`\"\u003e`zpa.CloudBrowserIsolationExternalProfile`\u003c/span\u003e`\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve CBI Certificate ID and Name\nconst _this = zpa.getCloudBrowserIsolationCertificate({\n    name: \"Zscaler Root Certificate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Retrieve CBI Certificate ID and Name\nthis = zpa.get_cloud_browser_isolation_certificate(name=\"Zscaler Root Certificate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve CBI Certificate ID and Name\n    var @this = Zpa.GetCloudBrowserIsolationCertificate.Invoke(new()\n    {\n        Name = \"Zscaler Root Certificate\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve CBI Certificate ID and Name\n\t\t_, err := zpa.LookupCloudBrowserIsolationCertificate(ctx, \u0026zpa.LookupCloudBrowserIsolationCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"Zscaler Root Certificate\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve CBI Certificate ID and Name\n        final var this = ZpaFunctions.getCloudBrowserIsolationCertificate(GetCloudBrowserIsolationCertificateArgs.builder()\n            .name(\"Zscaler Root Certificate\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve CBI Certificate ID and Name\n  this:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationCertificate\n      arguments:\n        name: Zscaler Root Certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCloudBrowserIsolationCertificate.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudBrowserIsolationCertificate.\n","properties":{"id":{"type":"string"},"isDefault":{"type":"boolean"},"name":{"type":"string"},"pem":{"type":"string"}},"required":["isDefault","pem"],"type":"object"}},"zpa:index/getCloudBrowserIsolationExternalProfile:getCloudBrowserIsolationExternalProfile":{"description":"* [Official documentation](https://help.zscaler.com/isolation/about-custom-root-certificates-cloud-browser-isolation)\n\nUse the **zpa_cloud_browser_isolation_external_profile** data source to get information about Cloud Browser Isolation external profile. This data source information can then be used in as part of \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-go=\"`PolicyAccessIsolationRule`\" pulumi-lang-python=\"`PolicyAccessIsolationRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-java=\"`zpa.PolicyAccessIsolationRule`\"\u003e`zpa.PolicyAccessIsolationRule`\u003c/span\u003e when the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e attribute is set to `ISOLATE`.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve CBI External Profile\nconst _this = zpa.getCloudBrowserIsolationExternalProfile({\n    name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Retrieve CBI External Profile\nthis = zpa.get_cloud_browser_isolation_external_profile(name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve CBI External Profile\n    var @this = Zpa.GetCloudBrowserIsolationExternalProfile.Invoke(new()\n    {\n        Name = \"Example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve CBI External Profile\n\t\t_, err := zpa.LookupCloudBrowserIsolationExternalProfile(ctx, \u0026zpa.LookupCloudBrowserIsolationExternalProfileArgs{\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationExternalProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve CBI External Profile\n        final var this = ZpaFunctions.getCloudBrowserIsolationExternalProfile(GetCloudBrowserIsolationExternalProfileArgs.builder()\n            .name(\"Example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve CBI External Profile\n  this:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationExternalProfile\n      arguments:\n        name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCloudBrowserIsolationExternalProfile.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudBrowserIsolationExternalProfile.\n","properties":{"bannerId":{"type":"string"},"certificateIds":{"items":{"type":"string"},"type":"array"},"debugModes":{"items":{"$ref":"#/types/zpa:index/getCloudBrowserIsolationExternalProfileDebugMode:getCloudBrowserIsolationExternalProfileDebugMode"},"type":"array"},"description":{"type":"string"},"href":{"type":"string"},"id":{"type":"string"},"isDefault":{"type":"boolean"},"name":{"type":"string"},"regions":{"items":{"$ref":"#/types/zpa:index/getCloudBrowserIsolationExternalProfileRegion:getCloudBrowserIsolationExternalProfileRegion"},"type":"array"},"securityControls":{"items":{"$ref":"#/types/zpa:index/getCloudBrowserIsolationExternalProfileSecurityControl:getCloudBrowserIsolationExternalProfileSecurityControl"},"type":"array"},"userExperiences":{"items":{"$ref":"#/types/zpa:index/getCloudBrowserIsolationExternalProfileUserExperience:getCloudBrowserIsolationExternalProfileUserExperience"},"type":"array"}},"required":["bannerId","certificateIds","debugModes","description","href","isDefault","regions","securityControls","userExperiences"],"type":"object"}},"zpa:index/getCloudBrowserIsolationRegion:getCloudBrowserIsolationRegion":{"description":"Use the **zpa_cloud_browser_isolation_region** data source to get information about Cloud Browser Isolation regions such as ID and Name. This data source information is required as part of the attribute \u003cspan pulumi-lang-nodejs=\"`regionIds`\" pulumi-lang-dotnet=\"`RegionIds`\" pulumi-lang-go=\"`regionIds`\" pulumi-lang-python=\"`region_ids`\" pulumi-lang-yaml=\"`regionIds`\" pulumi-lang-java=\"`regionIds`\"\u003e`region_ids`\u003c/span\u003e when creating an Cloud Browser Isolation External Profile `\u003cspan pulumi-lang-nodejs=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-dotnet=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-go=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-python=\"`CloudBrowserIsolationExternalProfile`\" pulumi-lang-yaml=\"`zpa.CloudBrowserIsolationExternalProfile`\" pulumi-lang-java=\"`zpa.CloudBrowserIsolationExternalProfile`\"\u003e`zpa.CloudBrowserIsolationExternalProfile`\u003c/span\u003e`\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve CBI Region ID and Name\nconst _this = zpa.getCloudBrowserIsolationRegion({\n    name: \"Singapore\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Retrieve CBI Region ID and Name\nthis = zpa.get_cloud_browser_isolation_region(name=\"Singapore\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve CBI Region ID and Name\n    var @this = Zpa.GetCloudBrowserIsolationRegion.Invoke(new()\n    {\n        Name = \"Singapore\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve CBI Region ID and Name\n\t\t_, err := zpa.GetCloudBrowserIsolationRegion(ctx, \u0026zpa.GetCloudBrowserIsolationRegionArgs{\n\t\t\tName: pulumi.StringRef(\"Singapore\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve CBI Region ID and Name\n        final var this = ZpaFunctions.getCloudBrowserIsolationRegion(GetCloudBrowserIsolationRegionArgs.builder()\n            .name(\"Singapore\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve CBI Region ID and Name\n  this:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationRegion\n      arguments:\n        name: Singapore\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCloudBrowserIsolationRegion.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudBrowserIsolationRegion.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"}},"zpa:index/getCloudBrowserIsolationZPAProfile:getCloudBrowserIsolationZPAProfile":{"description":"Use the **zpa_cloud_browser_isolation_zpa_profile** data source to get information about an isolation profile in the Zscaler Private Access cloud. This data source is required when configuring an isolation policy rule resource\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getCloudBrowserIsolationZPAProfile({\n    name: \"ZPA_Profile\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_cloud_browser_isolation_zpa_profile(name=\"ZPA_Profile\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetCloudBrowserIsolationZPAProfile.Invoke(new()\n    {\n        Name = \"ZPA_Profile\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetCloudBrowserIsolationZPAProfile(ctx, \u0026zpa.GetCloudBrowserIsolationZPAProfileArgs{\n\t\t\tName: pulumi.StringRef(\"ZPA_Profile\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudBrowserIsolationZPAProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getCloudBrowserIsolationZPAProfile(GetCloudBrowserIsolationZPAProfileArgs.builder()\n            .name(\"ZPA_Profile\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getCloudBrowserIsolationZPAProfile\n      arguments:\n        name: ZPA_Profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCloudBrowserIsolationZPAProfile.\n","properties":{"name":{"type":"string","description":"- (String) This field defines the name of the isolation profile.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudBrowserIsolationZPAProfile.\n","properties":{"cbiProfileId":{"type":"string"},"cbiTenantId":{"type":"string"},"cbiUrl":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"description":"- (String) This field defines the name of the isolation profile.\n","type":"string"}},"required":["cbiProfileId","cbiTenantId","cbiUrl","creationTime","description","enabled","id","modifiedTime","modifiedby"],"type":"object"}},"zpa:index/getCloudConnectorGroup:getCloudConnectorGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-web-server-certificates)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-cloud-connector-group-details-using-api)\n\nUse the **zpa_cloud_connector_group** data source to get information about a cloud connector group created from the Zscaler Private Access cloud. This data source can then be referenced within an Access Policy rule\n\n\u003e **NOTE:** A Cloud Connector Group resource is created in the Zscaler Cloud Connector cloud and replicated to the ZPA cloud. This resource can then be referenced in a Access Policy Rule where the Object Type = `EDGE_CONNECTOR_GROUP` is being used.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Cloud Connector Group Data Source\nconst foo = zpa.getCloudConnectorGroup({\n    name: \"AWS-Cloud\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Cloud Connector Group Data Source\nfoo = zpa.get_cloud_connector_group(name=\"AWS-Cloud\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Cloud Connector Group Data Source\n    var foo = Zpa.GetCloudConnectorGroup.Invoke(new()\n    {\n        Name = \"AWS-Cloud\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Cloud Connector Group Data Source\n\t\t_, err := zpa.GetCloudConnectorGroup(ctx, \u0026zpa.GetCloudConnectorGroupArgs{\n\t\t\tName: pulumi.StringRef(\"AWS-Cloud\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Cloud Connector Group Data Source\n        final var foo = ZpaFunctions.getCloudConnectorGroup(GetCloudConnectorGroupArgs.builder()\n            .name(\"AWS-Cloud\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Cloud Connector Group Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getCloudConnectorGroup\n      arguments:\n        name: AWS-Cloud\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Cloud Connector Group Data Source\nconst foo = zpa.getCloudConnectorGroup({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Cloud Connector Group Data Source\nfoo = zpa.get_cloud_connector_group(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Cloud Connector Group Data Source\n    var foo = Zpa.GetCloudConnectorGroup.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Cloud Connector Group Data Source\n\t\t_, err := zpa.GetCloudConnectorGroup(ctx, \u0026zpa.GetCloudConnectorGroupArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCloudConnectorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Cloud Connector Group Data Source\n        final var foo = ZpaFunctions.getCloudConnectorGroup(GetCloudConnectorGroupArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Cloud Connector Group Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getCloudConnectorGroup\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCloudConnectorGroup.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudConnectorGroup.\n","properties":{"cloudConnectors":{"items":{"$ref":"#/types/zpa:index/getCloudConnectorGroupCloudConnector:getCloudConnectorGroupCloudConnector"},"type":"array"},"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"geolocationId":{"type":"string"},"id":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"ziaCloud":{"type":"string"},"ziaOrgId":{"type":"string"}},"required":["cloudConnectors","creationTime","description","enabled","geolocationId","modifiedTime","modifiedby","ziaCloud","ziaOrgId"],"type":"object"}},"zpa:index/getCredentialPool:getCredentialPool":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-credential-pools)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-credentials-using-api)\n\nThe **zpa_pra_credential_pool** data source to get information about a privileged remote access credential pool created in the Zscaler Private Access cloud.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n# Retrieves PRA Credential Pool By Name\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getCredentialPool({\n    name: \"PRACredentialPool01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_credential_pool(name=\"PRACredentialPool01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetCredentialPool.Invoke(new()\n    {\n        Name = \"PRACredentialPool01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetCredentialPool(ctx, \u0026zpa.GetCredentialPoolArgs{\n\t\t\tName: pulumi.StringRef(\"PRACredentialPool01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCredentialPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getCredentialPool(GetCredentialPoolArgs.builder()\n            .name(\"PRACredentialPool01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getCredentialPool\n      arguments:\n        name: PRACredentialPool01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n# Retrieves PRA Credential Pool By ID\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getCredentialPool({\n    id: \"5458\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_credential_pool(id=\"5458\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetCredentialPool.Invoke(new()\n    {\n        Id = \"5458\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetCredentialPool(ctx, \u0026zpa.GetCredentialPoolArgs{\n\t\t\tId: pulumi.StringRef(\"5458\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCredentialPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getCredentialPool(GetCredentialPoolArgs.builder()\n            .id(\"5458\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getCredentialPool\n      arguments:\n        id: '5458'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCredentialPool.\n","properties":{"credentials":{"type":"array","items":{"$ref":"#/types/zpa:index/getCredentialPoolCredential:getCredentialPoolCredential"}},"id":{"type":"string"},"name":{"type":"string","description":"- (String) The name of the privileged credential.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCredentialPool.\n","properties":{"creationTime":{"type":"string"},"credentialMappingCount":{"type":"string"},"credentialType":{"type":"string"},"credentials":{"items":{"$ref":"#/types/zpa:index/getCredentialPoolCredential:getCredentialPoolCredential"},"type":"array"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"description":"- (String) The name of the privileged credential.\n","type":"string"}},"required":["creationTime","credentialMappingCount","credentialType","credentials","microtenantId","microtenantName","modifiedBy","modifiedTime"],"type":"object"}},"zpa:index/getCustomerVersionProfile:getCustomerVersionProfile":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-connectors)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-version-profile-details-using-api)\n\nUse the **zpa_customer_version_profile** data source to get information about all customer version profiles from the Zscaler Private Access cloud. This data source can be associated with an App Connector Group within the parameter \u003cspan pulumi-lang-nodejs=\"`versionProfileId`\" pulumi-lang-dotnet=\"`VersionProfileId`\" pulumi-lang-go=\"`versionProfileId`\" pulumi-lang-python=\"`version_profile_id`\" pulumi-lang-yaml=\"`versionProfileId`\" pulumi-lang-java=\"`versionProfileId`\"\u003e`version_profile_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`versionProfileName`\" pulumi-lang-dotnet=\"`VersionProfileName`\" pulumi-lang-go=\"`versionProfileName`\" pulumi-lang-python=\"`version_profile_name`\" pulumi-lang-yaml=\"`versionProfileName`\" pulumi-lang-java=\"`versionProfileName`\"\u003e`version_profile_name`\u003c/span\u003e\n\nThe customer version profile IDs are:\n\n* `Default` = \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e\n* `Previous Default` = \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e\n* `New Release` = \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve \"Default\" customer version profile\nconst _default = zpa.getCustomerVersionProfile({\n    name: \"Default\",\n});\n// Retrieve \"Previous Default\" customer version profile\nconst previousDefault = zpa.getCustomerVersionProfile({\n    name: \"Previous Default\",\n});\n// Retrieve \"New Release\" customer version profile\nconst newRelease = zpa.getCustomerVersionProfile({\n    name: \"New Release\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Retrieve \"Default\" customer version profile\ndefault = zpa.get_customer_version_profile(name=\"Default\")\n# Retrieve \"Previous Default\" customer version profile\nprevious_default = zpa.get_customer_version_profile(name=\"Previous Default\")\n# Retrieve \"New Release\" customer version profile\nnew_release = zpa.get_customer_version_profile(name=\"New Release\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve \"Default\" customer version profile\n    var @default = Zpa.GetCustomerVersionProfile.Invoke(new()\n    {\n        Name = \"Default\",\n    });\n\n    // Retrieve \"Previous Default\" customer version profile\n    var previousDefault = Zpa.GetCustomerVersionProfile.Invoke(new()\n    {\n        Name = \"Previous Default\",\n    });\n\n    // Retrieve \"New Release\" customer version profile\n    var newRelease = Zpa.GetCustomerVersionProfile.Invoke(new()\n    {\n        Name = \"New Release\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve \"Default\" customer version profile\n\t\t_, err := zpa.GetCustomerVersionProfile(ctx, \u0026zpa.GetCustomerVersionProfileArgs{\n\t\t\tName: \"Default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve \"Previous Default\" customer version profile\n\t\t_, err = zpa.GetCustomerVersionProfile(ctx, \u0026zpa.GetCustomerVersionProfileArgs{\n\t\t\tName: \"Previous Default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve \"New Release\" customer version profile\n\t\t_, err = zpa.GetCustomerVersionProfile(ctx, \u0026zpa.GetCustomerVersionProfileArgs{\n\t\t\tName: \"New Release\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetCustomerVersionProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve \"Default\" customer version profile\n        final var default = ZpaFunctions.getCustomerVersionProfile(GetCustomerVersionProfileArgs.builder()\n            .name(\"Default\")\n            .build());\n\n        // Retrieve \"Previous Default\" customer version profile\n        final var previousDefault = ZpaFunctions.getCustomerVersionProfile(GetCustomerVersionProfileArgs.builder()\n            .name(\"Previous Default\")\n            .build());\n\n        // Retrieve \"New Release\" customer version profile\n        final var newRelease = ZpaFunctions.getCustomerVersionProfile(GetCustomerVersionProfileArgs.builder()\n            .name(\"New Release\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve \"Default\" customer version profile\n  default:\n    fn::invoke:\n      function: zpa:getCustomerVersionProfile\n      arguments:\n        name: Default\n  # Retrieve \"Previous Default\" customer version profile\n  previousDefault:\n    fn::invoke:\n      function: zpa:getCustomerVersionProfile\n      arguments:\n        name: Previous Default\n  # Retrieve \"New Release\" customer version profile\n  newRelease:\n    fn::invoke:\n      function: zpa:getCustomerVersionProfile\n      arguments:\n        name: New Release\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCustomerVersionProfile.\n","properties":{"name":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getCustomerVersionProfile.\n","properties":{"creationTime":{"type":"string"},"customScopeCustomerIds":{"items":{"$ref":"#/types/zpa:index/getCustomerVersionProfileCustomScopeCustomerId:getCustomerVersionProfileCustomScopeCustomerId"},"type":"array"},"customScopeRequestCustomerIds":{"items":{"$ref":"#/types/zpa:index/getCustomerVersionProfileCustomScopeRequestCustomerId:getCustomerVersionProfileCustomScopeRequestCustomerId"},"type":"array"},"customerId":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"numberOfAssistants":{"type":"string"},"numberOfCustomers":{"type":"string"},"numberOfPrivateBrokers":{"type":"string"},"numberOfSiteControllers":{"type":"string"},"numberOfUpdatedAssistants":{"type":"string"},"numberOfUpdatedPrivateBrokers":{"type":"string"},"numberOfUpdatedSiteControllers":{"type":"string"},"upgradePriority":{"type":"string"},"versions":{"items":{"$ref":"#/types/zpa:index/getCustomerVersionProfileVersion:getCustomerVersionProfileVersion"},"type":"array"},"visibilityScope":{"type":"string"}},"required":["creationTime","customScopeCustomerIds","customScopeRequestCustomerIds","customerId","description","id","modifiedBy","modifiedTime","name","numberOfAssistants","numberOfCustomers","numberOfPrivateBrokers","numberOfSiteControllers","numberOfUpdatedAssistants","numberOfUpdatedPrivateBrokers","numberOfUpdatedSiteControllers","upgradePriority","versions","visibilityScope"],"type":"object"}},"zpa:index/getEnrollmentCert:getEnrollmentCert":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-enrollment-ca-certificates)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-enrollment-certificate-details-using-api)\n\nUse the **zpa_enrollment_cert** data source to get information about all configured enrollment certificate details created in the Zscaler Private Access cloud. This data source is required when creating provisioning key resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst root = zpa.getEnrollmentCert({\n    name: \"Root\",\n});\nconst client = zpa.getEnrollmentCert({\n    name: \"Client\",\n});\nconst connector = zpa.getEnrollmentCert({\n    name: \"Connector\",\n});\nconst serviceEdge = zpa.getEnrollmentCert({\n    name: \"Service Edge\",\n});\nconst isolationClient = zpa.getEnrollmentCert({\n    name: \"Isolation Client\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nroot = zpa.get_enrollment_cert(name=\"Root\")\nclient = zpa.get_enrollment_cert(name=\"Client\")\nconnector = zpa.get_enrollment_cert(name=\"Connector\")\nservice_edge = zpa.get_enrollment_cert(name=\"Service Edge\")\nisolation_client = zpa.get_enrollment_cert(name=\"Isolation Client\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var root = Zpa.GetEnrollmentCert.Invoke(new()\n    {\n        Name = \"Root\",\n    });\n\n    var client = Zpa.GetEnrollmentCert.Invoke(new()\n    {\n        Name = \"Client\",\n    });\n\n    var connector = Zpa.GetEnrollmentCert.Invoke(new()\n    {\n        Name = \"Connector\",\n    });\n\n    var serviceEdge = Zpa.GetEnrollmentCert.Invoke(new()\n    {\n        Name = \"Service Edge\",\n    });\n\n    var isolationClient = Zpa.GetEnrollmentCert.Invoke(new()\n    {\n        Name = \"Isolation Client\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetEnrollmentCert(ctx, \u0026zpa.GetEnrollmentCertArgs{\n\t\t\tName: pulumi.StringRef(\"Root\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetEnrollmentCert(ctx, \u0026zpa.GetEnrollmentCertArgs{\n\t\t\tName: pulumi.StringRef(\"Client\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetEnrollmentCert(ctx, \u0026zpa.GetEnrollmentCertArgs{\n\t\t\tName: pulumi.StringRef(\"Connector\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetEnrollmentCert(ctx, \u0026zpa.GetEnrollmentCertArgs{\n\t\t\tName: pulumi.StringRef(\"Service Edge\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetEnrollmentCert(ctx, \u0026zpa.GetEnrollmentCertArgs{\n\t\t\tName: pulumi.StringRef(\"Isolation Client\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetEnrollmentCertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var root = ZpaFunctions.getEnrollmentCert(GetEnrollmentCertArgs.builder()\n            .name(\"Root\")\n            .build());\n\n        final var client = ZpaFunctions.getEnrollmentCert(GetEnrollmentCertArgs.builder()\n            .name(\"Client\")\n            .build());\n\n        final var connector = ZpaFunctions.getEnrollmentCert(GetEnrollmentCertArgs.builder()\n            .name(\"Connector\")\n            .build());\n\n        final var serviceEdge = ZpaFunctions.getEnrollmentCert(GetEnrollmentCertArgs.builder()\n            .name(\"Service Edge\")\n            .build());\n\n        final var isolationClient = ZpaFunctions.getEnrollmentCert(GetEnrollmentCertArgs.builder()\n            .name(\"Isolation Client\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  root:\n    fn::invoke:\n      function: zpa:getEnrollmentCert\n      arguments:\n        name: Root\n  client:\n    fn::invoke:\n      function: zpa:getEnrollmentCert\n      arguments:\n        name: Client\n  connector:\n    fn::invoke:\n      function: zpa:getEnrollmentCert\n      arguments:\n        name: Connector\n  serviceEdge:\n    fn::invoke:\n      function: zpa:getEnrollmentCert\n      arguments:\n        name: Service Edge\n  isolationClient:\n    fn::invoke:\n      function: zpa:getEnrollmentCert\n      arguments:\n        name: Isolation Client\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEnrollmentCert.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getEnrollmentCert.\n","properties":{"allowSigning":{"type":"boolean"},"certificate":{"type":"string"},"clientCertType":{"type":"string"},"cname":{"type":"string"},"creationTime":{"type":"string"},"csr":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"issuedBy":{"type":"string"},"issuedTo":{"type":"string"},"microtenantId":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"parentCertId":{"type":"string"},"parentCertName":{"type":"string"},"privateKey":{"type":"string"},"privateKeyPresent":{"type":"boolean"},"serialNo":{"type":"string"},"validFromInEpochSec":{"type":"string"},"validToInEpochSec":{"type":"string"},"zrsaEncryptedPrivateKey":{"type":"string"},"zrsaEncryptedSessionKey":{"type":"string"}},"required":["allowSigning","certificate","clientCertType","cname","creationTime","csr","description","issuedBy","issuedTo","modifiedBy","modifiedTime","parentCertId","parentCertName","privateKey","privateKeyPresent","serialNo","validFromInEpochSec","validToInEpochSec","zrsaEncryptedPrivateKey","zrsaEncryptedSessionKey"],"type":"object"}},"zpa:index/getExtranetResourcePartner:getExtranetResourcePartner":{"description":"* [Official documentation](https://help.zscaler.com/zpa/viewing-extranet-dashboard)\n* [API documentation](https://help.zscaler.com/zpa/viewing-extranet-dashboard)\n\nUse the **zpa_extranet_resource_partner** data source to get information about partner extranet resources in the Zscaler Private Access cloud. This data source is required when configuring resources such as: \u003cspan pulumi-lang-nodejs=\"`zpa.ServerGroup`\" pulumi-lang-dotnet=\"`zpa.ServerGroup`\" pulumi-lang-go=\"`ServerGroup`\" pulumi-lang-python=\"`ServerGroup`\" pulumi-lang-yaml=\"`zpa.ServerGroup`\" pulumi-lang-java=\"`zpa.ServerGroup`\"\u003e`zpa.ServerGroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zpa.ApplicationSegment`\" pulumi-lang-dotnet=\"`zpa.ApplicationSegment`\" pulumi-lang-go=\"`ApplicationSegment`\" pulumi-lang-python=\"`ApplicationSegment`\" pulumi-lang-yaml=\"`zpa.ApplicationSegment`\" pulumi-lang-java=\"`zpa.ApplicationSegment`\"\u003e`zpa.ApplicationSegment`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zpaApplicationSegmnentPra`\" pulumi-lang-dotnet=\"`ZpaApplicationSegmnentPra`\" pulumi-lang-go=\"`zpaApplicationSegmnentPra`\" pulumi-lang-python=\"`zpa_application_segmnent_pra`\" pulumi-lang-yaml=\"`zpaApplicationSegmnentPra`\" pulumi-lang-java=\"`zpaApplicationSegmnentPra`\"\u003e`zpa_application_segmnent_pra`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-go=\"`PolicyAccessRuleV2`\" pulumi-lang-python=\"`PolicyAccessRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessRuleV2`\"\u003e`zpa.PolicyAccessRuleV2`\u003c/span\u003e in [Extranet mode](https://help.zscaler.com/zia/about-extranet)\n\n","inputs":{"description":"A collection of arguments for invoking getExtranetResourcePartner.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getExtranetResourcePartner.\n","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"}},"required":["enabled"],"type":"object"}},"zpa:index/getIdPController:getIdPController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/identity-management)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-idp-configuration-details-using-api)\n\nUse the **zpa_idp_controller** data source to get information about an Identity Provider created in the Zscaler Private Access cloud. This data source is required when creating:\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n* Access policy Rules\n* Access policy timeout rules\n* Access policy forwarding rules\n* Access policy inspection rules\n* Access policy isolation rules\n* Access policy privileged credentials rules\n* Access policy privileged capabilities rules\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA IdP Controller Data Source\nconst example = zpa.getIdPController({\n    name: \"idp_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA IdP Controller Data Source\nexample = zpa.get_id_p_controller(name=\"idp_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA IdP Controller Data Source\n    var example = Zpa.GetIdPController.Invoke(new()\n    {\n        Name = \"idp_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA IdP Controller Data Source\n\t\t_, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tName: pulumi.StringRef(\"idp_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA IdP Controller Data Source\n        final var example = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .name(\"idp_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA IdP Controller Data Source\n  example:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        name: idp_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA IdP Controller Data Source\nconst example = zpa.getIdPController({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA IdP Controller Data Source\nexample = zpa.get_id_p_controller(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA IdP Controller Data Source\n    var example = Zpa.GetIdPController.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA IdP Controller Data Source\n\t\t_, err := zpa.GetIdPController(ctx, \u0026zpa.GetIdPControllerArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIdPControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA IdP Controller Data Source\n        final var example = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA IdP Controller Data Source\n  example:\n    fn::invoke:\n      function: zpa:getIdPController\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdPController.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdPController.\n","properties":{"adminMetadatas":{"items":{"$ref":"#/types/zpa:index/getIdPControllerAdminMetadata:getIdPControllerAdminMetadata"},"type":"array"},"adminSpSigningCertId":{"type":"string"},"autoProvision":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"disableSamlBasedPolicy":{"type":"boolean"},"domainLists":{"items":{"type":"string"},"type":"array"},"enableArbitraryAuthDomains":{"type":"string"},"enableScimBasedPolicy":{"type":"boolean"},"enabled":{"type":"boolean"},"forceAuth":{"type":"boolean"},"id":{"type":"string"},"idpEntityId":{"type":"string"},"loginHint":{"type":"boolean"},"loginNameAttribute":{"type":"string"},"loginUrl":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"reauthOnUserUpdate":{"type":"boolean"},"redirectBinding":{"type":"boolean"},"scimEnabled":{"type":"boolean"},"scimServiceProviderEndpoint":{"type":"string"},"scimSharedSecretExists":{"type":"boolean"},"signSamlRequest":{"type":"string"},"ssoTypes":{"items":{"type":"string"},"type":"array"},"useCustomSpMetadata":{"type":"boolean"},"userMetadatas":{"items":{"$ref":"#/types/zpa:index/getIdPControllerUserMetadata:getIdPControllerUserMetadata"},"type":"array"},"userSpSigningCertId":{"type":"string"}},"required":["adminMetadatas","adminSpSigningCertId","autoProvision","creationTime","description","disableSamlBasedPolicy","domainLists","enableArbitraryAuthDomains","enableScimBasedPolicy","enabled","forceAuth","id","idpEntityId","loginHint","loginNameAttribute","loginUrl","modifiedTime","modifiedby","name","reauthOnUserUpdate","redirectBinding","scimEnabled","scimServiceProviderEndpoint","scimSharedSecretExists","signSamlRequest","ssoTypes","useCustomSpMetadata","userMetadatas","userSpSigningCertId"],"type":"object"}},"zpa:index/getInspectionAllPredefinedControls:getInspectionAllPredefinedControls":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-custom-controls)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-controls-using-api)\n\nUse the **zpa_inspection_all_predefined_controls** data source to get information about all OWASP predefined control and prefedined control version by group name. The `Preprocessors` predefined control is the default predefined control, This data source is always required, when creating an inspection profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getInspectionAllPredefinedControls({\n    version: \"OWASP_CRS/3.3.0\",\n    groupName: \"Preprocessors\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_inspection_all_predefined_controls(version=\"OWASP_CRS/3.3.0\",\n    group_name=\"Preprocessors\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetInspectionAllPredefinedControls.Invoke(new()\n    {\n        Version = \"OWASP_CRS/3.3.0\",\n        GroupName = \"Preprocessors\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetInspectionAllPredefinedControls(ctx, \u0026zpa.GetInspectionAllPredefinedControlsArgs{\n\t\t\tVersion:   pulumi.StringRef(\"OWASP_CRS/3.3.0\"),\n\t\t\tGroupName: pulumi.StringRef(\"Preprocessors\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetInspectionAllPredefinedControlsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getInspectionAllPredefinedControls(GetInspectionAllPredefinedControlsArgs.builder()\n            .version(\"OWASP_CRS/3.3.0\")\n            .groupName(\"Preprocessors\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getInspectionAllPredefinedControls\n      arguments:\n        version: OWASP_CRS/3.3.0\n        groupName: Preprocessors\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInspectionAllPredefinedControls.\n","properties":{"groupName":{"type":"string"},"version":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInspectionAllPredefinedControls.\n","properties":{"groupName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lists":{"items":{"$ref":"#/types/zpa:index/getInspectionAllPredefinedControlsList:getInspectionAllPredefinedControlsList"},"type":"array"},"version":{"type":"string"}},"required":["lists","id"],"type":"object"}},"zpa:index/getInspectionCustomControls:getInspectionCustomControls":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-custom-controls)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-controls-using-api)\n\nUse the **zpa_inspection_custom_controls** data source to get information about an inspection custom control. This data source can be associated with an inspection profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst example = zpa.getInspectionCustomControls({\n    name: \"ZPA_Inspection_Custom_Control\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nexample = zpa.get_inspection_custom_controls(name=\"ZPA_Inspection_Custom_Control\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Zpa.GetInspectionCustomControls.Invoke(new()\n    {\n        Name = \"ZPA_Inspection_Custom_Control\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupInspectionCustomControls(ctx, \u0026zpa.LookupInspectionCustomControlsArgs{\n\t\t\tName: pulumi.StringRef(\"ZPA_Inspection_Custom_Control\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetInspectionCustomControlsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ZpaFunctions.getInspectionCustomControls(GetInspectionCustomControlsArgs.builder()\n            .name(\"ZPA_Inspection_Custom_Control\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: zpa:getInspectionCustomControls\n      arguments:\n        name: ZPA_Inspection_Custom_Control\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst example = zpa.getInspectionCustomControls({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nexample = zpa.get_inspection_custom_controls(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Zpa.GetInspectionCustomControls.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupInspectionCustomControls(ctx, \u0026zpa.LookupInspectionCustomControlsArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetInspectionCustomControlsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ZpaFunctions.getInspectionCustomControls(GetInspectionCustomControlsArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: zpa:getInspectionCustomControls\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInspectionCustomControls.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInspectionCustomControls.\n","properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"controlNumber":{"type":"string"},"controlRuleJson":{"type":"string"},"controlType":{"type":"string"},"creationTime":{"type":"string"},"defaultAction":{"type":"string"},"defaultActionValue":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"paranoiaLevel":{"type":"string"},"protocolType":{"type":"string"},"rules":{"items":{"$ref":"#/types/zpa:index/getInspectionCustomControlsRule:getInspectionCustomControlsRule"},"type":"array"},"severity":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"required":["action","actionValue","controlNumber","controlRuleJson","controlType","creationTime","defaultAction","defaultActionValue","description","id","modifiedTime","modifiedby","name","paranoiaLevel","protocolType","rules","severity","type","version"],"type":"object"}},"zpa:index/getInspectionPredefinedControls:getInspectionPredefinedControls":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-custom-controls)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-controls-using-api)\n\nUse the **zpa_inspection_predefined_controls** data source to get information about an OWASP predefined control and prefedined control version. This data source is required when creating an inspection profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst example = zpa.getInspectionPredefinedControls({\n    name: \"Failed to parse request body\",\n    version: \"OWASP_CRS/3.3.0\",\n});\nexport const zpaInspectionPredefinedControls = example;\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nexample = zpa.get_inspection_predefined_controls(name=\"Failed to parse request body\",\n    version=\"OWASP_CRS/3.3.0\")\npulumi.export(\"zpaInspectionPredefinedControls\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Zpa.GetInspectionPredefinedControls.Invoke(new()\n    {\n        Name = \"Failed to parse request body\",\n        Version = \"OWASP_CRS/3.3.0\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaInspectionPredefinedControls\"] = example,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := zpa.GetInspectionPredefinedControls(ctx, \u0026zpa.GetInspectionPredefinedControlsArgs{\n\t\t\tName:    pulumi.StringRef(\"Failed to parse request body\"),\n\t\t\tVersion: pulumi.StringRef(\"OWASP_CRS/3.3.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaInspectionPredefinedControls\", example)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetInspectionPredefinedControlsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ZpaFunctions.getInspectionPredefinedControls(GetInspectionPredefinedControlsArgs.builder()\n            .name(\"Failed to parse request body\")\n            .version(\"OWASP_CRS/3.3.0\")\n            .build());\n\n        ctx.export(\"zpaInspectionPredefinedControls\", example);\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: zpa:getInspectionPredefinedControls\n      arguments:\n        name: Failed to parse request body\n        version: OWASP_CRS/3.3.0\noutputs:\n  zpaInspectionPredefinedControls: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInspectionPredefinedControls.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInspectionPredefinedControls.\n","properties":{"action":{"type":"string"},"actionValue":{"type":"string"},"associatedInspectionProfileNames":{"items":{"$ref":"#/types/zpa:index/getInspectionPredefinedControlsAssociatedInspectionProfileName:getInspectionPredefinedControlsAssociatedInspectionProfileName"},"type":"array"},"attachment":{"type":"string"},"controlGroup":{"type":"string"},"controlNumber":{"type":"string"},"controlType":{"type":"string"},"creationTime":{"type":"string"},"defaultAction":{"type":"string"},"defaultActionValue":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"paranoiaLevel":{"type":"string"},"protocolType":{"type":"string"},"severity":{"type":"string"},"version":{"type":"string"}},"required":["action","actionValue","associatedInspectionProfileNames","attachment","controlGroup","controlNumber","controlType","creationTime","defaultAction","defaultActionValue","description","id","modifiedTime","modifiedby","name","paranoiaLevel","protocolType","severity"],"type":"object"}},"zpa:index/getInspectionProfile:getInspectionProfile":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-browser-protection-profiles)\n* [API documentation](https://help.zscaler.com/zpa/configuring-appprotection-profiles-using-api)\n\nUse the **zpa_inspection_profile** data source to get information about an inspection profile in the Zscaler Private Access cloud. This resource can then be referenced in an inspection custom control resource.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getInspectionProfile({\n    name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_inspection_profile(name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetInspectionProfile.Invoke(new()\n    {\n        Name = \"Example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupInspectionProfile(ctx, \u0026zpa.LookupInspectionProfileArgs{\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetInspectionProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getInspectionProfile(GetInspectionProfileArgs.builder()\n            .name(\"Example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getInspectionProfile\n      arguments:\n        name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInspectionProfile.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (String) This field defines the name of the inspection profile.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInspectionProfile.\n","properties":{"commonGlobalOverrideActionsConfig":{"additionalProperties":{"type":"string"},"type":"object"},"controlsInfos":{"items":{"$ref":"#/types/zpa:index/getInspectionProfileControlsInfo:getInspectionProfileControlsInfo"},"type":"array"},"creationTime":{"type":"string"},"customControls":{"items":{"$ref":"#/types/zpa:index/getInspectionProfileCustomControl:getInspectionProfileCustomControl"},"type":"array"},"description":{"type":"string"},"globalControlActions":{"items":{"type":"string"},"type":"array"},"id":{"type":"string"},"incarnationNumber":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"description":"- (String) This field defines the name of the inspection profile.\n","type":"string"},"paranoiaLevel":{"type":"string"},"predefinedControls":{"items":{"$ref":"#/types/zpa:index/getInspectionProfilePredefinedControl:getInspectionProfilePredefinedControl"},"type":"array"},"predefinedControlsVersion":{"type":"string"},"webSocketControls":{"items":{"$ref":"#/types/zpa:index/getInspectionProfileWebSocketControl:getInspectionProfileWebSocketControl"},"type":"array"}},"required":["commonGlobalOverrideActionsConfig","controlsInfos","creationTime","customControls","description","globalControlActions","id","incarnationNumber","modifiedBy","modifiedTime","name","paranoiaLevel","predefinedControls","predefinedControlsVersion","webSocketControls"],"type":"object"}},"zpa:index/getIsolationProfile:getIsolationProfile":{"description":"* [Official documentation](https://help.zscaler.com/isolation/creating-isolation-profiles-zpa)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-isolation-profile-details-using-api)\n\nUse the **zpa_isolation_profile** data source to get information about an isolation profile in the Zscaler Private Access cloud. This data source is required when configuring an isolation policy rule resource\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst isolationProfile = zpa.getIsolationProfile({\n    name: \"zpa_isolation_profile\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nisolation_profile = zpa.get_isolation_profile(name=\"zpa_isolation_profile\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var isolationProfile = Zpa.GetIsolationProfile.Invoke(new()\n    {\n        Name = \"zpa_isolation_profile\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetIsolationProfile(ctx, \u0026zpa.GetIsolationProfileArgs{\n\t\t\tName: pulumi.StringRef(\"zpa_isolation_profile\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetIsolationProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var isolationProfile = ZpaFunctions.getIsolationProfile(GetIsolationProfileArgs.builder()\n            .name(\"zpa_isolation_profile\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  isolationProfile:\n    fn::invoke:\n      function: zpa:getIsolationProfile\n      arguments:\n        name: zpa_isolation_profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIsolationProfile.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (Required) This field defines the name of the isolation profile.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIsolationProfile.\n","properties":{"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"isolationProfileId":{"type":"string"},"isolationTenantId":{"type":"string"},"isolationUrl":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"description":"- (Required) This field defines the name of the isolation profile.\n","type":"string"}},"required":["creationTime","description","enabled","id","isolationProfileId","isolationTenantId","isolationUrl","modifiedBy","modifiedTime"],"type":"object"}},"zpa:index/getLSSClientTypes:getLSSClientTypes":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-log-streaming-service)\n* [API documentation](https://help.zscaler.com/zpa/configuring-log-streaming-service-configurations-using-api)\n\nUse the **zpa_lss_config_client_types** data source to get information about all LSS client types in the Zscaler Private Access cloud. This data source is required when the defining a policy rule resource for an object type as `CLIENT_TYPE` parameter in the LSS Config Controller resource is set. To learn more see the To learn more see the [Getting Details of All LSS Status Codes](https://help.zscaler.com/zpa/log-streaming-service-configuration-use-cases#GettingLSSClientTypes)\n\n\u003e **NOTE** By Default the ZPA provider will return all client types\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst example = zpa.getLSSClientTypes({});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nexample = zpa.get_lss_client_types()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Zpa.GetLSSClientTypes.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetLSSClientTypes(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ZpaFunctions.getLSSClientTypes(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: zpa:getLSSClientTypes\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Read-Only\n\nThe following arguments are supported:\n\n* `\u003cspan pulumi-lang-nodejs=\"\"zpnClientTypeEdgeConnector\"\" pulumi-lang-dotnet=\"\"ZpnClientTypeEdgeConnector\"\" pulumi-lang-go=\"\"zpnClientTypeEdgeConnector\"\" pulumi-lang-python=\"\"zpn_client_type_edge_connector\"\" pulumi-lang-yaml=\"\"zpnClientTypeEdgeConnector\"\" pulumi-lang-java=\"\"zpnClientTypeEdgeConnector\"\"\u003e\"zpn_client_type_edge_connector\"\u003c/span\u003e = \"Cloud Connector\"`\n* `\u003cspan pulumi-lang-nodejs=\"\"zpnClientTypeExporter\"\" pulumi-lang-dotnet=\"\"ZpnClientTypeExporter\"\" pulumi-lang-go=\"\"zpnClientTypeExporter\"\" pulumi-lang-python=\"\"zpn_client_type_exporter\"\" pulumi-lang-yaml=\"\"zpnClientTypeExporter\"\" pulumi-lang-java=\"\"zpnClientTypeExporter\"\"\u003e\"zpn_client_type_exporter\"\u003c/span\u003e = \"Web Browser`\n* `\u003cspan pulumi-lang-nodejs=\"\"zpnClientTypeIpAnchoring\"\" pulumi-lang-dotnet=\"\"ZpnClientTypeIpAnchoring\"\" pulumi-lang-go=\"\"zpnClientTypeIpAnchoring\"\" pulumi-lang-python=\"\"zpn_client_type_ip_anchoring\"\" pulumi-lang-yaml=\"\"zpnClientTypeIpAnchoring\"\" pulumi-lang-java=\"\"zpnClientTypeIpAnchoring\"\"\u003e\"zpn_client_type_ip_anchoring\"\u003c/span\u003e = \"ZIA Service Edge\"`\n* `\u003cspan pulumi-lang-nodejs=\"\"zpnClientTypeMachineTunnel\"\" pulumi-lang-dotnet=\"\"ZpnClientTypeMachineTunnel\"\" pulumi-lang-go=\"\"zpnClientTypeMachineTunnel\"\" pulumi-lang-python=\"\"zpn_client_type_machine_tunnel\"\" pulumi-lang-yaml=\"\"zpnClientTypeMachineTunnel\"\" pulumi-lang-java=\"\"zpnClientTypeMachineTunnel\"\"\u003e\"zpn_client_type_machine_tunnel\"\u003c/span\u003e = \"Machine Tunnel\"`\n* `\u003cspan pulumi-lang-nodejs=\"\"zpnClientTypeSlogger\"\" pulumi-lang-dotnet=\"\"ZpnClientTypeSlogger\"\" pulumi-lang-go=\"\"zpnClientTypeSlogger\"\" pulumi-lang-python=\"\"zpn_client_type_slogger\"\" pulumi-lang-yaml=\"\"zpnClientTypeSlogger\"\" pulumi-lang-java=\"\"zpnClientTypeSlogger\"\"\u003e\"zpn_client_type_slogger\"\u003c/span\u003e = \"ZPA LSS\"`\n* `\u003cspan pulumi-lang-nodejs=\"\"zpnClientTypeZapp\"\" pulumi-lang-dotnet=\"\"ZpnClientTypeZapp\"\" pulumi-lang-go=\"\"zpnClientTypeZapp\"\" pulumi-lang-python=\"\"zpn_client_type_zapp\"\" pulumi-lang-yaml=\"\"zpnClientTypeZapp\"\" pulumi-lang-java=\"\"zpnClientTypeZapp\"\"\u003e\"zpn_client_type_zapp\"\u003c/span\u003e = \"Client Connector\"`\n\nTo learn more see the [Getting Details of All LSS Status Codes](https://help.zscaler.com/zpa/log-streaming-service-configuration-use-cases#GettingLSSClientTypes)\n","outputs":{"description":"A collection of values returned by getLSSClientTypes.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"zpnClientTypeEdgeConnector":{"type":"string"},"zpnClientTypeExporter":{"type":"string"},"zpnClientTypeIpAnchoring":{"type":"string"},"zpnClientTypeMachineTunnel":{"type":"string"},"zpnClientTypeSlogger":{"type":"string"},"zpnClientTypeZapp":{"type":"string"}},"required":["zpnClientTypeEdgeConnector","zpnClientTypeExporter","zpnClientTypeIpAnchoring","zpnClientTypeMachineTunnel","zpnClientTypeSlogger","zpnClientTypeZapp","id"],"type":"object"}},"zpa:index/getLSSConfigController:getLSSConfigController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-log-streaming-service)\n* [API documentation](https://help.zscaler.com/zpa/configuring-log-streaming-service-configurations-using-api)\n\nUse the **zpa_lss_config_controller** data source to get information about a Log Streaming (LSS) configuration resource created in the Zscaler Private Access.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  # Retrieve Log Streaming Information by Name\n  example:\n    fn::invoke:\n      function: zpa:getLSSConfigController\n      arguments:\n        name: testAcc-lss-server\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Retrieve Log Streaming Information by ID\nconst example = zpa.getLSSConfigController({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Retrieve Log Streaming Information by ID\nexample = zpa.get_lss_config_controller(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Log Streaming Information by ID\n    var example = Zpa.GetLSSConfigController.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Log Streaming Information by ID\n\t\t_, err := zpa.LookupLSSConfigController(ctx, \u0026zpa.LookupLSSConfigControllerArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLSSConfigControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Log Streaming Information by ID\n        final var example = ZpaFunctions.getLSSConfigController(GetLSSConfigControllerArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve Log Streaming Information by ID\n  example:\n    fn::invoke:\n      function: zpa:getLSSConfigController\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLSSConfigController.\n","properties":{"configs":{"type":"array","items":{"$ref":"#/types/zpa:index/getLSSConfigControllerConfig:getLSSConfigControllerConfig"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLSSConfigController.\n","properties":{"configs":{"items":{"$ref":"#/types/zpa:index/getLSSConfigControllerConfig:getLSSConfigControllerConfig"},"type":"array"},"connectorGroups":{"items":{"$ref":"#/types/zpa:index/getLSSConfigControllerConnectorGroup:getLSSConfigControllerConnectorGroup"},"type":"array"},"id":{"type":"string"},"policyRules":{"items":{"$ref":"#/types/zpa:index/getLSSConfigControllerPolicyRule:getLSSConfigControllerPolicyRule"},"type":"array"}},"required":["configs","connectorGroups","policyRules"],"type":"object"}},"zpa:index/getLSSLogTypeFormats:getLSSLogTypeFormats":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-log-streaming-service)\n* [API documentation](https://help.zscaler.com/zpa/configuring-log-streaming-service-configurations-using-api)\n\nUse the **zpa_lss_config_log_type_formats** data source to get information about all LSS log type formats in the Zscaler Private Access cloud. This data source is required when creating an LSS Config Controller resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst zpnTransLog = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_trans_log\",\n});\nconst zpnAuthLog = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_auth_log\",\n});\nconst zpnAstAuthLog = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_ast_auth_log\",\n});\nconst zpnHttpTransLog = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_http_trans_log\",\n});\nconst zpnAuditLog = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_audit_log\",\n});\nconst zpnSysAuthLog = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_sys_auth_log\",\n});\nconst zpnAstComprehensiveStats = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_ast_comprehensive_stats\",\n});\nconst zpnWafHttpExchangesLog = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_waf_http_exchanges_log\",\n});\nconst zpnPbrokerComprehensiveStats = zpa.getLSSLogTypeFormats({\n    logType: \"zpn_pbroker_comprehensive_stats\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nzpn_trans_log = zpa.get_lss_log_type_formats(log_type=\"zpn_trans_log\")\nzpn_auth_log = zpa.get_lss_log_type_formats(log_type=\"zpn_auth_log\")\nzpn_ast_auth_log = zpa.get_lss_log_type_formats(log_type=\"zpn_ast_auth_log\")\nzpn_http_trans_log = zpa.get_lss_log_type_formats(log_type=\"zpn_http_trans_log\")\nzpn_audit_log = zpa.get_lss_log_type_formats(log_type=\"zpn_audit_log\")\nzpn_sys_auth_log = zpa.get_lss_log_type_formats(log_type=\"zpn_sys_auth_log\")\nzpn_ast_comprehensive_stats = zpa.get_lss_log_type_formats(log_type=\"zpn_ast_comprehensive_stats\")\nzpn_waf_http_exchanges_log = zpa.get_lss_log_type_formats(log_type=\"zpn_waf_http_exchanges_log\")\nzpn_pbroker_comprehensive_stats = zpa.get_lss_log_type_formats(log_type=\"zpn_pbroker_comprehensive_stats\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zpnTransLog = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_trans_log\",\n    });\n\n    var zpnAuthLog = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_auth_log\",\n    });\n\n    var zpnAstAuthLog = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_ast_auth_log\",\n    });\n\n    var zpnHttpTransLog = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_http_trans_log\",\n    });\n\n    var zpnAuditLog = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_audit_log\",\n    });\n\n    var zpnSysAuthLog = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_sys_auth_log\",\n    });\n\n    var zpnAstComprehensiveStats = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_ast_comprehensive_stats\",\n    });\n\n    var zpnWafHttpExchangesLog = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_waf_http_exchanges_log\",\n    });\n\n    var zpnPbrokerComprehensiveStats = Zpa.GetLSSLogTypeFormats.Invoke(new()\n    {\n        LogType = \"zpn_pbroker_comprehensive_stats\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_trans_log\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_auth_log\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_ast_auth_log\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_http_trans_log\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_audit_log\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_sys_auth_log\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_ast_comprehensive_stats\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_waf_http_exchanges_log\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetLSSLogTypeFormats(ctx, \u0026zpa.GetLSSLogTypeFormatsArgs{\n\t\t\tLogType: \"zpn_pbroker_comprehensive_stats\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLSSLogTypeFormatsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var zpnTransLog = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_trans_log\")\n            .build());\n\n        final var zpnAuthLog = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_auth_log\")\n            .build());\n\n        final var zpnAstAuthLog = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_ast_auth_log\")\n            .build());\n\n        final var zpnHttpTransLog = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_http_trans_log\")\n            .build());\n\n        final var zpnAuditLog = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_audit_log\")\n            .build());\n\n        final var zpnSysAuthLog = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_sys_auth_log\")\n            .build());\n\n        final var zpnAstComprehensiveStats = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_ast_comprehensive_stats\")\n            .build());\n\n        final var zpnWafHttpExchangesLog = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_waf_http_exchanges_log\")\n            .build());\n\n        final var zpnPbrokerComprehensiveStats = ZpaFunctions.getLSSLogTypeFormats(GetLSSLogTypeFormatsArgs.builder()\n            .logType(\"zpn_pbroker_comprehensive_stats\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  zpnTransLog:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_trans_log\n  zpnAuthLog:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_auth_log\n  zpnAstAuthLog:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_ast_auth_log\n  zpnHttpTransLog:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_http_trans_log\n  zpnAuditLog:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_audit_log\n  zpnSysAuthLog:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_sys_auth_log\n  zpnAstComprehensiveStats:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_ast_comprehensive_stats\n  zpnWafHttpExchangesLog:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_waf_http_exchanges_log\n  zpnPbrokerComprehensiveStats:\n    fn::invoke:\n      function: zpa:getLSSLogTypeFormats\n      arguments:\n        logType: zpn_pbroker_comprehensive_stats\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Read-Only\n\nThe following arguments are supported:\n\n* \u003cspan pulumi-lang-nodejs=\"`logType`\" pulumi-lang-dotnet=\"`LogType`\" pulumi-lang-go=\"`logType`\" pulumi-lang-python=\"`log_type`\" pulumi-lang-yaml=\"`logType`\" pulumi-lang-java=\"`logType`\"\u003e`log_type`\u003c/span\u003e - (Required) The type of log to be exported.\n  * \u003cspan pulumi-lang-nodejs=\"`zpnTransLog`\" pulumi-lang-dotnet=\"`ZpnTransLog`\" pulumi-lang-go=\"`zpnTransLog`\" pulumi-lang-python=\"`zpn_trans_log`\" pulumi-lang-yaml=\"`zpnTransLog`\" pulumi-lang-java=\"`zpnTransLog`\"\u003e`zpn_trans_log`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnAuthLog`\" pulumi-lang-dotnet=\"`ZpnAuthLog`\" pulumi-lang-go=\"`zpnAuthLog`\" pulumi-lang-python=\"`zpn_auth_log`\" pulumi-lang-yaml=\"`zpnAuthLog`\" pulumi-lang-java=\"`zpnAuthLog`\"\u003e`zpn_auth_log`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnAstAuthLog`\" pulumi-lang-dotnet=\"`ZpnAstAuthLog`\" pulumi-lang-go=\"`zpnAstAuthLog`\" pulumi-lang-python=\"`zpn_ast_auth_log`\" pulumi-lang-yaml=\"`zpnAstAuthLog`\" pulumi-lang-java=\"`zpnAstAuthLog`\"\u003e`zpn_ast_auth_log`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnHttpTransLog`\" pulumi-lang-dotnet=\"`ZpnHttpTransLog`\" pulumi-lang-go=\"`zpnHttpTransLog`\" pulumi-lang-python=\"`zpn_http_trans_log`\" pulumi-lang-yaml=\"`zpnHttpTransLog`\" pulumi-lang-java=\"`zpnHttpTransLog`\"\u003e`zpn_http_trans_log`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnAuditLog`\" pulumi-lang-dotnet=\"`ZpnAuditLog`\" pulumi-lang-go=\"`zpnAuditLog`\" pulumi-lang-python=\"`zpn_audit_log`\" pulumi-lang-yaml=\"`zpnAuditLog`\" pulumi-lang-java=\"`zpnAuditLog`\"\u003e`zpn_audit_log`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnSysAuthLog`\" pulumi-lang-dotnet=\"`ZpnSysAuthLog`\" pulumi-lang-go=\"`zpnSysAuthLog`\" pulumi-lang-python=\"`zpn_sys_auth_log`\" pulumi-lang-yaml=\"`zpnSysAuthLog`\" pulumi-lang-java=\"`zpnSysAuthLog`\"\u003e`zpn_sys_auth_log`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnAstComprehensiveStats`\" pulumi-lang-dotnet=\"`ZpnAstComprehensiveStats`\" pulumi-lang-go=\"`zpnAstComprehensiveStats`\" pulumi-lang-python=\"`zpn_ast_comprehensive_stats`\" pulumi-lang-yaml=\"`zpnAstComprehensiveStats`\" pulumi-lang-java=\"`zpnAstComprehensiveStats`\"\u003e`zpn_ast_comprehensive_stats`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnWafHttpExchangesLog`\" pulumi-lang-dotnet=\"`ZpnWafHttpExchangesLog`\" pulumi-lang-go=\"`zpnWafHttpExchangesLog`\" pulumi-lang-python=\"`zpn_waf_http_exchanges_log`\" pulumi-lang-yaml=\"`zpnWafHttpExchangesLog`\" pulumi-lang-java=\"`zpnWafHttpExchangesLog`\"\u003e`zpn_waf_http_exchanges_log`\u003c/span\u003e\n  * \u003cspan pulumi-lang-nodejs=\"`zpnPbrokerComprehensiveStats`\" pulumi-lang-dotnet=\"`ZpnPbrokerComprehensiveStats`\" pulumi-lang-go=\"`zpnPbrokerComprehensiveStats`\" pulumi-lang-python=\"`zpn_pbroker_comprehensive_stats`\" pulumi-lang-yaml=\"`zpnPbrokerComprehensiveStats`\" pulumi-lang-java=\"`zpnPbrokerComprehensiveStats`\"\u003e`zpn_pbroker_comprehensive_stats`\u003c/span\u003e\n","inputs":{"description":"A collection of arguments for invoking getLSSLogTypeFormats.\n","properties":{"logType":{"type":"string"}},"type":"object","required":["logType"]},"outputs":{"description":"A collection of values returned by getLSSLogTypeFormats.\n","properties":{"csv":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"json":{"type":"string"},"logType":{"type":"string"},"tsv":{"type":"string"}},"required":["csv","json","logType","tsv","id"],"type":"object"}},"zpa:index/getLSSStatusCodes:getLSSStatusCodes":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-log-streaming-service)\n* [API documentation](https://help.zscaler.com/zpa/configuring-log-streaming-service-configurations-using-api)\n\nUse the **zpa_lss_config_status_codes** data source to get information about all LSS status codes in the Zscaler Private Access cloud. This data source is required when the \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e parameter in the LSS Config Controller resource is set. To learn more see the [Getting Details of All LSS Status Codes](https://help.zscaler.com/zpa/log-streaming-service-configuration-use-cases#GettingLSSStatusCodes)\n\n\u003e **NOTE** By Default the ZPA provider will return all status codes\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getLSSStatusCodes({});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_lss_status_codes()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetLSSStatusCodes.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetLSSStatusCodes(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getLSSStatusCodes(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getLSSStatusCodes\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getLSSStatusCodes.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"zpnAstAuthLog":{"additionalProperties":{"type":"string"},"type":"object"},"zpnAuthLog":{"additionalProperties":{"type":"string"},"type":"object"},"zpnSysAuthLog":{"additionalProperties":{"type":"string"},"type":"object"},"zpnTransLog":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["zpnAstAuthLog","zpnAuthLog","zpnSysAuthLog","zpnTransLog","id"],"type":"object"}},"zpa:index/getLocationController:getLocationController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api)\n* [API documentation](https://help.zscaler.com/zpa/policy-management#/mgmtconfig/v2/admin/customers/{customerId}/policySet/{policySetId}/rule-post)\n\nUse the **zpa_location_controller** data source to get information about location resources from ZIA shared within the Zscaler Private Access cloud. This data source can be used when configuring \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-go=\"`PolicyAccessRuleV2`\" pulumi-lang-python=\"`PolicyAccessRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessRuleV2`\"\u003e`zpa.PolicyAccessRuleV2`\u003c/span\u003e where the \u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e is `LOCATION`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getLocationController({\n    name: \"ExtranetLocation01 | zscalerbeta.net\",\n    ziaErName: \"NewExtranet 8432\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_location_controller(name=\"ExtranetLocation01 | zscalerbeta.net\",\n    zia_er_name=\"NewExtranet 8432\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetLocationController.Invoke(new()\n    {\n        Name = \"ExtranetLocation01 | zscalerbeta.net\",\n        ZiaErName = \"NewExtranet 8432\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetLocationController(ctx, \u0026zpa.GetLocationControllerArgs{\n\t\t\tName:      \"ExtranetLocation01 | zscalerbeta.net\",\n\t\t\tZiaErName: \"NewExtranet 8432\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLocationControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getLocationController(GetLocationControllerArgs.builder()\n            .name(\"ExtranetLocation01 | zscalerbeta.net\")\n            .ziaErName(\"NewExtranet 8432\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getLocationController\n      arguments:\n        name: ExtranetLocation01 | zscalerbeta.net\n        ziaErName: NewExtranet 8432\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLocationController.\n","properties":{"name":{"type":"string"},"ziaErName":{"type":"string"}},"type":"object","required":["name","ziaErName"]},"outputs":{"description":"A collection of values returned by getLocationController.\n","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"ziaErName":{"type":"string"}},"required":["enabled","id","name","ziaErName"],"type":"object"}},"zpa:index/getLocationControllerSummary:getLocationControllerSummary":{"description":"* [Official documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api)\n* [API documentation](https://help.zscaler.com/zpa/policy-management#/mgmtconfig/v2/admin/customers/{customerId}/policySet/{policySetId}/rule-post)\n\nUse the **zpa_location_controller_summary** data source to get information about location resources from ZIA shared within the Zscaler Private Access cloud. This data source can be used when configuring \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-go=\"`PolicyAccessRuleV2`\" pulumi-lang-python=\"`PolicyAccessRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessRuleV2`\"\u003e`zpa.PolicyAccessRuleV2`\u003c/span\u003e where the \u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e is `LOCATION`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getLocationControllerSummary({\n    name: \"ExtranetLocation01 | zscalerbeta.net\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_location_controller_summary(name=\"ExtranetLocation01 | zscalerbeta.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetLocationControllerSummary.Invoke(new()\n    {\n        Name = \"ExtranetLocation01 | zscalerbeta.net\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetLocationControllerSummary(ctx, \u0026zpa.GetLocationControllerSummaryArgs{\n\t\t\tName: pulumi.StringRef(\"ExtranetLocation01 | zscalerbeta.net\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLocationControllerSummaryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getLocationControllerSummary(GetLocationControllerSummaryArgs.builder()\n            .name(\"ExtranetLocation01 | zscalerbeta.net\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getLocationControllerSummary\n      arguments:\n        name: ExtranetLocation01 | zscalerbeta.net\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLocationControllerSummary.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLocationControllerSummary.\n","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"}},"required":["enabled"],"type":"object"}},"zpa:index/getLocationGroupController:getLocationGroupController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api)\n* [API documentation](https://help.zscaler.com/zpa/policy-management#/mgmtconfig/v2/admin/customers/{customerId}/policySet/{policySetId}/rule-post)\n\nUse the **zpa_location_group_controller** data source to get information about location resources from ZIA shared within the Zscaler Private Access cloud. This data source can be used when configuring \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-go=\"`PolicyAccessRuleV2`\" pulumi-lang-python=\"`PolicyAccessRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessRuleV2`\"\u003e`zpa.PolicyAccessRuleV2`\u003c/span\u003e where the \u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e is `LOCATION_GROUP`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getLocationGroupController({\n    locationName: \"ExtranetLocation01\",\n    ziaErName: \"NewExtranet 8432\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_location_group_controller(location_name=\"ExtranetLocation01\",\n    zia_er_name=\"NewExtranet 8432\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetLocationGroupController.Invoke(new()\n    {\n        LocationName = \"ExtranetLocation01\",\n        ZiaErName = \"NewExtranet 8432\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetLocationGroupController(ctx, \u0026zpa.GetLocationGroupControllerArgs{\n\t\t\tLocationName: \"ExtranetLocation01\",\n\t\t\tZiaErName:    \"NewExtranet 8432\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetLocationGroupControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getLocationGroupController(GetLocationGroupControllerArgs.builder()\n            .locationName(\"ExtranetLocation01\")\n            .ziaErName(\"NewExtranet 8432\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getLocationGroupController\n      arguments:\n        locationName: ExtranetLocation01\n        ziaErName: NewExtranet 8432\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLocationGroupController.\n","properties":{"locationName":{"type":"string"},"ziaErName":{"type":"string"}},"type":"object","required":["locationName","ziaErName"]},"outputs":{"description":"A collection of values returned by getLocationGroupController.\n","properties":{"id":{"type":"string"},"locationGroupId":{"type":"string"},"locationGroupName":{"type":"string"},"locationName":{"type":"string"},"name":{"type":"string"},"ziaErName":{"type":"string"},"ziaLocations":{"items":{"$ref":"#/types/zpa:index/getLocationGroupControllerZiaLocation:getLocationGroupControllerZiaLocation"},"type":"array"}},"required":["id","locationGroupId","locationGroupName","locationName","name","ziaErName","ziaLocations"],"type":"object"}},"zpa:index/getMachineGroup:getMachineGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-machine-groups)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-machine-group-details-using-api)\n\nUse the **zpa_machine_group** data source to get information about a machine group created in the Zscaler Private Access cloud. This data source can then be referenced in an Access Policy, Timeout policy, Forwarding Policy, Inspection Policy or Isolation Policy.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Machine Group Data Source by name\nconst example = zpa.getMachineGroup({\n    name: \"MGR01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Machine Group Data Source by name\nexample = zpa.get_machine_group(name=\"MGR01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Machine Group Data Source by name\n    var example = Zpa.GetMachineGroup.Invoke(new()\n    {\n        Name = \"MGR01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Machine Group Data Source by name\n\t\t_, err := zpa.GetMachineGroup(ctx, \u0026zpa.GetMachineGroupArgs{\n\t\t\tName: pulumi.StringRef(\"MGR01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetMachineGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Machine Group Data Source by name\n        final var example = ZpaFunctions.getMachineGroup(GetMachineGroupArgs.builder()\n            .name(\"MGR01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Machine Group Data Source by name\n  example:\n    fn::invoke:\n      function: zpa:getMachineGroup\n      arguments:\n        name: MGR01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Machine Group Data Source by id\nconst example = zpa.getMachineGroup({\n    id: \"1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Machine Group Data Source by id\nexample = zpa.get_machine_group(id=\"1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Machine Group Data Source by id\n    var example = Zpa.GetMachineGroup.Invoke(new()\n    {\n        Id = \"1234567890\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Machine Group Data Source by id\n\t\t_, err := zpa.GetMachineGroup(ctx, \u0026zpa.GetMachineGroupArgs{\n\t\t\tId: pulumi.StringRef(\"1234567890\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetMachineGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Machine Group Data Source by id\n        final var example = ZpaFunctions.getMachineGroup(GetMachineGroupArgs.builder()\n            .id(\"1234567890\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Machine Group Data Source by id\n  example:\n    fn::invoke:\n      function: zpa:getMachineGroup\n      arguments:\n        id: '1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMachineGroup.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getMachineGroup.\n","properties":{"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"machines":{"items":{"$ref":"#/types/zpa:index/getMachineGroupMachine:getMachineGroupMachine"},"type":"array"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"}},"required":["creationTime","description","enabled","machines","modifiedBy","modifiedTime"],"type":"object"}},"zpa:index/getManagedBrowserProfile:getManagedBrowserProfile":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-browser-protection-profiles)\n* [API documentation](https://help.zscaler.com/zpa/about-browser-protection-profiles)\n\nUse the **zpa_managed_browser_profile** data source to get information about managed browser protection profiles within the Zscaler Private Access cloud. This data source can be used when configuring \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-go=\"`PolicyAccessRuleV2`\" pulumi-lang-python=\"`PolicyAccessRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessRuleV2`\"\u003e`zpa.PolicyAccessRuleV2`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessIsolationRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessIsolationRuleV2`\" pulumi-lang-go=\"`PolicyAccessIsolationRuleV2`\" pulumi-lang-python=\"`PolicyAccessIsolationRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessIsolationRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessIsolationRuleV2`\"\u003e`zpa.PolicyAccessIsolationRuleV2`\u003c/span\u003e where the \u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e is `CHROME_POSTURE_PROFILE`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getManagedBrowserProfile({\n    name: \"Profile01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_managed_browser_profile(name=\"Profile01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetManagedBrowserProfile.Invoke(new()\n    {\n        Name = \"Profile01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetManagedBrowserProfile(ctx, \u0026zpa.GetManagedBrowserProfileArgs{\n\t\t\tName: pulumi.StringRef(\"Profile01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetManagedBrowserProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getManagedBrowserProfile(GetManagedBrowserProfileArgs.builder()\n            .name(\"Profile01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getManagedBrowserProfile\n      arguments:\n        name: Profile01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getManagedBrowserProfile.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getManagedBrowserProfile.\n","properties":{"browserType":{"type":"string"},"chromePostureProfiles":{"items":{"$ref":"#/types/zpa:index/getManagedBrowserProfileChromePostureProfile:getManagedBrowserProfileChromePostureProfile"},"type":"array"},"creationTime":{"type":"string"},"customerId":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"}},"required":["browserType","chromePostureProfiles","creationTime","customerId","description","microtenantId","microtenantName","modifiedBy","modifiedTime"],"type":"object"}},"zpa:index/getMicrotenant:getMicrotenant":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-microtenants)\n* [API documentation](https://help.zscaler.com/zpa/configuring-microtenants-using-api)\n\nThe **zpa_microtenant_controller** data source to get information about a machine group created in the Zscaler Private Access cloud. This data source allows administrators to retrieve a specific microtenant ID, which can be passed to other supported resources via the \u003cspan pulumi-lang-nodejs=\"`microtenantId`\" pulumi-lang-dotnet=\"`MicrotenantId`\" pulumi-lang-go=\"`microtenantId`\" pulumi-lang-python=\"`microtenant_id`\" pulumi-lang-yaml=\"`microtenantId`\" pulumi-lang-java=\"`microtenantId`\"\u003e`microtenant_id`\u003c/span\u003e attribute.\n\n⚠️ **WARNING:**: This feature is in limited availability and requires additional license. To learn more, contact Zscaler Support or your local account team.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Microtenant Controller Data Source\nconst _this = zpa.getMicrotenant({\n    name: \"Microtenant_A\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Microtenant Controller Data Source\nthis = zpa.get_microtenant(name=\"Microtenant_A\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Microtenant Controller Data Source\n    var @this = Zpa.GetMicrotenant.Invoke(new()\n    {\n        Name = \"Microtenant_A\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Microtenant Controller Data Source\n\t\t_, err := zpa.LookupMicrotenant(ctx, \u0026zpa.LookupMicrotenantArgs{\n\t\t\tName: pulumi.StringRef(\"Microtenant_A\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetMicrotenantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Microtenant Controller Data Source\n        final var this = ZpaFunctions.getMicrotenant(GetMicrotenantArgs.builder()\n            .name(\"Microtenant_A\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Microtenant Controller Data Source\n  this:\n    fn::invoke:\n      function: zpa:getMicrotenant\n      arguments:\n        name: Microtenant_A\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMicrotenant.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (Required) Name of the microtenant controller.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getMicrotenant.\n","properties":{"creationTime":{"type":"string"},"criteriaAttribute":{"type":"string"},"criteriaAttributeValues":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"description":"- (Required) Name of the microtenant controller.\n","type":"string"},"operator":{"type":"string"},"priority":{"type":"string"},"privilegedApprovalsEnabled":{"type":"boolean"},"roles":{"items":{"$ref":"#/types/zpa:index/getMicrotenantRole:getMicrotenantRole"},"type":"array"},"users":{"items":{"$ref":"#/types/zpa:index/getMicrotenantUser:getMicrotenantUser"},"type":"array"}},"required":["creationTime","criteriaAttribute","criteriaAttributeValues","description","enabled","modifiedBy","modifiedTime","operator","priority","privilegedApprovalsEnabled","roles","users"],"type":"object"}},"zpa:index/getPRAApproval:getPRAApproval":{"description":"Use the **zpa_pra_approval_controller** data source to get information about a privileged remote access approval created in the Zscaler Private Access cloud.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n","inputs":{"description":"A collection of arguments for invoking getPRAApproval.\n","properties":{"emailIds":{"type":"array","items":{"type":"string"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPRAApproval.\n","properties":{"applications":{"items":{"$ref":"#/types/zpa:index/getPRAApprovalApplication:getPRAApprovalApplication"},"type":"array"},"creationTime":{"type":"string"},"emailIds":{"items":{"type":"string"},"type":"array"},"endTime":{"type":"string"},"id":{"type":"string"},"microtenantId":{"description":"(string)  The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant. Pass microtenantId as null to retrieve data from all customers associated with the tenant.\n","type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"startTime":{"type":"string"},"status":{"description":"(string) The status of the privileged approval. The supported values are:\n- `INVALID`: The privileged approval is invalid.\n- `ACTIVE`: The privileged approval is currently available for the user.\n- `FUTURE`: The privileged approval is available for a user at a set time in the future.\n- `EXPIRED`: The privileged approval is no longer available for the user.\n","type":"string"},"workingHours":{"items":{"$ref":"#/types/zpa:index/getPRAApprovalWorkingHour:getPRAApprovalWorkingHour"},"type":"array"}},"required":["applications","creationTime","endTime","microtenantId","modifiedBy","modifiedTime","startTime","status","workingHours"],"type":"object"}},"zpa:index/getPRAConsole:getPRAConsole":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-consoles)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-consoles-using-api)\n\nThe **zpa_pra_console_controller** data source gets information about a privileged remote access console created in the Zscaler Private Access cloud.\nThis resource can then be referenced in an privileged access policy credential and a privileged access portal resource.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n","inputs":{"description":"A collection of arguments for invoking getPRAConsole.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (Required) The name of the privileged console.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPRAConsole.\n","properties":{"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"iconText":{"type":"string"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"description":"- (Required) The name of the privileged console.\n","type":"string"},"praApplications":{"items":{"$ref":"#/types/zpa:index/getPRAConsolePraApplication:getPRAConsolePraApplication"},"type":"array"},"praPortals":{"items":{"$ref":"#/types/zpa:index/getPRAConsolePraPortal:getPRAConsolePraPortal"},"type":"array"}},"required":["creationTime","description","enabled","iconText","microtenantId","microtenantName","modifiedBy","modifiedTime","praApplications","praPortals"],"type":"object"}},"zpa:index/getPRACredential:getPRACredential":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-credentials)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-credentials-using-api)\n\nThe **zpa_pra_credential_controller** data source to get information about a privileged remote access credential created in the Zscaler Private Access cloud.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n","inputs":{"description":"A collection of arguments for invoking getPRACredential.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"- (Optional) The name of the privileged credential.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPRACredential.\n","properties":{"creationTime":{"type":"string"},"credentialType":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"lastCredentialResetTime":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"description":"- (Optional) The name of the privileged credential.\n","type":"string"},"password":{"type":"string"},"userDomain":{"type":"string"},"username":{"type":"string"}},"required":["creationTime","credentialType","description","lastCredentialResetTime","microtenantId","microtenantName","modifiedBy","modifiedTime","password","userDomain","username"],"type":"object"}},"zpa:index/getPRAPortal:getPRAPortal":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-privileged-portals)\n* [API documentation](https://help.zscaler.com/zpa/configuring-privileged-portals-using-api)\n\nUse the **zpa_pra_portal_controller** data source to get information about a privileged remote access portal created in the Zscaler Private Access cloud. This data source can then be referenced in an privileged remote access console resource.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA PRA Portal Data Source\nconst _this = zpa.getPRAPortal({\n    name: \"Example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA PRA Portal Data Source\nthis = zpa.get_pra_portal(name=\"Example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA PRA Portal Data Source\n    var @this = Zpa.GetPRAPortal.Invoke(new()\n    {\n        Name = \"Example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA PRA Portal Data Source\n\t\t_, err := zpa.LookupPRAPortal(ctx, \u0026zpa.LookupPRAPortalArgs{\n\t\t\tName: pulumi.StringRef(\"Example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPRAPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA PRA Portal Data Source\n        final var this = ZpaFunctions.getPRAPortal(GetPRAPortalArgs.builder()\n            .name(\"Example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA PRA Portal Data Source\n  this:\n    fn::invoke:\n      function: zpa:getPRAPortal\n      arguments:\n        name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPRAPortal.\n","properties":{"extDomain":{"type":"string"},"extDomainName":{"type":"string"},"extDomainTranslation":{"type":"string"},"extLabel":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPRAPortal.\n","properties":{"approvalReviewers":{"items":{"type":"string"},"type":"array"},"certificateId":{"type":"string"},"certificateName":{"type":"string"},"cname":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"domain":{"type":"string"},"enabled":{"type":"boolean"},"extDomain":{"type":"string"},"extDomainName":{"type":"string"},"extDomainTranslation":{"type":"string"},"extLabel":{"type":"string"},"getcName":{"type":"string"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"userNotification":{"type":"string"},"userNotificationEnabled":{"type":"boolean"},"userPortalGid":{"type":"string"},"userPortalName":{"type":"string"}},"required":["approvalReviewers","certificateId","certificateName","cname","creationTime","description","domain","enabled","getcName","microtenantId","microtenantName","modifiedBy","modifiedTime","userNotification","userNotificationEnabled","userPortalGid","userPortalName"],"type":"object"}},"zpa:index/getPolicyClientType:getPolicyClientType":{"description":"* [Official documentation](https://help.zscaler.com/zpa)\n* [API documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api#getClientTypes)\n\nUse the **zpa_access_policy_client_types** data source to get information about all client types for the specified customer in the Zscaler Private Access cloud. This data source can be optionally used when defining the following policy types:\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessTimeOutRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessTimeOutRule`\" pulumi-lang-go=\"`PolicyAccessTimeOutRule`\" pulumi-lang-python=\"`PolicyAccessTimeOutRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessTimeOutRule`\" pulumi-lang-java=\"`zpa.PolicyAccessTimeOutRule`\"\u003e`zpa.PolicyAccessTimeOutRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-go=\"`PolicyAccessForwardingRule`\" pulumi-lang-python=\"`PolicyAccessForwardingRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-java=\"`zpa.PolicyAccessForwardingRule`\"\u003e`zpa.PolicyAccessForwardingRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-go=\"`PolicyAccessIsolationRule`\" pulumi-lang-python=\"`PolicyAccessIsolationRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-java=\"`zpa.PolicyAccessIsolationRule`\"\u003e`zpa.PolicyAccessIsolationRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessInspectionRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessInspectionRule`\" pulumi-lang-go=\"`PolicyAccessInspectionRule`\" pulumi-lang-python=\"`PolicyAccessInspectionRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessInspectionRule`\" pulumi-lang-java=\"`zpa.PolicyAccessInspectionRule`\"\u003e`zpa.PolicyAccessInspectionRule`\u003c/span\u003e`\n\nThe `\u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e` attribute must be defined as \"CLIENT_TYPE\" in the policy operand condition. To learn more see the To learn more see the [Getting Details of All Client Types](https://help.zscaler.com/zpa/configuring-access-policies-using-api#getClientTypes)\n\n\u003e **NOTE** By Default the ZPA provider will return all client types\n\n\u003e **NOTE** When defining a `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-go=\"`PolicyAccessIsolationRule`\" pulumi-lang-python=\"`PolicyAccessIsolationRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-java=\"`zpa.PolicyAccessIsolationRule`\"\u003e`zpa.PolicyAccessIsolationRule`\u003c/span\u003e` policy the `\u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e` \"CLIENT_TYPE\" is mandatory and `\u003cspan pulumi-lang-nodejs=\"`zpnClientTypeExporter`\" pulumi-lang-dotnet=\"`ZpnClientTypeExporter`\" pulumi-lang-go=\"`zpnClientTypeExporter`\" pulumi-lang-python=\"`zpn_client_type_exporter`\" pulumi-lang-yaml=\"`zpnClientTypeExporter`\" pulumi-lang-java=\"`zpnClientTypeExporter`\"\u003e`zpn_client_type_exporter`\u003c/span\u003e` is the only supported value.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getPolicyClientType({});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_policy_client_type()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetPolicyClientType.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetPolicyClientType(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getPolicyClientType(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getPolicyClientType\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getPolicyClientType.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"zpnClientTypeBranchConnector":{"type":"string"},"zpnClientTypeBrowserIsolation":{"type":"string"},"zpnClientTypeEdgeConnector":{"type":"string"},"zpnClientTypeExporter":{"type":"string"},"zpnClientTypeExporterNoauth":{"type":"string"},"zpnClientTypeIpAnchoring":{"type":"string"},"zpnClientTypeMachineTunnel":{"type":"string"},"zpnClientTypeSlogger":{"type":"string"},"zpnClientTypeVdi":{"type":"string"},"zpnClientTypeZapp":{"type":"string"},"zpnClientTypeZappPartner":{"type":"string"},"zpnClientTypeZiaInspection":{"type":"string"}},"required":["zpnClientTypeBranchConnector","zpnClientTypeBrowserIsolation","zpnClientTypeEdgeConnector","zpnClientTypeExporter","zpnClientTypeExporterNoauth","zpnClientTypeIpAnchoring","zpnClientTypeMachineTunnel","zpnClientTypeSlogger","zpnClientTypeVdi","zpnClientTypeZapp","zpnClientTypeZappPartner","zpnClientTypeZiaInspection","id"],"type":"object"}},"zpa:index/getPolicyPlatform:getPolicyPlatform":{"description":"Use the **zpa_access_policy_platforms** data source to get information about all platforms for the specified customer in the Zscaler Private Access cloud. This data source can be optionally used when defining the following policy types:\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessTimeOutRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessTimeOutRule`\" pulumi-lang-go=\"`PolicyAccessTimeOutRule`\" pulumi-lang-python=\"`PolicyAccessTimeOutRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessTimeOutRule`\" pulumi-lang-java=\"`zpa.PolicyAccessTimeOutRule`\"\u003e`zpa.PolicyAccessTimeOutRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-go=\"`PolicyAccessForwardingRule`\" pulumi-lang-python=\"`PolicyAccessForwardingRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessForwardingRule`\" pulumi-lang-java=\"`zpa.PolicyAccessForwardingRule`\"\u003e`zpa.PolicyAccessForwardingRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-go=\"`PolicyAccessIsolationRule`\" pulumi-lang-python=\"`PolicyAccessIsolationRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessIsolationRule`\" pulumi-lang-java=\"`zpa.PolicyAccessIsolationRule`\"\u003e`zpa.PolicyAccessIsolationRule`\u003c/span\u003e`\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessInspectionRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessInspectionRule`\" pulumi-lang-go=\"`PolicyAccessInspectionRule`\" pulumi-lang-python=\"`PolicyAccessInspectionRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessInspectionRule`\" pulumi-lang-java=\"`zpa.PolicyAccessInspectionRule`\"\u003e`zpa.PolicyAccessInspectionRule`\u003c/span\u003e`\n\nThe `\u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e` attribute must be defined as \"PLATFORM\" in the policy operand condition. To learn more see the To learn more see the [Getting Platform Types for a Customer](https://help.zscaler.com/zpa/configuring-access-policies-using-api#getPlatformTypes)\n\n\u003e **NOTE** By Default the ZPA provider will return all platform types\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getPolicyPlatform({});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_policy_platform()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetPolicyPlatform.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetPolicyPlatform(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getPolicyPlatform(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getPolicyPlatform\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getPolicyPlatform.\n","properties":{"android":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ios":{"type":"string"},"linux":{"type":"string"},"mac":{"type":"string"},"windows":{"type":"string"}},"required":["android","ios","linux","mac","windows","id"],"type":"object"}},"zpa:index/getPolicyType:getPolicyType":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-access-policy)\n* [API documentation](https://help.zscaler.com/zpa/configuring-access-policies-using-api)\n\nUse the **zpa_policy_type** data source to get information about an a `\u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e` and `\u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e`. This data source is required when creating:\n\n1. Access policy Rules\n2. Access policy timeout rules\n3. Access policy forwarding rules\n4. Access policy inspection rules\n\n\u003e **NOTE** The parameters `\u003cspan pulumi-lang-nodejs=\"`policySetId`\" pulumi-lang-dotnet=\"`PolicySetId`\" pulumi-lang-go=\"`policySetId`\" pulumi-lang-python=\"`policy_set_id`\" pulumi-lang-yaml=\"`policySetId`\" pulumi-lang-java=\"`policySetId`\"\u003e`policy_set_id`\u003c/span\u003e` is required in all circumstances and is exported when checking for the\u003cspan pulumi-lang-nodejs=\" policyType \" pulumi-lang-dotnet=\" PolicyType \" pulumi-lang-go=\" policyType \" pulumi-lang-python=\" policy_type \" pulumi-lang-yaml=\" policyType \" pulumi-lang-java=\" policyType \"\u003e policy_type \u003c/span\u003eparameter. The\u003cspan pulumi-lang-nodejs=\" policyType \" pulumi-lang-dotnet=\" PolicyType \" pulumi-lang-go=\" policyType \" pulumi-lang-python=\" policy_type \" pulumi-lang-yaml=\" policyType \" pulumi-lang-java=\" policyType \"\u003e policy_type \u003c/span\u003evalue is used for differentiating the policy types, in the request endpoint. The supported values are:\n\n* ``ACCESS_POLICY/GLOBAL_POLICY``\n* ``TIMEOUT_POLICY/REAUTH_POLICY``\n* ``BYPASS_POLICY/CLIENT_FORWARDING_POLICY``\n* ``INSPECTION_POLICY``\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get information for \"ACCESS_POLICY\" ID\nconst accessPolicy = zpa.getPolicyType({\n    policyType: \"ACCESS_POLICY\",\n});\nexport const zpaPolicyTypeAccessPolicy = accessPolicy.then(accessPolicy =\u003e accessPolicy.id);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Get information for \"ACCESS_POLICY\" ID\naccess_policy = zpa.get_policy_type(policy_type=\"ACCESS_POLICY\")\npulumi.export(\"zpaPolicyTypeAccessPolicy\", access_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get information for \"ACCESS_POLICY\" ID\n    var accessPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"ACCESS_POLICY\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaPolicyTypeAccessPolicy\"] = accessPolicy.Apply(getPolicyTypeResult =\u003e getPolicyTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get information for \"ACCESS_POLICY\" ID\n\t\taccessPolicy, err := zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"ACCESS_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaPolicyTypeAccessPolicy\", accessPolicy.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get information for \"ACCESS_POLICY\" ID\n        final var accessPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"ACCESS_POLICY\")\n            .build());\n\n        ctx.export(\"zpaPolicyTypeAccessPolicy\", accessPolicy.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Get information for \"ACCESS_POLICY\" ID\n  accessPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: ACCESS_POLICY\noutputs:\n  zpaPolicyTypeAccessPolicy: ${accessPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get information for \"GLOBAL_POLICY\" ID\nconst globalPolicy = zpa.getPolicyType({\n    policyType: \"GLOBAL_POLICY\",\n});\nexport const zpaPolicyTypeAccessPolicy = globalPolicy.then(globalPolicy =\u003e globalPolicy.id);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Get information for \"GLOBAL_POLICY\" ID\nglobal_policy = zpa.get_policy_type(policy_type=\"GLOBAL_POLICY\")\npulumi.export(\"zpaPolicyTypeAccessPolicy\", global_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get information for \"GLOBAL_POLICY\" ID\n    var globalPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"GLOBAL_POLICY\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaPolicyTypeAccessPolicy\"] = globalPolicy.Apply(getPolicyTypeResult =\u003e getPolicyTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get information for \"GLOBAL_POLICY\" ID\n\t\tglobalPolicy, err := zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"GLOBAL_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaPolicyTypeAccessPolicy\", globalPolicy.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get information for \"GLOBAL_POLICY\" ID\n        final var globalPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"GLOBAL_POLICY\")\n            .build());\n\n        ctx.export(\"zpaPolicyTypeAccessPolicy\", globalPolicy.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Get information for \"GLOBAL_POLICY\" ID\n  globalPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: GLOBAL_POLICY\noutputs:\n  zpaPolicyTypeAccessPolicy: ${globalPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get information for \"TIMEOUT_POLICY\" ID\nconst timeoutPolicy = zpa.getPolicyType({\n    policyType: \"TIMEOUT_POLICY\",\n});\nexport const zpaPolicyTypeTimeoutPolicy = timeoutPolicy.then(timeoutPolicy =\u003e timeoutPolicy.id);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Get information for \"TIMEOUT_POLICY\" ID\ntimeout_policy = zpa.get_policy_type(policy_type=\"TIMEOUT_POLICY\")\npulumi.export(\"zpaPolicyTypeTimeoutPolicy\", timeout_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get information for \"TIMEOUT_POLICY\" ID\n    var timeoutPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"TIMEOUT_POLICY\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaPolicyTypeTimeoutPolicy\"] = timeoutPolicy.Apply(getPolicyTypeResult =\u003e getPolicyTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get information for \"TIMEOUT_POLICY\" ID\n\t\ttimeoutPolicy, err := zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"TIMEOUT_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaPolicyTypeTimeoutPolicy\", timeoutPolicy.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get information for \"TIMEOUT_POLICY\" ID\n        final var timeoutPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"TIMEOUT_POLICY\")\n            .build());\n\n        ctx.export(\"zpaPolicyTypeTimeoutPolicy\", timeoutPolicy.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Get information for \"TIMEOUT_POLICY\" ID\n  timeoutPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: TIMEOUT_POLICY\noutputs:\n  zpaPolicyTypeTimeoutPolicy: ${timeoutPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get information for \"REAUTH_POLICY\" ID\nconst reauthPolicy = zpa.getPolicyType({\n    policyType: \"REAUTH_POLICY\",\n});\nexport const zpaPolicyTypeReauthPolicy = reauthPolicy.then(reauthPolicy =\u003e reauthPolicy.id);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Get information for \"REAUTH_POLICY\" ID\nreauth_policy = zpa.get_policy_type(policy_type=\"REAUTH_POLICY\")\npulumi.export(\"zpaPolicyTypeReauthPolicy\", reauth_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get information for \"REAUTH_POLICY\" ID\n    var reauthPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"REAUTH_POLICY\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaPolicyTypeReauthPolicy\"] = reauthPolicy.Apply(getPolicyTypeResult =\u003e getPolicyTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get information for \"REAUTH_POLICY\" ID\n\t\treauthPolicy, err := zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"REAUTH_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaPolicyTypeReauthPolicy\", reauthPolicy.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get information for \"REAUTH_POLICY\" ID\n        final var reauthPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"REAUTH_POLICY\")\n            .build());\n\n        ctx.export(\"zpaPolicyTypeReauthPolicy\", reauthPolicy.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Get information for \"REAUTH_POLICY\" ID\n  reauthPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: REAUTH_POLICY\noutputs:\n  zpaPolicyTypeReauthPolicy: ${reauthPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get information for \"CLIENT_FORWARDING_POLICY\" ID\nconst clientForwardingPolicy = zpa.getPolicyType({\n    policyType: \"CLIENT_FORWARDING_POLICY\",\n});\nexport const zpaPolicyTypeClientForwardingPolicy = clientForwardingPolicy.then(clientForwardingPolicy =\u003e clientForwardingPolicy.id);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Get information for \"CLIENT_FORWARDING_POLICY\" ID\nclient_forwarding_policy = zpa.get_policy_type(policy_type=\"CLIENT_FORWARDING_POLICY\")\npulumi.export(\"zpaPolicyTypeClientForwardingPolicy\", client_forwarding_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get information for \"CLIENT_FORWARDING_POLICY\" ID\n    var clientForwardingPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"CLIENT_FORWARDING_POLICY\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaPolicyTypeClientForwardingPolicy\"] = clientForwardingPolicy.Apply(getPolicyTypeResult =\u003e getPolicyTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get information for \"CLIENT_FORWARDING_POLICY\" ID\n\t\tclientForwardingPolicy, err := zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"CLIENT_FORWARDING_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaPolicyTypeClientForwardingPolicy\", clientForwardingPolicy.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get information for \"CLIENT_FORWARDING_POLICY\" ID\n        final var clientForwardingPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"CLIENT_FORWARDING_POLICY\")\n            .build());\n\n        ctx.export(\"zpaPolicyTypeClientForwardingPolicy\", clientForwardingPolicy.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Get information for \"CLIENT_FORWARDING_POLICY\" ID\n  clientForwardingPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: CLIENT_FORWARDING_POLICY\noutputs:\n  zpaPolicyTypeClientForwardingPolicy: ${clientForwardingPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// Get information for \"INSPECTION_POLICY\" ID\nconst inspectionPolicy = zpa.getPolicyType({\n    policyType: \"INSPECTION_POLICY\",\n});\nexport const zpaPolicyTypeInspectionPolicy = inspectionPolicy.then(inspectionPolicy =\u003e inspectionPolicy.id);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# Get information for \"INSPECTION_POLICY\" ID\ninspection_policy = zpa.get_policy_type(policy_type=\"INSPECTION_POLICY\")\npulumi.export(\"zpaPolicyTypeInspectionPolicy\", inspection_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get information for \"INSPECTION_POLICY\" ID\n    var inspectionPolicy = Zpa.GetPolicyType.Invoke(new()\n    {\n        PolicyType = \"INSPECTION_POLICY\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaPolicyTypeInspectionPolicy\"] = inspectionPolicy.Apply(getPolicyTypeResult =\u003e getPolicyTypeResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get information for \"INSPECTION_POLICY\" ID\n\t\tinspectionPolicy, err := zpa.GetPolicyType(ctx, \u0026zpa.GetPolicyTypeArgs{\n\t\t\tPolicyType: pulumi.StringRef(\"INSPECTION_POLICY\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaPolicyTypeInspectionPolicy\", inspectionPolicy.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPolicyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get information for \"INSPECTION_POLICY\" ID\n        final var inspectionPolicy = ZpaFunctions.getPolicyType(GetPolicyTypeArgs.builder()\n            .policyType(\"INSPECTION_POLICY\")\n            .build());\n\n        ctx.export(\"zpaPolicyTypeInspectionPolicy\", inspectionPolicy.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Get information for \"INSPECTION_POLICY\" ID\n  inspectionPolicy:\n    fn::invoke:\n      function: zpa:getPolicyType\n      arguments:\n        policyType: INSPECTION_POLICY\noutputs:\n  zpaPolicyTypeInspectionPolicy: ${inspectionPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicyType.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"policyType":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPolicyType.\n","properties":{"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"policyType":{"type":"string"},"rules":{"items":{"$ref":"#/types/zpa:index/getPolicyTypeRule:getPolicyTypeRule"},"type":"array"},"sorted":{"type":"boolean"}},"required":["creationTime","description","enabled","modifiedBy","modifiedTime","name","policyType","rules","sorted"],"type":"object"}},"zpa:index/getPostureProfile:getPostureProfile":{"description":"* [Official documentation](https://help.zscaler.com/client-connector/about-device-posture-profiles)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-posture-profile-details-using-api)\n\nUse the **zpa_posture_profile** data source to get information about a posture profile created in the Zscaler Private Access Mobile Portal. This data source can then be referenced in an Access Policy, Timeout policy, Forwarding Policy, Inspection Policy or Isolation Policy.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Posture Profile Data Source\nconst example1 = zpa.getPostureProfile({\n    name: \"CrowdStrike_ZPA_ZTA_40\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Posture Profile Data Source\nexample1 = zpa.get_posture_profile(name=\"CrowdStrike_ZPA_ZTA_40\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Posture Profile Data Source\n    var example1 = Zpa.GetPostureProfile.Invoke(new()\n    {\n        Name = \"CrowdStrike_ZPA_ZTA_40\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Posture Profile Data Source\n\t\t_, err := zpa.GetPostureProfile(ctx, \u0026zpa.GetPostureProfileArgs{\n\t\t\tName: pulumi.StringRef(\"CrowdStrike_ZPA_ZTA_40\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPostureProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Posture Profile Data Source\n        final var example1 = ZpaFunctions.getPostureProfile(GetPostureProfileArgs.builder()\n            .name(\"CrowdStrike_ZPA_ZTA_40\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Posture Profile Data Source\n  example1:\n    fn::invoke:\n      function: zpa:getPostureProfile\n      arguments:\n        name: CrowdStrike_ZPA_ZTA_40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Posture Profile Data Source\nconst example2 = zpa.getPostureProfile({\n    name: \"Detect SentinelOne\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Posture Profile Data Source\nexample2 = zpa.get_posture_profile(name=\"Detect SentinelOne\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Posture Profile Data Source\n    var example2 = Zpa.GetPostureProfile.Invoke(new()\n    {\n        Name = \"Detect SentinelOne\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Posture Profile Data Source\n\t\t_, err := zpa.GetPostureProfile(ctx, \u0026zpa.GetPostureProfileArgs{\n\t\t\tName: pulumi.StringRef(\"Detect SentinelOne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPostureProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Posture Profile Data Source\n        final var example2 = ZpaFunctions.getPostureProfile(GetPostureProfileArgs.builder()\n            .name(\"Detect SentinelOne\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Posture Profile Data Source\n  example2:\n    fn::invoke:\n      function: zpa:getPostureProfile\n      arguments:\n        name: Detect SentinelOne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Posture Profile Data Source\nconst example3 = zpa.getPostureProfile({\n    name: \"domain_joined\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Posture Profile Data Source\nexample3 = zpa.get_posture_profile(name=\"domain_joined\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Posture Profile Data Source\n    var example3 = Zpa.GetPostureProfile.Invoke(new()\n    {\n        Name = \"domain_joined\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Posture Profile Data Source\n\t\t_, err := zpa.GetPostureProfile(ctx, \u0026zpa.GetPostureProfileArgs{\n\t\t\tName: pulumi.StringRef(\"domain_joined\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPostureProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Posture Profile Data Source\n        final var example3 = ZpaFunctions.getPostureProfile(GetPostureProfileArgs.builder()\n            .name(\"domain_joined\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Posture Profile Data Source\n  example3:\n    fn::invoke:\n      function: zpa:getPostureProfile\n      arguments:\n        name: domain_joined\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE** To query posture profiles that are associated with a specific Zscaler cloud, it is required to append the cloud name to the name of the posture profile as the below example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Posture Profile Data Source\nconst example1 = zpa.getPostureProfile({\n    name: \"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Posture Profile Data Source\nexample1 = zpa.get_posture_profile(name=\"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Posture Profile Data Source\n    var example1 = Zpa.GetPostureProfile.Invoke(new()\n    {\n        Name = \"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Posture Profile Data Source\n\t\t_, err := zpa.GetPostureProfile(ctx, \u0026zpa.GetPostureProfileArgs{\n\t\t\tName: pulumi.StringRef(\"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPostureProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Posture Profile Data Source\n        final var example1 = ZpaFunctions.getPostureProfile(GetPostureProfileArgs.builder()\n            .name(\"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Posture Profile Data Source\n  example1:\n    fn::invoke:\n      function: zpa:getPostureProfile\n      arguments:\n        name: CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE** When associating a posture profile with one of supported resources, the following parameter must be exported: `\u003cspan pulumi-lang-nodejs=\"`postureUdid`\" pulumi-lang-dotnet=\"`PostureUdid`\" pulumi-lang-go=\"`postureUdid`\" pulumi-lang-python=\"`posture_udid`\" pulumi-lang-yaml=\"`postureUdid`\" pulumi-lang-java=\"`postureUdid`\"\u003e`posture_udid`\u003c/span\u003e` instead of the `\u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e` of the resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Posture Profile Data Source\nconst example1 = zpa.getPostureProfile({\n    name: \"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\",\n});\nexport const zpaPostureProfile = example1.then(example1 =\u003e example1.postureUdid);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Posture Profile Data Source\nexample1 = zpa.get_posture_profile(name=\"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\")\npulumi.export(\"zpaPostureProfile\", example1.posture_udid)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Posture Profile Data Source\n    var example1 = Zpa.GetPostureProfile.Invoke(new()\n    {\n        Name = \"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaPostureProfile\"] = example1.Apply(getPostureProfileResult =\u003e getPostureProfileResult.PostureUdid),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Posture Profile Data Source\n\t\texample1, err := zpa.GetPostureProfile(ctx, \u0026zpa.GetPostureProfileArgs{\n\t\t\tName: pulumi.StringRef(\"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaPostureProfile\", example1.PostureUdid)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPostureProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Posture Profile Data Source\n        final var example1 = ZpaFunctions.getPostureProfile(GetPostureProfileArgs.builder()\n            .name(\"CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\")\n            .build());\n\n        ctx.export(\"zpaPostureProfile\", example1.postureUdid());\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Posture Profile Data Source\n  example1:\n    fn::invoke:\n      function: zpa:getPostureProfile\n      arguments:\n        name: CrowdStrike_ZPA_ZTA_40 (zscalertwo.net)\noutputs:\n  zpaPostureProfile: ${example1.postureUdid}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPostureProfile.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"postureUdid":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPostureProfile.\n","properties":{"creationTime":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"},"masterCustomerId":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"postureUdid":{"type":"string"},"zscalerCloud":{"type":"string"},"zscalerCustomerId":{"type":"string"}},"required":["creationTime","domain","id","masterCustomerId","modifiedBy","modifiedTime","postureUdid","zscalerCloud","zscalerCustomerId"],"type":"object"}},"zpa:index/getPrivateCloudController:getPrivateCloudController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-private-cloud-controllers)\n* [API documentation](https://help.zscaler.com/zpa/about-private-cloud-controllers)\n\nThe **zpa_private_cloud_controller** data source to get information about a private cloud controller in the Zscaler Private Access cloud.\n\n## Example Usage\n\n### Search By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst foo = zpa.getPrivateCloudController({\n    name: \"DataCenter\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nfoo = zpa.get_private_cloud_controller(name=\"DataCenter\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Zpa.GetPrivateCloudController.Invoke(new()\n    {\n        Name = \"DataCenter\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetPrivateCloudController(ctx, \u0026zpa.GetPrivateCloudControllerArgs{\n\t\t\tName: pulumi.StringRef(\"DataCenter\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPrivateCloudControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = ZpaFunctions.getPrivateCloudController(GetPrivateCloudControllerArgs.builder()\n            .name(\"DataCenter\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: zpa:getPrivateCloudController\n      arguments:\n        name: DataCenter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search By ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst foo = zpa.getPrivateCloudController({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nfoo = zpa.get_private_cloud_controller(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Zpa.GetPrivateCloudController.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetPrivateCloudController(ctx, \u0026zpa.GetPrivateCloudControllerArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPrivateCloudControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = ZpaFunctions.getPrivateCloudController(GetPrivateCloudControllerArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: zpa:getPrivateCloudController\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPrivateCloudController.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPrivateCloudController.\n","properties":{"applicationStartTime":{"type":"string"},"controlChannelStatus":{"type":"string"},"creationTime":{"type":"string"},"ctrlBrokerName":{"type":"string"},"currentVersion":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"enrollmentCert":{"additionalProperties":{"type":"string"},"type":"object"},"expectedSargeVersion":{"type":"string"},"expectedUpgradeTime":{"type":"string"},"expectedVersion":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string"},"ipAcls":{"items":{"type":"string"},"type":"array"},"issuedCertId":{"type":"string"},"lastBrokerConnectTime":{"type":"string"},"lastBrokerConnectTimeDuration":{"type":"string"},"lastBrokerDisconnectTime":{"type":"string"},"lastBrokerDisconnectTimeDuration":{"type":"string"},"lastOsUpgradeTime":{"type":"string"},"lastSargeUpgradeTime":{"type":"string"},"lastUpgradeTime":{"type":"string"},"latitude":{"type":"string"},"listenIps":{"items":{"type":"string"},"type":"array"},"location":{"type":"string"},"longitude":{"type":"string"},"masterLastSyncTime":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"osUpgradeEnabled":{"type":"boolean"},"osUpgradeStatus":{"type":"string"},"platform":{"type":"string"},"platformDetail":{"type":"string"},"platformVersion":{"type":"string"},"previousVersion":{"type":"string"},"privateCloudControllerGroupId":{"type":"string"},"privateCloudControllerGroupName":{"type":"string"},"privateCloudControllerVersion":{"additionalProperties":{"type":"string"},"type":"object"},"privateIp":{"type":"string"},"provisioningKeyId":{"type":"string"},"provisioningKeyName":{"type":"string"},"publicIp":{"type":"string"},"publishIps":{"items":{"type":"string"},"type":"array"},"readOnly":{"type":"boolean"},"restrictionType":{"type":"string"},"runtime":{"type":"string"},"sargeUpgradeAttempt":{"type":"string"},"sargeUpgradeStatus":{"type":"string"},"sargeVersion":{"type":"string"},"shardLastSyncTime":{"type":"string"},"siteSpDnsName":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeStatus":{"type":"string"},"userdbLastSyncTime":{"type":"string"},"zpnSubModuleUpgradeLists":{"items":{"type":"string"},"type":"array"},"zscalerManaged":{"type":"boolean"}},"required":["applicationStartTime","controlChannelStatus","creationTime","ctrlBrokerName","currentVersion","description","enabled","enrollmentCert","expectedSargeVersion","expectedUpgradeTime","expectedVersion","fingerprint","ipAcls","issuedCertId","lastBrokerConnectTime","lastBrokerConnectTimeDuration","lastBrokerDisconnectTime","lastBrokerDisconnectTimeDuration","lastOsUpgradeTime","lastSargeUpgradeTime","lastUpgradeTime","latitude","listenIps","location","longitude","masterLastSyncTime","microtenantName","modifiedBy","modifiedTime","osUpgradeEnabled","osUpgradeStatus","platform","platformDetail","platformVersion","previousVersion","privateCloudControllerGroupId","privateCloudControllerGroupName","privateCloudControllerVersion","privateIp","provisioningKeyId","provisioningKeyName","publicIp","publishIps","readOnly","restrictionType","runtime","sargeUpgradeAttempt","sargeUpgradeStatus","sargeVersion","shardLastSyncTime","siteSpDnsName","upgradeAttempt","upgradeStatus","userdbLastSyncTime","zpnSubModuleUpgradeLists","zscalerManaged"],"type":"object"}},"zpa:index/getPrivateCloudGroup:getPrivateCloudGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-private-cloud-controller-groups)\n* [API documentation](https://help.zscaler.com/zpa/about-private-cloud-controller-groups)\n\nThe **zpa_private_cloud_group** data source to get information about a private cloud group in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Private Cloud Group Data Source\nconst foo = zpa.getPrivateCloudGroup({\n    name: \"DataCenter\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Private Cloud Group Data Source\nfoo = zpa.get_private_cloud_group(name=\"DataCenter\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Private Cloud Group Data Source\n    var foo = Zpa.GetPrivateCloudGroup.Invoke(new()\n    {\n        Name = \"DataCenter\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Private Cloud Group Data Source\n\t\t_, err := zpa.LookupPrivateCloudGroup(ctx, \u0026zpa.LookupPrivateCloudGroupArgs{\n\t\t\tName: pulumi.StringRef(\"DataCenter\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPrivateCloudGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Private Cloud Group Data Source\n        final var foo = ZpaFunctions.getPrivateCloudGroup(GetPrivateCloudGroupArgs.builder()\n            .name(\"DataCenter\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Private Cloud Group Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getPrivateCloudGroup\n      arguments:\n        name: DataCenter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Private Cloud Group Data Source\nconst foo = zpa.getPrivateCloudGroup({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Private Cloud Group Data Source\nfoo = zpa.get_private_cloud_group(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Private Cloud Group Data Source\n    var foo = Zpa.GetPrivateCloudGroup.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Private Cloud Group Data Source\n\t\t_, err := zpa.LookupPrivateCloudGroup(ctx, \u0026zpa.LookupPrivateCloudGroupArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetPrivateCloudGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Private Cloud Group Data Source\n        final var foo = ZpaFunctions.getPrivateCloudGroup(GetPrivateCloudGroupArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Private Cloud Group Data Source\n  foo:\n    fn::invoke:\n      function: zpa:getPrivateCloudGroup\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPrivateCloudGroup.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPrivateCloudGroup.\n","properties":{"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"geoLocationId":{"type":"string"},"id":{"type":"string"},"isPublic":{"type":"string"},"latitude":{"type":"string"},"location":{"type":"string"},"longitude":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"},"overrideVersionProfile":{"type":"boolean"},"readOnly":{"type":"boolean"},"restrictionType":{"type":"string"},"siteId":{"type":"string"},"siteName":{"type":"string"},"upgradeDay":{"type":"string"},"upgradeTimeInSecs":{"type":"string"},"versionProfileId":{"type":"string"},"zscalerManaged":{"type":"boolean"}},"required":["cityCountry","countryCode","description","enabled","geoLocationId","isPublic","latitude","location","longitude","microtenantName","overrideVersionProfile","readOnly","restrictionType","siteId","siteName","upgradeDay","upgradeTimeInSecs","versionProfileId","zscalerManaged"],"type":"object"}},"zpa:index/getProvisioningKey:getProvisioningKey":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Provisioning Key for \"CONNECTOR_GRP\"\nconst example = zpa.getProvisioningKey({\n    name: \"Provisioning_Key\",\n    associationType: \"CONNECTOR_GRP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Provisioning Key for \"CONNECTOR_GRP\"\nexample = zpa.get_provisioning_key(name=\"Provisioning_Key\",\n    association_type=\"CONNECTOR_GRP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Provisioning Key for \"CONNECTOR_GRP\"\n    var example = Zpa.GetProvisioningKey.Invoke(new()\n    {\n        Name = \"Provisioning_Key\",\n        AssociationType = \"CONNECTOR_GRP\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Provisioning Key for \"CONNECTOR_GRP\"\n\t\t_, err := zpa.LookupProvisioningKey(ctx, \u0026zpa.LookupProvisioningKeyArgs{\n\t\t\tName:            pulumi.StringRef(\"Provisioning_Key\"),\n\t\t\tAssociationType: \"CONNECTOR_GRP\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetProvisioningKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Provisioning Key for \"CONNECTOR_GRP\"\n        final var example = ZpaFunctions.getProvisioningKey(GetProvisioningKeyArgs.builder()\n            .name(\"Provisioning_Key\")\n            .associationType(\"CONNECTOR_GRP\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Provisioning Key for \"CONNECTOR_GRP\"\n  example:\n    fn::invoke:\n      function: zpa:getProvisioningKey\n      arguments:\n        name: Provisioning_Key\n        associationType: CONNECTOR_GRP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Provisioning Key for \"SERVICE_EDGE_GRP\"\nconst example = zpa.getProvisioningKey({\n    name: \"Provisioning_Key\",\n    associationType: \"SERVICE_EDGE_GRP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Provisioning Key for \"SERVICE_EDGE_GRP\"\nexample = zpa.get_provisioning_key(name=\"Provisioning_Key\",\n    association_type=\"SERVICE_EDGE_GRP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Provisioning Key for \"SERVICE_EDGE_GRP\"\n    var example = Zpa.GetProvisioningKey.Invoke(new()\n    {\n        Name = \"Provisioning_Key\",\n        AssociationType = \"SERVICE_EDGE_GRP\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Provisioning Key for \"SERVICE_EDGE_GRP\"\n\t\t_, err := zpa.LookupProvisioningKey(ctx, \u0026zpa.LookupProvisioningKeyArgs{\n\t\t\tName:            pulumi.StringRef(\"Provisioning_Key\"),\n\t\t\tAssociationType: \"SERVICE_EDGE_GRP\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetProvisioningKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Provisioning Key for \"SERVICE_EDGE_GRP\"\n        final var example = ZpaFunctions.getProvisioningKey(GetProvisioningKeyArgs.builder()\n            .name(\"Provisioning_Key\")\n            .associationType(\"SERVICE_EDGE_GRP\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Provisioning Key for \"SERVICE_EDGE_GRP\"\n  example:\n    fn::invoke:\n      function: zpa:getProvisioningKey\n      arguments:\n        name: Provisioning_Key\n        associationType: SERVICE_EDGE_GRP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProvisioningKey.\n","properties":{"associationType":{"type":"string"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["associationType"]},"outputs":{"description":"A collection of values returned by getProvisioningKey.\n","properties":{"appConnectorGroupId":{"type":"string"},"appConnectorGroupName":{"type":"string"},"associationType":{"type":"string"},"creationTime":{"type":"string"},"enabled":{"type":"boolean"},"enrollmentCertId":{"type":"string"},"enrollmentCertName":{"type":"string"},"expirationInEpochSec":{"type":"string"},"id":{"type":"string"},"ipAcls":{"items":{"type":"string"},"type":"array"},"maxUsage":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"provisioningKey":{"type":"string"},"uiConfig":{"type":"string"},"usageCount":{"type":"string"},"zcomponentId":{"type":"string"},"zcomponentName":{"type":"string"}},"required":["appConnectorGroupId","appConnectorGroupName","associationType","creationTime","enabled","enrollmentCertId","enrollmentCertName","expirationInEpochSec","ipAcls","maxUsage","modifiedTime","modifiedby","provisioningKey","uiConfig","usageCount","zcomponentId","zcomponentName"],"type":"object"}},"zpa:index/getRiskScoreValues:getRiskScoreValues":{"description":"Use the **zpa_risk_score_values** data source to get information about risk score values for the specified customer in the Zscaler Private Access cloud. This data source can be optionally used when defining the following policy types:\n    - `\u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getRiskScoreValues({});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_risk_score_values()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetRiskScoreValues.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.GetRiskScoreValues(ctx, \u0026zpa.GetRiskScoreValuesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetRiskScoreValuesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getRiskScoreValues(GetRiskScoreValuesArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getRiskScoreValues\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRiskScoreValues.\n","properties":{"excludeUnknown":{"type":"boolean","description":"- (String) Exclude unknown risk values\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRiskScoreValues.\n","properties":{"excludeUnknown":{"description":"- (String) Exclude unknown risk values\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"values":{"items":{"type":"string"},"type":"array"}},"required":["values","id"],"type":"object"}},"zpa:index/getSAMLAttribute:getSAMLAttribute":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-saml-attributes)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-saml-attribute-details-using-api)\n\nUse the **zpa_saml_attribute** data source to get information about a SAML Attributes from an Identity Provider (IdP). This data source can then be referenced in an Access Policy, Timeout policy, Forwarding Policy, Inspection Policy or Isolation Policy.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA SAML Attribute Data Source\nconst emailUserSso = zpa.getSAMLAttribute({\n    name: \"Email_User SSO\",\n    idpName: \"idp_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA SAML Attribute Data Source\nemail_user_sso = zpa.get_saml_attribute(name=\"Email_User SSO\",\n    idp_name=\"idp_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA SAML Attribute Data Source\n    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"Email_User SSO\",\n        IdpName = \"idp_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA SAML Attribute Data Source\n\t\t_, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"Email_User SSO\"),\n\t\t\tIdpName: pulumi.StringRef(\"idp_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA SAML Attribute Data Source\n        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"Email_User SSO\")\n            .idpName(\"idp_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA SAML Attribute Data Source\n  emailUserSso:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: Email_User SSO\n        idpName: idp_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA SAML Attribute Data Source\nconst department = zpa.getSAMLAttribute({\n    name: \"DepartmentName_IdP_Name_Users\",\n    idpName: \"idp_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA SAML Attribute Data Source\ndepartment = zpa.get_saml_attribute(name=\"DepartmentName_IdP_Name_Users\",\n    idp_name=\"idp_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA SAML Attribute Data Source\n    var department = Zpa.GetSAMLAttribute.Invoke(new()\n    {\n        Name = \"DepartmentName_IdP_Name_Users\",\n        IdpName = \"idp_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA SAML Attribute Data Source\n\t\t_, err := zpa.GetSAMLAttribute(ctx, \u0026zpa.GetSAMLAttributeArgs{\n\t\t\tName:    pulumi.StringRef(\"DepartmentName_IdP_Name_Users\"),\n\t\t\tIdpName: pulumi.StringRef(\"idp_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetSAMLAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA SAML Attribute Data Source\n        final var department = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()\n            .name(\"DepartmentName_IdP_Name_Users\")\n            .idpName(\"idp_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA SAML Attribute Data Source\n  department:\n    fn::invoke:\n      function: zpa:getSAMLAttribute\n      arguments:\n        name: DepartmentName_IdP_Name_Users\n        idpName: idp_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSAMLAttribute.\n","properties":{"id":{"type":"string"},"idpName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSAMLAttribute.\n","properties":{"creationTime":{"type":"string"},"id":{"type":"string"},"idpId":{"type":"string"},"idpName":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"samlName":{"type":"string"},"userAttribute":{"type":"boolean"}},"required":["creationTime","id","idpId","modifiedTime","modifiedby","name","samlName","userAttribute"],"type":"object"}},"zpa:index/getSCIMAttributeHeader:getSCIMAttributeHeader":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-scim)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-scim-attribute-details-using-api)\n\nUse the **zpa_scim_attribute_header** data source to get information about a SCIM attribute from an Identity Provider (IdP). This data source can then be referenced in an Access Policy, Timeout policy, Forwarding Policy, Inspection Policy or Inspection Policy.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA SCIM Attribute Header Data Source\nconst givenName = zpa.getSCIMAttributeHeader({\n    name: \"name.givenName\",\n    idpName: \"IdP_Name\",\n});\nconst familyName = zpa.getSCIMAttributeHeader({\n    name: \"name.familyName\",\n    idpName: \"IdP_Name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA SCIM Attribute Header Data Source\ngiven_name = zpa.get_scim_attribute_header(name=\"name.givenName\",\n    idp_name=\"IdP_Name\")\nfamily_name = zpa.get_scim_attribute_header(name=\"name.familyName\",\n    idp_name=\"IdP_Name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA SCIM Attribute Header Data Source\n    var givenName = Zpa.GetSCIMAttributeHeader.Invoke(new()\n    {\n        Name = \"name.givenName\",\n        IdpName = \"IdP_Name\",\n    });\n\n    var familyName = Zpa.GetSCIMAttributeHeader.Invoke(new()\n    {\n        Name = \"name.familyName\",\n        IdpName = \"IdP_Name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA SCIM Attribute Header Data Source\n\t\t_, err := zpa.GetSCIMAttributeHeader(ctx, \u0026zpa.GetSCIMAttributeHeaderArgs{\n\t\t\tName:    pulumi.StringRef(\"name.givenName\"),\n\t\t\tIdpName: pulumi.StringRef(\"IdP_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.GetSCIMAttributeHeader(ctx, \u0026zpa.GetSCIMAttributeHeaderArgs{\n\t\t\tName:    pulumi.StringRef(\"name.familyName\"),\n\t\t\tIdpName: pulumi.StringRef(\"IdP_Name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetSCIMAttributeHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA SCIM Attribute Header Data Source\n        final var givenName = ZpaFunctions.getSCIMAttributeHeader(GetSCIMAttributeHeaderArgs.builder()\n            .name(\"name.givenName\")\n            .idpName(\"IdP_Name\")\n            .build());\n\n        final var familyName = ZpaFunctions.getSCIMAttributeHeader(GetSCIMAttributeHeaderArgs.builder()\n            .name(\"name.familyName\")\n            .idpName(\"IdP_Name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA SCIM Attribute Header Data Source\n  givenName:\n    fn::invoke:\n      function: zpa:getSCIMAttributeHeader\n      arguments:\n        name: name.givenName\n        idpName: IdP_Name\n  familyName:\n    fn::invoke:\n      function: zpa:getSCIMAttributeHeader\n      arguments:\n        name: name.familyName\n        idpName: IdP_Name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSCIMAttributeHeader.\n","properties":{"id":{"type":"string"},"idpId":{"type":"string"},"idpName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSCIMAttributeHeader.\n","properties":{"canonicalValues":{"items":{"type":"string"},"type":"array"},"caseSensitive":{"type":"boolean"},"creationTime":{"type":"string"},"dataType":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"idpId":{"type":"string"},"idpName":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"multivalued":{"type":"boolean"},"mutability":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"},"returned":{"type":"string"},"schemaUri":{"type":"string"},"uniqueness":{"type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["canonicalValues","caseSensitive","creationTime","dataType","description","modifiedTime","modifiedby","multivalued","mutability","required","returned","schemaUri","uniqueness","values"],"type":"object"}},"zpa:index/getSCIMGroups:getSCIMGroups":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-scim-groups)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-scim-group-details-using-api)\n\nUse the **zpa_scim_groups** data source to get information about a SCIM Group from an Identity Provider (IdP). This data source can then be referenced in an Access Policy, Timeout policy, Forwarding Policy, Inspection Policy or Isolation Policy.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA SCIM Groups Data Source\nconst engineering = zpa.getSCIMGroups({\n    name: \"Engineering\",\n    idpName: \"idp_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA SCIM Groups Data Source\nengineering = zpa.get_scim_groups(name=\"Engineering\",\n    idp_name=\"idp_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA SCIM Groups Data Source\n    var engineering = Zpa.GetSCIMGroups.Invoke(new()\n    {\n        Name = \"Engineering\",\n        IdpName = \"idp_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA SCIM Groups Data Source\n\t\t_, err := zpa.GetSCIMGroups(ctx, \u0026zpa.GetSCIMGroupsArgs{\n\t\t\tName:    pulumi.StringRef(\"Engineering\"),\n\t\t\tIdpName: pulumi.StringRef(\"idp_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetSCIMGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA SCIM Groups Data Source\n        final var engineering = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()\n            .name(\"Engineering\")\n            .idpName(\"idp_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA SCIM Groups Data Source\n  engineering:\n    fn::invoke:\n      function: zpa:getSCIMGroups\n      arguments:\n        name: Engineering\n        idpName: idp_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSCIMGroups.\n","properties":{"id":{"type":"string"},"idpId":{"type":"integer"},"idpName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSCIMGroups.\n","properties":{"creationTime":{"type":"integer"},"id":{"type":"string"},"idpGroupId":{"type":"string"},"idpId":{"type":"integer"},"idpName":{"type":"string"},"modifiedTime":{"type":"integer"},"name":{"type":"string"}},"required":["creationTime","idpGroupId","modifiedTime"],"type":"object"}},"zpa:index/getSegmentGroup:getSegmentGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Server Group Data Source\nconst example = zpa.getSegmentGroup({\n    name: \"segment_group_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Server Group Data Source\nexample = zpa.get_segment_group(name=\"segment_group_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Server Group Data Source\n    var example = Zpa.GetSegmentGroup.Invoke(new()\n    {\n        Name = \"segment_group_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Server Group Data Source\n\t\t_, err := zpa.LookupSegmentGroup(ctx, \u0026zpa.LookupSegmentGroupArgs{\n\t\t\tName: pulumi.StringRef(\"segment_group_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetSegmentGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Server Group Data Source\n        final var example = ZpaFunctions.getSegmentGroup(GetSegmentGroupArgs.builder()\n            .name(\"segment_group_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Server Group Data Source\n  example:\n    fn::invoke:\n      function: zpa:getSegmentGroup\n      arguments:\n        name: segment_group_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSegmentGroup.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSegmentGroup.\n","properties":{"applications":{"items":{"$ref":"#/types/zpa:index/getSegmentGroupApplication:getSegmentGroupApplication"},"type":"array"},"configSpace":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"}},"required":["applications","configSpace","creationTime","description","enabled","modifiedBy","modifiedTime"],"type":"object"}},"zpa:index/getServerGroup:getServerGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Server Group Data Source\nconst example = zpa.getServerGroup({\n    name: \"server_group_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Server Group Data Source\nexample = zpa.get_server_group(name=\"server_group_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Server Group Data Source\n    var example = Zpa.GetServerGroup.Invoke(new()\n    {\n        Name = \"server_group_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Server Group Data Source\n\t\t_, err := zpa.LookupServerGroup(ctx, \u0026zpa.LookupServerGroupArgs{\n\t\t\tName: pulumi.StringRef(\"server_group_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetServerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Server Group Data Source\n        final var example = ZpaFunctions.getServerGroup(GetServerGroupArgs.builder()\n            .name(\"server_group_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Server Group Data Source\n  example:\n    fn::invoke:\n      function: zpa:getServerGroup\n      arguments:\n        name: server_group_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServerGroup.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServerGroup.\n","properties":{"appConnectorGroups":{"items":{"$ref":"#/types/zpa:index/getServerGroupAppConnectorGroup:getServerGroupAppConnectorGroup"},"type":"array"},"applications":{"items":{"$ref":"#/types/zpa:index/getServerGroupApplication:getServerGroupApplication"},"type":"array"},"configSpace":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"dynamicDiscovery":{"type":"boolean"},"enabled":{"type":"boolean"},"id":{"type":"string"},"ipAnchored":{"type":"boolean"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedTime":{"type":"string"},"modifiedby":{"type":"string"},"name":{"type":"string"},"servers":{"items":{"$ref":"#/types/zpa:index/getServerGroupServer:getServerGroupServer"},"type":"array"}},"required":["appConnectorGroups","applications","configSpace","creationTime","description","dynamicDiscovery","enabled","ipAnchored","modifiedTime","modifiedby","servers"],"type":"object"}},"zpa:index/getServiceEdgeAssistantSchedule:getServiceEdgeAssistantSchedule":{"description":"* [Official documentation](https://help.zscaler.com/zpa/deleting-disconnected-app-connectors)\n* [API documentation](https://help.zscaler.com/zpa/configuring-auto-delete-disconnected-app-connectors-using-api)\n\nUse the **zpa_service_edge_assistant_schedule** data source to get information about Auto Delete frequency of the Service Edge for the specified customer in the Zscaler Private Access cloud.\n\n\u003e **NOTE** - The \u003cspan pulumi-lang-nodejs=\"`customerId`\" pulumi-lang-dotnet=\"`CustomerId`\" pulumi-lang-go=\"`customerId`\" pulumi-lang-python=\"`customer_id`\" pulumi-lang-yaml=\"`customerId`\" pulumi-lang-java=\"`customerId`\"\u003e`customer_id`\u003c/span\u003e attribute is optional and not required during the configuration.\n\n","inputs":{"description":"A collection of arguments for invoking getServiceEdgeAssistantSchedule.\n","properties":{"customerId":{"type":"string"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServiceEdgeAssistantSchedule.\n","properties":{"customerId":{"type":"string"},"deleteDisabled":{"type":"boolean"},"enabled":{"type":"boolean"},"frequency":{"type":"string"},"frequencyInterval":{"type":"string"},"id":{"type":"string"}},"required":["deleteDisabled","enabled","frequency","frequencyInterval"],"type":"object"}},"zpa:index/getServiceEdgeController:getServiceEdgeController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-zpa-private-service-edges)\n* [API documentation](https://help.zscaler.com/zpa/managing-zpa-private-service-edges-using-api)\n\nUse the **zpa_service_edge_controller** data source to get information about a service edge controller in the Zscaler Private Access cloud. This data source can then be referenced in a Service Edge Group and Provisioning Key.\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Service Edge Controller Data Source\nconst example = zpa.getServiceEdgeController({\n    name: \"On-Prem-PSE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Service Edge Controller Data Source\nexample = zpa.get_service_edge_controller(name=\"On-Prem-PSE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Service Edge Controller Data Source\n    var example = Zpa.GetServiceEdgeController.Invoke(new()\n    {\n        Name = \"On-Prem-PSE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Service Edge Controller Data Source\n\t\t_, err := zpa.GetServiceEdgeController(ctx, \u0026zpa.GetServiceEdgeControllerArgs{\n\t\t\tName: pulumi.StringRef(\"On-Prem-PSE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetServiceEdgeControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Service Edge Controller Data Source\n        final var example = ZpaFunctions.getServiceEdgeController(GetServiceEdgeControllerArgs.builder()\n            .name(\"On-Prem-PSE\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Service Edge Controller Data Source\n  example:\n    fn::invoke:\n      function: zpa:getServiceEdgeController\n      arguments:\n        name: On-Prem-PSE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceEdgeController.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServiceEdgeController.\n","properties":{"applicationStartTime":{"type":"string"},"controlChannelStatus":{"type":"string"},"creationTime":{"type":"string"},"ctrlBrokerName":{"type":"string"},"currentVersion":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"enrollmentCert":{"additionalProperties":{"type":"string"},"type":"object"},"expectedUpgradeTime":{"type":"string"},"expectedVersion":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string"},"ipAcl":{"type":"string"},"issuedCertId":{"type":"string"},"lastBrokerConnectTime":{"type":"string"},"lastBrokerConnectTimeDuration":{"type":"string"},"lastBrokerDisconnectTime":{"type":"string"},"lastBrokerDisconnectTimeDuration":{"type":"string"},"lastUpgradeTime":{"type":"string"},"latitude":{"type":"string"},"listenIps":{"items":{"type":"string"},"type":"array"},"location":{"type":"string"},"longitude":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"platform":{"type":"string"},"previousVersion":{"type":"string"},"privateBrokerVersions":{"items":{"$ref":"#/types/zpa:index/getServiceEdgeControllerPrivateBrokerVersion:getServiceEdgeControllerPrivateBrokerVersion"},"type":"array"},"privateIp":{"type":"string"},"provisioningKeyId":{"type":"string"},"provisioningKeyName":{"type":"string"},"publicIp":{"type":"string"},"publishIps":{"items":{"type":"string"},"type":"array"},"publishIpv6":{"type":"boolean"},"runtimeOs":{"type":"string"},"sargeVersion":{"type":"string"},"serviceEdgeGroupId":{"type":"string"},"serviceEdgeGroupName":{"type":"string"},"upgradeAttempt":{"type":"string"},"upgradeStatus":{"type":"string"}},"required":["applicationStartTime","controlChannelStatus","creationTime","ctrlBrokerName","currentVersion","description","enabled","enrollmentCert","expectedUpgradeTime","expectedVersion","fingerprint","id","ipAcl","issuedCertId","lastBrokerConnectTime","lastBrokerConnectTimeDuration","lastBrokerDisconnectTime","lastBrokerDisconnectTimeDuration","lastUpgradeTime","latitude","listenIps","location","longitude","modifiedBy","modifiedTime","platform","previousVersion","privateBrokerVersions","privateIp","provisioningKeyId","provisioningKeyName","publicIp","publishIps","publishIpv6","runtimeOs","sargeVersion","serviceEdgeGroupId","serviceEdgeGroupName","upgradeAttempt","upgradeStatus"],"type":"object"}},"zpa:index/getServiceEdgeGroup:getServiceEdgeGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-zpa-private-service-edge-groups)\n* [API documentation](https://help.zscaler.com/zpa/configuring-zpa-private-service-edge-groups-using-api)\n\nUse the **zpa_service_edge_group** data source to get information about a service edge group in the Zscaler Private Access cloud. This data source can then be referenced in an App Connector Group. This data source can then be referenced in the following resources:\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n* Create a server group\n* Provisioning Key\n* Access policy rule\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Service Edge Group Data Source by name\nconst foo = zpa.getServiceEdgeGroup({\n    name: \"DataCenter\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Service Edge Group Data Source by name\nfoo = zpa.get_service_edge_group(name=\"DataCenter\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Service Edge Group Data Source by name\n    var foo = Zpa.GetServiceEdgeGroup.Invoke(new()\n    {\n        Name = \"DataCenter\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Service Edge Group Data Source by name\n\t\t_, err := zpa.LookupServiceEdgeGroup(ctx, \u0026zpa.LookupServiceEdgeGroupArgs{\n\t\t\tName: pulumi.StringRef(\"DataCenter\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetServiceEdgeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Service Edge Group Data Source by name\n        final var foo = ZpaFunctions.getServiceEdgeGroup(GetServiceEdgeGroupArgs.builder()\n            .name(\"DataCenter\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Service Edge Group Data Source by name\n  foo:\n    fn::invoke:\n      function: zpa:getServiceEdgeGroup\n      arguments:\n        name: DataCenter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Service Edge Group Data Source by ID\nconst foo = zpa.getServiceEdgeGroup({\n    id: \"123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Service Edge Group Data Source by ID\nfoo = zpa.get_service_edge_group(id=\"123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Service Edge Group Data Source by ID\n    var foo = Zpa.GetServiceEdgeGroup.Invoke(new()\n    {\n        Id = \"123456789\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Service Edge Group Data Source by ID\n\t\t_, err := zpa.LookupServiceEdgeGroup(ctx, \u0026zpa.LookupServiceEdgeGroupArgs{\n\t\t\tId: pulumi.StringRef(\"123456789\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetServiceEdgeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Service Edge Group Data Source by ID\n        final var foo = ZpaFunctions.getServiceEdgeGroup(GetServiceEdgeGroupArgs.builder()\n            .id(\"123456789\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Service Edge Group Data Source by ID\n  foo:\n    fn::invoke:\n      function: zpa:getServiceEdgeGroup\n      arguments:\n        id: '123456789'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceEdgeGroup.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServiceEdgeGroup.\n","properties":{"altCloud":{"type":"string"},"city":{"type":"string"},"cityCountry":{"type":"string"},"countryCode":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"exclusiveForBusinessContinuity":{"type":"boolean"},"geoLocationId":{"type":"string"},"graceDistanceEnabled":{"type":"boolean"},"graceDistanceValue":{"type":"string"},"graceDistanceValueUnit":{"type":"string"},"id":{"type":"string"},"isPublic":{"type":"string"},"latitude":{"type":"string"},"location":{"type":"string"},"longitude":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"nameWithoutTrim":{"type":"string"},"overrideVersionProfile":{"type":"boolean"},"restrictedEntity":{"type":"boolean"},"serviceEdges":{"items":{"$ref":"#/types/zpa:index/getServiceEdgeGroupServiceEdge:getServiceEdgeGroupServiceEdge"},"type":"array"},"siteId":{"type":"string"},"siteName":{"type":"string"},"trustedNetworks":{"items":{"$ref":"#/types/zpa:index/getServiceEdgeGroupTrustedNetwork:getServiceEdgeGroupTrustedNetwork"},"type":"array"},"upgradeDay":{"type":"string"},"upgradeTimeInSecs":{"type":"string"},"useInDrMode":{"type":"boolean"},"versionProfileId":{"type":"string"},"versionProfileName":{"type":"string"},"versionProfileVisibilityScope":{"type":"string"}},"required":["altCloud","city","cityCountry","countryCode","creationTime","description","enabled","exclusiveForBusinessContinuity","geoLocationId","graceDistanceEnabled","graceDistanceValue","graceDistanceValueUnit","id","isPublic","latitude","location","longitude","modifiedBy","modifiedTime","name","nameWithoutTrim","overrideVersionProfile","restrictedEntity","serviceEdges","siteId","siteName","trustedNetworks","upgradeDay","upgradeTimeInSecs","useInDrMode","versionProfileId","versionProfileName","versionProfileVisibilityScope"],"type":"object"}},"zpa:index/getTrustedNetwork:getTrustedNetwork":{"description":"* [Official documentation](https://help.zscaler.com/client-connector/about-trusted-networks)\n* [API documentation](https://help.zscaler.com/zpa/obtaining-trusted-network-details-using-api)\n\nThe **zpa_trusted_network** data source to get information about a trusted network created in the Zscaler Private Access Mobile Portal. This data source can then be referenced within the following resources:\n\n**NOTE:** To ensure consistent search results across data sources, please avoid using multiple spaces or special characters in your search queries.\n\n1. Access Policy\n2. Forwarding Policy\n3. Inspection Policy\n4. Isolation Policy\n5. Service Edge Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Trusted Network Data Source\nconst example = zpa.getTrustedNetwork({\n    name: \"trusted_network_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Trusted Network Data Source\nexample = zpa.get_trusted_network(name=\"trusted_network_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Trusted Network Data Source\n    var example = Zpa.GetTrustedNetwork.Invoke(new()\n    {\n        Name = \"trusted_network_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Trusted Network Data Source\n\t\t_, err := zpa.GetTrustedNetwork(ctx, \u0026zpa.GetTrustedNetworkArgs{\n\t\t\tName: pulumi.StringRef(\"trusted_network_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetTrustedNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Trusted Network Data Source\n        final var example = ZpaFunctions.getTrustedNetwork(GetTrustedNetworkArgs.builder()\n            .name(\"trusted_network_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Trusted Network Data Source\n  example:\n    fn::invoke:\n      function: zpa:getTrustedNetwork\n      arguments:\n        name: trusted_network_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE** To query trusted network that are associated with a specific Zscaler cloud, it is required to append the cloud name to the name of the trusted network as the below example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\n// ZPA Posture Profile Data Source\nconst example1 = zpa.getTrustedNetwork({\n    name: \"Corporate-Network (zscalertwo.net)\",\n});\nexport const zpaTrustedNetwork = example1.then(example1 =\u003e example1.networkId);\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\n# ZPA Posture Profile Data Source\nexample1 = zpa.get_trusted_network(name=\"Corporate-Network (zscalertwo.net)\")\npulumi.export(\"zpaTrustedNetwork\", example1.network_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ZPA Posture Profile Data Source\n    var example1 = Zpa.GetTrustedNetwork.Invoke(new()\n    {\n        Name = \"Corporate-Network (zscalertwo.net)\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"zpaTrustedNetwork\"] = example1.Apply(getTrustedNetworkResult =\u003e getTrustedNetworkResult.NetworkId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ZPA Posture Profile Data Source\n\t\texample1, err := zpa.GetTrustedNetwork(ctx, \u0026zpa.GetTrustedNetworkArgs{\n\t\t\tName: pulumi.StringRef(\"Corporate-Network (zscalertwo.net)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zpaTrustedNetwork\", example1.NetworkId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetTrustedNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ZPA Posture Profile Data Source\n        final var example1 = ZpaFunctions.getTrustedNetwork(GetTrustedNetworkArgs.builder()\n            .name(\"Corporate-Network (zscalertwo.net)\")\n            .build());\n\n        ctx.export(\"zpaTrustedNetwork\", example1.networkId());\n    }\n}\n```\n```yaml\nvariables:\n  # ZPA Posture Profile Data Source\n  example1:\n    fn::invoke:\n      function: zpa:getTrustedNetwork\n      arguments:\n        name: Corporate-Network (zscalertwo.net)\noutputs:\n  zpaTrustedNetwork: ${example1.networkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTrustedNetwork.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"networkId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTrustedNetwork.\n","properties":{"creationTime":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"networkId":{"type":"string"},"zscalerCloud":{"type":"string"}},"required":["creationTime","domain","modifiedBy","modifiedTime","networkId","zscalerCloud"],"type":"object"}},"zpa:index/getUserPortalAUP:getUserPortalAUP":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-user-portals)\n* [API documentation](https://help.zscaler.com/zpa/about-user-portals)\n\nThe **zpa_user_portal_aup** data source to get information about a user portal AUP (Acceptance User Policy) in the Zscaler Private Access cloud.\n\n## Example Usage\n\n### By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getUserPortalAUP({\n    name: \"server1.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_user_portal_aup(name=\"server1.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetUserPortalAUP.Invoke(new()\n    {\n        Name = \"server1.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupUserPortalAUP(ctx, \u0026zpa.LookupUserPortalAUPArgs{\n\t\t\tName: pulumi.StringRef(\"server1.example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetUserPortalAUPArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getUserPortalAUP(GetUserPortalAUPArgs.builder()\n            .name(\"server1.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getUserPortalAUP\n      arguments:\n        name: server1.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getUserPortalAUP({\n    id: \"256456856\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_user_portal_aup(id=\"256456856\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetUserPortalAUP.Invoke(new()\n    {\n        Id = \"256456856\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupUserPortalAUP(ctx, \u0026zpa.LookupUserPortalAUPArgs{\n\t\t\tId: pulumi.StringRef(\"256456856\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetUserPortalAUPArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getUserPortalAUP(GetUserPortalAUPArgs.builder()\n            .id(\"256456856\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getUserPortalAUP\n      arguments:\n        id: '256456856'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUserPortalAUP.\n","properties":{"aup":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUserPortalAUP.\n","properties":{"aup":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"email":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"phoneNum":{"type":"string"}},"required":["creationTime","description","email","enabled","microtenantId","microtenantName","modifiedBy","modifiedTime","phoneNum"],"type":"object"}},"zpa:index/getUserPortalController:getUserPortalController":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-user-portals)\n* [API documentation](https://help.zscaler.com/zpa/about-user-portals)\n\nThe **zpa_user_portal_controller** data source to get information about a user portal in the Zscaler Private Access cloud.\n\n## Example Usage\n\n### With Customer Own Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getBaCertificate({\n    name: \"example.acme.com\",\n});\nconst thisUserPortalController = new zpa.UserPortalController(\"this\", {\n    name: \"UserPortal01\",\n    description: \"UserPortal01\",\n    enabled: true,\n    userNotification: \"User_Portal_Terraform_01\",\n    userNotificationEnabled: true,\n    certificateId: _this.then(_this =\u003e _this.id),\n    domain: \"portal01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\nimport zscaler_pulumi_zpa as zpa\n\nthis = zpa.get_ba_certificate(name=\"example.acme.com\")\nthis_user_portal_controller = zpa.UserPortalController(\"this\",\n    name=\"UserPortal01\",\n    description=\"UserPortal01\",\n    enabled=True,\n    user_notification=\"User_Portal_Terraform_01\",\n    user_notification_enabled=True,\n    certificate_id=this.id,\n    domain=\"portal01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\nusing Zpa = zscaler.PulumiPackage.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetBaCertificate.Invoke(new()\n    {\n        Name = \"example.acme.com\",\n    });\n\n    var thisUserPortalController = new Zpa.UserPortalController(\"this\", new()\n    {\n        Name = \"UserPortal01\",\n        Description = \"UserPortal01\",\n        Enabled = true,\n        UserNotification = \"User_Portal_Terraform_01\",\n        UserNotificationEnabled = true,\n        CertificateId = @this.Apply(@this =\u003e @this.Apply(getBaCertificateResult =\u003e getBaCertificateResult.Id)),\n        Domain = \"portal01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := zpa.GetBaCertificate(ctx, \u0026zpa.GetBaCertificateArgs{\n\t\t\tName: pulumi.StringRef(\"example.acme.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = zpa.NewUserPortalController(ctx, \"this\", \u0026zpa.UserPortalControllerArgs{\n\t\t\tName:                    pulumi.String(\"UserPortal01\"),\n\t\t\tDescription:             pulumi.String(\"UserPortal01\"),\n\t\t\tEnabled:                 pulumi.Bool(true),\n\t\t\tUserNotification:        pulumi.String(\"User_Portal_Terraform_01\"),\n\t\t\tUserNotificationEnabled: pulumi.Bool(true),\n\t\t\tCertificateId:           pulumi.String(this.Id),\n\t\t\tDomain:                  pulumi.String(\"portal01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetBaCertificateArgs;\nimport com.pulumi.zpa.UserPortalController;\nimport com.pulumi.zpa.UserPortalControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()\n            .name(\"example.acme.com\")\n            .build());\n\n        var thisUserPortalController = new UserPortalController(\"thisUserPortalController\", UserPortalControllerArgs.builder()\n            .name(\"UserPortal01\")\n            .description(\"UserPortal01\")\n            .enabled(true)\n            .userNotification(\"User_Portal_Terraform_01\")\n            .userNotificationEnabled(true)\n            .certificateId(this_.id())\n            .domain(\"portal01\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisUserPortalController:\n    type: zpa:UserPortalController\n    name: this\n    properties:\n      name: UserPortal01\n      description: UserPortal01\n      enabled: true\n      userNotification: User_Portal_Terraform_01\n      userNotificationEnabled: true\n      certificateId: ${this.id}\n      domain: portal01\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getBaCertificate\n      arguments:\n        name: example.acme.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Zscaler Managed Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getUserPortalController({\n    name: \"UserPortal01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_user_portal_controller(name=\"UserPortal01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetUserPortalController.Invoke(new()\n    {\n        Name = \"UserPortal01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupUserPortalController(ctx, \u0026zpa.LookupUserPortalControllerArgs{\n\t\t\tName: pulumi.StringRef(\"UserPortal01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetUserPortalControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getUserPortalController(GetUserPortalControllerArgs.builder()\n            .name(\"UserPortal01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getUserPortalController\n      arguments:\n        name: UserPortal01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUserPortalController.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUserPortalController.\n","properties":{"certificateId":{"type":"string"},"certificateName":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"domain":{"type":"string"},"enabled":{"type":"boolean"},"extDomain":{"type":"string"},"extDomainName":{"type":"string"},"extDomainTranslation":{"type":"string"},"extLabel":{"type":"string"},"getcName":{"type":"string"},"id":{"type":"string"},"imageData":{"type":"string"},"managedByZs":{"type":"boolean"},"microtenantId":{"type":"string"},"microtenantName":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"userNotification":{"type":"string"},"userNotificationEnabled":{"type":"boolean"}},"required":["certificateId","certificateName","creationTime","description","domain","enabled","extDomain","extDomainName","extDomainTranslation","extLabel","getcName","imageData","managedByZs","microtenantName","modifiedBy","modifiedTime","userNotification","userNotificationEnabled"],"type":"object"}},"zpa:index/getUserPortalLink:getUserPortalLink":{"description":"* [Official documentation](https://help.zscaler.com/zpa/about-user-portals)\n* [API documentation](https://help.zscaler.com/zpa/about-user-portals)\n\nThe **zpa_user_portal_link** data source to get information about a user portal link in the Zscaler Private Access cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getUserPortalLink({\n    name: \"server1.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_user_portal_link(name=\"server1.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetUserPortalLink.Invoke(new()\n    {\n        Name = \"server1.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupUserPortalLink(ctx, \u0026zpa.LookupUserPortalLinkArgs{\n\t\t\tName: pulumi.StringRef(\"server1.example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport com.pulumi.zpa.inputs.GetUserPortalLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getUserPortalLink(GetUserPortalLinkArgs.builder()\n            .name(\"server1.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getUserPortalLink\n      arguments:\n        name: server1.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUserPortalLink.\n","properties":{"id":{"type":"string"},"microtenantId":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUserPortalLink.\n","properties":{"applicationId":{"type":"string"},"creationTime":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"iconText":{"type":"string"},"id":{"type":"string"},"link":{"type":"string"},"linkPath":{"type":"string"},"microtenantId":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedTime":{"type":"string"},"name":{"type":"string"},"protocol":{"type":"string"},"userPortalId":{"type":"string"},"userPortals":{"items":{"$ref":"#/types/zpa:index/getUserPortalLinkUserPortal:getUserPortalLinkUserPortal"},"type":"array"}},"required":["applicationId","creationTime","description","enabled","iconText","link","linkPath","modifiedBy","modifiedTime","protocol","userPortalId","userPortals"],"type":"object"}},"zpa:index/getWorkloadTagGroup:getWorkloadTagGroup":{"description":"* [Official documentation](https://help.zscaler.com/zpa/configuring-resource-groups)\n* [API documentation](https://help.zscaler.com/zpa/configuring-resource-groups)\n\nUse the **zpa_workload_tag_group** data source to get information about workload tag group in the Zscaler Private Access cloud. This data source can be used when configuring \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRule`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRule`\" pulumi-lang-go=\"`PolicyAccessRule`\" pulumi-lang-python=\"`PolicyAccessRule`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRule`\" pulumi-lang-java=\"`zpa.PolicyAccessRule`\"\u003e`zpa.PolicyAccessRule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-dotnet=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-go=\"`PolicyAccessRuleV2`\" pulumi-lang-python=\"`PolicyAccessRuleV2`\" pulumi-lang-yaml=\"`zpa.PolicyAccessRuleV2`\" pulumi-lang-java=\"`zpa.PolicyAccessRuleV2`\"\u003e`zpa.PolicyAccessRuleV2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`objectType`\" pulumi-lang-dotnet=\"`ObjectType`\" pulumi-lang-go=\"`objectType`\" pulumi-lang-python=\"`object_type`\" pulumi-lang-yaml=\"`objectType`\" pulumi-lang-java=\"`objectType`\"\u003e`object_type`\u003c/span\u003e is `WORKLOAD_TAG_GROUP`\n\n","inputs":{"description":"A collection of arguments for invoking getWorkloadTagGroup.\n","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkloadTagGroup.\n","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"}},"required":["enabled"],"type":"object"}},"zpa:index/getZIACloudConfig:getZIACloudConfig":{"description":"The **zpa_zia_cloud_config** retrieve configures the Zscaler Cloud Sandbox Settings in the Zscaler Private Access cloud.\n\n**NOTE** Passwords are not returned in the API response.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zpa from \"@bdzscaler/pulumi-zpa\";\n\nconst _this = zpa.getZIACloudConfig({});\n```\n```python\nimport pulumi\nimport pulumi_zpa as zpa\n\nthis = zpa.get_zia_cloud_config()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zpa = Pulumi.Zpa;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Zpa.GetZIACloudConfig.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/zscaler/pulumi-zpa/sdk/go/zpa\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zpa.LookupZIACloudConfig(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zpa.ZpaFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = ZpaFunctions.getZIACloudConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: zpa:getZIACloudConfig\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getZIACloudConfig.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ziaCloudDomain":{"type":"string"},"ziaUsername":{"type":"string"}},"required":["ziaCloudDomain","ziaUsername","id"],"type":"object"}}}}