zscaler-sdk-python 1.2.3__tar.gz → 1.3.0__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.2.3 → zscaler_sdk_python-1.3.0}/PKG-INFO +3 -3
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/pyproject.toml +2 -2
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/__init__.py +1 -1
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/request_executor.py +70 -6
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/utils.py +1 -67
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/devices.py +28 -42
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/devices.py +3 -3
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/secrets.py +6 -4
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/web_policy.py +5 -5
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_web_rules.py +7 -4
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/url_filtering_rules.py +10 -1
- zscaler_sdk_python-1.3.0/zscaler/zpa/administrator_controller.py +304 -0
- zscaler_sdk_python-1.3.0/zscaler/zpa/client_settings.py +210 -0
- zscaler_sdk_python-1.3.0/zscaler/zpa/enrollment_certificates.py +457 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/legacy.py +21 -21
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/enrollment_certificates.py +6 -6
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/policyset_controller_v1.py +15 -3
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/policyset_controller_v2.py +66 -29
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/role_controller.py +3 -2
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/policies.py +37 -31
- zscaler_sdk_python-1.3.0/zscaler/zpa/role_controller.py +409 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/saml_attributes.py +144 -138
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/zpa_service.py +21 -21
- zscaler_sdk_python-1.2.3/zscaler/zpa/administrator_controller.py +0 -295
- zscaler_sdk_python-1.2.3/zscaler/zpa/client_settings.py +0 -209
- zscaler_sdk_python-1.2.3/zscaler/zpa/enrollment_certificates.py +0 -320
- zscaler_sdk_python-1.2.3/zscaler/zpa/role_controller.py +0 -285
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/LICENSE.md +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/README.md +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/api_client.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/cache/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/cache/cache.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/cache/no_op_cache.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/cache/zscaler_cache.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/config/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/config/config_setter.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/config/config_validator.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/constants.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/error_messages.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/errors/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/errors/error.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/errors/http_error.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/errors/zscaler_api_error.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/exceptions/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/exceptions/exceptions.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/helpers.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/logger.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_client.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_collection.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_http_client.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_oauth_client.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_object.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/oneapi_response.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ratelimiter/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ratelimiter/ratelimiter.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/user_agent.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/admin_user.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/company.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/entitlements.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/fail_open_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/forwarding_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/legacy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/admin_user.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/failopenpolicy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/forwardingprofile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/getcompanyinfo.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/manage_pass.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/secrets_otp.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/secrets_passwords.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/trustednetworks.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/webappservice.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/webpolicy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/webprivacy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/web_app_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/web_privacy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zcc/zcc_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/admin.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/alerts.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/apps.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/devices.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/inventory.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/legacy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/activeapplications.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/administration.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/alerts.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/application_users.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/applications.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/call_quality_metrics.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/common.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/devices.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/software_inventory.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/models/users.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/users.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zdx/zdx_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/activate.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/admin_roles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/admin_users.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/apptotal.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/atp_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/audit_logs.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_applications.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall_dns.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall_ips.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloud_nss.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/device_management.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_dictionary.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/dlp_web_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/dns_gatways.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/end_user_notification.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/file_type_control_rule.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/forwarding_control.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/gre_tunnel.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/iot_report.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/legacy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/locations.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/malware_protection_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/activation.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/advanced_threat_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/apptotal.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_app_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloud_nss.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/common.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/device_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/devices.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_dictionary.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/dns_gatways.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/endusernotification.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/filetyperules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/forwarding_control_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_recommended_list.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_tunnel_info.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_tunnels.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/gre_vips.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/iotreport.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/location_group.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/location_management.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/malware_protection_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/nss_servers.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/organization_information.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/pac_files.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/proxies.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/proxy_gatways.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/remoteassistance.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/rule_labels.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/sandboxrules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/subclouds.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/system_audit.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/time_intervals.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/urlcategory.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/user_management.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/workload_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/nss_servers.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/organization_information.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/pac_files.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/policy_export.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/proxies.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/remote_assistance.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/rule_labels.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/sandbox.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/sandbox_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/sub_clouds.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/system_audit.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/time_intervals.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/url_categories.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/url_filtering.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/user_management.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/workload_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/zia_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_connector_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_connectors.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_protection.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_segment_by_type.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_segments_inspection.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/app_segments_pra.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/application_segment.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_region.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/certificates.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/customer_controller.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/emergency_access.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/idp.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/lss.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/machine_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/microtenants.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/administrator_controller.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_connector_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_connectors.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_protection.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_segment.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_segment_inspection.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_segment_pra.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/application_servers.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_region.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/certificates.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/client_settings.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/common.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/customer_controller.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/emergency_access.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/idp.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/lss.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/machine_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/microtenants.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_approval.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_console.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_credential.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/pra_portal.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/provisioning_keys.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/saml_attributes.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/scim_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/segment_group.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/server_group.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/service_edge_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/service_edges.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/models/trusted_network.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_approval.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_console.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_credential.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_credential_pool.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/pra_portal.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/provisioning.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/scim_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/segment_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/server_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/servers.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/service_edge_group.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/service_edges.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zpa/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/account_details.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/activation.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/admin_roles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/admin_users.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/api_keys.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ec_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ip_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/legacy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/location_management.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/location_template.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/activation.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/api_keys.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/common.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ec_group_vm.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ecgroup.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ip_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/location_management.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/location_templates.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/nw_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/models/zpa_resources.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/nw_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/ztw/ztw_service.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/__init__.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/audit_logs.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/dlp_incidents.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/legacy.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/audit_logs.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/change_history.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/common.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/generated_tickets.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_details.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_evidence.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_group_search.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_search.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/models/incident_trigger.py +0 -0
- {zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zwa/zwa_service.py +0 -0
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: zscaler-sdk-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
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
|
|
7
7
|
Keywords: zscaler,sdk,zpa,zia,zdx,zcc,ztw,zwa
|
|
8
8
|
Author: Zscaler, Inc.
|
|
9
9
|
Author-email: devrel@zscaler.com
|
|
10
|
-
Requires-Python: >=3.9,<4.0
|
|
10
|
+
Requires-Python: >=3.9.2,<4.0
|
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: License :: OSI Approved :: MIT License
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
21
|
Classifier: Topic :: Security
|
|
22
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
23
|
Provides-Extra: dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "zscaler-sdk-python"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.3.0"
|
|
4
4
|
description = "Official Python SDK for the Zscaler Products"
|
|
5
5
|
authors = ["Zscaler, Inc. <devrel@zscaler.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -28,7 +28,7 @@ packages = [
|
|
|
28
28
|
"Bug Tracker" = "https://github.com/zscaler/zscaler-sdk-python/issues"
|
|
29
29
|
|
|
30
30
|
[tool.poetry.dependencies]
|
|
31
|
-
python = ">=3.9,<4.0"
|
|
31
|
+
python = ">=3.9.2,<4.0"
|
|
32
32
|
requests = ">=2.32.3"
|
|
33
33
|
cryptography = ">=43.0.0"
|
|
34
34
|
pyyaml = ">=6.0.0"
|
|
@@ -14,7 +14,6 @@ from zscaler.zdx.legacy import LegacyZDXClientHelper
|
|
|
14
14
|
from zscaler.zpa.legacy import LegacyZPAClientHelper
|
|
15
15
|
from zscaler.zia.legacy import LegacyZIAClientHelper
|
|
16
16
|
from zscaler.zwa.legacy import LegacyZWAClientHelper
|
|
17
|
-
# from zscaler.logger import setup_logging # ✅ Import here
|
|
18
17
|
|
|
19
18
|
logger = logging.getLogger('zscaler-sdk-python')
|
|
20
19
|
|
|
@@ -463,35 +462,100 @@ class RequestExecutor:
|
|
|
463
462
|
request_start_time (float): Original start time of request.
|
|
464
463
|
|
|
465
464
|
Returns:
|
|
466
|
-
Tuple of request, response object, response body,
|
|
465
|
+
Tuple of (request, response object, response body, error).
|
|
467
466
|
"""
|
|
468
467
|
current_req_start_time = time.time()
|
|
469
468
|
max_retries = self._max_retries
|
|
470
469
|
req_timeout = self._request_timeout
|
|
471
470
|
|
|
471
|
+
# Check if total elapsed time exceeds the configured request timeout
|
|
472
472
|
if req_timeout > 0 and (current_req_start_time - request_start_time) > req_timeout:
|
|
473
473
|
logger.warning("Request Timeout exceeded.")
|
|
474
474
|
return None, None, None, Exception("Request Timeout exceeded.")
|
|
475
475
|
|
|
476
|
+
# Perform the actual HTTP request
|
|
476
477
|
response, error = self._http_client.send_request(request)
|
|
477
478
|
|
|
479
|
+
# If a low-level error occurred (network, request construction, etc.)
|
|
478
480
|
if error:
|
|
479
|
-
# logger.error(f"Error sending request: {error}")
|
|
480
481
|
return request, response, response.text if response else None, error
|
|
481
482
|
|
|
482
|
-
|
|
483
|
+
# Check for 401 -> Trigger re-auth if we still have retries left
|
|
484
|
+
if response.status_code == 401:
|
|
485
|
+
# We only want to attempt refreshing the token if we haven't hit max_retries
|
|
486
|
+
if attempts < max_retries:
|
|
487
|
+
logger.info("Got 401 response; clearing token and re-authenticating.")
|
|
488
|
+
self._oauth.clear_access_token()
|
|
489
|
+
|
|
490
|
+
try:
|
|
491
|
+
fresh_token = self._oauth._get_access_token()
|
|
492
|
+
except Exception as e:
|
|
493
|
+
# If re-auth fails, return immediately
|
|
494
|
+
logger.error(f"Token refresh failed after 401: {e}")
|
|
495
|
+
return request, response, response.text, e
|
|
496
|
+
|
|
497
|
+
# Update the request with the new token
|
|
498
|
+
request["headers"]["Authorization"] = f"Bearer {fresh_token}"
|
|
499
|
+
attempts += 1
|
|
500
|
+
return self.fire_request_helper(request, attempts, request_start_time)
|
|
501
|
+
else:
|
|
502
|
+
logger.error("401 Unauthorized - token refresh attempts exhausted.")
|
|
503
|
+
return request, response, response.text, Exception("401 Unauthorized - token refresh attempts exhausted.")
|
|
483
504
|
|
|
505
|
+
# Handle “retryable” statuses such as 429, 503, etc.
|
|
484
506
|
if attempts < max_retries and self.is_retryable_status(response.status_code):
|
|
485
|
-
backoff_seconds = self.get_retry_after(headers, logger)
|
|
507
|
+
backoff_seconds = self.get_retry_after(response.headers, logger)
|
|
486
508
|
if backoff_seconds is None:
|
|
487
509
|
return None, response, response.text, Exception(ERROR_MESSAGE_429_MISSING_DATE_X_RESET)
|
|
488
|
-
|
|
510
|
+
|
|
511
|
+
logger.info(f"Hit rate limit or retryable status {response.status_code}. "
|
|
512
|
+
f"Retrying request in {backoff_seconds} seconds.")
|
|
489
513
|
time.sleep(backoff_seconds)
|
|
490
514
|
attempts += 1
|
|
491
515
|
return self.fire_request_helper(request, attempts, request_start_time)
|
|
492
516
|
|
|
517
|
+
# If we reach here, no further retries; return whatever we got
|
|
493
518
|
return request, response, response.text, None
|
|
494
519
|
|
|
520
|
+
# def fire_request_helper(self, request, attempts, request_start_time):
|
|
521
|
+
# """
|
|
522
|
+
# Helper method to perform HTTP call with retries if needed.
|
|
523
|
+
|
|
524
|
+
# Args:
|
|
525
|
+
# request (dict): HTTP request representation.
|
|
526
|
+
# attempts (int): Number of attempted HTTP calls so far.
|
|
527
|
+
# request_start_time (float): Original start time of request.
|
|
528
|
+
|
|
529
|
+
# Returns:
|
|
530
|
+
# Tuple of request, response object, response body, and error.
|
|
531
|
+
# """
|
|
532
|
+
# current_req_start_time = time.time()
|
|
533
|
+
# max_retries = self._max_retries
|
|
534
|
+
# req_timeout = self._request_timeout
|
|
535
|
+
|
|
536
|
+
# if req_timeout > 0 and (current_req_start_time - request_start_time) > req_timeout:
|
|
537
|
+
# logger.warning("Request Timeout exceeded.")
|
|
538
|
+
# return None, None, None, Exception("Request Timeout exceeded.")
|
|
539
|
+
|
|
540
|
+
# response, error = self._http_client.send_request(request)
|
|
541
|
+
|
|
542
|
+
# if error:
|
|
543
|
+
# # logger.error(f"Error sending request: {error}")
|
|
544
|
+
# return request, response, response.text if response else None, error
|
|
545
|
+
|
|
546
|
+
# headers = response.headers
|
|
547
|
+
|
|
548
|
+
# if attempts < max_retries and self.is_retryable_status(response.status_code):
|
|
549
|
+
# backoff_seconds = self.get_retry_after(headers, logger)
|
|
550
|
+
# if backoff_seconds is None:
|
|
551
|
+
# return None, response, response.text, Exception(ERROR_MESSAGE_429_MISSING_DATE_X_RESET)
|
|
552
|
+
# logger.info(f"Hit rate limit. Retrying request in {backoff_seconds} seconds.")
|
|
553
|
+
# time.sleep(backoff_seconds)
|
|
554
|
+
# attempts += 1
|
|
555
|
+
# return self.fire_request_helper(request, attempts, request_start_time)
|
|
556
|
+
|
|
557
|
+
# return request, response, response.text, None
|
|
558
|
+
|
|
495
559
|
def is_retryable_status(self, status):
|
|
496
560
|
"""
|
|
497
561
|
Checks if HTTP status is retryable.
|
|
@@ -207,33 +207,6 @@ def add_id_groups(id_groups: list, kwargs: dict, payload: dict):
|
|
|
207
207
|
payload[entry[1]] = [{"id": param_id} for param_id in kwargs.pop(entry[0])]
|
|
208
208
|
return
|
|
209
209
|
|
|
210
|
-
|
|
211
|
-
#### Working function
|
|
212
|
-
# def transform_common_id_fields(id_groups: list, source_dict: dict, target_dict: dict):
|
|
213
|
-
# """
|
|
214
|
-
# For each (key, payload_key) in 'id_groups':
|
|
215
|
-
# - If 'key' is found in source_dict,
|
|
216
|
-
# - pop that value,
|
|
217
|
-
# - insert it into target_dict with name 'payload_key',
|
|
218
|
-
# - converting each item in the list to { "id": int(item) } if it's a string or int.
|
|
219
|
-
|
|
220
|
-
# Additional domain logic can be placed here, e.g. for zpa_app_segments or cbi_profile, etc.
|
|
221
|
-
# """
|
|
222
|
-
# for (key, payload_key) in id_groups:
|
|
223
|
-
# if key in source_dict:
|
|
224
|
-
# value = source_dict.pop(key)
|
|
225
|
-
# # Example logic: if it's a list, do the ID transform
|
|
226
|
-
# if isinstance(value, list):
|
|
227
|
-
# target_dict[payload_key] = [
|
|
228
|
-
# {"id": int(item)} if isinstance(item, (str, int)) else item
|
|
229
|
-
# for item in value
|
|
230
|
-
# ]
|
|
231
|
-
# elif isinstance(value, dict) and "id" in value:
|
|
232
|
-
# # single dict with ID
|
|
233
|
-
# target_dict[payload_key] = {"id": int(value["id"])}
|
|
234
|
-
# return
|
|
235
|
-
|
|
236
|
-
|
|
237
210
|
def transform_common_id_fields(id_groups: list, source_dict: dict, target_dict: dict):
|
|
238
211
|
"""
|
|
239
212
|
For each (key, payload_key) in 'id_groups':
|
|
@@ -378,45 +351,6 @@ def pick_version_profile(kwargs: list, payload: list):
|
|
|
378
351
|
elif version_profile == "new_release":
|
|
379
352
|
payload["versionProfileId"] = 2
|
|
380
353
|
|
|
381
|
-
|
|
382
|
-
# class Iterator(APIIterator):
|
|
383
|
-
# """Iterator class."""
|
|
384
|
-
|
|
385
|
-
# page_size = 100
|
|
386
|
-
|
|
387
|
-
# def __init__(self, api, path: str = "", **kw):
|
|
388
|
-
# """Initialize Iterator class."""
|
|
389
|
-
# super().__init__(api, **kw)
|
|
390
|
-
|
|
391
|
-
# self.path = path
|
|
392
|
-
# self.max_items = kw.pop("max_items", 0)
|
|
393
|
-
# self.max_pages = kw.pop("max_pages", 0)
|
|
394
|
-
# self.payload = {}
|
|
395
|
-
# if kw:
|
|
396
|
-
# self.payload = {snake_to_camel(key): value for key, value in kw.items()}
|
|
397
|
-
|
|
398
|
-
# def _get_page(self) -> None:
|
|
399
|
-
# """Iterator function to get the page."""
|
|
400
|
-
# resp = self._api.get(
|
|
401
|
-
# self.path,
|
|
402
|
-
# params={**self.payload, "page": self.num_pages + 1},
|
|
403
|
-
# )
|
|
404
|
-
# try:
|
|
405
|
-
# # If we are using ZPA then the API will return records under the
|
|
406
|
-
# # 'list' key.
|
|
407
|
-
# self.page = resp.get("list") or []
|
|
408
|
-
# except AttributeError:
|
|
409
|
-
# # If the list key doesn't exist then we're likely using ZIA so just
|
|
410
|
-
# # return the full response.
|
|
411
|
-
# self.page = resp
|
|
412
|
-
# finally:
|
|
413
|
-
# # If we use the default retry-after logic in Restfly then we are
|
|
414
|
-
# # going to keep seeing 429 messages in stdout. ZIA and ZPA have a
|
|
415
|
-
# # standard 1 sec rate limit on the API endpoints with pagination so
|
|
416
|
-
# # we are going to include it here.
|
|
417
|
-
# time.sleep(1)
|
|
418
|
-
|
|
419
|
-
|
|
420
354
|
def calculate_epoch(hours: int):
|
|
421
355
|
current_time = int(time.time())
|
|
422
356
|
past_time = int(current_time - (hours * 3600))
|
|
@@ -695,7 +629,7 @@ def validate_and_convert_times(start_time_str, end_time_str, time_zone_str):
|
|
|
695
629
|
"""
|
|
696
630
|
# Validate time zone
|
|
697
631
|
if time_zone_str not in pytz.all_timezones:
|
|
698
|
-
raise ValueError(f"Invalid time zone: {time_zone_str}")
|
|
632
|
+
raise ValueError(f"Invalid time zone. Please visit the following site for reference: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones:{time_zone_str}")
|
|
699
633
|
|
|
700
634
|
# Convert times
|
|
701
635
|
try:
|
|
@@ -38,20 +38,13 @@ class DevicesAPI(APIClient):
|
|
|
38
38
|
Downloads the list of devices as a CSV file from the ZCC portal.
|
|
39
39
|
|
|
40
40
|
Args:
|
|
41
|
-
query_params (dict, optional): A dictionary containing supported filters
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
``[query_params.registration_types]`` {str}: Filter by device operating system type. Valid options are:
|
|
49
|
-
- all
|
|
50
|
-
- registered
|
|
51
|
-
- unregistered
|
|
52
|
-
- removal_pending
|
|
53
|
-
- removed
|
|
54
|
-
- quarantined
|
|
41
|
+
query_params (dict, optional): A dictionary containing supported filters.
|
|
42
|
+
|
|
43
|
+
``[query_params.os_types]`` {str}: Filter by OS type. Valid values:
|
|
44
|
+
ios, android, windows, macos, linux.
|
|
45
|
+
|
|
46
|
+
``[query_params.registration_types]`` {str}: Filter by registration type. Valid values:
|
|
47
|
+
all, registered, unregistered, removal_pending, removed, quarantined.
|
|
55
48
|
|
|
56
49
|
filename (str, optional): Custom filename for the CSV file. Defaults to timestamped name.
|
|
57
50
|
|
|
@@ -73,7 +66,6 @@ class DevicesAPI(APIClient):
|
|
|
73
66
|
... except Exception as e:
|
|
74
67
|
... print(f"Error during download: {e}")
|
|
75
68
|
"""
|
|
76
|
-
|
|
77
69
|
query_params = query_params or {}
|
|
78
70
|
|
|
79
71
|
if not filename:
|
|
@@ -131,22 +123,13 @@ class DevicesAPI(APIClient):
|
|
|
131
123
|
Downloads service status for all devices from the ZCC portal.
|
|
132
124
|
|
|
133
125
|
Args:
|
|
134
|
-
query_params (dict, optional): A dictionary containing supported filters
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
- macos
|
|
142
|
-
- linux
|
|
143
|
-
``[query_params.registration_types]`` {str}: Filter by device operating system type. Valid options are:
|
|
144
|
-
- all
|
|
145
|
-
- registered
|
|
146
|
-
- unregistered
|
|
147
|
-
- removal_pending
|
|
148
|
-
- removed
|
|
149
|
-
- quarantined
|
|
126
|
+
query_params (dict, optional): A dictionary containing supported filters.
|
|
127
|
+
|
|
128
|
+
``[query_params.os_types]`` {str}: Filter by OS type. Valid values:
|
|
129
|
+
ios, android, windows, macos, linux.
|
|
130
|
+
|
|
131
|
+
``[query_params.registration_types]`` {str}: Filter by registration type. Valid values:
|
|
132
|
+
all, registered, unregistered, removal_pending, removed, quarantined.
|
|
150
133
|
|
|
151
134
|
filename (str, optional): Custom filename for the CSV file. Defaults to timestamped name.
|
|
152
135
|
|
|
@@ -226,18 +209,17 @@ class DevicesAPI(APIClient):
|
|
|
226
209
|
Returns the list of devices enrolled in the Client Connector Portal.
|
|
227
210
|
|
|
228
211
|
Args:
|
|
229
|
-
query_params
|
|
212
|
+
query_params (dict, optional): A dictionary containing supported filters.
|
|
230
213
|
|
|
231
214
|
``[query_params.os_type]`` {str}: Filter by device operating system type. Valid options are:
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
- macos
|
|
236
|
-
- linux
|
|
237
|
-
``[query_params.username]`` {str}: Filter by enrolled user name for the device.
|
|
215
|
+
ios, android, windows, macos, linux.
|
|
216
|
+
|
|
217
|
+
``[query_params.username]`` {str}: Filter by enrolled username for the device.
|
|
238
218
|
|
|
239
219
|
``[query_params.page]`` {str}: Specifies the page number.
|
|
240
|
-
|
|
220
|
+
|
|
221
|
+
``[query_params.page_size]`` {str}: Specifies the page size.
|
|
222
|
+
The default page size is 50.
|
|
241
223
|
The max page size is 5000.
|
|
242
224
|
|
|
243
225
|
Returns:
|
|
@@ -247,7 +229,7 @@ class DevicesAPI(APIClient):
|
|
|
247
229
|
Prints all devices in the Client Connector Portal to the console:
|
|
248
230
|
|
|
249
231
|
>>> device_list, _, err = client.zcc.devices.list_devices(
|
|
250
|
-
... query_params = { "os_type": "3", 'page': 1, 'page_size': 1})
|
|
232
|
+
... query_params = {'username': 'jdoe@acme.com', "os_type": "3", 'page': 1, 'page_size': 1})
|
|
251
233
|
>>> if err:
|
|
252
234
|
... print(f"Error listing devices: {err}")
|
|
253
235
|
... return
|
|
@@ -445,7 +427,9 @@ class DevicesAPI(APIClient):
|
|
|
445
427
|
|
|
446
428
|
Args:
|
|
447
429
|
query_params {dict}: Map of query parameters for the request.
|
|
448
|
-
|
|
430
|
+
|
|
431
|
+
``[query_params.page_size]`` {int}: Specifies the page size.
|
|
432
|
+
If not provided, the default page size is 30.
|
|
449
433
|
The max page size is 5000.
|
|
450
434
|
|
|
451
435
|
Returns:
|
|
@@ -506,7 +490,9 @@ class DevicesAPI(APIClient):
|
|
|
506
490
|
|
|
507
491
|
Args:
|
|
508
492
|
query_params {dict}: Map of query parameters for the request.
|
|
509
|
-
|
|
493
|
+
|
|
494
|
+
``[query_params.page_size]`` {int}: Specifies the page size.
|
|
495
|
+
If not provided, the default page size is 30.
|
|
510
496
|
The max page size is 5000.
|
|
511
497
|
|
|
512
498
|
Returns:
|
|
@@ -135,14 +135,14 @@ class ForceRemoveDevices(ZscalerObject):
|
|
|
135
135
|
)
|
|
136
136
|
self.os_type = config["osType"] if "osType" in config else None
|
|
137
137
|
self.udids = ZscalerCollection.form_list(config["udids"] if "udids" in config else [], str)
|
|
138
|
-
self.
|
|
138
|
+
self.username = config["username"] if "username" in config else None
|
|
139
139
|
self.devices_removed = config["devicesRemoved"] if "devicesRemoved" in config else None
|
|
140
140
|
self.error_msg = config["errorMsg"] if "errorMsg" in config else None
|
|
141
141
|
else:
|
|
142
142
|
self.client_connector_version = ZscalerCollection.form_list([], str)
|
|
143
143
|
self.os_type = None
|
|
144
144
|
self.udids = ZscalerCollection.form_list([], str)
|
|
145
|
-
self.
|
|
145
|
+
self.username = None
|
|
146
146
|
self.devices_removed = None
|
|
147
147
|
self.error_msg = None
|
|
148
148
|
|
|
@@ -155,7 +155,7 @@ class ForceRemoveDevices(ZscalerObject):
|
|
|
155
155
|
"clientConnectorVersion": self.client_connector_version,
|
|
156
156
|
"osType": self.os_type,
|
|
157
157
|
"udids": self.udids,
|
|
158
|
-
"
|
|
158
|
+
"username": self.username,
|
|
159
159
|
"devicesRemoved": self.devices_removed,
|
|
160
160
|
"errorMsg": self.error_msg,
|
|
161
161
|
}
|
|
@@ -86,10 +86,12 @@ class SecretsAPI(APIClient):
|
|
|
86
86
|
Return passwords for the specified username and device OS type.
|
|
87
87
|
|
|
88
88
|
Args:
|
|
89
|
-
query_params (dict):
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
query_params (dict, optional): A dictionary containing supported filters.
|
|
90
|
+
|
|
91
|
+
``[query_params.os_type]`` {str}: Filter by device operating system type. Valid options are:
|
|
92
|
+
ios, android, windows, macos, linux.
|
|
93
|
+
|
|
94
|
+
``[query_params.username]`` {str}: Filter by enrolled username for the device.
|
|
93
95
|
|
|
94
96
|
Returns:
|
|
95
97
|
tuple: (Passwords object, response, error)
|
|
@@ -35,14 +35,14 @@ class WebPolicyAPI(APIClient):
|
|
|
35
35
|
Args:
|
|
36
36
|
query_params {dict}: Map of query parameters for the request.
|
|
37
37
|
``[query_params.page]`` {int}: Specifies the page offset.
|
|
38
|
+
|
|
38
39
|
``[query_params.page_size]`` {int}: Specifies the page size.
|
|
40
|
+
|
|
39
41
|
``[query_params.device_type]`` {str}: Filter by device operating system type. Valid options are:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- windows
|
|
43
|
-
- macos
|
|
44
|
-
- linux
|
|
42
|
+
ios, android, windows, macos, linux.
|
|
43
|
+
|
|
45
44
|
``[query_params.search]`` {str}: The search string used to partially match.
|
|
45
|
+
|
|
46
46
|
``[query_params.search_type]`` {str}: The search string used to partially match.
|
|
47
47
|
|
|
48
48
|
Returns:
|
|
@@ -65,7 +65,6 @@ class DLPWebRules(ZscalerObject):
|
|
|
65
65
|
self.zscaler_incident_receiver = config["zscalerIncidentReceiver"] if "zscalerIncidentReceiver" in config else None
|
|
66
66
|
self.external_auditor_email = config["externalAuditorEmail"] if "externalAuditorEmail" in config else None
|
|
67
67
|
|
|
68
|
-
# Handling lists of simple values
|
|
69
68
|
self.protocols = ZscalerCollection.form_list(config["protocols"] if "protocols" in config else [], str)
|
|
70
69
|
|
|
71
70
|
self.file_types = ZscalerCollection.form_list(config["fileTypes"] if "fileTypes" in config else [], str)
|
|
@@ -73,6 +72,9 @@ class DLPWebRules(ZscalerObject):
|
|
|
73
72
|
self.cloud_applications = ZscalerCollection.form_list(
|
|
74
73
|
config["cloudApplications"] if "cloudApplications" in config else [], str
|
|
75
74
|
)
|
|
75
|
+
self.user_risk_score_levels = ZscalerCollection.form_list(
|
|
76
|
+
config["userRiskScoreLevels"] if "userRiskScoreLevels" in config else [], str
|
|
77
|
+
)
|
|
76
78
|
self.url_categories = ZscalerCollection.form_list(
|
|
77
79
|
config["urlCategories"] if "urlCategories" in config else [], common_reference.ResourceReference
|
|
78
80
|
)
|
|
@@ -112,10 +114,10 @@ class DLPWebRules(ZscalerObject):
|
|
|
112
114
|
config["dlpEngines"] if "dlpEngines" in config else [], dlp_engine.DLPEngine
|
|
113
115
|
)
|
|
114
116
|
self.labels = ZscalerCollection.form_list(
|
|
115
|
-
config["labels"] if "labels" in config else [], labels.RuleLabels
|
|
117
|
+
config["labels"] if "labels" in config else [], labels.RuleLabels
|
|
116
118
|
)
|
|
117
119
|
self.excluded_groups = ZscalerCollection.form_list(
|
|
118
|
-
config["excludedGroups"] if "excludedGroups" in config else [], user_management.Groups
|
|
120
|
+
config["excludedGroups"] if "excludedGroups" in config else [], user_management.Groups
|
|
119
121
|
)
|
|
120
122
|
self.excluded_departments = ZscalerCollection.form_list(
|
|
121
123
|
config["excludedDepartments"] if "excludedDepartments" in config else [], user_management.Department
|
|
@@ -133,7 +135,6 @@ class DLPWebRules(ZscalerObject):
|
|
|
133
135
|
self.icap_server = dlp_resources.DLPICAPServer(config["icapServer"]) if "icapServer" in config else None
|
|
134
136
|
|
|
135
137
|
else:
|
|
136
|
-
# Defaults when config is None
|
|
137
138
|
self.id = None
|
|
138
139
|
self.name = None
|
|
139
140
|
self.description = None
|
|
@@ -171,6 +172,7 @@ class DLPWebRules(ZscalerObject):
|
|
|
171
172
|
self.excluded_groups = []
|
|
172
173
|
self.excluded_departments = []
|
|
173
174
|
self.excluded_users = []
|
|
175
|
+
self.user_risk_score_levels = []
|
|
174
176
|
self.auditor = None
|
|
175
177
|
self.notification_template = None
|
|
176
178
|
self.icap_server = None
|
|
@@ -204,6 +206,7 @@ class DLPWebRules(ZscalerObject):
|
|
|
204
206
|
"protocols": self.protocols,
|
|
205
207
|
"fileTypes": self.file_types,
|
|
206
208
|
"cloudApplications": self.cloud_applications,
|
|
209
|
+
"userRiskScoreLevels": self.user_risk_score_levels,
|
|
207
210
|
"locations": [location.request_format() for location in (self.locations or [])],
|
|
208
211
|
"locationGroups": [group.request_format() for group in (self.location_groups or [])],
|
|
209
212
|
"groups": [group.request_format() for group in (self.groups or [])],
|
{zscaler_sdk_python-1.2.3 → zscaler_sdk_python-1.3.0}/zscaler/zia/models/url_filtering_rules.py
RENAMED
|
@@ -75,7 +75,9 @@ class URLFilteringRule(ZscalerObject):
|
|
|
75
75
|
self.device_trust_levels = ZscalerCollection.form_list(
|
|
76
76
|
config["deviceTrustLevels"] if "deviceTrustLevels" in config else [], str
|
|
77
77
|
)
|
|
78
|
-
|
|
78
|
+
self.user_risk_score_levels = ZscalerCollection.form_list(
|
|
79
|
+
config["userRiskScoreLevels"] if "userRiskScoreLevels" in config else [], str
|
|
80
|
+
)
|
|
79
81
|
# Handling nested objects and lists of objects
|
|
80
82
|
self.locations = ZscalerCollection.form_list(
|
|
81
83
|
config["locations"] if "locations" in config else [], location.LocationManagement
|
|
@@ -102,6 +104,9 @@ class URLFilteringRule(ZscalerObject):
|
|
|
102
104
|
self.location_groups = ZscalerCollection.form_list(
|
|
103
105
|
config["locationGroups"] if "locationGroups" in config else [], location_group.LocationGroup
|
|
104
106
|
)
|
|
107
|
+
self.source_ip_groups = ZscalerCollection.form_list(
|
|
108
|
+
config["sourceIpGroups"] if "sourceIpGroups" in config else [], cloud_firewall_source_groups.IPSourceGroup
|
|
109
|
+
)
|
|
105
110
|
self.labels = ZscalerCollection.form_list(config["labels"] if "labels" in config else [], labels.RuleLabels)
|
|
106
111
|
self.devices = ZscalerCollection.form_list(config["devices"] if "devices" in config else [], devices.Devices)
|
|
107
112
|
self.device_groups = ZscalerCollection.form_list(
|
|
@@ -149,6 +154,8 @@ class URLFilteringRule(ZscalerObject):
|
|
|
149
154
|
self.labels = []
|
|
150
155
|
self.devices = []
|
|
151
156
|
self.device_groups = []
|
|
157
|
+
self.user_risk_score_levels = []
|
|
158
|
+
self.source_ip_groups = []
|
|
152
159
|
self.cbi_profile = None
|
|
153
160
|
|
|
154
161
|
def request_format(self):
|
|
@@ -181,6 +188,8 @@ class URLFilteringRule(ZscalerObject):
|
|
|
181
188
|
"urlCategories2": self.url_categories2,
|
|
182
189
|
"requestMethods": self.request_methods,
|
|
183
190
|
"deviceTrustLevels": self.device_trust_levels,
|
|
191
|
+
"userRiskScoreLevels": self.user_risk_score_levels,
|
|
192
|
+
"sourceIpGroups": [group.request_format() for group in (self.source_ip_groups or [])],
|
|
184
193
|
"locations": [location.request_format() for location in (self.locations or [])],
|
|
185
194
|
"groups": [group.request_format() for group in self.groups],
|
|
186
195
|
"departments": [department.request_format() for department in (self.departments or [])],
|