zscaler-sdk-python 1.9.6__tar.gz → 1.9.8__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 (468) hide show
  1. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/PKG-INFO +1 -1
  2. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/pyproject.toml +1 -1
  3. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/__init__.py +1 -1
  4. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/request_executor.py +13 -1
  5. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/administrator_controller.py +2 -2
  6. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/api_keys.py +2 -2
  7. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_connector_groups.py +2 -2
  8. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_connector_schedule.py +2 -2
  9. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_connectors.py +2 -2
  10. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_protection.py +6 -6
  11. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_segments_ba.py +2 -2
  12. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_segments_ba_v2.py +2 -2
  13. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_segments_inspection.py +2 -2
  14. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_segments_pra.py +2 -2
  15. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/application_segment.py +4 -4
  16. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/browser_protection.py +2 -2
  17. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/c2c_ip_ranges.py +2 -2
  18. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/cbi_banner.py +2 -2
  19. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/cbi_profile.py +2 -2
  20. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/certificates.py +2 -2
  21. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/config_override_controller.py +2 -2
  22. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/emergency_access.py +4 -4
  23. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/enrollment_certificates.py +2 -2
  24. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/legacy.py +59 -36
  25. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/lss.py +2 -2
  26. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/microtenants.py +2 -2
  27. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/oauth2_user_code.py +0 -2
  28. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/pra_portal.py +6 -1
  29. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/policies.py +28 -28
  30. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/pra_approval.py +2 -2
  31. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/pra_console.py +2 -2
  32. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/pra_credential.py +2 -2
  33. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/pra_credential_pool.py +2 -2
  34. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/pra_portal.py +3 -2
  35. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/private_cloud_controller.py +2 -2
  36. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/private_cloud_group.py +2 -2
  37. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/provisioning.py +2 -2
  38. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/role_controller.py +2 -2
  39. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/saml_attributes.py +2 -2
  40. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/segment_groups.py +6 -4
  41. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/server_groups.py +2 -2
  42. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/servers.py +2 -2
  43. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/service_edge_group.py +2 -2
  44. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/service_edge_schedule.py +2 -2
  45. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/service_edges.py +2 -2
  46. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/user_portal_aup.py +2 -2
  47. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/user_portal_controller.py +2 -2
  48. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/user_portal_link.py +2 -2
  49. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/zia_customer_config.py +2 -2
  50. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/LICENSE.md +0 -0
  51. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/README.md +0 -0
  52. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/api_client.py +0 -0
  53. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/cache/__init__.py +0 -0
  54. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/cache/cache.py +0 -0
  55. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/cache/no_op_cache.py +0 -0
  56. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/cache/zscaler_cache.py +0 -0
  57. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/config/__init__.py +0 -0
  58. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/config/config_setter.py +0 -0
  59. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/config/config_validator.py +0 -0
  60. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/constants.py +0 -0
  61. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/error_messages.py +0 -0
  62. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/errors/__init__.py +0 -0
  63. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/errors/error.py +0 -0
  64. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/errors/http_error.py +0 -0
  65. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/errors/response_checker.py +0 -0
  66. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/errors/zscaler_api_error.py +0 -0
  67. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/exceptions/__init__.py +0 -0
  68. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/exceptions/exceptions.py +0 -0
  69. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/helpers.py +0 -0
  70. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/logger.py +0 -0
  71. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/oneapi_client.py +0 -0
  72. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/oneapi_collection.py +0 -0
  73. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/oneapi_http_client.py +0 -0
  74. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/oneapi_oauth_client.py +0 -0
  75. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/oneapi_object.py +0 -0
  76. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/oneapi_response.py +0 -0
  77. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ratelimiter/__init__.py +0 -0
  78. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ratelimiter/ratelimiter.py +0 -0
  79. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/types.py +0 -0
  80. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/user_agent.py +0 -0
  81. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/utils.py +0 -0
  82. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/__init__.py +0 -0
  83. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/admin_user.py +0 -0
  84. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/company.py +0 -0
  85. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/devices.py +0 -0
  86. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/entitlements.py +0 -0
  87. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/fail_open_policy.py +0 -0
  88. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/forwarding_profile.py +0 -0
  89. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/legacy.py +0 -0
  90. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/admin_roles.py +0 -0
  91. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/admin_user.py +0 -0
  92. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/devices.py +0 -0
  93. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/failopenpolicy.py +0 -0
  94. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/forwardingprofile.py +0 -0
  95. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/getcompanyinfo.py +0 -0
  96. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/manage_pass.py +0 -0
  97. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/secrets_otp.py +0 -0
  98. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/secrets_passwords.py +0 -0
  99. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/trustednetworks.py +0 -0
  100. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/webappservice.py +0 -0
  101. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/webpolicy.py +0 -0
  102. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/webprivacy.py +0 -0
  103. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
  104. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
  105. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/secrets.py +0 -0
  106. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/trusted_networks.py +0 -0
  107. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/web_app_service.py +0 -0
  108. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/web_policy.py +0 -0
  109. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/web_privacy.py +0 -0
  110. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zcc/zcc_service.py +0 -0
  111. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/__init__.py +0 -0
  112. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/admin.py +0 -0
  113. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/alerts.py +0 -0
  114. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/apps.py +0 -0
  115. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/devices.py +0 -0
  116. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/inventory.py +0 -0
  117. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/legacy.py +0 -0
  118. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/administration.py +0 -0
  119. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/alerts.py +0 -0
  120. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/application_users.py +0 -0
  121. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/applications.py +0 -0
  122. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/call_quality_metrics.py +0 -0
  123. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/common.py +0 -0
  124. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/devices.py +0 -0
  125. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/snapshot.py +0 -0
  126. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/software_inventory.py +0 -0
  127. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/troubleshooting.py +0 -0
  128. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/models/users.py +0 -0
  129. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/snapshot.py +0 -0
  130. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/troubleshooting.py +0 -0
  131. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/users.py +0 -0
  132. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zdx/zdx_service.py +0 -0
  133. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/__init__.py +0 -0
  134. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/findings.py +0 -0
  135. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/lookalike_domains.py +0 -0
  136. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/models/__init__.py +0 -0
  137. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/models/common.py +0 -0
  138. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/models/findings.py +0 -0
  139. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/models/lookalike_domains.py +0 -0
  140. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/models/organizations.py +0 -0
  141. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/organizations.py +0 -0
  142. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zeasm/zeasm_service.py +0 -0
  143. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/__init__.py +0 -0
  144. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/activate.py +0 -0
  145. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/admin_roles.py +0 -0
  146. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/admin_users.py +0 -0
  147. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/advanced_settings.py +0 -0
  148. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/alert_subscriptions.py +0 -0
  149. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/apptotal.py +0 -0
  150. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/atp_policy.py +0 -0
  151. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/audit_logs.py +0 -0
  152. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/authentication_settings.py +0 -0
  153. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/bandwidth_classes.py +0 -0
  154. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/bandwidth_control_rules.py +0 -0
  155. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/browser_control_settings.py +0 -0
  156. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/casb_dlp_rules.py +0 -0
  157. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/casb_malware_rules.py +0 -0
  158. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_app_instances.py +0 -0
  159. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_applications.py +0 -0
  160. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_browser_isolation.py +0 -0
  161. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_firewall.py +0 -0
  162. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_firewall_dns.py +0 -0
  163. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_firewall_ips.py +0 -0
  164. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_firewall_rules.py +0 -0
  165. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_nss.py +0 -0
  166. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloud_to_cloud_ir.py +0 -0
  167. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/cloudappcontrol.py +0 -0
  168. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/dedicated_ip_gateways.py +0 -0
  169. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/device_management.py +0 -0
  170. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/dlp_dictionary.py +0 -0
  171. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/dlp_engine.py +0 -0
  172. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/dlp_resources.py +0 -0
  173. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/dlp_templates.py +0 -0
  174. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/dlp_web_rules.py +0 -0
  175. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/dns_gatways.py +0 -0
  176. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/end_user_notification.py +0 -0
  177. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/file_type_control_rule.py +0 -0
  178. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/forwarding_control.py +0 -0
  179. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/ftp_control_policy.py +0 -0
  180. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/gre_tunnel.py +0 -0
  181. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/intermediate_certificates.py +0 -0
  182. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/iot_report.py +0 -0
  183. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/ipv6_config.py +0 -0
  184. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/legacy.py +0 -0
  185. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/locations.py +0 -0
  186. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/malware_protection_policy.py +0 -0
  187. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/mobile_threat_settings.py +0 -0
  188. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/__init__.py +0 -0
  189. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/activation.py +0 -0
  190. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/admin_roles.py +0 -0
  191. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/admin_users.py +0 -0
  192. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/advanced_settings.py +0 -0
  193. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/advanced_threat_settings.py +0 -0
  194. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/alert_subscriptions.py +0 -0
  195. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/apptotal.py +0 -0
  196. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/authentication_settings.py +0 -0
  197. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/bandwidth_classes.py +0 -0
  198. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
  199. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/browser_control_settings.py +0 -0
  200. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/casb_dlp_rules.py +0 -0
  201. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/casb_malware_rules.py +0 -0
  202. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_app_instances.py +0 -0
  203. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_app_policy.py +0 -0
  204. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
  205. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
  206. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
  207. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
  208. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
  209. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
  210. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
  211. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
  212. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
  213. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
  214. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
  215. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
  216. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_nss.py +0 -0
  217. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloud_to_cloud_ir.py +0 -0
  218. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/cloudappcontrol.py +0 -0
  219. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/common.py +0 -0
  220. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
  221. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/device_groups.py +0 -0
  222. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/devices.py +0 -0
  223. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/dlp_dictionary.py +0 -0
  224. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/dlp_engine.py +0 -0
  225. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/dlp_resources.py +0 -0
  226. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/dlp_templates.py +0 -0
  227. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/dlp_web_rules.py +0 -0
  228. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/dns_gateways.py +0 -0
  229. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/endusernotification.py +0 -0
  230. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/filetyperules.py +0 -0
  231. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/forwarding_control_policy.py +0 -0
  232. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/ftp_control_policy.py +0 -0
  233. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/gre_recommended_list.py +0 -0
  234. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/gre_tunnel_info.py +0 -0
  235. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/gre_tunnels.py +0 -0
  236. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/gre_vips.py +0 -0
  237. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/intermediate_certificates.py +0 -0
  238. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/iotreport.py +0 -0
  239. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/ipv6_config.py +0 -0
  240. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/location_group.py +0 -0
  241. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/location_management.py +0 -0
  242. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/malware_protection_settings.py +0 -0
  243. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/mobile_threat_settings.py +0 -0
  244. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/nat_control_policy.py +0 -0
  245. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/nss_servers.py +0 -0
  246. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/organization_information.py +0 -0
  247. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/pac_files.py +0 -0
  248. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/proxies.py +0 -0
  249. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/proxy_gateways.py +0 -0
  250. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/remoteassistance.py +0 -0
  251. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/risk_profiles.py +0 -0
  252. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/rule_labels.py +0 -0
  253. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/saas_security_api.py +0 -0
  254. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/sandboxrules.py +0 -0
  255. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/security_policy_settings.py +0 -0
  256. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/shadow_it_report.py +0 -0
  257. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
  258. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/subclouds.py +0 -0
  259. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/system_audit.py +0 -0
  260. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
  261. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/time_intervals.py +0 -0
  262. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/traffic_capture.py +0 -0
  263. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/traffic_datacenters.py +0 -0
  264. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
  265. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/traffic_extranet.py +0 -0
  266. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/traffic_static_ip.py +0 -0
  267. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
  268. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
  269. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/url_filtering_rules.py +0 -0
  270. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/urlcategory.py +0 -0
  271. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/user_management.py +0 -0
  272. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/vzen_clusters.py +0 -0
  273. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/vzen_nodes.py +0 -0
  274. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/workload_groups.py +0 -0
  275. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/models/zpa_gateway.py +0 -0
  276. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/nat_control_policy.py +0 -0
  277. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/nss_servers.py +0 -0
  278. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/organization_information.py +0 -0
  279. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/pac_files.py +0 -0
  280. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/policy_export.py +0 -0
  281. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/proxies.py +0 -0
  282. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/remote_assistance.py +0 -0
  283. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/risk_profiles.py +0 -0
  284. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/rule_labels.py +0 -0
  285. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/saas_security_api.py +0 -0
  286. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/sandbox.py +0 -0
  287. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/sandbox_rules.py +0 -0
  288. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/security_policy_settings.py +0 -0
  289. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/shadow_it_report.py +0 -0
  290. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/ssl_inspection_rules.py +0 -0
  291. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/sub_clouds.py +0 -0
  292. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/system_audit.py +0 -0
  293. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/tenancy_restriction_profile.py +0 -0
  294. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/time_intervals.py +0 -0
  295. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/traffic_capture.py +0 -0
  296. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/traffic_datacenters.py +0 -0
  297. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/traffic_extranet.py +0 -0
  298. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/traffic_static_ip.py +0 -0
  299. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/traffic_vpn_credentials.py +0 -0
  300. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/url_categories.py +0 -0
  301. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/url_filtering.py +0 -0
  302. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/user_management.py +0 -0
  303. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/vzen_clusters.py +0 -0
  304. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/vzen_nodes.py +0 -0
  305. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/workload_groups.py +0 -0
  306. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/zia_service.py +0 -0
  307. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zia/zpa_gateway.py +0 -0
  308. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/__init__.py +0 -0
  309. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/api_client.py +0 -0
  310. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/groups.py +0 -0
  311. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/models/api_client.py +0 -0
  312. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/models/common.py +0 -0
  313. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/models/groups.py +0 -0
  314. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/models/resource_servers.py +0 -0
  315. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/models/user_entitlement.py +0 -0
  316. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/models/users.py +0 -0
  317. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/resource_servers.py +0 -0
  318. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/user_entitlement.py +0 -0
  319. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/users.py +0 -0
  320. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zidentity/zidentity_service.py +0 -0
  321. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/__init__.py +0 -0
  322. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/admin_sso_controller.py +0 -0
  323. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/app_segment_by_type.py +0 -0
  324. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/branch_connector_group.py +0 -0
  325. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/branch_connectors.py +0 -0
  326. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/cbi_certificate.py +0 -0
  327. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/cbi_region.py +0 -0
  328. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/cbi_zpa_profile.py +0 -0
  329. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/client_settings.py +0 -0
  330. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/cloud_connector_controller.py +0 -0
  331. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/cloud_connector_groups.py +0 -0
  332. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/customer_controller.py +0 -0
  333. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/customer_domain.py +0 -0
  334. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/customer_dr_tool.py +0 -0
  335. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/customer_version_profile.py +0 -0
  336. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/extranet_resource.py +0 -0
  337. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/idp.py +0 -0
  338. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/location_controller.py +0 -0
  339. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/machine_groups.py +0 -0
  340. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/managed_browser_profile.py +0 -0
  341. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/administrator_controller.py +0 -0
  342. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/api_keys.py +0 -0
  343. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/app_connector_groups.py +0 -0
  344. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/app_connector_schedule.py +0 -0
  345. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/app_connectors.py +0 -0
  346. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
  347. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/app_protection_profile.py +0 -0
  348. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/application_segment.py +0 -0
  349. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/application_segment_lb.py +0 -0
  350. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/application_servers.py +0 -0
  351. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/branch_connectors.py +0 -0
  352. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/browser_protection.py +0 -0
  353. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/c2c_ip_ranges.py +0 -0
  354. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/cbi_banner.py +0 -0
  355. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/cbi_certificate.py +0 -0
  356. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/cbi_profile.py +0 -0
  357. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/cbi_region.py +0 -0
  358. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
  359. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/certificates.py +0 -0
  360. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/client_settings.py +0 -0
  361. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/cloud_connector_controller.py +0 -0
  362. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
  363. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/common.py +0 -0
  364. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/config_override_controller.py +0 -0
  365. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/customer_controller.py +0 -0
  366. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/customer_domain.py +0 -0
  367. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/customer_dr_tool.py +0 -0
  368. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/customer_version_profile.py +0 -0
  369. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/emergency_access.py +0 -0
  370. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/enrollment_certificates.py +0 -0
  371. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/idp.py +0 -0
  372. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/lss.py +0 -0
  373. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/machine_groups.py +0 -0
  374. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/managed_browser_profile.py +0 -0
  375. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/microtenants.py +0 -0
  376. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/npn_client_controller.py +0 -0
  377. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
  378. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
  379. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/posture_profiles.py +0 -0
  380. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/pra_approval.py +0 -0
  381. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/pra_console.py +0 -0
  382. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
  383. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/pra_credential.py +0 -0
  384. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/private_cloud_controller.py +0 -0
  385. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/private_cloud_group.py +0 -0
  386. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/provisioning_keys.py +0 -0
  387. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/role_controller.py +0 -0
  388. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/saml_attributes.py +0 -0
  389. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/scim_attributes.py +0 -0
  390. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/scim_groups.py +0 -0
  391. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/segment_group.py +0 -0
  392. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/server_group.py +0 -0
  393. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/service_edge_groups.py +0 -0
  394. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/service_edge_schedule.py +0 -0
  395. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/service_edges.py +0 -0
  396. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/stepup_auth_level.py +0 -0
  397. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/trusted_network.py +0 -0
  398. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/user_portal_aup.py +0 -0
  399. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/user_portal_controller.py +0 -0
  400. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/user_portal_link.py +0 -0
  401. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/models/zia_customer_config.py +0 -0
  402. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/npn_client_controller.py +0 -0
  403. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/oauth2_user_code.py +0 -0
  404. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/posture_profiles.py +0 -0
  405. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/scim_attributes.py +0 -0
  406. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/scim_groups.py +0 -0
  407. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/stepup_auth_level.py +0 -0
  408. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/trusted_networks.py +0 -0
  409. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/workload_tag_group.py +0 -0
  410. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zpa/zpa_service.py +0 -0
  411. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/__init__.py +0 -0
  412. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/account_details.py +0 -0
  413. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/account_groups.py +0 -0
  414. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/activation.py +0 -0
  415. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/admin_roles.py +0 -0
  416. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/admin_users.py +0 -0
  417. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/api_keys.py +0 -0
  418. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/discovery_service.py +0 -0
  419. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/ec_groups.py +0 -0
  420. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/forwarding_gateways.py +0 -0
  421. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/forwarding_rules.py +0 -0
  422. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/ip_destination_groups.py +0 -0
  423. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/ip_groups.py +0 -0
  424. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/ip_source_groups.py +0 -0
  425. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/legacy.py +0 -0
  426. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/location_management.py +0 -0
  427. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/location_template.py +0 -0
  428. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/account_groups.py +0 -0
  429. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/activation.py +0 -0
  430. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/admin_roles.py +0 -0
  431. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/admin_users.py +0 -0
  432. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/api_keys.py +0 -0
  433. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/common.py +0 -0
  434. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/discovery_service.py +0 -0
  435. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/ec_group_vm.py +0 -0
  436. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/ecgroup.py +0 -0
  437. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/forwarding_gateways.py +0 -0
  438. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/forwarding_rules.py +0 -0
  439. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/ip_destination_groups.py +0 -0
  440. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/ip_groups.py +0 -0
  441. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/ip_source_groups.py +0 -0
  442. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/location_management.py +0 -0
  443. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/location_templates.py +0 -0
  444. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/nw_service.py +0 -0
  445. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/nw_service_groups.py +0 -0
  446. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/provisioning_url.py +0 -0
  447. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/public_cloud_info.py +0 -0
  448. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
  449. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/models/zpa_resources.py +0 -0
  450. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/nw_service.py +0 -0
  451. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/nw_service_groups.py +0 -0
  452. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/provisioning_url.py +0 -0
  453. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/public_cloud_info.py +0 -0
  454. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/ztw/ztw_service.py +0 -0
  455. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/__init__.py +0 -0
  456. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/audit_logs.py +0 -0
  457. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/dlp_incidents.py +0 -0
  458. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/legacy.py +0 -0
  459. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/audit_logs.py +0 -0
  460. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/change_history.py +0 -0
  461. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/common.py +0 -0
  462. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/generated_tickets.py +0 -0
  463. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/incident_details.py +0 -0
  464. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/incident_evidence.py +0 -0
  465. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/incident_group_search.py +0 -0
  466. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/incident_search.py +0 -0
  467. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/zscaler/zwa/models/incident_trigger.py +0 -0
  468. {zscaler_sdk_python-1.9.6 → zscaler_sdk_python-1.9.8}/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.9.6
3
+ Version: 1.9.8
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.9.6"
3
+ version = "1.9.8"
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.9.6"
32
+ __version__ = "1.9.8"
33
33
 
34
34
 
35
35
  from zscaler.oneapi_client import Client as ZscalerClient # noqa
@@ -448,7 +448,19 @@ class RequestExecutor:
448
448
 
449
449
  if response.status_code == 204:
450
450
  logger.debug(f"Received 204 No Content from {request['url']}")
451
- return None, None
451
+ # Return a response object even for 204 No Content (per Okta SDK pattern)
452
+ # This allows users to check response.status_code for delete operations
453
+ return (
454
+ ZscalerAPIResponse(
455
+ request_executor=self,
456
+ req=request,
457
+ res_details=response,
458
+ response_body={}, # Empty body for 204
459
+ data_type=response_type,
460
+ service_type=request.get("service_type", ""),
461
+ ),
462
+ None,
463
+ )
452
464
 
453
465
  # If raw response is requested, return it for file download purposes
454
466
  if return_raw_response:
@@ -256,8 +256,8 @@ class AdministratorControllerAPI(APIClient):
256
256
  if error:
257
257
  return (None, response, error)
258
258
 
259
- if response is None:
260
- return (AdministratorController({"id": admin_id}), None, None)
259
+ if response is None or not response.get_body():
260
+ return (AdministratorController({"id": admin_id}), response, None)
261
261
 
262
262
  try:
263
263
  result = AdministratorController(self.form_response_body(response.get_body()))
@@ -259,8 +259,8 @@ class ApiKeysAPI(APIClient):
259
259
  if error:
260
260
  return (None, response, error)
261
261
 
262
- if response is None:
263
- return (ApiKeys({"id": key_id}), None, None)
262
+ if response is None or not response.get_body():
263
+ return (ApiKeys({"id": key_id}), response, None)
264
264
 
265
265
  try:
266
266
  result = ApiKeys(self.form_response_body(response.get_body()))
@@ -418,8 +418,8 @@ class AppConnectorGroupAPI(APIClient):
418
418
  if error:
419
419
  return (None, response, error)
420
420
 
421
- if response is None:
422
- return (AppConnectorGroup({"id": group_id}), None, None)
421
+ if response is None or not response.get_body():
422
+ return (AppConnectorGroup({"id": group_id}), response, None)
423
423
 
424
424
  try:
425
425
  result = AppConnectorGroup(self.form_response_body(response.get_body()))
@@ -213,9 +213,9 @@ class AppConnectorScheduleAPI(APIClient):
213
213
  return (None, response, error)
214
214
 
215
215
  # Handle case where no content is returned (204 No Content)
216
- if response is None:
216
+ if response is None or not response.get_body():
217
217
  # Return a meaningful result to indicate success
218
- return (AppConnectorSchedule({"id": scheduler_id}), None, None)
218
+ return (AppConnectorSchedule({"id": scheduler_id}), response, None)
219
219
 
220
220
  # Parse the response into an AppConnectorGroup instance
221
221
  try:
@@ -193,8 +193,8 @@ class AppConnectorControllerAPI(APIClient):
193
193
  if error:
194
194
  return (None, response, error)
195
195
 
196
- if response is None:
197
- return (AppConnectorController({"id": connector_id}), None, None)
196
+ if response is None or not response.get_body():
197
+ return (AppConnectorController({"id": connector_id}), response, None)
198
198
 
199
199
  try:
200
200
  result = AppConnectorController(self.form_response_body(response.get_body()))
@@ -424,8 +424,8 @@ class InspectionControllerAPI(APIClient):
424
424
  return (None, response, error)
425
425
 
426
426
  # Handle case where no content is returned (204 No Content)
427
- if response is None:
428
- return (AppProtectionProfile({"id": profile_id}), None, None)
427
+ if response is None or not response.get_body():
428
+ return (AppProtectionProfile({"id": profile_id}), response, None)
429
429
 
430
430
  try:
431
431
  result = AppProtectionProfile(self.form_response_body(response.get_body()))
@@ -517,8 +517,8 @@ class InspectionControllerAPI(APIClient):
517
517
  return (None, response, error)
518
518
 
519
519
  # Handle case where no content is returned (204 No Content)
520
- if response is None:
521
- return (AppProtectionProfile({"id": profile_id}), None, None)
520
+ if response is None or not response.get_body():
521
+ return (AppProtectionProfile({"id": profile_id}), response, None)
522
522
 
523
523
  # Parse the response into an InspectionProfile instance
524
524
  try:
@@ -781,8 +781,8 @@ class InspectionControllerAPI(APIClient):
781
781
  return (None, response, error)
782
782
 
783
783
  # Handle case where no content is returned (204 No Content)
784
- if response is None:
785
- return (CustomControls({"id": control_id}), None, None)
784
+ if response is None or not response.get_body():
785
+ return (CustomControls({"id": control_id}), response, None)
786
786
 
787
787
  try:
788
788
  result = CustomControls(self.form_response_body(response.get_body()))
@@ -471,8 +471,8 @@ class ApplicationSegmentBAAPI(APIClient):
471
471
  if error:
472
472
  return (None, response, error)
473
473
 
474
- if response is None:
475
- return (ApplicationSegments({"id": segment_id}), None, None)
474
+ if response is None or not response.get_body():
475
+ return (ApplicationSegments({"id": segment_id}), response, None)
476
476
 
477
477
  try:
