zscaler-sdk-python 1.4.2__tar.gz → 1.4.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/PKG-INFO +1 -1
  2. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/pyproject.toml +1 -1
  3. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/__init__.py +1 -1
  4. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/request_executor.py +0 -7
  5. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/activate.py +1 -1
  6. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/alert_subscriptions.py +1 -1
  7. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/authentication_settings.py +1 -7
  8. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/bandwidth_control_rules.py +2 -1
  9. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/dns_gatways.py +1 -1
  10. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/proxies.py +2 -1
  11. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/traffic_extranet.py +2 -1
  12. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_segments_ba.py +12 -3
  13. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_segments_ba_v2.py +12 -3
  14. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_segments_inspection.py +12 -3
  15. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_segments_pra.py +12 -3
  16. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/application_segment.py +12 -2
  17. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/policies.py +283 -13
  18. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/provisioning.py +2 -2
  19. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/LICENSE.md +0 -0
  20. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/README.md +0 -0
  21. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/api_client.py +0 -0
  22. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/cache/__init__.py +0 -0
  23. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/cache/cache.py +0 -0
  24. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/cache/no_op_cache.py +0 -0
  25. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/cache/zscaler_cache.py +0 -0
  26. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/config/__init__.py +0 -0
  27. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/config/config_setter.py +0 -0
  28. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/config/config_validator.py +0 -0
  29. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/constants.py +0 -0
  30. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/error_messages.py +0 -0
  31. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/errors/__init__.py +0 -0
  32. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/errors/error.py +0 -0
  33. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/errors/http_error.py +0 -0
  34. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/errors/response_checker.py +0 -0
  35. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/errors/zscaler_api_error.py +0 -0
  36. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/exceptions/__init__.py +0 -0
  37. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/exceptions/exceptions.py +0 -0
  38. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/helpers.py +0 -0
  39. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/logger.py +0 -0
  40. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/oneapi_client.py +0 -0
  41. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/oneapi_collection.py +0 -0
  42. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/oneapi_http_client.py +0 -0
  43. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/oneapi_oauth_client.py +0 -0
  44. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/oneapi_object.py +0 -0
  45. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/oneapi_response.py +0 -0
  46. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ratelimiter/__init__.py +0 -0
  47. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ratelimiter/ratelimiter.py +0 -0
  48. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/user_agent.py +0 -0
  49. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/utils.py +0 -0
  50. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/__init__.py +0 -0
  51. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/admin_user.py +0 -0
  52. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/company.py +0 -0
  53. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/devices.py +0 -0
  54. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/entitlements.py +0 -0
  55. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/fail_open_policy.py +0 -0
  56. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/forwarding_profile.py +0 -0
  57. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/legacy.py +0 -0
  58. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/admin_roles.py +0 -0
  59. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/admin_user.py +0 -0
  60. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/devices.py +0 -0
  61. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/failopenpolicy.py +0 -0
  62. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/forwardingprofile.py +0 -0
  63. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/getcompanyinfo.py +0 -0
  64. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/manage_pass.py +0 -0
  65. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/secrets_otp.py +0 -0
  66. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/secrets_passwords.py +0 -0
  67. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/trustednetworks.py +0 -0
  68. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/webappservice.py +0 -0
  69. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/webpolicy.py +0 -0
  70. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/webprivacy.py +0 -0
  71. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  72. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  73. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/secrets.py +0 -0
  74. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/trusted_networks.py +0 -0
  75. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/web_app_service.py +0 -0
  76. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/web_policy.py +0 -0
  77. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/web_privacy.py +0 -0
  78. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zcc/zcc_service.py +0 -0
  79. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/__init__.py +0 -0
  80. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/admin.py +0 -0
  81. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/alerts.py +0 -0
  82. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/apps.py +0 -0
  83. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/devices.py +0 -0
  84. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/inventory.py +0 -0
  85. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/legacy.py +0 -0
  86. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/activeapplications.py +0 -0
  87. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/administration.py +0 -0
  88. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/alerts.py +0 -0
  89. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/application_users.py +0 -0
  90. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/applications.py +0 -0
  91. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  92. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/common.py +0 -0
  93. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/devices.py +0 -0
  94. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/software_inventory.py +0 -0
  95. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/troubleshooting.py +0 -0
  96. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/models/users.py +0 -0
  97. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/troubleshooting.py +0 -0
  98. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/users.py +0 -0
  99. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zdx/zdx_service.py +0 -0
  100. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/__init__.py +0 -0
  101. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/admin_roles.py +0 -0
  102. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/admin_users.py +0 -0
  103. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/advanced_settings.py +0 -0
  104. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/apptotal.py +0 -0
  105. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/atp_policy.py +0 -0
  106. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/audit_logs.py +0 -0
  107. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/bandwidth_classes.py +0 -0
  108. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_app_instances.py +0 -0
  109. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_applications.py +0 -0
  110. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_browser_isolation.py +0 -0
  111. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_firewall.py +0 -0
  112. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_firewall_dns.py +0 -0
  113. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_firewall_ips.py +0 -0
  114. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_firewall_rules.py +0 -0
  115. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloud_nss.py +0 -0
  116. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/cloudappcontrol.py +0 -0
  117. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  118. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/device_management.py +0 -0
  119. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/dlp_dictionary.py +0 -0
  120. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/dlp_engine.py +0 -0
  121. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/dlp_resources.py +0 -0
  122. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/dlp_templates.py +0 -0
  123. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/dlp_web_rules.py +0 -0
  124. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/end_user_notification.py +0 -0
  125. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/file_type_control_rule.py +0 -0
  126. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/forwarding_control.py +0 -0
  127. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/ftp_control_policy.py +0 -0
  128. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/gre_tunnel.py +0 -0
  129. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/intermediate_certificates.py +0 -0
  130. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/iot_report.py +0 -0
  131. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/ipv6_config.py +0 -0
  132. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/legacy.py +0 -0
  133. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/locations.py +0 -0
  134. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/malware_protection_policy.py +0 -0
  135. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/mobile_threat_settings.py +0 -0
  136. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/__init__.py +0 -0
  137. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/activation.py +0 -0
  138. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/admin_roles.py +0 -0
  139. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/admin_users.py +0 -0
  140. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/advanced_settings.py +0 -0
  141. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  142. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/alert_subscriptions.py +0 -0
  143. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/apptotal.py +0 -0
  144. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/authentication_settings.py +0 -0
  145. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/bandwidth_classes.py +0 -0
  146. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  147. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_app_instances.py +0 -0
  148. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_app_policy.py +0 -0
  149. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  150. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  151. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  152. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  153. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
  154. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  155. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  156. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  157. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  158. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  159. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  160. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  161. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloud_nss.py +0 -0
  162. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/cloudappcontrol.py +0 -0
  163. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/common.py +0 -0
  164. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  165. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/device_groups.py +0 -0
  166. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/devices.py +0 -0
  167. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/dlp_dictionary.py +0 -0
  168. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/dlp_engine.py +0 -0
  169. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/dlp_resources.py +0 -0
  170. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/dlp_templates.py +0 -0
  171. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/dlp_web_rules.py +0 -0
  172. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/dns_gatways.py +0 -0
  173. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/endusernotification.py +0 -0
  174. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/filetyperules.py +0 -0
  175. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  176. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/ftp_control_policy.py +0 -0
  177. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/gre_recommended_list.py +0 -0
  178. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  179. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/gre_tunnels.py +0 -0
  180. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/gre_vips.py +0 -0
  181. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/intermediate_certificates.py +0 -0
  182. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/iotreport.py +0 -0
  183. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/ipv6_config.py +0 -0
  184. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/location_group.py +0 -0
  185. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/location_management.py +0 -0
  186. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/malware_protection_settings.py +0 -0
  187. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  188. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/nat_control_policy.py +0 -0
  189. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/nss_servers.py +0 -0
  190. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/organization_information.py +0 -0
  191. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/pac_files.py +0 -0
  192. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/proxies.py +0 -0
  193. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/proxy_gatways.py +0 -0
  194. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/remoteassistance.py +0 -0
  195. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/risk_profiles.py +0 -0
  196. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/rule_labels.py +0 -0
  197. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/sandboxrules.py +0 -0
  198. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/security_policy_settings.py +0 -0
  199. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/shadow_it_report.py +0 -0
  200. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  201. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/subclouds.py +0 -0
  202. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/system_audit.py +0 -0
  203. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  204. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/time_intervals.py +0 -0
  205. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/traffic_datacenters.py +0 -0
  206. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  207. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/traffic_extranet.py +0 -0
  208. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/traffic_static_ip.py +0 -0
  209. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  210. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  211. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/url_filtering_rules.py +0 -0
  212. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/urlcategory.py +0 -0
  213. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/user_management.py +0 -0
  214. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/workload_groups.py +0 -0
  215. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/models/zpa_gateway.py +0 -0
  216. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/nat_control_policy.py +0 -0
  217. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/nss_servers.py +0 -0
  218. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/organization_information.py +0 -0
  219. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/pac_files.py +0 -0
  220. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/policy_export.py +0 -0
  221. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/remote_assistance.py +0 -0
  222. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/risk_profiles.py +0 -0
  223. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/rule_labels.py +0 -0
  224. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/sandbox.py +0 -0
  225. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/sandbox_rules.py +0 -0
  226. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/security_policy_settings.py +0 -0
  227. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/shadow_it_report.py +0 -0
  228. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/ssl_inspection_rules.py +0 -0
  229. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/sub_clouds.py +0 -0
  230. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/system_audit.py +0 -0
  231. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  232. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/time_intervals.py +0 -0
  233. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/traffic_datacenters.py +0 -0
  234. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/traffic_static_ip.py +0 -0
  235. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  236. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/url_categories.py +0 -0
  237. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/url_filtering.py +0 -0
  238. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/user_management.py +0 -0
  239. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/workload_groups.py +0 -0
  240. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/zia_service.py +0 -0
  241. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zia/zpa_gateway.py +0 -0
  242. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/__init__.py +0 -0
  243. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/administrator_controller.py +0 -0
  244. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_connector_groups.py +0 -0
  245. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_connector_schedule.py +0 -0
  246. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_connectors.py +0 -0
  247. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_protection.py +0 -0
  248. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/app_segment_by_type.py +0 -0
  249. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/cbi_banner.py +0 -0
  250. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/cbi_certificate.py +0 -0
  251. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/cbi_profile.py +0 -0
  252. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/cbi_region.py +0 -0
  253. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  254. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/certificates.py +0 -0
  255. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/client_settings.py +0 -0
  256. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/cloud_connector_groups.py +0 -0
  257. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/customer_controller.py +0 -0
  258. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/customer_version_profile.py +0 -0
  259. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/emergency_access.py +0 -0
  260. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/enrollment_certificates.py +0 -0
  261. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/idp.py +0 -0
  262. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/legacy.py +0 -0
  263. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/lss.py +0 -0
  264. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/machine_groups.py +0 -0
  265. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/microtenants.py +0 -0
  266. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/administrator_controller.py +0 -0
  267. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/app_connector_groups.py +0 -0
  268. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  269. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/app_connectors.py +0 -0
  270. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  271. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/app_protection_profile.py +0 -0
  272. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/application_segment.py +0 -0
  273. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/application_segment_lb.py +0 -0
  274. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/application_servers.py +0 -0
  275. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/cbi_banner.py +0 -0
  276. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/cbi_certificate.py +0 -0
  277. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/cbi_profile.py +0 -0
  278. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/cbi_region.py +0 -0
  279. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  280. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/certificates.py +0 -0
  281. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/client_settings.py +0 -0
  282. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  283. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/common.py +0 -0
  284. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/customer_controller.py +0 -0
  285. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/customer_version_profile.py +0 -0
  286. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/emergency_access.py +0 -0
  287. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  288. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/idp.py +0 -0
  289. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/lss.py +0 -0
  290. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/machine_groups.py +0 -0
  291. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/microtenants.py +0 -0
  292. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  293. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  294. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/posture_profiles.py +0 -0
  295. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/pra_approval.py +0 -0
  296. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/pra_console.py +0 -0
  297. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  298. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/pra_credential.py +0 -0
  299. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/pra_portal.py +0 -0
  300. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/provisioning_keys.py +0 -0
  301. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/role_controller.py +0 -0
  302. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/saml_attributes.py +0 -0
  303. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/scim_attributes.py +0 -0
  304. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/scim_groups.py +0 -0
  305. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/segment_group.py +0 -0
  306. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/server_group.py +0 -0
  307. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/service_edge_groups.py +0 -0
  308. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  309. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/service_edges.py +0 -0
  310. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/models/trusted_network.py +0 -0
  311. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/posture_profiles.py +0 -0
  312. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/pra_approval.py +0 -0
  313. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/pra_console.py +0 -0
  314. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/pra_credential.py +0 -0
  315. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/pra_credential_pool.py +0 -0
  316. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/pra_portal.py +0 -0
  317. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/role_controller.py +0 -0
  318. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/saml_attributes.py +0 -0
  319. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/scim_attributes.py +0 -0
  320. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/scim_groups.py +0 -0
  321. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/segment_groups.py +0 -0
  322. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/server_groups.py +0 -0
  323. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/servers.py +0 -0
  324. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/service_edge_group.py +0 -0
  325. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/service_edge_schedule.py +0 -0
  326. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/service_edges.py +0 -0
  327. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/trusted_networks.py +0 -0
  328. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zpa/zpa_service.py +0 -0
  329. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/__init__.py +0 -0
  330. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/account_details.py +0 -0
  331. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/activation.py +0 -0
  332. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/admin_roles.py +0 -0
  333. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/admin_users.py +0 -0
  334. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/api_keys.py +0 -0
  335. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/ec_groups.py +0 -0
  336. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/forwarding_gateways.py +0 -0
  337. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/forwarding_rules.py +0 -0
  338. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/ip_destination_groups.py +0 -0
  339. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/ip_groups.py +0 -0
  340. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/ip_source_groups.py +0 -0
  341. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/legacy.py +0 -0
  342. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/location_management.py +0 -0
  343. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/location_template.py +0 -0
  344. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/activation.py +0 -0
  345. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/admin_roles.py +0 -0
  346. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/admin_users.py +0 -0
  347. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/api_keys.py +0 -0
  348. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/common.py +0 -0
  349. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/ec_group_vm.py +0 -0
  350. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/ecgroup.py +0 -0
  351. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  352. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/forwarding_rules.py +0 -0
  353. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  354. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/ip_groups.py +0 -0
  355. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/ip_source_groups.py +0 -0
  356. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/location_management.py +0 -0
  357. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/location_templates.py +0 -0
  358. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/nw_service.py +0 -0
  359. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/nw_service_groups.py +0 -0
  360. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/provisioning_url.py +0 -0
  361. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  362. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/models/zpa_resources.py +0 -0
  363. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/nw_service.py +0 -0
  364. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/nw_service_groups.py +0 -0
  365. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/provisioning_url.py +0 -0
  366. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/ztw/ztw_service.py +0 -0
  367. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/__init__.py +0 -0
  368. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/audit_logs.py +0 -0
  369. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/dlp_incidents.py +0 -0
  370. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/legacy.py +0 -0
  371. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/audit_logs.py +0 -0
  372. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/change_history.py +0 -0
  373. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/common.py +0 -0
  374. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/generated_tickets.py +0 -0
  375. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/incident_details.py +0 -0
  376. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/incident_evidence.py +0 -0
  377. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/incident_group_search.py +0 -0
  378. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/incident_search.py +0 -0
  379. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/models/incident_trigger.py +0 -0
  380. {zscaler_sdk_python-1.4.2 → zscaler_sdk_python-1.4.3}/zscaler/zwa/zwa_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zscaler-sdk-python
