zscaler-sdk-python 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. zscaler-sdk-python-0.1.2/CHANGELOG.md +33 -0
  2. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/MANIFEST.in +1 -1
  3. {zscaler-sdk-python-0.1.0/zscaler_sdk_python.egg-info → zscaler-sdk-python-0.1.2}/PKG-INFO +125 -35
  4. zscaler-sdk-python-0.1.0/PKG-INFO → zscaler-sdk-python-0.1.2/README.md +112 -43
  5. zscaler-sdk-python-0.1.2/docsrc/Makefile +24 -0
  6. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/conf.py +5 -7
  7. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/index.rst +3 -3
  8. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/guides/support.rst +2 -2
  9. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/index.rst +4 -1
  10. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/index.rst +2 -0
  11. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/requirements.txt +1 -1
  12. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/setup.cfg +1 -1
  13. zscaler-sdk-python-0.1.2/setup.py +44 -0
  14. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_activation.py +1 -2
  15. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_admin_and_role_management.py +1 -2
  16. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_authentication_settings.py +3 -6
  17. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_cloud_firewall_ip_destination_groups.py +1 -2
  18. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_cloud_firewall_ip_source_groups.py +1 -2
  19. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_cloud_firewall_rule.py +1 -2
  20. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_dlp_dictionary.py +1 -2
  21. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_dlp_engines.py +1 -2
  22. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_dlp_icap_server.py +1 -2
  23. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_dlp_idm_profile.py +1 -2
  24. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_dlp_incident_receiver.py +7 -18
  25. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_dlp_web_rule.py +1 -2
  26. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_isolation_profile.py +1 -2
  27. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_location_group.py +1 -2
  28. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_location_management.py +5 -10
  29. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_rule_labels.py +1 -2
  30. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_sandbox.py +6 -12
  31. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_security.py +9 -16
  32. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_traffic_gre_tunnel.py +6 -12
  33. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_traffic_static_ip.py +1 -2
  34. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_traffic_vpn_credential.py +1 -2
  35. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_url_categories.py +3 -6
  36. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_url_filtering_rule.py +1 -2
  37. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/test_users.py +3 -6
  38. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_access_policy_forwarding_rules.py +1 -2
  39. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_access_policy_rules.py +1 -2
  40. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_access_policy_timeout_rules.py +1 -2
  41. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_app_connector_groups.py +5 -14
  42. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_application_segment.py +1 -2
  43. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_application_servers.py +1 -2
  44. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_ba_certificates.py +1 -2
  45. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_enrolment_certificates.py +1 -2
  46. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_idp.py +1 -2
  47. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_isolation_profile.py +1 -2
  48. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_machine_groups.py +1 -2
  49. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_posture_profiles.py +1 -2
  50. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_pra_approval.py +1 -2
  51. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_pra_credential.py +1 -2
  52. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_pra_portal.py +1 -2
  53. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_provisioning_key_app_connector_group.py +1 -2
  54. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_provisioning_key_service_edge_group.py +1 -2
  55. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_saml_attributes.py +1 -2
  56. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_scim_attributes.py +1 -2
  57. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_scim_groups.py +1 -2
  58. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_segment_groups.py +1 -2
  59. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_server_groups.py +1 -2
  60. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_service_edge_groups.py +1 -2
  61. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/test_trusted_networks.py +1 -2
  62. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/__init__.py +1 -1
  63. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/dlp.py +27 -14
  64. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/sandbox.py +21 -0
  65. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/traffic.py +0 -4
  66. zscaler-sdk-python-0.1.0/README.md → zscaler-sdk-python-0.1.2/zscaler_sdk_python.egg-info/PKG-INFO +133 -32
  67. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler_sdk_python.egg-info/SOURCES.txt +0 -1
  68. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler_sdk_python.egg-info/requires.txt +14 -0
  69. zscaler-sdk-python-0.1.0/CHANGELOG.md +0 -9
  70. zscaler-sdk-python-0.1.0/LONG_DESCRIPTION.md +0 -232
  71. zscaler-sdk-python-0.1.0/docsrc/Makefile +0 -185
  72. zscaler-sdk-python-0.1.0/setup.py +0 -54
  73. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/LICENSE.md +0 -0
  74. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/guides/examples.rst +0 -0
  75. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/guides/index.rst +0 -0
  76. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/guides/troubleshooting.rst +0 -0
  77. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/activate.rst +0 -0
  78. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/admin_and_role_management.rst +0 -0
  79. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/apptotal.rst +0 -0
  80. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/audit_logs.rst +0 -0
  81. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/authentication_settings.rst +0 -0
  82. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/cloud_apps.rst +0 -0
  83. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/device_management.rst +0 -0
  84. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/dlp.rst +0 -0
  85. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/firewall.rst +0 -0
  86. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/forwarding_control.rst +0 -0
  87. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/isolation_profile.rst +0 -0
  88. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/locations.rst +0 -0
  89. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/rule_labels.rst +0 -0
  90. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/sandbox.rst +0 -0
  91. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/security.rst +0 -0
  92. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/ssl_inspection.rst +0 -0
  93. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/traffic.rst +0 -0
  94. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/url_categories.rst +0 -0
  95. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/url_filtering.rst +0 -0
  96. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/users.rst +0 -0
  97. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/web_dlp.rst +0 -0
  98. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/workload_groups.rst +0 -0
  99. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zia/zpa_gateway.rst +0 -0
  100. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/app_segments.rst +0 -0
  101. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/app_segments_inspection.rst +0 -0
  102. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/app_segments_pra.rst +0 -0
  103. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/certificates.rst +0 -0
  104. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/cloud_connector_groups.rst +0 -0
  105. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/connectors.rst +0 -0
  106. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/emergency_access.rst +0 -0
  107. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/idp.rst +0 -0
  108. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/inspection.rst +0 -0
  109. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/isolation_profile.rst +0 -0
  110. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/lss.rst +0 -0
  111. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/machine_groups.rst +0 -0
  112. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/policies.rst +0 -0
  113. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/posture_profiles.rst +0 -0
  114. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/privileged_remote_access.rst +0 -0
  115. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/provisioning.rst +0 -0
  116. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/saml_attributes.rst +0 -0
  117. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/scim_attributes.rst +0 -0
  118. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/scim_groups.rst +0 -0
  119. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/segment_groups.rst +0 -0
  120. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/server_groups.rst +0 -0
  121. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/servers.rst +0 -0
  122. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/service_edges.rst +0 -0
  123. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/docsrc/zs/zpa/trusted_networks.rst +0 -0
  124. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/__init__.py +0 -0
  125. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/conftest.py +0 -0
  126. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zia/conftest.py +0 -0
  127. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/__init__.py +0 -0
  128. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/integration/zpa/conftest.py +0 -0
  129. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tests/test_utils.py +0 -0
  130. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/tox.ini +0 -0
  131. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/cache/__init__.py +0 -0
  132. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/cache/cache.py +0 -0
  133. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/cache/no_op_cache.py +0 -0
  134. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/cache/zscaler_cache.py +0 -0
  135. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/constants.py +0 -0
  136. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/errors/__init__.py +0 -0
  137. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/errors/error.py +0 -0
  138. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/errors/http_error.py +0 -0
  139. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/errors/zscaler_api_error.py +0 -0
  140. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/exceptions/__init__.py +0 -0
  141. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/exceptions/exceptions.py +0 -0
  142. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/logger.py +0 -0
  143. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/ratelimiter/__init__.py +0 -0
  144. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/ratelimiter/ratelimiter.py +0 -0
  145. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/user_agent.py +0 -0
  146. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/utils.py +0 -0
  147. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/__init__.py +0 -0
  148. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/activate.py +0 -0
  149. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/admin_and_role_management.py +0 -0
  150. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/apptotal.py +0 -0
  151. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/audit_logs.py +0 -0
  152. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/authentication_settings.py +0 -0
  153. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/client.py +0 -0
  154. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/cloud_apps.py +0 -0
  155. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/device_management.py +0 -0
  156. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/errors.py +0 -0
  157. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/firewall.py +0 -0
  158. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/forwarding_control.py +0 -0
  159. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/isolation_profile.py +0 -0
  160. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/labels.py +0 -0
  161. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/locations.py +0 -0
  162. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/security.py +0 -0
  163. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/ssl_inspection.py +0 -0
  164. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/url_categories.py +0 -0
  165. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/url_filtering.py +0 -0
  166. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/users.py +0 -0
  167. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/web_dlp.py +0 -0
  168. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/workload_groups.py +0 -0
  169. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zia/zpa_gateway.py +0 -0
  170. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/README.md +0 -0
  171. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/__init__.py +0 -0
  172. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/app_segments.py +0 -0
  173. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/app_segments_inspection.py +0 -0
  174. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/app_segments_pra.py +0 -0
  175. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/certificates.py +0 -0
  176. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/client.py +0 -0
  177. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/cloud_connector_groups.py +0 -0
  178. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/connectors.py +0 -0
  179. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/emergency_access.py +0 -0
  180. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/errors.py +0 -0
  181. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/idp.py +0 -0
  182. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/inspection.py +0 -0
  183. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/isolation_profile.py +0 -0
  184. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/lss.py +0 -0
  185. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/machine_groups.py +0 -0
  186. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/policies.py +0 -0
  187. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/posture_profiles.py +0 -0
  188. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/privileged_remote_access.py +0 -0
  189. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/provisioning.py +0 -0
  190. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/saml_attributes.py +0 -0
  191. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/scim_attributes.py +0 -0
  192. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/scim_groups.py +0 -0
  193. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/segment_groups.py +0 -0
  194. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/server_groups.py +0 -0
  195. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/servers.py +0 -0
  196. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/service_edges.py +0 -0
  197. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler/zpa/trusted_networks.py +0 -0
  198. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler_sdk_python.egg-info/dependency_links.txt +0 -0
  199. {zscaler-sdk-python-0.1.0 → zscaler-sdk-python-0.1.2}/zscaler_sdk_python.egg-info/top_level.txt +0 -0
