zscaler-sdk-python 1.2.1__tar.gz → 1.2.2__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 (381) hide show
  1. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/PKG-INFO +1 -1
  2. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/pyproject.toml +1 -1
  3. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/__init__.py +1 -1
  4. zscaler_sdk_python-1.2.2/zscaler/helpers.py +264 -0
  5. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/oneapi_response.py +9 -135
  6. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/request_executor.py +10 -2
  7. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/utils.py +47 -1
  8. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/admin_user.py +11 -13
  9. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/company.py +15 -10
  10. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/devices.py +60 -44
  11. zscaler_sdk_python-1.2.2/zscaler/zcc/models/admin_user.py +145 -0
  12. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/devices.py +198 -0
  13. zscaler_sdk_python-1.2.2/zscaler/zcc/models/getcompanyinfo.py +1322 -0
  14. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/app_connector_groups.py +1 -1
  15. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/app_connectors.py +1 -1
  16. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/app_segment_by_type.py +1 -68
  17. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/app_segments_inspection.py +1 -2
  18. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/app_segments_pra.py +1 -2
  19. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/certificates.py +2 -2
  20. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/cloud_connector_groups.py +1 -1
  21. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/customer_version_profile.py +1 -1
  22. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/emergency_access.py +1 -1
  23. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/enrollment_certificates.py +1 -1
  24. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/idp.py +1 -1
  25. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/lss.py +1 -1
  26. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/machine_groups.py +1 -3
  27. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/microtenants.py +1 -1
  28. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/policies.py +1 -3
  29. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/posture_profiles.py +1 -1
  30. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/pra_approval.py +1 -1
  31. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/pra_console.py +1 -1
  32. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/pra_credential.py +1 -1
  33. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/pra_credential_pool.py +1 -1
  34. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/pra_portal.py +1 -1
  35. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/provisioning.py +1 -1
  36. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/saml_attributes.py +1 -1
  37. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/scim_attributes.py +1 -4
  38. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/scim_groups.py +1 -1
  39. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/segment_groups.py +1 -1
  40. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/server_groups.py +2 -2
  41. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/servers.py +1 -1
  42. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/service_edge_group.py +1 -1
  43. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/service_edges.py +1 -1
  44. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/trusted_networks.py +1 -1
  45. zscaler_sdk_python-1.2.1/zscaler/helpers.py +0 -160
  46. zscaler_sdk_python-1.2.1/zscaler/zcc/models/admin_user.py +0 -69
  47. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/LICENSE.md +0 -0
  48. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/README.md +0 -0
  49. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/api_client.py +0 -0
  50. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/cache/__init__.py +0 -0
  51. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/cache/cache.py +0 -0
  52. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/cache/no_op_cache.py +0 -0
  53. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/cache/zscaler_cache.py +0 -0
  54. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/config/__init__.py +0 -0
  55. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/config/config_setter.py +0 -0
  56. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/config/config_validator.py +0 -0
  57. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/constants.py +0 -0
  58. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/error_messages.py +0 -0
  59. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/errors/__init__.py +0 -0
  60. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/errors/error.py +0 -0
  61. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/errors/http_error.py +0 -0
  62. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/errors/zscaler_api_error.py +0 -0
  63. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/exceptions/__init__.py +0 -0
  64. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/exceptions/exceptions.py +0 -0
  65. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/logger.py +0 -0
  66. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/oneapi_client.py +0 -0
  67. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/oneapi_collection.py +0 -0
  68. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/oneapi_http_client.py +0 -0
  69. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/oneapi_oauth_client.py +0 -0
  70. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/oneapi_object.py +0 -0
  71. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ratelimiter/__init__.py +0 -0
  72. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ratelimiter/ratelimiter.py +0 -0
  73. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/user_agent.py +0 -0
  74. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/__init__.py +0 -0
  75. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/entitlements.py +0 -0
  76. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/fail_open_policy.py +0 -0
  77. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/forwarding_profile.py +0 -0
  78. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/legacy.py +0 -0
  79. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/manage_pass.py +0 -0
  80. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/admin_roles.py +0 -0
  81. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/failopenpolicy.py +0 -0
  82. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/forwardingprofile.py +0 -0
  83. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/manage_pass.py +0 -0
  84. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/secrets_otp.py +0 -0
  85. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/secrets_passwords.py +0 -0
  86. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/trustednetworks.py +0 -0
  87. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/webappservice.py +0 -0
  88. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/webpolicy.py +0 -0
  89. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/webprivacy.py +0 -0
  90. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  91. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  92. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/secrets.py +0 -0
  93. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/trusted_networks.py +0 -0
  94. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/web_app_service.py +0 -0
  95. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/web_policy.py +0 -0
  96. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/web_privacy.py +0 -0
  97. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zcc/zcc_service.py +0 -0
  98. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/__init__.py +0 -0
  99. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/admin.py +0 -0
  100. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/alerts.py +0 -0
  101. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/apps.py +0 -0
  102. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/devices.py +0 -0
  103. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/inventory.py +0 -0
  104. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/legacy.py +0 -0
  105. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/activeapplications.py +0 -0
  106. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/administration.py +0 -0
  107. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/alerts.py +0 -0
  108. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/application_users.py +0 -0
  109. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/applications.py +0 -0
  110. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  111. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/common.py +0 -0
  112. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/devices.py +0 -0
  113. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/software_inventory.py +0 -0
  114. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/troubleshooting.py +0 -0
  115. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/models/users.py +0 -0
  116. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/troubleshooting.py +0 -0
  117. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/users.py +0 -0
  118. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zdx/zdx_service.py +0 -0
  119. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/__init__.py +0 -0
  120. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/activate.py +0 -0
  121. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/admin_roles.py +0 -0
  122. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/admin_users.py +0 -0
  123. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/advanced_settings.py +0 -0
  124. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/alert_subscriptions.py +0 -0
  125. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/apptotal.py +0 -0
  126. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/atp_policy.py +0 -0
  127. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/audit_logs.py +0 -0
  128. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/authentication_settings.py +0 -0
  129. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/bandwidth_classes.py +0 -0
  130. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/bandwidth_control_rules.py +0 -0
  131. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_app_instances.py +0 -0
  132. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_applications.py +0 -0
  133. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_apps.py +0 -0
  134. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_browser_isolation.py +0 -0
  135. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_firewall.py +0 -0
  136. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_firewall_dns.py +0 -0
  137. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_firewall_ips.py +0 -0
  138. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_firewall_rules.py +0 -0
  139. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloud_nss.py +0 -0
  140. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/cloudappcontrol.py +0 -0
  141. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  142. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/device_management.py +0 -0
  143. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/dlp_dictionary.py +0 -0
  144. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/dlp_engine.py +0 -0
  145. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/dlp_resources.py +0 -0
  146. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/dlp_templates.py +0 -0
  147. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/dlp_web_rules.py +0 -0
  148. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/dns_gatways.py +0 -0
  149. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/end_user_notification.py +0 -0
  150. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/file_type_control_rule.py +0 -0
  151. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/forwarding_control.py +0 -0
  152. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/ftp_control_policy.py +0 -0
  153. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/gre_tunnel.py +0 -0
  154. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/intermediate_certificates.py +0 -0
  155. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/iot_report.py +0 -0
  156. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/ipv6_config.py +0 -0
  157. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/legacy.py +0 -0
  158. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/locations.py +0 -0
  159. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/malware_protection_policy.py +0 -0
  160. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/mobile_threat_settings.py +0 -0
  161. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/__init__.py +0 -0
  162. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/activation.py +0 -0
  163. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/admin_roles.py +0 -0
  164. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/admin_users.py +0 -0
  165. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/advanced_settings.py +0 -0
  166. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  167. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/alert_subscriptions.py +0 -0
  168. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/apptotal.py +0 -0
  169. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/authentication_settings.py +0 -0
  170. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/bandwidth_classes.py +0 -0
  171. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  172. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_app_instances.py +0 -0
  173. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_app_policy.py +0 -0
  174. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  175. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  176. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  177. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  178. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
  179. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  180. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  181. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  182. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  183. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  184. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  185. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  186. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloud_nss.py +0 -0
  187. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/cloudappcontrol.py +0 -0
  188. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/common.py +0 -0
  189. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  190. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/device_groups.py +0 -0
  191. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/devices.py +0 -0
  192. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/dlp_dictionary.py +0 -0
  193. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/dlp_engine.py +0 -0
  194. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/dlp_resources.py +0 -0
  195. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/dlp_templates.py +0 -0
  196. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/dlp_web_rules.py +0 -0
  197. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/dns_gatways.py +0 -0
  198. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/endusernotification.py +0 -0
  199. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/filetyperules.py +0 -0
  200. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  201. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/ftp_control_policy.py +0 -0
  202. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/gre_recommended_list.py +0 -0
  203. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  204. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/gre_tunnels.py +0 -0
  205. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/gre_vips.py +0 -0
  206. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/intermediate_certificates.py +0 -0
  207. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/iotreport.py +0 -0
  208. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/ipv6_config.py +0 -0
  209. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/location_group.py +0 -0
  210. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/location_management.py +0 -0
  211. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/malware_protection_settings.py +0 -0
  212. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  213. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/nat_control_policy.py +0 -0
  214. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/nss_servers.py +0 -0
  215. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/organization_information.py +0 -0
  216. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/pac_files.py +0 -0
  217. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/proxies.py +0 -0
  218. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/proxy_gatways.py +0 -0
  219. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/remoteassistance.py +0 -0
  220. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/risk_profiles.py +0 -0
  221. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/rule_labels.py +0 -0
  222. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/sandboxrules.py +0 -0
  223. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/security_policy_settings.py +0 -0
  224. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/shadow_it_report.py +0 -0
  225. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  226. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/subclouds.py +0 -0
  227. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/system_audit.py +0 -0
  228. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  229. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/time_intervals.py +0 -0
  230. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/traffic_datacenters.py +0 -0
  231. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  232. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/traffic_extranet.py +0 -0
  233. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/traffic_static_ip.py +0 -0
  234. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  235. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  236. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/url_filtering_rules.py +0 -0
  237. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/urlcategory.py +0 -0
  238. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/user_management.py +0 -0
  239. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/workload_groups.py +0 -0
  240. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/models/zpa_gateway.py +0 -0
  241. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/nat_control_policy.py +0 -0
  242. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/nss_servers.py +0 -0
  243. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/organization_information.py +0 -0
  244. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/pac_files.py +0 -0
  245. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/policy_export.py +0 -0
  246. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/proxies.py +0 -0
  247. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/remote_assistance.py +0 -0
  248. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/risk_profiles.py +0 -0
  249. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/rule_labels.py +0 -0
  250. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/sandbox.py +0 -0
  251. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/sandbox_rules.py +0 -0
  252. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/security_policy_settings.py +0 -0
  253. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/ssl_inspection_rules.py +0 -0
  254. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/sub_clouds.py +0 -0
  255. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/system_audit.py +0 -0
  256. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  257. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/time_intervals.py +0 -0
  258. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/traffic_datacenters.py +0 -0
  259. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/traffic_extranet.py +0 -0
  260. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/traffic_static_ip.py +0 -0
  261. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  262. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/url_categories.py +0 -0
  263. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/url_filtering.py +0 -0
  264. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/user_management.py +0 -0
  265. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/workload_groups.py +0 -0
  266. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/zia_service.py +0 -0
  267. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zia/zpa_gateway.py +0 -0
  268. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/__init__.py +0 -0
  269. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/administrator_controller.py +0 -0
  270. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/app_connector_schedule.py +0 -0
  271. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/app_protection.py +0 -0
  272. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/application_segment.py +0 -0
  273. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/cbi_banner.py +0 -0
  274. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/cbi_certificate.py +0 -0
  275. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/cbi_profile.py +0 -0
  276. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/cbi_region.py +0 -0
  277. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  278. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/client_settings.py +0 -0
  279. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/customer_controller.py +0 -0
  280. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/legacy.py +0 -0
  281. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/administrator_controller.py +0 -0
  282. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/app_connector_groups.py +0 -0
  283. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  284. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/app_connectors.py +0 -0
  285. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/app_protection.py +0 -0
  286. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  287. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/application_segment.py +0 -0
  288. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/application_segment_inspection.py +0 -0
  289. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/application_segment_pra.py +0 -0
  290. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/application_servers.py +0 -0
  291. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/cbi_banner.py +0 -0
  292. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/cbi_certificate.py +0 -0
  293. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/cbi_profile.py +0 -0
  294. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/cbi_region.py +0 -0
  295. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  296. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/certificates.py +0 -0
  297. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/client_settings.py +0 -0
  298. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  299. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/common.py +0 -0
  300. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/customer_controller.py +0 -0
  301. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/customer_version_profile.py +0 -0
  302. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/emergency_access.py +0 -0
  303. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  304. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/idp.py +0 -0
  305. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/lss.py +0 -0
  306. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/machine_groups.py +0 -0
  307. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/microtenants.py +0 -0
  308. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  309. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  310. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/posture_profiles.py +0 -0
  311. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/pra_approval.py +0 -0
  312. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/pra_console.py +0 -0
  313. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  314. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/pra_credential.py +0 -0
  315. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/pra_portal.py +0 -0
  316. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/provisioning_keys.py +0 -0
  317. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/role_controller.py +0 -0
  318. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/saml_attributes.py +0 -0
  319. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/scim_attributes.py +0 -0
  320. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/scim_groups.py +0 -0
  321. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/segment_group.py +0 -0
  322. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/server_group.py +0 -0
  323. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/service_edge_groups.py +0 -0
  324. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  325. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/service_edges.py +0 -0
  326. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/models/trusted_network.py +0 -0
  327. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/role_controller.py +0 -0
  328. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/service_edge_schedule.py +0 -0
  329. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zpa/zpa_service.py +0 -0
  330. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/__init__.py +0 -0
  331. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/account_details.py +0 -0
  332. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/activation.py +0 -0
  333. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/admin_roles.py +0 -0
  334. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/admin_users.py +0 -0
  335. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/api_keys.py +0 -0
  336. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/ec_groups.py +0 -0
  337. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/forwarding_gateways.py +0 -0
  338. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/forwarding_rules.py +0 -0
  339. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/ip_destination_groups.py +0 -0
  340. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/ip_groups.py +0 -0
  341. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/ip_source_groups.py +0 -0
  342. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/legacy.py +0 -0
  343. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/location_management.py +0 -0
  344. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/location_template.py +0 -0
  345. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/activation.py +0 -0
  346. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/admin_roles.py +0 -0
  347. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/admin_users.py +0 -0
  348. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/api_keys.py +0 -0
  349. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/common.py +0 -0
  350. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/ec_group_vm.py +0 -0
  351. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/ecgroup.py +0 -0
  352. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  353. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/forwarding_rules.py +0 -0
  354. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  355. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/ip_groups.py +0 -0
  356. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/ip_source_groups.py +0 -0
  357. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/location_management.py +0 -0
  358. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/location_templates.py +0 -0
  359. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/nw_service.py +0 -0
  360. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/nw_service_groups.py +0 -0
  361. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/provisioning_url.py +0 -0
  362. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  363. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/models/zpa_resources.py +0 -0
  364. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/nw_service.py +0 -0
  365. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/nw_service_groups.py +0 -0
  366. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/provisioning_url.py +0 -0
  367. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/ztw/ztw_service.py +0 -0
  368. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/__init__.py +0 -0
  369. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/audit_logs.py +0 -0
  370. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/dlp_incidents.py +0 -0
  371. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/legacy.py +0 -0
  372. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/audit_logs.py +0 -0
  373. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/change_history.py +0 -0
  374. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/common.py +0 -0
  375. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/generated_tickets.py +0 -0
  376. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/incident_details.py +0 -0
  377. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/incident_evidence.py +0 -0
  378. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/incident_group_search.py +0 -0
  379. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/incident_search.py +0 -0
  380. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/zscaler/zwa/models/incident_trigger.py +0 -0
  381. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.2}/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.2.1