3
- Version: 1.4.2
3
+ Version: 1.4.3
4
4
  Summary: Official Python SDK for the Zscaler Products
5
5
  Home-page: https://github.com/zscaler/zscaler-sdk-python
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zscaler-sdk-python"
3
- version = "1.4.2"
3
+ version = "1.4.3"
4
4
  description = "Official Python SDK for the Zscaler Products"
5
5
  authors = ["Zscaler, Inc. <devrel@zscaler.com>"]
6
6
  license = "MIT"
@@ -29,7 +29,7 @@ __license__ = "MIT"
29
29
  __contributors__ = [
30
30
  "William Guilherme",
31
31
  ]
32
- __version__ = "1.4.2"
32
+ __version__ = "1.4.3"
33
33
 
34
34
 
35
35
  from zscaler.oneapi_client import Client as ZscalerClient # noqa
@@ -77,13 +77,6 @@ class RequestExecutor:
77
77
  self._config = config
78
78
  self._cache = cache
79
79
 
80
- # ✅ Setup logging based on config flags
81
- # log_config = self._config["client"].get("logging", {})
82
- # setup_logging(
83
- # enabled=log_config.get("enabled", False),
84
- # verbose=log_config.get("verbose", False),
85
- # )
86
-
87
80
  # Retrieve cloud, service, and customer ID (optional)
