zscaler-sdk-python 1.7.3__tar.gz → 1.7.5__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 (427) hide show
  1. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/PKG-INFO +1 -1
  2. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/pyproject.toml +1 -1
  3. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/__init__.py +1 -1
  4. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_client.py +1 -0
  5. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_response.py +8 -0
  6. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/request_executor.py +14 -2
  7. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/devices.py +8 -11
  8. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/devices.py +221 -55
  9. zscaler_sdk_python-1.7.5/zscaler/zia/activate.py +206 -0
  10. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_web_rules.py +1 -0
  11. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/legacy.py +21 -9
  12. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/locations.py +8 -7
  13. zscaler_sdk_python-1.7.5/zscaler/zia/models/activation.py +98 -0
  14. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -1
  15. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_web_rules.py +7 -2
  16. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/filetyperules.py +3 -0
  17. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/pac_files.py +111 -0
  18. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/pac_files.py +7 -7
  19. zscaler_sdk_python-1.7.3/zscaler/zia/activate.py +0 -106
  20. zscaler_sdk_python-1.7.3/zscaler/zia/models/activation.py +0 -46
  21. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/LICENSE.md +0 -0
  22. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/README.md +0 -0
  23. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/api_client.py +0 -0
  24. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/__init__.py +0 -0
  25. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/cache.py +0 -0
  26. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/no_op_cache.py +0 -0
  27. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/zscaler_cache.py +0 -0
  28. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/config/__init__.py +0 -0
  29. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/config/config_setter.py +0 -0
  30. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/config/config_validator.py +0 -0
  31. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/constants.py +0 -0
  32. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/error_messages.py +0 -0
  33. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/__init__.py +0 -0
  34. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/error.py +0 -0
  35. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/http_error.py +0 -0
  36. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/response_checker.py +0 -0
  37. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/zscaler_api_error.py +0 -0
  38. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/exceptions/__init__.py +0 -0
  39. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/exceptions/exceptions.py +0 -0
  40. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/helpers.py +0 -0
  41. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/logger.py +0 -0
  42. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_collection.py +0 -0
  43. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_http_client.py +0 -0
  44. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_oauth_client.py +0 -0
  45. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_object.py +0 -0
  46. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ratelimiter/__init__.py +0 -0
  47. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ratelimiter/ratelimiter.py +0 -0
  48. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/user_agent.py +0 -0
  49. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/utils.py +0 -0
  50. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/__init__.py +0 -0
  51. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/admin_user.py +0 -0
  52. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/company.py +0 -0
  53. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/entitlements.py +0 -0
  54. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/fail_open_policy.py +0 -0
  55. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/forwarding_profile.py +0 -0
  56. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/legacy.py +0 -0
  57. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/admin_roles.py +0 -0
  58. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/admin_user.py +0 -0
  59. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/failopenpolicy.py +0 -0
  60. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/forwardingprofile.py +0 -0
  61. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/getcompanyinfo.py +0 -0
  62. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/manage_pass.py +0 -0
  63. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/secrets_otp.py +0 -0
  64. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/secrets_passwords.py +0 -0
  65. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/trustednetworks.py +0 -0
  66. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/webappservice.py +0 -0
  67. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/webpolicy.py +0 -0
  68. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/webprivacy.py +0 -0
  69. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  70. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  71. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/secrets.py +0 -0
  72. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/trusted_networks.py +0 -0
  73. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/web_app_service.py +0 -0
  74. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/web_policy.py +0 -0
  75. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/web_privacy.py +0 -0
  76. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/zcc_service.py +0 -0
  77. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/__init__.py +0 -0
  78. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/admin.py +0 -0
  79. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/alerts.py +0 -0
  80. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/apps.py +0 -0
  81. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/devices.py +0 -0
  82. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/inventory.py +0 -0
  83. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/legacy.py +0 -0
  84. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/administration.py +0 -0
  85. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/alerts.py +0 -0
  86. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/application_users.py +0 -0
  87. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/applications.py +0 -0
  88. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  89. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/common.py +0 -0
  90. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/devices.py +0 -0
  91. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/snapshot.py +0 -0
  92. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/software_inventory.py +0 -0
  93. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/troubleshooting.py +0 -0
  94. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/users.py +0 -0
  95. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/snapshot.py +0 -0
  96. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/troubleshooting.py +0 -0
  97. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/users.py +0 -0
  98. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/zdx_service.py +0 -0
  99. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/__init__.py +0 -0
  100. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/admin_roles.py +0 -0
  101. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/admin_users.py +0 -0
  102. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/advanced_settings.py +0 -0
  103. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/alert_subscriptions.py +0 -0
  104. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/apptotal.py +0 -0
  105. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/atp_policy.py +0 -0
  106. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/audit_logs.py +0 -0
  107. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/authentication_settings.py +0 -0
  108. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/bandwidth_classes.py +0 -0
  109. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/bandwidth_control_rules.py +0 -0
  110. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/browser_control_settings.py +0 -0
  111. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/casb_dlp_rules.py +0 -0
  112. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/casb_malware_rules.py +0 -0
  113. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_app_instances.py +0 -0
  114. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_applications.py +0 -0
  115. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_browser_isolation.py +0 -0
  116. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall.py +0 -0
  117. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall_dns.py +0 -0
  118. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall_ips.py +0 -0
  119. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall_rules.py +0 -0
  120. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_nss.py +0 -0
  121. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_to_cloud_ir.py +0 -0
  122. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloudappcontrol.py +0 -0
  123. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  124. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/device_management.py +0 -0
  125. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_dictionary.py +0 -0
  126. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_engine.py +0 -0
  127. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_resources.py +0 -0
  128. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_templates.py +0 -0
  129. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dns_gatways.py +0 -0
  130. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/end_user_notification.py +0 -0
  131. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/file_type_control_rule.py +0 -0
  132. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/forwarding_control.py +0 -0
  133. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/ftp_control_policy.py +0 -0
  134. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/gre_tunnel.py +0 -0
  135. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/intermediate_certificates.py +0 -0
  136. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/iot_report.py +0 -0
  137. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/ipv6_config.py +0 -0
  138. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/malware_protection_policy.py +0 -0
  139. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/mobile_threat_settings.py +0 -0
  140. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/__init__.py +0 -0
  141. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/admin_roles.py +0 -0
  142. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/admin_users.py +0 -0
  143. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/advanced_settings.py +0 -0
  144. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  145. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/alert_subscriptions.py +0 -0
  146. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/apptotal.py +0 -0
  147. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/authentication_settings.py +0 -0
  148. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/bandwidth_classes.py +0 -0
  149. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  150. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/browser_control_settings.py +0 -0
  151. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/casb_dlp_rules.py +0 -0
  152. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/casb_malware_rules.py +0 -0
  153. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_app_instances.py +0 -0
  154. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_app_policy.py +0 -0
  155. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  156. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  157. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  158. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  159. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  160. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  161. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  162. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  163. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  164. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  165. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  166. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_nss.py +0 -0
  167. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_to_cloud_ir.py +0 -0
  168. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloudappcontrol.py +0 -0
  169. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/common.py +0 -0
  170. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  171. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/device_groups.py +0 -0
  172. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/devices.py +0 -0
  173. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_dictionary.py +0 -0
  174. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_engine.py +0 -0
  175. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_resources.py +0 -0
  176. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_templates.py +0 -0
  177. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dns_gateways.py +0 -0
  178. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/endusernotification.py +0 -0
  179. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  180. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/ftp_control_policy.py +0 -0
  181. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_recommended_list.py +0 -0
  182. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  183. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_tunnels.py +0 -0
  184. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_vips.py +0 -0
  185. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/intermediate_certificates.py +0 -0
  186. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/iotreport.py +0 -0
  187. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/ipv6_config.py +0 -0
  188. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/location_group.py +0 -0
  189. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/location_management.py +0 -0
  190. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/malware_protection_settings.py +0 -0
  191. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  192. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/nat_control_policy.py +0 -0
  193. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/nss_servers.py +0 -0
  194. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/organization_information.py +0 -0
  195. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/proxies.py +0 -0
  196. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/proxy_gateways.py +0 -0
  197. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/remoteassistance.py +0 -0
  198. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/risk_profiles.py +0 -0
  199. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/rule_labels.py +0 -0
  200. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/saas_security_api.py +0 -0
  201. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/sandboxrules.py +0 -0
  202. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/security_policy_settings.py +0 -0
  203. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/shadow_it_report.py +0 -0
  204. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  205. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/subclouds.py +0 -0
  206. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/system_audit.py +0 -0
  207. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  208. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/time_intervals.py +0 -0
  209. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_datacenters.py +0 -0
  210. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  211. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_extranet.py +0 -0
  212. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_static_ip.py +0 -0
  213. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  214. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  215. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/url_filtering_rules.py +0 -0
  216. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/urlcategory.py +0 -0
  217. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/user_management.py +0 -0
  218. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/vzen_clusters.py +0 -0
  219. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/workload_groups.py +0 -0
  220. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/zpa_gateway.py +0 -0
  221. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/nat_control_policy.py +0 -0
  222. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/nss_servers.py +0 -0
  223. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/organization_information.py +0 -0
  224. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/policy_export.py +0 -0
  225. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/proxies.py +0 -0
  226. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/remote_assistance.py +0 -0
  227. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/risk_profiles.py +0 -0
  228. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/rule_labels.py +0 -0
  229. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/saas_security_api.py +0 -0
  230. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/sandbox.py +0 -0
  231. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/sandbox_rules.py +0 -0
  232. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/security_policy_settings.py +0 -0
  233. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/shadow_it_report.py +0 -0
  234. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/ssl_inspection_rules.py +0 -0
  235. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/sub_clouds.py +0 -0
  236. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/system_audit.py +0 -0
  237. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  238. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/time_intervals.py +0 -0
  239. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_datacenters.py +0 -0
  240. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_extranet.py +0 -0
  241. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_static_ip.py +0 -0
  242. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  243. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/url_categories.py +0 -0
  244. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/url_filtering.py +0 -0
  245. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/user_management.py +0 -0
  246. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/vzen_clusters.py +0 -0
  247. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/workload_groups.py +0 -0
  248. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/zia_service.py +0 -0
  249. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/zpa_gateway.py +0 -0
  250. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/__init__.py +0 -0
  251. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/api_client.py +0 -0
  252. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/groups.py +0 -0
  253. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/api_client.py +0 -0
  254. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/common.py +0 -0
  255. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/groups.py +0 -0
  256. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/resource_servers.py +0 -0
  257. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/user_entitlement.py +0 -0
  258. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/users.py +0 -0
  259. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/resource_servers.py +0 -0
  260. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/user_entitlement.py +0 -0
  261. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/users.py +0 -0
  262. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/zidentity_service.py +0 -0
  263. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/__init__.py +0 -0
  264. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/admin_sso_controller.py +0 -0
  265. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/administrator_controller.py +0 -0
  266. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/api_keys.py +0 -0
  267. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_connector_groups.py +0 -0
  268. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_connector_schedule.py +0 -0
  269. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_connectors.py +0 -0
  270. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_protection.py +0 -0
  271. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segment_by_type.py +0 -0
  272. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_ba.py +0 -0
  273. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_ba_v2.py +0 -0
  274. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_inspection.py +0 -0
  275. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_pra.py +0 -0
  276. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/application_segment.py +0 -0
  277. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/c2c_ip_ranges.py +0 -0
  278. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_banner.py +0 -0
  279. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_certificate.py +0 -0
  280. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_profile.py +0 -0
  281. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_region.py +0 -0
  282. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  283. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/certificates.py +0 -0
  284. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/client_settings.py +0 -0
  285. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cloud_connector_groups.py +0 -0
  286. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/config_override_controller.py +0 -0
  287. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/customer_controller.py +0 -0
  288. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/customer_domain.py +0 -0
  289. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/customer_version_profile.py +0 -0
  290. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/emergency_access.py +0 -0
  291. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/enrollment_certificates.py +0 -0
  292. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/idp.py +0 -0
  293. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/legacy.py +0 -0
  294. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/lss.py +0 -0
  295. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/machine_groups.py +0 -0
  296. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/microtenants.py +0 -0
  297. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/administrator_controller.py +0 -0
  298. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/api_keys.py +0 -0
  299. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_connector_groups.py +0 -0
  300. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  301. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_connectors.py +0 -0
  302. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  303. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_protection_profile.py +0 -0
  304. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/application_segment.py +0 -0
  305. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/application_segment_lb.py +0 -0
  306. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/application_servers.py +0 -0
  307. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/c2c_ip_ranges.py +0 -0
  308. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_banner.py +0 -0
  309. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_certificate.py +0 -0
  310. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_profile.py +0 -0
  311. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_region.py +0 -0
  312. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  313. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/certificates.py +0 -0
  314. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/client_settings.py +0 -0
  315. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  316. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/common.py +0 -0
  317. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/config_override_controller.py +0 -0
  318. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/customer_controller.py +0 -0
  319. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/customer_domain.py +0 -0
  320. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/customer_version_profile.py +0 -0
  321. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/emergency_access.py +0 -0
  322. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  323. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/idp.py +0 -0
  324. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/lss.py +0 -0
  325. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/machine_groups.py +0 -0
  326. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/microtenants.py +0 -0
  327. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/npn_client_controller.py +0 -0
  328. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  329. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  330. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/posture_profiles.py +0 -0
  331. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_approval.py +0 -0
  332. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_console.py +0 -0
  333. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  334. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_credential.py +0 -0
  335. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_portal.py +0 -0
  336. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/private_cloud_controller.py +0 -0
  337. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/private_cloud_group.py +0 -0
  338. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/provisioning_keys.py +0 -0
  339. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/role_controller.py +0 -0
  340. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/saml_attributes.py +0 -0
  341. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/scim_attributes.py +0 -0
  342. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/scim_groups.py +0 -0
  343. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/segment_group.py +0 -0
  344. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/server_group.py +0 -0
  345. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/service_edge_groups.py +0 -0
  346. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  347. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/service_edges.py +0 -0
  348. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/trusted_network.py +0 -0
  349. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/user_portal_controller.py +0 -0
  350. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/user_portal_link.py +0 -0
  351. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/npn_client_controller.py +0 -0
  352. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/policies.py +0 -0
  353. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/posture_profiles.py +0 -0
  354. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_approval.py +0 -0
  355. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_console.py +0 -0
  356. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_credential.py +0 -0
  357. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_credential_pool.py +0 -0
  358. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_portal.py +0 -0
  359. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/private_cloud_controller.py +0 -0
  360. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/private_cloud_group.py +0 -0
  361. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/provisioning.py +0 -0
  362. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/role_controller.py +0 -0
  363. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/saml_attributes.py +0 -0
  364. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/scim_attributes.py +0 -0
  365. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/scim_groups.py +0 -0
  366. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/segment_groups.py +0 -0
  367. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/server_groups.py +0 -0
  368. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/servers.py +0 -0
  369. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/service_edge_group.py +0 -0
  370. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/service_edge_schedule.py +0 -0
  371. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/service_edges.py +0 -0
  372. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/trusted_networks.py +0 -0
  373. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/user_portal_controller.py +0 -0
  374. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/user_portal_link.py +0 -0
  375. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/zpa_service.py +0 -0
  376. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/__init__.py +0 -0
  377. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/account_details.py +0 -0
  378. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/activation.py +0 -0
  379. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/admin_roles.py +0 -0
  380. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/admin_users.py +0 -0
  381. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/api_keys.py +0 -0
  382. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ec_groups.py +0 -0
  383. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/forwarding_gateways.py +0 -0
  384. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/forwarding_rules.py +0 -0
  385. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ip_destination_groups.py +0 -0
  386. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ip_groups.py +0 -0
  387. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ip_source_groups.py +0 -0
  388. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/legacy.py +0 -0
  389. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/location_management.py +0 -0
  390. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/location_template.py +0 -0
  391. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/activation.py +0 -0
  392. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/admin_roles.py +0 -0
  393. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/admin_users.py +0 -0
  394. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/api_keys.py +0 -0
  395. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/common.py +0 -0
  396. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ec_group_vm.py +0 -0
  397. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ecgroup.py +0 -0
  398. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  399. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/forwarding_rules.py +0 -0
  400. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  401. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ip_groups.py +0 -0
  402. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ip_source_groups.py +0 -0
  403. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/location_management.py +0 -0
  404. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/location_templates.py +0 -0
  405. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/nw_service.py +0 -0
  406. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/nw_service_groups.py +0 -0
  407. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/provisioning_url.py +0 -0
  408. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  409. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/zpa_resources.py +0 -0
  410. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/nw_service.py +0 -0
  411. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/nw_service_groups.py +0 -0
  412. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/provisioning_url.py +0 -0
  413. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ztw_service.py +0 -0
  414. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/__init__.py +0 -0
  415. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/audit_logs.py +0 -0
  416. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/dlp_incidents.py +0 -0
  417. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/legacy.py +0 -0
  418. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/audit_logs.py +0 -0
  419. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/change_history.py +0 -0
  420. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/common.py +0 -0
  421. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/generated_tickets.py +0 -0
  422. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_details.py +0 -0
  423. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_evidence.py +0 -0
  424. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_group_search.py +0 -0
  425. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_search.py +0 -0
  426. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_trigger.py +0 -0
  427. {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/zwa_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zscaler-sdk-python
3
- Version: 1.7.3
3
+ Version: 1.7.5
4
4
  Summary: Official Python SDK for the Zscaler Products
5
5
  Home-page: https://github.com/zscaler/zscaler-sdk-python
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zscaler-sdk-python"
3
- version = "1.7.3"
3
+ version = "1.7.5"
4
4
  description = "Official Python SDK for the Zscaler Products"
5
5
  authors = ["Zscaler, Inc. <devrel@zscaler.com>"]
6
6
  license = "MIT"
@@ -29,7 +29,7 @@ __license__ = "MIT"
29
29
  __contributors__ = [
30
30
  "William Guilherme",
31
31
  ]
32
- __version__ = "1.7.3"
32
+ __version__ = "1.7.5"
33
33
 
34
34
 
35
35
  from zscaler.oneapi_client import Client as ZscalerClient # noqa
@@ -293,6 +293,7 @@ class Client:
293
293
  service_type = self._config.get("client", {}).get("service", "zia")
294
294
 
295
295
  if service_type.lower() in ["zia", "ztw"]:
296
+ # For ZIA, deauthenticate only if mutations occurred; executor will decide.
296
297
  self.logger.debug(f"Deauthenticating Zscaler session for {service_type} service.")
297
298
  self._request_executor.deauthenticate(service_type)
298
299
  self.logger.debug(f"Zscaler session deauthenticated for {service_type}.")
@@ -168,6 +168,14 @@ class ZscalerAPIResponse:
168
168
  self._results_total = self._body.get("results_total")
169
169
  self._page_offset = self._body.get("pageOffset")
170
170
  self._page_size = self._body.get("pageSize")
171
+ elif self._service_type == "ZCC":
172
+ # ZCC can return either a single object or a list of objects
173
+ if isinstance(self._body, dict):
174
+ # If it's a single object, wrap it in a list
175
+ self._list = [self._body]
176
+ else:
177
+ # If it's already a list, use it as is
178
+ self._list = self._body if isinstance(self._body, list) else []
171
179
  else:
172
180
  # ZPA and possibly other services use a dict with "list" field
173
181
  self._list = self._body.get("list", [])
@@ -261,7 +261,12 @@ class RequestExecutor:
261
261
  "uuid": uuid.uuid4(),
262
262
  "service_type": service_type,
263
263
  }
264
- if use_raw_data_for_body:
264
+
265
+ # Special handling for PAC file validation endpoint
266
+ if "/pacFiles/validate" in endpoint and service_type == "zia":
267
+ # For PAC file validation, send as raw data without any modification
268
+ request["data"] = body
269
+ elif use_raw_data_for_body:
265
270
  request["data"] = body
266
271
  else:
267
272
  json_payload = self._prepare_body(endpoint, body)
@@ -269,7 +274,14 @@ class RequestExecutor:
269
274
  return request, None
270
275
 
271
276
  def _prepare_headers(self, headers, endpoint=""):
272
- headers = {**self._default_headers, **(self._custom_headers or {}), **headers}
277
+ # Special handling for PAC file validation - preserve custom Content-Type
278
+ if "/pacFiles/validate" in endpoint:
279
+ # For PAC validation, don't override Content-Type from default headers
280
+ default_headers = {k: v for k, v in self._default_headers.items() if k != "Content-Type"}
281
+ headers = {**default_headers, **(self._custom_headers or {}), **headers}
282
+ else:
283
+ headers = {**self._default_headers, **(self._custom_headers or {}), **headers}
284
+
273
285
  if "/zscsb" not in endpoint and not self.use_legacy_client:
274
286
  headers["Authorization"] = f"Bearer {self._oauth._get_access_token()}"