3
+ Version: 1.2.2
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.2.1"
3
+ version = "1.2.2"
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.2.1"
32
+ __version__ = "1.2.2"
33
33
 
34
34
 
35
35
  from zscaler.oneapi_client import Client as ZscalerClient # noqa
@@ -0,0 +1,264 @@
1
+ """
2
+ Module contains different helper functions.
3
+ Module is independent from any zscaler modules.
4
+ """
5
+
6
+ import re
7
+
8
+
9
+ def to_snake_case(string):
10
+ """
11
+ Converts camelCase or PascalCase to snake_case.
12
+ Applies known field-specific corrections first.
13
+ """
14
+ FIELD_EXCEPTIONS = {
15
+ "predefinedADPControls": "predefined_adp_controls",
16
+ "surrogateIP": "surrogate_ip",
17
+ "surrogateIPEnforcedForKnownBrowsers": "surrogate_ip_enforced_for_known_browsers",
18
+ "capturePCAP": "capture_pcap",
19
+ "internalIpRange": "internal_ip_range",
20
+ "startIPAddress": "start_ip_address",
21
+ "endIPAddress": "end_ip_address",
22
+ "minTLSVersion": "min_tls_version",
23
+ "minClientTLSVersion": "min_client_tls_version",
24
+ "minServerTLSVersion": "min_server_tls_version",
25
+ "pacWithStaticIPs": "pac_with_static_ips",
26
+ "primaryGW": "primary_gw",
27
+ "secondaryGW": "secondary_gw",
28
+ "greTunnelIP": "gre_tunnel_ip",
29
+ "tunID": "tun_id",
30
+ "isIncompleteDRConfig": "is_incomplete_dr_config",
31
+ "nameL10nTag": "name_l10n_tag",
32
+ "isNameL10nTag": "is_name_l10n_tag",
33
+ "routableIP": "routable_ip",
34
+ "validSSLCertificate": "valid_ssl_certificate",
35
+ "ecVMs": "ec_vms",
36
+ "ipV6Enabled": "ipv6_enabled",
37
+ "emailIds": "email_ids",
38
+ "showEUN": "show_eun",
39
+ "showEUNATP": "show_eunatp",
40
+ "enableCIPACompliance": "enable_cipa_compliance",
41
+ "enablePOEPrompt": "enable_poe_prompt",
42
+ "cookieStealingPCAPEnabled": "cookie_stealing_pcap_enabled",
43
+ "alertForUnknownOrSuspiciousC2Traffic": "alert_for_unknown_or_suspicious_c2_traffic",
44
+ "enableIPv6DnsResolutionOnTransparentProxy": "enable_ipv6_dns_resolution_on_transparent_proxy",
45
+ "enableEvaluatePolicyOnGlobalSSLBypass": "enable_evaluate_policy_on_global_ssl_bypass",
46
+ "dnsResolutionOnTransparentProxyIPv6ExemptApps": "dns_resolution_on_transparent_proxy_ipv6_exempt_apps",
47
+ "dnsResolutionOnTransparentProxyIPv6UrlCategories": "dns_resolution_on_transparent_proxy_ipv6_url_categories",
48
+ "dnsResolutionOnTransparentProxyIPv6Apps": "dns_resolution_on_transparent_proxy_ipv6_apps",
49
+ "enableIPv6DnsOptimizationOnAllTransparentProxy": "enable_ipv6_dns_optimization_on_all_transparent_proxy",
50
+ "dnsResolutionOnTransparentProxyIPv6ExemptUrlCategories": "dns_resolution_on_transparent_proxy_ipv6_exempt_url_categories",
51
+ "endPointDLPLogType": "end_point_dlp_log_type",
52
+ "emailDLPLogType": "email_dlp_log_type",
53
+ "extranetDNSList": "extranet_dns_list",
54
+ "primaryDNSServer": "primary_dns_server",
55
+ "secondaryDNSServer": "secondary_dns_server",
56
+
57
+ # ZCC Edge Case Attributes
58
+ "enableUDPTransportSelection": "enable_udp_transport_selection",
59
+ "interceptZIATrafficAllAdapters": "intercept_zia_traffic_all_adapters",
60
+ "enablePortBasedZPAFilter": "enable_port_based_zpa_filter",
61
+ "addAppBypassToVPNGateway": "add_app_bypass_to_vpn_gateway",
62
+ "showVPNTunNotification": "show_vpn_tun_notification",
63
+ "enableSetProxyOnVPNAdapters": "enable_set_proxy_on_vpn_adapters",
64
+ "disableDNSRouteExclusion": "disable_dns_route_exclusion",
65
+ "enableReactUI": "enable_react_ui",
66
+ "ziaGlobalDbUrlForDR": "zia_global_db_url_for_dr",
67
+ "useDefaultAdapterForDNS": "use_default_adapter_for_dns",
68
+ "enablePublicAPI": "enable_public_api",
69
+ "launchReactUIbyDefault": "launch_react_u_iby_default",
70
+ "addZDXServiceEntitlement": "add_zdx_service_entitlement",
71
+ "computeDeviceGroupsForZIA": "compute_device_groups_for_zia",
72
+ "computeDeviceGroupsForZPA": "compute_device_groups_for_zpa",
73
+ "computeDeviceGroupsForZAD": "compute_device_groups_for_zad",
74
+ "computeDeviceGroupsForZAD": "compute_device_groups_for_zad",
75
+ "deleteDHCPOption121RoutesVisibility": "delete_dhcp_option121_routes_visibility",
76
+ "enableOneIDAdminMigrationChanges": "enable_one_id_admin_migration_changes",
77
+ "purgeKerberosPreferredDCCacheVisibility": "purge_kerberos_preferred_dc_cache_visibility",
78
+ "slowRolloutZCC": "slow_rollout_zcc",
79
+ "supportMultiplePWLPostures": "support_multiple_pwl_postures",
80
+ "truncateLargeUDPDNSResponseVisibility": "truncate_large_udpdns_response_visibility",
81
+ "enforceSplitDNSVisibility": "enforce_split_dns_visibility",
82
+ "zccSyntheticIPRangeVisibility": "zcc_synthetic_ip_range_visibility",
83
+ "enableSetProxyOnVPNAdaptersVisibility": "enable_set_proxy_on_vpn_adapters_visibility",
84
+ "customMTUForZpaVisibility": "custom_mtu_for_zpa_visibility",
85
+ "flowLoggerZCCBlockedTrafficVisibility": "flow_logger_zcc_blocked_traffic_visibility",
86
+ "postureCrowdStrikeZTAScoreVisibilityForLinux": "posture_crowd_strike_zta_score_visibility_for_linux",
87
+ "flowLoggerVPNTunnelTypeVisibility": "flow_logger_vpn_tunnel_type_visibility",
88
+ "flowLoggerVPNTypeVisibility": "flow_logger_vpn_type_visibility",
89
+ "flowLoggerZPATypeVisibility": "flow_logger_zpa_type_visibility",
90
+ "useDefaultAdapterForDNSVisibility": "use_default_adapter_for_dns_visibility",
91
+ "useCustomDNS": "use_custom_dns",
92
+ "notificationForZPAReauthVisibility": "notification_for_zpa_reauth_visibility",
93
+ "crowdStrikeZTAScoreVisibility": "crowd_strike_zta_score_visibility",
94
+ "hideDTLSSupportSettings": "hide_dtls_support_settings",
95
+ "dynamicZPAServiceEdgeAssignmenttVisibility": "dynamic_zpa_service_edge_assignmentt_visibility",
96
+ "domainInclusionExclusionForDNSRequestVisibility": "domain_inclusion_exclusion_for_dns_request_visibility",
97
+ "overrideATCmdByPolicyVisibility": "override_at_cmd_by_policy_visibility",
98
+ "windowsAPCaptivePortalDetectionVisibility": "windows_ap_captive_portal_detection_visibility",
99
+ "windowsAPEnableFailOpenVisibility": "windows_ap_enable_fail_open_visibility",
100
+ "enableOneIDPhase2Changes": "enable_one_id_phase2_changes",
101
+ "linuxRPMBuildVisibility": "linux_rpm_build_visibility",
102
+ "crowdStrikeZTAOsScoreVisibility": "crowd_strike_zta_os_score_visibility",
103
+ "crowdStrikeZTASensorConfigScoreVisibility": "crowd_strike_zta_sensor_config_score_visibility",
104
+ "enableZCCFailCloseSettingsForSEMode": "enable_zcc_fail_close_settings_for_se_mode",
105
+ "defaultProtocolForZPA": "default_protocol_for_zpa",
106
+ "tunnelTwoForiOSDevices": "tunnel_two_fori_os_devices",
107
+ "prioritizeIPv4OverIpv6": "prioritize_ipv4_over_ipv6",
108
+ }
109
+
110
+ if string in FIELD_EXCEPTIONS:
111
+ return FIELD_EXCEPTIONS[string]
112
+
113
+ # Generic fallback logic
114
+ string = re.sub(r"(?<!^)(?=[A-Z])", "_", string).lower()
115
+ return string.replace("__", "_").strip("_")
116
+
117
+
118
+ def to_lower_camel_case(string):
119
+ """
120
+ Converts snake_case to camelCase with support for known edge-case field mappings.
121
+
122
+ Examples:
123
+ "internal_ip_range" -> "internalIpRange"
124
+ "surrogate_ip" -> "surrogateIP"
125
+ "capture_pcap" -> "capturePCAP"
126
+ """
127
+
128
+ FIELD_EXCEPTIONS = {
129
+ "predefined_adp_controls": "predefinedADPControls",
130
+ "surrogate_ip": "surrogateIP",
131
+ "internal_ip_range": "internalIpRange",
132
+ "start_ip_address": "startIPAddress",
133
+ "end_ip_address": "endIPAddress",
134
+ "capture_pcap": "capturePCAP",
135
+ "min_tls_version": "minTLSVersion",
136
+ "min_client_tls_version": "minClientTLSVersion",
137
+ "min_server_tls_version": "minServerTLSVersion",
138
+ "pac_with_static_ips": "pacWithStaticIPs",
139
+ "primary_gw": "primaryGW",
140
+ "secondary_gw": "secondaryGW",
141
+ "greTunnel_ip": "greTunnelIP",
142
+ "tun_id": "tunID",
143
+ "is_incomplete_dr_config": "isIncompleteDRConfig",
144
+ "name_l10n_tag": "nameL10nTag",
145
+ "is_name_l10n_tag": "isNameL10nTag",
146
+ "routable_ip": "routableIP",
147
+ "valid_ssl_certificate": "validSSLCertificate",
148
+ "ec_vms": "ecVMs",
149
+ "ipv6_enabled": "ipV6Enabled",
150
+ "email_ids": "emailIds",
151
+ "show_eun": "showEUN",
152
+ "show_eunatp": "showEUNATP",
153
+ "enable_cipa_compliance": "enableCIPACompliance",
154
+ "enable_poe_prompt": "enablePOEPrompt",
155
+ "cookie_stealing_pcap_enabled": "cookieStealingPCAPEnabled",
156
+ "alert_for_unknown_or_suspicious_c2_traffic": "alertForUnknownOrSuspiciousC2Traffic",
157
+ "enable_ipv6_dns_resolution_on_transparent_proxy": "enableIPv6DnsResolutionOnTransparentProxy",
158
+ "enable_evaluate_policy_on_global_ssl_bypass": "enableEvaluatePolicyOnGlobalSSLBypass",
159
+ "dns_resolution_on_transparent_proxy_ipv6_exempt_apps": "dnsResolutionOnTransparentProxyIPv6ExemptApps",
160
+ "dns_resolution_on_transparent_proxy_ipv6_url_categories": "dnsResolutionOnTransparentProxyIPv6UrlCategories",
161
+ "dns_resolution_on_transparent_proxy_ipv6_apps": "dnsResolutionOnTransparentProxyIPv6Apps",
162
+ "enable_ipv6_dns_optimization_on_all_transparent_proxy": "enableIPv6DnsOptimizationOnAllTransparentProxy",
163
+ "dns_resolution_on_transparent_proxy_ipv6_exempt_url_categories": "dnsResolutionOnTransparentProxyIPv6ExemptUrlCategories",
164
+ "end_point_dlp_log_type": "endPointDLPLogType",
165
+ "email_dlp_log_type": "emailDLPLogType",
166
+ "extranet_dns_list": "extranetDNSList",
167
+ "primary_dns_server": "primaryDNSServer",
168
+ "secondary_dns_server": "secondaryDNSServer",
169
+
170
+ # ZCC Edge Case Attributes
171
+ "enable_udp_transport_selection": "enableUDPTransportSelection",
172
+ "intercept_zia_traffic_all_adapters": "interceptZIATrafficAllAdapters",
173
+ "enable_port_based_zpa_filter": "enablePortBasedZPAFilter",
174
+ "add_app_bypass_to_vpn_gateway": "addAppBypassToVPNGateway",
175
+ "show_vpn_tun_notification": "showVPNTunNotification",
176
+ "enable_set_proxy_on_vpn_adapters": "enableSetProxyOnVPNAdapters",
177
+ "disable_dns_route_exclusion": "disableDNSRouteExclusion",
178
+ "enable_react_ui": "enableReactUI",
179
+ "zia_global_db_url_for_dr": "ziaGlobalDbUrlForDR",
180
+ "use_default_adapter_for_dns": "useDefaultAdapterForDNS",
181
+ "enable_public_api": "enablePublicAPI",
182
+ "launch_react_u_iby_default": "launchReactUIbyDefault",
183
+ "add_zdx_service_entitlement": "addZDXServiceEntitlement",
184
+ "compute_device_groups_for_zia": "computeDeviceGroupsForZIA",
185
+ "compute_device_groups_for_zpa": "computeDeviceGroupsForZPA",
186
+ "compute_device_groups_for_zad": "computeDeviceGroupsForZAD",
187
+ "delete_dhcp_option121_routes_visibility": "deleteDHCPOption121RoutesVisibility",
188
+ "enable_one_id_admin_migration_changes": "enableOneIDAdminMigrationChanges",
189
+ "purge_kerberos_preferred_dc_cache_visibility": "purgeKerberosPreferredDCCacheVisibility",
190
+ "slow_rollout_zcc": "slowRolloutZCC",
191
+ "support_multiple_pwl_postures": "supportMultiplePWLPostures",
192
+ "truncate_large_udpdns_response_visibility": "truncateLargeUDPDNSResponseVisibility",
193
+ "enforce_split_dns_visibility": "enforceSplitDNSVisibility",
194
+ "zcc_synthetic_ip_range_visibility": "zccSyntheticIPRangeVisibility",
195
+ "enable_set_proxy_on_vpn_adapters_visibility": "enableSetProxyOnVPNAdaptersVisibility",
196
+ "custom_mtu_for_zpa_visibility": "customMTUForZpaVisibility",
197
+ "flow_logger_zcc_blocked_traffic_visibility": "flowLoggerZCCBlockedTrafficVisibility",
198
+ "posture_crowd_strike_zta_score_visibility_for_linux": "postureCrowdStrikeZTAScoreVisibilityForLinux",
199
+ "flow_logger_vpn_tunnel_type_visibility": "flowLoggerVPNTunnelTypeVisibility",
200
+ "flow_logger_vpn_type_visibility": "flowLoggerVPNTypeVisibility",
201
+ "flow_logger_zpa_type_visibility": "flowLoggerZPATypeVisibility",
202
+ "use_default_adapter_for_dns_visibility": "useDefaultAdapterForDNSVisibility",
203
+ "use_custom_dns": "useCustomDNS",
204
+ "notification_for_zpa_reauth_visibility": "notificationForZPAReauthVisibility",
205
+ "crowd_strike_zta_score_visibility": "crowdStrikeZTAScoreVisibility",
206
+ "hide_dtls_support_settings": "hideDTLSSupportSettings",
207
+ "dynamic_zpa_service_edge_assignmentt_visibility": "dynamicZPAServiceEdgeAssignmenttVisibility",
208
+ "domain_inclusion_exclusion_for_dns_request_visibility": "domainInclusionExclusionForDNSRequestVisibility",
209
+ "override_at_cmd_by_policy_visibility": "overrideATCmdByPolicyVisibility",
210
+ "windows_ap_captive_portal_detection_visibility": "windowsAPCaptivePortalDetectionVisibility",
211
+ "windows_ap_enable_fail_open_visibility": "windowsAPEnableFailOpenVisibility",
212
+ "enable_one_id_phase2_changes": "enableOneIDPhase2Changes",
213
+ "linux_rpm_build_visibility": "linuxRPMBuildVisibility",
214
+ "crowd_strike_zta_os_score_visibility": "crowdStrikeZTAOsScoreVisibility",
215
+ "crowd_strike_zta_sensor_config_score_visibility": "crowdStrikeZTASensorConfigScoreVisibility",
216
+ "enable_zcc_fail_close_settings_for_se_mode": "enableZCCFailCloseSettingsForSEMode",
217
+ "default_protocol_for_zpa": "defaultProtocolForZPA",
218
+ "tunnelTwoForiOSDevices": "tunnel_two_fori_os_devices",
219
+ "prioritize_ipv4_over_ipv6": "prioritizeIPv4OverIpv6",
220
+
221
+ }
222
+
223
+ if string in FIELD_EXCEPTIONS:
224
+ return FIELD_EXCEPTIONS[string]
225
+
226
+ if not string or "_" not in string:
227
+ return string
228
+
229
+ components = string.split("_")
230
+ converted = []
231
+
232
+ for i, comp in enumerate(components):
233
+ lower = comp.lower()
234
+ if i == 0:
235
+ converted.append(lower)
236
+ else:
237
+ converted.append(comp.capitalize())
238
+
239
+ return "".join(converted)
240
+
241
+
242
+ def convert_keys_to_snake_case(data):
243
+ """
244
+ Convert all keys in a dictionary or list to snake_case.
245
+ """
246
+ if isinstance(data, dict):
247
+ return {to_snake_case(k): convert_keys_to_snake_case(v) for k, v in data.items()}
248
+ elif isinstance(data, list):
249
+ return [convert_keys_to_snake_case(item) for item in data]
250
+ else:
251
+ return data
252
+
253
+
254
+ def convert_keys_to_camel_case(data):
255
+ """
256
+ Recursively convert all keys in a dictionary or list to camelCase.
257
+ Handles nested lists and dictionaries.
258
+ """
259
+ if isinstance(data, dict):
260
+ return {to_lower_camel_case(k): convert_keys_to_camel_case(v) for k, v in data.items()}
261
+ elif isinstance(data, list):
262
+ return [convert_keys_to_camel_case(item) for item in data]
263
+ else:
264
+ return data
@@ -78,19 +78,7 @@ class ZscalerAPIResponse:
78
78
 
