zscaler-sdk-python 1.7.3__tar.gz → 1.7.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/PKG-INFO +1 -1
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/pyproject.toml +1 -1
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/__init__.py +1 -1
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_client.py +1 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_response.py +8 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/request_executor.py +14 -2
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/devices.py +8 -11
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/devices.py +221 -55
- zscaler_sdk_python-1.7.5/zscaler/zia/activate.py +206 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_web_rules.py +1 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/legacy.py +21 -9
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/locations.py +8 -7
- zscaler_sdk_python-1.7.5/zscaler/zia/models/activation.py +98 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -1
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_web_rules.py +7 -2
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/filetyperules.py +3 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/pac_files.py +111 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/pac_files.py +7 -7
- zscaler_sdk_python-1.7.3/zscaler/zia/activate.py +0 -106
- zscaler_sdk_python-1.7.3/zscaler/zia/models/activation.py +0 -46
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/LICENSE.md +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/README.md +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/api_client.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/cache.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/no_op_cache.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/cache/zscaler_cache.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/config/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/config/config_setter.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/config/config_validator.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/constants.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/error_messages.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/error.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/http_error.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/response_checker.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/errors/zscaler_api_error.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/exceptions/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/exceptions/exceptions.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/helpers.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/logger.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_collection.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_http_client.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_oauth_client.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/oneapi_object.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ratelimiter/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ratelimiter/ratelimiter.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/user_agent.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/utils.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/admin_user.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/company.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/entitlements.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/fail_open_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/forwarding_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/legacy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/admin_user.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/failopenpolicy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/forwardingprofile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/getcompanyinfo.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/manage_pass.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/secrets_otp.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/secrets_passwords.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/trustednetworks.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/webappservice.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/webpolicy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/webprivacy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/secrets.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/web_app_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/web_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/web_privacy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zcc/zcc_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/admin.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/alerts.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/apps.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/devices.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/inventory.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/legacy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/administration.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/alerts.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/application_users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/applications.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/call_quality_metrics.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/common.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/devices.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/snapshot.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/software_inventory.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/models/users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/snapshot.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zdx/zdx_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/admin_roles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/admin_users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/apptotal.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/atp_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/audit_logs.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/browser_control_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/casb_dlp_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/casb_malware_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_applications.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall_dns.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall_ips.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_nss.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloud_to_cloud_ir.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/device_management.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_dictionary.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/dns_gatways.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/end_user_notification.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/file_type_control_rule.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/forwarding_control.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/gre_tunnel.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/iot_report.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/malware_protection_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/advanced_threat_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/apptotal.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/browser_control_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/casb_dlp_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/casb_malware_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_app_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_nss.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloud_to_cloud_ir.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/common.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/device_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/devices.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_dictionary.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/dns_gateways.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/endusernotification.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/forwarding_control_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_recommended_list.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_tunnel_info.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_tunnels.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/gre_vips.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/iotreport.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/location_group.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/location_management.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/malware_protection_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/nss_servers.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/organization_information.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/proxies.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/proxy_gateways.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/remoteassistance.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/rule_labels.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/saas_security_api.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/sandboxrules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/subclouds.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/system_audit.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/time_intervals.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/url_filtering_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/urlcategory.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/user_management.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/vzen_clusters.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/workload_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/models/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/nss_servers.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/organization_information.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/policy_export.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/proxies.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/remote_assistance.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/rule_labels.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/saas_security_api.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/sandbox.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/sandbox_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/sub_clouds.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/system_audit.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/time_intervals.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/url_categories.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/url_filtering.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/user_management.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/vzen_clusters.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/workload_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/zia_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zia/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/api_client.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/api_client.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/common.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/resource_servers.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/user_entitlement.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/models/users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/resource_servers.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/user_entitlement.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zidentity/zidentity_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/admin_sso_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/administrator_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/api_keys.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_connector_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_connectors.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_protection.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segment_by_type.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_ba.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_ba_v2.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_inspection.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/app_segments_pra.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/application_segment.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/c2c_ip_ranges.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_region.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/certificates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/client_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/config_override_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/customer_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/customer_domain.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/emergency_access.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/enrollment_certificates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/idp.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/legacy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/lss.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/machine_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/microtenants.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/administrator_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/api_keys.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_connector_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_connectors.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/app_protection_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/application_segment.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/application_segment_lb.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/application_servers.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/c2c_ip_ranges.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_region.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/certificates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/client_settings.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/common.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/config_override_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/customer_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/customer_domain.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/emergency_access.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/enrollment_certificates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/idp.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/lss.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/machine_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/microtenants.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/npn_client_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_approval.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_console.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_credential.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/pra_portal.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/private_cloud_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/private_cloud_group.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/provisioning_keys.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/role_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/saml_attributes.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/scim_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/segment_group.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/server_group.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/service_edge_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/service_edges.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/trusted_network.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/user_portal_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/models/user_portal_link.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/npn_client_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/policies.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_approval.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_console.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_credential.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_credential_pool.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/pra_portal.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/private_cloud_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/private_cloud_group.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/provisioning.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/role_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/saml_attributes.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/scim_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/segment_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/server_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/servers.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/service_edge_group.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/service_edges.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/user_portal_controller.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/user_portal_link.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zpa/zpa_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/account_details.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/activation.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/admin_roles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/admin_users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/api_keys.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ec_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ip_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/legacy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/location_management.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/location_template.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/activation.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/api_keys.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/common.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ec_group_vm.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ecgroup.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ip_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/location_management.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/location_templates.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/nw_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/models/zpa_resources.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/nw_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/ztw/ztw_service.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/__init__.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/audit_logs.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/dlp_incidents.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/legacy.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/audit_logs.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/change_history.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/common.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/generated_tickets.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_details.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_evidence.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_group_search.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_search.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/models/incident_trigger.py +0 -0
- {zscaler_sdk_python-1.7.3 → zscaler_sdk_python-1.7.5}/zscaler/zwa/zwa_service.py +0 -0
|
@@ -293,6 +293,7 @@ class Client:
|
|
|
293
293
|
service_type = self._config.get("client", {}).get("service", "zia")
|
|
294
294
|
|
|
295
295
|
if service_type.lower() in ["zia", "ztw"]:
|
|
296
|
+
# For ZIA, deauthenticate only if mutations occurred; executor will decide.
|
|
296
297
|
self.logger.debug(f"Deauthenticating Zscaler session for {service_type} service.")
|
|
297
298
|
self._request_executor.deauthenticate(service_type)
|
|
298
299
|
self.logger.debug(f"Zscaler session deauthenticated for {service_type}.")
|
|
@@ -168,6 +168,14 @@ class ZscalerAPIResponse:
|
|
|
168
168
|
self._results_total = self._body.get("results_total")
|
|
169
169
|
self._page_offset = self._body.get("pageOffset")
|
|
170
170
|
self._page_size = self._body.get("pageSize")
|
|
171
|
+
elif self._service_type == "ZCC":
|
|
172
|
+
# ZCC can return either a single object or a list of objects
|
|
173
|
+
if isinstance(self._body, dict):
|
|
174
|
+
# If it's a single object, wrap it in a list
|
|
175
|
+
self._list = [self._body]
|
|
176
|
+
else:
|
|
177
|
+
# If it's already a list, use it as is
|
|
178
|
+
self._list = self._body if isinstance(self._body, list) else []
|
|
171
179
|
else:
|
|
172
180
|
# ZPA and possibly other services use a dict with "list" field
|
|
173
181
|
self._list = self._body.get("list", [])
|
|
@@ -261,7 +261,12 @@ class RequestExecutor:
|
|
|
261
261
|
"uuid": uuid.uuid4(),
|
|
262
262
|
"service_type": service_type,
|
|
263
263
|
}
|
|
264
|
-
|
|
264
|
+
|
|
265
|
+
# Special handling for PAC file validation endpoint
|
|
266
|
+
if "/pacFiles/validate" in endpoint and service_type == "zia":
|
|
267
|
+
# For PAC file validation, send as raw data without any modification
|
|
268
|
+
request["data"] = body
|
|
269
|
+
elif use_raw_data_for_body:
|
|
265
270
|
request["data"] = body
|
|
266
271
|
else:
|
|
267
272
|
json_payload = self._prepare_body(endpoint, body)
|
|
@@ -269,7 +274,14 @@ class RequestExecutor:
|
|
|
269
274
|
return request, None
|
|
270
275
|
|
|
271
276
|
def _prepare_headers(self, headers, endpoint=""):
|
|
272
|
-
|
|
277
|
+
# Special handling for PAC file validation - preserve custom Content-Type
|
|
278
|
+
if "/pacFiles/validate" in endpoint:
|
|
279
|
+
# For PAC validation, don't override Content-Type from default headers
|
|
280
|
+
default_headers = {k: v for k, v in self._default_headers.items() if k != "Content-Type"}
|
|
281
|
+
headers = {**default_headers, **(self._custom_headers or {}), **headers}
|
|
282
|
+
else:
|
|
283
|
+
headers = {**self._default_headers, **(self._custom_headers or {}), **headers}
|
|
284
|
+
|
|
273
285
|
if "/zscsb" not in endpoint and not self.use_legacy_client:
|
|
274
286
|
headers["Authorization"] = f"Bearer {self._oauth._get_access_token()}"
|
|
275
287
|
return headers
|
|
@@ -377,27 +377,25 @@ class DevicesAPI(APIClient):
|
|
|
377
377
|
``[query_params.udid]`` {str, optional}: Filter by unique device identifier.
|
|
378
378
|
|
|
379
379
|
Returns:
|
|
380
|
-
:obj:`
|
|
380
|
+
:obj:`DeviceDetails`: Returns device detail information in the Client Connector Portal.
|
|
381
381
|
|
|
382
382
|
Examples:
|
|
383
|
-
Prints
|
|
383
|
+
Prints device details in the Client Connector Portal to the console:
|
|
384
384
|
|
|
385
385
|
>>> details, _, err = client.zcc.devices.get_device_details()
|
|
386
386
|
>>> if err:
|
|
387
387
|
... print(f"Error listing device details: {err}")
|
|
388
388
|
... return
|
|
389
|
-
...
|
|
390
|
-
... print(device.as_dict())
|
|
389
|
+
... print(details.as_dict())
|
|
391
390
|
|
|
392
|
-
Prints
|
|
391
|
+
Prints device details in the Client Connector Portal to the console:
|
|
393
392
|
|
|
394
393
|
>>> details, _, err = client.zcc.devices.get_device_details(
|
|
395
394
|
... query_params:{'username': 'jdoe'})
|
|
396
395
|
>>> if err:
|
|
397
396
|
... print(f"Error listing device details: {err}")
|
|
398
397
|
... return
|
|
399
|
-
...
|
|
400
|
-
... print(device.as_dict())
|
|
398
|
+
... print(details.as_dict())
|
|
401
399
|
"""
|
|
402
400
|
http_method = "get".upper()
|
|
403
401
|
api_url = format_url(
|
|
@@ -417,14 +415,13 @@ class DevicesAPI(APIClient):
|
|
|
417
415
|
if error:
|
|
418
416
|
return (None, None, error)
|
|
419
417
|
|
|
420
|
-
response, error = self._request_executor.execute(request
|
|
418
|
+
response, error = self._request_executor.execute(request)
|
|
421
419
|
if error:
|
|
422
420
|
return (None, response, error)
|
|
423
421
|
|
|
424
422
|
try:
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
result.append(DeviceDetails(self.form_response_body(item)))
|
|
423
|
+
# Handle single object response directly since getDeviceDetails returns a single object
|
|
424
|
+
result = DeviceDetails(self.form_response_body(response.get_body()))
|
|
428
425
|
except Exception as error:
|
|
429
426
|
return (None, response, error)
|
|
430
427
|
return (result, response, None)
|
|
@@ -291,12 +291,12 @@ class DeviceCleanup(ZscalerObject):
|
|
|
291
291
|
|
|
292
292
|
class DeviceDetails(ZscalerObject):
|
|
293
293
|
"""
|
|
294
|
-
A class for
|
|
294
|
+
A class for Device Details objects.
|
|
295
295
|
"""
|
|
296
296
|
|
|
297
297
|
def __init__(self, config=None):
|
|
298
298
|
"""
|
|
299
|
-
Initialize the
|
|
299
|
+
Initialize the Device Details model based on API response.
|
|
300
300
|
|
|
301
301
|
Args:
|
|
302
302
|
config (dict): A dictionary representing the configuration.
|
|
@@ -304,58 +304,108 @@ class DeviceDetails(ZscalerObject):
|
|
|
304
304
|
super().__init__(config)
|
|
305
305
|
|
|
306
306
|
if config:
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
self.carrier = config
|
|
310
|
-
|
|
311
|
-
self.
|
|
312
|
-
|
|
313
|
-
self.
|
|
314
|
-
|
|
315
|
-
self.
|
|
316
|
-
|
|
317
|
-
self.
|
|
318
|
-
|
|
319
|
-
self.
|
|
320
|
-
|
|
321
|
-
self.
|
|
322
|
-
|
|
323
|
-
self.
|
|
324
|
-
|
|
325
|
-
self.
|
|
326
|
-
|
|
327
|
-
self.
|
|
328
|
-
|
|
329
|
-
self.
|
|
330
|
-
|
|
331
|
-
self.
|
|
332
|
-
|
|
333
|
-
self.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
307
|
+
# Handle attributes that might be in snake_case or camelCase
|
|
308
|
+
self.agent_version = config.get("agent_version") or config.get("agentVersion")
|
|
309
|
+
self.carrier = config.get("carrier")
|
|
310
|
+
self.config_download_time = config.get("config_download_time") or config.get("configDownloadTime")
|
|
311
|
+
self.deregistration_time = config.get("deregistration_time") or config.get("deregistrationTime")
|
|
312
|
+
self.device_policy_name = config.get("device_policy_name") or config.get("devicePolicyName")
|
|
313
|
+
self.device_locale = config.get("device_locale") or config.get("deviceLocale")
|
|
314
|
+
self.download_count = config.get("download_count") or config.get("downloadCount")
|
|
315
|
+
self.external_model = config.get("external_model") or config.get("externalModel")
|
|
316
|
+
self.hardware_fingerprint = config.get("hardware_fingerprint") or config.get("hardwareFingerprint")
|
|
317
|
+
self.keep_alive_time = config.get("keep_alive_time") or config.get("keepAliveTime")
|
|
318
|
+
self.last_seen_time = config.get("last_seen_time") or config.get("lastSeenTime")
|
|
319
|
+
self.mac_address = config.get("mac_address") or config.get("macAddress")
|
|
320
|
+
self.machine_hostname = config.get("machine_hostname") or config.get("machineHostname")
|
|
321
|
+
self.manufacturer = config.get("manufacturer")
|
|
322
|
+
self.os_version = config.get("os_version") or config.get("osVersion")
|
|
323
|
+
self.owner = config.get("owner")
|
|
324
|
+
self.registration_time = config.get("registration_time") or config.get("registrationTime")
|
|
325
|
+
self.rooted = config.get("rooted")
|
|
326
|
+
self.state = config.get("state")
|
|
327
|
+
self.tunnel_version = config.get("tunnel_version") or config.get("tunnelVersion")
|
|
328
|
+
self.type = config.get("type")
|
|
329
|
+
self.unique_id = config.get("unique_id") or config.get("uniqueId")
|
|
330
|
+
self.upm_version = config.get("upm_version") or config.get("upmVersion")
|
|
331
|
+
self.user_name = config.get("user_name") or config.get("userName")
|
|
332
|
+
self.zad_version = config.get("zad_version") or config.get("zadVersion")
|
|
333
|
+
self.zapp_arch = config.get("zapp_arch") or config.get("zappArch")
|
|
334
|
+
|
|
335
|
+
# Additional fields from the API response
|
|
336
|
+
self.id = config["id"] \
|
|
337
|
+
if "id" in config else None
|
|
338
|
+
self.internal_model = config["internal_model"] \
|
|
339
|
+
if "internal_model" in config else None
|
|
340
|
+
self.zdp_version = config["zdpVersion"] \
|
|
341
|
+
if "zdpVersion" in config else None
|
|
342
|
+
self.serial_number = config["serialNumber"] \
|
|
343
|
+
if "serialNumber" in config else None
|
|
344
|
+
self.zia_enabled = config["ziaEnabled"] \
|
|
345
|
+
if "ziaEnabled" in config else None
|
|
346
|
+
self.zpa_enabled = config["zpaEnabled"] \
|
|
347
|
+
if "zpaEnabled" in config else None
|
|
348
|
+
self.zdx_enabled = config["zdxEnabled"] \
|
|
349
|
+
if "zdxEnabled" in config else None
|
|
350
|
+
self.zd_enabled = config["zdEnabled"] \
|
|
351
|
+
if "zdEnabled" in config else None
|
|
352
|
+
self.zdp_enabled = config["zdpEnabled"] \
|
|
353
|
+
if "zdpEnabled" in config else None
|
|
354
|
+
self.zia_health = config["ziaHealth"] \
|
|
355
|
+
if "ziaHealth" in config else None
|
|
356
|
+
self.zpa_health = config["zpaHealth"] \
|
|
357
|
+
if "zpaHealth" in config else None
|
|
358
|
+
self.zdx_health = config["zdxHealth"] \
|
|
359
|
+
if "zdxHealth" in config else None
|
|
360
|
+
self.zd_health = config["zdHealth"] \
|
|
361
|
+
if "zdHealth" in config else None
|
|
362
|
+
self.zdp_health = config["zdpHealth"] \
|
|
363
|
+
if "zdpHealth" in config else None
|
|
364
|
+
self.zpa_last_seen_time = config["zpaLastSeenTime"] \
|
|
365
|
+
if "zpaLastSeenTime" in config else None
|
|
366
|
+
self.zdx_last_seen_time = config["zdxLastSeenTime"] \
|
|
367
|
+
if "zdxLastSeenTime" in config else None
|
|
368
|
+
self.zd_last_seen_time = config["zdLastSeenTime"] \
|
|
369
|
+
if "zdLastSeenTime" in config else None
|
|
370
|
+
self.zdp_last_seen_time = config["zdpLastSeenTime"] \
|
|
371
|
+
if "zdpLastSeenTime" in config else None
|
|
372
|
+
self.zcc_logged_in_user_type = config["zccLoggedInUserType"] \
|
|
373
|
+
if "zccLoggedInUserType" in config else None
|
|
374
|
+
self.external_device_id = config["externalDeviceId"] \
|
|
375
|
+
if "externalDeviceId" in config else None
|
|
376
|
+
self.zcc_force_revert = config["zccForceRevert"] \
|
|
377
|
+
if "zccForceRevert" in config else None
|
|
378
|
+
self.anti_tampering_status = config["antiTamperingStatus"] \
|
|
379
|
+
if "antiTamperingStatus" in config else None
|
|
380
|
+
self.device_trust = config["deviceTrust"] \
|
|
381
|
+
if "deviceTrust" in config else None
|
|
382
|
+
self.zcc_tunnel_version = config["zccTunnelVersion"] \
|
|
383
|
+
if "zccTunnelVersion" in config else None
|
|
384
|
+
self.vdi = config["vdi"] \
|
|
385
|
+
if "vdi" in config else None
|
|
386
|
+
self.strict_enforcement = config["strictEnforcement"] \
|
|
387
|
+
if "strictEnforcement" in config else None
|
|
388
|
+
self.expected_zcc_version = config["expectedZCCVersion"] \
|
|
389
|
+
if "expectedZCCVersion" in config else None
|
|
390
|
+
self.expected_zcc_version_timestamp = config["expectedZCCVersionTimestamp"] \
|
|
391
|
+
if "expectedZCCVersionTimestamp" in config else None
|
|
392
|
+
self.zcc_upgrade_status = config["zccUpgradeStatus"] \
|
|
393
|
+
if "zccUpgradeStatus" in config else None
|
|
394
|
+
|
|
395
|
+
self.device_otp_array = ZscalerCollection.form_list(
|
|
396
|
+
config["deviceOtpArray"] if "deviceOtpArray" in config else [], str
|
|
397
|
+
)
|
|
398
|
+
|
|
399
|
+
if "logFetchInfo" in config:
|
|
400
|
+
if isinstance(config["logFetchInfo"], LogFetchInfo):
|
|
401
|
+
self.log_fetch_info = config["logFetchInfo"]
|
|
402
|
+
elif config["logFetchInfo"] is not None:
|
|
403
|
+
self.log_fetch_info = LogFetchInfo(config["logFetchInfo"])
|
|
404
|
+
else:
|
|
405
|
+
self.log_fetch_info = None
|
|
406
|
+
else:
|
|
407
|
+
self.log_fetch_info = None
|
|
408
|
+
|
|
359
409
|
else:
|
|
360
410
|
self.agent_version = None
|
|
361
411
|
self.carrier = None
|
|
@@ -383,6 +433,39 @@ class DeviceDetails(ZscalerObject):
|
|
|
383
433
|
self.user_name = None
|
|
384
434
|
self.zad_version = None
|
|
385
435
|
self.zapp_arch = None
|
|
436
|
+
self.log_fetch_info = None
|
|
437
|
+
self.device_otp_array = None
|
|
438
|
+
|
|
439
|
+
# Additional fields from the API response
|
|
440
|
+
self.id = None
|
|
441
|
+
self.internal_model = None
|
|
442
|
+
self.zdp_version = None
|
|
443
|
+
self.serial_number = None
|
|
444
|
+
self.zia_enabled = None
|
|
445
|
+
self.zpa_enabled = None
|
|
446
|
+
self.zdx_enabled = None
|
|
447
|
+
self.zd_enabled = None
|
|
448
|
+
self.zdp_enabled = None
|
|
449
|
+
self.zia_health = None
|
|
450
|
+
self.zpa_health = None
|
|
451
|
+
self.zdx_health = None
|
|
452
|
+
self.zd_health = None
|
|
453
|
+
self.zdp_health = None
|
|
454
|
+
self.zpa_last_seen_time = None
|
|
455
|
+
self.zdx_last_seen_time = None
|
|
456
|
+
self.zd_last_seen_time = None
|
|
457
|
+
self.zdp_last_seen_time = None
|
|
458
|
+
self.zcc_logged_in_user_type = None
|
|
459
|
+
self.external_device_id = None
|
|
460
|
+
self.zcc_force_revert = None
|
|
461
|
+
self.anti_tampering_status = None
|
|
462
|
+
self.device_trust = None
|
|
463
|
+
self.zcc_tunnel_version = None
|
|
464
|
+
self.vdi = None
|
|
465
|
+
self.strict_enforcement = None
|
|
466
|
+
self.expected_zcc_version = None
|
|
467
|
+
self.expected_zcc_version_timestamp = None
|
|
468
|
+
self.zcc_upgrade_status = None
|
|
386
469
|
|
|
387
470
|
def request_format(self):
|
|
388
471
|
"""
|
|
@@ -415,7 +498,90 @@ class DeviceDetails(ZscalerObject):
|
|
|
415
498
|
"upmVersion": self.upm_version,
|
|
416
499
|
"user_name": self.user_name,
|
|
417
500
|
"zadVersion": self.zad_version,
|
|
418
|
-
"zappArch": self.zapp_arch
|
|
501
|
+
"zappArch": self.zapp_arch,
|
|
502
|
+
"deviceOtpArray": self.device_otp_array,
|
|
503
|
+
"logFetchInfo": self.log_fetch_info,
|
|
504
|
+
"id": self.id,
|
|
505
|
+
"internal_model": self.internal_model,
|
|
506
|
+
"zdpVersion": self.zdp_version,
|
|
507
|
+
"serialNumber": self.serial_number,
|
|
508
|
+
"ziaEnabled": self.zia_enabled,
|
|
509
|
+
"zpaEnabled": self.zpa_enabled,
|
|
510
|
+
"zdxEnabled": self.zdx_enabled,
|
|
511
|
+
"zdEnabled": self.zd_enabled,
|
|
512
|
+
"zdpEnabled": self.zdp_enabled,
|
|
513
|
+
"ziaHealth": self.zia_health,
|
|
514
|
+
"zpaHealth": self.zpa_health,
|
|
515
|
+
"zdxHealth": self.zdx_health,
|
|
516
|
+
"zdHealth": self.zd_health,
|
|
517
|
+
"zdpHealth": self.zdp_health,
|
|
518
|
+
"zpaLastSeenTime": self.zpa_last_seen_time,
|
|
519
|
+
"zdxLastSeenTime": self.zdx_last_seen_time,
|
|
520
|
+
"zdLastSeenTime": self.zd_last_seen_time,
|
|
521
|
+
"zdpLastSeenTime": self.zdp_last_seen_time,
|
|
522
|
+
"zccLoggedInUserType": self.zcc_logged_in_user_type,
|
|
523
|
+
"externalDeviceId": self.external_device_id,
|
|
524
|
+
"zccForceRevert": self.zcc_force_revert,
|
|
525
|
+
"antiTamperingStatus": self.anti_tampering_status,
|
|
526
|
+
"deviceTrust": self.device_trust,
|
|
527
|
+
"zccTunnelVersion": self.zcc_tunnel_version,
|
|
528
|
+
"vdi": self.vdi,
|
|
529
|
+
"strictEnforcement": self.strict_enforcement,
|
|
530
|
+
"expectedZCCVersion": self.expected_zcc_version,
|
|
531
|
+
"expectedZCCVersionTimestamp": self.expected_zcc_version_timestamp,
|
|
532
|
+
"zccUpgradeStatus": self.zcc_upgrade_status
|
|
533
|
+
}
|
|
534
|
+
parent_req_format.update(current_obj_format)
|
|
535
|
+
return parent_req_format
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
class LogFetchInfo(ZscalerObject):
|
|
539
|
+
"""
|
|
540
|
+
A class for LogFetchInfo objects.
|
|
541
|
+
"""
|
|
542
|
+
|
|
543
|
+
def __init__(self, config=None):
|
|
544
|
+
"""
|
|
545
|
+
Initialize the LogFetchInfo model based on API response.
|
|
546
|
+
|
|
547
|
+
Args:
|
|
548
|
+
config (dict): A dictionary representing the configuration.
|
|
549
|
+
"""
|
|
550
|
+
super().__init__(config)
|
|
551
|
+
|
|
552
|
+
if config:
|
|
553
|
+
self.log_ts = config["logTs"] \
|
|
554
|
+
if "logTs" in config else None
|
|
555
|
+
self.log_ack_ts = config["logAckTs"] \
|
|
556
|
+
if "logAckTs" in config else None
|
|
557
|
+
self.error = config["error"] \
|
|
558
|
+
if "error" in config else None
|
|
559
|
+
self.log_fetch_pcap_enabled = config["logFetchPCAPEnabled"] \
|
|
560
|
+
if "logFetchPCAPEnabled" in config else None
|
|
561
|
+
self.log_fetch_db_enabled = config["logFetchDBEnabled"] \
|
|
562
|
+
if "logFetchDBEnabled" in config else None
|
|
563
|
+
self.log_fetch_from_no_of_days = config["logFetchFromNoOfDays"] \
|
|
564
|
+
if "logFetchFromNoOfDays" in config else None
|
|
565
|
+
else:
|
|
566
|
+
self.log_ts = None
|
|
567
|
+
self.log_ack_ts = None
|
|
568
|
+
self.error = None
|
|
569
|
+
self.log_fetch_pcap_enabled = None
|
|
570
|
+
self.log_fetch_db_enabled = None
|
|
571
|
+
self.log_fetch_from_no_of_days = None
|
|
572
|
+
|
|
573
|
+
def request_format(self):
|
|
574
|
+
"""
|
|
575
|
+
Return the object as a dictionary in the format expected for API requests.
|
|
576
|
+
"""
|
|
577
|
+
parent_req_format = super().request_format()
|
|
578
|
+
current_obj_format = {
|
|
579
|
+
"logTs": self.log_ts,
|
|
580
|
+
"logAckTs": self.log_ack_ts,
|
|
581
|
+
"error": self.error,
|
|
582
|
+
"logFetchPCAPEnabled": self.log_fetch_pcap_enabled,
|
|
583
|
+
"logFetchDBEnabled": self.log_fetch_db_enabled,
|
|
584
|
+
"logFetchFromNoOfDays": self.log_fetch_from_no_of_days
|
|
419
585
|
}
|
|
420
586
|
parent_req_format.update(current_obj_format)
|
|
421
587
|
return parent_req_format
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright (c) 2023, Zscaler Inc.
|
|
3
|
+
|
|
4
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
6
|
+
copyright notice and this permission notice appear in all copies.
|
|
7
|
+
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
9
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
10
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
11
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
12
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
13
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
14
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
from zscaler.api_client import APIClient
|
|
18
|
+
from zscaler.request_executor import RequestExecutor
|
|
19
|
+
from zscaler.zia.models.activation import Activation
|
|
20
|
+
from zscaler.zia.models.activation import EusaStatus
|
|
21
|
+
from zscaler.utils import format_url
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ActivationAPI(APIClient):
|
|
25
|
+
"""
|
|
26
|
+
A Client object for the Activation resource.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
_zia_base_endpoint = "/zia/api/v1"
|
|
30
|
+
|
|
31
|
+
def __init__(self, request_executor):
|
|
32
|
+
super().__init__()
|
|
33
|
+
self._request_executor: RequestExecutor = request_executor
|
|
34
|
+
|
|
35
|
+
def status(self) -> tuple:
|
|
36
|
+
"""
|
|
37
|
+
Returns the activation status for a configuration change.
|
|
38
|
+
|
|
39
|
+
Returns:
|
|
40
|
+
:obj:`Activation`, response object, and error if any.
|
|
41
|
+
|
|
42
|
+
Examples:
|
|
43
|
+
>>> config_status, response, error = zia.config.status()
|
|
44
|
+
"""
|
|
45
|
+
http_method = "get".upper()
|
|
46
|
+
api_url = format_url(
|
|
47
|
+
f"""
|
|
48
|
+
{self._zia_base_endpoint}
|
|
49
|
+
/status
|
|
50
|
+
"""
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
# Create the request
|
|
54
|
+
request, error = self._request_executor.create_request(http_method, api_url, body={}, headers={}, params={})
|
|
55
|
+
|
|
56
|
+
if error:
|
|
57
|
+
return (None, None, error)
|
|
58
|
+
|
|
59
|
+
# Execute the request
|
|
60
|
+
response, error = self._request_executor.execute(request, Activation)
|
|
61
|
+
|
|
62
|
+
if error:
|
|
63
|
+
return (None, response, error)
|
|
64
|
+
|
|
65
|
+
try:
|
|
66
|
+
result = Activation(response.get_body())
|
|
67
|
+
except Exception as error:
|
|
68
|
+
return (None, response, error)
|
|
69
|
+
|
|
70
|
+
return (result, response, None)
|
|
71
|
+
|
|
72
|
+
def activate(self) -> tuple:
|
|
73
|
+
"""
|
|
74
|
+
Activates configuration changes.
|
|
75
|
+
|
|
76
|
+
Returns:
|
|
77
|
+
:obj:`Activation`, response object, and error if any.
|
|
78
|
+
|
|
79
|
+
Examples:
|
|
80
|
+
>>> config_activate, response, error = zia.activate.activate()
|
|
81
|
+
"""
|
|
82
|
+
http_method = "post".upper()
|
|
83
|
+
api_url = format_url(
|
|
84
|
+
f"""
|
|
85
|
+
{self._zia_base_endpoint}
|
|
86
|
+
/status/activate
|
|
87
|
+
"""
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
# Create the request
|
|
91
|
+
request, error = self._request_executor.create_request(http_method, api_url, body={}, headers={}, params={})
|
|
92
|
+
|
|
93
|
+
if error:
|
|
94
|
+
return (None, None, error)
|
|
95
|
+
|
|
96
|
+
# Execute the request
|
|
97
|
+
response, error = self._request_executor.execute(request, Activation)
|
|
98
|
+
|
|
99
|
+
if error:
|
|
100
|
+
return (None, response, error)
|
|
101
|
+
|
|
102
|
+
try:
|
|
103
|
+
result = Activation(response.get_body())
|
|
104
|
+
except Exception as error:
|
|
105
|
+
return (None, response, error)
|
|
106
|
+
|
|
107
|
+
return (result, response, None)
|
|
108
|
+
|
|
109
|
+
def get_eusa_status(self) -> tuple:
|
|
110
|
+
"""
|
|
111
|
+
Retrieves the End User Subscription Agreement (EUSA) acceptance status.
|
|
112
|
+
If the status does not exist, it returns a status object with no ID.
|
|
113
|
+
|
|
114
|
+
Args:
|
|
115
|
+
N/A
|
|
116
|
+
|
|
117
|
+
Returns:
|
|
118
|
+
tuple: A tuple containing (Eusa status instance, Response, error).
|
|
119
|
+
|
|
120
|
+
Examples:
|
|
121
|
+
Print latest Eusa status
|
|
122
|
+
|
|
123
|
+
>>> fetched_eusa, _, error = client.zia.activate.get_eusa_status()
|
|
124
|
+
>>> if error:
|
|
125
|
+
... print(f"Error fetching Eusa status: {error}")
|
|
126
|
+
... return
|
|
127
|
+
... print(f"Fetched Eusa status by ID: {fetched_eusa.as_dict()}")
|
|
128
|
+
"""
|
|
129
|
+
http_method = "get".upper()
|
|
130
|
+
api_url = format_url(
|
|
131
|
+
f"""
|
|
132
|
+
{self._zia_base_endpoint}
|
|
133
|
+
/eusaStatus/latest
|
|
134
|
+
"""
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
body = {}
|
|
138
|
+
headers = {}
|
|
139
|
+
|
|
140
|
+
request, error = self._request_executor.create_request(http_method, api_url, body, headers)
|
|
141
|
+
|
|
142
|
+
if error:
|
|
143
|
+
return (None, None, error)
|
|
144
|
+
|
|
145
|
+
response, error = self._request_executor.execute(request, EusaStatus)
|
|
146
|
+
if error:
|
|
147
|
+
return (None, response, error)
|
|
148
|
+
|
|
149
|
+
try:
|
|
150
|
+
result = EusaStatus(self.form_response_body(response.get_body()))
|
|
151
|
+
except Exception as error:
|
|
152
|
+
return (None, response, error)
|
|
153
|
+
return (result, response, None)
|
|
154
|
+
|
|
155
|
+
def update_eusa_status(self, status_id: int, **kwargs) -> tuple:
|
|
156
|
+
"""
|
|
157
|
+
Updates the EUSA status based on the specified status ID
|
|
158
|
+
|
|
159
|
+
Args:
|
|
160
|
+
status_id (int): The unique ID for the EUSA status.
|
|
161
|
+
|
|
162
|
+
version (dict): Specifies the EUSA info ID version.
|
|
163
|
+
This field is for Zscaler internal use only.
|
|
164
|
+
|
|
165
|
+
acceptedStatus (bool): A Boolean value that specifies the EUSA status.
|
|
166
|
+
If set to true, the EUSA is accepted.
|
|
167
|
+
If set to false, the EUSA is in an 'agreement pending' state.
|
|
168
|
+
|
|
169
|
+
Returns:
|
|
170
|
+
tuple: A tuple containing the updated EUSA status, response, and error.
|
|
171
|
+
|
|
172
|
+
Examples:
|
|
173
|
+
Update an existing EUSA status :
|
|
174
|
+
|
|
175
|
+
>>> updated_eusa_status, _, error = client.zia.activate.update_eusa_status(
|
|
176
|
+
... status_id='1524566'
|
|
177
|
+
... )
|
|
178
|
+
>>> if error:
|
|
179
|
+
... print(f"Error updating EUSA status: {error}")
|
|
180
|
+
... return
|
|
181
|
+
... print(f"EUSA status updated successfully: {updated_eusa_status.as_dict()}")
|
|
182
|
+
"""
|
|
183
|
+
http_method = "put".upper()
|
|
184
|
+
api_url = format_url(
|
|
185
|
+
f"""
|
|
186
|
+
{self._zia_base_endpoint}
|
|
187
|
+
/eusaStatus/{status_id}
|
|
188
|
+
"""
|
|
189
|
+
)
|
|
190
|
+
body = {}
|
|
191
|
+
|
|
192
|
+
body.update(kwargs)
|
|
193
|
+
|
|
194
|
+
request, error = self._request_executor.create_request(http_method, api_url, body, {}, {})
|
|
195
|
+
if error:
|
|
196
|
+
return (None, None, error)
|
|
197
|
+
|
|
198
|
+
response, error = self._request_executor.execute(request, EusaStatus)
|
|
199
|
+
if error:
|
|
200
|
+
return (None, response, error)
|
|
201
|
+
|
|
202
|
+
try:
|
|
203
|
+
result = EusaStatus(self.form_response_body(response.get_body()))
|
|
204
|
+
except Exception as error:
|
|
205
|
+
return (None, response, error)
|
|
206
|
+
return (result, response, None)
|
|
@@ -237,6 +237,7 @@ class DLPWebRuleAPI(APIClient):
|
|
|
237
237
|
time_windows (:obj:`list` of :obj:`int`): IDs for time windows this rule applies to.
|
|
238
238
|
users (:obj:`list` of :obj:`int`): IDs for users this rule applies to.
|
|
239
239
|
url_categories (list): IDs for URL categories the rule applies to.
|
|
240
|
+
dlp_content_locations_scopes (list): Specifies one or more content locations
|
|
240
241
|
external_auditor_email (str): Email of an external auditor for DLP notifications.
|
|
241
242
|
dlp_download_scan_enabled (bool): True enables DLP scan for file downloads.
|
|
242
243
|
min_size (str): Minimum file size (in KB) for DLP policy rule evaluation.
|