zscaler-sdk-python 1.2.4__tar.gz → 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/PKG-INFO +3 -3
  2. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/pyproject.toml +2 -2
  3. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/__init__.py +1 -1
  4. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/request_executor.py +70 -6
  5. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/utils.py +1 -67
  6. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/devices.py +1 -1
  7. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/devices.py +3 -3
  8. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_web_rules.py +7 -4
  9. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/url_filtering_rules.py +10 -1
  10. zscaler_sdk_python-1.3.0/zscaler/zpa/administrator_controller.py +304 -0
  11. zscaler_sdk_python-1.3.0/zscaler/zpa/client_settings.py +210 -0
  12. zscaler_sdk_python-1.3.0/zscaler/zpa/enrollment_certificates.py +457 -0
  13. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/legacy.py +21 -21
  14. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/enrollment_certificates.py +6 -6
  15. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/policyset_controller_v1.py +15 -3
  16. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/policyset_controller_v2.py +66 -29
  17. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/role_controller.py +3 -2
  18. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/policies.py +37 -31
  19. zscaler_sdk_python-1.3.0/zscaler/zpa/role_controller.py +409 -0
  20. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/saml_attributes.py +144 -138
  21. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/zpa_service.py +21 -21
  22. zscaler_sdk_python-1.2.4/zscaler/zpa/administrator_controller.py +0 -295
  23. zscaler_sdk_python-1.2.4/zscaler/zpa/client_settings.py +0 -209
  24. zscaler_sdk_python-1.2.4/zscaler/zpa/enrollment_certificates.py +0 -320
  25. zscaler_sdk_python-1.2.4/zscaler/zpa/role_controller.py +0 -285
  26. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/LICENSE.md +0 -0
  27. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/README.md +0 -0
  28. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/api_client.py +0 -0
  29. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/cache/__init__.py +0 -0
  30. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/cache/cache.py +0 -0
  31. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/cache/no_op_cache.py +0 -0
  32. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/cache/zscaler_cache.py +0 -0
  33. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/config/__init__.py +0 -0
  34. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/config/config_setter.py +0 -0
  35. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/config/config_validator.py +0 -0
  36. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/constants.py +0 -0
  37. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/error_messages.py +0 -0
  38. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/errors/__init__.py +0 -0
  39. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/errors/error.py +0 -0
  40. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/errors/http_error.py +0 -0
  41. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/errors/zscaler_api_error.py +0 -0
  42. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/exceptions/__init__.py +0 -0
  43. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/exceptions/exceptions.py +0 -0
  44. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/helpers.py +0 -0
  45. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/logger.py +0 -0
  46. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_client.py +0 -0
  47. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_collection.py +0 -0
  48. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_http_client.py +0 -0
  49. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_oauth_client.py +0 -0
  50. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_object.py +0 -0
  51. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_response.py +0 -0
  52. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ratelimiter/__init__.py +0 -0
  53. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ratelimiter/ratelimiter.py +0 -0
  54. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/user_agent.py +0 -0
  55. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/__init__.py +0 -0
  56. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/admin_user.py +0 -0
  57. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/company.py +0 -0
  58. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/entitlements.py +0 -0
  59. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/fail_open_policy.py +0 -0
  60. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/forwarding_profile.py +0 -0
  61. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/legacy.py +0 -0
  62. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/admin_roles.py +0 -0
  63. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/admin_user.py +0 -0
  64. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/failopenpolicy.py +0 -0
  65. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/forwardingprofile.py +0 -0
  66. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/getcompanyinfo.py +0 -0
  67. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/manage_pass.py +0 -0
  68. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/secrets_otp.py +0 -0
  69. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/secrets_passwords.py +0 -0
  70. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/trustednetworks.py +0 -0
  71. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/webappservice.py +0 -0
  72. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/webpolicy.py +0 -0
  73. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/webprivacy.py +0 -0
  74. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  75. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  76. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/secrets.py +0 -0
  77. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/trusted_networks.py +0 -0
  78. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/web_app_service.py +0 -0
  79. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/web_policy.py +0 -0
  80. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/web_privacy.py +0 -0
  81. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zcc/zcc_service.py +0 -0
  82. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/__init__.py +0 -0
  83. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/admin.py +0 -0
  84. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/alerts.py +0 -0
  85. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/apps.py +0 -0
  86. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/devices.py +0 -0
  87. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/inventory.py +0 -0
  88. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/legacy.py +0 -0
  89. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/activeapplications.py +0 -0
  90. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/administration.py +0 -0
  91. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/alerts.py +0 -0
  92. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/application_users.py +0 -0
  93. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/applications.py +0 -0
  94. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  95. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/common.py +0 -0
  96. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/devices.py +0 -0
  97. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/software_inventory.py +0 -0
  98. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/troubleshooting.py +0 -0
  99. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/users.py +0 -0
  100. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/troubleshooting.py +0 -0
  101. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/users.py +0 -0
  102. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zdx/zdx_service.py +0 -0
  103. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/__init__.py +0 -0
  104. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/activate.py +0 -0
  105. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/admin_roles.py +0 -0
  106. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/admin_users.py +0 -0
  107. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/advanced_settings.py +0 -0
  108. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/alert_subscriptions.py +0 -0
  109. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/apptotal.py +0 -0
  110. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/atp_policy.py +0 -0
  111. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/audit_logs.py +0 -0
  112. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/authentication_settings.py +0 -0
  113. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/bandwidth_classes.py +0 -0
  114. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/bandwidth_control_rules.py +0 -0
  115. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_app_instances.py +0 -0
  116. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_applications.py +0 -0
  117. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_browser_isolation.py +0 -0
  118. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall.py +0 -0
  119. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall_dns.py +0 -0
  120. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall_ips.py +0 -0
  121. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall_rules.py +0 -0
  122. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_nss.py +0 -0
  123. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloudappcontrol.py +0 -0
  124. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  125. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/device_management.py +0 -0
  126. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_dictionary.py +0 -0
  127. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_engine.py +0 -0
  128. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_resources.py +0 -0
  129. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_templates.py +0 -0
  130. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_web_rules.py +0 -0
  131. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/dns_gatways.py +0 -0
  132. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/end_user_notification.py +0 -0
  133. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/file_type_control_rule.py +0 -0
  134. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/forwarding_control.py +0 -0
  135. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/ftp_control_policy.py +0 -0
  136. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/gre_tunnel.py +0 -0
  137. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/intermediate_certificates.py +0 -0
  138. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/iot_report.py +0 -0
  139. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/ipv6_config.py +0 -0
  140. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/legacy.py +0 -0
  141. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/locations.py +0 -0
  142. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/malware_protection_policy.py +0 -0
  143. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/mobile_threat_settings.py +0 -0
  144. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/__init__.py +0 -0
  145. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/activation.py +0 -0
  146. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/admin_roles.py +0 -0
  147. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/admin_users.py +0 -0
  148. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/advanced_settings.py +0 -0
  149. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  150. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/alert_subscriptions.py +0 -0
  151. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/apptotal.py +0 -0
  152. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/authentication_settings.py +0 -0
  153. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/bandwidth_classes.py +0 -0
  154. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  155. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_app_instances.py +0 -0
  156. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_app_policy.py +0 -0
  157. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  158. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  159. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  160. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  161. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
  162. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  163. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  164. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  165. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  166. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  167. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  168. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  169. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_nss.py +0 -0
  170. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloudappcontrol.py +0 -0
  171. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/common.py +0 -0
  172. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  173. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/device_groups.py +0 -0
  174. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/devices.py +0 -0
  175. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_dictionary.py +0 -0
  176. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_engine.py +0 -0
  177. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_resources.py +0 -0
  178. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_templates.py +0 -0
  179. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dns_gatways.py +0 -0
  180. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/endusernotification.py +0 -0
  181. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/filetyperules.py +0 -0
  182. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  183. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/ftp_control_policy.py +0 -0
  184. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_recommended_list.py +0 -0
  185. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  186. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_tunnels.py +0 -0
  187. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_vips.py +0 -0
  188. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/intermediate_certificates.py +0 -0
  189. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/iotreport.py +0 -0
  190. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/ipv6_config.py +0 -0
  191. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/location_group.py +0 -0
  192. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/location_management.py +0 -0
  193. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/malware_protection_settings.py +0 -0
  194. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  195. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/nat_control_policy.py +0 -0
  196. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/nss_servers.py +0 -0
  197. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/organization_information.py +0 -0
  198. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/pac_files.py +0 -0
  199. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/proxies.py +0 -0
  200. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/proxy_gatways.py +0 -0
  201. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/remoteassistance.py +0 -0
  202. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/risk_profiles.py +0 -0
  203. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/rule_labels.py +0 -0
  204. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/sandboxrules.py +0 -0
  205. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/security_policy_settings.py +0 -0
  206. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/shadow_it_report.py +0 -0
  207. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  208. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/subclouds.py +0 -0
  209. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/system_audit.py +0 -0
  210. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  211. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/time_intervals.py +0 -0
  212. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_datacenters.py +0 -0
  213. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  214. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_extranet.py +0 -0
  215. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_static_ip.py +0 -0
  216. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  217. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  218. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/urlcategory.py +0 -0
  219. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/user_management.py +0 -0
  220. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/workload_groups.py +0 -0
  221. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/zpa_gateway.py +0 -0
  222. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/nat_control_policy.py +0 -0
  223. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/nss_servers.py +0 -0
  224. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/organization_information.py +0 -0
  225. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/pac_files.py +0 -0
  226. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/policy_export.py +0 -0
  227. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/proxies.py +0 -0
  228. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/remote_assistance.py +0 -0
  229. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/risk_profiles.py +0 -0
  230. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/rule_labels.py +0 -0
  231. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/sandbox.py +0 -0
  232. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/sandbox_rules.py +0 -0
  233. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/security_policy_settings.py +0 -0
  234. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/shadow_it_report.py +0 -0
  235. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/ssl_inspection_rules.py +0 -0
  236. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/sub_clouds.py +0 -0
  237. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/system_audit.py +0 -0
  238. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  239. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/time_intervals.py +0 -0
  240. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_datacenters.py +0 -0
  241. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_extranet.py +0 -0
  242. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_static_ip.py +0 -0
  243. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  244. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/url_categories.py +0 -0
  245. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/url_filtering.py +0 -0
  246. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/user_management.py +0 -0
  247. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/workload_groups.py +0 -0
  248. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/zia_service.py +0 -0
  249. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zia/zpa_gateway.py +0 -0
  250. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/__init__.py +0 -0
  251. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_connector_groups.py +0 -0
  252. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_connector_schedule.py +0 -0
  253. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_connectors.py +0 -0
  254. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_protection.py +0 -0
  255. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_segment_by_type.py +0 -0
  256. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_segments_inspection.py +0 -0
  257. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_segments_pra.py +0 -0
  258. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/application_segment.py +0 -0
  259. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_banner.py +0 -0
  260. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_certificate.py +0 -0
  261. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_profile.py +0 -0
  262. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_region.py +0 -0
  263. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  264. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/certificates.py +0 -0
  265. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cloud_connector_groups.py +0 -0
  266. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/customer_controller.py +0 -0
  267. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/customer_version_profile.py +0 -0
  268. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/emergency_access.py +0 -0
  269. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/idp.py +0 -0
  270. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/lss.py +0 -0
  271. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/machine_groups.py +0 -0
  272. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/microtenants.py +0 -0
  273. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/administrator_controller.py +0 -0
  274. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_connector_groups.py +0 -0
  275. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  276. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_connectors.py +0 -0
  277. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_protection.py +0 -0
  278. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  279. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_segment.py +0 -0
  280. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_segment_inspection.py +0 -0
  281. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_segment_pra.py +0 -0
  282. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_servers.py +0 -0
  283. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_banner.py +0 -0
  284. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_certificate.py +0 -0
  285. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_profile.py +0 -0
  286. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_region.py +0 -0
  287. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  288. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/certificates.py +0 -0
  289. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/client_settings.py +0 -0
  290. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  291. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/common.py +0 -0
  292. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/customer_controller.py +0 -0
  293. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/customer_version_profile.py +0 -0
  294. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/emergency_access.py +0 -0
  295. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/idp.py +0 -0
  296. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/lss.py +0 -0
  297. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/machine_groups.py +0 -0
  298. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/microtenants.py +0 -0
  299. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/posture_profiles.py +0 -0
  300. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_approval.py +0 -0
  301. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_console.py +0 -0
  302. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  303. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_credential.py +0 -0
  304. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_portal.py +0 -0
  305. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/provisioning_keys.py +0 -0
  306. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/saml_attributes.py +0 -0
  307. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/scim_attributes.py +0 -0
  308. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/scim_groups.py +0 -0
  309. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/segment_group.py +0 -0
  310. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/server_group.py +0 -0
  311. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/service_edge_groups.py +0 -0
  312. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  313. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/service_edges.py +0 -0
  314. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/trusted_network.py +0 -0
  315. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/posture_profiles.py +0 -0
  316. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_approval.py +0 -0
  317. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_console.py +0 -0
  318. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_credential.py +0 -0
  319. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_credential_pool.py +0 -0
  320. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_portal.py +0 -0
  321. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/provisioning.py +0 -0
  322. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/scim_attributes.py +0 -0
  323. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/scim_groups.py +0 -0
  324. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/segment_groups.py +0 -0
  325. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/server_groups.py +0 -0
  326. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/servers.py +0 -0
  327. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/service_edge_group.py +0 -0
  328. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/service_edge_schedule.py +0 -0
  329. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/service_edges.py +0 -0
  330. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zpa/trusted_networks.py +0 -0
  331. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/__init__.py +0 -0
  332. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/account_details.py +0 -0
  333. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/activation.py +0 -0
  334. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/admin_roles.py +0 -0
  335. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/admin_users.py +0 -0
  336. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/api_keys.py +0 -0
  337. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ec_groups.py +0 -0
  338. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/forwarding_gateways.py +0 -0
  339. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/forwarding_rules.py +0 -0
  340. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ip_destination_groups.py +0 -0
  341. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ip_groups.py +0 -0
  342. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ip_source_groups.py +0 -0
  343. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/legacy.py +0 -0
  344. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/location_management.py +0 -0
  345. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/location_template.py +0 -0
  346. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/activation.py +0 -0
  347. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/admin_roles.py +0 -0
  348. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/admin_users.py +0 -0
  349. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/api_keys.py +0 -0
  350. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/common.py +0 -0
  351. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ec_group_vm.py +0 -0
  352. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ecgroup.py +0 -0
  353. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  354. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/forwarding_rules.py +0 -0
  355. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  356. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ip_groups.py +0 -0
  357. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ip_source_groups.py +0 -0
  358. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/location_management.py +0 -0
  359. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/location_templates.py +0 -0
  360. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/nw_service.py +0 -0
  361. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/nw_service_groups.py +0 -0
  362. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/provisioning_url.py +0 -0
  363. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  364. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/zpa_resources.py +0 -0
  365. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/nw_service.py +0 -0
  366. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/nw_service_groups.py +0 -0
  367. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/provisioning_url.py +0 -0
  368. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ztw_service.py +0 -0
  369. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/__init__.py +0 -0
  370. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/audit_logs.py +0 -0
  371. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/dlp_incidents.py +0 -0
  372. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/legacy.py +0 -0
  373. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/audit_logs.py +0 -0
  374. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/change_history.py +0 -0
  375. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/common.py +0 -0
  376. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/generated_tickets.py +0 -0
  377. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_details.py +0 -0
  378. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_evidence.py +0 -0
  379. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_group_search.py +0 -0
  380. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_search.py +0 -0
  381. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_trigger.py +0 -0
  382. {zscaler_sdk_python-1.2.4 → zscaler_sdk_python-1.3.0}/zscaler/zwa/zwa_service.py +0 -0
@@ -1,23 +1,23 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zscaler-sdk-python
3
- Version: 1.2.4
3
+ Version: 1.3.0
4
4
  Summary: Official Python SDK for the Zscaler Products
5
5
  Home-page: https://github.com/zscaler/zscaler-sdk-python
6
6
  License: MIT
7
7
  Keywords: zscaler,sdk,zpa,zia,zdx,zcc,ztw,zwa
8
8
  Author: Zscaler, Inc.
9
9
  Author-email: devrel@zscaler.com
10
- Requires-Python: >=3.9,<4.0
10
+ Requires-Python: >=3.9.2,<4.0
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: MIT License
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.9
17
16
  Classifier: Programming Language :: Python :: 3.10
18
17
  Classifier: Programming Language :: Python :: 3.11
19
18
  Classifier: Programming Language :: Python :: 3.12
20
19
  Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Topic :: Security
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
23
  Provides-Extra: dev
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zscaler-sdk-python"
3
- version = "1.2.4"
3
+ version = "1.3.0"
4
4
  description = "Official Python SDK for the Zscaler Products"
5
5
  authors = ["Zscaler, Inc. <devrel@zscaler.com>"]
6
6
  license = "MIT"
@@ -28,7 +28,7 @@ packages = [
28
28
  "Bug Tracker" = "https://github.com/zscaler/zscaler-sdk-python/issues"
29
29
 
30
30
  [tool.poetry.dependencies]
31
- python = ">=3.9,<4.0"
31
+ python = ">=3.9.2,<4.0"
32
32
  requests = ">=2.32.3"
33
33
  cryptography = ">=43.0.0"
34
34
  pyyaml = ">=6.0.0"
@@ -29,7 +29,7 @@ __license__ = "MIT"
29
29
  __contributors__ = [
30
30
  "William Guilherme",
31
31
  ]
32
- __version__ = "1.2.4"
32
+ __version__ = "1.3.0"
33
33
 
34
34
 
35
35
  from zscaler.oneapi_client import Client as ZscalerClient # noqa
@@ -14,7 +14,6 @@ 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
18
17
 
19
18
  logger = logging.getLogger('zscaler-sdk-python')
20
19
 
@@ -463,35 +462,100 @@ class RequestExecutor:
463
462
  request_start_time (float): Original start time of request.
464
463
 
465
464
  Returns:
466
- Tuple of request, response object, response body, and error.
465
+ Tuple of (request, response object, response body, error).
467
466
  """
468
467
  current_req_start_time = time.time()
469
468
  max_retries = self._max_retries
470
469
  req_timeout = self._request_timeout
471
470
 
471
+ # Check if total elapsed time exceeds the configured request timeout
472
472
  if req_timeout > 0 and (current_req_start_time - request_start_time) > req_timeout:
473
473
  logger.warning("Request Timeout exceeded.")
474
474
  return None, None, None, Exception("Request Timeout exceeded.")
475
475
 
476
+ # Perform the actual HTTP request
476
477
  response, error = self._http_client.send_request(request)
477
478
 
479
+ # If a low-level error occurred (network, request construction, etc.)
478
480
  if error:
479
- # logger.error(f"Error sending request: {error}")
480
481
  return request, response, response.text if response else None, error
481
482
 
482
- headers = response.headers
483
+ # Check for 401 -> Trigger re-auth if we still have retries left
484
+ if response.status_code == 401:
485
+ # We only want to attempt refreshing the token if we haven't hit max_retries
486
+ if attempts < max_retries:
487
+ logger.info("Got 401 response; clearing token and re-authenticating.")
488
+ self._oauth.clear_access_token()
489
+
490
+ try:
491
+ fresh_token = self._oauth._get_access_token()
492
+ except Exception as e:
493
+ # If re-auth fails, return immediately
494
+ logger.error(f"Token refresh failed after 401: {e}")
495
+ return request, response, response.text, e
496
+
497
+ # Update the request with the new token
498
+ request["headers"]["Authorization"] = f"Bearer {fresh_token}"
499
+ attempts += 1
500
+ return self.fire_request_helper(request, attempts, request_start_time)
501
+ else:
502
+ logger.error("401 Unauthorized - token refresh attempts exhausted.")
503
+ return request, response, response.text, Exception("401 Unauthorized - token refresh attempts exhausted.")
483
504
 
505
+ # Handle “retryable” statuses such as 429, 503, etc.
484
506
  if attempts < max_retries and self.is_retryable_status(response.status_code):
485
- backoff_seconds = self.get_retry_after(headers, logger)
507
+ backoff_seconds = self.get_retry_after(response.headers, logger)
486
508
  if backoff_seconds is None:
487
509
  return None, response, response.text, Exception(ERROR_MESSAGE_429_MISSING_DATE_X_RESET)
488
- logger.info(f"Hit rate limit. Retrying request in {backoff_seconds} seconds.")
510
+
511
+ logger.info(f"Hit rate limit or retryable status {response.status_code}. "
512
+ f"Retrying request in {backoff_seconds} seconds.")
489
513
  time.sleep(backoff_seconds)
490
514
  attempts += 1
491
515
  return self.fire_request_helper(request, attempts, request_start_time)
492
516
 
517
+ # If we reach here, no further retries; return whatever we got
493
518
  return request, response, response.text, None
494
519
 
520
+ # def fire_request_helper(self, request, attempts, request_start_time):
521
+ # """
522
+ # Helper method to perform HTTP call with retries if needed.
523
+
524
+ # Args:
525
+ # request (dict): HTTP request representation.
526
+ # attempts (int): Number of attempted HTTP calls so far.
527
+ # request_start_time (float): Original start time of request.
528
+
529
+ # Returns:
530
+ # Tuple of request, response object, response body, and error.
531
+ # """
532
+ # current_req_start_time = time.time()
533
+ # max_retries = self._max_retries
534
+ # req_timeout = self._request_timeout
535
+
536
+ # if req_timeout > 0 and (current_req_start_time - request_start_time) > req_timeout:
537
+ # logger.warning("Request Timeout exceeded.")
538
+ # return None, None, None, Exception("Request Timeout exceeded.")
539
+
540
+ # response, error = self._http_client.send_request(request)
541
+
542
+ # if error:
543
+ # # logger.error(f"Error sending request: {error}")
544
+ # return request, response, response.text if response else None, error
545
+
546
+ # headers = response.headers
547
+
548
+ # if attempts < max_retries and self.is_retryable_status(response.status_code):
549
+ # backoff_seconds = self.get_retry_after(headers, logger)
550
+ # if backoff_seconds is None:
551
+ # return None, response, response.text, Exception(ERROR_MESSAGE_429_MISSING_DATE_X_RESET)
552
+ # logger.info(f"Hit rate limit. Retrying request in {backoff_seconds} seconds.")
553
+ # time.sleep(backoff_seconds)
554
+ # attempts += 1
555
+ # return self.fire_request_helper(request, attempts, request_start_time)
556
+
557
+ # return request, response, response.text, None
558
+
495
559
  def is_retryable_status(self, status):
496
560
  """
497
561
  Checks if HTTP status is retryable.
@@ -207,33 +207,6 @@ def add_id_groups(id_groups: list, kwargs: dict, payload: dict):
207
207
  payload[entry[1]] = [{"id": param_id} for param_id in kwargs.pop(entry[0])]
208
208
  return
209
209
 
210
-
211
- #### Working function
212
- # def transform_common_id_fields(id_groups: list, source_dict: dict, target_dict: dict):
213
- # """
214
- # For each (key, payload_key) in 'id_groups':
215
- # - If 'key' is found in source_dict,
216
- # - pop that value,
217
- # - insert it into target_dict with name 'payload_key',
218
- # - converting each item in the list to { "id": int(item) } if it's a string or int.
219
-
220
- # Additional domain logic can be placed here, e.g. for zpa_app_segments or cbi_profile, etc.
221
- # """
222
- # for (key, payload_key) in id_groups:
223
- # if key in source_dict:
224
- # value = source_dict.pop(key)
225
- # # Example logic: if it's a list, do the ID transform
226
- # if isinstance(value, list):
227
- # target_dict[payload_key] = [
228
- # {"id": int(item)} if isinstance(item, (str, int)) else item
229
- # for item in value
230
- # ]
231
- # elif isinstance(value, dict) and "id" in value:
232
- # # single dict with ID
233
- # target_dict[payload_key] = {"id": int(value["id"])}
234
- # return
235
-
236
-
237
210
  def transform_common_id_fields(id_groups: list, source_dict: dict, target_dict: dict):
238
211
  """
239
212
  For each (key, payload_key) in 'id_groups':
@@ -378,45 +351,6 @@ def pick_version_profile(kwargs: list, payload: list):
378
351
  elif version_profile == "new_release":
379
352
  payload["versionProfileId"] = 2
380
353
 
381
-
382
- # class Iterator(APIIterator):
383
- # """Iterator class."""
384
-
385
- # page_size = 100
386
-
387
- # def __init__(self, api, path: str = "", **kw):
388
- # """Initialize Iterator class."""
389
- # super().__init__(api, **kw)
390
-
391
- # self.path = path
392
- # self.max_items = kw.pop("max_items", 0)
393
- # self.max_pages = kw.pop("max_pages", 0)
394
- # self.payload = {}
395
- # if kw:
396
- # self.payload = {snake_to_camel(key): value for key, value in kw.items()}
397
-
398
- # def _get_page(self) -> None:
399
- # """Iterator function to get the page."""
400
- # resp = self._api.get(
401
- # self.path,
402
- # params={**self.payload, "page": self.num_pages + 1},
403
- # )
404
- # try:
405
- # # If we are using ZPA then the API will return records under the
406
- # # 'list' key.
407
- # self.page = resp.get("list") or []
408
- # except AttributeError:
409
- # # If the list key doesn't exist then we're likely using ZIA so just
410
- # # return the full response.
411
- # self.page = resp
412
- # finally:
413
- # # If we use the default retry-after logic in Restfly then we are
414
- # # going to keep seeing 429 messages in stdout. ZIA and ZPA have a
415
- # # standard 1 sec rate limit on the API endpoints with pagination so
416
- # # we are going to include it here.
417
- # time.sleep(1)
418
-
419
-
420
354
  def calculate_epoch(hours: int):
421
355
  current_time = int(time.time())
422
356
  past_time = int(current_time - (hours * 3600))
@@ -695,7 +629,7 @@ def validate_and_convert_times(start_time_str, end_time_str, time_zone_str):
695
629
  """
696
630
  # Validate time zone
697
631
  if time_zone_str not in pytz.all_timezones:
698
- raise ValueError(f"Invalid time zone: {time_zone_str}")
632
+ raise ValueError(f"Invalid time zone. Please visit the following site for reference: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones:{time_zone_str}")
699
633
 
700
634
  # Convert times
701
635
  try:
@@ -229,7 +229,7 @@ class DevicesAPI(APIClient):
229
229
  Prints all devices in the Client Connector Portal to the console:
230
230
 
231
231
  >>> device_list, _, err = client.zcc.devices.list_devices(
232
- ... query_params = { "os_type": "3", 'page': 1, 'page_size': 1})
232
+ ... query_params = {'username': 'jdoe@acme.com', "os_type": "3", 'page': 1, 'page_size': 1})
233
233
  >>> if err:
234
234
  ... print(f"Error listing devices: {err}")
235
235
  ... return
@@ -135,14 +135,14 @@ class ForceRemoveDevices(ZscalerObject):
135
135
  )
136
136
  self.os_type = config["osType"] if "osType" in config else None
137
137
  self.udids = ZscalerCollection.form_list(config["udids"] if "udids" in config else [], str)
138
- self.user_name = config["userName"] if "userName" in config else None
138
+ self.username = config["username"] if "username" in config else None
139
139
  self.devices_removed = config["devicesRemoved"] if "devicesRemoved" in config else None
140
140
  self.error_msg = config["errorMsg"] if "errorMsg" in config else None
141
141
  else:
142
142
  self.client_connector_version = ZscalerCollection.form_list([], str)
143
143
  self.os_type = None
144
144
  self.udids = ZscalerCollection.form_list([], str)
145
- self.user_name = None
145
+ self.username = None
146
146
  self.devices_removed = None
147
147
  self.error_msg = None
148
148
 
@@ -155,7 +155,7 @@ class ForceRemoveDevices(ZscalerObject):
155
155
  "clientConnectorVersion": self.client_connector_version,
156
156
  "osType": self.os_type,
157
157
  "udids": self.udids,
158
- "userName": self.user_name,
158
+ "username": self.username,
159
159
  "devicesRemoved": self.devices_removed,
160
160
  "errorMsg": self.error_msg,
161
161
  }
@@ -65,7 +65,6 @@ class DLPWebRules(ZscalerObject):
65
65
  self.zscaler_incident_receiver = config["zscalerIncidentReceiver"] if "zscalerIncidentReceiver" in config else None
66
66
  self.external_auditor_email = config["externalAuditorEmail"] if "externalAuditorEmail" in config else None
67
67
 
68
- # Handling lists of simple values
69
68
  self.protocols = ZscalerCollection.form_list(config["protocols"] if "protocols" in config else [], str)
70
69
 
71
70
  self.file_types = ZscalerCollection.form_list(config["fileTypes"] if "fileTypes" in config else [], str)
@@ -73,6 +72,9 @@ class DLPWebRules(ZscalerObject):
73
72
  self.cloud_applications = ZscalerCollection.form_list(
74
73
  config["cloudApplications"] if "cloudApplications" in config else [], str
75
74
  )
75
+ self.user_risk_score_levels = ZscalerCollection.form_list(
76
+ config["userRiskScoreLevels"] if "userRiskScoreLevels" in config else [], str
77
+ )
76
78
  self.url_categories = ZscalerCollection.form_list(
77
79
  config["urlCategories"] if "urlCategories" in config else [], common_reference.ResourceReference
78
80
  )