79
79
  if res_details:
80
80
  content_type = res_details.headers.get("Content-Type", "").lower()
81
- # if "application/json" in content_type:
82
- # self._build_json_response(response_body)
83
- # else:
84
- # # Attempt JSON parse, else store as text
85
- # try:
86
- # self._build_json_response(response_body)
87
- # except json.JSONDecodeError:
88
- # self._body = response_body
89
- # else:
90
- # try:
91
- # self._build_json_response(response_body)
92
- # except json.JSONDecodeError:
93
- # self._body = response_body
81
+
94
82
  if "application/json" in content_type:
95
83
  try:
96
84
  self._build_json_response(response_body)
@@ -178,46 +166,6 @@ class ZscalerAPIResponse:
178
166
 
179
167
  self._items_fetched += len(self._list)
180
168
  self._pages_fetched += 1
181
-
182
- # def _build_json_response(self, response_body):
183
- # """
184
- # Converts JSON response text into Python dictionary.
185
- # Ensures consistent model conversion for all pages.
186
- # """
187
- # self._body = json.loads(response_body)
188
-
189
- # # Extract the list based on service type
190
- # if isinstance(self._body, list):
191
- # self._list = self._body
192
- # elif self._service_type == "ZDX":
193
- # self._list = self._body.get("items", [])
194
- # self._next_offset = self._body.get("next_offset")
195
- # else:
196
- # self._list = self._body.get("list", [])
197
- # if self._service_type == "ZPA":
198
- # self._total_pages = int(self._body.get("totalPages", 1))
199
- # self._total_count = int(self._body.get("totalCount", 0))
200
-
201
- # # Clean and convert items
202
- # cleaned_list = []
203
- # for item in self._list:
204
- # if not isinstance(item, dict):
205
- # logger.warning("Non-dict item found in response list, skipping: %s", item)
206
- # continue
207
-
208
- # # Convert to model if type is specified
209
- # if self._type:
210
- # try:
211
- # cleaned_list.append(self._type(**item))
212
- # except Exception as e:
213
- # logger.error("Failed to convert item to model: %s", e)
214
- # cleaned_list.append(item)
215
- # else:
216
- # cleaned_list.append(item)
217
-
218
- # self._list = cleaned_list
219
- # self._items_fetched += len(self._list)
220
- # self._pages_fetched += 1
221
169
 
222
170
  def get_results(self):
223
171
  """
@@ -225,6 +173,14 @@ class ZscalerAPIResponse:
225
173
  The initial call to the API returns only one page.
226
174
  """
227
175
  logger.debug("Fetching current page results")
176
+
177
+ if self._service_type.upper() == "ZCC" and self._type:
178
+ try:
179
+ return [self._type(item) for item in self._list if isinstance(item, dict)]
180
+ except Exception as wrap_error:
181
+ logger.warning(f"Failed to wrap results with {self._type}: {wrap_error}")
182
+ return self._list
183
+
228
184
  return self._list
229
185
 
230
186
  def has_next(self):
@@ -236,48 +192,6 @@ class ZscalerAPIResponse:
236
192
  """
237
193
  return self._has_next()
238
194
 
239
- # def next(self):
240
- # """
241
- # Fetch the next page of results if available.
242
-
243
- # Returns:
244
- # tuple: (list of items, error)
245
-
246
- # If there's an error fetching the next page, returns (None, error).
247
- # If no more pages exist, returns (None, None).
248
- # """
249
- # if not self.has_next():
250
- # logger.debug("No further pages to retrieve.")
251
- # return (None, None)
252
-
253
- # next_page_results = self._fetch_next_page()
254
- # if next_page_results is None:
255
- # # An error occurred, already logged
256
- # return (None, ValueError("Error fetching next page."))
257
- # if not next_page_results:
258
- # # Empty result means no more data
259
- # return (None, None)
260
- # return (next_page_results, None)
261
-
262
- ### Latest working function
263
- # def next(self):
264
- # if not self.has_next():
265
- # raise StopIteration("No more pages available.")
266
-
267
- # results, error = self._fetch_next_page()
268
- # if error:
269
- # return None, error
270
- # if not results:
271
- # return None, None
272
-
273
- # if self._type:
274
- # try:
275
- # results = [self._type(item) for item in results if isinstance(item, dict)]
276
- # except Exception as wrap_error:
277
- # logger.warning(f"Failed to wrap pagination results with {self._type}: {wrap_error}")
278
-
279
- # return results, None
280
-
281
195
  def next(self):
282
196
  if not self.has_next():
283
197
  raise StopIteration("No more pages available.")
@@ -297,39 +211,6 @@ class ZscalerAPIResponse:
297
211
  return results, self, None
298
212
 
299
213
 
300
- # def _fetch_next_page(self):
301
- # """
302
- # Internal method that fetches and returns the next page of results.
303
- # """
304
- # if not self._has_next():
305
- # logger.debug("No more pages to fetch")
306
- # return []
307
-
308
- # if self._service_type == "ZDX":
309
- # self._params["offset"] = self._next_offset
310
- # else:
311
- # self._page += 1
312
- # self._params["page"] = self._page
313
-
314
- # logger.debug(f"Requesting next page with params: {self._params}")
315
-
316
- # req = {
317
- # "method": "GET",
318
- # "url": self._url,
319
- # "headers": self._headers,
320
- # "params": self._params,
321
- # "uuid": uuid.uuid4(),
322
- # }
323
- # _, _, response_body, error = self._request_executor.fire_request(req)
324
-
325
- # if error:
326
- # logger.error(f"Error fetching the next page: {error}")
327
- # return None
328
-
329
- # # Rebuild the response body for the next page
330
- # self._build_json_response(response_body)
331
- # return self._list
332
-
333
214
  def _fetch_next_page(self):
334
215
  if not self._has_next():
335
216
  logger.debug("No more pages to fetch")
@@ -360,13 +241,6 @@ class ZscalerAPIResponse:
360
241
  return self._list, None
361
242
 
362
243
  def _has_next(self):
363
- # Check max_items or max_pages constraints
364
- # if self._max_items is not None and self._items_fetched >= self._max_items:
365
- # logger.debug("Reached max items limit: %d", self._max_items)
366
- # return False
367
- # if self._max_pages is not None and self._pages_fetched >= self._max_pages:
368
- # logger.debug("Reached max pages limit: %d", self._max_pages)
369
- # return False
370
244
 
371
245
  if self._service_type == "ZPA":
372
246
  # More pages if current page < total_pages
@@ -14,8 +14,9 @@ from zscaler.zdx.legacy import LegacyZDXClientHelper
14
14
  from zscaler.zpa.legacy import LegacyZPAClientHelper
15
15
  from zscaler.zia.legacy import LegacyZIAClientHelper
16
16
  from zscaler.zwa.legacy import LegacyZWAClientHelper
17
+ # from zscaler.logger import setup_logging # ✅ Import here
17
18
 
18
- logger = logging.getLogger(__name__)
19
+ logger = logging.getLogger('zscaler-sdk-python')
19
20
 