88
81
  self.cloud = self._config["client"].get("cloud", "production").lower()
89
82
  self.sandbox_cloud = self._config["client"].get("sandboxCloud", "").lower()
@@ -76,7 +76,7 @@ class ActivationAPI(APIClient):
76
76
  :obj:`Activation`, response object, and error if any.
77
77
 
78
78
  Examples:
79
- >>> config_activate, response, error = zia.config.activate()
79
+ >>> config_activate, response, error = zia.activate.activate()
80
80
  """
81
81
  http_method = "post".upper()
82
82
  api_url = format_url(
@@ -237,7 +237,7 @@ class AlertSubscriptionsAPI(APIClient):
237
237
  """
238
238
  )
239
239
 
240
- body = kwargs.copy()
240
+ body = kwargs
241
241
  body["id"] = subscription_id
242
242
 
243
243
  request, error = self._request_executor.create_request(http_method, api_url, body, {}, {})
@@ -41,13 +41,7 @@ class AuthenticationSettingsAPI(APIClient):
41
41
  - list[str]: List of domains or URLs which are exempted from SSL Inspection
42
42
  - Response: The raw HTTP response from the API.
43
43
  - error: Error details if the request fails.
44
-
45
- Examples:
46
- >>> urls, response, err = client.zia.authentication_settings.get_exempted_urls()
47
- >>> if not err:
48
- ... print("Listed URLs:", urls)
49
44
  """
50
-
51
45
  http_method = "get".upper()
52
46
  api_url = format_url(
53
47
  f"""
@@ -60,7 +54,7 @@ class AuthenticationSettingsAPI(APIClient):
60
54
  if error:
61
55
  return (None, None, error)
62
56
 
63
- response, error = self._request_executor.execute(request)
57
+ response, error = self._request_executor.execute(request, dict)
64
58
  if error:
65
59
  return (None, response, error)
66
60
 
@@ -268,6 +268,7 @@ class BandwidthControlRulesAPI(APIClient):
268
268
 
269
269
  body = kwargs
270
270
 
271
+ # Convert 'enabled' to 'state' (ENABLED/DISABLED) if it's present in the payload
271
272
  if "enabled" in kwargs:
272
273
  kwargs["state"] = "ENABLED" if kwargs.pop("enabled") else "DISABLED"
273
274
 
@@ -348,7 +349,7 @@ class BandwidthControlRulesAPI(APIClient):
348
349
  """
349
350
  )
350
351
 
351
- body = kwargs.copy()
352
+ body = kwargs
352
353
  body["id"] = rule_id
353
354
 
354
355
  if "enabled" in kwargs:
@@ -264,7 +264,7 @@ class DNSGatewayAPI(APIClient):
264
264
  /dnsGateways/{gateway_id}
265
265
  """
266
266
  )
267
- body = kwargs.copy()
267
+ body = kwargs
268
268
  body["id"] = gateway_id
269
269
 
270
270
  request, error = self._request_executor.create_request(
@@ -348,7 +348,8 @@ class ProxiesAPI(APIClient):
348
348
  /proxies/{proxy_id}
349
349
  """
350
350
  )
351
- body = kwargs.copy()
351
+
352
+ body = kwargs
352
353
  body["id"] = proxy_id
353
354
 
354
355
  request, error = self._request_executor.create_request(http_method, api_url, body, {}, {})
@@ -250,7 +250,8 @@ class TrafficExtranetAPI(APIClient):
250
250
  /extranet/{extranet_id}
251
251
  """
252
252
  )
253
- body = kwargs.copy()
253
+
254
+ body = kwargs
254
255
  body["id"] = extranet_id
255
256
 
256
257
  request, error = self._request_executor.create_request(http_method, api_url, body, {}, {})
@@ -439,16 +439,25 @@ class ApplicationSegmentBAAPI(APIClient):
439
439
  app["id"] = matched_segment.id
440
440
  body["clientlessApps"].append(app)
441
441
 
442
- # Handle port ranges
443
442
  if "tcp_port_ranges" in body:
444
443
  body["tcpPortRanges"] = body.pop("tcp_port_ranges")