@@ -112,10 +114,10 @@ class DLPWebRules(ZscalerObject):
112
114
  config["dlpEngines"] if "dlpEngines" in config else [], dlp_engine.DLPEngine
113
115
  )
114
116
  self.labels = ZscalerCollection.form_list(
115
- config["labels"] if "labels" in config else [], labels.RuleLabels # Missing Attribute
117
+ config["labels"] if "labels" in config else [], labels.RuleLabels
116
118
  )
117
119
  self.excluded_groups = ZscalerCollection.form_list(
118
- config["excludedGroups"] if "excludedGroups" in config else [], user_management.Groups # New Attribute
120
+ config["excludedGroups"] if "excludedGroups" in config else [], user_management.Groups
119
121
  )
120
122
  self.excluded_departments = ZscalerCollection.form_list(
121
123
  config["excludedDepartments"] if "excludedDepartments" in config else [], user_management.Department
@@ -133,7 +135,6 @@ class DLPWebRules(ZscalerObject):
133
135
  self.icap_server = dlp_resources.DLPICAPServer(config["icapServer"]) if "icapServer" in config else None
134
136
 
135
137
  else:
136
- # Defaults when config is None
137
138
  self.id = None
138
139
  self.name = None
139
140
  self.description = None
@@ -171,6 +172,7 @@ class DLPWebRules(ZscalerObject):
171
172
  self.excluded_groups = []
172
173
  self.excluded_departments = []
173
174
  self.excluded_users = []
175
+ self.user_risk_score_levels = []
174
176
  self.auditor = None
175
177
  self.notification_template = None
176
178
  self.icap_server = None
@@ -204,6 +206,7 @@ class DLPWebRules(ZscalerObject):
204
206
  "protocols": self.protocols,
205
207
  "fileTypes": self.file_types,
206
208
  "cloudApplications": self.cloud_applications,
209
+ "userRiskScoreLevels": self.user_risk_score_levels,
207
210
  "locations": [location.request_format() for location in (self.locations or [])],
208
211
  "locationGroups": [group.request_format() for group in (self.location_groups or [])],
209
212
  "groups": [group.request_format() for group in (self.groups or [])],
@@ -75,7 +75,9 @@ class URLFilteringRule(ZscalerObject):
75
75
  self.device_trust_levels = ZscalerCollection.form_list(
76
76
  config["deviceTrustLevels"] if "deviceTrustLevels" in config else [], str
77
77
  )
78
-
78
+ self.user_risk_score_levels = ZscalerCollection.form_list(
79
+ config["userRiskScoreLevels"] if "userRiskScoreLevels" in config else [], str
80
+ )
79
81
  # Handling nested objects and lists of objects
80
82
  self.locations = ZscalerCollection.form_list(
81
83
  config["locations"] if "locations" in config else [], location.LocationManagement
@@ -102,6 +104,9 @@ class URLFilteringRule(ZscalerObject):
102
104
  self.location_groups = ZscalerCollection.form_list(
103
105
  config["locationGroups"] if "locationGroups" in config else [], location_group.LocationGroup
104
106
  )
107
+ self.source_ip_groups = ZscalerCollection.form_list(
108
+ config["sourceIpGroups"] if "sourceIpGroups" in config else [], cloud_firewall_source_groups.IPSourceGroup
109
+ )
105
110
  self.labels = ZscalerCollection.form_list(config["labels"] if "labels" in config else [], labels.RuleLabels)
106
111
  self.devices = ZscalerCollection.form_list(config["devices"] if "devices" in config else [], devices.Devices)
107
112
  self.device_groups = ZscalerCollection.form_list(
@@ -149,6 +154,8 @@ class URLFilteringRule(ZscalerObject):
149
154
  self.labels = []
150
155
  self.devices = []
151
156
  self.device_groups = []
157
+ self.user_risk_score_levels = []
158
+ self.source_ip_groups = []
152
159
  self.cbi_profile = None
153
160
 
154
161
  def request_format(self):
@@ -181,6 +188,8 @@ class URLFilteringRule(ZscalerObject):
181
188
  "urlCategories2": self.url_categories2,
182
189
  "requestMethods": self.request_methods,
183
190
  "deviceTrustLevels": self.device_trust_levels,
191
+ "userRiskScoreLevels": self.user_risk_score_levels,
192
+ "sourceIpGroups": [group.request_format() for group in (self.source_ip_groups or [])],
184
193
  "locations": [location.request_format() for location in (self.locations or [])],
185
194
  "groups": [group.request_format() for group in self.groups],
186
195
  "departments": [department.request_format() for department in (self.departments or [])],