478
478
  result = ApplicationSegments(self.form_response_body(response.get_body()))
@@ -430,8 +430,8 @@ class AppSegmentsBAV2API(APIClient):
430
430
  if error:
431
431
  return (None, response, error)
432
432
 
433
- if response is None:
434
- return (ApplicationSegments({"id": segment_id}), None, None)
433
+ if response is None or not response.get_body():
434
+ return (ApplicationSegments({"id": segment_id}), response, None)
435
435
 
436
436
  try:
437
437
  result = ApplicationSegments(self.form_response_body(response.get_body()))
@@ -466,8 +466,8 @@ class AppSegmentsInspectionAPI(APIClient):
466
466
  if error:
467
467
  return (None, response, error)
468
468
 
469
- if response is None:
470
- return (ApplicationSegments({"id": segment_id}), None, None)
469
+ if response is None or not response.get_body():
470
+ return (ApplicationSegments({"id": segment_id}), response, None)
471
471
 
472
472
  try:
473
473
  result = ApplicationSegments(self.form_response_body(response.get_body()))
@@ -425,8 +425,8 @@ class AppSegmentsPRAAPI(APIClient):
425
425
  if error:
426
426
  return (None, response, error)
427
427
 
428
- if response is None:
429
- return (ApplicationSegments({"id": segment_id}), None, None)
428
+ if response is None or not response.get_body():
429
+ return (ApplicationSegments({"id": segment_id}), response, None)
430
430
 
431
431
  try:
432
432
  result = ApplicationSegments(self.form_response_body(response.get_body()))
@@ -463,8 +463,8 @@ class ApplicationSegmentAPI(APIClient):
463
463
  if error:
464
464
  return (None, response, error)
465
465
 
466
- if response is None:
467
- return (ApplicationSegments({"id": segment_id}), None, None)
466
+ if response is None or not response.get_body():
467
+ return (ApplicationSegments({"id": segment_id}), response, None)
468
468
 
469
469
  try:
470
470
  result = ApplicationSegments(self.form_response_body(response.get_body()))
@@ -951,8 +951,8 @@ class ApplicationSegmentAPI(APIClient):
951
951
  if error:
952
952
  return (None, response, error)
953
953
 
954
- if response is None:
955
- return (WeightedLBConfig({"id": segment_id}), None, None)
954
+ if response is None or not response.get_body():
955
+ return (WeightedLBConfig({"id": segment_id}), response, None)
956
956
 
957
957
  try:
958
958
  result = WeightedLBConfig(self.form_response_body(response.get_body()))
@@ -218,8 +218,8 @@ class BrowserProtectionProfileAPI(APIClient):
218
218
  if error:
219
219
  return (None, response, error)
220
220
 
221
- if response is None:
222
- return (BrowserProtectionProfile({"id": profile_id}), None, None)
221
+ if response is None or not response.get_body():
222
+ return (BrowserProtectionProfile({"id": profile_id}), response, None)
223
223
 
224
224
  try:
225
225
  result = BrowserProtectionProfile(self.form_response_body(response.get_body()))
@@ -272,8 +272,8 @@ class IPRangesAPI(APIClient):
272
272
  if error:
273
273
  return (None, response, error)
274
274
 
275
- if response is None:
276
- return (IpRanges({"id": range_id}), None, None)
275
+ if response is None or not response.get_body():
276
+ return (IpRanges({"id": range_id}), response, None)
277
277
 
278
278
  try:
279
279
  result = IpRanges(self.form_response_body(response.get_body()))
@@ -210,9 +210,9 @@ class CBIBannerAPI(APIClient):
210
210
  return (None, response, error)
211
211
 
212
212
  # Handle case where no content is returned (204 No Content)
213
- if response is None:
213
+ if response is None or not response.get_body():
214
214
  # Return a meaningful result to indicate success
215
- return (CBIBanner({"id": banner_id}), None, None)
215
+ return (CBIBanner({"id": banner_id}), response, None)
216
216
 
217
217
  try:
218
218
  result = CBIBanner(self.form_response_body(response.get_body()))