445
- elif "tcp_port_range" in body:
444
+ else:
445
+ body["tcpPortRanges"] = []
446
+
447
+ if "tcp_port_range" in body:
446
448
  body["tcpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("tcp_port_range")]
449
+ else:
450
+ body["tcpPortRange"] = []
447
451
 
448
452
  if "udp_port_ranges" in body:
449
453
  body["udpPortRanges"] = body.pop("udp_port_ranges")
450
- elif "udp_port_range" in body:
454
+ else:
455
+ body["udpPortRanges"] = [] # Explicitly clear if not provided
456
+
457
+ if "udp_port_range" in body:
451
458
  body["udpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("udp_port_range")]
459
+ else:
460
+ body["udpPortRange"] = [] # Explicitly clear if not provided
452
461
 
453
462
  add_id_groups(self.reformat_params, kwargs, body)
454
463
 
@@ -398,16 +398,25 @@ class AppSegmentsBAV2API(APIClient):
398
398
 
399
399
  body["commonAppsDto"] = common_apps_dto
400
400
 
401
- # --- Normalize port ranges ---
402
401
  if "tcp_port_ranges" in body:
403
402
  body["tcpPortRanges"] = body.pop("tcp_port_ranges")
404
- elif "tcp_port_range" in body:
403
+ else:
404
+ body["tcpPortRanges"] = []
405
+
406
+ if "tcp_port_range" in body:
405
407
  body["tcpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("tcp_port_range")]
408
+ else:
409
+ body["tcpPortRange"] = []
406
410
 
407
411
  if "udp_port_ranges" in body:
408
412
  body["udpPortRanges"] = body.pop("udp_port_ranges")
409
- elif "udp_port_range" in body:
413
+ else:
414
+ body["udpPortRanges"] = [] # Explicitly clear if not provided
415
+
416
+ if "udp_port_range" in body:
410
417
  body["udpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("udp_port_range")]
418
+ else:
419
+ body["udpPortRange"] = [] # Explicitly clear if not provided
411
420
 
412
421
  add_id_groups(self.reformat_params, kwargs, body)
413
422
 
@@ -434,16 +434,25 @@ class AppSegmentsInspectionAPI(APIClient):
434
434
 
435
435
  body["commonAppsDto"] = common_apps_dto
436
436
 
437
- # --- Normalize port ranges ---
438
437
  if "tcp_port_ranges" in body:
439
438
  body["tcpPortRanges"] = body.pop("tcp_port_ranges")
440
- elif "tcp_port_range" in body:
439
+ else:
440
+ body["tcpPortRanges"] = []
441
+
442
+ if "tcp_port_range" in body:
441
443
  body["tcpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("tcp_port_range")]
444
+ else:
445
+ body["tcpPortRange"] = []
442
446
 
443
447
  if "udp_port_ranges" in body:
444
448
  body["udpPortRanges"] = body.pop("udp_port_ranges")
445
- elif "udp_port_range" in body:
449
+ else:
450
+ body["udpPortRanges"] = [] # Explicitly clear if not provided
451
+
452
+ if "udp_port_range" in body:
446
453
  body["udpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("udp_port_range")]
454
+ else:
455
+ body["udpPortRange"] = [] # Explicitly clear if not provided
447
456
 
448
457
  add_id_groups(self.reformat_params, kwargs, body)
449
458
 
@@ -393,16 +393,25 @@ class AppSegmentsPRAAPI(APIClient):
393
393
 
394
394
  body["commonAppsDto"] = common_apps_dto
395
395
 
396
- # --- Normalize port ranges ---
397
396
  if "tcp_port_ranges" in body:
398
397
  body["tcpPortRanges"] = body.pop("tcp_port_ranges")
399
- elif "tcp_port_range" in body:
398
+ else:
399
+ body["tcpPortRanges"] = []
400
+
401
+ if "tcp_port_range" in body:
400
402
  body["tcpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("tcp_port_range")]
403
+ else:
404
+ body["tcpPortRange"] = []
401
405
 
402
406
  if "udp_port_ranges" in body:
403
407
  body["udpPortRanges"] = body.pop("udp_port_ranges")
404
- elif "udp_port_range" in body:
408
+ else:
409
+ body["udpPortRanges"] = [] # Explicitly clear if not provided
410
+
411
+ if "udp_port_range" in body:
405
412
  body["udpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("udp_port_range")]
413
+ else:
414
+ body["udpPortRange"] = [] # Explicitly clear if not provided
406
415
 
407
416
  add_id_groups(self.reformat_params, kwargs, body)
408
417
 
@@ -432,13 +432,23 @@ class ApplicationSegmentAPI(APIClient):
432
432
 
433
433
  if "tcp_port_ranges" in body:
434
434
  body["tcpPortRanges"] = body.pop("tcp_port_ranges")
435
- elif "tcp_port_range" in body:
435
+ else:
436
+ body["tcpPortRanges"] = []
437
+
438
+ if "tcp_port_range" in body:
436
439
  body["tcpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("tcp_port_range")]
440
+ else:
441
+ body["tcpPortRange"] = []
437
442
 
438
443
  if "udp_port_ranges" in body:
439
444
  body["udpPortRanges"] = body.pop("udp_port_ranges")
440
- elif "udp_port_range" in body:
445
+ else:
446
+ body["udpPortRanges"] = [] # Explicitly clear if not provided
447
+
448
+ if "udp_port_range" in body:
441
449
  body["udpPortRange"] = [{"from": pr["from"], "to": pr["to"]} for pr in body.pop("udp_port_range")]
450
+ else:
451
+ body["udpPortRange"] = [] # Explicitly clear if not provided
442
452
 
443
453
  add_id_groups(self.reformat_params, kwargs, body)
444
454
 
@@ -66,6 +66,7 @@ class PolicySetControllerAPI(APIClient):
66
66
  "redirection": "REDIRECTION_POLICY",
67
67
  "siem": "SIEM_POLICY",
68
68
  "timeout": "TIMEOUT_POLICY",
69
+ "user_portal": "USER_PORTAL"
69
70
  }
70
71
 
71
72
  reformat_params = [
@@ -107,9 +108,10 @@ class PolicySetControllerAPI(APIClient):
107
108
  "RISK_FACTOR_TYPE": [],
108
109
  "CHROME_ENTERPRISE": [],
109
110
  "CHROME_POSTURE_PROFILE": [],
111
+ "USER_PORTAL": []
110
112
  }
111
113
 
112
- operators_for_types = {} # Dictionary to store specific operators for each object type
114
+ operators_for_types = {}
113
115
 
114
116
  for condition in conditions:
115
117
  # Check if the first item in a tuple is an operator, like "AND" or "OR"
@@ -219,7 +221,7 @@ class PolicySetControllerAPI(APIClient):
219
221
  })
220
222
 
221
223
  # Handle individual conditions (each in their own block)
222
- elif object_type in ["console", "location", "machine_grp", "client_type"]:
224
+ elif object_type in ["console", "location", "machine_grp", "client_type", "user_portal"]:
223
225
  individual_conditions.append({
224
226
  "operator": operator,
225
227
  "operands": [{
@@ -237,7 +239,8 @@ class PolicySetControllerAPI(APIClient):
237
239
  ]:
238
240
  # Special handling for conditions with list of tuples
239
241
  if (
240
- object_type in ["scim_group", "saml", "scim", "posture", "trusted_network"]
242
+ object_type in ["scim_group", "saml", "scim", "posture", "platform",
243
+ "trusted_network", "risk_factor_type", "country_code"]
241
244
  and len(values) == 1
242
245
  and isinstance(values[0], list)
243
246
  ):
@@ -1824,7 +1827,7 @@ class PolicySetControllerAPI(APIClient):
1824
1827
  @synchronized(global_rule_lock)
1825
1828
  def add_timeout_rule_v2(self, name: str, **kwargs) -> tuple:
1826
1829
  """
1827
- Update an existing policy rule.
1830
+ Add a new timeout policy rule.
1828
1831
 
1829
1832
  Ensure you are using the correct arguments for the policy type that you want to update.
1830
1833
 
@@ -2306,7 +2309,13 @@ class PolicySetControllerAPI(APIClient):
2306
2309
  return (result, response, None)
2307
2310
 
2308
2311
  @synchronized(global_rule_lock)
2309
- def add_isolation_rule_v2(self, name: str, action: str, zpn_isolation_profile_id: str = None, **kwargs) -> tuple:
2312
+ def add_isolation_rule_v2(
2313
+ self,
2314
+ name: str,
2315
+ action: str,
2316
+ zpn_isolation_profile_id: str = None,
2317
+ **kwargs
2318
+ ) -> tuple:
2310
2319
  """
2311
2320
  Add a new Isolation Policy rule.
2312
2321
 
@@ -2577,8 +2586,8 @@ class PolicySetControllerAPI(APIClient):
2577
2586
  action (str):
2578
2587
  The action for the policy. Accepted values are:
2579
2588
 
2580
- | ``isolate``
2581
- | ``bypass_isolate``
2589
+ | ``inspect``
2590
+ | ``bypass_inspect``
2582
2591
  description (str):
2583
2592
  Additional information about the app protection policy rule.
2584
2593
  enabled (bool):
@@ -2683,7 +2692,12 @@ class PolicySetControllerAPI(APIClient):
2683
2692
 
2684
2693
  @synchronized(global_rule_lock)
2685
2694
  def update_app_protection_rule_v2(
2686
- self, rule_id: str, name: str, action: str, zpn_inspection_profile_id: str = None, **kwargs
2695
+ self,
2696
+ rule_id: str,
2697
+ name: str,
2698
+ action: str,
2699
+ zpn_inspection_profile_id: str = None,
2700
+ **kwargs
2687
2701
  ) -> tuple:
2688
2702
  """
2689
2703
  Add a new App Protection Policy rule.
@@ -2702,7 +2716,10 @@ class PolicySetControllerAPI(APIClient):
2702
2716
 
2703
2717
  Keyword Args:
2704
2718
  action (str):
2705
- The action for the rule. Accepted value is: ``inject_credentials``
2719
+ The action for the policy. Accepted values are:
2720
+
2721
+ | ``inspect``
2722
+ | ``bypass_inspect``
2706
2723
  description (str):
2707
2724
  Additional information about the credential rule.
2708
2725
  enabled (bool):
@@ -2722,10 +2739,10 @@ class PolicySetControllerAPI(APIClient):
2722
2739
 
2723
2740
  .. code-block:: python
2724
2741
 
2725
- zpa.policies.add_privileged_credential_rule(
2726
- name='new_pra_credential_rule',
2727
- description='new_pra_credential_rule',
2728
- credential_id='credential_id',
2742
+ zpa.policies.update_app_protection_rule_v2(
2743
+ name='new_app_protection_rule',
2744
+ description='new_app_protection_rule',
2745
+ zpn_inspection_profile_id='216199618143363055'
2729
2746
  conditions=[
2730
2747
  ("scim_group", [("idp_id", "scim_group_id"), ("idp_id", "scim_group_id")])
2731
2748
  ("console", ["console_id"]),
@@ -3714,6 +3731,259 @@ class PolicySetControllerAPI(APIClient):
3714
3731
 
3715
3732
  return (result, response, None)
3716
3733
 
3734
+ @synchronized(global_rule_lock)
3735
+ def add_browser_protection_rule_v2(
3736
+ self,
3737
+ name: str,
3738
+ action: str,
3739
+ **kwargs
3740
+ ) -> tuple:
3741
+ """
3742
+ Add browser protection rule.
3743
+
3744
+ Ensure you are using the correct arguments for the policy type that you want to update.
3745
+
3746
+ Args:
3747
+ name (str):
3748
+ The name of the new rule.
3749
+
3750
+ **kwargs:
3751
+ Optional keyword args.
3752
+
3753
+ Keyword Args:
3754
+ conditions (list):
3755
+ A list of conditional rule tuples. Tuples must follow the convention: `Object Type`, `LHS value`,
3756
+ `RHS value`.
3757
+ E.g.
3758
+
3759
+ .. code-block:: python
3760
+
3761
+ [("app", ["72058304855116918"]),
3762
+ ("app_group", ["72058304855114308"])
3763
+ ("client_type", ["zpn_client_type_exporter"]),
3764
+
3765
+ action (str):
3766
+ The action for the policy. Accepted values are:
3767
+ | ``MONITOR``
3768
+ | ``DO_NOT_MONITOR``
3769
+ description (str):
3770
+ A description for the rule.
3771
+
3772
+ Returns:
3773
+
3774
+ Examples:
3775
+ Updated an existing Browser Protection Policy rule:
3776
+
3777
+ >>> added_rule, _, err = client.zpa.policies.add_browser_protection_rule_v2(
3778
+ ... name=f"AddBrowserProtectionRule_{random.randint(1000, 10000)}",
3779
+ ... description=f"AddBrowserProtectionRule_{random.randint(1000, 10000)}",
3780
+ ... action="MONITOR",
3781
+ ... conditions=[
3782
+ ... ("app", ["72058304855116918"]),
3783
+ ... ("app_group", ["72058304855114308"]),
3784
+ ... ("AND", ("saml", [
3785
+ ... ("72058304855021553", "jdoe1@acme.com"),
3786
+ ... ("72058304855021553", "jdoe@acme.com"),
3787
+ ... ])),
3788
+ ... ("AND", ("scim_group", [
3789
+ ... ("72058304855015574", "490880"),
3790
+ ... ("72058304855015574", "490877"),
3791
+ ... ])),
3792
+ ... ("AND", ("scim", [
3793
+ ... ("72058304855015576", "Smith"),
3794
+ ... ("72058304855015577", "artxngwpbq"),
3795
+ ... ])),
3796
+ ... ]
3797
+ ... )
3798
+ >>> if err:
3799
+ ... print(f"Error adding browser protection rule: {err}")
3800
+ ... return
3801
+ ... print(f"Browser Protection Rule added successfully: {added_rule.as_dict()}")
3802
+ """
3803
+ policy_type_response, _, err = self.get_policy(
3804
+ "clientless", query_params={
3805
+ "microtenantId": kwargs.get("microtenantId")
3806
+ }
3807
+ )
3808
+ if err or not policy_type_response:
3809
+ return (None, None, "Error retrieving policy for 'browser protection': {err}")
3810
+
3811
+ policy_set_id = policy_type_response.get("id")
3812
+ if not policy_set_id:
3813
+ return (None, None, "No policy ID found for 'browser protection' policy type")
3814
+
3815
+ http_method = "post".upper()
3816
+ api_url = format_url(
3817
+ f"""
3818
+ {self._zpa_base_endpoint_v2}
3819
+ /policySet/{policy_set_id}/rule
3820
+ """
3821
+ )
3822
+
3823
+ payload = {
3824
+ "name": name,
3825
+ "description": kwargs.get("description"),
3826
+ "rule_order": kwargs.get("rule_order"),
3827
+ "action": action.upper(),
3828
+ "conditions": self._create_conditions_v2(kwargs.pop("conditions", [])),
3829
+ }
3830
+
3831
+ body = kwargs
3832
+
3833
+ microtenant_id = body.get("microtenant_id", None)
3834
+ params = {"microtenantId": microtenant_id} if microtenant_id else {}
3835
+
3836
+ client_type_present = any(
3837
+ cond.get("operands", [{}])[0].get("objectType", "") == "CLIENT_TYPE" for cond in payload["conditions"]
3838
+ )
3839
+ if not client_type_present:
3840
+ payload["conditions"].append(
3841
+ {"operator": "OR", "operands": [{"objectType": "CLIENT_TYPE", "values": ["zpn_client_type_exporter"]}]}
3842
+ )
3843
+
3844
+ request, error = self._request_executor.create_request(http_method, api_url, body=payload, params=params)
3845
+ if error:
3846
+ return (None, None, error)
3847
+
3848
+ response, error = self._request_executor.execute(request, PolicySetControllerV2)
3849
+ if error:
3850
+ return (None, response, error)
3851
+
3852
+ try:
3853
+ result = PolicySetControllerV2(self.form_response_body(response.get_body()))
3854
+ except Exception as error:
3855
+ return (None, response, error)
3856
+ return (result, response, None)
3857
+
3858
+ @synchronized(global_rule_lock)
3859
+ def update_browser_protection_rule_v2(
3860
+ self,
3861
+ rule_id: str,
3862
+ name: str,
3863
+ action: str,
3864
+ **kwargs
3865
+ ) -> tuple:
3866
+ """
3867
+ Update an existing policy rule.
3868
+
3869
+ Ensure you are using the correct arguments for the policy type that you want to update.
3870
+
3871
+ Args:
3872
+ rule_id (str):
3873
+ The unique identifier for the rule to be updated.
3874
+ **kwargs:
3875
+ Optional keyword args.
3876
+
3877
+ Keyword Args:
3878
+ conditions (list):
3879
+ A list of conditional rule tuples. Tuples must follow the convention: `Object Type`, `LHS value`,
3880
+ `RHS value`.
3881
+ E.g.
3882
+
3883
+ .. code-block:: python
3884
+
3885
+ [("app", ["72058304855116918"]),
3886
+ ("app_group", ["72058304855114308"])
3887
+ ("client_type", ["zpn_client_type_exporter"]),
3888
+
3889
+ action (str):
3890
+ The action for the policy. Accepted values are:
3891
+ | ``MONITOR``
3892
+ | ``DO_NOT_MONITOR``
3893
+ description (str):
3894
+ A description for the rule.
3895
+
3896
+ Returns:
3897
+ :obj:`Tuple`: The resource record of the newly created access policy rule.
3898
+
3899
+ Examples:
3900
+ Updated an existing Browser Protection Policy rule:
3901
+
3902
+ >>> updated_rule, _, err = client.zpa.policies.update_browser_protection_rule_v2(
3903
+ ... rule_id='12365865',
3904
+ ... name=f"UpdateBrowserProtectionRule_{random.randint(1000, 10000)}",
3905
+ ... description=f"UpdateBrowserProtectionRule_{random.randint(1000, 10000)}",
3906
+ ... action="DO_NOT_MONITOR",
3907
+ ... conditions=[
3908
+ ... ("app", ["72058304855116918"]),
3909
+ ... ("app_group", ["72058304855114308"]),
3910
+ ... ("AND", ("saml", [
3911
+ ... ("72058304855021553", "jdoe1@acme.com"),
3912
+ ... ("72058304855021553", "jdoe@acme.com"),
3913
+ ... ])),
3914
+ ... ("AND", ("scim_group", [
3915
+ ... ("72058304855015574", "490880"),
3916
+ ... ("72058304855015574", "490877"),
3917
+ ... ])),
3918
+ ... ("AND", ("scim", [
3919
+ ... ("72058304855015576", "Smith"),
3920
+ ... ("72058304855015577", "artxngwpbq"),
3921
+ ... ])),
3922
+ ... ]
3923
+ ... )
3924
+ >>> if err:
3925
+ ... print(f"Error adding Browser Protection rule: {err}")
3926
+ ... return
3927
+ ... print(f"Browser Protection Rule added successfully: {updated_rule.as_dict()}")
3928
+ """
3929
+ policy_type_response, _, err = self.get_policy(
3930
+ "clientless", query_params={
3931
+ "microtenantId": kwargs.get("microtenantId")
3932
+ }
3933
+ )
3934
+ if err or not policy_type_response:
3935
+ return (None, None, "Error retrieving policy for 'Browser Protection': {err}")
3936
+
3937
+ policy_set_id = policy_type_response.get("id")
3938
+ if not policy_set_id:
3939
+ return (None, None, "No policy ID found for 'Browser Protection' policy type")
3940
+
3941
+ http_method = "put".upper()
3942
+ api_url = format_url(
3943
+ f"""
3944
+ {self._zpa_base_endpoint_v2}
3945
+ /policySet/{policy_set_id}/rule/{rule_id}
3946
+ """
3947
+ )
3948
+
3949
+ body = kwargs
3950
+
3951
+ microtenant_id = body.get("microtenant_id", None)
3952
+ params = {"microtenantId": microtenant_id} if microtenant_id else {}
3953
+
3954
+ payload = {
3955
+ "name": name,
3956
+ "description": kwargs.get("description"),
3957
+ "rule_order": kwargs.get("rule_order"),
3958
+ "action": action.upper(),
3959
+ "conditions": self._create_conditions_v2(kwargs.pop("conditions", [])),
3960
+ }
3961
+
3962
+ client_type_present = any(
3963
+ cond.get("operands", [{}])[0].get("objectType", "") == "CLIENT_TYPE" for cond in payload["conditions"]
3964
+ )
3965
+ if not client_type_present:
3966
+ payload["conditions"].append(
3967
+ {"operator": "OR", "operands": [{"objectType": "CLIENT_TYPE", "values": ["zpn_client_type_exporter"]}]}
3968
+ )
3969
+
3970
+ request, error = self._request_executor.create_request(http_method, api_url, body=payload, params=params)
3971
+ if error:
3972
+ return (None, None, error)
3973
+
3974
+ response, error = self._request_executor.execute(request, PolicySetControllerV2)
3975
+ if error:
3976
+ return (None, response, error)
3977
+
3978
+ if response is None:
3979
+ return (PolicySetControllerV2({"id": rule_id}), None, None)
3980
+
3981
+ try:
3982
+ result = PolicySetControllerV2(self.form_response_body(response.get_body()))
3983
+ except Exception as error:
3984
+ return (None, response, error)
3985
+ return (result, response, None)
3986
+
3717
3987
  @synchronized(global_rule_lock)
3718
3988
  def delete_rule(self, policy_type: str, rule_id: str, microtenant_id: str = None) -> tuple:
3719
3989
  """