zscaler-sdk-python 1.2.1__tar.gz → 1.2.3__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 (383) hide show
  1. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/PKG-INFO +1 -1
  2. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/pyproject.toml +1 -1
  3. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/__init__.py +1 -1
  4. zscaler_sdk_python-1.2.3/zscaler/helpers.py +289 -0
  5. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/oneapi_response.py +9 -135
  6. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/request_executor.py +10 -2
  7. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/utils.py +62 -1
  8. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/admin_user.py +18 -16
  9. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/company.py +17 -11
  10. zscaler_sdk_python-1.2.3/zscaler/zcc/devices.py +623 -0
  11. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/fail_open_policy.py +29 -8
  12. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/forwarding_profile.py +31 -9
  13. zscaler_sdk_python-1.2.3/zscaler/zcc/models/admin_user.py +145 -0
  14. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/devices.py +206 -0
  15. zscaler_sdk_python-1.2.3/zscaler/zcc/models/getcompanyinfo.py +1338 -0
  16. zscaler_sdk_python-1.2.3/zscaler/zcc/models/webpolicy.py +678 -0
  17. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/secrets.py +54 -32
  18. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/trusted_networks.py +57 -6
  19. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/web_app_service.py +0 -2
  20. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/web_policy.py +41 -24
  21. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/web_privacy.py +22 -3
  22. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/zcc_service.py +0 -9
  23. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/legacy.py +10 -0
  24. zscaler_sdk_python-1.2.1/zscaler/zia/cloud_apps.py → zscaler_sdk_python-1.2.3/zscaler/zia/shadow_it_report.py +28 -21
  25. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/zia_service.py +9 -0
  26. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/app_connector_groups.py +1 -1
  27. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/app_connectors.py +1 -1
  28. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/app_segment_by_type.py +1 -68
  29. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/app_segments_inspection.py +1 -2
  30. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/app_segments_pra.py +1 -2
  31. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/certificates.py +2 -2
  32. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/cloud_connector_groups.py +1 -1
  33. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/customer_version_profile.py +1 -1
  34. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/emergency_access.py +1 -1
  35. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/enrollment_certificates.py +1 -1
  36. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/idp.py +1 -1
  37. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/lss.py +1 -1
  38. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/machine_groups.py +1 -3
  39. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/microtenants.py +1 -1
  40. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/policies.py +1 -3
  41. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/posture_profiles.py +1 -1
  42. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/pra_approval.py +1 -1
  43. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/pra_console.py +1 -1
  44. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/pra_credential.py +1 -1
  45. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/pra_credential_pool.py +1 -1
  46. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/pra_portal.py +1 -1
  47. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/provisioning.py +1 -1
  48. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/saml_attributes.py +1 -1
  49. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/scim_attributes.py +1 -4
  50. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/scim_groups.py +1 -1
  51. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/segment_groups.py +1 -1
  52. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/server_groups.py +2 -2
  53. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/servers.py +1 -1
  54. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/service_edge_group.py +1 -1
  55. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/service_edges.py +1 -1
  56. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/trusted_networks.py +1 -1
  57. zscaler_sdk_python-1.2.1/zscaler/helpers.py +0 -160
  58. zscaler_sdk_python-1.2.1/zscaler/zcc/devices.py +0 -479
  59. zscaler_sdk_python-1.2.1/zscaler/zcc/manage_pass.py +0 -65
  60. zscaler_sdk_python-1.2.1/zscaler/zcc/models/admin_user.py +0 -69
  61. zscaler_sdk_python-1.2.1/zscaler/zcc/models/webpolicy.py +0 -176
  62. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/LICENSE.md +0 -0
  63. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/README.md +0 -0
  64. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/api_client.py +0 -0
  65. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/cache/__init__.py +0 -0
  66. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/cache/cache.py +0 -0
  67. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/cache/no_op_cache.py +0 -0
  68. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/cache/zscaler_cache.py +0 -0
  69. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/config/__init__.py +0 -0
  70. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/config/config_setter.py +0 -0
  71. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/config/config_validator.py +0 -0
  72. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/constants.py +0 -0
  73. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/error_messages.py +0 -0
  74. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/errors/__init__.py +0 -0
  75. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/errors/error.py +0 -0
  76. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/errors/http_error.py +0 -0
  77. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/errors/zscaler_api_error.py +0 -0
  78. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/exceptions/__init__.py +0 -0
  79. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/exceptions/exceptions.py +0 -0
  80. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/logger.py +0 -0
  81. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/oneapi_client.py +0 -0
  82. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/oneapi_collection.py +0 -0
  83. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/oneapi_http_client.py +0 -0
  84. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/oneapi_oauth_client.py +0 -0
  85. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/oneapi_object.py +0 -0
  86. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ratelimiter/__init__.py +0 -0
  87. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ratelimiter/ratelimiter.py +0 -0
  88. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/user_agent.py +0 -0
  89. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/__init__.py +0 -0
  90. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/entitlements.py +0 -0
  91. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/legacy.py +0 -0
  92. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/admin_roles.py +0 -0
  93. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/failopenpolicy.py +0 -0
  94. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/forwardingprofile.py +0 -0
  95. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/manage_pass.py +0 -0
  96. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/secrets_otp.py +0 -0
  97. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/secrets_passwords.py +0 -0
  98. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/trustednetworks.py +0 -0
  99. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/webappservice.py +0 -0
  100. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/webprivacy.py +0 -0
  101. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  102. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  103. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/__init__.py +0 -0
  104. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/admin.py +0 -0
  105. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/alerts.py +0 -0
  106. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/apps.py +0 -0
  107. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/devices.py +0 -0
  108. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/inventory.py +0 -0
  109. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/legacy.py +0 -0
  110. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/activeapplications.py +0 -0
  111. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/administration.py +0 -0
  112. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/alerts.py +0 -0
  113. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/application_users.py +0 -0
  114. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/applications.py +0 -0
  115. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  116. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/common.py +0 -0
  117. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/devices.py +0 -0
  118. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/software_inventory.py +0 -0
  119. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/troubleshooting.py +0 -0
  120. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/models/users.py +0 -0
  121. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/troubleshooting.py +0 -0
  122. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/users.py +0 -0
  123. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zdx/zdx_service.py +0 -0
  124. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/__init__.py +0 -0
  125. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/activate.py +0 -0
  126. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/admin_roles.py +0 -0
  127. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/admin_users.py +0 -0
  128. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/advanced_settings.py +0 -0
  129. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/alert_subscriptions.py +0 -0
  130. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/apptotal.py +0 -0
  131. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/atp_policy.py +0 -0
  132. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/audit_logs.py +0 -0
  133. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/authentication_settings.py +0 -0
  134. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/bandwidth_classes.py +0 -0
  135. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/bandwidth_control_rules.py +0 -0
  136. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_app_instances.py +0 -0
  137. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_applications.py +0 -0
  138. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_browser_isolation.py +0 -0
  139. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_firewall.py +0 -0
  140. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_firewall_dns.py +0 -0
  141. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_firewall_ips.py +0 -0
  142. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_firewall_rules.py +0 -0
  143. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloud_nss.py +0 -0
  144. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/cloudappcontrol.py +0 -0
  145. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  146. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/device_management.py +0 -0
  147. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/dlp_dictionary.py +0 -0
  148. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/dlp_engine.py +0 -0
  149. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/dlp_resources.py +0 -0
  150. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/dlp_templates.py +0 -0
  151. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/dlp_web_rules.py +0 -0
  152. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/dns_gatways.py +0 -0
  153. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/end_user_notification.py +0 -0
  154. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/file_type_control_rule.py +0 -0
  155. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/forwarding_control.py +0 -0
  156. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/ftp_control_policy.py +0 -0
  157. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/gre_tunnel.py +0 -0
  158. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/intermediate_certificates.py +0 -0
  159. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/iot_report.py +0 -0
  160. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/ipv6_config.py +0 -0
  161. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/locations.py +0 -0
  162. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/malware_protection_policy.py +0 -0
  163. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/mobile_threat_settings.py +0 -0
  164. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/__init__.py +0 -0
  165. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/activation.py +0 -0
  166. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/admin_roles.py +0 -0
  167. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/admin_users.py +0 -0
  168. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/advanced_settings.py +0 -0
  169. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  170. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/alert_subscriptions.py +0 -0
  171. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/apptotal.py +0 -0
  172. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/authentication_settings.py +0 -0
  173. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/bandwidth_classes.py +0 -0
  174. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  175. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_app_instances.py +0 -0
  176. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_app_policy.py +0 -0
  177. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  178. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  179. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  180. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  181. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
  182. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  183. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  184. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  185. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  186. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  187. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  188. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  189. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloud_nss.py +0 -0
  190. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/cloudappcontrol.py +0 -0
  191. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/common.py +0 -0
  192. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  193. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/device_groups.py +0 -0
  194. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/devices.py +0 -0
  195. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/dlp_dictionary.py +0 -0
  196. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/dlp_engine.py +0 -0
  197. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/dlp_resources.py +0 -0
  198. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/dlp_templates.py +0 -0
  199. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/dlp_web_rules.py +0 -0
  200. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/dns_gatways.py +0 -0
  201. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/endusernotification.py +0 -0
  202. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/filetyperules.py +0 -0
  203. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  204. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/ftp_control_policy.py +0 -0
  205. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/gre_recommended_list.py +0 -0
  206. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  207. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/gre_tunnels.py +0 -0
  208. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/gre_vips.py +0 -0
  209. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/intermediate_certificates.py +0 -0
  210. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/iotreport.py +0 -0
  211. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/ipv6_config.py +0 -0
  212. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/location_group.py +0 -0
  213. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/location_management.py +0 -0
  214. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/malware_protection_settings.py +0 -0
  215. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  216. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/nat_control_policy.py +0 -0
  217. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/nss_servers.py +0 -0
  218. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/organization_information.py +0 -0
  219. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/pac_files.py +0 -0
  220. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/proxies.py +0 -0
  221. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/proxy_gatways.py +0 -0
  222. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/remoteassistance.py +0 -0
  223. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/risk_profiles.py +0 -0
  224. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/rule_labels.py +0 -0
  225. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/sandboxrules.py +0 -0
  226. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/security_policy_settings.py +0 -0
  227. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/shadow_it_report.py +0 -0
  228. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  229. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/subclouds.py +0 -0
  230. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/system_audit.py +0 -0
  231. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  232. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/time_intervals.py +0 -0
  233. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/traffic_datacenters.py +0 -0
  234. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  235. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/traffic_extranet.py +0 -0
  236. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/traffic_static_ip.py +0 -0
  237. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  238. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  239. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/url_filtering_rules.py +0 -0
  240. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/urlcategory.py +0 -0
  241. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/user_management.py +0 -0
  242. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/workload_groups.py +0 -0
  243. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/models/zpa_gateway.py +0 -0
  244. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/nat_control_policy.py +0 -0
  245. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/nss_servers.py +0 -0
  246. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/organization_information.py +0 -0
  247. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/pac_files.py +0 -0
  248. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/policy_export.py +0 -0
  249. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/proxies.py +0 -0
  250. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/remote_assistance.py +0 -0
  251. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/risk_profiles.py +0 -0
  252. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/rule_labels.py +0 -0
  253. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/sandbox.py +0 -0
  254. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/sandbox_rules.py +0 -0
  255. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/security_policy_settings.py +0 -0
  256. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/ssl_inspection_rules.py +0 -0
  257. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/sub_clouds.py +0 -0
  258. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/system_audit.py +0 -0
  259. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  260. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/time_intervals.py +0 -0
  261. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/traffic_datacenters.py +0 -0
  262. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/traffic_extranet.py +0 -0
  263. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/traffic_static_ip.py +0 -0
  264. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  265. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/url_categories.py +0 -0
  266. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/url_filtering.py +0 -0
  267. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/user_management.py +0 -0
  268. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/workload_groups.py +0 -0
  269. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zia/zpa_gateway.py +0 -0
  270. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/__init__.py +0 -0
  271. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/administrator_controller.py +0 -0
  272. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/app_connector_schedule.py +0 -0
  273. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/app_protection.py +0 -0
  274. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/application_segment.py +0 -0
  275. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/cbi_banner.py +0 -0
  276. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/cbi_certificate.py +0 -0
  277. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/cbi_profile.py +0 -0
  278. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/cbi_region.py +0 -0
  279. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  280. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/client_settings.py +0 -0
  281. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/customer_controller.py +0 -0
  282. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/legacy.py +0 -0
  283. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/administrator_controller.py +0 -0
  284. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/app_connector_groups.py +0 -0
  285. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  286. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/app_connectors.py +0 -0
  287. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/app_protection.py +0 -0
  288. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  289. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/application_segment.py +0 -0
  290. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/application_segment_inspection.py +0 -0
  291. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/application_segment_pra.py +0 -0
  292. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/application_servers.py +0 -0
  293. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/cbi_banner.py +0 -0
  294. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/cbi_certificate.py +0 -0
  295. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/cbi_profile.py +0 -0
  296. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/cbi_region.py +0 -0
  297. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  298. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/certificates.py +0 -0
  299. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/client_settings.py +0 -0
  300. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  301. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/common.py +0 -0
  302. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/customer_controller.py +0 -0
  303. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/customer_version_profile.py +0 -0
  304. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/emergency_access.py +0 -0
  305. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  306. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/idp.py +0 -0
  307. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/lss.py +0 -0
  308. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/machine_groups.py +0 -0
  309. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/microtenants.py +0 -0
  310. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  311. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  312. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/posture_profiles.py +0 -0
  313. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/pra_approval.py +0 -0
  314. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/pra_console.py +0 -0
  315. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  316. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/pra_credential.py +0 -0
  317. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/pra_portal.py +0 -0
  318. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/provisioning_keys.py +0 -0
  319. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/role_controller.py +0 -0
  320. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/saml_attributes.py +0 -0
  321. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/scim_attributes.py +0 -0
  322. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/scim_groups.py +0 -0
  323. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/segment_group.py +0 -0
  324. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/server_group.py +0 -0
  325. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/service_edge_groups.py +0 -0
  326. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  327. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/service_edges.py +0 -0
  328. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/models/trusted_network.py +0 -0
  329. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/role_controller.py +0 -0
  330. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/service_edge_schedule.py +0 -0
  331. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zpa/zpa_service.py +0 -0
  332. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/__init__.py +0 -0
  333. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/account_details.py +0 -0
  334. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/activation.py +0 -0
  335. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/admin_roles.py +0 -0
  336. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/admin_users.py +0 -0
  337. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/api_keys.py +0 -0
  338. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/ec_groups.py +0 -0
  339. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/forwarding_gateways.py +0 -0
  340. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/forwarding_rules.py +0 -0
  341. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/ip_destination_groups.py +0 -0
  342. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/ip_groups.py +0 -0
  343. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/ip_source_groups.py +0 -0
  344. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/legacy.py +0 -0
  345. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/location_management.py +0 -0
  346. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/location_template.py +0 -0
  347. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/activation.py +0 -0
  348. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/admin_roles.py +0 -0
  349. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/admin_users.py +0 -0
  350. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/api_keys.py +0 -0
  351. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/common.py +0 -0
  352. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/ec_group_vm.py +0 -0
  353. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/ecgroup.py +0 -0
  354. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  355. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/forwarding_rules.py +0 -0
  356. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  357. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/ip_groups.py +0 -0
  358. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/ip_source_groups.py +0 -0
  359. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/location_management.py +0 -0
  360. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/location_templates.py +0 -0
  361. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/nw_service.py +0 -0
  362. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/nw_service_groups.py +0 -0
  363. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/provisioning_url.py +0 -0
  364. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  365. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/models/zpa_resources.py +0 -0
  366. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/nw_service.py +0 -0
  367. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/nw_service_groups.py +0 -0
  368. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/provisioning_url.py +0 -0
  369. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/ztw/ztw_service.py +0 -0
  370. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/__init__.py +0 -0
  371. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/audit_logs.py +0 -0
  372. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/dlp_incidents.py +0 -0
  373. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/legacy.py +0 -0
  374. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/audit_logs.py +0 -0
  375. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/change_history.py +0 -0
  376. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/common.py +0 -0
  377. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/generated_tickets.py +0 -0
  378. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/incident_details.py +0 -0
  379. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/incident_evidence.py +0 -0
  380. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/incident_group_search.py +0 -0
  381. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/incident_search.py +0 -0
  382. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/zscaler/zwa/models/incident_trigger.py +0 -0
  383. {zscaler_sdk_python-1.2.1 → zscaler_sdk_python-1.2.3}/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.3
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.3"
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.3"
33
33
 
34
34
 
35
35
  from zscaler.oneapi_client import Client as ZscalerClient # noqa
@@ -0,0 +1,289 @@
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
+ "deleteDHCPOption121Routes": "delete_dhcp_option121_routes",
77
+ "enableOneIDAdminMigrationChanges": "enable_one_id_admin_migration_changes",
78
+ "purgeKerberosPreferredDCCacheVisibility": "purge_kerberos_preferred_dc_cache_visibility",
79
+ "slowRolloutZCC": "slow_rollout_zcc",
80
+ "supportMultiplePWLPostures": "support_multiple_pwl_postures",
81
+ "truncateLargeUDPDNSResponseVisibility": "truncate_large_udpdns_response_visibility",
82
+ "enforceSplitDNSVisibility": "enforce_split_dns_visibility",
83
+ "zccSyntheticIPRangeVisibility": "zcc_synthetic_ip_range_visibility",
84
+ "enableSetProxyOnVPNAdaptersVisibility": "enable_set_proxy_on_vpn_adapters_visibility",
85
+ "customMTUForZpaVisibility": "custom_mtu_for_zpa_visibility",
86
+ "flowLoggerZCCBlockedTrafficVisibility": "flow_logger_zcc_blocked_traffic_visibility",
87
+ "postureCrowdStrikeZTAScoreVisibilityForLinux": "posture_crowd_strike_zta_score_visibility_for_linux",
88
+ "flowLoggerVPNTunnelTypeVisibility": "flow_logger_vpn_tunnel_type_visibility",
89
+ "flowLoggerVPNTypeVisibility": "flow_logger_vpn_type_visibility",
90
+ "flowLoggerZPATypeVisibility": "flow_logger_zpa_type_visibility",
91
+ "useDefaultAdapterForDNSVisibility": "use_default_adapter_for_dns_visibility",
92
+ "useCustomDNS": "use_custom_dns",
93
+ "notificationForZPAReauthVisibility": "notification_for_zpa_reauth_visibility",
94
+ "crowdStrikeZTAScoreVisibility": "crowd_strike_zta_score_visibility",
95
+ "hideDTLSSupportSettings": "hide_dtls_support_settings",
96
+ "dynamicZPAServiceEdgeAssignmenttVisibility": "dynamic_zpa_service_edge_assignmentt_visibility",
97
+ "domainInclusionExclusionForDNSRequestVisibility": "domain_inclusion_exclusion_for_dns_request_visibility",
98
+ "overrideATCmdByPolicyVisibility": "override_at_cmd_by_policy_visibility",
99
+ "windowsAPCaptivePortalDetectionVisibility": "windows_ap_captive_portal_detection_visibility",
100
+ "windowsAPEnableFailOpenVisibility": "windows_ap_enable_fail_open_visibility",
101
+ "enableOneIDPhase2Changes": "enable_one_id_phase2_changes",
102
+ "linuxRPMBuildVisibility": "linux_rpm_build_visibility",
103
+ "crowdStrikeZTAOsScoreVisibility": "crowd_strike_zta_os_score_visibility",
104
+ "crowdStrikeZTASensorConfigScoreVisibility": "crowd_strike_zta_sensor_config_score_visibility",
105
+ "enableZCCFailCloseSettingsForSEMode": "enable_zcc_fail_close_settings_for_se_mode",
106
+ "defaultProtocolForZPA": "default_protocol_for_zpa",
107
+ "tunnelTwoForiOSDevices": "tunnel_two_fori_os_devices",
108
+ "prioritizeIPv4OverIpv6": "prioritize_ipv4_over_ipv6",
109
+ "disableParallelIpv4AndIPv6": "disable_parallel_ipv4_and_ipv6",
110
+ "computeDeviceGroupsForZDX ": "compute_device_groups_for_zdx",
111
+ "logoutZCCForZDXService": "logout_zcc_for_zdx_service",
112
+ "enableZpaDR": "enable_zpa_dr",
113
+ "ziaRSAPubKeyName": "zia_rsa_pub_key_name",
114
+ "ziaRSAPubKey": "zia_rsa_pub_key",
115
+ "zpaRSAPubKeyName": "zpa_rsa_pub_key_name",
116
+ "zpaRSAPubKey": "zpa_rsa_pub_key",
117
+ "truncate_large_udpdns_response": "truncateLargeUDPDNSResponse",
118
+ "enableZCCRevert": "enable_zcc_revert",
119
+ "enableZiaDR": "enable_zia_dr",
120
+ "purge_kerberos_preferred_dc_cache": "purgeKerberosPreferredDCCache"
121
+ }
122
+
123
+ if string in FIELD_EXCEPTIONS:
124
+ return FIELD_EXCEPTIONS[string]
125
+
126
+ # Generic fallback logic
127
+ string = re.sub(r"(?<!^)(?=[A-Z])", "_", string).lower()
128
+ return string.replace("__", "_").strip("_")
129
+
130
+
131
+ def to_lower_camel_case(string):
132
+ """
133
+ Converts snake_case to camelCase with support for known edge-case field mappings.
134
+
135
+ Examples:
136
+ "internal_ip_range" -> "internalIpRange"
137
+ "surrogate_ip" -> "surrogateIP"
138
+ "capture_pcap" -> "capturePCAP"
139
+ """
140
+
141
+ FIELD_EXCEPTIONS = {
142
+ "predefined_adp_controls": "predefinedADPControls",
143
+ "surrogate_ip": "surrogateIP",
144
+ "internal_ip_range": "internalIpRange",
145
+ "start_ip_address": "startIPAddress",
146
+ "end_ip_address": "endIPAddress",
147
+ "capture_pcap": "capturePCAP",
148
+ "min_tls_version": "minTLSVersion",
149
+ "min_client_tls_version": "minClientTLSVersion",
150
+ "min_server_tls_version": "minServerTLSVersion",
151
+ "pac_with_static_ips": "pacWithStaticIPs",
152
+ "primary_gw": "primaryGW",
153
+ "secondary_gw": "secondaryGW",
154
+ "greTunnel_ip": "greTunnelIP",
155
+ "tun_id": "tunID",
156
+ "is_incomplete_dr_config": "isIncompleteDRConfig",
157
+ "name_l10n_tag": "nameL10nTag",
158
+ "is_name_l10n_tag": "isNameL10nTag",
159
+ "routable_ip": "routableIP",
160
+ "valid_ssl_certificate": "validSSLCertificate",
161
+ "ec_vms": "ecVMs",
162
+ "ipv6_enabled": "ipV6Enabled",
163
+ "email_ids": "emailIds",
164
+ "show_eun": "showEUN",
165
+ "show_eunatp": "showEUNATP",
166
+ "enable_cipa_compliance": "enableCIPACompliance",
167
+ "enable_poe_prompt": "enablePOEPrompt",
168
+ "cookie_stealing_pcap_enabled": "cookieStealingPCAPEnabled",
169
+ "alert_for_unknown_or_suspicious_c2_traffic": "alertForUnknownOrSuspiciousC2Traffic",
170
+ "enable_ipv6_dns_resolution_on_transparent_proxy": "enableIPv6DnsResolutionOnTransparentProxy",
171
+ "enable_evaluate_policy_on_global_ssl_bypass": "enableEvaluatePolicyOnGlobalSSLBypass",
172
+ "dns_resolution_on_transparent_proxy_ipv6_exempt_apps": "dnsResolutionOnTransparentProxyIPv6ExemptApps",
173
+ "dns_resolution_on_transparent_proxy_ipv6_url_categories": "dnsResolutionOnTransparentProxyIPv6UrlCategories",
174
+ "dns_resolution_on_transparent_proxy_ipv6_apps": "dnsResolutionOnTransparentProxyIPv6Apps",
175
+ "enable_ipv6_dns_optimization_on_all_transparent_proxy": "enableIPv6DnsOptimizationOnAllTransparentProxy",
176
+ "dns_resolution_on_transparent_proxy_ipv6_exempt_url_categories": "dnsResolutionOnTransparentProxyIPv6ExemptUrlCategories",
177
+ "end_point_dlp_log_type": "endPointDLPLogType",
178
+ "email_dlp_log_type": "emailDLPLogType",
179
+ "extranet_dns_list": "extranetDNSList",
180
+ "primary_dns_server": "primaryDNSServer",
181
+ "secondary_dns_server": "secondaryDNSServer",
182
+
183
+ # ZCC Edge Case Attributes
184
+ "enable_udp_transport_selection": "enableUDPTransportSelection",
185
+ "intercept_zia_traffic_all_adapters": "interceptZIATrafficAllAdapters",
186
+ "enable_port_based_zpa_filter": "enablePortBasedZPAFilter",
187
+ "add_app_bypass_to_vpn_gateway": "addAppBypassToVPNGateway",
188
+ "show_vpn_tun_notification": "showVPNTunNotification",
189
+ "enable_set_proxy_on_vpn_adapters": "enableSetProxyOnVPNAdapters",
190
+ "disable_dns_route_exclusion": "disableDNSRouteExclusion",
191
+ "enable_react_ui": "enableReactUI",
192
+ "zia_global_db_url_for_dr": "ziaGlobalDbUrlForDR",
193
+ "use_default_adapter_for_dns": "useDefaultAdapterForDNS",
194
+ "enable_public_api": "enablePublicAPI",
195
+ "launch_react_u_iby_default": "launchReactUIbyDefault",
196
+ "add_zdx_service_entitlement": "addZDXServiceEntitlement",
197
+ "compute_device_groups_for_zia": "computeDeviceGroupsForZIA",
198
+ "compute_device_groups_for_zpa": "computeDeviceGroupsForZPA",
199
+ "compute_device_groups_for_zad": "computeDeviceGroupsForZAD",
200
+ "delete_dhcp_option121_routes_visibility": "deleteDHCPOption121RoutesVisibility",
201
+ "enable_one_id_admin_migration_changes": "enableOneIDAdminMigrationChanges",
202
+ "purge_kerberos_preferred_dc_cache_visibility": "purgeKerberosPreferredDCCacheVisibility",
203
+ "slow_rollout_zcc": "slowRolloutZCC",
204
+ "support_multiple_pwl_postures": "supportMultiplePWLPostures",
205
+ "truncate_large_udpdns_response_visibility": "truncateLargeUDPDNSResponseVisibility",
206
+ "enforce_split_dns_visibility": "enforceSplitDNSVisibility",
207
+ "zcc_synthetic_ip_range_visibility": "zccSyntheticIPRangeVisibility",
208
+ "enable_set_proxy_on_vpn_adapters_visibility": "enableSetProxyOnVPNAdaptersVisibility",
209
+ "custom_mtu_for_zpa_visibility": "customMTUForZpaVisibility",
210
+ "flow_logger_zcc_blocked_traffic_visibility": "flowLoggerZCCBlockedTrafficVisibility",
211
+ "posture_crowd_strike_zta_score_visibility_for_linux": "postureCrowdStrikeZTAScoreVisibilityForLinux",
212
+ "flow_logger_vpn_tunnel_type_visibility": "flowLoggerVPNTunnelTypeVisibility",
213
+ "flow_logger_vpn_type_visibility": "flowLoggerVPNTypeVisibility",
214
+ "flow_logger_zpa_type_visibility": "flowLoggerZPATypeVisibility",
215
+ "use_default_adapter_for_dns_visibility": "useDefaultAdapterForDNSVisibility",
216
+ "use_custom_dns": "useCustomDNS",
217
+ "notification_for_zpa_reauth_visibility": "notificationForZPAReauthVisibility",
218
+ "crowd_strike_zta_score_visibility": "crowdStrikeZTAScoreVisibility",
219
+ "hide_dtls_support_settings": "hideDTLSSupportSettings",
220
+ "dynamic_zpa_service_edge_assignmentt_visibility": "dynamicZPAServiceEdgeAssignmenttVisibility",
221
+ "domain_inclusion_exclusion_for_dns_request_visibility": "domainInclusionExclusionForDNSRequestVisibility",
222
+ "override_at_cmd_by_policy_visibility": "overrideATCmdByPolicyVisibility",
223
+ "windows_ap_captive_portal_detection_visibility": "windowsAPCaptivePortalDetectionVisibility",
224
+ "windows_ap_enable_fail_open_visibility": "windowsAPEnableFailOpenVisibility",
225
+ "enable_one_id_phase2_changes": "enableOneIDPhase2Changes",
226
+ "linux_rpm_build_visibility": "linuxRPMBuildVisibility",
227
+ "crowd_strike_zta_os_score_visibility": "crowdStrikeZTAOsScoreVisibility",
228
+ "crowd_strike_zta_sensor_config_score_visibility": "crowdStrikeZTASensorConfigScoreVisibility",
229
+ "enable_zcc_fail_close_settings_for_se_mode": "enableZCCFailCloseSettingsForSEMode",
230
+ "default_protocol_for_zpa": "defaultProtocolForZPA",
231
+ "tunnelTwoForiOSDevices": "tunnel_two_fori_os_devices",
232
+ "prioritize_ipv4_over_ipv6": "prioritizeIPv4OverIpv6",
233
+ "disable_parallel_ipv4_and_ipv6": "disableParallelIpv4AndIPv6",
234
+ "compute_device_groups_for_zdx": "computeDeviceGroupsForZDX",
235
+ "logout_zcc_for_zdx_service ": "logoutZCCForZDXService",
236
+ "enable_zpa_dr": "enableZpaDR",
237
+ "zia_rsa_pub_key_name": "ziaRSAPubKeyName",
238
+ "zia_rsa_pub_key": "ziaRSAPubKey",
239
+ "zpa_rsa_pub_key_name": "zpaRSAPubKeyName",
240
+ "zpa_rsa_pub_key": "zpaRSAPubKey",
241
+ "truncateLargeUDPDNSResponse": "truncate_large_udpdns_response",
242
+ "enable_zcc_revert": "enableZCCRevert",
243
+ "delete_dhcp_option121_routes": "deleteDHCPOption121Routes",
244
+ "enableZiaDR": "enable_zia_dr",
245
+ "purgeKerberosPreferredDCCache": "purge_kerberos_preferred_dc_cache"
246
+ }
247
+
248
+ if string in FIELD_EXCEPTIONS:
249
+ return FIELD_EXCEPTIONS[string]
250
+
251
+ if not string or "_" not in string:
252
+ return string
253
+
254
+ components = string.split("_")
255
+ converted = []
256
+
257
+ for i, comp in enumerate(components):
258
+ lower = comp.lower()
259
+ if i == 0:
260
+ converted.append(lower)
261
+ else:
262
+ converted.append(comp.capitalize())
263
+
264
+ return "".join(converted)
265
+
266
+
267
+ def convert_keys_to_snake_case(data):
268
+ """
269
+ Convert all keys in a dictionary or list to snake_case.
270
+ """
271
+ if isinstance(data, dict):
272
+ return {to_snake_case(k): convert_keys_to_snake_case(v) for k, v in data.items()}
273
+ elif isinstance(data, list):
274
+ return [convert_keys_to_snake_case(item) for item in data]
275
+ else:
276
+ return data
277
+
278
+
279
+ def convert_keys_to_camel_case(data):
280
+ """
281
+ Recursively convert all keys in a dictionary or list to camelCase.
282
+ Handles nested lists and dictionaries.
283
+ """
284
+ if isinstance(data, dict):
285
+ return {to_lower_camel_case(k): convert_keys_to_camel_case(v) for k, v in data.items()}
286
+ elif isinstance(data, list):
287
+ return [convert_keys_to_camel_case(item) for item in data]
288
+ else:
289
+ 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,67 @@ 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_type" in query_params:
794
+ os_raw = query_params["os_type"]
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_type` provided.")
805
+ mapped_params["osType"] = ",".join(mapped)
806
+
807
+ # Normalize and map os_types
808
+ if "device_type" in query_params:
809
+ os_raw = query_params["device_type"]
810
+ if isinstance(os_raw, str):
811
+ os_raw = [os_raw] # ✅ support single string value
812
+
813
+ mapped = [
814
+ str(zcc_param_map["os"].get(os_type.lower()))
815
+ for os_type in os_raw
816
+ if zcc_param_map["os"].get(os_type.lower())
817
+ ]
818
+ if not mapped:
819
+ raise ValueError("Invalid `device_type` provided.")
820
+ mapped_params["deviceType"] = ",".join(mapped)
821
+
822
+ # Normalize and map registration_types
823
+ if "registration_types" in query_params:
824
+ reg_raw = query_params["registration_types"]
825
+ if isinstance(reg_raw, str):
826
+ reg_raw = [reg_raw]
827
+
828
+ mapped = [
829
+ str(zcc_param_map["reg_type"].get(rt.lower()))
830
+ for rt in reg_raw
831
+ if zcc_param_map["reg_type"].get(rt.lower())
832
+ ]
833
+ if not mapped:
834
+ raise ValueError("Invalid `registration_types` provided.")
835
+ mapped_params["registrationTypes"] = ",".join(mapped)
836
+
837
+ # Drop user-friendly keys
838
+ query_params.pop("os_types", None)
839
+ query_params.pop("registration_types", None)
840
+
841
+ # Merge in mapped numeric params
842
+ query_params.update(mapped_params)
843
+ kwargs["query_params"] = query_params
844
+
845
+ return func(self, *args, **kwargs)
846
+ return wrapper
786
847
 
787
848
  # Maps ZCC numeric os_type and registration_type arguments to a human-readable string
788
849
  zcc_param_map = {