275
287
  return headers
@@ -377,27 +377,25 @@ class DevicesAPI(APIClient):
377
377
  ``[query_params.udid]`` {str, optional}: Filter by unique device identifier.
378
378
 
379
379
  Returns:
380
- :obj:`list`: Returns device detail information in the Client Connector Portal.
380
+ :obj:`DeviceDetails`: Returns device detail information in the Client Connector Portal.
381
381
 
382
382
  Examples:
383
- Prints all devices in the Client Connector Portal to the console:
383
+ Prints device details in the Client Connector Portal to the console:
384
384
 
385
385
  >>> details, _, err = client.zcc.devices.get_device_details()
386
386
  >>> if err:
387
387
  ... print(f"Error listing device details: {err}")
388
388
  ... return
389
- ... for device in details:
390
- ... print(device.as_dict())
389
+ ... print(details.as_dict())
391
390
 
392
- Prints all devices in the Client Connector Portal to the console:
391
+ Prints device details in the Client Connector Portal to the console:
393
392
 
394
393
  >>> details, _, err = client.zcc.devices.get_device_details(
395
394
  ... query_params:{'username': 'jdoe'})
396
395
  >>> if err:
397
396
  ... print(f"Error listing device details: {err}")
398
397
  ... return
399
- ... for device in details:
400
- ... print(device.as_dict())
398
+ ... print(details.as_dict())
401
399
  """
402
400
  http_method = "get".upper()
403
401
  api_url = format_url(
@@ -417,14 +415,13 @@ class DevicesAPI(APIClient):
417
415
  if error:
418
416
  return (None, None, error)
419
417
 
420
- response, error = self._request_executor.execute(request, DeviceDetails)
418
+ response, error = self._request_executor.execute(request)
421
419
  if error:
422
420
  return (None, response, error)
423
421
 
424
422
  try:
425
- result = []
426
- for item in response.get_results():
427
- result.append(DeviceDetails(self.form_response_body(item)))
423
+ # Handle single object response directly since getDeviceDetails returns a single object
424
+ result = DeviceDetails(self.form_response_body(response.get_body()))
428
425
  except Exception as error:
429
426
  return (None, response, error)
430
427
  return (result, response, None)
@@ -291,12 +291,12 @@ class DeviceCleanup(ZscalerObject):
291
291
 
292
292
  class DeviceDetails(ZscalerObject):
293
293
  """
