zscaler-sdk-python 0.10.0__tar.gz → 0.10.1__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 (100) hide show
  1. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/PKG-INFO +5 -5
  2. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/pyproject.toml +6 -6
  3. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/__init__.py +1 -1
  4. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/__init__.py +8 -4
  5. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/pac_files.py +4 -14
  6. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/users.py +1 -1
  7. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/policies.py +8 -2
  8. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/LICENSE.md +0 -0
  9. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/README.md +0 -0
  10. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/cache/__init__.py +0 -0
  11. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/cache/cache.py +0 -0
  12. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/cache/no_op_cache.py +0 -0
  13. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/cache/zscaler_cache.py +0 -0
  14. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/constants.py +0 -0
  15. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/errors/__init__.py +0 -0
  16. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/errors/error.py +0 -0
  17. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/errors/http_error.py +0 -0
  18. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/errors/zscaler_api_error.py +0 -0
  19. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/exceptions/__init__.py +0 -0
  20. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/exceptions/exceptions.py +0 -0
  21. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/logger.py +0 -0
  22. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/ratelimiter/__init__.py +0 -0
  23. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/ratelimiter/ratelimiter.py +0 -0
  24. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/user_agent.py +0 -0
  25. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/utils.py +0 -0
  26. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcc/__init__.py +0 -0
  27. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcc/client.py +0 -0
  28. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcc/devices.py +0 -0
  29. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcc/secrets.py +0 -0
  30. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcon/__init__.py +0 -0
  31. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcon/activation.py +0 -0
  32. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcon/admin_and_role_management.py +0 -0
  33. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcon/client.py +0 -0
  34. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcon/ecgroups.py +0 -0
  35. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcon/locations.py +0 -0
  36. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zcon/provisioning.py +0 -0
  37. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/__init__.py +0 -0
  38. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/admin.py +0 -0
  39. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/alerts.py +0 -0
  40. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/apps.py +0 -0
  41. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/devices.py +0 -0
  42. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/filters.py +0 -0
  43. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/inventory.py +0 -0
  44. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/troubleshooting.py +0 -0
  45. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/users.py +0 -0
  46. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zdx/zdx_client.py +0 -0
  47. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/activate.py +0 -0
  48. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/admin_and_role_management.py +0 -0
  49. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/apptotal.py +0 -0
  50. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/audit_logs.py +0 -0
  51. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/authentication_settings.py +0 -0
  52. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/client.py +0 -0
  53. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/cloud_apps.py +0 -0
  54. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/cloudappcontrol.py +0 -0
  55. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/device_management.py +0 -0
  56. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/dlp.py +0 -0
  57. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/errors.py +0 -0
  58. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/firewall.py +0 -0
  59. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/forwarding_control.py +0 -0
  60. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/isolation_profile.py +0 -0
  61. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/labels.py +0 -0
  62. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/locations.py +0 -0
  63. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/sandbox.py +0 -0
  64. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/security.py +0 -0
  65. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/ssl_inspection.py +0 -0
  66. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/traffic.py +0 -0
  67. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/url_categories.py +0 -0
  68. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/url_filtering.py +0 -0
  69. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/web_dlp.py +0 -0
  70. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/workload_groups.py +0 -0
  71. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zia/zpa_gateway.py +0 -0
  72. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/README.md +0 -0
  73. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/__init__.py +0 -0
  74. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/app_segments.py +0 -0
  75. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/app_segments_inspection.py +0 -0
  76. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/app_segments_pra.py +0 -0
  77. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/authdomains.py +0 -0
  78. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/certificates.py +0 -0
  79. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/client.py +0 -0
  80. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/cloud_connector_groups.py +0 -0
  81. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/connectors.py +0 -0
  82. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/emergency_access.py +0 -0
  83. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/errors.py +0 -0
  84. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/idp.py +0 -0
  85. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/inspection.py +0 -0
  86. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/isolation.py +0 -0
  87. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/lss.py +0 -0
  88. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/machine_groups.py +0 -0
  89. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/microtenants.py +0 -0
  90. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/posture_profiles.py +0 -0
  91. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/privileged_remote_access.py +0 -0
  92. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/provisioning.py +0 -0
  93. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/saml_attributes.py +0 -0
  94. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/scim_attributes.py +0 -0
  95. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/scim_groups.py +0 -0
  96. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/segment_groups.py +0 -0
  97. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/server_groups.py +0 -0
  98. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/servers.py +0 -0
  99. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/service_edges.py +0 -0
  100. {zscaler_sdk_python-0.10.0 → zscaler_sdk_python-0.10.1}/zscaler/zpa/trusted_networks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zscaler-sdk-python
3
- Version: 0.10.0
3
+ Version: 0.10.1
4
4
  Summary: Official Python SDK for the Zscaler Products (Beta)
5
5
  Home-page: https://github.com/zscaler/zscaler-sdk-python
6
6
  License: MIT
@@ -22,7 +22,7 @@ Classifier: Topic :: Security
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
23
  Provides-Extra: dev
24
24
  Requires-Dist: aenum ; extra == "dev"
25
- Requires-Dist: aiohttp (>=3.10.2)
25
+ Requires-Dist: aiohttp (>=3.11.11)
26
26
  Requires-Dist: arrow
27
27
  Requires-Dist: black (>=24.3.0) ; extra == "dev"
28
28
  Requires-Dist: certifi (>=2024.2.2)
@@ -34,16 +34,16 @@ Requires-Dist: idna (>=3.10)
34
34
  Requires-Dist: okta (>=2.9.7)
35
35
  Requires-Dist: pycryptodomex (>=3.20.0)
36
36
  Requires-Dist: pydash (>=8.0.3) ; extra == "dev"
37
- Requires-Dist: python-box (>=7.2.0)
37
+ Requires-Dist: python-box (>=7.3.0)
38
38
  Requires-Dist: python-dateutil
39
39
  Requires-Dist: pytz (>=2024.2)
40
40
  Requires-Dist: pyyaml
41
41
  Requires-Dist: requests (>=2.32.3)
42
42
  Requires-Dist: responses (>=0.25.3)
43
43
  Requires-Dist: restfly (>=1.5.0)
44
- Requires-Dist: six
44
+ Requires-Dist: six (>=1.17.0)
45
45
  Requires-Dist: xmltodict (>=0.14.2)
46
- Requires-Dist: yarl (>=1.14.0)
46
+ Requires-Dist: yarl (>=1.17.0)
47
47
  Project-URL: Bug Tracker, https://github.com/zscaler/zscaler-sdk-python/issues
48
48
  Project-URL: Documentation, https://zscaler-sdk-python.readthedocs.io
49
49
  Project-URL: Repository, https://github.com/zscaler/zscaler-sdk-python
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zscaler-sdk-python"
3
- version = "0.10.0"
3
+ version = "0.10.1"
4
4
  description = "Official Python SDK for the Zscaler Products (Beta)"
5
5
  authors = ["Zscaler, Inc. <devrel@zscaler.com>"]
6
6
  license = "MIT"
@@ -33,16 +33,16 @@ arrow = "*"
33
33
  certifi = ">=2024.2.2"
34
34
  charset-normalizer = "*"
35
35
  idna = ">=3.10"
36
- python-box = ">=7.2.0"
36
+ python-box = ">=7.3.0"
37
37
  python-dateutil = "*"
38
38
  requests = ">=2.32.3"
39
39
  responses = ">=0.25.3"
40
40
  restfly = ">=1.5.0"
41
- six = "*"
41
+ six = ">=1.17.0"
42
42
  flatdict = "*"
43
43
  pyyaml = "*"
44
44
  xmltodict = ">=0.14.2"
45
- yarl = ">=1.14.0"
45
+ yarl = ">=1.17.0"
46
46
  pycryptodomex = ">=3.20.0"
47
47
  aenum = "*"
48
48
  pydash = ">=8.0.3"
@@ -51,7 +51,7 @@ pytz = ">=2024.2"
51
51
  black = ">=24.3.0"
52
52
  cryptography = ">=43.0.0"
53
53
  okta = ">=2.9.7"
54
- aiohttp = ">=3.10.2"
54
+ aiohttp = ">=3.11.11"
55
55
 
56
56
  [tool.poetry.dev-dependencies]
57
57
  black = ">=24.3.0"
@@ -62,7 +62,7 @@ pytest-recording = "^0.13.2"
62
62
  pytest-cov = "*"
63
63
  pyfakefs = ">=5.6.0"
64
64
  isort = "*"
65
- wheel = "*"
65
+ wheel = ">=0.45.1"
66
66
  sphinx = "^7.4.7"
67
67
  sphinx-autobuild = "*"
68
68
  sphinx_rtd_theme = "*"
@@ -29,7 +29,7 @@ __license__ = "MIT"
29
29
  __contributors__ = [
30
30
  "William Guilherme",
31
31
  ]
32
- __version__ = "0.10.0"
32
+ __version__ = "0.10.1"
33
33
 
34
34
  from zscaler.zdx import ZDXClientHelper # noqa
35
35
  from zscaler.zia import ZIAClientHelper # noqa
@@ -407,7 +407,6 @@ class ZIAClientHelper(ZIAClient):
407
407
  page=None,
408
408
  pagesize=None,
409
409
  search=None,
410
- max_page_size=1000, # Default to 1000, can be adjusted based on endpoint constraints
411
410
  max_items=None, # Maximum number of items to retrieve across pages
412
411
  max_pages=None, # Maximum number of pages to retrieve
413
412
  type=None, # Specify type of VPN credentials (CN, IP, UFQDN, XAUTH)
@@ -446,11 +445,16 @@ class ZIAClientHelper(ZIAClient):
446
445
  }
447
446
 
448
447
  # Initialize pagination parameters
448
+ # params = {
449
+ # "page": page if page is not None else 1, # Start at page 1 if not specified
450
+ # "pagesize": min(pagesize if pagesize is not None else 100, max_page_size), # Apply max_page_size limit
451
+ # }
452
+
449
453
  params = {
450
454
  "page": page if page is not None else 1, # Start at page 1 if not specified
451
- "pagesize": min(pagesize if pagesize is not None else 100, max_page_size), # Apply max_page_size limit
455
+ "pagesize": max(100, min(pagesize or 100, 10000)), # Ensure pagesize is within API limits
452
456
  }
453
-
457
+
454
458
  # Add optional filters to the params if provided
455
459
  if search:
456
460
  params["search"] = search
@@ -619,7 +623,7 @@ class ZIAClientHelper(ZIAClient):
619
623
 
620
624
  """
621
625
  return CloudSandboxAPI(self)
622
-
626
+
623
627
  @property
624
628
  def security(self):
625
629
  """
@@ -39,23 +39,13 @@ class PacFilesAPI:
39
39
  Specifies the page size. The default size is 100, but the maximum size is 1000.
40
40
 
41
41
  Returns:
42
- :obj:`BoxList`: The list of Rule Labels configured in ZIA.
42
+ :obj:`BoxList`: The list of PAC Files configured in ZIA.
43
43
 
44
44
  Examples:
45
- List Rule Labels using default settings:
45
+ List PAC Files using default settings:
46
46
 
47
- >>> for label in zia.labels.list_labels():
48
- ... print(label)
49
-
50
- List labels, limiting to a maximum of 10 items:
51
-
52
- >>> for label in zia.labels.list_labels(max_items=10):
53
- ... print(label)
54
-
55
- List labels, returning 200 items per page for a maximum of 2 pages:
56
-
57
- >>> for label in zia.labels.list_labels(page_size=200, max_pages=2):
58
- ... print(label)
47
+ >>> for pac_files in zia.pac_files.list_pac_files():
48
+ ... print(pac_files)
59
49
 
60
50
  """
61
51
  list, _ = self.rest.get_paginated_data(path="/pacFiles", **kwargs)
@@ -170,7 +170,7 @@ class UserManagementAPI:
170
170
  **name (str, optional):
171
171
  Filters by user name. This is a `partial` match.
172
172
  **page_size (int, optional):
173
- Specifies the page size. The default size is 100, but the maximum size is 1000.
173
+ Specifies the page size. The default size is 100, but the maximum size is 10000.
174
174
  **sort_by (str):
175
175
  The field name to sort by, supported values: id, name, creationTime or modifiedTime (default to name)
176
176
  **sort_order (str):
@@ -15,8 +15,6 @@
15
15
  # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
16
 
17
17
 
18
- import functools
19
-
20
18
  from box import Box, BoxList
21
19
  from requests import Response
22
20
 
@@ -61,6 +59,7 @@ class PolicySetsAPI:
61
59
  """
62
60
  template = []
63
61
  app_and_app_group_operands = []
62
+ scim_and_scim_group_operands = []
64
63
  object_types_to_operands = {
65
64
  "CONSOLE": [],
66
65
  "MACHINE_GRP": [],
@@ -100,6 +99,8 @@ class PolicySetsAPI:
100
99
 
101
100
  if object_type in ["APP", "APP_GROUP"]:
102
101
  app_and_app_group_operands.append(operand)
102
+ elif object_type in ["SCIM","SCIM_GROUP"]:
103
+ scim_and_scim_group_operands.append(operand)
103
104
  elif object_type in object_types_to_operands:
104
105
  object_types_to_operands[object_type].append(operand)
105
106
 
@@ -131,6 +132,11 @@ class PolicySetsAPI:
131
132
  app_group_operator = operators_for_types.get("APP", "OR")
132
133
  template.append({"operator": app_group_operator, "operands": app_and_app_group_operands})
133
134
 
135
+ # Combine SCIM and SCIM_GROUP operands with their specific operator
136
+ if scim_and_scim_group_operands:
137
+ scim_group_operator = operators_for_types.get("SCIM_GROUP", "OR")
138
+ template.append({"operator": scim_group_operator, "operands": scim_and_scim_group_operands})
139
+
134
140
  # Combine other object types into their blocks with their respective operator
135
141
  for object_type, operands in object_types_to_operands.items():
136
142
  if operands: