zscaler-sdk-python 0.9.4__tar.gz → 0.9.5__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 (99) hide show
  1. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/PKG-INFO +1 -1
  2. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/pyproject.toml +1 -1
  3. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/__init__.py +1 -1
  4. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/locations.py +17 -44
  5. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/connectors.py +11 -2
  6. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/service_edges.py +1 -1
  7. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/LICENSE.md +0 -0
  8. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/README.md +0 -0
  9. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/cache/__init__.py +0 -0
  10. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/cache/cache.py +0 -0
  11. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/cache/no_op_cache.py +0 -0
  12. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/cache/zscaler_cache.py +0 -0
  13. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/constants.py +0 -0
  14. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/errors/__init__.py +0 -0
  15. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/errors/error.py +0 -0
  16. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/errors/http_error.py +0 -0
  17. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/errors/zscaler_api_error.py +0 -0
  18. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/exceptions/__init__.py +0 -0
  19. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/exceptions/exceptions.py +0 -0
  20. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/logger.py +0 -0
  21. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/ratelimiter/__init__.py +0 -0
  22. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/ratelimiter/ratelimiter.py +0 -0
  23. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/user_agent.py +0 -0
  24. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/utils.py +0 -0
  25. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcc/__init__.py +0 -0
  26. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcc/client.py +0 -0
  27. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcc/devices.py +0 -0
  28. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcc/secrets.py +0 -0
  29. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcon/__init__.py +0 -0
  30. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcon/activation.py +0 -0
  31. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcon/admin_and_role_management.py +0 -0
  32. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcon/client.py +0 -0
  33. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcon/ecgroups.py +0 -0
  34. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcon/locations.py +0 -0
  35. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zcon/provisioning.py +0 -0
  36. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/__init__.py +0 -0
  37. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/admin.py +0 -0
  38. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/alerts.py +0 -0
  39. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/apps.py +0 -0
  40. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/devices.py +0 -0
  41. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/filters.py +0 -0
  42. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/inventory.py +0 -0
  43. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/troubleshooting.py +0 -0
  44. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/users.py +0 -0
  45. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zdx/zdx_client.py +0 -0
  46. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/__init__.py +0 -0
  47. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/activate.py +0 -0
  48. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/admin_and_role_management.py +0 -0
  49. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/apptotal.py +0 -0
  50. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/audit_logs.py +0 -0
  51. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/authentication_settings.py +0 -0
  52. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/client.py +0 -0
  53. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/cloud_apps.py +0 -0
  54. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/cloudappcontrol.py +0 -0
  55. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/device_management.py +0 -0
  56. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/dlp.py +0 -0
  57. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/errors.py +0 -0
  58. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/firewall.py +0 -0
  59. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/forwarding_control.py +0 -0
  60. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/isolation_profile.py +0 -0
  61. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/labels.py +0 -0
  62. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/sandbox.py +0 -0
  63. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/security.py +0 -0
  64. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/ssl_inspection.py +0 -0
  65. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/traffic.py +0 -0
  66. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/url_categories.py +0 -0
  67. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/url_filtering.py +0 -0
  68. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/users.py +0 -0
  69. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/web_dlp.py +0 -0
  70. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/workload_groups.py +0 -0
  71. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zia/zpa_gateway.py +0 -0
  72. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/README.md +0 -0
  73. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/__init__.py +0 -0
  74. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/app_segments.py +0 -0
  75. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/app_segments_inspection.py +0 -0
  76. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/app_segments_pra.py +0 -0
  77. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/authdomains.py +0 -0
  78. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/certificates.py +0 -0
  79. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/client.py +0 -0
  80. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/cloud_connector_groups.py +0 -0
  81. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/emergency_access.py +0 -0
  82. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/errors.py +0 -0
  83. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/idp.py +0 -0
  84. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/inspection.py +0 -0
  85. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/isolation.py +0 -0
  86. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/lss.py +0 -0
  87. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/machine_groups.py +0 -0
  88. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/microtenants.py +0 -0
  89. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/policies.py +0 -0
  90. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/posture_profiles.py +0 -0
  91. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/privileged_remote_access.py +0 -0
  92. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/provisioning.py +0 -0
  93. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/saml_attributes.py +0 -0
  94. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/scim_attributes.py +0 -0
  95. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/scim_groups.py +0 -0
  96. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/segment_groups.py +0 -0
  97. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/server_groups.py +0 -0
  98. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/zscaler/zpa/servers.py +0 -0
  99. {zscaler_sdk_python-0.9.4 → zscaler_sdk_python-0.9.5}/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.9.4
3
+ Version: 0.9.5
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zscaler-sdk-python"
3
- version = "0.9.4"
3
+ version = "0.9.5"
4
4
  description = "Official Python SDK for the Zscaler Products (Beta)"
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__ = "0.9.4"
32
+ __version__ = "0.9.5"
33
33
 
34
34
  from zscaler.zdx import ZDXClientHelper # noqa
35
35
  from zscaler.zia import ZIAClientHelper # noqa
@@ -482,7 +482,7 @@ class LocationsAPI:
482
482
  raise Exception(f"API call failed with status {status_code}: {response.json()}")
483
483
  return response
484
484
 
485
- def list_location_groups(self) -> BoxList:
485
+ def list_location_groups(self, **kwargs) -> BoxList:
486
486
  """
487
487
  Return a list of location groups in ZIA.
488
488
 
@@ -490,7 +490,11 @@ class LocationsAPI:
490
490
  **kwargs: Optional keyword args.
491
491
 
492
492
  Keyword Args:
493
- groupType (str): The location group's type (i.e., Static or Dynamic).
493
+ name (str): The location group's name.
494
+ comments (str): Additional comments or information about the location group.
495
+ groupType (str): The location group's type (i.e., STATIC_GROUP or DYNAMIC_GROUP).
496
+ location_id (int): The unique identifier for a location within a location group.
497
+ last_mod_user (str): The admin who modified the location group last.
494
498
 
495
499
  Returns:
496
500
  :obj:`BoxList`: A list of location group resource records.
@@ -499,7 +503,14 @@ class LocationsAPI:
499
503
  Get a list of all configured location groups:
500
504
  >>> location = zia.locations.list_location_groups()
501
505
  """
502
- return self.rest.get("locations/groups")
506
+ return BoxList(
507
+ Iterator(
508
+ self.rest,
509
+ f"locations/groups",
510
+ max_pages=1,
511
+ **kwargs,
512
+ )
513
+ )
503
514
 
504
515
  def get_location_group_by_id(self, group_id: int) -> Box:
505
516
  """
@@ -517,25 +528,6 @@ class LocationsAPI:
517
528
  """
518
529
  return self.rest.get(f"locations/groups/{group_id}")
519
530
 
520
- def get_location_group_by_name(self, group_name: str, page: int = 1, page_size: int = 100) -> Box:
521
- """
522
- Return a specific location group by its name in ZIA.
523
-
524
- Args:
525
- group_name (str): The name of the location group.
526
- page (int, optional): Page number to retrieve. Defaults to 1.
527
- page_size (int, optional): Number of records per page. Defaults to 100.
528
-
529
- Returns:
530
- :obj:`Box`: A location group resource record.
531
-
532
- Examples:
533
- Get a specific location group by its name:
534
- >>> location = zia.locations.get_location_group_by_name("Unassigned Locations")
535
- """
536
- params = {"page": page, "pageSize": page_size, "search": group_name}
537
- return self.rest.get("locations/groups", params=params)
538
-
539
531
  def list_location_groups_lite(self, page: int = 1, page_size: int = 100) -> BoxList:
540
532
  """
541
533
  Returns a list of location groups (lite version) by their ID where only name and ID is returned in ZIA.
@@ -544,7 +536,7 @@ class LocationsAPI:
544
536
  **kwargs: Optional keyword args.
545
537
 
546
538
  Keyword Args:
547
- groupType (str): The location group's type (i.e., Static or Dynamic).
539
+ groupType (str): The location group's type (i.e., STATIC_GROUP or DYNAMIC_GROUP).
548
540
 
549
541
  Returns:
550
542
  :obj:`BoxList`: A list of location group resource records.
@@ -572,25 +564,6 @@ class LocationsAPI:
572
564
  """
573
565
  return self.rest.get(f"locations/groups/lite/{group_id}")
574
566
 
575
- def get_location_group_lite_by_name(self, group_name: str, page: int = 1, page_size: int = 100) -> BoxList:
576
- """
577
- Return specific location groups (lite version) by their name where only name and ID is returned in ZIA.
578
-
579
- Args:
580
- group_name (str): The name of the location group.
581
- page (int, optional): Page number to retrieve. Defaults to 1.
582
- page_size (int, optional): Number of records per page. Defaults to 100.
583
-
584
- Returns:
585
- :obj:`BoxList`: A list of location group resource records with only ID and name.
586
-
587
- Examples:
588
- Get specific location groups (lite version) by name:
589
- >>> locations = zia.locations.get_location_group_lite_by_name("Unassigned Locations")
590
- """
591
- params = {"page": page, "pageSize": page_size, "search": group_name}
592
- return self.rest.get("locations/groups/lite", params=params)
593
-
594
567
  def list_location_groups_count(self, **kwargs) -> BoxList:
595
568
  """
596
569
  Returns a list of location groups for your organization.
@@ -599,7 +572,7 @@ class LocationsAPI:
599
572
  **kwargs: Optional keyword args.
600
573
 
601
574
  Keyword Args:
602
- group_type (str): The location group's type (i.e., Static or Dynamic).
575
+ group_type (str): The location group's type (i.e., STATIC_GROUP or DYNAMIC_GROUP).
603
576
  last_mod_user (str): The admin who modified the location group last.
604
577
  version (int): The version parameter is for Zscaler internal use only. Used by the service for backup operations.
605
578
  name (str): The location group's name.
@@ -611,7 +584,7 @@ class LocationsAPI:
611
584
 
612
585
  Examples:
613
586
  Gets the list of location groups for your organization:
614
- >>> location = zia.locations.list_location_groups_count(group_type='Static', name='Corporate')
587
+ >>> location = zia.locations.list_location_groups_count(group_type='STATIC_GROUP', name='Corporate')
615
588
  """
616
589
  params = {}
617
590
  optional_params = ["group_type", "last_mod_user", "version", "name", "comments", "location_id"]
@@ -159,7 +159,7 @@ class AppConnectorControllerAPI:
159
159
  params["microtenantId"] = kwargs.pop("microtenant_id")
160
160
  return self.rest.delete(f"connector/{connector_id}", params=params).status_code
161
161
 
162
- def bulk_delete_connectors(self, connector_ids: list, **kwargs) -> int:
162
+ def bulk_delete_connectors(self, connector_ids: list, **kwargs) -> Box:
163
163
  """
164
164
  Deletes all specified App Connectors from ZPA.
165
165
 
@@ -177,7 +177,16 @@ class AppConnectorControllerAPI:
177
177
  params = {}
178
178
  if "microtenant_id" in kwargs:
179
179
  params["microtenantId"] = kwargs.pop("microtenant_id")
180
- return self.rest.post("connector/bulkDelete", json=payload)
180
+
181
+ response = self.rest.post("connector/bulkDelete", json=payload, params=params)
182
+
183
+ if isinstance(response, Response):
184
+ # Check for HTTP status and handle errors
185
+ if response.status_code != 200:
186
+ raise Exception(f"API call failed with status {response.status_code}: {response.json()}")
187
+
188
+ # If successful, return the response
189
+ return response
181
190
 
182
191
  def list_connector_groups(self, **kwargs) -> BoxList:
183
192
  """
@@ -155,7 +155,7 @@ class ServiceEdgesAPI:
155
155
  params["microtenantId"] = kwargs.pop("microtenant_id")
156
156
  return self.rest.delete(f"serviceEdge/{service_edge_id}", params=params).status_code
157
157
 
158
- def bulk_delete_service_edges(self, service_edge_ids: list, **kwargs) -> int:
158
+ def bulk_delete_service_edges(self, service_edge_ids: list, **kwargs) -> Box:
159
159
  """
160
160
  Bulk deletes the specified Service Edges from ZPA.
161
161