zscaler-sdk-python 1.6.0__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 (424) hide show
  1. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/PKG-INFO +167 -6
  2. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/README.md +165 -4
  3. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/pyproject.toml +2 -2
  4. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/__init__.py +1 -1
  5. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/response_checker.py +1 -1
  6. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/helpers.py +4 -1
  7. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_client.py +8 -0
  8. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/request_executor.py +25 -2
  9. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/utils.py +25 -3
  10. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/admin.py +1 -1
  11. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/admin_roles.py +1 -1
  12. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_nss.py +9 -5
  13. zscaler_sdk_python-1.7.0/zscaler/zia/cloud_to_cloud_ir.py +294 -0
  14. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_dictionary.py +5 -2
  15. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/legacy.py +11 -0
  16. zscaler_sdk_python-1.7.0/zscaler/zia/models/cloud_to_cloud_ir.py +488 -0
  17. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/rule_labels.py +1 -1
  18. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/url_categories.py +5 -3
  19. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/zia_service.py +10 -0
  20. zscaler_sdk_python-1.7.0/zscaler/zidentity/api_client.py +539 -0
  21. zscaler_sdk_python-1.7.0/zscaler/zidentity/groups.py +625 -0
  22. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/api_client.py +349 -0
  23. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/common.py +93 -0
  24. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/groups.py +191 -0
  25. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/resource_servers.py +219 -0
  26. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/user_entitlement.py +162 -0
  27. zscaler_sdk_python-1.7.0/zscaler/zidentity/models/users.py +183 -0
  28. zscaler_sdk_python-1.7.0/zscaler/zidentity/resource_servers.py +153 -0
  29. zscaler_sdk_python-1.7.0/zscaler/zidentity/user_entitlement.py +125 -0
  30. zscaler_sdk_python-1.7.0/zscaler/zidentity/users.py +398 -0
  31. zscaler_sdk_python-1.7.0/zscaler/zidentity/zidentity_service.py +70 -0
  32. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/user_portal_controller.py +5 -3
  33. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/user_portal_link.py +44 -30
  34. zscaler_sdk_python-1.7.0/zscaler/zwa/__init__.py +0 -0
  35. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/LICENSE.md +0 -0
  36. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/api_client.py +0 -0
  37. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/__init__.py +0 -0
  38. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/cache.py +0 -0
  39. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/no_op_cache.py +0 -0
  40. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/zscaler_cache.py +0 -0
  41. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/config/__init__.py +0 -0
  42. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/config/config_setter.py +0 -0
  43. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/config/config_validator.py +0 -0
  44. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/constants.py +0 -0
  45. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/error_messages.py +0 -0
  46. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/__init__.py +0 -0
  47. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/error.py +0 -0
  48. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/http_error.py +0 -0
  49. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/zscaler_api_error.py +0 -0
  50. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/exceptions/__init__.py +0 -0
  51. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/exceptions/exceptions.py +0 -0
  52. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/logger.py +0 -0
  53. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_collection.py +0 -0
  54. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_http_client.py +0 -0
  55. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_oauth_client.py +0 -0
  56. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_object.py +0 -0
  57. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_response.py +0 -0
  58. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ratelimiter/__init__.py +0 -0
  59. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ratelimiter/ratelimiter.py +0 -0
  60. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/user_agent.py +0 -0
  61. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/__init__.py +0 -0
  62. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/admin_user.py +0 -0
  63. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/company.py +0 -0
  64. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/devices.py +0 -0
  65. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/entitlements.py +0 -0
  66. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/fail_open_policy.py +0 -0
  67. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/forwarding_profile.py +0 -0
  68. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/legacy.py +0 -0
  69. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/admin_roles.py +0 -0
  70. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/admin_user.py +0 -0
  71. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/devices.py +0 -0
  72. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/failopenpolicy.py +0 -0
  73. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/forwardingprofile.py +0 -0
  74. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/getcompanyinfo.py +0 -0
  75. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/manage_pass.py +0 -0
  76. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/secrets_otp.py +0 -0
  77. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/secrets_passwords.py +0 -0
  78. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/trustednetworks.py +0 -0
  79. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webappservice.py +0 -0
  80. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webpolicy.py +0 -0
  81. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webprivacy.py +0 -0
  82. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  83. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  84. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/secrets.py +0 -0
  85. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/trusted_networks.py +0 -0
  86. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_app_service.py +0 -0
  87. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_policy.py +0 -0
  88. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_privacy.py +0 -0
  89. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/zcc_service.py +0 -0
  90. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/__init__.py +0 -0
  91. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/alerts.py +0 -0
  92. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/apps.py +0 -0
  93. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/devices.py +0 -0
  94. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/inventory.py +0 -0
  95. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/legacy.py +0 -0
  96. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/activeapplications.py +0 -0
  97. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/administration.py +0 -0
  98. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/alerts.py +0 -0
  99. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/application_users.py +0 -0
  100. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/applications.py +0 -0
  101. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  102. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/common.py +0 -0
  103. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/devices.py +0 -0
  104. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/software_inventory.py +0 -0
  105. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/troubleshooting.py +0 -0
  106. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/users.py +0 -0
  107. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/troubleshooting.py +0 -0
  108. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/users.py +0 -0
  109. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/zdx_service.py +0 -0
  110. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/__init__.py +0 -0
  111. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/activate.py +0 -0
  112. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/admin_users.py +0 -0
  113. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/advanced_settings.py +0 -0
  114. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/alert_subscriptions.py +0 -0
  115. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/apptotal.py +0 -0
  116. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/atp_policy.py +0 -0
  117. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/audit_logs.py +0 -0
  118. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/authentication_settings.py +0 -0
  119. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/bandwidth_classes.py +0 -0
  120. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/bandwidth_control_rules.py +0 -0
  121. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/browser_control_settings.py +0 -0
  122. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/casb_dlp_rules.py +0 -0
  123. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/casb_malware_rules.py +0 -0
  124. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_app_instances.py +0 -0
  125. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_applications.py +0 -0
  126. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_browser_isolation.py +0 -0
  127. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall.py +0 -0
  128. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_dns.py +0 -0
  129. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_ips.py +0 -0
  130. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_rules.py +0 -0
  131. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloudappcontrol.py +0 -0
  132. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  133. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/device_management.py +0 -0
  134. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_engine.py +0 -0
  135. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_resources.py +0 -0
  136. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_templates.py +0 -0
  137. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_web_rules.py +0 -0
  138. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dns_gatways.py +0 -0
  139. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/end_user_notification.py +0 -0
  140. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/file_type_control_rule.py +0 -0
  141. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/forwarding_control.py +0 -0
  142. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/ftp_control_policy.py +0 -0
  143. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/gre_tunnel.py +0 -0
  144. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/intermediate_certificates.py +0 -0
  145. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/iot_report.py +0 -0
  146. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/ipv6_config.py +0 -0
  147. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/locations.py +0 -0
  148. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/malware_protection_policy.py +0 -0
  149. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/mobile_threat_settings.py +0 -0
  150. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/__init__.py +0 -0
  151. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/activation.py +0 -0
  152. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/admin_roles.py +0 -0
  153. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/admin_users.py +0 -0
  154. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/advanced_settings.py +0 -0
  155. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  156. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/alert_subscriptions.py +0 -0
  157. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/apptotal.py +0 -0
  158. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/authentication_settings.py +0 -0
  159. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/bandwidth_classes.py +0 -0
  160. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  161. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/browser_control_settings.py +0 -0
  162. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/casb_dlp_rules.py +0 -0
  163. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/casb_malware_rules.py +0 -0
  164. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_app_instances.py +0 -0
  165. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_app_policy.py +0 -0
  166. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  167. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  168. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  169. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  170. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
  171. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  172. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  173. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  174. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  175. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  176. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  177. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  178. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_nss.py +0 -0
  179. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloudappcontrol.py +0 -0
  180. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/common.py +0 -0
  181. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  182. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/device_groups.py +0 -0
  183. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/devices.py +0 -0
  184. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_dictionary.py +0 -0
  185. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_engine.py +0 -0
  186. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_resources.py +0 -0
  187. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_templates.py +0 -0
  188. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_web_rules.py +0 -0
  189. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dns_gateways.py +0 -0
  190. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/endusernotification.py +0 -0
  191. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/filetyperules.py +0 -0
  192. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  193. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ftp_control_policy.py +0 -0
  194. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_recommended_list.py +0 -0
  195. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  196. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_tunnels.py +0 -0
  197. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_vips.py +0 -0
  198. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/intermediate_certificates.py +0 -0
  199. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/iotreport.py +0 -0
  200. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ipv6_config.py +0 -0
  201. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/location_group.py +0 -0
  202. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/location_management.py +0 -0
  203. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/malware_protection_settings.py +0 -0
  204. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  205. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/nat_control_policy.py +0 -0
  206. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/nss_servers.py +0 -0
  207. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/organization_information.py +0 -0
  208. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/pac_files.py +0 -0
  209. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/proxies.py +0 -0
  210. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/proxy_gateways.py +0 -0
  211. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/remoteassistance.py +0 -0
  212. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/risk_profiles.py +0 -0
  213. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/rule_labels.py +0 -0
  214. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/saas_security_api.py +0 -0
  215. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/sandboxrules.py +0 -0
  216. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/security_policy_settings.py +0 -0
  217. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/shadow_it_report.py +0 -0
  218. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  219. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/subclouds.py +0 -0
  220. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/system_audit.py +0 -0
  221. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  222. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/time_intervals.py +0 -0
  223. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_datacenters.py +0 -0
  224. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  225. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_extranet.py +0 -0
  226. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_static_ip.py +0 -0
  227. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  228. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  229. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/url_filtering_rules.py +0 -0
  230. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/urlcategory.py +0 -0
  231. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/user_management.py +0 -0
  232. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/vzen_clusters.py +0 -0
  233. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/workload_groups.py +0 -0
  234. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/zpa_gateway.py +0 -0
  235. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/nat_control_policy.py +0 -0
  236. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/nss_servers.py +0 -0
  237. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/organization_information.py +0 -0
  238. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/pac_files.py +0 -0
  239. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/policy_export.py +0 -0
  240. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/proxies.py +0 -0
  241. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/remote_assistance.py +0 -0
  242. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/risk_profiles.py +0 -0
  243. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/saas_security_api.py +0 -0
  244. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/sandbox.py +0 -0
  245. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/sandbox_rules.py +0 -0
  246. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/security_policy_settings.py +0 -0
  247. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/shadow_it_report.py +0 -0
  248. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/ssl_inspection_rules.py +0 -0
  249. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/sub_clouds.py +0 -0
  250. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/system_audit.py +0 -0
  251. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  252. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/time_intervals.py +0 -0
  253. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_datacenters.py +0 -0
  254. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_extranet.py +0 -0
  255. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_static_ip.py +0 -0
  256. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  257. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/url_filtering.py +0 -0
  258. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/user_management.py +0 -0
  259. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/vzen_clusters.py +0 -0
  260. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/workload_groups.py +0 -0
  261. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/zpa_gateway.py +0 -0
  262. {zscaler_sdk_python-1.6.0/zscaler/zpa → zscaler_sdk_python-1.7.0/zscaler/zidentity}/__init__.py +0 -0
  263. {zscaler_sdk_python-1.6.0/zscaler/ztw → zscaler_sdk_python-1.7.0/zscaler/zpa}/__init__.py +0 -0
  264. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/admin_sso_controller.py +0 -0
  265. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/administrator_controller.py +0 -0
  266. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/api_keys.py +0 -0
  267. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connector_groups.py +0 -0
  268. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connector_schedule.py +0 -0
  269. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connectors.py +0 -0
  270. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_protection.py +0 -0
  271. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segment_by_type.py +0 -0
  272. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_ba.py +0 -0
  273. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_ba_v2.py +0 -0
  274. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_inspection.py +0 -0
  275. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_pra.py +0 -0
  276. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/application_segment.py +0 -0
  277. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/c2c_ip_ranges.py +0 -0
  278. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_banner.py +0 -0
  279. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_certificate.py +0 -0
  280. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_profile.py +0 -0
  281. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_region.py +0 -0
  282. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  283. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/certificates.py +0 -0
  284. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/client_settings.py +0 -0
  285. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cloud_connector_groups.py +0 -0
  286. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/config_override_controller.py +0 -0
  287. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_controller.py +0 -0
  288. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_domain.py +0 -0
  289. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_version_profile.py +0 -0
  290. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/emergency_access.py +0 -0
  291. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/enrollment_certificates.py +0 -0
  292. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/idp.py +0 -0
  293. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/legacy.py +0 -0
  294. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/lss.py +0 -0
  295. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/machine_groups.py +0 -0
  296. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/microtenants.py +0 -0
  297. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/administrator_controller.py +0 -0
  298. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/api_keys.py +0 -0
  299. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connector_groups.py +0 -0
  300. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  301. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connectors.py +0 -0
  302. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  303. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_protection_profile.py +0 -0
  304. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_segment.py +0 -0
  305. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_segment_lb.py +0 -0
  306. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_servers.py +0 -0
  307. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/c2c_ip_ranges.py +0 -0
  308. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_banner.py +0 -0
  309. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_certificate.py +0 -0
  310. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_profile.py +0 -0
  311. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_region.py +0 -0
  312. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  313. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/certificates.py +0 -0
  314. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/client_settings.py +0 -0
  315. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  316. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/common.py +0 -0
  317. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/config_override_controller.py +0 -0
  318. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_controller.py +0 -0
  319. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_domain.py +0 -0
  320. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_version_profile.py +0 -0
  321. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/emergency_access.py +0 -0
  322. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  323. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/idp.py +0 -0
  324. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/lss.py +0 -0
  325. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/machine_groups.py +0 -0
  326. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/microtenants.py +0 -0
  327. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/npn_client_controller.py +0 -0
  328. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  329. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  330. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/posture_profiles.py +0 -0
  331. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_approval.py +0 -0
  332. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_console.py +0 -0
  333. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  334. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_credential.py +0 -0
  335. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_portal.py +0 -0
  336. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/private_cloud_controller.py +0 -0
  337. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/private_cloud_group.py +0 -0
  338. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/provisioning_keys.py +0 -0
  339. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/role_controller.py +0 -0
  340. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/saml_attributes.py +0 -0
  341. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/scim_attributes.py +0 -0
  342. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/scim_groups.py +0 -0
  343. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/segment_group.py +0 -0
  344. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/server_group.py +0 -0
  345. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edge_groups.py +0 -0
  346. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  347. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edges.py +0 -0
  348. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/trusted_network.py +0 -0
  349. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/user_portal_link.py +0 -0
  350. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/npn_client_controller.py +0 -0
  351. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/policies.py +0 -0
  352. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/posture_profiles.py +0 -0
  353. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_approval.py +0 -0
  354. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_console.py +0 -0
  355. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_credential.py +0 -0
  356. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_credential_pool.py +0 -0
  357. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_portal.py +0 -0
  358. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/private_cloud_controller.py +0 -0
  359. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/private_cloud_group.py +0 -0
  360. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/provisioning.py +0 -0
  361. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/role_controller.py +0 -0
  362. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/saml_attributes.py +0 -0
  363. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/scim_attributes.py +0 -0
  364. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/scim_groups.py +0 -0
  365. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/segment_groups.py +0 -0
  366. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/server_groups.py +0 -0
  367. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/servers.py +0 -0
  368. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edge_group.py +0 -0
  369. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edge_schedule.py +0 -0
  370. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edges.py +0 -0
  371. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/trusted_networks.py +0 -0
  372. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/user_portal_controller.py +0 -0
  373. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/zpa_service.py +0 -0
  374. {zscaler_sdk_python-1.6.0/zscaler/zwa → zscaler_sdk_python-1.7.0/zscaler/ztw}/__init__.py +0 -0
  375. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/account_details.py +0 -0
  376. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/activation.py +0 -0
  377. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/admin_roles.py +0 -0
  378. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/admin_users.py +0 -0
  379. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/api_keys.py +0 -0
  380. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ec_groups.py +0 -0
  381. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/forwarding_gateways.py +0 -0
  382. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/forwarding_rules.py +0 -0
  383. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_destination_groups.py +0 -0
  384. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_groups.py +0 -0
  385. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_source_groups.py +0 -0
  386. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/legacy.py +0 -0
  387. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/location_management.py +0 -0
  388. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/location_template.py +0 -0
  389. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/activation.py +0 -0
  390. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/admin_roles.py +0 -0
  391. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/admin_users.py +0 -0
  392. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/api_keys.py +0 -0
  393. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/common.py +0 -0
  394. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ec_group_vm.py +0 -0
  395. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ecgroup.py +0 -0
  396. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  397. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/forwarding_rules.py +0 -0
  398. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  399. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_groups.py +0 -0
  400. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_source_groups.py +0 -0
  401. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/location_management.py +0 -0
  402. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/location_templates.py +0 -0
  403. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/nw_service.py +0 -0
  404. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/nw_service_groups.py +0 -0
  405. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/provisioning_url.py +0 -0
  406. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  407. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/zpa_resources.py +0 -0
  408. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/nw_service.py +0 -0
  409. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/nw_service_groups.py +0 -0
  410. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/provisioning_url.py +0 -0
  411. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ztw_service.py +0 -0
  412. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/audit_logs.py +0 -0
  413. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/dlp_incidents.py +0 -0
  414. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/legacy.py +0 -0
  415. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/audit_logs.py +0 -0
  416. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/change_history.py +0 -0
  417. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/common.py +0 -0
  418. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/generated_tickets.py +0 -0
  419. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_details.py +0 -0
  420. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_evidence.py +0 -0
  421. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_group_search.py +0 -0
  422. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_search.py +0 -0
  423. {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_trigger.py +0 -0
  424. {zscaler_sdk_python-1.6.0 → 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.6.0
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.
@@ -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.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zscaler-sdk-python"
3
- version = "1.6.0"
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.6.0"
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.
@@ -125,7 +125,10 @@ def to_snake_case(string):
125
125
  "locationGroupDTO": "location_group_dto",
126
126
  "locationDTO": "location_dto",
127
127
  "predefinedADPControls": "predefined_adp_controls",
128
- "runtimeOS": "runtime_os"
128
+ "runtimeOS": "runtime_os",
129
+
130
+ # ZIdentity Edge Cases
131
+ # "clientJWKsUrl": "clientJWKsUrl",
129
132
  }
130
133
 
131
134
  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.
@@ -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) :]
@@ -214,6 +232,11 @@ class RequestExecutor:
214
232
  else:
215
233
  base_url = self.get_base_url(endpoint)
216
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
+
217
240
  final_url = f"{base_url}/{endpoint.lstrip('/')}"
218
241
 
219
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
 
@@ -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
@@ -515,7 +515,7 @@ class AdminRolesAPI(APIClient):
515
515
 
516
516
  Returns:
517
517
  tuple: A tuple containing the response object and error (if any).
518
-
518
+
519
519
  Examples:
520
520
  >>> _, _, error = client.zia.admin_roles.delete_role(143783113)
521
521
  >>> if error:
@@ -43,11 +43,17 @@ class CloudNSSAPI(APIClient):
43
43
  Returns:
44
44
  tuple: A tuple containing (Retries the cloud nss feed instances, Response, error)
45
45
 
46
-
47
46
  Examples:
48
- Get the cloud nss feed:
49
- >>> nss = zia.cloud_nss.list_nss_feed()
47
+ List the cloud nss feed:
50
48
 
49
+ >>> feeds, _, err = client.zia.cloud_nss.list_nss_feed(query_params={"feed_type": "JSON"})
50
+ >>> if err:
51
+ ... print(f"[Error] Listing Cloud NSS Feeds: {err}")
52
+ ... return
53
+ ... print("[Success] Retrieved Cloud NSS Feeds Successfully.")
54
+ ... print("Feed Output Payload:")
55
+ ... for feed in feeds:
56
+ ... print(feed)
51
57
  """
52
58
  http_method = "get".upper()
53
59
  api_url = format_url(
@@ -307,7 +313,6 @@ class CloudNSSAPI(APIClient):
307
313
 
308
314
  body = kwargs
309
315
 
310
- # Create the request
311
316
  request, error = self._request_executor.create_request(
312
317
  method=http_method,
313
318
  endpoint=api_url,
@@ -317,7 +322,6 @@ class CloudNSSAPI(APIClient):
317
322
  if error:
318
323
  return (None, None, error)
319
324
 
320
- # Execute the request
321
325
  response, error = self._request_executor.execute(request, NssFeeds)
322
326
  if error:
323
327
  return (None, response, error)