294
- A class for DevicedDeviceDetailsetails objects.
294
+ A class for Device Details objects.
295
295
  """
296
296
 
297
297
  def __init__(self, config=None):
298
298
  """
299
- Initialize the DeviceDetails model based on API response.
299
+ Initialize the Device Details model based on API response.
300
300
 
301
301
  Args:
302
302
  config (dict): A dictionary representing the configuration.
@@ -304,58 +304,108 @@ class DeviceDetails(ZscalerObject):
304
304
  super().__init__(config)
305
305
 
306
306
  if config:
307
- self.agent_version = config["agent_version"] \
308
- if "agent_version" in config else None
309
- self.carrier = config["carrier"] \
310
- if "carrier" in config else None
311
- self.config_download_time = config["config_download_time"] \
312
- if "config_download_time" in config else None
313
- self.deregistration_time = config["deregistration_time"] \
314
- if "deregistration_time" in config else None
315
- self.device_policy_name = config["devicePolicyName"] \
316
- if "devicePolicyName" in config else None
317
- self.device_locale = config["device_locale"] \
318
- if "device_locale" in config else None
319
- self.download_count = config["download_count"] \
320
- if "download_count" in config else None
321
- self.external_model = config["external_model"] \
322
- if "external_model" in config else None
323
- self.hardware_fingerprint = config["hardwareFingerprint"] \
324
- if "hardwareFingerprint" in config else None
325
- self.keep_alive_time = config["keep_alive_time"] \
326
- if "keep_alive_time" in config else None
327
- self.last_seen_time = config["last_seen_time"] \
328
- if "last_seen_time" in config else None
329
- self.mac_address = config["mac_address"] \
330
- if "mac_address" in config else None
331
- self.machine_hostname = config["machineHostname"] \
332
- if "machineHostname" in config else None
333
- self.manufacturer = config["manufacturer"] \
334
- if "manufacturer" in config else None
335
- self.os_version = config["os_version"] \
336
- if "os_version" in config else None
337
- self.owner = config["owner"] \
338
- if "owner" in config else None
339
- self.registration_time = config["registration_time"] \
340
- if "registration_time" in config else None
341
- self.rooted = config["rooted"] \
342
- if "rooted" in config else None
343
- self.state = config["state"] \
344
- if "state" in config else None
345
- self.tunnel_version = config["tunnelVersion"] \
346
- if "tunnelVersion" in config else None
347
- self.type = config["type"] \
348
- if "type" in config else None
349
- self.unique_id = config["unique_id"] \
350
- if "unique_id" in config else None
351
- self.upm_version = config["upmVersion"] \
352
- if "upmVersion" in config else None
353
- self.user_name = config["user_name"] \
354
- if "user_name" in config else None
355
- self.zad_version = config["zadVersion"] \
356
- if "zadVersion" in config else None
357
- self.zapp_arch = config["zappArch"] \
358
- if "zappArch" in config else None
307
+ # Handle attributes that might be in snake_case or camelCase
308
+ self.agent_version = config.get("agent_version") or config.get("agentVersion")
309
+ self.carrier = config.get("carrier")
310
+ self.config_download_time = config.get("config_download_time") or config.get("configDownloadTime")
311
+ self.deregistration_time = config.get("deregistration_time") or config.get("deregistrationTime")
312
+ self.device_policy_name = config.get("device_policy_name") or config.get("devicePolicyName")
313
+ self.device_locale = config.get("device_locale") or config.get("deviceLocale")
314
+ self.download_count = config.get("download_count") or config.get("downloadCount")
315
+ self.external_model = config.get("external_model") or config.get("externalModel")
316
+ self.hardware_fingerprint = config.get("hardware_fingerprint") or config.get("hardwareFingerprint")
317
+ self.keep_alive_time = config.get("keep_alive_time") or config.get("keepAliveTime")
318
+ self.last_seen_time = config.get("last_seen_time") or config.get("lastSeenTime")
319
+ self.mac_address = config.get("mac_address") or config.get("macAddress")
320
+ self.machine_hostname = config.get("machine_hostname") or config.get("machineHostname")
321
+ self.manufacturer = config.get("manufacturer")
322
+ self.os_version = config.get("os_version") or config.get("osVersion")
323
+ self.owner = config.get("owner")
324
+ self.registration_time = config.get("registration_time") or config.get("registrationTime")
325
+ self.rooted = config.get("rooted")
326
+ self.state = config.get("state")
327
+ self.tunnel_version = config.get("tunnel_version") or config.get("tunnelVersion")
328
+ self.type = config.get("type")
329
+ self.unique_id = config.get("unique_id") or config.get("uniqueId")
330
+ self.upm_version = config.get("upm_version") or config.get("upmVersion")
331
+ self.user_name = config.get("user_name") or config.get("userName")
332
+ self.zad_version = config.get("zad_version") or config.get("zadVersion")
333
+ self.zapp_arch = config.get("zapp_arch") or config.get("zappArch")
334
+
335
+ # Additional fields from the API response
336
+ self.id = config["id"] \
337
+ if "id" in config else None
338
+ self.internal_model = config["internal_model"] \
339
+ if "internal_model" in config else None
340
+ self.zdp_version = config["zdpVersion"] \
341
+ if "zdpVersion" in config else None
342
+ self.serial_number = config["serialNumber"] \
343
+ if "serialNumber" in config else None
344
+ self.zia_enabled = config["ziaEnabled"] \
345
+ if "ziaEnabled" in config else None
346
+ self.zpa_enabled = config["zpaEnabled"] \
347
+ if "zpaEnabled" in config else None
348
+ self.zdx_enabled = config["zdxEnabled"] \
349
+ if "zdxEnabled" in config else None
350
+ self.zd_enabled = config["zdEnabled"] \
351
+ if "zdEnabled" in config else None
352
+ self.zdp_enabled = config["zdpEnabled"] \
353
+ if "zdpEnabled" in config else None
354
+ self.zia_health = config["ziaHealth"] \
355
+ if "ziaHealth" in config else None
356
+ self.zpa_health = config["zpaHealth"] \
357
+ if "zpaHealth" in config else None
358
+ self.zdx_health = config["zdxHealth"] \
359
+ if "zdxHealth" in config else None
360
+ self.zd_health = config["zdHealth"] \
361
+ if "zdHealth" in config else None
362
+ self.zdp_health = config["zdpHealth"] \
363
+ if "zdpHealth" in config else None
364
+ self.zpa_last_seen_time = config["zpaLastSeenTime"] \
365
+ if "zpaLastSeenTime" in config else None
366
+ self.zdx_last_seen_time = config["zdxLastSeenTime"] \
367
+ if "zdxLastSeenTime" in config else None
368
+ self.zd_last_seen_time = config["zdLastSeenTime"] \
369
+ if "zdLastSeenTime" in config else None
370
+ self.zdp_last_seen_time = config["zdpLastSeenTime"] \
371
+ if "zdpLastSeenTime" in config else None
372
+ self.zcc_logged_in_user_type = config["zccLoggedInUserType"] \
373
+ if "zccLoggedInUserType" in config else None
374
+ self.external_device_id = config["externalDeviceId"] \
375
+ if "externalDeviceId" in config else None
376
+ self.zcc_force_revert = config["zccForceRevert"] \
377
+ if "zccForceRevert" in config else None
378
+ self.anti_tampering_status = config["antiTamperingStatus"] \
379
+ if "antiTamperingStatus" in config else None
380
+ self.device_trust = config["deviceTrust"] \
381
+ if "deviceTrust" in config else None
382
+ self.zcc_tunnel_version = config["zccTunnelVersion"] \
383
+ if "zccTunnelVersion" in config else None
384
+ self.vdi = config["vdi"] \
385
+ if "vdi" in config else None
386
+ self.strict_enforcement = config["strictEnforcement"] \
387
+ if "strictEnforcement" in config else None
388
+ self.expected_zcc_version = config["expectedZCCVersion"] \
389
+ if "expectedZCCVersion" in config else None
390
+ self.expected_zcc_version_timestamp = config["expectedZCCVersionTimestamp"] \
391
+ if "expectedZCCVersionTimestamp" in config else None
392
+ self.zcc_upgrade_status = config["zccUpgradeStatus"] \
393
+ if "zccUpgradeStatus" in config else None
394
+
395
+ self.device_otp_array = ZscalerCollection.form_list(
396
+ config["deviceOtpArray"] if "deviceOtpArray" in config else [], str
397
+ )
398
+
399
+ if "logFetchInfo" in config:
400
+ if isinstance(config["logFetchInfo"], LogFetchInfo):
401
+ self.log_fetch_info = config["logFetchInfo"]
402
+ elif config["logFetchInfo"] is not None:
403
+ self.log_fetch_info = LogFetchInfo(config["logFetchInfo"])
404
+ else:
405
+ self.log_fetch_info = None
406
+ else:
407
+ self.log_fetch_info = None
408
+
359
409
  else:
360
410
  self.agent_version = None
361
411
  self.carrier = None
@@ -383,6 +433,39 @@ class DeviceDetails(ZscalerObject):
383
433
  self.user_name = None
384
434
  self.zad_version = None
385
435
  self.zapp_arch = None
436
+ self.log_fetch_info = None
437
+ self.device_otp_array = None
438
+
439
+ # Additional fields from the API response
440
+ self.id = None
441
+ self.internal_model = None
442
+ self.zdp_version = None
443
+ self.serial_number = None
444
+ self.zia_enabled = None
445
+ self.zpa_enabled = None
446
+ self.zdx_enabled = None
447
+ self.zd_enabled = None
448
+ self.zdp_enabled = None
449
+ self.zia_health = None
450
+ self.zpa_health = None
451
+ self.zdx_health = None
452
+ self.zd_health = None
453
+ self.zdp_health = None
454
+ self.zpa_last_seen_time = None
455
+ self.zdx_last_seen_time = None
456
+ self.zd_last_seen_time = None
457
+ self.zdp_last_seen_time = None
458
+ self.zcc_logged_in_user_type = None
459
+ self.external_device_id = None
460
+ self.zcc_force_revert = None
461
+ self.anti_tampering_status = None
462
+ self.device_trust = None
463
+ self.zcc_tunnel_version = None
464
+ self.vdi = None
465
+ self.strict_enforcement = None
466
+ self.expected_zcc_version = None
467
+ self.expected_zcc_version_timestamp = None
468
+ self.zcc_upgrade_status = None
386
469
 
387
470
  def request_format(self):
388
471
  """
@@ -415,7 +498,90 @@ class DeviceDetails(ZscalerObject):
415
498
  "upmVersion": self.upm_version,
416
499
  "user_name": self.user_name,
417
500
  "zadVersion": self.zad_version,
418
- "zappArch": self.zapp_arch
501
+ "zappArch": self.zapp_arch,
502
+ "deviceOtpArray": self.device_otp_array,
503
+ "logFetchInfo": self.log_fetch_info,
504
+ "id": self.id,
505
+ "internal_model": self.internal_model,
506
+ "zdpVersion": self.zdp_version,
507
+ "serialNumber": self.serial_number,
508
+ "ziaEnabled": self.zia_enabled,
509
+ "zpaEnabled": self.zpa_enabled,
510
+ "zdxEnabled": self.zdx_enabled,
511
+ "zdEnabled": self.zd_enabled,
512
+ "zdpEnabled": self.zdp_enabled,
513
+ "ziaHealth": self.zia_health,
514
+ "zpaHealth": self.zpa_health,
515
+ "zdxHealth": self.zdx_health,
516
+ "zdHealth": self.zd_health,
517
+ "zdpHealth": self.zdp_health,
518
+ "zpaLastSeenTime": self.zpa_last_seen_time,
519
+ "zdxLastSeenTime": self.zdx_last_seen_time,
520
+ "zdLastSeenTime": self.zd_last_seen_time,
521
+ "zdpLastSeenTime": self.zdp_last_seen_time,
522
+ "zccLoggedInUserType": self.zcc_logged_in_user_type,
523
+ "externalDeviceId": self.external_device_id,
524
+ "zccForceRevert": self.zcc_force_revert,
525
+ "antiTamperingStatus": self.anti_tampering_status,
526
+ "deviceTrust": self.device_trust,
527
+ "zccTunnelVersion": self.zcc_tunnel_version,
528
+ "vdi": self.vdi,
529
+ "strictEnforcement": self.strict_enforcement,
530
+ "expectedZCCVersion": self.expected_zcc_version,
531
+ "expectedZCCVersionTimestamp": self.expected_zcc_version_timestamp,
532
+ "zccUpgradeStatus": self.zcc_upgrade_status
533
+ }
534
+ parent_req_format.update(current_obj_format)
535
+ return parent_req_format
536
+
537
+
538
+ class LogFetchInfo(ZscalerObject):
539
+ """
540
+ A class for LogFetchInfo objects.
541
+ """
542
+
543
+ def __init__(self, config=None):
544
+ """
545
+ Initialize the LogFetchInfo model based on API response.
546
+
547
+ Args:
548
+ config (dict): A dictionary representing the configuration.
549
+ """
550
+ super().__init__(config)
551
+
552
+ if config:
553
+ self.log_ts = config["logTs"] \
554
+ if "logTs" in config else None
555
+ self.log_ack_ts = config["logAckTs"] \
556
+ if "logAckTs" in config else None
557
+ self.error = config["error"] \
558
+ if "error" in config else None
559
+ self.log_fetch_pcap_enabled = config["logFetchPCAPEnabled"] \
560
+ if "logFetchPCAPEnabled" in config else None
561
+ self.log_fetch_db_enabled = config["logFetchDBEnabled"] \
562
+ if "logFetchDBEnabled" in config else None
563
+ self.log_fetch_from_no_of_days = config["logFetchFromNoOfDays"] \
564
+ if "logFetchFromNoOfDays" in config else None
565
+ else:
566
+ self.log_ts = None
567
+ self.log_ack_ts = None
568
+ self.error = None
569
+ self.log_fetch_pcap_enabled = None
570
+ self.log_fetch_db_enabled = None
571
+ self.log_fetch_from_no_of_days = None
572
+
573
+ def request_format(self):
574
+ """
575
+ Return the object as a dictionary in the format expected for API requests.
576
+ """
577
+ parent_req_format = super().request_format()
578
+ current_obj_format = {
579
+ "logTs": self.log_ts,
580
+ "logAckTs": self.log_ack_ts,
581
+ "error": self.error,
582
+ "logFetchPCAPEnabled": self.log_fetch_pcap_enabled,
583
+ "logFetchDBEnabled": self.log_fetch_db_enabled,
584
+ "logFetchFromNoOfDays": self.log_fetch_from_no_of_days
419
585
  }
420
586
  parent_req_format.update(current_obj_format)
421
587
  return parent_req_format
@@ -0,0 +1,206 @@
1
+ """
2
+ Copyright (c) 2023, Zscaler Inc.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted, provided that the above
6
+ copyright notice and this permission notice appear in all copies.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+ """
16
+
17
+ from zscaler.api_client import APIClient
18
+ from zscaler.request_executor import RequestExecutor
19
+ from zscaler.zia.models.activation import Activation
20
+ from zscaler.zia.models.activation import EusaStatus
21
+ from zscaler.utils import format_url
22
+
23
+
24
+ class ActivationAPI(APIClient):
25
+ """
26
+ A Client object for the Activation resource.
27
+ """
28
+
29
+ _zia_base_endpoint = "/zia/api/v1"
30
+
31
+ def __init__(self, request_executor):
32
+ super().__init__()
33
+ self._request_executor: RequestExecutor = request_executor
34
+
35
+ def status(self) -> tuple:
36
+ """
37
+ Returns the activation status for a configuration change.
38
+
39
+ Returns:
40
+ :obj:`Activation`, response object, and error if any.
41
+
42
+ Examples:
43
+ >>> config_status, response, error = zia.config.status()
44
+ """
45
+ http_method = "get".upper()
46
+ api_url = format_url(
47
+ f"""
48
+ {self._zia_base_endpoint}
49
+ /status
50
+ """
51
+ )
52
+
53
+ # Create the request
54
+ request, error = self._request_executor.create_request(http_method, api_url, body={}, headers={}, params={})
55
+
56
+ if error:
57
+ return (None, None, error)
58
+
59
+ # Execute the request
60
+ response, error = self._request_executor.execute(request, Activation)
61
+
62
+ if error:
63
+ return (None, response, error)
64
+
65
+ try:
66
+ result = Activation(response.get_body())
67
+ except Exception as error:
68
+ return (None, response, error)
69
+
70
+ return (result, response, None)
71
+
72
+ def activate(self) -> tuple:
73
+ """
74
+ Activates configuration changes.
75
+
76
+ Returns:
77
+ :obj:`Activation`, response object, and error if any.
78
+
79
+ Examples:
80
+ >>> config_activate, response, error = zia.activate.activate()
81
+ """
82
+ http_method = "post".upper()
83
+ api_url = format_url(
84
+ f"""
85
+ {self._zia_base_endpoint}
86
+ /status/activate
87
+ """
88
+ )
89
+
90
+ # Create the request
91
+ request, error = self._request_executor.create_request(http_method, api_url, body={}, headers={}, params={})
92
+
93
+ if error:
94
+ return (None, None, error)
95
+
96
+ # Execute the request
97
+ response, error = self._request_executor.execute(request, Activation)
98
+
99
+ if error:
100
+ return (None, response, error)
101
+
102
+ try:
103
+ result = Activation(response.get_body())
104
+ except Exception as error:
105
+ return (None, response, error)
106
+
107
+ return (result, response, None)
108
+
109
+ def get_eusa_status(self) -> tuple:
110
+ """
111
+ Retrieves the End User Subscription Agreement (EUSA) acceptance status.
112
+ If the status does not exist, it returns a status object with no ID.
113
+
114
+ Args:
115
+ N/A
116
+
117
+ Returns:
118
+ tuple: A tuple containing (Eusa status instance, Response, error).
119
+
120
+ Examples:
121
+ Print latest Eusa status
122
+
123
+ >>> fetched_eusa, _, error = client.zia.activate.get_eusa_status()
124
+ >>> if error:
125
+ ... print(f"Error fetching Eusa status: {error}")
126
+ ... return
127
+ ... print(f"Fetched Eusa status by ID: {fetched_eusa.as_dict()}")
128
+ """
129
+ http_method = "get".upper()
130
+ api_url = format_url(
131
+ f"""
132
+ {self._zia_base_endpoint}
133
+ /eusaStatus/latest
134
+ """
135
+ )
136
+
137
+ body = {}
138
+ headers = {}
139
+
140
+ request, error = self._request_executor.create_request(http_method, api_url, body, headers)
141
+
142
+ if error:
143
+ return (None, None, error)
144
+
145
+ response, error = self._request_executor.execute(request, EusaStatus)
146
+ if error:
147
+ return (None, response, error)
148
+
149
+ try:
150
+ result = EusaStatus(self.form_response_body(response.get_body()))
151
+ except Exception as error:
152
+ return (None, response, error)
153
+ return (result, response, None)
154
+
155
+ def update_eusa_status(self, status_id: int, **kwargs) -> tuple:
156
+ """
157
+ Updates the EUSA status based on the specified status ID
158
+
159
+ Args:
160
+ status_id (int): The unique ID for the EUSA status.
161
+
162
+ version (dict): Specifies the EUSA info ID version.
163
+ This field is for Zscaler internal use only.
164
+
165
+ acceptedStatus (bool): A Boolean value that specifies the EUSA status.
166
+ If set to true, the EUSA is accepted.
167
+ If set to false, the EUSA is in an 'agreement pending' state.
168
+
169
+ Returns:
170
+ tuple: A tuple containing the updated EUSA status, response, and error.
171
+
172
+ Examples:
173
+ Update an existing EUSA status :
174
+
175
+ >>> updated_eusa_status, _, error = client.zia.activate.update_eusa_status(
176
+ ... status_id='1524566'
177
+ ... )
178
+ >>> if error:
179
+ ... print(f"Error updating EUSA status: {error}")
180
+ ... return
181
+ ... print(f"EUSA status updated successfully: {updated_eusa_status.as_dict()}")
182
+ """
183
+ http_method = "put".upper()
184
+ api_url = format_url(
185
+ f"""
186
+ {self._zia_base_endpoint}
187
+ /eusaStatus/{status_id}
188
+ """
189
+ )
190
+ body = {}
191
+
192
+ body.update(kwargs)
193
+
194
+ request, error = self._request_executor.create_request(http_method, api_url, body, {}, {})
195
+ if error:
196
+ return (None, None, error)
197
+
198
+ response, error = self._request_executor.execute(request, EusaStatus)
199
+ if error:
200
+ return (None, response, error)
201
+
202
+ try:
203
+ result = EusaStatus(self.form_response_body(response.get_body()))
204
+ except Exception as error:
205
+ return (None, response, error)
206
+ return (result, response, None)
@@ -237,6 +237,7 @@ class DLPWebRuleAPI(APIClient):
237
237
  time_windows (:obj:`list` of :obj:`int`): IDs for time windows this rule applies to.
238
238
  users (:obj:`list` of :obj:`int`): IDs for users this rule applies to.
239
239
  url_categories (list): IDs for URL categories the rule applies to.
240
+ dlp_content_locations_scopes (list): Specifies one or more content locations
240
241
  external_auditor_email (str): Email of an external auditor for DLP notifications.
241
242
  dlp_download_scan_enabled (bool): True enables DLP scan for file downloads.
242
243
  min_size (str): Minimum file size (in KB) for DLP policy rule evaluation.