zscaler-sdk-python 1.9.33__tar.gz → 1.9.35__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.
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/PKG-INFO +56 -2
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/README.md +55 -1
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/pyproject.toml +1 -1
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/__init__.py +1 -1
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/config/config_setter.py +1 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/errors/zscaler_api_error.py +8 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/helpers.py +11 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/oneapi_client.py +18 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/oneapi_response.py +38 -4
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/request_executor.py +19 -1
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/utils.py +79 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/anomaly_policy.py +497 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/audit_data_handling.py +158 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/customer_data_handling.py +132 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/customer_region_handling.py +180 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/anomaly_policy.py +547 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/audit_data_handling.py +272 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/customer_data_handling.py +261 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/customer_region_handling.py +210 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/network_events.py +212 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/sim_analytics.py +192 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/sim_handling.py +500 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/sim_location_groups.py +195 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/models/tag_handling.py +80 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/network_events.py +113 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/sim_analytics.py +311 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/sim_handling.py +477 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/sim_location_groups.py +268 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/tag_handling.py +140 -0
- zscaler_sdk_python-1.9.35/zscaler/zcell/zcell_service.py +109 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/adaptive_access_profiles.py +104 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/azure_integration.py +343 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/device_groups.py +140 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/devices.py +131 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/http_header_control.py +404 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/legacy.py +88 -11
- zscaler_sdk_python-1.9.35/zscaler/zia/models/adaptive_access_profiles.py +56 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/models/azure_integration.py +265 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/models/device_groups.py +153 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/models/devices.py +157 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/email_profiles.py +5 -15
- zscaler_sdk_python-1.9.35/zscaler/zia/models/http_header_control.py +279 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/models/partner_integrations.py +466 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/secure_browsing.py +32 -33
- zscaler_sdk_python-1.9.35/zscaler/zia/models/security_ueba_alerts.py +581 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/models/smpc_instance.py +77 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/url_filtering_rules.py +10 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/partner_integrations.py +274 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/security_ueba_alerts.py +437 -0
- zscaler_sdk_python-1.9.35/zscaler/zia/smpc_instance.py +104 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/url_filtering.py +4 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/zia_service.py +81 -9
- zscaler_sdk_python-1.9.35/zscaler/zpa/application_federation.py +104 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/b2b_policy.py +59 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/business_continuity.py +300 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/legacy.py +100 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/models/app_connector_groups.py +912 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/models/application_federation.py +75 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/models/business_continuity.py +172 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/common.py +43 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/models/one_identity.py +119 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/policyset_controller_v2.py +17 -7
- zscaler_sdk_python-1.9.35/zscaler/zpa/models/private_cloud.py +170 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/models/tenant_federation_provisioning.py +230 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/one_identity.py +68 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/pra_approval.py +44 -34
- zscaler_sdk_python-1.9.35/zscaler/zpa/private_cloud.py +194 -0
- zscaler_sdk_python-1.9.35/zscaler/zpa/tenant_federation_provisioning.py +199 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/zpa_service.py +82 -3
- zscaler_sdk_python-1.9.35/zscaler/ztw/__init__.py +0 -0
- zscaler_sdk_python-1.9.35/zscaler/zwa/__init__.py +0 -0
- zscaler_sdk_python-1.9.33/zscaler/zia/models/device_groups.py +0 -59
- zscaler_sdk_python-1.9.33/zscaler/zia/models/devices.py +0 -67
- zscaler_sdk_python-1.9.33/zscaler/zpa/models/app_connector_groups.py +0 -343
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/LICENSE.md +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/api_client.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/cache/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/cache/cache.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/cache/no_op_cache.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/cache/zscaler_cache.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/config/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/config/config_validator.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/constants.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/error_messages.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/errors/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/errors/error.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/errors/graphql_error.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/errors/http_error.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/errors/response_checker.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/exceptions/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/exceptions/exceptions.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/logger.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/oneapi_collection.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/oneapi_http_client.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/oneapi_oauth_client.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/oneapi_object.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ratelimiter/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ratelimiter/ratelimiter.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/types.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/user_agent.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zaiguard/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zaiguard/legacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zaiguard/models/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zaiguard/models/policy_detection.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zaiguard/policy_detection.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zaiguard/zaiguard_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/custom_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/models/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/models/custom_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/models/report_configs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/report_configs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/reports.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zbi/zbi_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/_field_introspect.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/_serialize.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/admin_user.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/application_profiles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/company.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/custom_ip_base_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/devices.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/entitlements.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/fail_open_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/forwarding_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/legacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/admin_user.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/application_profiles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/company_info.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/custom_ip_base_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/devices.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/failopenpolicy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/forwardingprofile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/manage_pass.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/predefined_ip_based_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/process_based_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/secrets_otp.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/secrets_passwords.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/trustednetworks.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/webappservice.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/webpolicy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/webprivacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/predefined_ip_based_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/process_based_apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/secrets.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/web_app_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/web_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/web_privacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zcc/zcc_service.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zdx → zscaler_sdk_python-1.9.35/zscaler/zcell}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zeasm → zscaler_sdk_python-1.9.35/zscaler/zcell/models}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zeasm/models → zscaler_sdk_python-1.9.35/zscaler/zdx}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/admin.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/alerts.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/apps.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/devices.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/inventory.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/legacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/administration.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/alerts.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/application_users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/applications.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/call_quality_metrics.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/devices.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/snapshot.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/software_inventory.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/models/users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/snapshot.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zdx/zdx_service.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zia → zscaler_sdk_python-1.9.35/zscaler/zeasm}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/findings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/lookalike_domains.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zia → zscaler_sdk_python-1.9.35/zscaler/zeasm}/models/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/models/findings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/models/lookalike_domains.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/models/organizations.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/organizations.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zeasm/zeasm_service.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zid → zscaler_sdk_python-1.9.35/zscaler/zia}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/activate.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/admin_roles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/admin_users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/apptotal.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/atp_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/audit_logs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/browser_control_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/casb_dlp_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/casb_malware_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_applications.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_firewall.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_firewall_dns.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_firewall_ips.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_nss.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloud_to_cloud_ir.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/custom_file_types.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/device_management.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/dlp_dictionary.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/dlp_web_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/dns_gatways.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/email_profiles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/end_user_notification.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/file_type_control_rule.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/forwarding_control.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/gre_tunnel.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/iot_report.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/ips_signature_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/locations.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/malware_protection_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zpa → zscaler_sdk_python-1.9.35/zscaler/zia/models}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/activation.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/advanced_threat_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/apptotal.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/browser_control_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/casb_dlp_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/casb_malware_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_app_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_nss.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloud_to_cloud_ir.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/custom_file_types.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/dlp_dictionary.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/dlp_web_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/dns_gateways.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/endusernotification.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/filetyperules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/forwarding_control_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/gre_recommended_list.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/gre_tunnel_info.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/gre_tunnels.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/gre_vips.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/iotreport.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/ips_signature_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/location_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/location_management.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/malware_protection_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/nss_servers.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/organization_information.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/pac_files.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/proxies.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/proxy_gateways.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/remoteassistance.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/rule_labels.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/saas_security_api.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/sandbox.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/sandboxrules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/subclouds.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/system_audit.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/time_intervals.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/traffic_capture.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/urlcategory.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/user_management.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/vzen_clusters.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/vzen_nodes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/workload_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/models/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/nss_servers.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/organization_information.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/pac_files.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/policy_export.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/proxies.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/remote_assistance.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/rule_labels.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/saas_security_api.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/sandbox.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/sandbox_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/secure_browsing.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/sub_clouds.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/system_audit.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/time_intervals.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/traffic_capture.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/url_categories.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/user_management.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/vzen_clusters.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/vzen_nodes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/workload_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zia/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/ztb/models → zscaler_sdk_python-1.9.35/zscaler/zid}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/api_client.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/models/api_client.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/models/groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/models/resource_servers.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/models/user_entitlement.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/models/users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/resource_servers.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/user_entitlement.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zid/zid_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/cyber_security.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/firewall.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/iot.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/models/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/models/enums.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/models/inputs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/saas_security.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/shadow_it.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/web_traffic.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zins/zins_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/agent_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/agents.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/app_catalog.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/app_zones.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/models/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/models/enums.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/models/inputs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/nonces.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/policy_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/resource_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/resources.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/tags.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zms/zms_service.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/ztw → zscaler_sdk_python-1.9.35/zscaler/zpa}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/admin_sso_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/administrator_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/api_keys.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_connector_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_connectors.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_protection.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_segment_by_type.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_segments_ba.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_segments_ba_v2.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_segments_inspection.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/app_segments_pra.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/application_segment.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/branch_connector_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/branch_connectors.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/browser_protection.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/c2c_ip_ranges.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/cbi_region.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/certificates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/client_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/cloud_connector_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/config_override_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/customer_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/customer_domain.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/customer_dr_tool.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/emergency_access.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/enrollment_certificates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/extranet_resource.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/idp.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/location_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/lss.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/machine_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/managed_browser_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/microtenants.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/administrator_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/api_keys.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/app_connectors.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/app_protection_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/application_segment.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/application_segment_lb.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/application_servers.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/branch_connectors.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/browser_protection.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/c2c_ip_ranges.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/cbi_region.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/certificates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/client_settings.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/cloud_connector_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/config_override_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/customer_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/customer_domain.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/customer_dr_tool.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/emergency_access.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/enrollment_certificates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/idp.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/lss.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/machine_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/managed_browser_profile.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/microtenants.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/npn_client_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/oauth2_user_code.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/pra_approval.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/pra_console.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/pra_credential.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/pra_portal.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/private_cloud_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/private_cloud_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/provisioning_keys.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/role_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/saml_attributes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/scim_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/segment_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/server_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/service_edge_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/service_edges.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/stepup_auth_level.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/tag_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/tag_key.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/tag_namespace.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/trusted_network.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/user_portal_aup.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/user_portal_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/user_portal_link.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/models/zia_customer_config.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/npn_client_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/oauth2_user_code.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/policies.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/pra_console.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/pra_credential.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/pra_credential_pool.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/pra_portal.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/private_cloud_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/private_cloud_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/provisioning.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/role_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/saml_attributes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/scim_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/segment_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/server_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/servers.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/service_edge_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/service_edges.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/stepup_auth_level.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/tag_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/tag_key.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/tag_namespace.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/user_portal_aup.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/user_portal_controller.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/user_portal_link.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/workload_tag_group.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zpa/zia_customer_config.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/alarms.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/api_key.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/app_connector_config.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/devices.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/groups_router.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/legacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/logs.py +0 -0
- {zscaler_sdk_python-1.9.33/zscaler/zwa → zscaler_sdk_python-1.9.35/zscaler/ztb/models}/__init__.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/alarms.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/api_key.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/app_connector_config.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/devices.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/groups_router.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/logs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/policy_comments.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/ransomware_kill.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/site.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/site2site_vpn.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/models/template_router.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/policy_comments.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/ransomware_kill.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/site.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/site2site_vpn.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/template_router.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztb/ztb_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/account_details.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/account_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/activation.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/admin_roles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/admin_users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/api_keys.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/discovery_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/ec_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/ip_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/legacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/location_management.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/location_template.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/account_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/activation.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/api_keys.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/discovery_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/ec_group_vm.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/ecgroup.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/ip_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/location_management.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/location_templates.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/nw_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/public_cloud_info.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/workload_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/models/zpa_resources.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/nw_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/public_cloud_info.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/workload_groups.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/ztw/ztw_service.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/audit_logs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/dlp_incidents.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/legacy.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/audit_logs.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/change_history.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/common.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/generated_tickets.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/incident_details.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/incident_evidence.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/incident_group_search.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/incident_search.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/models/incident_trigger.py +0 -0
- {zscaler_sdk_python-1.9.33 → zscaler_sdk_python-1.9.35}/zscaler/zwa/zwa_service.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: zscaler-sdk-python
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.35
|
|
4
4
|
Summary: Official Python SDK for the Zscaler Products
|
|
5
5
|
Home-page: https://github.com/zscaler/zscaler-sdk-python
|
|
6
6
|
License: MIT
|
|
@@ -96,6 +96,7 @@ used in your server-side code to interact with the Zscaler API platform across m
|
|
|
96
96
|
* [Z-Insights - ZINS](https://help.zscaler.com/zscaler-analytics/getting-started) — GraphQL Analytics API
|
|
97
97
|
* [ZMS - Zscaler Microsegmentation](https://help.zscaler.com/legacy-apis/using-zscaler-microsegmentation-api) — GraphQL Microsegmentation API
|
|
98
98
|
* [Business Insights](https://automate.zscaler.com/docs/docs/api-reference-and-guides/api-reference/bi)
|
|
99
|
+
* [Zscaler Cellular API (ZCell)](https://help.zscaler.com/)
|
|
99
100
|
|
|
100
101
|
This SDK is designed to support the new Zscaler API framework [OneAPI](https://automate.zscaler.com/docs/getting-started/getting-started)
|
|
101
102
|
via a single OAuth2 HTTP client. The SDK is also backwards compatible with the previous
|
|
@@ -273,6 +274,7 @@ In most cases, you won't need to build the SDK from source. If you want to build
|
|
|
273
274
|
* [ZMS - Zscaler Microsegmentation](https://help.zscaler.com/legacy-apis/using-zscaler-microsegmentation-api) — GraphQL Microsegmentation API
|
|
274
275
|
* [Zscaler AI Guard API](https://help.zscaler.com/ai-guard)
|
|
275
276
|
* [Business Insights](https://automate.zscaler.com/docs/docs/api-reference-and-guides/api-reference/bi)
|
|
277
|
+
* [Zscaler Cellular API (ZCell)](https://help.zscaler.com/)
|
|
276
278
|
|
|
277
279
|
## Usage guide
|
|
278
280
|
|
|
@@ -307,6 +309,7 @@ As of the publication of SDK version => 1.7.x, OneAPI is available for programma
|
|
|
307
309
|
* [ZMS - Zscaler Microsegmentation](https://help.zscaler.com/legacy-apis/using-zscaler-microsegmentation-api) — GraphQL Microsegmentation API
|
|
308
310
|
* [Zscaler AI Guard API](https://help.zscaler.com/ai-guard)
|
|
309
311
|
* [Business Insights](https://automate.zscaler.com/docs/docs/api-reference-and-guides/api-reference/bi)
|
|
312
|
+
* [Zscaler Cellular API (ZCell)](https://help.zscaler.com/)
|
|
310
313
|
|
|
311
314
|
**NOTE** All other products such as Zscaler Cloud Connector (ZTW) and Zscaler Digital Experience (ZDX) are supported only via the legacy authentication method described in this README.
|
|
312
315
|
|
|
@@ -418,6 +421,56 @@ The authentication to Zscaler Private Access (ZPA) via the OneAPI framework, req
|
|
|
418
421
|
| `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
|
|
419
422
|
| `cloud`
|
|
420
423
|
|
|
424
|
+
### Authenticating to Zscaler Cellular (ZCell)
|
|
425
|
+
|
|
426
|
+
The authentication to Zscaler Cellular (ZCell) via the OneAPI framework uses the same Zidentity OAuth2 credentials (`clientId`, `clientSecret`/`privateKey`, `vanityDomain`, `cloud`) as the other products. ZCell API endpoints are scoped to a specific customer (`/customers/{id}`), so the SDK provides a dedicated `zcellCustomerId` attribute — and the `ZCELL_CUSTOMER_ID` environment variable — which is automatically injected into the request path. This value is completely independent from ZPA's `customerId`.
|
|
427
|
+
|
|
428
|
+
You can supply the ZCell customer id in any of three ways (highest precedence first):
|
|
429
|
+
|
|
430
|
+
1. Explicitly, as the `id` argument on any ZCell method call.
|
|
431
|
+
2. Via the `zcellCustomerId` attribute in the client configuration.
|
|
432
|
+
3. Via the `ZCELL_CUSTOMER_ID` environment variable.
|
|
433
|
+
|
|
434
|
+
| Argument | Description | Environment variable |
|
|
435
|
+
|--------------|-------------|-------------------|
|
|
436
|
+
| `clientId` | _(String)_ Zscaler API Client ID, used with `clientSecret` or `privateKey` OAuth auth mode.| `ZSCALER_CLIENT_ID` |
|
|
437
|
+
| `clientSecret` | _(String)_ A string that contains the password for the API admin.| `ZSCALER_CLIENT_SECRET` |
|
|
438
|
+
| `privateKey` | _(String)_ A string Private key value.| `ZSCALER_PRIVATE_KEY` |
|
|
439
|
+
| `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
|
|
440
|
+
| `cloud` | _(String)_ The host and basePath for the cloud services API is `$api.<cloud_name>.zsapi.net`.| `ZSCALER_CLOUD` |
|
|
441
|
+
| `zcellCustomerId` | _(String)_ The ZCell customer ID automatically scoped into the `/customers/{id}` request path. Independent from ZPA's `customerId`.| `ZCELL_CUSTOMER_ID` |
|
|
442
|
+
|
|
443
|
+
Initialize the client with `zcellCustomerId` and call any ZCell service without repeating the customer id on every method:
|
|
444
|
+
|
|
445
|
+
```py
|
|
446
|
+
from zscaler import ZscalerClient
|
|
447
|
+
|
|
448
|
+
config = {
|
|
449
|
+
"clientId": '{yourClientId}',
|
|
450
|
+
"clientSecret": '{yourClientSecret}',
|
|
451
|
+
"vanityDomain": '{yourvanityDomain}',
|
|
452
|
+
"cloud": "beta", # Optional when authenticating to an alternative cloud environment
|
|
453
|
+
"zcellCustomerId": "72058304855015424", # ZCell customer id (independent from ZPA's customerId)
|
|
454
|
+
"logging": {"enabled": False, "verbose": False},
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
def main():
|
|
458
|
+
with ZscalerClient(config) as client:
|
|
459
|
+
# zcellCustomerId is injected automatically — no id argument needed
|
|
460
|
+
tags, resp, err = client.zcell.tag_handling.list_tag()
|
|
461
|
+
if err:
|
|
462
|
+
print(f"Error listing ZCell tags: {err}")
|
|
463
|
+
return
|
|
464
|
+
for tag in tags:
|
|
465
|
+
print(tag)
|
|
466
|
+
|
|
467
|
+
# You can still override the customer id explicitly per call
|
|
468
|
+
tags, resp, err = client.zcell.tag_handling.list_tag(id="another-customer-id")
|
|
469
|
+
|
|
470
|
+
if __name__ == "__main__":
|
|
471
|
+
main()
|
|
472
|
+
```
|
|
473
|
+
|
|
421
474
|
### Initialize OneAPI OAuth 2.0 Client
|
|
422
475
|
|
|
423
476
|
#### OneAPI Client ID and Client Secret Authentication
|
|
@@ -665,7 +718,7 @@ The header `x-ratelimit-reset` is returned in the API response for each API call
|
|
|
665
718
|
|
|
666
719
|
## Pagination
|
|
667
720
|
|
|
668
|
-
The pagination system in this SDK is unified across `ZCC`, `ZTW`, `ZDX`, `ZIA`, `ZPA`, `ZWA`
|
|
721
|
+
The pagination system in this SDK is unified across `ZCC`, `ZTW`, `ZDX`, `ZIA`, `ZPA`, `ZWA`, `ZCell`
|
|
669
722
|
and is applied transparently whether you're using the Legacy API Client or the new OneAPI OAuth2 Client.
|
|
670
723
|
|
|
671
724
|
✅ This means no code changes are needed when transitioning from the legacy API framework to OneAPI framework.
|
|
@@ -804,6 +857,7 @@ Each Zscaler service has its own pagination requirements and limits. The SDK aut
|
|
|
804
857
|
| ZPA | 20 | 500 | Uses `page`, `pagesize` |
|
|
805
858
|
| ZTW | 100 | Varies | Uses `page`, `pageSize` |
|
|
806
859
|
| ZWA | Varies by endpoint | Varies | Uses `page`, `pageSize` |
|
|
860
|
+
| ZCell | 10 | 100 | Uses `page` (0-based) + `pageSize` |
|
|
807
861
|
|
|
808
862
|
**Important Notes:**
|
|
809
863
|
- ✅ The SDK automatically uses each API's default page size when no `page_size` is specified
|
|
@@ -57,6 +57,7 @@ used in your server-side code to interact with the Zscaler API platform across m
|
|
|
57
57
|
* [Z-Insights - ZINS](https://help.zscaler.com/zscaler-analytics/getting-started) — GraphQL Analytics API
|
|
58
58
|
* [ZMS - Zscaler Microsegmentation](https://help.zscaler.com/legacy-apis/using-zscaler-microsegmentation-api) — GraphQL Microsegmentation API
|
|
59
59
|
* [Business Insights](https://automate.zscaler.com/docs/docs/api-reference-and-guides/api-reference/bi)
|
|
60
|
+
* [Zscaler Cellular API (ZCell)](https://help.zscaler.com/)
|
|
60
61
|
|
|
61
62
|
This SDK is designed to support the new Zscaler API framework [OneAPI](https://automate.zscaler.com/docs/getting-started/getting-started)
|
|
62
63
|
via a single OAuth2 HTTP client. The SDK is also backwards compatible with the previous
|
|
@@ -234,6 +235,7 @@ In most cases, you won't need to build the SDK from source. If you want to build
|
|
|
234
235
|
* [ZMS - Zscaler Microsegmentation](https://help.zscaler.com/legacy-apis/using-zscaler-microsegmentation-api) — GraphQL Microsegmentation API
|
|
235
236
|
* [Zscaler AI Guard API](https://help.zscaler.com/ai-guard)
|
|
236
237
|
* [Business Insights](https://automate.zscaler.com/docs/docs/api-reference-and-guides/api-reference/bi)
|
|
238
|
+
* [Zscaler Cellular API (ZCell)](https://help.zscaler.com/)
|
|
237
239
|
|
|
238
240
|
## Usage guide
|
|
239
241
|
|
|
@@ -268,6 +270,7 @@ As of the publication of SDK version => 1.7.x, OneAPI is available for programma
|
|
|
268
270
|
* [ZMS - Zscaler Microsegmentation](https://help.zscaler.com/legacy-apis/using-zscaler-microsegmentation-api) — GraphQL Microsegmentation API
|
|
269
271
|
* [Zscaler AI Guard API](https://help.zscaler.com/ai-guard)
|
|
270
272
|
* [Business Insights](https://automate.zscaler.com/docs/docs/api-reference-and-guides/api-reference/bi)
|
|
273
|
+
* [Zscaler Cellular API (ZCell)](https://help.zscaler.com/)
|
|
271
274
|
|
|
272
275
|
**NOTE** All other products such as Zscaler Cloud Connector (ZTW) and Zscaler Digital Experience (ZDX) are supported only via the legacy authentication method described in this README.
|
|
273
276
|
|
|
@@ -379,6 +382,56 @@ The authentication to Zscaler Private Access (ZPA) via the OneAPI framework, req
|
|
|
379
382
|
| `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
|
|
380
383
|
| `cloud`
|
|
381
384
|
|
|
385
|
+
### Authenticating to Zscaler Cellular (ZCell)
|
|
386
|
+
|
|
387
|
+
The authentication to Zscaler Cellular (ZCell) via the OneAPI framework uses the same Zidentity OAuth2 credentials (`clientId`, `clientSecret`/`privateKey`, `vanityDomain`, `cloud`) as the other products. ZCell API endpoints are scoped to a specific customer (`/customers/{id}`), so the SDK provides a dedicated `zcellCustomerId` attribute — and the `ZCELL_CUSTOMER_ID` environment variable — which is automatically injected into the request path. This value is completely independent from ZPA's `customerId`.
|
|
388
|
+
|
|
389
|
+
You can supply the ZCell customer id in any of three ways (highest precedence first):
|
|
390
|
+
|
|
391
|
+
1. Explicitly, as the `id` argument on any ZCell method call.
|
|
392
|
+
2. Via the `zcellCustomerId` attribute in the client configuration.
|
|
393
|
+
3. Via the `ZCELL_CUSTOMER_ID` environment variable.
|
|
394
|
+
|
|
395
|
+
| Argument | Description | Environment variable |
|
|
396
|
+
|--------------|-------------|-------------------|
|
|
397
|
+
| `clientId` | _(String)_ Zscaler API Client ID, used with `clientSecret` or `privateKey` OAuth auth mode.| `ZSCALER_CLIENT_ID` |
|
|
398
|
+
| `clientSecret` | _(String)_ A string that contains the password for the API admin.| `ZSCALER_CLIENT_SECRET` |
|
|
399
|
+
| `privateKey` | _(String)_ A string Private key value.| `ZSCALER_PRIVATE_KEY` |
|
|
400
|
+
| `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
|
|
401
|
+
| `cloud` | _(String)_ The host and basePath for the cloud services API is `$api.<cloud_name>.zsapi.net`.| `ZSCALER_CLOUD` |
|
|
402
|
+
| `zcellCustomerId` | _(String)_ The ZCell customer ID automatically scoped into the `/customers/{id}` request path. Independent from ZPA's `customerId`.| `ZCELL_CUSTOMER_ID` |
|
|
403
|
+
|
|
404
|
+
Initialize the client with `zcellCustomerId` and call any ZCell service without repeating the customer id on every method:
|
|
405
|
+
|
|
406
|
+
```py
|
|
407
|
+
from zscaler import ZscalerClient
|
|
408
|
+
|
|
409
|
+
config = {
|
|
410
|
+
"clientId": '{yourClientId}',
|
|
411
|
+
"clientSecret": '{yourClientSecret}',
|
|
412
|
+
"vanityDomain": '{yourvanityDomain}',
|
|
413
|
+
"cloud": "beta", # Optional when authenticating to an alternative cloud environment
|
|
414
|
+
"zcellCustomerId": "72058304855015424", # ZCell customer id (independent from ZPA's customerId)
|
|
415
|
+
"logging": {"enabled": False, "verbose": False},
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
def main():
|
|
419
|
+
with ZscalerClient(config) as client:
|
|
420
|
+
# zcellCustomerId is injected automatically — no id argument needed
|
|
421
|
+
tags, resp, err = client.zcell.tag_handling.list_tag()
|
|
422
|
+
if err:
|
|
423
|
+
print(f"Error listing ZCell tags: {err}")
|
|
424
|
+
return
|
|
425
|
+
for tag in tags:
|
|
426
|
+
print(tag)
|
|
427
|
+
|
|
428
|
+
# You can still override the customer id explicitly per call
|
|
429
|
+
tags, resp, err = client.zcell.tag_handling.list_tag(id="another-customer-id")
|
|
430
|
+
|
|
431
|
+
if __name__ == "__main__":
|
|
432
|
+
main()
|
|
433
|
+
```
|
|
434
|
+
|
|
382
435
|
### Initialize OneAPI OAuth 2.0 Client
|
|
383
436
|
|
|
384
437
|
#### OneAPI Client ID and Client Secret Authentication
|
|
@@ -626,7 +679,7 @@ The header `x-ratelimit-reset` is returned in the API response for each API call
|
|
|
626
679
|
|
|
627
680
|
## Pagination
|
|
628
681
|
|
|
629
|
-
The pagination system in this SDK is unified across `ZCC`, `ZTW`, `ZDX`, `ZIA`, `ZPA`, `ZWA`
|
|
682
|
+
The pagination system in this SDK is unified across `ZCC`, `ZTW`, `ZDX`, `ZIA`, `ZPA`, `ZWA`, `ZCell`
|
|
630
683
|
and is applied transparently whether you're using the Legacy API Client or the new OneAPI OAuth2 Client.
|
|
631
684
|
|
|
632
685
|
✅ This means no code changes are needed when transitioning from the legacy API framework to OneAPI framework.
|
|
@@ -765,6 +818,7 @@ Each Zscaler service has its own pagination requirements and limits. The SDK aut
|
|
|
765
818
|
| ZPA | 20 | 500 | Uses `page`, `pagesize` |
|
|
766
819
|
| ZTW | 100 | Varies | Uses `page`, `pageSize` |
|
|
767
820
|
| ZWA | Varies by endpoint | Varies | Uses `page`, `pageSize` |
|
|
821
|
+
| ZCell | 10 | 100 | Uses `page` (0-based) + `pageSize` |
|
|
768
822
|
|
|
769
823
|
**Important Notes:**
|
|
770
824
|
- ✅ The SDK automatically uses each API's default page size when no `page_size` is specified
|
|
@@ -23,6 +23,8 @@ class ZscalerAPIError(Exception):
|
|
|
23
23
|
or response_body.get("errorCode")
|
|
24
24
|
# ZCC error envelope: {"title": "INVALID_FIELD_VALUE", "errorCode": null, ...}
|
|
25
25
|
or response_body.get("title")
|
|
26
|
+
# ZCell error envelope: {"msgId": "invalid.access", ...}
|
|
27
|
+
or response_body.get("msgId")
|
|
26
28
|
)
|
|
27
29
|
self.error_message: Optional[str] = (
|
|
28
30
|
response_body.get("message")
|
|
@@ -30,9 +32,13 @@ class ZscalerAPIError(Exception):
|
|
|
30
32
|
or response_body.get("errorDetails")
|
|
31
33
|
# ZCC error envelope: {"errorMessage": "Policy with policyId: ...", ...}
|
|
32
34
|
or response_body.get("errorMessage")
|
|
35
|
+
# ZCell error envelope: {"detail": "Invalid Authentication.", ...}
|
|
36
|
+
or response_body.get("detail")
|
|
33
37
|
)
|
|
34
38
|
self.params: List[Any] = response_body.get("params", [])
|
|
35
39
|
self.path: Optional[str] = response_body.get("path")
|
|
40
|
+
# ZCell error envelope carries an ISO-8601 timestamp.
|
|
41
|
+
self.timestamp: Optional[str] = response_body.get("timestamp")
|
|
36
42
|
|
|
37
43
|
message_parts: List[str] = [f"HTTP {self.status_code}"]
|
|
38
44
|
if self.error_code:
|
|
@@ -65,6 +71,8 @@ class ZscalerAPIError(Exception):
|
|
|
65
71
|
error_payload["params"] = self.params
|
|
66
72
|
if self.path:
|
|
67
73
|
error_payload["path"] = self.path
|
|
74
|
+
if self.timestamp:
|
|
75
|
+
error_payload["timestamp"] = self.timestamp
|
|
68
76
|
return json.dumps(error_payload, indent=2)
|
|
69
77
|
|
|
70
78
|
def __repr__(self) -> str:
|
|
@@ -137,6 +137,12 @@ def to_snake_case(string):
|
|
|
137
137
|
"locationDTO": "location_dto",
|
|
138
138
|
"runtimeOS": "runtime_os",
|
|
139
139
|
"defaultCSP": "default_csp",
|
|
140
|
+
# ZCell Edge Cases — all-caps telecom acronyms the generic heuristic
|
|
141
|
+
# would otherwise split letter-by-letter (e.g. "ECI" -> "e_c_i").
|
|
142
|
+
"ECI": "eci",
|
|
143
|
+
"MCC": "mcc",
|
|
144
|
+
"MNC": "mnc",
|
|
145
|
+
"TAC": "tac",
|
|
140
146
|
# ZIdentity Edge Cases
|
|
141
147
|
# "clientJWKsUrl": "clientJWKsUrl",
|
|
142
148
|
}
|
|
@@ -285,6 +291,11 @@ def to_lower_camel_case(string):
|
|
|
285
291
|
"location_dto": "locationDTO",
|
|
286
292
|
"runtime_os": "runtimeOS",
|
|
287
293
|
"default_csp": "defaultCSP",
|
|
294
|
+
# ZCell Edge Cases — all-caps telecom acronyms restored on the wire.
|
|
295
|
+
"eci": "ECI",
|
|
296
|
+
"mcc": "MCC",
|
|
297
|
+
"mnc": "MNC",
|
|
298
|
+
"tac": "TAC",
|
|
288
299
|
# ZPA Timeout Policy: the API treats "reauth" as a single token. The
|
|
289
300
|
# default heuristic would split "re_auth_*" into "reAuth*", which the
|
|
290
301
|
# API rejects. Map both the "re_auth_*" and "reauth_*" spellings.
|
|
@@ -16,6 +16,7 @@ from zscaler.zaiguard.zaiguard_service import ZGuardService
|
|
|
16
16
|
from zscaler.zbi.zbi_service import ZBIService
|
|
17
17
|
from zscaler.zcc.legacy import LegacyZCCClientHelper
|
|
18
18
|
from zscaler.zcc.zcc_service import ZCCService
|
|
19
|
+
from zscaler.zcell.zcell_service import ZCellService
|
|
19
20
|
from zscaler.zdx.legacy import LegacyZDXClientHelper
|
|
20
21
|
from zscaler.zdx.zdx_service import ZDXService
|
|
21
22
|
from zscaler.zeasm.zeasm_service import ZEASMService
|
|
@@ -153,6 +154,10 @@ class Client:
|
|
|
153
154
|
# Retrieve optional customerId from config or environment
|
|
154
155
|
self._customer_id = self._config["client"].get("customerId", os.getenv("ZSCALER_CUSTOMER_ID"))
|
|
155
156
|
|
|
157
|
+
# Retrieve optional ZCell customer id from config or environment. This is
|
|
158
|
+
# ZCell-specific and completely independent from ZPA's customerId above.
|
|
159
|
+
self._zcell_customer_id = self._config["client"].get("zcellCustomerId") or os.getenv("ZCELL_CUSTOMER_ID")
|
|
160
|
+
|
|
156
161
|
# Prune unnecessary configuration fields
|
|
157
162
|
self._config = client_config_setter._prune_config(self._config)
|
|
158
163
|
# Setup logging based on config
|
|
@@ -162,6 +167,10 @@ class Client:
|
|
|
162
167
|
ConfigValidator(self._config)
|
|
163
168
|
# self.logger.debug("Configuration validated successfully.")
|
|
164
169
|
|
|
170
|
+
# Ensure the resolved ZCell customer id (config or ZCELL_CUSTOMER_ID env)
|
|
171
|
+
# is available to ZCell service clients, which read it from the shared config.
|
|
172
|
+
self._config["client"]["zcellCustomerId"] = self._zcell_customer_id
|
|
173
|
+
|
|
165
174
|
# Check inline configuration first, and if not provided, use environment variables
|
|
166
175
|
self._client_id = self._config["client"].get("clientId", os.getenv("ZSCALER_CLIENT_ID"))
|
|
167
176
|
|
|
@@ -229,6 +238,7 @@ class Client:
|
|
|
229
238
|
self._zms = None # ZMS - Zscaler Microsegmentation (GraphQL API)
|
|
230
239
|
self._zbi = None # Zscaler Business Insights (REST API)
|
|
231
240
|
self._zguard = None
|
|
241
|
+
self._zcell = None # Zscaler Cellular (OneAPI only)
|
|
232
242
|
|
|
233
243
|
def authenticate(self):
|
|
234
244
|
"""
|
|
@@ -268,6 +278,14 @@ class Client:
|
|
|
268
278
|
self._zia = ZIAService(self._request_executor)
|
|
269
279
|
return self._zia
|
|
270
280
|
|
|
281
|
+
@property
|
|
282
|
+
def zcell(self):
|
|
283
|
+
# ZCell is OneAPI-only (no legacy client); construct lazily with the
|
|
284
|
+
# RequestExecutor directly, matching ZIA/ZTW.
|
|
285
|
+
if self._zcell is None:
|
|
286
|
+
self._zcell = ZCellService(self._request_executor, self._config)
|
|
287
|
+
return self._zcell
|
|
288
|
+
|
|
271
289
|
@property
|
|
272
290
|
def zwa(self):
|
|
273
291
|
if self.use_legacy_client:
|
|
@@ -22,6 +22,7 @@ class ZscalerAPIResponse:
|
|
|
22
22
|
"zpa": {"default": 100, "max": 500},
|
|
23
23
|
"zia": {"default": 500, "max": 10000},
|
|
24
24
|
"zdx": {"default": 10, "min": 1},
|
|
25
|
+
"zcell": {"default": 10, "max": 100, "min": 1},
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
def __init__(
|
|
@@ -86,8 +87,13 @@ class ZscalerAPIResponse:
|
|
|
86
87
|
self._params.pop("page", None)
|
|
87
88
|
|
|
88
89
|
# Resolve the user-supplied page size from the correct param key per service.
|
|
89
|
-
# ZIA uses "pageSize"; ZPA uses "pagesize"; others use "limit".
|
|
90
|
-
raw_page_size =
|
|
90
|
+
# ZIA uses "pageSize"; ZPA uses "pagesize"; ZCell uses "size"; others use "limit".
|
|
91
|
+
raw_page_size = (
|
|
92
|
+
self._params.get("pageSize")
|
|
93
|
+
or self._params.get("pagesize")
|
|
94
|
+
or self._params.get("size")
|
|
95
|
+
or self._params.get("limit")
|
|
96
|
+
)
|
|
91
97
|
self._limit = self.validate_page_size(raw_page_size, service_type)
|
|
92
98
|
|
|
93
99
|
if res_details:
|
|
@@ -235,6 +241,21 @@ class ZscalerAPIResponse:
|
|
|
235
241
|
items = val
|
|
236
242
|
break
|
|
237
243
|
self._list = items
|
|
244
|
+
elif self._service_type == "zcell":
|
|
245
|
+
# ZCell wraps paginated list responses in a {"totalElements", "totalPages",
|
|
246
|
+
# "size", "content": [...]} envelope. Single-object responses (e.g. a
|
|
247
|
+
# GET-by-id or an activate) come back as a plain dict with no "content"
|
|
248
|
+
# key — treat those as a one-item list so get_results()/get_body() both work.
|
|
249
|
+
if isinstance(self._body, dict) and "content" in self._body and isinstance(self._body["content"], list):
|
|
250
|
+
self._list = self._body["content"]
|
|
251
|
+
self._total_pages = int(self._body.get("totalPages", 1))
|
|
252
|
+
self._total_count = int(self._body.get("totalElements", 0))
|
|
253
|
+
elif isinstance(self._body, dict):
|
|
254
|
+
self._list = [self._body]
|
|
255
|
+
self._is_flat_list_response = True
|
|
256
|
+
else:
|
|
257
|
+
self._list = self._body if isinstance(self._body, list) else []
|
|
258
|
+
self._is_flat_list_response = True
|
|
238
259
|
else:
|
|
239
260
|
# ZPA and possibly other services use a dict with "list" field
|
|
240
261
|
self._list = self._body.get("list", [])
|
|
@@ -350,6 +371,13 @@ class ZscalerAPIResponse:
|
|
|
350
371
|
if self._service_type == "zdx":
|
|
351
372
|
logger.debug("[DEBUG] Taking ZDX pagination branch.")
|
|
352
373
|
self._params["offset"] = self._next_offset
|
|
374
|
+
elif self._service_type == "zcell":
|
|
375
|
+
logger.debug("[DEBUG] Taking ZCell pagination branch.")
|
|
376
|
+
# ZCell pages are 0-based: the first (un-paginated) request returns
|
|
377
|
+
# page 0. The internal _page counter is 1-based, so the API page
|
|
378
|
+
# index is _page - 1 (e.g. _page == 2 -> page=1, the second page).
|
|
379
|
+
self._page += 1
|
|
380
|
+
self._params["page"] = self._page - 1
|
|
353
381
|
elif self._service_type == "zia":
|
|
354
382
|
logger.debug("[DEBUG] Taking ZIA pagination branch.")
|
|
355
383
|
self._page += 1
|
|
@@ -399,9 +427,15 @@ class ZscalerAPIResponse:
|
|
|
399
427
|
logger.debug("Has next page: False (flat list response - all results returned in single response)")
|
|
400
428
|
return False
|
|
401
429
|
|
|
402
|
-
if self._service_type
|
|
430
|
+
if self._service_type in ("zpa", "zcell"):
|
|
403
431
|
has_next = self._page < self._total_pages
|
|
404
|
-
logger.debug(
|
|
432
|
+
logger.debug(
|
|
433
|
+
"Has next page for %s: %s (page %d of %d)",
|
|
434
|
+
self._service_type.upper(),
|
|
435
|
+
has_next,
|
|
436
|
+
self._page,
|
|
437
|
+
self._total_pages,
|
|
438
|
+
)
|
|
405
439
|
return has_next
|
|
406
440
|
elif self._service_type == "zdx":
|
|
407
441
|
has_next = self._next_offset is not None
|
|
@@ -198,6 +198,8 @@ class RequestExecutor:
|
|
|
198
198
|
return "zia"
|
|
199
199
|
elif "/ztw" in url:
|
|
200
200
|
return "ztw"
|
|
201
|
+
elif "/zcell/config/api/v1" in url:
|
|
202
|
+
return "zcell"
|
|
201
203
|
elif "/zcc" in url:
|
|
202
204
|
return "zcc"
|
|
203
205
|
elif "/zdx" in url:
|
|
@@ -229,6 +231,8 @@ class RequestExecutor:
|
|
|
229
231
|
return "zia"
|
|
230
232
|
elif "/ztw" in url:
|
|
231
233
|
return "ztw"
|
|
234
|
+
elif "/zcell/config/api/v1" in url:
|
|
235
|
+
return "zcell"
|
|
232
236
|
elif "/zcc" in url:
|
|
233
237
|
return "zcc"
|
|
234
238
|
elif "/zdx" in url:
|
|
@@ -242,7 +246,21 @@ class RequestExecutor:
|
|
|
242
246
|
raise ValueError(f"Unsupported service: {url}")
|
|
243
247
|
|
|
244
248
|
def remove_oneapi_endpoint_prefix(self, endpoint: str) -> str:
|
|
245
|
-
prefixes = [
|
|
249
|
+
prefixes = [
|
|
250
|
+
"admin",
|
|
251
|
+
"/zia",
|
|
252
|
+
"/zpa",
|
|
253
|
+
"/zcc",
|
|
254
|
+
"/ztw",
|
|
255
|
+
"/zdx",
|
|
256
|
+
"/zwa",
|
|
257
|
+
"/zins",
|
|
258
|
+
"/zms",
|
|
259
|
+
"/ztb",
|
|
260
|
+
"/bi",
|
|
261
|
+
"/ziam",
|
|
262
|
+
"/zcell/config/api/v1",
|
|
263
|
+
]
|
|
246
264
|
for prefix in prefixes:
|
|
247
265
|
if endpoint.startswith(prefix):
|
|
248
266
|
return endpoint[len(prefix) :]
|
|
@@ -89,6 +89,8 @@ reformat_params = [
|
|
|
89
89
|
("criteria_domain_profile_ids", "criteriaDomainProfiles"),
|
|
90
90
|
("email_recipient_profile_ids", "emailRecipientProfiles"),
|
|
91
91
|
("entity_group_ids", "entityGroups"),
|
|
92
|
+
("http_header_action_profile_ids", "httpHeaderActionProfiles"),
|
|
93
|
+
("http_header_profile_ids", "httpHeaderProfiles"),
|
|
92
94
|
("scope_entity_ids", "adminScopeScopeEntities"),
|
|
93
95
|
("supported_region_ids", "supportedRegions"),
|
|
94
96
|
("src_workload_groups_ids", "srcWorkloadGroups"),
|
|
@@ -98,6 +100,7 @@ reformat_params = [
|
|
|
98
100
|
("connector_ids", "connectors"),
|
|
99
101
|
("server_group_ids", "serverGroups"),
|
|
100
102
|
("user_portal_ids", "userPortals"),
|
|
103
|
+
|
|
101
104
|
]
|
|
102
105
|
|
|
103
106
|
|
|
@@ -479,6 +482,82 @@ def zdx_params(func):
|
|
|
479
482
|
return wrapper
|
|
480
483
|
|
|
481
484
|
|
|
485
|
+
def zcell_params(func=None, *, start_key="startDateTime", end_key="endDateTime", target="query"):
|
|
486
|
+
"""
|
|
487
|
+
Decorator for ZCell endpoints that take an epoch-seconds time window. Lets
|
|
488
|
+
callers pass a single ``days`` shorthand instead of computing epoch
|
|
489
|
+
timestamps by hand (mirrors ZDX's ``since`` convenience):
|
|
490
|
+
|
|
491
|
+
client.zcell.anomaly_policy.list_anomaly_policy(id=cid, days=7)
|
|
492
|
+
|
|
493
|
+
becomes ``startDateTime = now - 7*86400`` and ``endDateTime = now`` (epoch
|
|
494
|
+
seconds). Explicit window params (or ``days`` omitted) are always respected
|
|
495
|
+
and never overwritten. ``days`` may be supplied either as a direct keyword
|
|
496
|
+
argument or inside ``query_params``.
|
|
497
|
+
|
|
498
|
+
Different ZCell endpoints name the window differently. Most use
|
|
499
|
+
``startDateTime`` / ``endDateTime`` (the default), but some — e.g.
|
|
500
|
+
``/sim/analytics/usage/countries`` — use ``startDate`` / ``endDate``. Pass
|
|
501
|
+
``start_key`` / ``end_key`` to target those::
|
|
502
|
+
|
|
503
|
+
@zcell_params(start_key="startDate", end_key="endDate")
|
|
504
|
+
def list_sim_analytics_usage_countries(self, id, ...): ...
|
|
505
|
+
|
|
506
|
+
Some endpoints expect the window in the JSON request **body** rather than the
|
|
507
|
+
query string (e.g. the POST ``/audit/customers/{id}/search`` filter). Pass
|
|
508
|
+
``target="body"`` to inject the derived window into the body kwargs instead::
|
|
509
|
+
|
|
510
|
+
@zcell_params(start_key="startDate", end_key="endDate", target="body")
|
|
511
|
+
def list_audit_customers_search(self, id, ..., **kwargs): ...
|
|
512
|
+
|
|
513
|
+
Other endpoints carry the window as URL **path** parameters (e.g. the POST
|
|
514
|
+
``/network-events/{id}/search/startTime/{startTime}/endTime/{endTime}``). Pass
|
|
515
|
+
``target="path"`` with ``start_key`` / ``end_key`` set to the function's own
|
|
516
|
+
parameter names so the shorthand fills those arguments::
|
|
517
|
+
|
|
518
|
+
@zcell_params(start_key="start_time", end_key="end_time", target="path")
|
|
519
|
+
def list_network_events_search(self, id, start_time=None, end_time=None, **kwargs): ...
|
|
520
|
+
"""
|
|
521
|
+
|
|
522
|
+
def decorator(func):
|
|
523
|
+
@functools.wraps(func)
|
|
524
|
+
def wrapper(self, *args, **kwargs):
|
|
525
|
+
days = kwargs.pop("days", None)
|
|
526
|
+
|
|
527
|
+
if target in ("body", "path"):
|
|
528
|
+
# Window fields belong in the JSON request body or the URL path;
|
|
529
|
+
# both are passed through **kwargs (path values bind to the
|
|
530
|
+
# function's explicit parameters). setdefault so an explicit
|
|
531
|
+
# value wins over the shorthand.
|
|
532
|
+
if days is not None:
|
|
533
|
+
now = int(time.time())
|
|
534
|
+
kwargs.setdefault(start_key, now - int(days) * 86400)
|
|
535
|
+
kwargs.setdefault(end_key, now)
|
|
536
|
+
return func(self, *args, **kwargs)
|
|
537
|
+
|
|
538
|
+
query_params = kwargs.get("query_params") or {}
|
|
539
|
+
if days is None:
|
|
540
|
+
days = query_params.pop("days", None)
|
|
541
|
+
|
|
542
|
+
if days is not None:
|
|
543
|
+
now = int(time.time())
|
|
544
|
+
# setdefault so an explicit window param wins over the shorthand
|
|
545
|
+
query_params.setdefault(start_key, now - int(days) * 86400)
|
|
546
|
+
query_params.setdefault(end_key, now)
|
|
547
|
+
|
|
548
|
+
if query_params:
|
|
549
|
+
kwargs["query_params"] = query_params
|
|
550
|
+
|
|
551
|
+
return func(self, *args, **kwargs)
|
|
552
|
+
|
|
553
|
+
return wrapper
|
|
554
|
+
|
|
555
|
+
# Support both bare (@zcell_params) and parameterized (@zcell_params(...)) usage.
|
|
556
|
+
if func is not None:
|
|
557
|
+
return decorator(func)
|
|
558
|
+
return decorator
|
|
559
|
+
|
|
560
|
+
|
|
482
561
|
class CommonFilters:
|
|
483
562
|
def __init__(self, **kwargs):
|
|
484
563
|
valid_params = {
|