20
21
 
21
22
  class RequestExecutor:
@@ -75,6 +76,13 @@ class RequestExecutor:
75
76
  self._config = config
76
77
  self._cache = cache
77
78
 
79
+ # ✅ Setup logging based on config flags
80
+ # log_config = self._config["client"].get("logging", {})
81
+ # setup_logging(
82
+ # enabled=log_config.get("enabled", False),
83
+ # verbose=log_config.get("verbose", False),
84
+ # )
85
+
78
86
  # Retrieve cloud, service, and customer ID (optional)
79
87
  self.cloud = self._config["client"].get("cloud", "production").lower()
80
88
  self.sandbox_cloud = self._config["client"].get("sandboxCloud", "").lower()
@@ -462,7 +470,7 @@ class RequestExecutor:
462
470
  req_timeout = self._request_timeout
463
471
 
464
472
  if req_timeout > 0 and (current_req_start_time - request_start_time) > req_timeout:
465
- logger.error("Request Timeout exceeded.")
473
+ logger.warning("Request Timeout exceeded.")
466
474
  return None, None, None, Exception("Request Timeout exceeded.")
467
475
 
468
476
  response, error = self._http_client.send_request(request)
@@ -26,7 +26,7 @@ import time
26
26
  from typing import Dict, Optional
