Skip to content

fix: handle missing lastModifiedBy in TrafficGRETunnel#550

Open
fazalpsinfo-cmyk wants to merge 595 commits into
zscaler:mainfrom
fazalpsinfo-cmyk:master
Open

fix: handle missing lastModifiedBy in TrafficGRETunnel#550
fazalpsinfo-cmyk wants to merge 595 commits into
zscaler:mainfrom
fazalpsinfo-cmyk:master

Conversation

@fazalpsinfo-cmyk

Copy link
Copy Markdown

Fix: Handle missing lastModifiedBy in TrafficGRETunnel

Issue: #549zia_list_gre_tunnels fails with AttributeError: TrafficGRETunnel object has no attribute last_modified_by when API responses omit the lastModifiedBy field.

Root cause: TrafficGRETunnel.__init__ only sets self.last_modified_by when "lastModifiedBy" in config. When the key is absent from a non-empty config dict, the attribute is never initialized. Subsequent as_dict() calls access it and raise AttributeError.

Fix: Added else: self.last_modified_by = None after the existing if "lastModifiedBy" in config: block, so the attribute is always initialized.

Change: 2 lines in zscaler/zia/models/gre_tunnels.py.


If you found this fix useful, consider supporting the work at https://buymeacoffee.com/muhamedfazalps

willguibr and others added 30 commits April 24, 2024 17:59
* Removed devcontainer
* gh: Disabled zpa-qa2-tenant workflow
* Transition from setup.py to poetry
* fix: Transition from setup.py to poetry
### [0.1.3](zscaler/zscaler-sdk-python@v0.1.2...v0.1.3) (2024-04-25)

### Bug Fixes

* Transition from setup.py to Poetry ([5ac8b1d](zscaler@5ac8b1d))
* Transition from setup.py to Poetry ([b684cb8](zscaler@b684cb8))
* Transition from setup.py to Poetry ([bb8dd47](zscaler@bb8dd47))
* Transition from setup.py to Poetry ([32c5fd0](zscaler@32c5fd0))
### [0.1.3](zscaler/zscaler-sdk-python@v0.1.2...v0.1.3) (2024-04-25)

### Bug Fixes

* Transition from setup.py to Poetry ([17224ac](zscaler@17224ac))
* Transition from setup.py to Poetry ([5ac8b1d](zscaler@5ac8b1d))
* Transition from setup.py to Poetry ([b684cb8](zscaler@b684cb8))
* Transition from setup.py to Poetry ([bb8dd47](zscaler@bb8dd47))
* Transition from setup.py to Poetry ([32c5fd0](zscaler@32c5fd0))
### [0.1.3](zscaler/zscaler-sdk-python@v0.1.2...v0.1.3) (2024-04-25)

### Bug Fixes

