zscaler-sdk-python 1.7.2__tar.gz → 1.7.4__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 (429) hide show
  1. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/PKG-INFO +1 -1
  2. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/pyproject.toml +1 -1
  3. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/__init__.py +1 -1
  4. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/oneapi_client.py +1 -0
  5. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/oneapi_response.py +8 -0
  6. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/request_executor.py +18 -2
  7. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/utils.py +1 -0
  8. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/devices.py +8 -11
  9. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/devices.py +221 -55
  10. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/alerts.py +4 -12
  11. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/apps.py +5 -13
  12. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/devices.py +27 -9
  13. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/inventory.py +8 -10
  14. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/legacy.py +10 -0
  15. zscaler_sdk_python-1.7.4/zscaler/zdx/models/alerts.py +216 -0
  16. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/application_users.py +17 -8
  17. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/applications.py +107 -16
  18. zscaler_sdk_python-1.7.4/zscaler/zdx/models/common.py +391 -0
  19. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/devices.py +333 -27
  20. zscaler_sdk_python-1.7.2/zscaler/zdx/models/activeapplications.py → zscaler_sdk_python-1.7.4/zscaler/zdx/models/snapshot.py +31 -16
  21. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/software_inventory.py +35 -52
  22. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/troubleshooting.py +115 -14
  23. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/users.py +22 -22
  24. zscaler_sdk_python-1.7.4/zscaler/zdx/snapshot.py +126 -0
  25. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/troubleshooting.py +6 -15
  26. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/users.py +4 -7
  27. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/zdx_service.py +9 -0
  28. zscaler_sdk_python-1.7.4/zscaler/zia/activate.py +206 -0
  29. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/dlp_web_rules.py +1 -0
  30. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/legacy.py +21 -9
  31. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/locations.py +8 -7
  32. zscaler_sdk_python-1.7.4/zscaler/zia/models/activation.py +98 -0
  33. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -1
  34. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/dlp_web_rules.py +7 -2
  35. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/filetyperules.py +3 -0
  36. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/pac_files.py +111 -0
  37. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/pac_files.py +7 -7
  38. zscaler_sdk_python-1.7.2/zscaler/zdx/models/alerts.py +0 -132
  39. zscaler_sdk_python-1.7.2/zscaler/zdx/models/common.py +0 -167
  40. zscaler_sdk_python-1.7.2/zscaler/zia/activate.py +0 -106
  41. zscaler_sdk_python-1.7.2/zscaler/zia/models/activation.py +0 -46
  42. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/LICENSE.md +0 -0
  43. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/README.md +0 -0
  44. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/api_client.py +0 -0
  45. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/cache/__init__.py +0 -0
  46. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/cache/cache.py +0 -0
  47. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/cache/no_op_cache.py +0 -0
  48. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/cache/zscaler_cache.py +0 -0
  49. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/config/__init__.py +0 -0
  50. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/config/config_setter.py +0 -0
  51. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/config/config_validator.py +0 -0
  52. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/constants.py +0 -0
  53. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/error_messages.py +0 -0
  54. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/errors/__init__.py +0 -0
  55. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/errors/error.py +0 -0
  56. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/errors/http_error.py +0 -0
  57. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/errors/response_checker.py +0 -0
  58. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/errors/zscaler_api_error.py +0 -0
  59. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/exceptions/__init__.py +0 -0
  60. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/exceptions/exceptions.py +0 -0
  61. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/helpers.py +0 -0
  62. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/logger.py +0 -0
  63. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/oneapi_collection.py +0 -0
  64. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/oneapi_http_client.py +0 -0
  65. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/oneapi_oauth_client.py +0 -0
  66. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/oneapi_object.py +0 -0
  67. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ratelimiter/__init__.py +0 -0
  68. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ratelimiter/ratelimiter.py +0 -0
  69. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/user_agent.py +0 -0
  70. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/__init__.py +0 -0
  71. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/admin_user.py +0 -0
  72. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/company.py +0 -0
  73. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/entitlements.py +0 -0
  74. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/fail_open_policy.py +0 -0
  75. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/forwarding_profile.py +0 -0
  76. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/legacy.py +0 -0
  77. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/admin_roles.py +0 -0
  78. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/admin_user.py +0 -0
  79. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/failopenpolicy.py +0 -0
  80. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/forwardingprofile.py +0 -0
  81. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/getcompanyinfo.py +0 -0
  82. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/manage_pass.py +0 -0
  83. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/secrets_otp.py +0 -0
  84. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/secrets_passwords.py +0 -0
  85. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/trustednetworks.py +0 -0
  86. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/webappservice.py +0 -0
  87. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/webpolicy.py +0 -0
  88. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/webprivacy.py +0 -0
  89. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  90. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  91. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/secrets.py +0 -0
  92. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/trusted_networks.py +0 -0
  93. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/web_app_service.py +0 -0
  94. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/web_policy.py +0 -0
  95. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/web_privacy.py +0 -0
  96. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zcc/zcc_service.py +0 -0
  97. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/__init__.py +0 -0
  98. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/admin.py +0 -0
  99. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/administration.py +0 -0
  100. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  101. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/__init__.py +0 -0
  102. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/admin_roles.py +0 -0
  103. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/admin_users.py +0 -0
  104. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/advanced_settings.py +0 -0
  105. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/alert_subscriptions.py +0 -0
  106. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/apptotal.py +0 -0
  107. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/atp_policy.py +0 -0
  108. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/audit_logs.py +0 -0
  109. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/authentication_settings.py +0 -0
  110. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/bandwidth_classes.py +0 -0
  111. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/bandwidth_control_rules.py +0 -0
  112. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/browser_control_settings.py +0 -0
  113. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/casb_dlp_rules.py +0 -0
  114. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/casb_malware_rules.py +0 -0
  115. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_app_instances.py +0 -0
  116. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_applications.py +0 -0
  117. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_browser_isolation.py +0 -0
  118. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_firewall.py +0 -0
  119. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_firewall_dns.py +0 -0
  120. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_firewall_ips.py +0 -0
  121. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_firewall_rules.py +0 -0
  122. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_nss.py +0 -0
  123. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloud_to_cloud_ir.py +0 -0
  124. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/cloudappcontrol.py +0 -0
  125. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  126. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/device_management.py +0 -0
  127. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/dlp_dictionary.py +0 -0
  128. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/dlp_engine.py +0 -0
  129. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/dlp_resources.py +0 -0
  130. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/dlp_templates.py +0 -0
  131. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/dns_gatways.py +0 -0
  132. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/end_user_notification.py +0 -0
  133. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/file_type_control_rule.py +0 -0
  134. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/forwarding_control.py +0 -0
  135. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/ftp_control_policy.py +0 -0
  136. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/gre_tunnel.py +0 -0
  137. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/intermediate_certificates.py +0 -0
  138. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/iot_report.py +0 -0
  139. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/ipv6_config.py +0 -0
  140. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/malware_protection_policy.py +0 -0
  141. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/mobile_threat_settings.py +0 -0
  142. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/__init__.py +0 -0
  143. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/admin_roles.py +0 -0
  144. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/admin_users.py +0 -0
  145. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/advanced_settings.py +0 -0
  146. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  147. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/alert_subscriptions.py +0 -0
  148. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/apptotal.py +0 -0
  149. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/authentication_settings.py +0 -0
  150. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/bandwidth_classes.py +0 -0
  151. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  152. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/browser_control_settings.py +0 -0
  153. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/casb_dlp_rules.py +0 -0
  154. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/casb_malware_rules.py +0 -0
  155. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_app_instances.py +0 -0
  156. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_app_policy.py +0 -0
  157. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  158. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  159. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  160. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  161. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  162. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  163. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  164. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  165. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  166. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  167. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  168. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_nss.py +0 -0
  169. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloud_to_cloud_ir.py +0 -0
  170. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/cloudappcontrol.py +0 -0
  171. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/common.py +0 -0
  172. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  173. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/device_groups.py +0 -0
  174. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/devices.py +0 -0
  175. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/dlp_dictionary.py +0 -0
  176. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/dlp_engine.py +0 -0
  177. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/dlp_resources.py +0 -0
  178. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/dlp_templates.py +0 -0
  179. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/dns_gateways.py +0 -0
  180. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/endusernotification.py +0 -0
  181. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  182. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/ftp_control_policy.py +0 -0
  183. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/gre_recommended_list.py +0 -0
  184. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  185. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/gre_tunnels.py +0 -0
  186. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/gre_vips.py +0 -0
  187. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/intermediate_certificates.py +0 -0
  188. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/iotreport.py +0 -0
  189. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/ipv6_config.py +0 -0
  190. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/location_group.py +0 -0
  191. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/location_management.py +0 -0
  192. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/malware_protection_settings.py +0 -0
  193. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  194. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/nat_control_policy.py +0 -0
  195. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/nss_servers.py +0 -0
  196. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/organization_information.py +0 -0
  197. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/proxies.py +0 -0
  198. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/proxy_gateways.py +0 -0
  199. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/remoteassistance.py +0 -0
  200. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/risk_profiles.py +0 -0
  201. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/rule_labels.py +0 -0
  202. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/saas_security_api.py +0 -0
  203. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/sandboxrules.py +0 -0
  204. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/security_policy_settings.py +0 -0
  205. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/shadow_it_report.py +0 -0
  206. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  207. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/subclouds.py +0 -0
  208. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/system_audit.py +0 -0
  209. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  210. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/time_intervals.py +0 -0
  211. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/traffic_datacenters.py +0 -0
  212. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  213. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/traffic_extranet.py +0 -0
  214. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/traffic_static_ip.py +0 -0
  215. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  216. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  217. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/url_filtering_rules.py +0 -0
  218. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/urlcategory.py +0 -0
  219. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/user_management.py +0 -0
  220. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/vzen_clusters.py +0 -0
  221. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/workload_groups.py +0 -0
  222. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/models/zpa_gateway.py +0 -0
  223. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/nat_control_policy.py +0 -0
  224. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/nss_servers.py +0 -0
  225. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/organization_information.py +0 -0
  226. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/policy_export.py +0 -0
  227. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/proxies.py +0 -0
  228. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/remote_assistance.py +0 -0
  229. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/risk_profiles.py +0 -0
  230. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/rule_labels.py +0 -0
  231. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/saas_security_api.py +0 -0
  232. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/sandbox.py +0 -0
  233. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/sandbox_rules.py +0 -0
  234. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/security_policy_settings.py +0 -0
  235. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/shadow_it_report.py +0 -0
  236. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/ssl_inspection_rules.py +0 -0
  237. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/sub_clouds.py +0 -0
  238. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/system_audit.py +0 -0
  239. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  240. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/time_intervals.py +0 -0
  241. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/traffic_datacenters.py +0 -0
  242. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/traffic_extranet.py +0 -0
  243. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/traffic_static_ip.py +0 -0
  244. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  245. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/url_categories.py +0 -0
  246. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/url_filtering.py +0 -0
  247. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/user_management.py +0 -0
  248. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/vzen_clusters.py +0 -0
  249. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/workload_groups.py +0 -0
  250. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/zia_service.py +0 -0
  251. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zia/zpa_gateway.py +0 -0
  252. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/__init__.py +0 -0
  253. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/api_client.py +0 -0
  254. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/groups.py +0 -0
  255. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/models/api_client.py +0 -0
  256. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/models/common.py +0 -0
  257. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/models/groups.py +0 -0
  258. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/models/resource_servers.py +0 -0
  259. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/models/user_entitlement.py +0 -0
  260. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/models/users.py +0 -0
  261. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/resource_servers.py +0 -0
  262. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/user_entitlement.py +0 -0
  263. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/users.py +0 -0
  264. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zidentity/zidentity_service.py +0 -0
  265. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/__init__.py +0 -0
  266. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/admin_sso_controller.py +0 -0
  267. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/administrator_controller.py +0 -0
  268. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/api_keys.py +0 -0
  269. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_connector_groups.py +0 -0
  270. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_connector_schedule.py +0 -0
  271. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_connectors.py +0 -0
  272. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_protection.py +0 -0
  273. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_segment_by_type.py +0 -0
  274. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_segments_ba.py +0 -0
  275. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_segments_ba_v2.py +0 -0
  276. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_segments_inspection.py +0 -0
  277. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/app_segments_pra.py +0 -0
  278. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/application_segment.py +0 -0
  279. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/c2c_ip_ranges.py +0 -0
  280. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/cbi_banner.py +0 -0
  281. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/cbi_certificate.py +0 -0
  282. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/cbi_profile.py +0 -0
  283. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/cbi_region.py +0 -0
  284. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  285. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/certificates.py +0 -0
  286. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/client_settings.py +0 -0
  287. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/cloud_connector_groups.py +0 -0
  288. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/config_override_controller.py +0 -0
  289. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/customer_controller.py +0 -0
  290. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/customer_domain.py +0 -0
  291. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/customer_version_profile.py +0 -0
  292. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/emergency_access.py +0 -0
  293. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/enrollment_certificates.py +0 -0
  294. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/idp.py +0 -0
  295. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/legacy.py +0 -0
  296. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/lss.py +0 -0
  297. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/machine_groups.py +0 -0
  298. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/microtenants.py +0 -0
  299. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/administrator_controller.py +0 -0
  300. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/api_keys.py +0 -0
  301. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/app_connector_groups.py +0 -0
  302. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  303. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/app_connectors.py +0 -0
  304. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  305. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/app_protection_profile.py +0 -0
  306. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/application_segment.py +0 -0
  307. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/application_segment_lb.py +0 -0
  308. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/application_servers.py +0 -0
  309. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/c2c_ip_ranges.py +0 -0
  310. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/cbi_banner.py +0 -0
  311. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/cbi_certificate.py +0 -0
  312. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/cbi_profile.py +0 -0
  313. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/cbi_region.py +0 -0
  314. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  315. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/certificates.py +0 -0
  316. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/client_settings.py +0 -0
  317. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  318. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/common.py +0 -0
  319. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/config_override_controller.py +0 -0
  320. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/customer_controller.py +0 -0
  321. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/customer_domain.py +0 -0
  322. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/customer_version_profile.py +0 -0
  323. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/emergency_access.py +0 -0
  324. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  325. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/idp.py +0 -0
  326. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/lss.py +0 -0
  327. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/machine_groups.py +0 -0
  328. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/microtenants.py +0 -0
  329. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/npn_client_controller.py +0 -0
  330. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  331. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  332. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/posture_profiles.py +0 -0
  333. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/pra_approval.py +0 -0
  334. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/pra_console.py +0 -0
  335. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  336. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/pra_credential.py +0 -0
  337. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/pra_portal.py +0 -0
  338. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/private_cloud_controller.py +0 -0
  339. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/private_cloud_group.py +0 -0
  340. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/provisioning_keys.py +0 -0
  341. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/role_controller.py +0 -0
  342. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/saml_attributes.py +0 -0
  343. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/scim_attributes.py +0 -0
  344. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/scim_groups.py +0 -0
  345. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/segment_group.py +0 -0
  346. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/server_group.py +0 -0
  347. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/service_edge_groups.py +0 -0
  348. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  349. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/service_edges.py +0 -0
  350. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/trusted_network.py +0 -0
  351. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/user_portal_controller.py +0 -0
  352. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/models/user_portal_link.py +0 -0
  353. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/npn_client_controller.py +0 -0
  354. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/policies.py +0 -0
  355. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/posture_profiles.py +0 -0
  356. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/pra_approval.py +0 -0
  357. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/pra_console.py +0 -0
  358. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/pra_credential.py +0 -0
  359. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/pra_credential_pool.py +0 -0
  360. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/pra_portal.py +0 -0
  361. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/private_cloud_controller.py +0 -0
  362. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/private_cloud_group.py +0 -0
  363. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/provisioning.py +0 -0
  364. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/role_controller.py +0 -0
  365. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/saml_attributes.py +0 -0
  366. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/scim_attributes.py +0 -0
  367. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/scim_groups.py +0 -0
  368. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/segment_groups.py +0 -0
  369. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/server_groups.py +0 -0
  370. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/servers.py +0 -0
  371. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/service_edge_group.py +0 -0
  372. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/service_edge_schedule.py +0 -0
  373. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/service_edges.py +0 -0
  374. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/trusted_networks.py +0 -0
  375. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/user_portal_controller.py +0 -0
  376. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/user_portal_link.py +0 -0
  377. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zpa/zpa_service.py +0 -0
  378. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/__init__.py +0 -0
  379. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/account_details.py +0 -0
  380. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/activation.py +0 -0
  381. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/admin_roles.py +0 -0
  382. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/admin_users.py +0 -0
  383. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/api_keys.py +0 -0
  384. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/ec_groups.py +0 -0
  385. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/forwarding_gateways.py +0 -0
  386. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/forwarding_rules.py +0 -0
  387. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/ip_destination_groups.py +0 -0
  388. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/ip_groups.py +0 -0
  389. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/ip_source_groups.py +0 -0
  390. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/legacy.py +0 -0
  391. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/location_management.py +0 -0
  392. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/location_template.py +0 -0
  393. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/activation.py +0 -0
  394. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/admin_roles.py +0 -0
  395. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/admin_users.py +0 -0
  396. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/api_keys.py +0 -0
  397. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/common.py +0 -0
  398. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/ec_group_vm.py +0 -0
  399. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/ecgroup.py +0 -0
  400. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  401. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/forwarding_rules.py +0 -0
  402. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  403. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/ip_groups.py +0 -0
  404. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/ip_source_groups.py +0 -0
  405. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/location_management.py +0 -0
  406. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/location_templates.py +0 -0
  407. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/nw_service.py +0 -0
  408. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/nw_service_groups.py +0 -0
  409. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/provisioning_url.py +0 -0
  410. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  411. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/models/zpa_resources.py +0 -0
  412. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/nw_service.py +0 -0
  413. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/nw_service_groups.py +0 -0
  414. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/provisioning_url.py +0 -0
  415. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/ztw/ztw_service.py +0 -0
  416. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/__init__.py +0 -0
  417. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/audit_logs.py +0 -0
  418. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/dlp_incidents.py +0 -0
  419. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/legacy.py +0 -0
  420. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/audit_logs.py +0 -0
  421. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/change_history.py +0 -0
  422. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/common.py +0 -0
  423. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/generated_tickets.py +0 -0
  424. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/incident_details.py +0 -0
  425. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/incident_evidence.py +0 -0
  426. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/incident_group_search.py +0 -0
  427. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/incident_search.py +0 -0
  428. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/zscaler/zwa/models/incident_trigger.py +0 -0
  429. {zscaler_sdk_python-1.7.2 → zscaler_sdk_python-1.7.4}/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.2
3
+ Version: 1.7.4
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.2"
3
+ version = "1.7.4"
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.2"
32
+ __version__ = "1.7.4"
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
@@ -282,6 +294,10 @@ class RequestExecutor:
282
294
  if self.use_legacy_client and self.zdx_legacy_client:
283
295
  return body # Do not convert anything, just return as-is
284
296
 
297
+ # Special handling for ZDX endpoints - keep snake_case format
298
+ if "/zdx/" in endpoint:
299
+ return body # Do not convert ZDX requests to camelCase
300
+
285
301
  # Preserve existing logic for other services
286
302
  if body:
287
303
  body = convert_keys_to_camel_case(body)
@@ -426,6 +426,7 @@ def zdx_params(func):
426
426
  ("score_bucket", "score_bucket"), # New: str (poor, okay, good)
427
427
  ("limit", "limit"), # New: int
428
428
  ("offset", "offset"), # New: str (API-defined pagination)
429
+ ("expiry", "expiry"), # New: int
429
430
  ]:
430
431
  if key in kwargs:
431
432
  value = kwargs.pop(key)
@@ -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
@@ -18,6 +18,7 @@ from zscaler.api_client import APIClient
18
18
  from zscaler.request_executor import RequestExecutor
19
19
  from zscaler.zdx.models.alerts import Alerts
20
20
  from zscaler.zdx.models.alerts import AlertDetails
21
+ from zscaler.zdx.models.alerts import AffectedDevices
21
22
  from zscaler.utils import format_url, zdx_params
22
23
 
23
24
 
@@ -102,20 +103,11 @@ class AlertsAPI(APIClient):
102
103
  if error:
103
104
  return (None, response, error)
104
105
 
105
- # try:
106
- # parsed_response = self.form_response_body(response.get_body())
107
- # alerts_list = parsed_response.get("alerts", [])
108
- # result = [Alerts(alert) for alert in alerts_list]
109
- # except Exception as error:
110
- # return (None, response, error)
111
- # return (result, response, None)
112
-
113
106
  try:
114
- result = []
115
- for item in response.get_results():
116
- result.append(Alerts(self.form_response_body(item)))
107
+ result = [Alerts(self.form_response_body(response.get_body()))]
117
108
  except Exception as error:
118
109
  return (None, response, error)
110
+
119
111
  return (result, response, None)
120
112
 
121
113
  def get_alert(self, alert_id: str) -> tuple:
@@ -316,7 +308,7 @@ class AlertsAPI(APIClient):
316
308
  return (None, response, error)
317
309
 
318
310
  try:
319
- result = [AlertDetails(self.form_response_body(response.get_body()))]
311
+ result = [AffectedDevices(self.form_response_body(response.get_body()))]
320
312
  except Exception as error:
321
313
  return (None, response, error)
322
314
 
@@ -20,8 +20,8 @@ from zscaler.zdx.models.applications import ActiveApplications
20
20
  from zscaler.zdx.models.applications import ApplicationScore
21
21
  from zscaler.zdx.models.applications import ApplicationScoreTrend
22
22
  from zscaler.zdx.models.applications import ApplicationMetrics
23
- from zscaler.zdx.models.users import UserDetails
24
23
  from zscaler.zdx.models.application_users import ApplicationUserDetails
24
+ from zscaler.zdx.models.application_users import ApplicationActiveUsers
25
25
  from zscaler.utils import format_url, zdx_params
26
26
 
27
27
 
@@ -305,7 +305,9 @@ class AppsAPI(APIClient):
305
305
  return (None, response, error)
306
306
 
307
307
  try:
308
- result = [ApplicationMetrics(self.form_response_body(response.get_body()))]
308
+ result = []
309
+ for item in response.get_results():
310
+ result.append(ApplicationMetrics(item))
309
311
  except Exception as error:
310
312
  return (None, response, error)
311
313
 
@@ -381,18 +383,8 @@ class AppsAPI(APIClient):
381
383
  if error:
382
384
  return (None, response, error)
383
385
 
384
- # try:
385
- # result = [ApplicationUsers(
386
- # self.form_response_body(response.get_body()))]
387
- # except Exception as error:
388
- # return (None, response, error)
389
-
390
- # return (result, response, None)
391
386
  try:
392
- parsed_response = self.form_response_body(response.get_body())
393
- users_list = parsed_response.get("users", [])
394
- result = [UserDetails(user) for user in users_list]
395
-
387
+ result = [ApplicationActiveUsers(self.form_response_body(response.get_body()))]
396
388
  except Exception as error:
397
389
  return (None, response, error)
398
390
 
@@ -373,7 +373,9 @@ class DevicesAPI(APIClient):
373
373
  return (None, response, error)
374
374
 
375
375
  try:
376
- result = [DeviceAppWebProbes(self.form_response_body(response.get_body()))]
376
+ result = []
377
+ for item in response.get_results():
378
+ result.append(DeviceAppWebProbes(item))
377
379
  except Exception as error:
378
380
  return (None, response, error)
379
381
 
@@ -440,7 +442,9 @@ class DevicesAPI(APIClient):
440
442
  return (None, response, error)
441
443
 
442
444
  try:
443
- result = [DeviceWebProbePageFetch(self.form_response_body(response.get_body()))]
445
+ result = []
446
+ for item in response.get_results():
447
+ result.append(DeviceWebProbePageFetch(item))
444
448
  except Exception as error:
445
449
  return (None, response, error)
446
450
 
@@ -497,7 +501,9 @@ class DevicesAPI(APIClient):
497
501
  return (None, response, error)
498
502
 
499
503
  try:
500
- result = [DeviceAppCloudPathProbes(self.form_response_body(response.get_body()))]
504
+ result = []
505
+ for item in response.get_results():
506
+ result.append(DeviceAppCloudPathProbes(item))
501
507
  except Exception as error:
502
508
  return (None, response, error)
503
509
 
@@ -554,7 +560,9 @@ class DevicesAPI(APIClient):
554
560
  return (None, response, error)
555
561
 
556
562
  try:
557
- result = [DeviceCloudPathProbesMetric(self.form_response_body(response.get_body()))]
563
+ result = []
564
+ for item in response.get_results():
565
+ result.append(DeviceCloudPathProbesMetric(item))
558
566
  except Exception as error:
559
567
  return (None, response, error)
560
568
 
@@ -613,7 +621,9 @@ class DevicesAPI(APIClient):
613
621
  return (None, response, error)
614
622
 
615
623
  try:
616
- result = [DeviceCloudPathProbesHopData(self.form_response_body(response.get_body()))]
624
+ result = []
625
+ for item in response.get_results():
626
+ result.append(DeviceCloudPathProbesHopData(item))
617
627
  except Exception as error:
618
628
  return (None, response, error)
619
629
 
@@ -666,7 +676,9 @@ class DevicesAPI(APIClient):
666
676
  return (None, response, error)
667
677
 
668
678
  try:
669
- result = [CallQualityMetrics(self.form_response_body(response.get_body()))]
679
+ result = []
680
+ for item in response.get_results():
681
+ result.append(CallQualityMetrics(item))
670
682
  except Exception as error:
671
683
  return (None, response, error)
672
684
 
@@ -721,7 +733,9 @@ class DevicesAPI(APIClient):
721
733
  return (None, response, error)
722
734
 
723
735
  try:
724
- result = [DeviceHealthMetrics(self.form_response_body(response.get_body()))]
736
+ result = []
737
+ for item in response.get_results():
738
+ result.append(DeviceHealthMetrics(item))
725
739
  except Exception as error:
726
740
  return (None, response, error)
727
741
 
@@ -776,7 +790,9 @@ class DevicesAPI(APIClient):
776
790
  return (None, response, error)
777
791
 
778
792
  try:
779
- result = [DeviceEvents(self.form_response_body(response.get_body()))]
793
+ result = []
794
+ for item in response.get_results():
795
+ result.append(DeviceEvents(item))
780
796
  except Exception as error:
781
797
  return (None, response, error)
782
798
 
@@ -834,7 +850,9 @@ class DevicesAPI(APIClient):
834
850
  return (None, response, error)
835
851
 
836
852
  try:
837
- result = [DeviceActiveGeo(self.form_response_body(response.get_body()))]
853
+ result = []
854
+ for item in response.get_results():
855
+ result.append(DeviceActiveGeo(item))
838
856
  except Exception as error:
839
857
  return (None, response, error)
840
858