@@ -0,0 +1,33 @@
1
+ # Zscaler Python SDK Changelog
2
+
3
+ ## 0.1.2 (April, 20 2024)
4
+
5
+ ### Notes
6
+
7
+ - Python Versions: **v3.8, v3.9, v3.10, v3.11**
8
+
9
+ ### Bug Fixes
10
+
11
+ * Fixed ZIA `list_dlp_incident_receiver` method to return proper `Box` response ([#67](https://github.com/zscaler/zscaler-sdk-python/pull/67))
12
+ * Fixed ZIA sandbox `get_file_hash_count` to properly parse the API response ([#67](https://github.com/zscaler/zscaler-sdk-python/pull/67))
13
+ * Removed pre-shared-key randomization from `add_vpn_credential` ([#67](https://github.com/zscaler/zscaler-sdk-python/pull/67))
14
+
15
+ ## 0.1.1 (April, 19 2024)
16
+
17
+ ### Notes
18
+
19
+ - Python Versions: **v3.8, v3.9, v3.10, v3.11**
20
+
21
+ ### Internal Changes
22
+
23
+ * Refactored `setup.py` for better packaging and improved long description through README.md ([#57](https://github.com/zscaler/zscaler-sdk-python/pull/57))
24
+ * Refactored Integration Tests by removing `async` decorators ([#63](https://github.com/zscaler/zscaler-sdk-python/pull/63))
25
+
26
+
27
+ ## 0.1.0 (April, 18 2024)
28
+
29
+ ### Notes
30
+
31
+ - Python Versions: **v3.8, v3.9, v3.10, v3.11**
32
+
33
+ 🎉 **Initial Release** 🎉
@@ -1,4 +1,4 @@
1
- include CHANGELOG.md LICENSE.md README.md LONG_DESCRIPTION.md tox.ini requirements.txt
1
+ include CHANGELOG.md LICENSE.md README.md tox.ini requirements.txt
2
2
 
3
3
  recursive-include tests *
4
4
  recursive-exclude * __pycache__
@@ -1,70 +1,145 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zscaler-sdk-python
3
- Version: 0.1.0
4
- Summary: Official Python SDK for the Zscaler Products
5
- Home-page: https://github.com/zscaler/zscaler-sdk-python
6
- Author: Zscaler Technology Alliances
3
+ Version: 0.1.2
4
+ Summary: Official Python SDK for the Zscaler Products (Beta)
5
+ Home-page: https://zscaler-sdk-python.readthedocs.io
6
+ Author: Zscaler, Inc.
7
7
  Author-email: devrel@zscaler.com
8
+ Keywords: zscaler,sdk,zpa,zia,zdx,zcc,zcon
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Operating System :: OS Independent
8
17
  Requires-Python: >=3.8,<4.0
9
18
  Description-Content-Type: text/markdown
19
+ Provides-Extra: dev
10
20
  License-File: LICENSE.md
11
21
 
12
- # Official Python SDK for the Zscaler Products
22
+ # Official Python SDK for the Zscaler Products (Beta)
13
23
 
14
- [![CI/CD](https://github.com/zscaler/zscaler-sdk-python/actions/workflows/ci.yml/badge.svg)](https://github.com/zscaler/zscaler-sdk-python/actions/workflows/ci.yml)
15
- [![Documentation Status](https://readthedocs.org/projects/zscaler-sdk-python/badge/?version=latest)](https://zscaler-sdk-python.readthedocs.io/en/latest/?badge=latest)
24
+ [![PyPI - Downloads](https://img.shields.io/pypi/dw/zscaler-sdk-python)](https://pypistats.org/packages/zscaler-sdk-python)
16
25
  [![License](https://img.shields.io/github/license/zscaler/zscaler-sdk-python.svg)](https://github.com/zscaler/zscaler-sdk-python)
26
+ [![Documentation Status](https://readthedocs.org/projects/zscaler-sdk-python/badge/?version=latest)](https://zscaler-sdk-python.readthedocs.io/en/latest/?badge=latest)
17
27
  [![Latest version released on PyPi](https://img.shields.io/pypi/v/zscaler-sdk-python.svg)](https://pypi.org/project/zscaler-sdk-python)
18
28
  [![PyPI pyversions](https://img.shields.io/pypi/pyversions/zscaler-sdk-python.svg)](https://pypi.python.org/pypi/zscaler-sdk-python/)
19
- [![GitHub Release](https://img.shields.io/github/release/zscaler/zscaler-sdk-python.svg)](https://github.com/zscaler/zscaler-sdk-python/releases/)
20
29
  [![Zscaler Community](https://img.shields.io/badge/zscaler-community-blue)](https://community.zscaler.com/)
21
30
 
22
31
  ## Support Disclaimer
23
32
 
24
- -> **Disclaimer:** Please refer to our [General Support Statement](docs/guides/support.md) before proceeding with the use of this provider. You can also refer to our [troubleshooting guide](docs/guides/troubleshooting.md) for guidance on typical problems.
33
+ -> **Disclaimer:** Please refer to our [General Support Statement](docsrc/zs/guides/support.rst) before proceeding with the use of this provider. You can also refer to our [troubleshooting guide](docsrc/zs/guides/troubleshooting.rst) for guidance on typical problems.
25
34
 
26
35
  ## Zscaler Python SDK Overview
27
36
 
28
- This repository contains the Zscaler SDK for Python. This SDK can be used to interact with several Zscaler services such as:
37
+ The Zscaler SDK for Python includes functionality to accelerate development with [Python](https://www.python.org/) several Zscaler services such as:
29
38
 
30
- * Zscaler Private Access (ZPA)
31
- * Zscaler Internet Access (ZIA)
39
+ * [Zscaler Internet Access (ZIA)](https://help.zscaler.com/zia/getting-started-zia-api)
40
+ * [Zscaler Private Access (ZPA)](https://help.zscaler.com/zpa/getting-started-zpa-api)
32
41
  * [Documentation](http://zscaler-sdk-python.readthedocs.io)
33
42
 
34
- -----
43
+ Each package is supportedd by an individual and robust HTTP client designed to handle failures on different levels by performing intelligent retries.
35
44
 
36
- Each Zscaler product has separate developer documentation and authentication methods. This SDK aims to simplify
37
- software development using the Zscaler API for both customers and partners.
45
+ **Beta:** This SDK is supported for production use cases, but we do expect future releases to have some interface changes; see [Interface stability](#interface-stability).
46
+ We are keen to hear feedback from you on these SDKs. Please [file issues](https://github.com/zscaler/zscaler-sdk-python/issues), and we will address them.
47
+
48
+ ## Contents
38
49
 
39
- - [Release Status](#release-status)
40
- - [Need help?](#need-help)
41
50
  - [Getting Started](#getting-started)
51
+ - [Usage](#usage)
52
+ - [Authentication](#authentication)
42
53
  - [Pagination](#pagination)
43
54
  - [Logging](#logging)
44
55
  - [Rate Limiting](#rate-limiting)
45
56
  - [Environment variables](#environment-variables)
46
57
  - [Building the SDK](#building-the-sdk)
58
+ - [Interface stability](#interface-stability)
59
+ - [Need help?](#need-help)
47
60
  - [Contributing](#contributing)
48
61
 
49
62
  > Requires Python version 3.8.0 or higher.
50
63
 
51
- ## Need help?
64
+ ## Getting started<a id="getting-started"></a>
52
65
 
53
- If you run into problems using the SDK, you can:
66
+ To install the Zscaler Python SDK in your project:
67
+ 1. Please install Zscaler SDK for Python via `pip install zscaler-sdk-python` and instantiate the respective client based on your project usage:
68
+ - `ZIAClientHelper`
69
+ - `ZPAClientHelper`
54
70
 
55
- - Ask questions on the [Zenith Community][zenith]
56
- - Post [issues on GitHub][github-issues] (for code errors)
57
- - Support [customer support portal][zscaler-support]
71
+ Zscaler SDK for Python is compatible with Python 3.7 _(until [June 2023](https://devguide.python.org/versions/))_, 3.8, 3.9, 3.10, and 3.11.
58
72
 
59
- ## Getting started
73
+ The upgrade to the latest version of this SDK can be done by executing the following command:
74
+ ```python
75
+ %pip install --upgrade zscaler-sdk-python
76
+ ```
77
+ followed by
78
+ ```python
79
+ dbutils.library.restartPython()
80
+ ```
60
81
 
61
- To install the Zscaler Python SDK in your project:
82
+ ## Authentication<a id="authentication"></a>
62
83
 
63
- ```sh
64
- pip install zscaler-sdk-python
65
- ```
84
+ Each Zscaler product has separate developer documentation and authentication methods. In this section you will find
85
+
86
+ 1. Credentials that are hard-coded into configuration arguments.
87
+
88
+ :warning: **Caution**: Zscaler does not recommend hard-coding credentials into arguments, as they can be exposed in plain text in version control systems. Use environment variables instead.
89
+
90
+ ### ZIA native authentication
91
+
92
+ - For authentication via Zscaler Internet Access, you must provide `username`, `password`, `api_key` and `cloud`
93
+
94
+ The ZIA Cloud is identified by several cloud name prefixes, which determines which API endpoint the requests should be sent to. The following cloud environments are supported:
95
+
96
+ * `zscaler`
97
+ * `zscalerone`
98
+ * `zscalertwo`
99
+ * `zscalerthree`
100
+ * `zscloud`
101
+ * `zscalerbeta`
102
+ * `zscalergov`
103
+ * `zscalerten`
104
+ * `zspreview`
66
105
 
67
- ## Usage
106
+ ### Environment variables
107
+
108
+ You can provide credentials via the `ZIA_USERNAME`, `ZIA_PASSWORD`, `ZIA_API_KEY`, `ZIA_CLOUD` environment variables, representing your ZIA `username`, `password`, `api_key` and `cloud` respectively.
109
+
110
+ | Argument | Description | Environment variable |
111
+ |--------------|-------------|-------------------|
112
+ | `username` | _(String)_ A string that contains the email ID of the API admin.| `ZIA_USERNAME` |
113
+ | `password` | _(String)_ A string that contains the password for the API admin.| `ZIA_PASSWORD` |
114
+ | `api_key` | _(String)_ A string that contains the obfuscated API key (i.e., the return value of the obfuscateApiKey() method).| `ZIA_API_KEY` |
115
+ | `cloud` | _(String)_ The host and basePath for the cloud services API is `$zsapi.<Zscaler Cloud Name>/api/v1`.| `ZIA_CLOUD` |
116
+
117
+ ### ZPA native authentication
118
+
119
+ - For authentication via Zscaler Private Access, you must provide `client_id`, `client_secret`, `customer_id` and `cloud`
120
+
121
+ The ZPA Cloud is identified by several cloud name prefixes, which determines which API endpoint the requests should be sent to. The following cloud environments are supported:
122
+
123
+ * `PRODUCTION`
124
+ * `ZPATWO`
125
+ * `BETA`
126
+ * `GOV`
127
+ * `GOVUS`
128
+
129
+ ### Environment variables
130
+
131
+ You can provide credentials via the `ZPA_CLIENT_ID`, `ZPA_CLIENT_SECRET`, `ZPA_CUSTOMER_ID`, `ZPA_CLOUD` environment variables, representing your ZPA `client_id`, `client_secret`, `customer_id` and `cloud` of your ZPA account, respectively.
132
+
133
+ ~> **NOTE** `ZPA_CLOUD` environment variable is required, and is used to identify the correct API gateway where the API requests should be forwarded to.
134
+
135
+ | Argument | Description | Environment variable |
136
+ |--------------|-------------|-------------------|
137
+ | `client_id` | _(String)_ The ZPA API client ID generated from the ZPA console.| `ZPA_CLIENT_ID` |
138
+ | `client_secret` | _(String)_ The ZPA API client secret generated from the ZPA console.| `ZPA_CLIENT_SECRET` |
139
+ | `customer_id` | _(String)_ The ZPA tenant ID found in the Administration > Company menu in the ZPA console.| `ZPA_CUSTOMER_ID` |
140
+ | `cloud` | _(String)_ The Zscaler cloud for your tenancy.| `ZPA_CLOUD` |
141
+
142
+ ## Usage<a id="usage"></a>
68
143
 
69
144
  Before you can interact with any of the Zscaler APIs, you need to generate API keys or retrieve tenancy information for each product that you are interfacing with. Once you have the requirements and you have installed Zscaler SDK Python, you're ready to go.
70
145
 
@@ -92,7 +167,7 @@ for app_segment in zpa.app_segments.list_segments():
92
167
 
93
168
  ~> **NOTE** The `ZPA_CLOUD` environment variable is optional and only required if your project needs to interact with any other ZPA cloud other than production cloud. In this case, use the `ZPA_CLOUD` environment variable followed by the name of the corresponding environment: `ZPA_CLOUD=BETA`, `ZPA_CLOUD=ZPATWO`, `ZPA_CLOUD=GOV`, `ZPA_CLOUD=GOVUS`, `ZPA_CLOUD=PREVIEW`, `ZPA_CLOUD=DEV`.
94
169
 
95
- ## Pagination
170
+ ## Pagination<a id="pagination"></a>
96
171
 
97
172
  This SDK provides methods that retrieve a list of resources from the API, which return paginated results due to the volume of data. Each method capable of returning paginated data is prefixed as `list_` and handles the pagination internally by providing an easy interface to iterate through pages. The user does not need to manually fetch each page; instead, they can process items as they iterate through them.
98
173
 
@@ -142,7 +217,7 @@ For more details on each pagination parameter see:
142
217
  [ZPA Pagination Parameters](zscaler/zpa/README.md)
143
218
  [ZIA Pagination Parameters](zscaler/zia/README.md)
144
219
 
145
- ## Logging
220
+ ## Logging<a id="logging"></a>
146
221
 
147
222
  The Zscaler SDK Python, provides robust logging for debug purposes.
148
223
  Logs are disabled by default and should be enabled explicitly via custom environment variable:
@@ -161,7 +236,7 @@ You should now see logs in your console. Notice that API tokens are **NOT** logg
161
236
 
162
237
  What it being logged? `requests`, `responses`, `http errors`, `caching responses`.
163
238
 
164
- ### Environment variables
239
+ ## Environment variables<a id="environment-variables"></a>
165
240
 
166
241
  Each one of the configuration values above can be turned into an environment variable name with the `_` (underscore) character and UPPERCASE characters. The following are accepted:
167
242
 
@@ -171,7 +246,7 @@ Each one of the configuration values above can be turned into an environment var
171
246
  - `ZSCALER_SDK_LOG` - Turn on logging
172
247
  - `ZSCALER_SDK_VERBOSE` - Turn on logging in verbose mode
173
248
 
174
- ## Rate Limiting
249
+ ## Rate Limiting<a id="rate-limiting"></a>
175
250
 
176
251
  Zscaler provides unique rate limiting numbers for each individual product. Regardless of the product, a 429 response will be returned if too many requests are made within a given time.
177
252
  Please see:
@@ -190,17 +265,24 @@ Retry Conditions: The client for both ZPA and ZIA retries a request under the fo
190
265
 
191
266
  * Exceptions during request execution: Any requests.RequestException encountered during the request triggers a retry, except on the last attempt, where the exception is raised.
192
267
 
193
- ## Building the SDK
268
+ ## Building the SDK<a id="building-the-sdk"></a>
194
269
 
195
270
  In most cases, you won't need to build the SDK from source. If you want to build it yourself, you'll need these prerequisites:
196
271
 
197
272
  - Clone the repo
198
273
  - Run `make build:dist` from the root of the project (assuming Python is installed)
199
- - Ensure tests run succesfully.
274
+ - Ensure tests run succesfully by executing `make test-simple`
200
275
  - Install `tox` if not installed already using: `pip install tox`.
201
276
  - Run tests using `tox` in the root directory of the project.
202
277
 
203
- ## Contributing
278
+ ## Interface stability<a id="interface-stability"></a>
279
+
280
+ Zscaler is actively working on stabilizing the Zscaler SDK for Python's interfaces.
281
+ You are highly encouraged to pin the exact dependency version and read the [changelog](https://github.com/zscaler/zscaler-sdk-python/blob/master/CHANGELOG.md)
282
+ where Zscaler documents the changes. Zscaler may have minor [documented](https://github.com/zscaler/zscaler-sdk-python/blob/master/CHANGELOG.md)
283
+ backward-incompatible changes, such as renaming some type names to bring more consistency.
284
+
285
+ ## Contributing<a id="contributing"></a>
204
286
 
205
287
  At this moment we are not accepting contributions, but we welcome suggestions on how to improve this SDK or feature requests, which can then be added in future releases.
206
288
 
@@ -210,6 +292,14 @@ At this moment we are not accepting contributions, but we welcome suggestions on
210
292
  [rate-limiting-zpa]: https://help.zscaler.com/zpa/understanding-rate-limiting
211
293
  [rate-limiting-zia]: https://help.zscaler.com/zia/understanding-rate-limiting
212
294
 
295
+ ## Need help?<a id="need-help"></a>
296
+
297
+ If you run into problems using the SDK, you can:
298
+
299
+ - Ask questions on the [Zenith Community][zenith]
300
+ - Post [issues on GitHub][github-issues] (for code errors)
301
+ - Support [customer support portal][zscaler-support]
302
+
213
303
  Contributors
214
304
  ------------
215
305
 
@@ -1,70 +1,124 @@
1
- Metadata-Version: 2.1
2
- Name: zscaler-sdk-python
3
- Version: 0.1.0
4
- Summary: Official Python SDK for the Zscaler Products
5
- Home-page: https://github.com/zscaler/zscaler-sdk-python
6
- Author: Zscaler Technology Alliances
7
- Author-email: devrel@zscaler.com
8
- Requires-Python: >=3.8,<4.0
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE.md
11
-
12
- # Official Python SDK for the Zscaler Products
13
-
14
- [![CI/CD](https://github.com/zscaler/zscaler-sdk-python/actions/workflows/ci.yml/badge.svg)](https://github.com/zscaler/zscaler-sdk-python/actions/workflows/ci.yml)
15
- [![Documentation Status](https://readthedocs.org/projects/zscaler-sdk-python/badge/?version=latest)](https://zscaler-sdk-python.readthedocs.io/en/latest/?badge=latest)
1
+ # Official Python SDK for the Zscaler Products (Beta)
2
+
3
+ [![PyPI - Downloads](https://img.shields.io/pypi/dw/zscaler-sdk-python)](https://pypistats.org/packages/zscaler-sdk-python)
16
4
  [![License](https://img.shields.io/github/license/zscaler/zscaler-sdk-python.svg)](https://github.com/zscaler/zscaler-sdk-python)
5
+ [![Documentation Status](https://readthedocs.org/projects/zscaler-sdk-python/badge/?version=latest)](https://zscaler-sdk-python.readthedocs.io/en/latest/?badge=latest)
17
6
  [![Latest version released on PyPi](https://img.shields.io/pypi/v/zscaler-sdk-python.svg)](https://pypi.org/project/zscaler-sdk-python)
18
7
  [![PyPI pyversions](https://img.shields.io/pypi/pyversions/zscaler-sdk-python.svg)](https://pypi.python.org/pypi/zscaler-sdk-python/)
19
- [![GitHub Release](https://img.shields.io/github/release/zscaler/zscaler-sdk-python.svg)](https://github.com/zscaler/zscaler-sdk-python/releases/)
20
8
  [![Zscaler Community](https://img.shields.io/badge/zscaler-community-blue)](https://community.zscaler.com/)
21
9
 
22
10
  ## Support Disclaimer
23
11
 
24
- -> **Disclaimer:** Please refer to our [General Support Statement](docs/guides/support.md) before proceeding with the use of this provider. You can also refer to our [troubleshooting guide](docs/guides/troubleshooting.md) for guidance on typical problems.
12
+ -> **Disclaimer:** Please refer to our [General Support Statement](docsrc/zs/guides/support.rst) before proceeding with the use of this provider. You can also refer to our [troubleshooting guide](docsrc/zs/guides/troubleshooting.rst) for guidance on typical problems.
25
13
 
26
14
  ## Zscaler Python SDK Overview
27
15
 
28
- This repository contains the Zscaler SDK for Python. This SDK can be used to interact with several Zscaler services such as:
16
+ The Zscaler SDK for Python includes functionality to accelerate development with [Python](https://www.python.org/) several Zscaler services such as:
29
17
 
30
- * Zscaler Private Access (ZPA)
31
- * Zscaler Internet Access (ZIA)
18
+ * [Zscaler Internet Access (ZIA)](https://help.zscaler.com/zia/getting-started-zia-api)
19
+ * [Zscaler Private Access (ZPA)](https://help.zscaler.com/zpa/getting-started-zpa-api)
32
20
  * [Documentation](http://zscaler-sdk-python.readthedocs.io)
33
21
 
34
- -----
22
+ Each package is supportedd by an individual and robust HTTP client designed to handle failures on different levels by performing intelligent retries.
35
23
 
36
- Each Zscaler product has separate developer documentation and authentication methods. This SDK aims to simplify
37
- software development using the Zscaler API for both customers and partners.
24
+ **Beta:** This SDK is supported for production use cases, but we do expect future releases to have some interface changes; see [Interface stability](#interface-stability).
25
+ We are keen to hear feedback from you on these SDKs. Please [file issues](https://github.com/zscaler/zscaler-sdk-python/issues), and we will address them.
26
+
27
+ ## Contents
38
28
 
39
- - [Release Status](#release-status)
40
- - [Need help?](#need-help)
41
29
  - [Getting Started](#getting-started)
30
+ - [Usage](#usage)
31
+ - [Authentication](#authentication)
42
32
  - [Pagination](#pagination)
43
33
  - [Logging](#logging)
44
34
  - [Rate Limiting](#rate-limiting)
45
35
  - [Environment variables](#environment-variables)
46
36
  - [Building the SDK](#building-the-sdk)
37
+ - [Interface stability](#interface-stability)
38
+ - [Need help?](#need-help)
47
39
  - [Contributing](#contributing)
48
40
 
49
41
  > Requires Python version 3.8.0 or higher.
50
42
 
51
- ## Need help?
43
+ ## Getting started<a id="getting-started"></a>
52
44
 
53
- If you run into problems using the SDK, you can:
45
+ To install the Zscaler Python SDK in your project:
46
+ 1. Please install Zscaler SDK for Python via `pip install zscaler-sdk-python` and instantiate the respective client based on your project usage:
47
+ - `ZIAClientHelper`
48
+ - `ZPAClientHelper`
54
49
 
55
- - Ask questions on the [Zenith Community][zenith]
56
- - Post [issues on GitHub][github-issues] (for code errors)
57
- - Support [customer support portal][zscaler-support]
50
+ Zscaler SDK for Python is compatible with Python 3.7 _(until [June 2023](https://devguide.python.org/versions/))_, 3.8, 3.9, 3.10, and 3.11.
51
+
52
+ The upgrade to the latest version of this SDK can be done by executing the following command:
53
+ ```python
54
+ %pip install --upgrade zscaler-sdk-python
55
+ ```
56
+ followed by
57
+ ```python
58
+ dbutils.library.restartPython()
59
+ ```
58
60
 
59
- ## Getting started
61
+ ## Authentication<a id="authentication"></a>
60
62
 
61
- To install the Zscaler Python SDK in your project:
63
+ Each Zscaler product has separate developer documentation and authentication methods. In this section you will find
62
64
 
63
- ```sh
64
- pip install zscaler-sdk-python
65
- ```
65
+ 1. Credentials that are hard-coded into configuration arguments.
66
+
67
+ :warning: **Caution**: Zscaler does not recommend hard-coding credentials into arguments, as they can be exposed in plain text in version control systems. Use environment variables instead.
68
+
69
+ ### ZIA native authentication
66
70
 
67
- ## Usage
71
+ - For authentication via Zscaler Internet Access, you must provide `username`, `password`, `api_key` and `cloud`
72
+
73
+ The ZIA Cloud is identified by several cloud name prefixes, which determines which API endpoint the requests should be sent to. The following cloud environments are supported:
74
+
75
+ * `zscaler`
76
+ * `zscalerone`
77
+ * `zscalertwo`
78
+ * `zscalerthree`
79
+ * `zscloud`
80
+ * `zscalerbeta`
81
+ * `zscalergov`
82
+ * `zscalerten`
83
+ * `zspreview`
84
+
85
+ ### Environment variables
86
+
87
+ You can provide credentials via the `ZIA_USERNAME`, `ZIA_PASSWORD`, `ZIA_API_KEY`, `ZIA_CLOUD` environment variables, representing your ZIA `username`, `password`, `api_key` and `cloud` respectively.
88
+
89
+ | Argument | Description | Environment variable |
90
+ |--------------|-------------|-------------------|
91
+ | `username` | _(String)_ A string that contains the email ID of the API admin.| `ZIA_USERNAME` |
92
+ | `password` | _(String)_ A string that contains the password for the API admin.| `ZIA_PASSWORD` |
93
+ | `api_key` | _(String)_ A string that contains the obfuscated API key (i.e., the return value of the obfuscateApiKey() method).| `ZIA_API_KEY` |
94
+ | `cloud` | _(String)_ The host and basePath for the cloud services API is `$zsapi.<Zscaler Cloud Name>/api/v1`.| `ZIA_CLOUD` |
95
+
96
+ ### ZPA native authentication
97
+
98
+ - For authentication via Zscaler Private Access, you must provide `client_id`, `client_secret`, `customer_id` and `cloud`
99
+
100
+ The ZPA Cloud is identified by several cloud name prefixes, which determines which API endpoint the requests should be sent to. The following cloud environments are supported:
101
+
102
+ * `PRODUCTION`
103
+ * `ZPATWO`
104
+ * `BETA`
105
+ * `GOV`
106
+ * `GOVUS`
107
+
108
+ ### Environment variables
109
+
110
+ You can provide credentials via the `ZPA_CLIENT_ID`, `ZPA_CLIENT_SECRET`, `ZPA_CUSTOMER_ID`, `ZPA_CLOUD` environment variables, representing your ZPA `client_id`, `client_secret`, `customer_id` and `cloud` of your ZPA account, respectively.
111
+
112
+ ~> **NOTE** `ZPA_CLOUD` environment variable is required, and is used to identify the correct API gateway where the API requests should be forwarded to.
113
+
114
+ | Argument | Description | Environment variable |
115
+ |--------------|-------------|-------------------|
116
+ | `client_id` | _(String)_ The ZPA API client ID generated from the ZPA console.| `ZPA_CLIENT_ID` |
117
+ | `client_secret` | _(String)_ The ZPA API client secret generated from the ZPA console.| `ZPA_CLIENT_SECRET` |
118
+ | `customer_id` | _(String)_ The ZPA tenant ID found in the Administration > Company menu in the ZPA console.| `ZPA_CUSTOMER_ID` |
119
+ | `cloud` | _(String)_ The Zscaler cloud for your tenancy.| `ZPA_CLOUD` |
120
+
121
+ ## Usage<a id="usage"></a>
68
122
 
69
123
  Before you can interact with any of the Zscaler APIs, you need to generate API keys or retrieve tenancy information for each product that you are interfacing with. Once you have the requirements and you have installed Zscaler SDK Python, you're ready to go.
70
124
 
@@ -92,7 +146,7 @@ for app_segment in zpa.app_segments.list_segments():
92
146
 
93
147
  ~> **NOTE** The `ZPA_CLOUD` environment variable is optional and only required if your project needs to interact with any other ZPA cloud other than production cloud. In this case, use the `ZPA_CLOUD` environment variable followed by the name of the corresponding environment: `ZPA_CLOUD=BETA`, `ZPA_CLOUD=ZPATWO`, `ZPA_CLOUD=GOV`, `ZPA_CLOUD=GOVUS`, `ZPA_CLOUD=PREVIEW`, `ZPA_CLOUD=DEV`.
94
148
 
95
- ## Pagination
149
+ ## Pagination<a id="pagination"></a>
96
150
 
97
151
  This SDK provides methods that retrieve a list of resources from the API, which return paginated results due to the volume of data. Each method capable of returning paginated data is prefixed as `list_` and handles the pagination internally by providing an easy interface to iterate through pages. The user does not need to manually fetch each page; instead, they can process items as they iterate through them.
98
152
 
@@ -142,7 +196,7 @@ For more details on each pagination parameter see:
142
196
  [ZPA Pagination Parameters](zscaler/zpa/README.md)
143
197
  [ZIA Pagination Parameters](zscaler/zia/README.md)
144
198
 
145
- ## Logging
199
+ ## Logging<a id="logging"></a>
146
200
 
147
201
  The Zscaler SDK Python, provides robust logging for debug purposes.
148
202
  Logs are disabled by default and should be enabled explicitly via custom environment variable:
@@ -161,7 +215,7 @@ You should now see logs in your console. Notice that API tokens are **NOT** logg
161
215
 
162
216
  What it being logged? `requests`, `responses`, `http errors`, `caching responses`.
163
217
 
164
- ### Environment variables
218
+ ## Environment variables<a id="environment-variables"></a>
165
219
 
166
220
  Each one of the configuration values above can be turned into an environment variable name with the `_` (underscore) character and UPPERCASE characters. The following are accepted:
167
221
 
@@ -171,7 +225,7 @@ Each one of the configuration values above can be turned into an environment var
171
225
  - `ZSCALER_SDK_LOG` - Turn on logging
172
226
  - `ZSCALER_SDK_VERBOSE` - Turn on logging in verbose mode
173
227
 
174
- ## Rate Limiting
228
+ ## Rate Limiting<a id="rate-limiting"></a>
175
229
 
176
230
  Zscaler provides unique rate limiting numbers for each individual product. Regardless of the product, a 429 response will be returned if too many requests are made within a given time.
177
231
  Please see:
@@ -190,17 +244,24 @@ Retry Conditions: The client for both ZPA and ZIA retries a request under the fo
190
244
 
191
245
  * Exceptions during request execution: Any requests.RequestException encountered during the request triggers a retry, except on the last attempt, where the exception is raised.
192
246
 
193
- ## Building the SDK
247
+ ## Building the SDK<a id="building-the-sdk"></a>
194
248
 
195
249
  In most cases, you won't need to build the SDK from source. If you want to build it yourself, you'll need these prerequisites:
196
250
 
197
251
  - Clone the repo
198
252
  - Run `make build:dist` from the root of the project (assuming Python is installed)
199
- - Ensure tests run succesfully.
253
+ - Ensure tests run succesfully by executing `make test-simple`
200
254
  - Install `tox` if not installed already using: `pip install tox`.
201
255
  - Run tests using `tox` in the root directory of the project.
202
256
 
203
- ## Contributing
257
+ ## Interface stability<a id="interface-stability"></a>
258
+
259
+ Zscaler is actively working on stabilizing the Zscaler SDK for Python's interfaces.
260
+ You are highly encouraged to pin the exact dependency version and read the [changelog](https://github.com/zscaler/zscaler-sdk-python/blob/master/CHANGELOG.md)
261
+ where Zscaler documents the changes. Zscaler may have minor [documented](https://github.com/zscaler/zscaler-sdk-python/blob/master/CHANGELOG.md)
262
+ backward-incompatible changes, such as renaming some type names to bring more consistency.
263
+
264
+ ## Contributing<a id="contributing"></a>
204
265
 
205
266
  At this moment we are not accepting contributions, but we welcome suggestions on how to improve this SDK or feature requests, which can then be added in future releases.
206
267
 
@@ -210,6 +271,14 @@ At this moment we are not accepting contributions, but we welcome suggestions on
210
271
  [rate-limiting-zpa]: https://help.zscaler.com/zpa/understanding-rate-limiting
211
272
  [rate-limiting-zia]: https://help.zscaler.com/zia/understanding-rate-limiting
212
273
 
274
+ ## Need help?<a id="need-help"></a>
275
+
276
+ If you run into problems using the SDK, you can:
277
+
278
+ - Ask questions on the [Zenith Community][zenith]
279
+ - Post [issues on GitHub][github-issues] (for code errors)
280
+ - Support [customer support portal][zscaler-support]
281
+
213
282
  Contributors
214
283
  ------------
215
284
 
@@ -0,0 +1,24 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ SOURCEDIR = .
8
+ BUILDDIR = _build
9
+
10
+ # Put it first so that "make" without argument is like "make help".
11
+ help:
12
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13
+
14
+ github:
15
+ @make html
16
+ @cp -a _build/html/. ../docs
17
+
18
+ .PHONY: help Makefile
19
+
20
+ # Catch-all target: route all unknown targets to Sphinx using the new
21
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
22
+ %: Makefile
23
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
24
+
@@ -14,9 +14,8 @@
14
14
  #
15
15
  import os
16
16
  import sys
17
- import zscaler
18
17
 
19
- sys.path.insert(0, os.path.abspath("../"))
18
+ sys.path.insert(0, os.path.abspath('..'))
20
19
 
21
20
  # Check if building documentation on RTD
22
21
  on_rtd = os.environ.get("READTHEDOCS", None) == "True"
@@ -29,9 +28,9 @@ author = "Zscaler Technology Alliances"
29
28
  html_title = ""
30
29
 
31
30
  # The short X.Y version
32
- version = '0.1.0'
31
+ version = '0.1.2'
33
32
  # The full version, including alpha/beta/rc tags
34
- release = '0.1.0'
33
+ release = '0.1.2'
35
34
 
36
35
  # -- General configuration ---------------------------------------------------
37
36
 
@@ -115,7 +114,7 @@ html_static_path = []
115
114
  # -- Options for HTMLHelp output ---------------------------------------------
116
115
 
117
116
  # Output file base name for HTML help builder.
118
- htmlhelp_basename = "Zscalerdoc"
117
+ htmlhelp_basename = "zscalerdoc"
119
118
 
120
119
  # -- Options for LaTeX output ------------------------------------------------
121
120
 
@@ -141,7 +140,7 @@ latex_documents = [
141
140
  (
142
141
  master_doc,
143
142
  "Zscaler.tex",
144
- "Zscaler Documentation",
143
+ "Zscaler SDK Python Documentation",
145
144
  "Zscaler Technology Alliances",
146
145
  "manual",
147
146
  ),
@@ -195,7 +194,6 @@ epub_exclude_files = ["search.html"]
195
194
  intersphinx_mapping = {
196
195
  "python": ("https://docs.python.org/3", None),
197
196
  "restfly": ("https://restfly.readthedocs.io/en/latest/", None),
198
- "box": ("https://box.readthedocs.io/en/latest", None),
199
197
  }
200
198
 
201
199
  # -- Options for todo extension ----------------------------------------------
@@ -2,7 +2,7 @@
2
2
  :description lang=en:
3
3
  Official Zscaler Python SDK that provides a simple and uniform interface for each of the Zscaler product APIs.
4
4
  .. toctree::
5
- :maxdepth: 1
5
+ :maxdepth: 2
6
6
  :hidden:
7
7
  :caption: Contents
8
8
 
@@ -10,7 +10,7 @@
10
10
  zs/zpa/index
11
11
  zs/guides/index
12
12
 
13
- Zscaler SDK Python - Library Reference
13
+ Zscaler SDK Python (Beta) - Library Reference
14
14
  =====================================================================
15
15
  Zscaler SDK Python is an SDK that provides a uniform and easy-to-use interface for each of the Zscaler product APIs.
16
16
 
@@ -49,7 +49,7 @@ This repository contains the Zscaler SDK for Python. This SDK can be used to int
49
49
  - :doc:`Zscaler Private Access (ZPA) <zs/zpa/index>`
50
50
  - :doc:`Zscaler Internet Access (ZIA) <zs/zia/index>`
51
51
 
52
- * `Documentation <https://://zscaler-sdk-python.readthedocs.io>`_
52
+ * `Documentation <https://zscaler-sdk-python.readthedocs.io>`_
53
53
 
54
54
  Installation
55
55
  ==============
@@ -13,7 +13,6 @@ Support Ticket Severity
13
13
  -----------------------
14
14
 
15
15
  Support tickets related to the GO SDK can be opened with `Zscaler Support <https://help.zscaler.com/login-tickets>`_, however since the SDK is just a client of the underlying product API, we will **NOT** be able to treat SDK related support requests as a Severity-1 (Immediate time frame).
16
-
17
16
  When reporting bugs, please provide the Terraform script that demonstrates the bug and the command output. Stack traces will also be helpful.
18
17
 
19
18
  Notice that we will **NOT**, however, fix bugs upon customer demand, as we have to prioritize all pending bugs and features, as part of the product's backlog and release cycles.
@@ -24,4 +23,5 @@ Contact
24
23
  -------
25
24
 
26
25
  For questions or requests that cannot be submitted via GitHub Issues, please contact ``devrel@zscaler.com`` with "Zscaler-SDK-GO" in the subject line.
27
- We also provide a `private Slack channel <https://docs.google.com/forms/d/e/1FAIpQLSfkd3EMkLQdIWMNQ7QCr8TrH_xVSwSYcQshfBPDEZFOaF28qA/viewform?usp=sf_link>`_ where you can submit your questions to the SDK maintainers. Notice that this form will be reviewed and approved by Zscaler Technology Alliances team.
26
+ We also provide a `private Slack channel <https://docs.google.com/forms/d/e/1FAIpQLSfkd3EMkLQdIWMNQ7QCr8TrH_xVSwSYcQshfBPDEZFOaF28qA/viewform?usp=sf_link>`_
27
+ where you can submit your questions to the SDK maintainers. Notice that this form will be reviewed and approved by Zscaler Technology Alliances team.