@@ -337,8 +337,8 @@ class CBIProfileAPI(APIClient):
337
337
  return (None, response, error)
338
338
 
339
339
  # Handle case where no content is returned (204 No Content)
340
- if response is None:
341
- return (CBIProfile({"id": profile_id}), None, None)
340
+ if response is None or not response.get_body():
341
+ return (CBIProfile({"id": profile_id}), response, None)
342
342
 
343
343
  try:
344
344
  result = CBIProfile(self.form_response_body(response.get_body()))
@@ -303,9 +303,9 @@ class CertificatesAPI(APIClient):
303
303
  return (None, response, error)
304
304
 
305
305
  # Handle case where no content is returned (204 No Content)
306
- if response is None:
306
+ if response is None or not response.get_body():
307
307
  # Return a meaningful result to indicate success
308
- return (Certificate({"id": certificate_id}), None, None)
308
+ return (Certificate({"id": certificate_id}), response, None)
309
309
 
310
310
  try:
311
311
  result = Certificate(self.form_response_body(response.get_body()))
@@ -207,8 +207,8 @@ class ConfigOverrideControllerAPI(APIClient):
207
207
  if error:
208
208
  return (None, response, error)
209
209
 
210
- if response is None:
211
- return (ConfigOverrideController({"id": config_id}), None, None)
210
+ if response is None or not response.get_body():
211
+ return (ConfigOverrideController({"id": config_id}), response, None)
212
212
 
213
213
  try:
214
214
  result = ConfigOverrideController(self.form_response_body(response.get_body()))
@@ -259,8 +259,8 @@ class EmergencyAccessAPI(APIClient):
259
259
  return (None, response, error)
260
260
 
261
261
  # Handle case where no content is returned (204 No Content)
262
- if response is None:
263
- return (EmergencyAccessUser({"id": user_id}), None, None)
262
+ if response is None or not response.get_body():
263
+ return (EmergencyAccessUser({"id": user_id}), response, None)
264
264
 
265
265
  try:
266
266
  result = EmergencyAccessUser(self.form_response_body(response.get_body()))
@@ -306,8 +306,8 @@ class EmergencyAccessAPI(APIClient):
306
306
  return (None, response, error)
307
307
 
308
308
  # Handle case where no content is returned
309
- if response is None:
310
- return (None, None, None)
309
+ if response is None or not response.get_body():
310
+ return (None, response, None)
311
311
 
312
312
  try:
313
313
  # Process the response to return an EmergencyAccessUser instance
@@ -272,8 +272,8 @@ class EnrollmentCertificateAPI(APIClient):
272
272
  if error:
273
273
  return (None, response, error)
274
274
 
275
- if response is None:
276
- return (EnrollmentCertificate({"id": cert_id}), None, None)
275
+ if response is None or not response.get_body():
276
+ return (EnrollmentCertificate({"id": cert_id}), response, None)
277
277
 
278
278
  try:
279
279
  result = EnrollmentCertificate(self.form_response_body(response.get_body()))
@@ -254,45 +254,68 @@ class LegacyZPAClientHelper:
254
254
  Returns:
255
255
  Tuple[requests.Response, dict]: Response object and request details.
256
256
  """
257
- try:
258
- base_url = f"{self.baseurl}{path}"
257
+ from time import sleep
258
+
259
+ base_url = f"{self.baseurl}{path}"
260
+ attempts = 0
261
+ max_retries = 5
259
262
 
260
- headers = self.headers.copy()
261
- headers.update(self.request_executor.get_custom_headers())
262
- if not headers.get("Authorization"):
263
- self.refreshToken()
264
- # Re-copy headers after refreshToken() to include x-partner-id if it was added
263
+ while attempts < max_retries:
264
+ try:
265
265
  headers = self.headers.copy()
266
266
  headers.update(self.request_executor.get_custom_headers())
267
- headers["Authorization"] = f"Bearer {self.access_token}"
268
-
269
- response = requests.request(
270
- method=method,
271
- url=base_url,
272
- headers=headers,
273
- json=json,
274
- params=params,
275
- timeout=self.timeout,
276
- )
277
-
278
- _, err = check_response_for_error(base_url, response, response.text)
279
- if err:
280
- raise err
281
-
282
- logger.info("Legacy client request executed successfully. "
283
- "Status: %d, URL: %s", response.status_code, base_url)
284
-
285
- return response, {
286
- "method": method,
287
- "url": base_url,
288
- "params": params or {},
289
- "headers": headers,
290
- "json": json or {},
291
- }
292
-
293
- except requests.RequestException as error:
294
- logger.error(f"Error sending request: {error}")
295
- raise ValueError(f"Request execution failed: {error}")
267
+ if not headers.get("Authorization"):
268
+ self.refreshToken()
269
+ # Re-copy headers after refreshToken() to include x-partner-id if it was added
270
+ headers = self.headers.copy()
271
+ headers.update(self.request_executor.get_custom_headers())
272
+ headers["Authorization"] = f"Bearer {self.access_token}"
273
+
274
+ response = requests.request(
275
+ method=method,
276
+ url=base_url,
277
+ headers=headers,
278
+ json=json,
279
+ params=params,
280
+ timeout=self.timeout,
281
+ )
282
+
283
+ # Handle 429 rate limiting with retry-after header
284
+ # ZPA API returns lowercase 'retry-after' header
285
+ if response.status_code == 429:
286
+ # Check both header variants (lowercase and uppercase)
287
+ retry_after = response.headers.get("retry-after") or response.headers.get("Retry-After")
288
+ sleep_time = int(retry_after) if retry_after else 2
289
+ logger.warning(f"Rate limit exceeded (429). Retrying in {sleep_time} seconds. "
290
+ f"(Attempt {attempts + 1}/{max_retries})")
291
+ sleep(sleep_time)
292
+ attempts += 1
293
+ continue
294
+
295
+ _, err = check_response_for_error(base_url, response, response.text)
296
+ if err:
297
+ raise err
298
+
299
+ logger.info("Legacy client request executed successfully. "
300
+ "Status: %d, URL: %s", response.status_code, base_url)
301
+
302
+ return response, {
303
+ "method": method,
304
+ "url": base_url,
305
+ "params": params or {},
306
+ "headers": headers,
307
+ "json": json or {},
308
+ }
309
+
310
+ except requests.RequestException as error:
311
+ logger.error(f"Request to {base_url} failed: {error}")
312
+ if attempts == max_retries - 1:
313
+ raise ValueError(f"Request execution failed: {error}")
314
+ logger.warning(f"Retrying... ({attempts + 1}/{max_retries})")
315
+ attempts += 1
316
+ sleep(5)
317
+
318
+ raise ValueError("Request execution failed after maximum retries.")
296
319
 
297
320
  def set_session(self, session: Any) -> None:
298
321
  """Dummy method for compatibility with the request executor."""
@@ -407,9 +407,9 @@ class LSSConfigControllerAPI(APIClient):
407
407
  return (None, response, error)
408
408
 
409
409
  # Handle case where no content is returned (204 No Content)
410
- if response is None:
410
+ if response is None or not response.get_body():
411
411
  # Return a meaningful result to indicate success
412
- return (LSSResourceModel({"id": lss_config_id}), None, None)
412
+ return (LSSResourceModel({"id": lss_config_id}), response, None)
413
413
 
414
414
  # Parse the response into an LSSConfig instance
415
415
  try:
@@ -355,9 +355,9 @@ class MicrotenantsAPI(APIClient):
355
355
  return (None, response, error)
356
356
 
357
357
  # Handle case where no content is returned (204 No Content)
358
- if response is None:
358
+ if response is None or not response.get_body():
359
359
  # Return a meaningful result to indicate success
360
- return (Microtenant({"id": microtenant_id}), None, None)
360
+ return (Microtenant({"id": microtenant_id}), response, None)
361
361
 
362
362
  # Parse the response into an AppConnectorGroup instance
363
363
  try:
@@ -14,8 +14,6 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
14
  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
15
  """
16
16
 
17
- # AUTO-GENERATED! DO NOT EDIT FILE DIRECTLY
18
- # SEE CONTRIBUTOR DOCUMENTATION
19
17
  from zscaler.oneapi_object import ZscalerObject
20
18
  from zscaler.oneapi_collection import ZscalerCollection
21
19
 
@@ -16,7 +16,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
16
 
17
17
  from typing import Dict, List, Optional, Any, Union
18
18
  from zscaler.oneapi_object import ZscalerObject
19
-
19
+ from zscaler.oneapi_collection import ZscalerCollection
20
20
 
21
21
  class PrivilegedRemoteAccessPortal(ZscalerObject):
22
22
  """
@@ -47,6 +47,9 @@ class PrivilegedRemoteAccessPortal(ZscalerObject):
47
47
  self.user_notification_enabled = config["userNotificationEnabled"] if "userNotificationEnabled" in config else None
48
48
  self.user_portal_gid = config["userPortalGid"] if "userPortalGid" in config else None
49
49
  self.user_portal_name = config["userPortalName"] if "userPortalName" in config else None
50
+ self.approval_reviewers = ZscalerCollection.form_list(
51
+ config["approvalReviewers"] if "approvalReviewers" in config else [], str
52
+ )
50
53
  else:
51
54
  self.id = None
52
55
  self.name = None
@@ -70,6 +73,7 @@ class PrivilegedRemoteAccessPortal(ZscalerObject):
70
73
  self.modified_time = None
71
74
  self.user_portal_gid = None
72
75
  self.user_portal_name = None
76
+ self.approval_reviewers = []
73
77
 
74
78
  def request_format(self) -> Dict[str, Any]:
75
79
  """
@@ -98,6 +102,7 @@ class PrivilegedRemoteAccessPortal(ZscalerObject):
98
102
  "userNotificationEnabled": self.user_notification_enabled,
99
103
  "userPortalGid": self.user_portal_gid,
100
104
  "userPortalName": self.user_portal_name,
105
+ "approvalReviewers": self.approval_reviewers,
101
106
  }
102
107
  parent_req_format.update(current_obj_format)
103
108
  return parent_req_format