zscaler-sdk-python 1.5.9__tar.gz → 1.7.0__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 (425) hide show
  1. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/PKG-INFO +168 -7
  2. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/README.md +166 -5
  3. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/pyproject.toml +2 -2
  4. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/__init__.py +1 -1
  5. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/errors/response_checker.py +1 -1
  6. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/helpers.py +7 -2
  7. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_client.py +8 -0
  8. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_http_client.py +3 -3
  9. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/request_executor.py +28 -3
  10. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/utils.py +25 -3
  11. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/devices.py +2 -0
  12. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/admin.py +1 -1
  13. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/admin_roles.py +1 -1
  14. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_nss.py +9 -5
  15. zscaler_sdk_python-1.7.0/zscaler/zia/cloud_to_cloud_ir.py +294 -0
  16. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_dictionary.py +5 -2
  17. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/legacy.py +11 -0
  18. zscaler_sdk_python-1.7.0/zscaler/zia/models/cloud_to_cloud_ir.py +488 -0
  19. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/rule_labels.py +1 -1
  20. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/url_categories.py +5 -3
  21. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/zia_service.py +10 -0
  22. zscaler_sdk_python-1.7.0/zscaler/zidentity/api_client.py +539 -0
  23. zscaler_sdk_python-1.7.0/zscaler/zidentity/groups.py +625 -0
  24. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/api_client.py +349 -0
  25. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/common.py +93 -0
  26. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/groups.py +191 -0
  27. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/resource_servers.py +219 -0
  28. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/user_entitlement.py +162 -0
  29. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/users.py +183 -0
  30. zscaler_sdk_python-1.7.0/zscaler/zidentity/resource_servers.py +153 -0
  31. zscaler_sdk_python-1.7.0/zscaler/zidentity/user_entitlement.py +125 -0
  32. zscaler_sdk_python-1.7.0/zscaler/zidentity/users.py +398 -0
  33. zscaler_sdk_python-1.7.0/zscaler/zidentity/zidentity_service.py +70 -0
  34. zscaler_sdk_python-1.7.0/zscaler/zpa/admin_sso_controller.py +130 -0
  35. zscaler_sdk_python-1.7.0/zscaler/zpa/api_keys.py +307 -0
  36. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connector_groups.py +0 -2
  37. zscaler_sdk_python-1.7.0/zscaler/zpa/c2c_ip_ranges.py +404 -0
  38. zscaler_sdk_python-1.7.0/zscaler/zpa/config_override_controller.py +215 -0
  39. zscaler_sdk_python-1.7.0/zscaler/zpa/customer_domain.py +164 -0
  40. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/legacy.py +104 -0
  41. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/microtenants.py +3 -3
  42. zscaler_sdk_python-1.7.0/zscaler/zpa/models/api_keys.py +120 -0
  43. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connector_groups.py +0 -1
  44. zscaler_sdk_python-1.7.0/zscaler/zpa/models/c2c_ip_ranges.py +129 -0
  45. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/common.py +156 -1
  46. zscaler_sdk_python-1.7.0/zscaler/zpa/models/config_override_controller.py +101 -0
  47. zscaler_sdk_python-1.7.0/zscaler/zpa/models/customer_domain.py +81 -0
  48. zscaler_sdk_python-1.7.0/zscaler/zpa/models/microtenants.py +82 -0
  49. zscaler_sdk_python-1.7.0/zscaler/zpa/models/npn_client_controller.py +87 -0
  50. zscaler_sdk_python-1.7.0/zscaler/zpa/models/private_cloud_controller.py +571 -0
  51. zscaler_sdk_python-1.7.0/zscaler/zpa/models/private_cloud_group.py +241 -0
  52. zscaler_sdk_python-1.7.0/zscaler/zpa/models/user_portal_controller.py +129 -0
  53. zscaler_sdk_python-1.7.0/zscaler/zpa/models/user_portal_link.py +151 -0
  54. zscaler_sdk_python-1.7.0/zscaler/zpa/npn_client_controller.py +88 -0
  55. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_console.py +1 -1
  56. zscaler_sdk_python-1.7.0/zscaler/zpa/private_cloud_controller.py +283 -0
  57. zscaler_sdk_python-1.7.0/zscaler/zpa/private_cloud_group.py +429 -0
  58. zscaler_sdk_python-1.7.0/zscaler/zpa/user_portal_controller.py +309 -0
  59. zscaler_sdk_python-1.7.0/zscaler/zpa/user_portal_link.py +483 -0
  60. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/zpa_service.py +100 -0
  61. zscaler_sdk_python-1.7.0/zscaler/zwa/__init__.py +0 -0
  62. zscaler_sdk_python-1.5.9/zscaler/zpa/models/microtenants.py +0 -235
  63. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/LICENSE.md +0 -0
  64. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/api_client.py +0 -0
  65. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/cache/__init__.py +0 -0
  66. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/cache/cache.py +0 -0
  67. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/cache/no_op_cache.py +0 -0
  68. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/cache/zscaler_cache.py +0 -0
  69. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/config/__init__.py +0 -0
  70. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/config/config_setter.py +0 -0
  71. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/config/config_validator.py +0 -0
  72. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/constants.py +0 -0
  73. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/error_messages.py +0 -0
  74. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/errors/__init__.py +0 -0
  75. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/errors/error.py +0 -0
  76. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/errors/http_error.py +0 -0
  77. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/errors/zscaler_api_error.py +0 -0
  78. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/exceptions/__init__.py +0 -0
  79. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/exceptions/exceptions.py +0 -0
  80. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/logger.py +0 -0
  81. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_collection.py +0 -0
  82. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_oauth_client.py +0 -0
  83. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_object.py +0 -0
  84. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_response.py +0 -0
  85. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ratelimiter/__init__.py +0 -0
  86. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ratelimiter/ratelimiter.py +0 -0
  87. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/user_agent.py +0 -0
  88. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/__init__.py +0 -0
  89. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/admin_user.py +0 -0
  90. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/company.py +0 -0
  91. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/entitlements.py +0 -0
  92. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/fail_open_policy.py +0 -0
  93. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/forwarding_profile.py +0 -0
  94. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/legacy.py +0 -0
  95. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/admin_roles.py +0 -0
  96. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/admin_user.py +0 -0
  97. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/devices.py +0 -0
  98. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/failopenpolicy.py +0 -0
  99. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/forwardingprofile.py +0 -0
  100. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/getcompanyinfo.py +0 -0
  101. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/manage_pass.py +0 -0
  102. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/secrets_otp.py +0 -0
  103. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/secrets_passwords.py +0 -0
  104. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/trustednetworks.py +0 -0
  105. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webappservice.py +0 -0
  106. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webpolicy.py +0 -0
  107. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webprivacy.py +0 -0
  108. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  109. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  110. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/secrets.py +0 -0
  111. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/trusted_networks.py +0 -0
  112. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_app_service.py +0 -0
  113. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_policy.py +0 -0
  114. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_privacy.py +0 -0
  115. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zcc/zcc_service.py +0 -0
  116. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/__init__.py +0 -0
  117. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/alerts.py +0 -0
  118. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/apps.py +0 -0
  119. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/devices.py +0 -0
  120. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/inventory.py +0 -0
  121. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/legacy.py +0 -0
  122. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/activeapplications.py +0 -0
  123. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/administration.py +0 -0
  124. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/alerts.py +0 -0
  125. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/application_users.py +0 -0
  126. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/applications.py +0 -0
  127. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  128. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/common.py +0 -0
  129. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/devices.py +0 -0
  130. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/software_inventory.py +0 -0
  131. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/troubleshooting.py +0 -0
  132. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/users.py +0 -0
  133. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/troubleshooting.py +0 -0
  134. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/users.py +0 -0
  135. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zdx/zdx_service.py +0 -0
  136. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/__init__.py +0 -0
  137. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/activate.py +0 -0
  138. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/admin_users.py +0 -0
  139. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/advanced_settings.py +0 -0
  140. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/alert_subscriptions.py +0 -0
  141. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/apptotal.py +0 -0
  142. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/atp_policy.py +0 -0
  143. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/audit_logs.py +0 -0
  144. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/authentication_settings.py +0 -0
  145. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/bandwidth_classes.py +0 -0
  146. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/bandwidth_control_rules.py +0 -0
  147. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/browser_control_settings.py +0 -0
  148. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/casb_dlp_rules.py +0 -0
  149. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/casb_malware_rules.py +0 -0
  150. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_app_instances.py +0 -0
  151. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_applications.py +0 -0
  152. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_browser_isolation.py +0 -0
  153. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall.py +0 -0
  154. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_dns.py +0 -0
  155. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_ips.py +0 -0
  156. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_rules.py +0 -0
  157. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloudappcontrol.py +0 -0
  158. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  159. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/device_management.py +0 -0
  160. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_engine.py +0 -0
  161. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_resources.py +0 -0
  162. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_templates.py +0 -0
  163. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_web_rules.py +0 -0
  164. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/dns_gatways.py +0 -0
  165. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/end_user_notification.py +0 -0
  166. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/file_type_control_rule.py +0 -0
  167. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/forwarding_control.py +0 -0
  168. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/ftp_control_policy.py +0 -0
  169. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/gre_tunnel.py +0 -0
  170. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/intermediate_certificates.py +0 -0
  171. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/iot_report.py +0 -0
  172. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/ipv6_config.py +0 -0
  173. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/locations.py +0 -0
  174. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/malware_protection_policy.py +0 -0
  175. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/mobile_threat_settings.py +0 -0
  176. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/__init__.py +0 -0
  177. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/activation.py +0 -0
  178. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/admin_roles.py +0 -0
  179. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/admin_users.py +0 -0
  180. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/advanced_settings.py +0 -0
  181. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  182. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/alert_subscriptions.py +0 -0
  183. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/apptotal.py +0 -0
  184. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/authentication_settings.py +0 -0
  185. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/bandwidth_classes.py +0 -0
  186. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  187. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/browser_control_settings.py +0 -0
  188. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/casb_dlp_rules.py +0 -0
  189. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/casb_malware_rules.py +0 -0
  190. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_app_instances.py +0 -0
  191. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_app_policy.py +0 -0
  192. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  193. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  194. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  195. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  196. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
  197. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  198. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  199. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  200. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  201. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  202. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  203. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  204. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_nss.py +0 -0
  205. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloudappcontrol.py +0 -0
  206. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/common.py +0 -0
  207. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  208. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/device_groups.py +0 -0
  209. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/devices.py +0 -0
  210. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_dictionary.py +0 -0
  211. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_engine.py +0 -0
  212. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_resources.py +0 -0
  213. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_templates.py +0 -0
  214. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_web_rules.py +0 -0
  215. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dns_gateways.py +0 -0
  216. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/endusernotification.py +0 -0
  217. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/filetyperules.py +0 -0
  218. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  219. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ftp_control_policy.py +0 -0
  220. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_recommended_list.py +0 -0
  221. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  222. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_tunnels.py +0 -0
  223. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_vips.py +0 -0
  224. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/intermediate_certificates.py +0 -0
  225. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/iotreport.py +0 -0
  226. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ipv6_config.py +0 -0
  227. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/location_group.py +0 -0
  228. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/location_management.py +0 -0
  229. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/malware_protection_settings.py +0 -0
  230. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  231. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/nat_control_policy.py +0 -0
  232. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/nss_servers.py +0 -0
  233. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/organization_information.py +0 -0
  234. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/pac_files.py +0 -0
  235. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/proxies.py +0 -0
  236. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/proxy_gateways.py +0 -0
  237. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/remoteassistance.py +0 -0
  238. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/risk_profiles.py +0 -0
  239. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/rule_labels.py +0 -0
  240. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/saas_security_api.py +0 -0
  241. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/sandboxrules.py +0 -0
  242. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/security_policy_settings.py +0 -0
  243. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/shadow_it_report.py +0 -0
  244. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  245. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/subclouds.py +0 -0
  246. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/system_audit.py +0 -0
  247. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  248. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/time_intervals.py +0 -0
  249. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_datacenters.py +0 -0
  250. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  251. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_extranet.py +0 -0
  252. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_static_ip.py +0 -0
  253. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  254. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  255. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/url_filtering_rules.py +0 -0
  256. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/urlcategory.py +0 -0
  257. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/user_management.py +0 -0
  258. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/vzen_clusters.py +0 -0
  259. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/workload_groups.py +0 -0
  260. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/zpa_gateway.py +0 -0
  261. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/nat_control_policy.py +0 -0
  262. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/nss_servers.py +0 -0
  263. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/organization_information.py +0 -0
  264. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/pac_files.py +0 -0
  265. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/policy_export.py +0 -0
  266. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/proxies.py +0 -0
  267. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/remote_assistance.py +0 -0
  268. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/risk_profiles.py +0 -0
  269. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/saas_security_api.py +0 -0
  270. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/sandbox.py +0 -0
  271. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/sandbox_rules.py +0 -0
  272. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/security_policy_settings.py +0 -0
  273. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/shadow_it_report.py +0 -0
  274. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/ssl_inspection_rules.py +0 -0
  275. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/sub_clouds.py +0 -0
  276. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/system_audit.py +0 -0
  277. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  278. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/time_intervals.py +0 -0
  279. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_datacenters.py +0 -0
  280. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_extranet.py +0 -0
  281. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_static_ip.py +0 -0
  282. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  283. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/url_filtering.py +0 -0
  284. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/user_management.py +0 -0
  285. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/vzen_clusters.py +0 -0
  286. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/workload_groups.py +0 -0
  287. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zia/zpa_gateway.py +0 -0
  288. {zscaler_sdk_python-1.5.9/zscaler/zpa → zscaler_sdk_python-1.7.0/zscaler/zidentity}/__init__.py +0 -0
  289. {zscaler_sdk_python-1.5.9/zscaler/ztw → zscaler_sdk_python-1.7.0/zscaler/zpa}/__init__.py +0 -0
  290. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/administrator_controller.py +0 -0
  291. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connector_schedule.py +0 -0
  292. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connectors.py +0 -0
  293. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_protection.py +0 -0
  294. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segment_by_type.py +0 -0
  295. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_ba.py +0 -0
  296. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_ba_v2.py +0 -0
  297. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_inspection.py +0 -0
  298. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_pra.py +0 -0
  299. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/application_segment.py +0 -0
  300. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_banner.py +0 -0
  301. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_certificate.py +0 -0
  302. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_profile.py +0 -0
  303. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_region.py +0 -0
  304. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  305. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/certificates.py +0 -0
  306. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/client_settings.py +0 -0
  307. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cloud_connector_groups.py +0 -0
  308. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_controller.py +0 -0
  309. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_version_profile.py +0 -0
  310. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/emergency_access.py +0 -0
  311. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/enrollment_certificates.py +0 -0
  312. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/idp.py +0 -0
  313. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/lss.py +0 -0
  314. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/machine_groups.py +0 -0
  315. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/administrator_controller.py +0 -0
  316. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  317. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connectors.py +0 -0
  318. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  319. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_protection_profile.py +0 -0
  320. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_segment.py +0 -0
  321. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_segment_lb.py +0 -0
  322. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_servers.py +0 -0
  323. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_banner.py +0 -0
  324. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_certificate.py +0 -0
  325. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_profile.py +0 -0
  326. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_region.py +0 -0
  327. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  328. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/certificates.py +0 -0
  329. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/client_settings.py +0 -0
  330. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  331. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_controller.py +0 -0
  332. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_version_profile.py +0 -0
  333. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/emergency_access.py +0 -0
  334. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  335. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/idp.py +0 -0
  336. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/lss.py +0 -0
  337. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/machine_groups.py +0 -0
  338. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  339. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  340. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/posture_profiles.py +0 -0
  341. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_approval.py +0 -0
  342. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_console.py +0 -0
  343. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  344. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_credential.py +0 -0
  345. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_portal.py +0 -0
  346. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/provisioning_keys.py +0 -0
  347. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/role_controller.py +0 -0
  348. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/saml_attributes.py +0 -0
  349. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/scim_attributes.py +0 -0
  350. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/scim_groups.py +0 -0
  351. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/segment_group.py +0 -0
  352. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/server_group.py +0 -0
  353. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edge_groups.py +0 -0
  354. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  355. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edges.py +0 -0
  356. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/trusted_network.py +0 -0
  357. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/policies.py +0 -0
  358. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/posture_profiles.py +0 -0
  359. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_approval.py +0 -0
  360. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_credential.py +0 -0
  361. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_credential_pool.py +0 -0
  362. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_portal.py +0 -0
  363. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/provisioning.py +0 -0
  364. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/role_controller.py +0 -0
  365. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/saml_attributes.py +0 -0
  366. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/scim_attributes.py +0 -0
  367. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/scim_groups.py +0 -0
  368. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/segment_groups.py +0 -0
  369. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/server_groups.py +0 -0
  370. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/servers.py +0 -0
  371. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edge_group.py +0 -0
  372. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edge_schedule.py +0 -0
  373. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edges.py +0 -0
  374. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zpa/trusted_networks.py +0 -0
  375. {zscaler_sdk_python-1.5.9/zscaler/zwa → zscaler_sdk_python-1.7.0/zscaler/ztw}/__init__.py +0 -0
  376. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/account_details.py +0 -0
  377. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/activation.py +0 -0
  378. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/admin_roles.py +0 -0
  379. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/admin_users.py +0 -0
  380. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/api_keys.py +0 -0
  381. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ec_groups.py +0 -0
  382. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/forwarding_gateways.py +0 -0
  383. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/forwarding_rules.py +0 -0
  384. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_destination_groups.py +0 -0
  385. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_groups.py +0 -0
  386. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_source_groups.py +0 -0
  387. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/legacy.py +0 -0
  388. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/location_management.py +0 -0
  389. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/location_template.py +0 -0
  390. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/activation.py +0 -0
  391. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/admin_roles.py +0 -0
  392. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/admin_users.py +0 -0
  393. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/api_keys.py +0 -0
  394. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/common.py +0 -0
  395. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ec_group_vm.py +0 -0
  396. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ecgroup.py +0 -0
  397. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  398. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/forwarding_rules.py +0 -0
  399. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  400. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_groups.py +0 -0
  401. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_source_groups.py +0 -0
  402. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/location_management.py +0 -0
  403. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/location_templates.py +0 -0
  404. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/nw_service.py +0 -0
  405. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/nw_service_groups.py +0 -0
  406. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/provisioning_url.py +0 -0
  407. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  408. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/zpa_resources.py +0 -0
  409. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/nw_service.py +0 -0
  410. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/nw_service_groups.py +0 -0
  411. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/provisioning_url.py +0 -0
  412. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ztw_service.py +0 -0
  413. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/audit_logs.py +0 -0
  414. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/dlp_incidents.py +0 -0
  415. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/legacy.py +0 -0
  416. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/audit_logs.py +0 -0
  417. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/change_history.py +0 -0
  418. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/common.py +0 -0
  419. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/generated_tickets.py +0 -0
  420. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_details.py +0 -0
  421. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_evidence.py +0 -0
  422. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_group_search.py +0 -0
  423. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_search.py +0 -0
  424. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_trigger.py +0 -0
  425. {zscaler_sdk_python-1.5.9 → zscaler_sdk_python-1.7.0}/zscaler/zwa/zwa_service.py +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zscaler-sdk-python
3
- Version: 1.5.9
3
+ Version: 1.7.0
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
7
- Keywords: zscaler,sdk,zpa,zia,zdx,zcc,ztw,zwa
7
+ Keywords: zscaler,sdk,zpa,zia,zdx,zcc,ztw,zwa,zidentity
8
8
  Author: Zscaler, Inc.
9
9
  Author-email: devrel@zscaler.com
10
10
  Requires-Python: >=3.9.2,<4.0
@@ -73,6 +73,7 @@ used in your server-side code to interact with the Zscaler API platform across m
73
73
  * [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
74
74
  * [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
75
75
  * [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
76
+ * [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
76
77
  * [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
77
78
  * [ZWA API](https://help.zscaler.com/workflow-automation/getting-started-workflow-automation-api)
78
79
 
@@ -213,6 +214,7 @@ In most cases, you won't need to build the SDK from source. If you want to build
213
214
  * [OneAPI](https://help.zscaler.com/oneapi/understanding-oneapi)
214
215
  * [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
215
216
  * [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
217
+ * [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
216
218
  * [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
217
219
  * [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
218
220
  * [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
@@ -236,11 +238,14 @@ If your Zscaler tenant has not been migrated to the new Zscaler [Zidentity platf
236
238
 
237
239
  ## Zscaler OneAPI New Framework
238
240
 
239
- As of the publication of SDK version => 0.20.x, OneAPI is available for programmatic interaction with the following products:
241
+ As of the publication of SDK version => 1.7.x, OneAPI is available for programmatic interaction with the following products:
240
242
 
241
- * [ZIA API](https://help.zscaler.com/oneapi/understanding-oneapi#:~:text=managed%20using%20OneAPI.-,ZIA%20API,-Zscaler%20Internet%20Access)
242
- * [ZPA API](https://help.zscaler.com/oneapi/understanding-oneapi#:~:text=Workload%20Groups-,ZPA%20API,-Zscaler%20Private%20Access)
243
- * [Zscaler Client Connector API](https://help.zscaler.com/oneapi/understanding-oneapi#:~:text=Version%20Profiles-,Zscaler%20Client%20Connector%20API,-Zscaler%20Client%20Connector)
243
+ * [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
244
+ * [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
245
+ * [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
246
+ * [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
247
+ * [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
248
+ * [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
244
249
 
245
250
  **NOTE** All other products such as Zscaler Cloud Connector (ZTW) and Zscaler Digital Experience (ZDX) are supported only via the legacy authentication method described in this README.
246
251
 
@@ -803,6 +808,162 @@ Each one of the configuration values above can be turned into an environment var
803
808
  | `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
804
809
  | `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
805
810
 
811
+ ### Zscaler ZIdentity API
812
+
813
+ This SDK supports programmatic integration with the Zscaler ZIdentity API service.
814
+
815
+ The authentication to Zscaler ZIdentity service via the OneAPI framework, requires uses the API client `ZscalerClient`
816
+
817
+ | Argument | Description | Environment variable |
818
+ |--------------|-------------|-------------------|
819
+ | `clientId` | _(String)_ Zscaler API Client ID, used with `clientSecret` or `PrivateKey` OAuth auth mode.| `ZSCALER_CLIENT_ID` |
820
+ | `clientSecret` | _(String)_ A string that contains the password for the API admin.| `ZSCALER_CLIENT_SECRET` |
821
+ | `privateKey` | _(String)_ A string Private key value.| `ZSCALER_PRIVATE_KEY` |
822
+ | `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
823
+ | `cloud`
824
+
825
+ ### Initialize OneAPI OAuth 2.0 Client
826
+
827
+ #### Zidentity OneAPI Client ID and Client Secret Authentication
828
+
829
+ Construct a client instance by passing your Zidentity `clientId`, `clientSecret` and `vanityDomain`:
830
+
831
+ ```py
832
+ from zscaler import ZscalerClient
833
+
834
+ config = {
835
+ "clientId": '{yourClientId}',
836
+ "clientSecret": '{yourClientSecret}',
837
+ "vanityDomain": '{yourvanityDomain}',
838
+ "cloud": "beta", # Optional when authenticating to an alternative cloud environment
839
+ "logging": {"enabled": False, "verbose": False},
840
+ }
841
+
842
+ def main():
843
+ with ZscalerClient(config) as client:
844
+ users, _, error = client.zidentity.groups.list_groups()
845
+ if error:
846
+ print(f"Error listing users: {error}")
847
+ return
848
+
849
+ print(f"Total users found: {len(users)}")
850
+
851
+ if __name__ == "__main__":
852
+ main()
853
+ ```
854
+
855
+ #### Zidentity OneAPI Client ID and Private Key Authentication
856
+
857
+ ```py
858
+ from zscaler import ZscalerClient
859
+
860
+ config = {
861
+ "clientId": '{yourClientId}',
862
+ "privateKey": '{yourPrivateKey}',
863
+ "vanityDomain": '{yourvanityDomain}',
864
+ "cloud": "beta", # Optional when authenticating to an alternative cloud environment
865
+ "logging": {"enabled": False, "verbose": False},
866
+ }
867
+
868
+ def main():
869
+ with ZscalerClient(config) as client:
870
+ users, _, error = client.zidentity.groups.list_groups()
871
+ if error:
872
+ print(f"Error listing users: {error}")
873
+ return
874
+
875
+ print(f"Total users found: {len(users)}")
876
+
877
+ if __name__ == "__main__":
878
+ main()
879
+ ```
880
+
881
+ ### Zscaler Sandbox Authentication
882
+
883
+ To authenticate to the Zscaler Sandbox service you must authenticate by instantiating the `ZscalerClient`.
884
+
885
+ Authentication to Zscaler Sandbox requires the attribute/parameter `sandboxCloud`. The following cloud environments are supported:
886
+
887
+ * `zscaler`
888
+ * `zscalerone`
889
+ * `zscalertwo`
890
+ * `zscalerthree`
891
+ * `zscloud`
892
+ * `zscalerbeta`
893
+ * `zscalergov`
894
+ * `zscalerten`
895
+ * `zspreview`
896
+
897
+ ### Environment variables
898
+
899
+ You can provide credentials via the `ZSCALER_SANDBOX_TOKEN`, `ZSCALER_SANDBOX_CLOUD` environment variables, representing your Zscaler Sandbox authentication paraemters respectively `sandboxToken`, `sandboxCloud`
900
+
901
+ | Argument | Description | Environment variable |
902
+ |--------------|-------------|-------------------|
903
+ | `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
904
+ | `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
905
+
906
+ ### Zscaler Sandbox Client Initialization
907
+
908
+ ```py
909
+ from zscaler import ZscalerClient
910
+
911
+ config = {
912
+ "sandboxToken": '{yourSandboxToken}',
913
+ "sandboxCloud": '{yourSandboxCloud}',
914
+ "logging": {"enabled": False, "verbose": False},
915
+ }
916
+
917
+ def main():
918
+
919
+ script_dir = os.path.dirname(os.path.abspath(__file__))
920
+ file_path = os.path.join(script_dir, "test-pe-file.exe")
921
+ force_analysis = True
922
+
923
+ with ZscalerClient(config) as client:
924
+ submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
925
+
926
+ if err:
927
+ print(f"Error submitting file: {err}")
928
+ else:
929
+ print("File submitted successfully!")
930
+ print(f"Response: {submit}")
931
+
932
+ if __name__ == "__main__":
933
+ main()
934
+ ```
935
+
936
+ ### ZIA Legacy Client Initialization
937
+
938
+ ```py
939
+ import random
940
+ from zscaler import ZscalerClient
941
+
942
+ config = {
943
+ "sandboxToken": '{yourSandboxToken}',
944
+ "sandboxCloud": '{yourSandboxCloud}',
945
+ "logging": {"enabled": False, "verbose": False},
946
+ }
947
+
948
+ def main():
949
+
950
+ script_dir = os.path.dirname(os.path.abspath(__file__))
951
+ file_path = os.path.join(script_dir, "test-pe-file.exe")
952
+ force_analysis = True
953
+
954
+ with ZscalerClient(config) as client:
955
+ submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
956
+
957
+ if err:
958
+ print(f"Error submitting file: {err}")
959
+ else:
960
+ print("File submitted successfully!")
961
+ print(f"Response: {submit}")
962
+
963
+ if __name__ == "__main__":
964
+ main()
965
+ ```
966
+
806
967
  ## Zscaler Legacy API Framework
807
968
 
808
969
  The legacy Zscaler API is still utilized by several customers, and will remain in place for the foreseeable future with no specific announced deprecation date.
@@ -1077,7 +1238,7 @@ The ZCC Cloud is identified by several cloud name prefixes, which determines whi
1077
1238
 
1078
1239
  ### Environment variables
1079
1240
 
1080
- You can provide credentials via the `ZCC_CLIENT_ID`, `ZCC_CLIENT_ID`, `ZCC_CLOUD` environment variables, representing your ZIA `api_key`, `secret_key`, and `cloud` respectively.
1241
+ You can provide credentials via the `ZCC_CLIENT_ID`, `ZCC_CLIENT_SECRET`, `ZCC_CLOUD` environment variables, representing your ZIA `api_key`, `secret_key`, and `cloud` respectively.
1081
1242
 
1082
1243
  ~> **NOTE** `ZCC_CLOUD` environment variable is required, and is used to identify the correct API gateway where the API requests should be forwarded to.
1083
1244
 
@@ -34,6 +34,7 @@ used in your server-side code to interact with the Zscaler API platform across m
34
34
  * [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
35
35
  * [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
36
36
  * [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
37
+ * [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
37
38
  * [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
38
39
  * [ZWA API](https://help.zscaler.com/workflow-automation/getting-started-workflow-automation-api)
39
40
 
@@ -174,6 +175,7 @@ In most cases, you won't need to build the SDK from source. If you want to build
174
175
  * [OneAPI](https://help.zscaler.com/oneapi/understanding-oneapi)
175
176
  * [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
176
177
  * [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
178
+ * [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
177
179
  * [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
178
180
  * [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
179
181
  * [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
@@ -197,11 +199,14 @@ If your Zscaler tenant has not been migrated to the new Zscaler [Zidentity platf
197
199
 
198
200
  ## Zscaler OneAPI New Framework
199
201
 
200
- As of the publication of SDK version => 0.20.x, OneAPI is available for programmatic interaction with the following products:
202
+ As of the publication of SDK version => 1.7.x, OneAPI is available for programmatic interaction with the following products:
201
203
 
202
- * [ZIA API](https://help.zscaler.com/oneapi/understanding-oneapi#:~:text=managed%20using%20OneAPI.-,ZIA%20API,-Zscaler%20Internet%20Access)
203
- * [ZPA API](https://help.zscaler.com/oneapi/understanding-oneapi#:~:text=Workload%20Groups-,ZPA%20API,-Zscaler%20Private%20Access)
204
- * [Zscaler Client Connector API](https://help.zscaler.com/oneapi/understanding-oneapi#:~:text=Version%20Profiles-,Zscaler%20Client%20Connector%20API,-Zscaler%20Client%20Connector)
204
+ * [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
205
+ * [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
206
+ * [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
207
+ * [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
208
+ * [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
209
+ * [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
205
210
 
206
211
  **NOTE** All other products such as Zscaler Cloud Connector (ZTW) and Zscaler Digital Experience (ZDX) are supported only via the legacy authentication method described in this README.
207
212
 
@@ -764,6 +769,162 @@ Each one of the configuration values above can be turned into an environment var
764
769
  | `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
765
770
  | `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
766
771
 
772
+ ### Zscaler ZIdentity API
773
+
774
+ This SDK supports programmatic integration with the Zscaler ZIdentity API service.
775
+
776
+ The authentication to Zscaler ZIdentity service via the OneAPI framework, requires uses the API client `ZscalerClient`
777
+
778
+ | Argument | Description | Environment variable |
779
+ |--------------|-------------|-------------------|
780
+ | `clientId` | _(String)_ Zscaler API Client ID, used with `clientSecret` or `PrivateKey` OAuth auth mode.| `ZSCALER_CLIENT_ID` |
781
+ | `clientSecret` | _(String)_ A string that contains the password for the API admin.| `ZSCALER_CLIENT_SECRET` |
782
+ | `privateKey` | _(String)_ A string Private key value.| `ZSCALER_PRIVATE_KEY` |
783
+ | `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
784
+ | `cloud`
785
+
786
+ ### Initialize OneAPI OAuth 2.0 Client
787
+
788
+ #### Zidentity OneAPI Client ID and Client Secret Authentication
789
+
790
+ Construct a client instance by passing your Zidentity `clientId`, `clientSecret` and `vanityDomain`:
791
+
792
+ ```py
793
+ from zscaler import ZscalerClient
794
+
795
+ config = {
796
+ "clientId": '{yourClientId}',
797
+ "clientSecret": '{yourClientSecret}',
798
+ "vanityDomain": '{yourvanityDomain}',
799
+ "cloud": "beta", # Optional when authenticating to an alternative cloud environment
800
+ "logging": {"enabled": False, "verbose": False},
801
+ }
802
+
803
+ def main():
804
+ with ZscalerClient(config) as client:
805
+ users, _, error = client.zidentity.groups.list_groups()
806
+ if error:
807
+ print(f"Error listing users: {error}")
808
+ return
809
+
810
+ print(f"Total users found: {len(users)}")
811
+
812
+ if __name__ == "__main__":
813
+ main()
814
+ ```
815
+
816
+ #### Zidentity OneAPI Client ID and Private Key Authentication
817
+
818
+ ```py
819
+ from zscaler import ZscalerClient
820
+
821
+ config = {
822
+ "clientId": '{yourClientId}',
823
+ "privateKey": '{yourPrivateKey}',
824
+ "vanityDomain": '{yourvanityDomain}',
825
+ "cloud": "beta", # Optional when authenticating to an alternative cloud environment
826
+ "logging": {"enabled": False, "verbose": False},
827
+ }
828
+
829
+ def main():
830
+ with ZscalerClient(config) as client:
831
+ users, _, error = client.zidentity.groups.list_groups()
832
+ if error:
833
+ print(f"Error listing users: {error}")
834
+ return
835
+
836
+ print(f"Total users found: {len(users)}")
837
+
838
+ if __name__ == "__main__":
839
+ main()
840
+ ```
841
+
842
+ ### Zscaler Sandbox Authentication
843
+
844
+ To authenticate to the Zscaler Sandbox service you must authenticate by instantiating the `ZscalerClient`.
845
+
846
+ Authentication to Zscaler Sandbox requires the attribute/parameter `sandboxCloud`. The following cloud environments are supported:
847
+
848
+ * `zscaler`
849
+ * `zscalerone`
850
+ * `zscalertwo`
851
+ * `zscalerthree`
852
+ * `zscloud`
853
+ * `zscalerbeta`
854
+ * `zscalergov`
855
+ * `zscalerten`
856
+ * `zspreview`
857
+
858
+ ### Environment variables
859
+
860
+ You can provide credentials via the `ZSCALER_SANDBOX_TOKEN`, `ZSCALER_SANDBOX_CLOUD` environment variables, representing your Zscaler Sandbox authentication paraemters respectively `sandboxToken`, `sandboxCloud`
861
+
862
+ | Argument | Description | Environment variable |
863
+ |--------------|-------------|-------------------|
864
+ | `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
865
+ | `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
866
+
867
+ ### Zscaler Sandbox Client Initialization
868
+
869
+ ```py
870
+ from zscaler import ZscalerClient
871
+
872
+ config = {
873
+ "sandboxToken": '{yourSandboxToken}',
874
+ "sandboxCloud": '{yourSandboxCloud}',
875
+ "logging": {"enabled": False, "verbose": False},
876
+ }
877
+
878
+ def main():
879
+
880
+ script_dir = os.path.dirname(os.path.abspath(__file__))
881
+ file_path = os.path.join(script_dir, "test-pe-file.exe")
882
+ force_analysis = True
883
+
884
+ with ZscalerClient(config) as client:
885
+ submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
886
+
887
+ if err:
888
+ print(f"Error submitting file: {err}")
889
+ else:
890
+ print("File submitted successfully!")
891
+ print(f"Response: {submit}")
892
+
893
+ if __name__ == "__main__":
894
+ main()
895
+ ```
896
+
897
+ ### ZIA Legacy Client Initialization
898
+
899
+ ```py
900
+ import random
901
+ from zscaler import ZscalerClient
902
+
903
+ config = {
904
+ "sandboxToken": '{yourSandboxToken}',
905
+ "sandboxCloud": '{yourSandboxCloud}',
906
+ "logging": {"enabled": False, "verbose": False},
907
+ }
908
+
909
+ def main():
910
+
911
+ script_dir = os.path.dirname(os.path.abspath(__file__))
912
+ file_path = os.path.join(script_dir, "test-pe-file.exe")
913
+ force_analysis = True
914
+
915
+ with ZscalerClient(config) as client:
916
+ submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
917
+
918
+ if err:
919
+ print(f"Error submitting file: {err}")
920
+ else:
921
+ print("File submitted successfully!")
922
+ print(f"Response: {submit}")
923
+
924
+ if __name__ == "__main__":
925
+ main()
926
+ ```
927
+
767
928
  ## Zscaler Legacy API Framework
768
929
 
769
930
  The legacy Zscaler API is still utilized by several customers, and will remain in place for the foreseeable future with no specific announced deprecation date.
@@ -1038,7 +1199,7 @@ The ZCC Cloud is identified by several cloud name prefixes, which determines whi
1038
1199
 
1039
1200
  ### Environment variables
1040
1201
 
1041
- You can provide credentials via the `ZCC_CLIENT_ID`, `ZCC_CLIENT_ID`, `ZCC_CLOUD` environment variables, representing your ZIA `api_key`, `secret_key`, and `cloud` respectively.
1202
+ You can provide credentials via the `ZCC_CLIENT_ID`, `ZCC_CLIENT_SECRET`, `ZCC_CLOUD` environment variables, representing your ZIA `api_key`, `secret_key`, and `cloud` respectively.
1042
1203
 
1043
1204
  ~> **NOTE** `ZCC_CLOUD` environment variable is required, and is used to identify the correct API gateway where the API requests should be forwarded to.
1044
1205
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zscaler-sdk-python"
3
- version = "1.5.9"
3
+ version = "1.7.0"
4
4
  description = "Official Python SDK for the Zscaler Products"
5
5
  authors = ["Zscaler, Inc. <devrel@zscaler.com>"]
6
6
  license = "MIT"
@@ -8,7 +8,7 @@ readme = "README.md"
8
8
  homepage = "https://github.com/zscaler/zscaler-sdk-python"
9
9
  repository = "https://github.com/zscaler/zscaler-sdk-python"
10
10
  documentation = "https://zscaler-sdk-python.readthedocs.io"
11
- keywords = ["zscaler", "sdk", "zpa", "zia", "zdx", "zcc", "ztw", "zwa"]
11
+ keywords = ["zscaler", "sdk", "zpa", "zia", "zdx", "zcc", "ztw", "zwa", "zidentity"]
12
12
  classifiers = [
13
13
  "Development Status :: 5 - Production/Stable",
14
14
  "Intended Audience :: Developers",
@@ -29,7 +29,7 @@ __license__ = "MIT"
29
29
  __contributors__ = [
30
30
  "William Guilherme",
31
31
  ]
32
- __version__ = "1.5.9"
32
+ __version__ = "1.7.0"
33
33
 
34
34
 
35
35
  from zscaler.oneapi_client import Client as ZscalerClient # noqa
@@ -7,7 +7,7 @@ from zscaler.exceptions import exceptions
7
7
 
8
8
  logger = logging.getLogger(__name__)
9
9
 
10
- @staticmethod
10
+ # @staticmethod
11
11
  def check_response_for_error(url, response_details, response_body):
12
12
  """
13
13
  Checks HTTP response for errors in the response body.
@@ -124,7 +124,11 @@ def to_snake_case(string):
124
124
  "extranetDTO": "extranet_dto",
125
125
  "locationGroupDTO": "location_group_dto",
126
126
  "locationDTO": "location_dto",
127
- "predefinedADPControls": "predefined_adp_controls"
127
+ "predefinedADPControls": "predefined_adp_controls",
128
+ "runtimeOS": "runtime_os",
129
+
130
+ # ZIdentity Edge Cases
131
+ # "clientJWKsUrl": "clientJWKsUrl",
128
132
  }
129
133
 
130
134
  if string in FIELD_EXCEPTIONS:
@@ -256,7 +260,8 @@ def to_lower_camel_case(string):
256
260
  "extranet_dto": "extranetDTO",
257
261
  "location_group_dto": "locationGroupDTO",
258
262
  "location_dto": "locationDTO",
259
- "predefined_adp_controls": "predefinedADPControls"
263
+ "predefined_adp_controls": "predefinedADPControls",
264
+ "runtime_os": "runtimeOS"
260
265
  }
261
266
 
262
267
  if string in FIELD_EXCEPTIONS:
@@ -15,6 +15,7 @@ from zscaler.zdx.zdx_service import ZDXService
15
15
  from zscaler.zia.zia_service import ZIAService
16
16
  from zscaler.zpa.zpa_service import ZPAService
17
17
  from zscaler.zwa.zwa_service import ZWAService
18
+ from zscaler.zidentity.zidentity_service import ZIdentityService
18
19
  from zscaler.zcc.legacy import LegacyZCCClientHelper
19
20
  from zscaler.ztw.legacy import LegacyZTWClientHelper
20
21
  from zscaler.zdx.legacy import LegacyZDXClientHelper
@@ -187,6 +188,7 @@ class Client:
187
188
  self._zwa = None
188
189
  self._zpa = None
189
190
  self._zdx = None
191
+ self._zidentity = None
190
192
  # self.logger.debug("Client initialized successfully.")
191
193
 
192
194
  def authenticate(self):
@@ -252,6 +254,12 @@ class Client:
252
254
  self._zpa = ZPAService(self._request_executor, self._config)
253
255
  return self._zpa
254
256
 
257
+ @property
258
+ def zidentity(self):
259
+ if self._zidentity is None:
260
+ self._zidentity = ZIdentityService(self._request_executor)
261
+ return self._zidentity
262
+
255
263
  def __enter__(self):
256
264
  """
257
265
  Automatically create and set session within context manager.
@@ -104,11 +104,11 @@ class HTTPClient:
104
104
  }
105
105
 
106
106
  # Handle payload
107
- if request.get("json"):
107
+ if "json" in request:
108
108
  params["json"] = request["json"]
109
- elif request.get("data"):
109
+ elif "data" in request:
110
110
  params["data"] = request["data"]
111
- elif request.get("form"):
111
+ elif "form" in request:
112
112
  params["data"] = request["form"]
113
113
  if request["params"]:
114
114
  params["params"] = request["params"]
@@ -83,6 +83,7 @@ class RequestExecutor:
83
83
  self.service = self._config["client"].get("service", "zia") # Default to ZIA
84
84
  self.customer_id = self._config["client"].get("customerId") # Optional for ZIA/ZCC
85
85
  self.microtenant_id = self._config["client"].get("microtenantId") # Optional for ZIA/ZCC
86
+ self.vanity_domain = self._config["client"].get("vanityDomain") # Required for zidentity service
86
87
 
87
88
  # OAuth2 setup
88
89
  self._oauth = OAuth(self, self._config)
@@ -127,6 +128,18 @@ class RequestExecutor:
127
128
  # logger.debug(f"Determining base URL for cloud: {self.cloud}")
128
129
  if "/zscsb" in endpoint:
129
130
  return f"https://csbapi.{self.sandbox_cloud}.net"
131
+
132
+ # Special handling for zidentity service
133
+ if "/zidentity" in endpoint or "/admin/api/v1" in endpoint:
134
+ if not self.vanity_domain:
135
+ raise ValueError("vanityDomain is required for zidentity service")
136
+
137
+ # For zidentity, the URL pattern is: https://{{vanity_domain}}-admin.zslogin{{cloud}}.net/admin/api/v1
138
+ if self.cloud and self.cloud != "production":
139
+ return f"https://{self.vanity_domain}-admin.zslogin{self.cloud}.net/admin/api/v1"
140
+ else:
141
+ return f"https://{self.vanity_domain}-admin.zslogin.net/admin/api/v1"
142
+
130
143
  if self.cloud and self.cloud != "production":
131
144
  return f"https://api.{self.cloud}.zsapi.net"
132
145
  return self.BASE_URL
@@ -147,7 +160,10 @@ class RequestExecutor:
147
160
  return "zwa"
148
161
  elif "/zpa" in url or "/mgmtconfig" in url:
149
162
  return "zpa"
150
-
163
+ elif "/admin/api/v1" in url:
164
+ return "zidentity"
165
+ elif "/admin" in url:
166
+ return "admin"
151
167
  if self.use_legacy_client:
152
168
  url = self.remove_oneapi_endpoint_prefix(url)
153
169
  # Recheck for service type after removing the prefix
@@ -163,11 +179,13 @@ class RequestExecutor:
163
179
  return "zwa"
164
180
  elif "/zpa" in url or "/mgmtconfig" in url:
165
181
  return "zpa"
182
+ elif "/admin/api/v1" in url:
183
+ return "zidentity"
166
184
 
167
185
  raise ValueError(f"Unsupported service: {url}")
168
186
 
169
187
  def remove_oneapi_endpoint_prefix(self, endpoint: str) -> str:
170
- prefixes = ["/zia", "/zpa", "/zcc", "/ztw", "/zdx", "/zwa"]
188
+ prefixes = ["admin", "/zia", "/zpa", "/zcc", "/ztw", "/zdx", "/zwa"]
171
189
  for prefix in prefixes:
172
190
  if endpoint.startswith(prefix):
173
191
  return endpoint[len(prefix) :]
@@ -188,7 +206,9 @@ class RequestExecutor:
188
206
  logger.error(f"Service detection failed: {e}")
189
207
  raise
190
208
 
191
- body = body or {}
209
+ # Preserve empty lists, only convert None to empty dict
210
+ if body is None:
211
+ body = {}
192
212
  headers = headers or {}
193
213
  params = params or {}
194
214
 
@@ -212,6 +232,11 @@ class RequestExecutor:
212
232
  else:
213
233
  base_url = self.get_base_url(endpoint)
214
234
 
235
+ # Special handling for zidentity to avoid endpoint duplication
236
+ if service_type == "zidentity" and endpoint.startswith("/admin/api/v1/"):
237
+ # Remove the /admin/api/v1 prefix since it's already in the base URL
238
+ endpoint = endpoint[len("/admin/api/v1/"):]
239
+
215
240
  final_url = f"{base_url}/{endpoint.lstrip('/')}"
216
241
 
217
242
  headers = self._prepare_headers(headers, endpoint)
@@ -236,17 +236,39 @@ def transform_common_id_fields(id_groups: list, source_dict: dict, target_dict:
236
236
  final_list = []
237
237
  for item in value:
238
238
  if isinstance(item, (str, int)):
239
- final_list.append({"id": int(item)})
239
+ # Try to convert to int, but keep as string if it's not a valid integer
240
+ if isinstance(item, str):
241
+ try:
242
+ final_list.append({"id": int(item)})
243
+ except ValueError:
244
+ # Keep as string if it's not a valid integer (e.g., 'ihln05ktj07ds')
245
+ final_list.append({"id": item})
246
+ else:
247
+ final_list.append({"id": int(item)})
240
248
  elif isinstance(item, dict) and "id" in item:
241
249
  # Possibly user gave { "id": 123, ... }
242
- item["id"] = int(item["id"])
250
+ if isinstance(item["id"], str):
251
+ try:
252
+ item["id"] = int(item["id"])
253
+ except ValueError:
254
+ # Keep as string if it's not a valid integer
255
+ pass
256
+ else:
257
+ item["id"] = int(item["id"])
243
258
  final_list.append(item)
244
259
  else:
245
260
  final_list.append(item)
246
261
  target_dict[payload_key] = final_list
247
262
  elif isinstance(value, dict) and "id" in value:
248
263
  # single dict with ID
249
- value["id"] = int(value["id"])
264
+ if isinstance(value["id"], str):
265
+ try:
266
+ value["id"] = int(value["id"])
267
+ except ValueError:
268
+ # Keep as string if it's not a valid integer
269
+ pass
270
+ else:
271
+ value["id"] = int(value["id"])
250
272
  target_dict[payload_key] = value
251
273
  return
252
274
 
@@ -407,6 +407,8 @@ class DevicesAPI(APIClient):
407
407
  """
408
408
  )
409
409
 
410
+ query_params = query_params or {}
411
+
410
412
  body = {}
411
413
  headers = {}
412
414
 
@@ -46,7 +46,7 @@ class AdminAPI(APIClient):
46
46
  Examples:
47
47
  Prints all configured departments.
48
48
 
49
- >>> dept_list, _, err = client.zdx.admin.list_departments(ss)
49
+ >>> dept_list, _, err = client.zdx.admin.list_departments()
50
50
  ... if err:
51
51
  ... print(f"Error listing department: {err}")
52
52
  ... return