27
27
  from urllib.parse import urlencode
28
28
  from datetime import datetime as dt
29
-
29
+ from functools import wraps
30
30
  import pytz
31
31
  from box import Box, BoxList
32
32
  from dateutil import parser
@@ -783,6 +783,52 @@ def format_url(base_string):
783
783
  """
784
784
  return "".join([line.strip() for line in base_string.splitlines()])
785
785
 
786
+ def zcc_param_mapper(func):
787
+ @wraps(func)
788
+ def wrapper(self, *args, **kwargs):
789
+ query_params = kwargs.get("query_params", {}) or {}
790
+ mapped_params = {}
791
+
792
+ # Normalize and map os_types
793
+ if "os_types" in query_params:
794
+ os_raw = query_params["os_types"]
795
+ if isinstance(os_raw, str):
796
+ os_raw = [os_raw] # ✅ support single string value
797
+
798
+ mapped = [
799
+ str(zcc_param_map["os"].get(os_type.lower()))
800
+ for os_type in os_raw
801
+ if zcc_param_map["os"].get(os_type.lower())
802
+ ]
803
+ if not mapped:
804
+ raise ValueError("Invalid `os_types` provided.")
805
+ mapped_params["osTypes"] = ",".join(mapped)
806
+
807
+ # Normalize and map registration_types
808
+ if "registration_types" in query_params:
809
+ reg_raw = query_params["registration_types"]
810
+ if isinstance(reg_raw, str):
811
+ reg_raw = [reg_raw]
812
+
813
+ mapped = [
814
+ str(zcc_param_map["reg_type"].get(rt.lower()))
815
+ for rt in reg_raw
816
+ if zcc_param_map["reg_type"].get(rt.lower())
817
+ ]
818
+ if not mapped:
819
+ raise ValueError("Invalid `registration_types` provided.")
820
+ mapped_params["registrationTypes"] = ",".join(mapped)
821
+
822
+ # Drop user-friendly keys
823
+ query_params.pop("os_types", None)
824
+ query_params.pop("registration_types", None)
825
+
826
+ # Merge in mapped numeric params
827
+ query_params.update(mapped_params)
828
+ kwargs["query_params"] = query_params
829
+
830
+ return func(self, *args, **kwargs)
831
+ return wrapper
786
832
 
787
833
  # Maps ZCC numeric os_type and registration_type arguments to a human-readable string
788
834
  zcc_param_map = {
@@ -17,7 +17,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
17
  from zscaler.api_client import APIClient
18
18
  from zscaler.request_executor import RequestExecutor
19
19
  from zscaler.utils import format_url
20
- from zscaler.zcc.models.admin_user import AdminUser
20
+ from zscaler.zcc.models.admin_user import AdminUser, AdminUserSyncInfo
21
21
  from zscaler.zcc.models.admin_roles import AdminRoles
22
22
 
23
23
 
@@ -92,9 +92,11 @@ class AdminUserAPI(APIClient):
92
92
  Examples:
93
93
  Prints all admins in the Client Connector Portal to the console:
94
94
 
95
- >>> for admin in zcc.admin_user.list_admin_users():
96
- ... print(admin)
97
-
95
+ >>> sync_info, _, error = client.zcc.admin_user.get_admin_user_sync_info()
96
+ >>> if error:
97
+ ... print(f"Error: {error}")
98
+ ... return
99
+ ... print(sync_info.as_dict())
98
100
  """
99
101
  http_method = "get".upper()
100
102
  api_url = format_url(
@@ -108,20 +110,19 @@ class AdminUserAPI(APIClient):
108
110
  headers = {}
109
111
 
110
112
  request, error = self._request_executor.create_request(http_method, api_url, body, headers)
111
-
112
113
  if error:
113
- return None
114
+ return None, None, error
114
115
 
115
116
  response, error = self._request_executor.execute(request)
116
117
  if error:
117
- return None
118
+ return None, response, error
118
119
 
119
120
  try:
120
- result = self.form_response_body(response.get_body())
121
+ result = AdminUserSyncInfo(self.form_response_body(response.get_body()))
121
122
  except Exception as error:
122
- return None
123
+ return None, response, error
123
124
 
124
- return result
125
+ return result, response, None
125
126
 
126
127
  def list_admin_roles(self, query_params=None) -> tuple:
127
128
  """
@@ -152,7 +153,6 @@ class AdminUserAPI(APIClient):
152
153
 
153
154
  query_params = query_params or {}
154
155
 
155
- # Prepare request body and headers
156
156
  body = {}
157
157
  headers = {}
158
158
 
@@ -198,7 +198,6 @@ class AdminUserAPI(APIClient):
198
198
  """
199
199
  )
200
200
 
201
- # Prepare request body and headers
202
201
  body = {}
203
202
  headers = {}
204
203
 
@@ -244,7 +243,6 @@ class AdminUserAPI(APIClient):
244
243
  """
245
244
  )
246
245
 
247
- # Prepare request body and headers
248
246
  body = {}
249
247
  headers = {}
250
248