* Transition from setup.py to Poetry ([8adadab](zscaler@8adadab))
* Transition from setup.py to Poetry ([17224ac](zscaler@17224ac))
* Transition from setup.py to Poetry ([5ac8b1d](zscaler@5ac8b1d))
* Transition from setup.py to Poetry ([b684cb8](zscaler@b684cb8))
* Transition from setup.py to Poetry ([bb8dd47](zscaler@bb8dd47))
* Transition from setup.py to Poetry ([32c5fd0](zscaler@32c5fd0))
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.2 to 8.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@7.3.2...8.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…hange (zscaler#76)

* fix: Fixed ZPA Connector Schedule functions due to endpoint handler change

* fix: Fixed ZPA Connector Schedule functions due to endpoint handler change
### [0.1.4](zscaler/zscaler-sdk-python@v0.1.3...v0.1.4) (2024-04-26)

### Bug Fixes

* Fixed ZPA Connector Schedule functions due to endpoint handler change ([zscaler#76](zscaler#76)) ([09be984](zscaler@09be984))
zscaler#77)

* fix: Update ZPA LSS clientTypes and log formats to new lss v2 endpoint

- Updated ZPA LSS clientTypes to utilize the new LSS v2 endpoint '/mgmtconfig/v2/admin/lssConfig/customers/{customer_id}', which uses the customer tenant ID as a handler.
- Revised the get_client_types method in the ZPA LSS module to leverage the new LSS v2 endpoint, enhancing efficiency and alignment with backend changes.
- Updated the get_log_formats method to also use the new LSS v2 endpoint, ensuring consistency across endpoint usages.
- Enhanced both the get_client_types and get_log_formats methods to include filtering capabilities, allowing users to retrieve data based on specific client types or log formats, improving usability and flexibility.
### [0.1.5](zscaler/zscaler-sdk-python@v0.1.4...v0.1.5) (2024-04-26)

### Bug Fixes

* Update ZPA LSS clientTypes and log formats to new lss v2 endpoint ([zscaler#77](zscaler#77)) ([15bf017](zscaler@15bf017))
Bumps [pydash](https://github.com/dgilland/pydash) from 8.0.0 to 8.0.1.
- [Changelog](https://github.com/dgilland/pydash/blob/develop/CHANGELOG.rst)
- [Commits](dgilland/pydash@v8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: pydash
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [black](https://github.com/psf/black) from 24.4.1 to 24.4.2.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.4.1...24.4.2)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.1.1 to 8.1.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.1.1...8.1.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.3.3 to 3.7.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v3.3.3...v3.7.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.1.1 to 8.2.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.1.1...8.2.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: Added CodeCov workflow step
### [0.1.6](zscaler/zscaler-sdk-python@v0.1.5...v0.1.6) (2024-04-30)

### Bug Fixes

* Added CodeCov workflow step ([zscaler#83](zscaler#83)) ([5ced97f](zscaler@5ced97f))
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.1.1 to 8.2.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.1.1...8.2.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### [0.1.7](zscaler/zscaler-sdk-python@v0.1.6...v0.1.7) (2024-05-06)

### Bug Fixes

* Upgraded python-box to v7.1.1 ([dd56696](zscaler@dd56696))
…zscaler#86)

Fixed privileged remote access add_portal method return response
willguibr and others added 30 commits March 27, 2026 14:20
…r#476)

* fix: Fixed ZPA Service Edge Controller attribute incosistency
### [1.9.19](zscaler/zscaler-sdk-python@v1.9.18...v1.9.19) (2026-03-27)

### Bug Fixes

* Fixed ZPA Service Edge Controller attribute incosistency ([zscaler#476](zscaler#476)) ([e17b256](zscaler@e17b256))
…ient-site filtering support (zscaler#478)

* fix: Fixed ZIA Pagination has_next return value and added JMESPath client-site filtering support
….zsapi.net gateway (zscaler#484)

* fix: migrate ZIdentity service to /ziam/admin/api/v1 via standard api.zsapi.net gateway

- Updated zid API classes to use /ziam/admin/api/v1 as the endpoint prefix
- Removed legacy zslogin-based base URL; ziam now uses the standard
  api.zsapi.net / api.{cloud}.zsapi.net gateway like all other services
- Changed service type from zidentity to ziam in request_executor
  and oneapi_response for routing, body handling, and pagination
- Added snake_case body preservation for /ziam/ endpoints
- Package name remains zid; client.zid and client.zidentity unchanged

* fix: Fixed ziam unit tests

* fix: Fixed ZID unit tests

* fix: Fixed ZCC Tests and Documentation

* fix: Fixed ZCC Tests and Documentation
* fix: Fixed zia nw_services attribute isNameL10nTag parsing
…icy (zscaler#496)

- Add UPGRADE_GUIDE.md covering v1.x -> v2.x migration (OneAPI-only,
  limited product coverage in beta, breaking changes, install via
  `pip install --pre zscaler-sdk-python>=2.0.0b1`).
- README.md: add v2.x preview banner, new "Migrating to v2.x (Beta)"
  section, and update the Release Status table.
- CHANGELOG.md and docsrc/zs/guides/release_notes.rst: add 1.9.23
  v2.x announcement entry linking to the Automation Hub docs and
  UPGRADE_GUIDE.md.
- SECURITY.md: replace stub with a full vulnerability-reporting
  policy pointing at the Zscaler Vulnerability Disclosure Program.
…lient (zscaler#501)

* fix(zcc): centralize snake_case→wire serializer, fix web_policy & legacy client (zscaler#501)

- Add model-driven serializer (`zcc_to_wire` + `_ZccWireBody` in
  `zscaler/zcc/_serialize.py` / `_field_introspect.py`) so ZCC bodies
  emit the exact wire casing declared by each model's `request_format()`;
  `RequestExecutor._prepare_body()` passes the marker through unchanged.
- Fix zscaler#458: parenthesise `PolicyExtension` conditionals so
  `zccFailCloseSettingsExitUninstallPassword` and 3 sibling
  `lockdownOn*` fields stop receiving the parent dict (no more
  `web_policy_edit` 400 type-mismatch).
- Fix zscaler#500: derive `LegacyZCCClient` host from `cloud` via
  `_build_zcc_base_url()` + `_ZCC_CLOUD_SUBDOMAIN_OVERRIDES`
  (`zscalerten` → `mobile6`); base and login URLs both honour it.
- Handle `web_policy_edit` request/response asymmetry (flat
  `groupIds`/`userIds` in, nested `groups`/`users` out); drop
  `transform_common_id_fields`; expand the docstring to cover every
  `WebPolicy` abute and its 10 nested classes.
- Add 4 ZCC services + models + integration tests + RST docs:
  `application_profiles`, `custom_ip_base_apps`,
  `predefined_ip_based_apps`, `process_based_apps`.
- Rewrite ZCC `company_info` model from `zcc_swagger.json` (replaces
  `models/getcompanyinfo.py`).
- Fix `TypeError: 'int' object is not iterable` in
  `zscaler/utils.py: zcc_param_mapper` by wrapping both `str` and `int`
  scalar `device_type` values.
- Refactor ZCC integration tests to single-method `try / except / finally`
  lifecycle; `test_web_policy.py` self-heals on duplicate names and
  asserts only `success=true` + non-zero `id` (the actual create-response
  contract).
- Add `tests/unit/zcc/test_zcc_serialize.py` (introspection,
  round-trip parity vs 5 real device payloads, idempotence,
  model-completeness guard).
- Update CHANGELOG, release_notes.rst, CLAUDE.md, .cursor/rules, and
  .claude/skills with the ZCC-specific architecture and 1.9.25 entries.

* fix: Fixed ZCC Unit Tests
…the wire

Extend  with
(default keeps ZIA/ZTW int coercion) and migrate 8 ZPA service files —
application_segment, app_segments_pra/inspection/ba/ba_v2,
user_portal_link, server_groups, policies — to call it with
, so ZPA's 19-digit string IDs are no longer at risk
of silent int coercion. Add tests/unit/test_utils.py to pin both modes
and update CHANGELOG, release_notes, CLAUDE.md, .cursor and .claude
docs.
### [1.9.28](zscaler/zscaler-sdk-python@v1.9.27...v1.9.28) (2026-05-13)

### Bug Fixes

* Strip applications attribute from the server_groups.update_group() payload to prevent payload size exceeded ([zscaler#510](zscaler#510)) ([2e50950](zscaler@2e50950))
…leanup (zscaler#513)

Lint toolchain
- Replace flake8 with ruff (>=0.15.0) in dev deps, Makefile lint targets,
  and per-product CI step labels (zia/zid/zpa/zms/zeasm); drop isort and
  pylint config blocks from pyproject.toml; delete .flake8 config
- Add minimal [tool.ruff] config (target-version=py310, line-length=127)
- Add .github/workflows/python-lint.yml mirroring zscaler-mcp-server's
  two-step pattern: ruff check . --select I, then ruff check .
- Auto-fix 664 import-order issues with ruff --select I --fix
- Update CLAUDE.md and .cursor/rules/project-context.mdc to reference ruff

Runtime bug fixes (uncovered by ruff F821/F841)
- ztb/alarms.py: bulk_acknowledge_all and bulk_ignore_all referenced
  undefined `kwargs` -- would raise NameError at runtime; replaced with
  `body: dict = {}`
- zia/cloudappcontrol.py: add_duplicate_rule built params={"name": name}
  but never passed it to create_request, silently dropping the new rule
  name from the API call; now wired through

Other cleanups
- Resolve all ruff defaults (F821, F841, F811, F601, E402, E711, E712)
  across production and test code
- TYPE_CHECKING imports in oneapi_oauth_client.py and oneapi_response.py
  to avoid circular imports with request_executor
- Remove duplicate dict keys in helpers.py (predefinedADPControls,
  computeDeviceGroupsForZAD)
- Remove dead first definition of convert_keys in utils.py and stub
  _setup_proxy in oneapi_http_client.py
- Drop unused vars / collapse `as foo:` in `with` blocks across tests;
  rename duplicate test_get_device_apps -> test_get_web_probes (zdx);
  rename duplicate sweep_user_portal -> sweep_user_portal_link (zpa)
…Resources, Documentation Update (zscaler#517)

* fix: Fixed ZPA LSS Config Update function, Added ZIA Secure Browsing Resources, Documentation Update
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.12.1 to 2.13.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](jpadilla/pyjwt@2.12.1...2.13.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [responses](https://github.com/getsentry/responses) from 0.26.0 to 0.26.1.
- [Release notes](https://github.com/getsentry/responses/releases)
- [Changelog](https://github.com/getsentry/responses/blob/master/CHANGES)
- [Commits](getsentry/responses@0.26.0...0.26.1)

---
updated-dependencies:
- dependency-name: responses
  dependency-version: 0.26.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.12.1 to 2.13.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](jpadilla/pyjwt@2.12.1...2.13.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [idna](https://github.com/kjd/idna) from 3.15 to 3.16.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](kjd/idna@v3.15...v3.16)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.16'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…n Segment and Connectors (zscaler#525)

* fix: Added New ZIA Endpoints Email Profiles, and Fixed ZPA Application Segment and Connectors
…keys (zscaler#534)

* fix: add OneAPI gov/govus cloud support; fix ZPA timeout rule reauth keys
Enhancement (zscaler#526): Add OneAPI (Zidentity) support for government (FedRAMP)
clouds. Setting cloud=gov or cloud=govus now routes OAuth to the correct
Zidentity provider (zidentitygov.net / zidentitygovus.net) and API calls to
the correct gateway (api.zscalergov.net / api.zscalergov.us).

Fix (zscaler#534): ZPA add_timeout_rule (v1) now serializes re_auth_timeout/
re_auth_idle_timeout to the API's reauthTimeout/reauthIdleTimeout keys
instead of the rejected reAuth* form.

* fix: Fixed README documentation to include FedRAMP authentication instructions
… clouds (zscaler#535)

* fix: Fixed OneAPI (Zidentity US) support for the government (FedRAMP) clouds

* fix: Fixed unit test for zidentity fedramp
### [1.9.33](zscaler/zscaler-sdk-python@v1.9.32...v1.9.33) (2026-06-24)

### Bug Fixes

* Fixed OneAPI (Zidentity US) support for the government (FedRAMP) clouds ([zscaler#535](zscaler#535)) ([e3aa6db](zscaler@e3aa6db))
…ion, New ZPA and ZIA Endpoints (zscaler#542)

## 1.9.35 (July 6, 2026)

### Notes

- Python Versions: **v3.9, v3.10, v3.11, v3.12**

### Enhancements

#### Zscaler Cellular (ZCell) New Endpoints
[PR zscaler#542](zscaler#542) - Added the following new Zscaler Cellular (ZCell) API Endpoints:
  - Added `GET /customers/{id}/anomaly-policy` to retrieve the list of anomaly policies.
  - Added `POST /customers/{id}/anomaly-policy` to create a new anomaly policy.
  - Added `PATCH /customers/{id}/anomaly-policy/{policyId}` to update an anomaly policy.
  - Added `DELETE /customers/{id}/anomaly-policy/{policyId}` to delete an anomaly policy.
  - Added `GET /customers/{id}/anomaly-policy/{policyId}/logs` to retrieve past anomaly policy logs.
  - Added `PATCH /customers/{id}/anomaly-policy/{policyId}/status` to enable or disable an anomaly policy.
  - Added `GET /customers/{id}/anomaly-policy/{policyId}/violations` to retrieve anomaly policy violations.
  - Added `GET /customers/{id}/anomaly-policy/{policyId}/violations/{iccid}` to retrieve anomaly policy violations by ICCID.
  - Added `GET /customers/{id}/sim-location-groups` to retrieve the list of SIM location groups.
  - Added `GET /customers/{id}/sim-location-groups/{groupId}` to retrieve a SIM location group.
  - Added `POST /customers/{id}/sim-location-groups` to create a SIM location group.
  - Added `PUT /customers/{id}/sim-location-groups/{groupId}` to update a SIM location group.
  - Added `DELETE /customers/{id}/sim-location-groups/{groupId}` to delete a SIM location group.
  - Added `POST /customers/{id}/sim/analytics/map` to retrieve SIM analytics map data.
  - Added `GET /customers/{id}/sim/analytics/summary` to retrieve the SIM analytics summary.
  - Added `GET /customers/{id}/sim/analytics/usage/countries` to retrieve SIM usage by country.
  - Added `GET /customers/{id}/sim/analytics/usage/day` to retrieve SIM usage by day.
  - Added `GET /customers/{id}/sim/analytics/usage/sims` to retrieve SIM usage by SIM.
  - Added `GET /customers/{id}/regions` to retrieve the list of customer regions.
  - Added `PUT /customers/{id}/regions` to deploy or update customer regions.
  - Added `GET /customers/{id}/regions/operational-status` to retrieve the operational status of customer regions.
  - Added `POST /audit/customers/{id}/search` to search customer audit data.
  - Added `GET /audit/metadata` to retrieve audit metadata.
  - Added `POST /network-events/{id}/search/startTime/{startTime}/endTime/{endTime}` to search network events within a time window.
  - Added `GET /customers/{id}/sims/details` to retrieve SIM details by ICCID.
  - Added `POST /customers/{id}/sims/download` to download SIM data as a CSV file.
  - Added `PATCH /customers/{id}/sims/assign/tag` to assign a tag to SIMs.
  - Added `PATCH /customers/{id}/sims/lock` to lock SIMs.
  - Added `POST /customers/{id}/sims/search` to search SIM data with filtering and pagination.
  - Added `PATCH /customers/{id}/sims/status` to update the status of SIMs.
  - Added `PATCH /customers/{id}/sims/{iccid}/assign` to assign an eSIM and return the activation code.
  - Added `PATCH /customers/{id}/sims/{iccid}/state` to fetch and refresh the provider eSIM state.
  - Added `GET /customers/{id}/tag` to retrieve the list of tags.
  - Added `POST /customers/{id}/tag` to create a new tag.
  - Added `GET /customers/{id}` to retrieve customer data.
  - Added `PUT /customers/{id}` to activate an end customer.
  - Added support for a configurable ZCell customer id via the `zcellCustomerId` config attribute and the `ZCELL_CUSTOMER_ID` environment variable, which is automatically injected into the `/customers/{id}` request path so it does not need to be passed on every call. The explicit `id` argument is still supported and takes precedence. This value is independent from ZPA's `customerId`.

#### Zscaler Private Access (ZPA) New Endpoints
[PR zscaler#542](zscaler#542) - Added the following new Zscaler Private Access (ZPA) API Endpoints:
  - Added `GET /application/host/{host_id}` - Get federated applications with search, sorting, and pagination
  - Added `PUT /application/federate` - Federate an application with guest customers
  - Added `PUT /policySet/rules/policyType/GLOBAL_POLICY/guest/{guest_id}` - Get policy rules created by partner on federated applications
  - Added `GET /businessContinuitySettings/certificate` - Download SP Certificate
  - Added `GET /businessContinuitySettings/metadata` - Download SP Metadata information
  - Added `GET /businessContinuitySettings` - Gets Business Continuity Setting for customer
  - Added `POST /businessContinuitySettings` - Creates Business Continuity Setting for the customer
  - Added `GET /businessContinuitySettings/{id}` - Get Business Continuity Setting for the given customer by Id
  - Added `PUT /businessContinuitySettings/{id}` - Update Business Continuity Setting for the given customer by Id
  - Added `DELETE /businessContinuitySettings/{id}` - Delete Business Continuity Setting for the Customer
  - Added `GET /iamidpmapping` Retrieves the IamIdpMapping details for the customer
  - Added `GET /privateCloud` Retrieves all configured Private clouds for the specified customer.
  - Added `GET /privateCloud` Retrieves Private cloud details for the specified ID.
  - Added `POST /privateCloud` Adds a new Private cloud for the specified customer.
  - Added `PUT /privateCloud` Updates the Private cloud for the specified ID.
  - Added `DELETE /privateCloud` Deletes the Private cloud for the specified ID.
  - Added `GET /tenant-federation/partners` Retrieves active federation partners for a customer.
  - Added `PUT /tenant-federation/approval` Request approval for tenant federation using token.
  - Added `POST /tenant-federation/token` Create federation token for a customer by microtenant.
  - Added `POST /tenant-federation/token/verify` Verify federation token.
  - Added `GET /tenant-federation` Get provisioning requests for a customer with search, sorting, and pagination.
  - Added `DELETE /tenant-federation/{federation_id}` Delete tenant federation by Federation ID.
  - Added `PUT /tenant-federation/{federation_id}/provisioning-state/{status}` Update tenant federation provisioning state (APPROVED, DENIED, TERMINATED).
  - Added `PUT /tenant-federation/{federation_id}/notes` Update notes for tenant federation provisioning. Initiator updates initiatorNotes, partner updates partnerNotes.
  - Added `PUT /tenant-federation/{federation_id}/federatopm-state/{status}` Update tenant federation status (ACTIVE or INACTIVE).

#### Zscaler Internet Access (ZIA) New Endpoints
[PR zscaler#542](zscaler#542) - Added the following new Zscaler Private Access (ZPA) API Endpoints:
  - `GET /integrationPartners` Retrieves a list of partners and services integrated with the Zscaler service
  - `GET /integrationPartners/crowdStrike/endpoints` Retrieves the list of CrowdStrike endpoints based on the indicator of compromise (IOC) query, with pagination support
  - `POST /integrationPartners/crowdStrike/endpoints` Accepts a list of CrowdStrike endpoint or device IDs in the request body and fetches detailed endpoint or device data for those IDs
  - `GET /integrationPartners/crowdStrike/whitelistedBaseUrls` Retrieves a list of CrowdStrike configured whitelisted base URLs (allowist URLs).
  - `POST /integrationPartners/microsoftDefender/endpoints` Configures the integration of Microsoft Defender for Endpoint APIs with Zscaler.
  - `GET /integrationPartners/sandbox/report/{md5}` Retrieves the MD5 hash of the file required to view the Sandbox Detail Report.
  - `GET /httpHeaderProfile` Retrieves a list of HTTP header profiles.
  - `POST /httpHeaderProfile` Adds a new HTTP header profile.
  - `PUT /httpHeaderProfile/{id}` Updates the HTTP header profile based on the specified ID
  - `DELETE /httpHeaderProfile/{id}` Deletes the HTTP header profile based on the specified ID
  - `GET /httpHeaderActionProfile` Retrieves a list of HTTP header insertion profiles.
  - `POST /httpHeaderActionProfile` Adds a new HTTP header insertion profile.
  - `PUT /httpHeaderActionProfile/{id}` Updates the HTTP header insertion profile based on the specified ID
  - `DELETE /httpHeaderActionProfile/{id}` Deletes the HTTP header insertion profile based on the specified ID
Bumps [responses](https://github.com/getsentry/responses) from 0.26.1 to 0.26.2.
- [Release notes](https://github.com/getsentry/responses/releases)
- [Changelog](https://github.com/getsentry/responses/blob/master/CHANGES)
- [Commits](getsentry/responses@0.26.1...0.26.2)

---
updated-dependencies:
- dependency-name: responses
  dependency-version: 0.26.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…r#545)

* fix: Added newly nested attributes within the ZPA  and  models.
When the GRE tunnel API response omits the lastModifiedBy field,
TrafficGRETunnel.__init__ never initializes self.last_modified_by,
causing AttributeError when as_dict() is called.

Added else branch to set self.last_modified_by = None when the
key is absent from config, matching the pattern used in the
else branch for falsy config.

Fixes zscaler#549
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants