zscaler-sdk-python 1.6.0__tar.gz → 1.7.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.6.0 → zscaler_sdk_python-1.7.0}/PKG-INFO +167 -6
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/README.md +165 -4
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/pyproject.toml +2 -2
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/__init__.py +1 -1
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/response_checker.py +1 -1
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/helpers.py +4 -1
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_client.py +8 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/request_executor.py +25 -2
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/utils.py +25 -3
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/admin.py +1 -1
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/admin_roles.py +1 -1
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_nss.py +9 -5
- zscaler_sdk_python-1.7.0/zscaler/zia/cloud_to_cloud_ir.py +294 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_dictionary.py +5 -2
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/legacy.py +11 -0
- zscaler_sdk_python-1.7.0/zscaler/zia/models/cloud_to_cloud_ir.py +488 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/rule_labels.py +1 -1
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/url_categories.py +5 -3
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/zia_service.py +10 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/api_client.py +539 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/groups.py +625 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/models/api_client.py +349 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/models/common.py +93 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/models/groups.py +191 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/models/resource_servers.py +219 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/models/user_entitlement.py +162 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/models/users.py +183 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/resource_servers.py +153 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/user_entitlement.py +125 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/users.py +398 -0
- zscaler_sdk_python-1.7.0/zscaler/zidentity/zidentity_service.py +70 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/user_portal_controller.py +5 -3
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/user_portal_link.py +44 -30
- zscaler_sdk_python-1.7.0/zscaler/zwa/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/LICENSE.md +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/api_client.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/cache.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/no_op_cache.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/cache/zscaler_cache.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/config/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/config/config_setter.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/config/config_validator.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/constants.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/error_messages.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/error.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/http_error.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/errors/zscaler_api_error.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/exceptions/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/exceptions/exceptions.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/logger.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_collection.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_http_client.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_oauth_client.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_object.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/oneapi_response.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ratelimiter/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ratelimiter/ratelimiter.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/user_agent.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/admin_user.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/company.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/devices.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/entitlements.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/fail_open_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/forwarding_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/legacy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/admin_user.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/devices.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/failopenpolicy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/forwardingprofile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/getcompanyinfo.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/manage_pass.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/secrets_otp.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/secrets_passwords.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/trustednetworks.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webappservice.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webpolicy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/webprivacy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/zdxgroupentitlements.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/models/zpagroupentitlements.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/secrets.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_app_service.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/web_privacy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zcc/zcc_service.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/alerts.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/apps.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/devices.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/inventory.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/legacy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/activeapplications.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/administration.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/alerts.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/application_users.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/applications.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/call_quality_metrics.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/common.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/devices.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/software_inventory.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/models/users.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/troubleshooting.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/users.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zdx/zdx_service.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/activate.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/admin_users.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/apptotal.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/atp_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/audit_logs.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/browser_control_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/casb_dlp_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/casb_malware_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_applications.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_dns.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_ips.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/device_management.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dlp_web_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/dns_gatways.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/end_user_notification.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/file_type_control_rule.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/forwarding_control.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/gre_tunnel.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/iot_report.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/locations.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/malware_protection_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/activation.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/advanced_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/advanced_threat_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/alert_subscriptions.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/apptotal.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/authentication_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/bandwidth_classes.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/bandwidth_control_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/browser_control_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/casb_dlp_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/casb_malware_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_app_instances.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_app_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_browser_isolation.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_app_services.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_destination_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_dns_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_ips_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_application_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_applications.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_service.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_source_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_firewall_time_windows.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloud_nss.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/cloudappcontrol.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/common.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dedicated_ip_gateways.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/device_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/devices.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_dictionary.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_engine.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_resources.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_templates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dlp_web_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/dns_gateways.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/endusernotification.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/filetyperules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/forwarding_control_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ftp_control_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_recommended_list.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_tunnel_info.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_tunnels.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/gre_vips.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/intermediate_certificates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/iotreport.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ipv6_config.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/location_group.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/location_management.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/malware_protection_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/mobile_threat_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/nss_servers.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/organization_information.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/pac_files.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/proxies.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/proxy_gateways.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/remoteassistance.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/rule_labels.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/saas_security_api.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/sandboxrules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/subclouds.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/system_audit.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/time_intervals.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_dc_exclusions.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/url_filter_cloud_app_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/url_filtering_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/urlcategory.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/user_management.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/vzen_clusters.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/workload_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/models/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/nat_control_policy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/nss_servers.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/organization_information.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/pac_files.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/policy_export.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/proxies.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/remote_assistance.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/risk_profiles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/saas_security_api.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/sandbox.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/sandbox_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/security_policy_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/shadow_it_report.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/ssl_inspection_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/sub_clouds.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/system_audit.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/tenancy_restriction_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/time_intervals.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_datacenters.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_extranet.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_static_ip.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/url_filtering.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/user_management.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/vzen_clusters.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/workload_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zia/zpa_gateway.py +0 -0
- {zscaler_sdk_python-1.6.0/zscaler/zpa → zscaler_sdk_python-1.7.0/zscaler/zidentity}/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0/zscaler/ztw → zscaler_sdk_python-1.7.0/zscaler/zpa}/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/admin_sso_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/administrator_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/api_keys.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connector_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_connectors.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_protection.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segment_by_type.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_ba.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_ba_v2.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_inspection.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/app_segments_pra.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/application_segment.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/c2c_ip_ranges.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_region.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/certificates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/client_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/config_override_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_domain.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/emergency_access.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/enrollment_certificates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/idp.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/legacy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/lss.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/machine_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/microtenants.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/administrator_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/api_keys.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connector_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connector_schedule.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_connectors.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_protection_predefined_controls.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/app_protection_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_segment.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_segment_lb.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/application_servers.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/c2c_ip_ranges.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_banner.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_certificate.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_region.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cbi_zpa_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/certificates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/client_settings.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/cloud_connector_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/common.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/config_override_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_domain.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/customer_version_profile.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/emergency_access.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/enrollment_certificates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/idp.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/lss.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/machine_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/microtenants.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/npn_client_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/policyset_controller_v1.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/policyset_controller_v2.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_approval.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_console.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_cred_pool_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_credential.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/pra_portal.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/private_cloud_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/private_cloud_group.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/provisioning_keys.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/role_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/saml_attributes.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/scim_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/segment_group.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/server_group.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edge_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/service_edges.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/trusted_network.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/models/user_portal_link.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/npn_client_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/policies.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/posture_profiles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_approval.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_console.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_credential.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_credential_pool.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/pra_portal.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/private_cloud_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/private_cloud_group.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/provisioning.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/role_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/saml_attributes.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/scim_attributes.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/scim_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/segment_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/server_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/servers.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edge_group.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edge_schedule.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/service_edges.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/trusted_networks.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/user_portal_controller.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zpa/zpa_service.py +0 -0
- {zscaler_sdk_python-1.6.0/zscaler/zwa → zscaler_sdk_python-1.7.0/zscaler/ztw}/__init__.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/account_details.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/activation.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/admin_roles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/admin_users.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/api_keys.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ec_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/legacy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/location_management.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/location_template.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/activation.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/admin_roles.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/admin_users.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/api_keys.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/common.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ec_group_vm.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ecgroup.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/forwarding_gateways.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/forwarding_rules.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_destination_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/ip_source_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/location_management.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/location_templates.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/nw_service.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/traffic_vpn_credentials.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/models/zpa_resources.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/nw_service.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/nw_service_groups.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/provisioning_url.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/ztw/ztw_service.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/audit_logs.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/dlp_incidents.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/legacy.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/audit_logs.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/change_history.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/common.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/generated_tickets.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_details.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_evidence.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_group_search.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_search.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/models/incident_trigger.py +0 -0
- {zscaler_sdk_python-1.6.0 → zscaler_sdk_python-1.7.0}/zscaler/zwa/zwa_service.py +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: zscaler-sdk-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7.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
|
-
Keywords: zscaler,sdk,zpa,zia,zdx,zcc,ztw,zwa
|
|
7
|
+
Keywords: zscaler,sdk,zpa,zia,zdx,zcc,ztw,zwa,zidentity
|
|
8
8
|
Author: Zscaler, Inc.
|
|
9
9
|
Author-email: devrel@zscaler.com
|
|
10
10
|
Requires-Python: >=3.9.2,<4.0
|
|
@@ -73,6 +73,7 @@ used in your server-side code to interact with the Zscaler API platform across m
|
|
|
73
73
|
* [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
|
|
74
74
|
* [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
|
|
75
75
|
* [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
|
|
76
|
+
* [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
|
|
76
77
|
* [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
|
|
77
78
|
* [ZWA API](https://help.zscaler.com/workflow-automation/getting-started-workflow-automation-api)
|
|
78
79
|
|
|
@@ -213,6 +214,7 @@ In most cases, you won't need to build the SDK from source. If you want to build
|
|
|
213
214
|
* [OneAPI](https://help.zscaler.com/oneapi/understanding-oneapi)
|
|
214
215
|
* [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
|
|
215
216
|
* [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
|
|
217
|
+
* [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
|
|
216
218
|
* [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
|
|
217
219
|
* [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
|
|
218
220
|
* [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
|
|
@@ -236,11 +238,14 @@ If your Zscaler tenant has not been migrated to the new Zscaler [Zidentity platf
|
|
|
236
238
|
|
|
237
239
|
## Zscaler OneAPI New Framework
|
|
238
240
|
|
|
239
|
-
As of the publication of SDK version =>
|
|
241
|
+
As of the publication of SDK version => 1.7.x, OneAPI is available for programmatic interaction with the following products:
|
|
240
242
|
|
|
241
|
-
* [
|
|
242
|
-
* [
|
|
243
|
-
* [
|
|
243
|
+
* [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
|
|
244
|
+
* [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
|
|
245
|
+
* [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
|
|
246
|
+
* [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
|
|
247
|
+
* [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
|
|
248
|
+
* [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
|
|
244
249
|
|
|
245
250
|
**NOTE** All other products such as Zscaler Cloud Connector (ZTW) and Zscaler Digital Experience (ZDX) are supported only via the legacy authentication method described in this README.
|
|
246
251
|
|
|
@@ -803,6 +808,162 @@ Each one of the configuration values above can be turned into an environment var
|
|
|
803
808
|
| `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
|
|
804
809
|
| `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
|
|
805
810
|
|
|
811
|
+
### Zscaler ZIdentity API
|
|
812
|
+
|
|
813
|
+
This SDK supports programmatic integration with the Zscaler ZIdentity API service.
|
|
814
|
+
|
|
815
|
+
The authentication to Zscaler ZIdentity service via the OneAPI framework, requires uses the API client `ZscalerClient`
|
|
816
|
+
|
|
817
|
+
| Argument | Description | Environment variable |
|
|
818
|
+
|--------------|-------------|-------------------|
|
|
819
|
+
| `clientId` | _(String)_ Zscaler API Client ID, used with `clientSecret` or `PrivateKey` OAuth auth mode.| `ZSCALER_CLIENT_ID` |
|
|
820
|
+
| `clientSecret` | _(String)_ A string that contains the password for the API admin.| `ZSCALER_CLIENT_SECRET` |
|
|
821
|
+
| `privateKey` | _(String)_ A string Private key value.| `ZSCALER_PRIVATE_KEY` |
|
|
822
|
+
| `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
|
|
823
|
+
| `cloud`
|
|
824
|
+
|
|
825
|
+
### Initialize OneAPI OAuth 2.0 Client
|
|
826
|
+
|
|
827
|
+
#### Zidentity OneAPI Client ID and Client Secret Authentication
|
|
828
|
+
|
|
829
|
+
Construct a client instance by passing your Zidentity `clientId`, `clientSecret` and `vanityDomain`:
|
|
830
|
+
|
|
831
|
+
```py
|
|
832
|
+
from zscaler import ZscalerClient
|
|
833
|
+
|
|
834
|
+
config = {
|
|
835
|
+
"clientId": '{yourClientId}',
|
|
836
|
+
"clientSecret": '{yourClientSecret}',
|
|
837
|
+
"vanityDomain": '{yourvanityDomain}',
|
|
838
|
+
"cloud": "beta", # Optional when authenticating to an alternative cloud environment
|
|
839
|
+
"logging": {"enabled": False, "verbose": False},
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
def main():
|
|
843
|
+
with ZscalerClient(config) as client:
|
|
844
|
+
users, _, error = client.zidentity.groups.list_groups()
|
|
845
|
+
if error:
|
|
846
|
+
print(f"Error listing users: {error}")
|
|
847
|
+
return
|
|
848
|
+
|
|
849
|
+
print(f"Total users found: {len(users)}")
|
|
850
|
+
|
|
851
|
+
if __name__ == "__main__":
|
|
852
|
+
main()
|
|
853
|
+
```
|
|
854
|
+
|
|
855
|
+
#### Zidentity OneAPI Client ID and Private Key Authentication
|
|
856
|
+
|
|
857
|
+
```py
|
|
858
|
+
from zscaler import ZscalerClient
|
|
859
|
+
|
|
860
|
+
config = {
|
|
861
|
+
"clientId": '{yourClientId}',
|
|
862
|
+
"privateKey": '{yourPrivateKey}',
|
|
863
|
+
"vanityDomain": '{yourvanityDomain}',
|
|
864
|
+
"cloud": "beta", # Optional when authenticating to an alternative cloud environment
|
|
865
|
+
"logging": {"enabled": False, "verbose": False},
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
def main():
|
|
869
|
+
with ZscalerClient(config) as client:
|
|
870
|
+
users, _, error = client.zidentity.groups.list_groups()
|
|
871
|
+
if error:
|
|
872
|
+
print(f"Error listing users: {error}")
|
|
873
|
+
return
|
|
874
|
+
|
|
875
|
+
print(f"Total users found: {len(users)}")
|
|
876
|
+
|
|
877
|
+
if __name__ == "__main__":
|
|
878
|
+
main()
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
### Zscaler Sandbox Authentication
|
|
882
|
+
|
|
883
|
+
To authenticate to the Zscaler Sandbox service you must authenticate by instantiating the `ZscalerClient`.
|
|
884
|
+
|
|
885
|
+
Authentication to Zscaler Sandbox requires the attribute/parameter `sandboxCloud`. The following cloud environments are supported:
|
|
886
|
+
|
|
887
|
+
* `zscaler`
|
|
888
|
+
* `zscalerone`
|
|
889
|
+
* `zscalertwo`
|
|
890
|
+
* `zscalerthree`
|
|
891
|
+
* `zscloud`
|
|
892
|
+
* `zscalerbeta`
|
|
893
|
+
* `zscalergov`
|
|
894
|
+
* `zscalerten`
|
|
895
|
+
* `zspreview`
|
|
896
|
+
|
|
897
|
+
### Environment variables
|
|
898
|
+
|
|
899
|
+
You can provide credentials via the `ZSCALER_SANDBOX_TOKEN`, `ZSCALER_SANDBOX_CLOUD` environment variables, representing your Zscaler Sandbox authentication paraemters respectively `sandboxToken`, `sandboxCloud`
|
|
900
|
+
|
|
901
|
+
| Argument | Description | Environment variable |
|
|
902
|
+
|--------------|-------------|-------------------|
|
|
903
|
+
| `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
|
|
904
|
+
| `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
|
|
905
|
+
|
|
906
|
+
### Zscaler Sandbox Client Initialization
|
|
907
|
+
|
|
908
|
+
```py
|
|
909
|
+
from zscaler import ZscalerClient
|
|
910
|
+
|
|
911
|
+
config = {
|
|
912
|
+
"sandboxToken": '{yourSandboxToken}',
|
|
913
|
+
"sandboxCloud": '{yourSandboxCloud}',
|
|
914
|
+
"logging": {"enabled": False, "verbose": False},
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
def main():
|
|
918
|
+
|
|
919
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
920
|
+
file_path = os.path.join(script_dir, "test-pe-file.exe")
|
|
921
|
+
force_analysis = True
|
|
922
|
+
|
|
923
|
+
with ZscalerClient(config) as client:
|
|
924
|
+
submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
|
|
925
|
+
|
|
926
|
+
if err:
|
|
927
|
+
print(f"Error submitting file: {err}")
|
|
928
|
+
else:
|
|
929
|
+
print("File submitted successfully!")
|
|
930
|
+
print(f"Response: {submit}")
|
|
931
|
+
|
|
932
|
+
if __name__ == "__main__":
|
|
933
|
+
main()
|
|
934
|
+
```
|
|
935
|
+
|
|
936
|
+
### ZIA Legacy Client Initialization
|
|
937
|
+
|
|
938
|
+
```py
|
|
939
|
+
import random
|
|
940
|
+
from zscaler import ZscalerClient
|
|
941
|
+
|
|
942
|
+
config = {
|
|
943
|
+
"sandboxToken": '{yourSandboxToken}',
|
|
944
|
+
"sandboxCloud": '{yourSandboxCloud}',
|
|
945
|
+
"logging": {"enabled": False, "verbose": False},
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
def main():
|
|
949
|
+
|
|
950
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
951
|
+
file_path = os.path.join(script_dir, "test-pe-file.exe")
|
|
952
|
+
force_analysis = True
|
|
953
|
+
|
|
954
|
+
with ZscalerClient(config) as client:
|
|
955
|
+
submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
|
|
956
|
+
|
|
957
|
+
if err:
|
|
958
|
+
print(f"Error submitting file: {err}")
|
|
959
|
+
else:
|
|
960
|
+
print("File submitted successfully!")
|
|
961
|
+
print(f"Response: {submit}")
|
|
962
|
+
|
|
963
|
+
if __name__ == "__main__":
|
|
964
|
+
main()
|
|
965
|
+
```
|
|
966
|
+
|
|
806
967
|
## Zscaler Legacy API Framework
|
|
807
968
|
|
|
808
969
|
The legacy Zscaler API is still utilized by several customers, and will remain in place for the foreseeable future with no specific announced deprecation date.
|
|
@@ -34,6 +34,7 @@ used in your server-side code to interact with the Zscaler API platform across m
|
|
|
34
34
|
* [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
|
|
35
35
|
* [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
|
|
36
36
|
* [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
|
|
37
|
+
* [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
|
|
37
38
|
* [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
|
|
38
39
|
* [ZWA API](https://help.zscaler.com/workflow-automation/getting-started-workflow-automation-api)
|
|
39
40
|
|
|
@@ -174,6 +175,7 @@ In most cases, you won't need to build the SDK from source. If you want to build
|
|
|
174
175
|
* [OneAPI](https://help.zscaler.com/oneapi/understanding-oneapi)
|
|
175
176
|
* [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
|
|
176
177
|
* [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
|
|
178
|
+
* [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
|
|
177
179
|
* [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
|
|
178
180
|
* [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
|
|
179
181
|
* [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
|
|
@@ -197,11 +199,14 @@ If your Zscaler tenant has not been migrated to the new Zscaler [Zidentity platf
|
|
|
197
199
|
|
|
198
200
|
## Zscaler OneAPI New Framework
|
|
199
201
|
|
|
200
|
-
As of the publication of SDK version =>
|
|
202
|
+
As of the publication of SDK version => 1.7.x, OneAPI is available for programmatic interaction with the following products:
|
|
201
203
|
|
|
202
|
-
* [
|
|
203
|
-
* [
|
|
204
|
-
* [
|
|
204
|
+
* [ZPA API](https://help.zscaler.com/zpa/zpa-api/api-developer-reference-guide)
|
|
205
|
+
* [ZIA API](https://help.zscaler.com/zia/getting-started-zia-api)
|
|
206
|
+
* [ZIdentity](https://help.zscaler.com/zidentity/getting-started-zidentity-api)
|
|
207
|
+
* [ZDX API](https://help.zscaler.com/zdx/understanding-zdx-api)
|
|
208
|
+
* [ZCC API](https://help.zscaler.com/client-connector/getting-started-client-connector-api)
|
|
209
|
+
* [ZTW API](https://help.zscaler.com/cloud-branch-connector/getting-started-cloud-branch-connector-api)
|
|
205
210
|
|
|
206
211
|
**NOTE** All other products such as Zscaler Cloud Connector (ZTW) and Zscaler Digital Experience (ZDX) are supported only via the legacy authentication method described in this README.
|
|
207
212
|
|
|
@@ -764,6 +769,162 @@ Each one of the configuration values above can be turned into an environment var
|
|
|
764
769
|
| `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
|
|
765
770
|
| `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
|
|
766
771
|
|
|
772
|
+
### Zscaler ZIdentity API
|
|
773
|
+
|
|
774
|
+
This SDK supports programmatic integration with the Zscaler ZIdentity API service.
|
|
775
|
+
|
|
776
|
+
The authentication to Zscaler ZIdentity service via the OneAPI framework, requires uses the API client `ZscalerClient`
|
|
777
|
+
|
|
778
|
+
| Argument | Description | Environment variable |
|
|
779
|
+
|--------------|-------------|-------------------|
|
|
780
|
+
| `clientId` | _(String)_ Zscaler API Client ID, used with `clientSecret` or `PrivateKey` OAuth auth mode.| `ZSCALER_CLIENT_ID` |
|
|
781
|
+
| `clientSecret` | _(String)_ A string that contains the password for the API admin.| `ZSCALER_CLIENT_SECRET` |
|
|
782
|
+
| `privateKey` | _(String)_ A string Private key value.| `ZSCALER_PRIVATE_KEY` |
|
|
783
|
+
| `vanityDomain` | _(String)_ Refers to the domain name used by your organization `https://<vanity_domain>.zslogin.net/oauth2/v1/token` | `ZSCALER_VANITY_DOMAIN` |
|
|
784
|
+
| `cloud`
|
|
785
|
+
|
|
786
|
+
### Initialize OneAPI OAuth 2.0 Client
|
|
787
|
+
|
|
788
|
+
#### Zidentity OneAPI Client ID and Client Secret Authentication
|
|
789
|
+
|
|
790
|
+
Construct a client instance by passing your Zidentity `clientId`, `clientSecret` and `vanityDomain`:
|
|
791
|
+
|
|
792
|
+
```py
|
|
793
|
+
from zscaler import ZscalerClient
|
|
794
|
+
|
|
795
|
+
config = {
|
|
796
|
+
"clientId": '{yourClientId}',
|
|
797
|
+
"clientSecret": '{yourClientSecret}',
|
|
798
|
+
"vanityDomain": '{yourvanityDomain}',
|
|
799
|
+
"cloud": "beta", # Optional when authenticating to an alternative cloud environment
|
|
800
|
+
"logging": {"enabled": False, "verbose": False},
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
def main():
|
|
804
|
+
with ZscalerClient(config) as client:
|
|
805
|
+
users, _, error = client.zidentity.groups.list_groups()
|
|
806
|
+
if error:
|
|
807
|
+
print(f"Error listing users: {error}")
|
|
808
|
+
return
|
|
809
|
+
|
|
810
|
+
print(f"Total users found: {len(users)}")
|
|
811
|
+
|
|
812
|
+
if __name__ == "__main__":
|
|
813
|
+
main()
|
|
814
|
+
```
|
|
815
|
+
|
|
816
|
+
#### Zidentity OneAPI Client ID and Private Key Authentication
|
|
817
|
+
|
|
818
|
+
```py
|
|
819
|
+
from zscaler import ZscalerClient
|
|
820
|
+
|
|
821
|
+
config = {
|
|
822
|
+
"clientId": '{yourClientId}',
|
|
823
|
+
"privateKey": '{yourPrivateKey}',
|
|
824
|
+
"vanityDomain": '{yourvanityDomain}',
|
|
825
|
+
"cloud": "beta", # Optional when authenticating to an alternative cloud environment
|
|
826
|
+
"logging": {"enabled": False, "verbose": False},
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
def main():
|
|
830
|
+
with ZscalerClient(config) as client:
|
|
831
|
+
users, _, error = client.zidentity.groups.list_groups()
|
|
832
|
+
if error:
|
|
833
|
+
print(f"Error listing users: {error}")
|
|
834
|
+
return
|
|
835
|
+
|
|
836
|
+
print(f"Total users found: {len(users)}")
|
|
837
|
+
|
|
838
|
+
if __name__ == "__main__":
|
|
839
|
+
main()
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
### Zscaler Sandbox Authentication
|
|
843
|
+
|
|
844
|
+
To authenticate to the Zscaler Sandbox service you must authenticate by instantiating the `ZscalerClient`.
|
|
845
|
+
|
|
846
|
+
Authentication to Zscaler Sandbox requires the attribute/parameter `sandboxCloud`. The following cloud environments are supported:
|
|
847
|
+
|
|
848
|
+
* `zscaler`
|
|
849
|
+
* `zscalerone`
|
|
850
|
+
* `zscalertwo`
|
|
851
|
+
* `zscalerthree`
|
|
852
|
+
* `zscloud`
|
|
853
|
+
* `zscalerbeta`
|
|
854
|
+
* `zscalergov`
|
|
855
|
+
* `zscalerten`
|
|
856
|
+
* `zspreview`
|
|
857
|
+
|
|
858
|
+
### Environment variables
|
|
859
|
+
|
|
860
|
+
You can provide credentials via the `ZSCALER_SANDBOX_TOKEN`, `ZSCALER_SANDBOX_CLOUD` environment variables, representing your Zscaler Sandbox authentication paraemters respectively `sandboxToken`, `sandboxCloud`
|
|
861
|
+
|
|
862
|
+
| Argument | Description | Environment variable |
|
|
863
|
+
|--------------|-------------|-------------------|
|
|
864
|
+
| `sandboxToken` | _(String)_ The Zscaler Internet Access Sandbox Token | `ZSCALER_SANDBOX_TOKEN` |
|
|
865
|
+
| `sandboxCloud` | _(String)_ The Zscaler Internet Access Sandbox cloud name | `ZSCALER_SANDBOX_CLOUD` |
|
|
866
|
+
|
|
867
|
+
### Zscaler Sandbox Client Initialization
|
|
868
|
+
|
|
869
|
+
```py
|
|
870
|
+
from zscaler import ZscalerClient
|
|
871
|
+
|
|
872
|
+
config = {
|
|
873
|
+
"sandboxToken": '{yourSandboxToken}',
|
|
874
|
+
"sandboxCloud": '{yourSandboxCloud}',
|
|
875
|
+
"logging": {"enabled": False, "verbose": False},
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
def main():
|
|
879
|
+
|
|
880
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
881
|
+
file_path = os.path.join(script_dir, "test-pe-file.exe")
|
|
882
|
+
force_analysis = True
|
|
883
|
+
|
|
884
|
+
with ZscalerClient(config) as client:
|
|
885
|
+
submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
|
|
886
|
+
|
|
887
|
+
if err:
|
|
888
|
+
print(f"Error submitting file: {err}")
|
|
889
|
+
else:
|
|
890
|
+
print("File submitted successfully!")
|
|
891
|
+
print(f"Response: {submit}")
|
|
892
|
+
|
|
893
|
+
if __name__ == "__main__":
|
|
894
|
+
main()
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
### ZIA Legacy Client Initialization
|
|
898
|
+
|
|
899
|
+
```py
|
|
900
|
+
import random
|
|
901
|
+
from zscaler import ZscalerClient
|
|
902
|
+
|
|
903
|
+
config = {
|
|
904
|
+
"sandboxToken": '{yourSandboxToken}',
|
|
905
|
+
"sandboxCloud": '{yourSandboxCloud}',
|
|
906
|
+
"logging": {"enabled": False, "verbose": False},
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
def main():
|
|
910
|
+
|
|
911
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
912
|
+
file_path = os.path.join(script_dir, "test-pe-file.exe")
|
|
913
|
+
force_analysis = True
|
|
914
|
+
|
|
915
|
+
with ZscalerClient(config) as client:
|
|
916
|
+
submit, _, err = client.zia.sandbox.submit_file(file_path=file_path, force=force_analysis)
|
|
917
|
+
|
|
918
|
+
if err:
|
|
919
|
+
print(f"Error submitting file: {err}")
|
|
920
|
+
else:
|
|
921
|
+
print("File submitted successfully!")
|
|
922
|
+
print(f"Response: {submit}")
|
|
923
|
+
|
|
924
|
+
if __name__ == "__main__":
|
|
925
|
+
main()
|
|
926
|
+
```
|
|
927
|
+
|
|
767
928
|
## Zscaler Legacy API Framework
|
|
768
929
|
|
|
769
930
|
The legacy Zscaler API is still utilized by several customers, and will remain in place for the foreseeable future with no specific announced deprecation date.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "zscaler-sdk-python"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.7.0"
|
|
4
4
|
description = "Official Python SDK for the Zscaler Products"
|
|
5
5
|
authors = ["Zscaler, Inc. <devrel@zscaler.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -8,7 +8,7 @@ readme = "README.md"
|
|
|
8
8
|
homepage = "https://github.com/zscaler/zscaler-sdk-python"
|
|
9
9
|
repository = "https://github.com/zscaler/zscaler-sdk-python"
|
|
10
10
|
documentation = "https://zscaler-sdk-python.readthedocs.io"
|
|
11
|
-
keywords = ["zscaler", "sdk", "zpa", "zia", "zdx", "zcc", "ztw", "zwa"]
|
|
11
|
+
keywords = ["zscaler", "sdk", "zpa", "zia", "zdx", "zcc", "ztw", "zwa", "zidentity"]
|
|
12
12
|
classifiers = [
|
|
13
13
|
"Development Status :: 5 - Production/Stable",
|
|
14
14
|
"Intended Audience :: Developers",
|
|
@@ -125,7 +125,10 @@ def to_snake_case(string):
|
|
|
125
125
|
"locationGroupDTO": "location_group_dto",
|
|
126
126
|
"locationDTO": "location_dto",
|
|
127
127
|
"predefinedADPControls": "predefined_adp_controls",
|
|
128
|
-
"runtimeOS": "runtime_os"
|
|
128
|
+
"runtimeOS": "runtime_os",
|
|
129
|
+
|
|
130
|
+
# ZIdentity Edge Cases
|
|
131
|
+
# "clientJWKsUrl": "clientJWKsUrl",
|
|
129
132
|
}
|
|
130
133
|
|
|
131
134
|
if string in FIELD_EXCEPTIONS:
|
|
@@ -15,6 +15,7 @@ from zscaler.zdx.zdx_service import ZDXService
|
|
|
15
15
|
from zscaler.zia.zia_service import ZIAService
|
|
16
16
|
from zscaler.zpa.zpa_service import ZPAService
|
|
17
17
|
from zscaler.zwa.zwa_service import ZWAService
|
|
18
|
+
from zscaler.zidentity.zidentity_service import ZIdentityService
|
|
18
19
|
from zscaler.zcc.legacy import LegacyZCCClientHelper
|
|
19
20
|
from zscaler.ztw.legacy import LegacyZTWClientHelper
|
|
20
21
|
from zscaler.zdx.legacy import LegacyZDXClientHelper
|
|
@@ -187,6 +188,7 @@ class Client:
|
|
|
187
188
|
self._zwa = None
|
|
188
189
|
self._zpa = None
|
|
189
190
|
self._zdx = None
|
|
191
|
+
self._zidentity = None
|
|
190
192
|
# self.logger.debug("Client initialized successfully.")
|
|
191
193
|
|
|
192
194
|
def authenticate(self):
|
|
@@ -252,6 +254,12 @@ class Client:
|
|
|
252
254
|
self._zpa = ZPAService(self._request_executor, self._config)
|
|
253
255
|
return self._zpa
|
|
254
256
|
|
|
257
|
+
@property
|
|
258
|
+
def zidentity(self):
|
|
259
|
+
if self._zidentity is None:
|
|
260
|
+
self._zidentity = ZIdentityService(self._request_executor)
|
|
261
|
+
return self._zidentity
|
|
262
|
+
|
|
255
263
|
def __enter__(self):
|
|
256
264
|
"""
|
|
257
265
|
Automatically create and set session within context manager.
|
|
@@ -83,6 +83,7 @@ class RequestExecutor:
|
|
|
83
83
|
self.service = self._config["client"].get("service", "zia") # Default to ZIA
|
|
84
84
|
self.customer_id = self._config["client"].get("customerId") # Optional for ZIA/ZCC
|
|
85
85
|
self.microtenant_id = self._config["client"].get("microtenantId") # Optional for ZIA/ZCC
|
|
86
|
+
self.vanity_domain = self._config["client"].get("vanityDomain") # Required for zidentity service
|
|
86
87
|
|
|
87
88
|
# OAuth2 setup
|
|
88
89
|
self._oauth = OAuth(self, self._config)
|
|
@@ -127,6 +128,18 @@ class RequestExecutor:
|
|
|
127
128
|
# logger.debug(f"Determining base URL for cloud: {self.cloud}")
|
|
128
129
|
if "/zscsb" in endpoint:
|
|
129
130
|
return f"https://csbapi.{self.sandbox_cloud}.net"
|
|
131
|
+
|
|
132
|
+
# Special handling for zidentity service
|
|
133
|
+
if "/zidentity" in endpoint or "/admin/api/v1" in endpoint:
|
|
134
|
+
if not self.vanity_domain:
|
|
135
|
+
raise ValueError("vanityDomain is required for zidentity service")
|
|
136
|
+
|
|
137
|
+
# For zidentity, the URL pattern is: https://{{vanity_domain}}-admin.zslogin{{cloud}}.net/admin/api/v1
|
|
138
|
+
if self.cloud and self.cloud != "production":
|
|
139
|
+
return f"https://{self.vanity_domain}-admin.zslogin{self.cloud}.net/admin/api/v1"
|
|
140
|
+
else:
|
|
141
|
+
return f"https://{self.vanity_domain}-admin.zslogin.net/admin/api/v1"
|
|
142
|
+
|
|
130
143
|
if self.cloud and self.cloud != "production":
|
|
131
144
|
return f"https://api.{self.cloud}.zsapi.net"
|
|
132
145
|
return self.BASE_URL
|
|
@@ -147,7 +160,10 @@ class RequestExecutor:
|
|
|
147
160
|
return "zwa"
|
|
148
161
|
elif "/zpa" in url or "/mgmtconfig" in url:
|
|
149
162
|
return "zpa"
|
|
150
|
-
|
|
163
|
+
elif "/admin/api/v1" in url:
|
|
164
|
+
return "zidentity"
|
|
165
|
+
elif "/admin" in url:
|
|
166
|
+
return "admin"
|
|
151
167
|
if self.use_legacy_client:
|
|
152
168
|
url = self.remove_oneapi_endpoint_prefix(url)
|
|
153
169
|
# Recheck for service type after removing the prefix
|
|
@@ -163,11 +179,13 @@ class RequestExecutor:
|
|
|
163
179
|
return "zwa"
|
|
164
180
|
elif "/zpa" in url or "/mgmtconfig" in url:
|
|
165
181
|
return "zpa"
|
|
182
|
+
elif "/admin/api/v1" in url:
|
|
183
|
+
return "zidentity"
|
|
166
184
|
|
|
167
185
|
raise ValueError(f"Unsupported service: {url}")
|
|
168
186
|
|
|
169
187
|
def remove_oneapi_endpoint_prefix(self, endpoint: str) -> str:
|
|
170
|
-
prefixes = ["/zia", "/zpa", "/zcc", "/ztw", "/zdx", "/zwa"]
|
|
188
|
+
prefixes = ["admin", "/zia", "/zpa", "/zcc", "/ztw", "/zdx", "/zwa"]
|
|
171
189
|
for prefix in prefixes:
|
|
172
190
|
if endpoint.startswith(prefix):
|
|
173
191
|
return endpoint[len(prefix) :]
|
|
@@ -214,6 +232,11 @@ class RequestExecutor:
|
|
|
214
232
|
else:
|
|
215
233
|
base_url = self.get_base_url(endpoint)
|
|
216
234
|
|
|
235
|
+
# Special handling for zidentity to avoid endpoint duplication
|
|
236
|
+
if service_type == "zidentity" and endpoint.startswith("/admin/api/v1/"):
|
|
237
|
+
# Remove the /admin/api/v1 prefix since it's already in the base URL
|
|
238
|
+
endpoint = endpoint[len("/admin/api/v1/"):]
|
|
239
|
+
|
|
217
240
|
final_url = f"{base_url}/{endpoint.lstrip('/')}"
|
|
218
241
|
|
|
219
242
|
headers = self._prepare_headers(headers, endpoint)
|
|
@@ -236,17 +236,39 @@ def transform_common_id_fields(id_groups: list, source_dict: dict, target_dict:
|
|
|
236
236
|
final_list = []
|
|
237
237
|
for item in value:
|
|
238
238
|
if isinstance(item, (str, int)):
|
|
239
|
-
|
|
239
|
+
# Try to convert to int, but keep as string if it's not a valid integer
|
|
240
|
+
if isinstance(item, str):
|
|
241
|
+
try:
|
|
242
|
+
final_list.append({"id": int(item)})
|
|
243
|
+
except ValueError:
|
|
244
|
+
# Keep as string if it's not a valid integer (e.g., 'ihln05ktj07ds')
|
|
245
|
+
final_list.append({"id": item})
|
|
246
|
+
else:
|
|
247
|
+
final_list.append({"id": int(item)})
|
|
240
248
|
elif isinstance(item, dict) and "id" in item:
|
|
241
249
|
# Possibly user gave { "id": 123, ... }
|
|
242
|
-
|
|
250
|
+
if isinstance(item["id"], str):
|
|
251
|
+
try:
|
|
252
|
+
item["id"] = int(item["id"])
|
|
253
|
+
except ValueError:
|
|
254
|
+
# Keep as string if it's not a valid integer
|
|
255
|
+
pass
|
|
256
|
+
else:
|
|
257
|
+
item["id"] = int(item["id"])
|
|
243
258
|
final_list.append(item)
|
|
244
259
|
else:
|
|
245
260
|
final_list.append(item)
|
|
246
261
|
target_dict[payload_key] = final_list
|
|
247
262
|
elif isinstance(value, dict) and "id" in value:
|
|
248
263
|
# single dict with ID
|
|
249
|
-
|
|
264
|
+
if isinstance(value["id"], str):
|
|
265
|
+
try:
|
|
266
|
+
value["id"] = int(value["id"])
|
|
267
|
+
except ValueError:
|
|
268
|
+
# Keep as string if it's not a valid integer
|
|
269
|
+
pass
|
|
270
|
+
else:
|
|
271
|
+
value["id"] = int(value["id"])
|
|
250
272
|
target_dict[payload_key] = value
|
|
251
273
|
return
|
|
252
274
|
|
|
@@ -46,7 +46,7 @@ class AdminAPI(APIClient):
|
|
|
46
46
|
Examples:
|
|
47
47
|
Prints all configured departments.
|
|
48
48
|
|
|
49
|
-
>>> dept_list, _, err = client.zdx.admin.list_departments(
|
|
49
|
+
>>> dept_list, _, err = client.zdx.admin.list_departments()
|
|
50
50
|
... if err:
|
|
51
51
|
... print(f"Error listing department: {err}")
|
|
52
52
|
... return
|
|
@@ -43,11 +43,17 @@ class CloudNSSAPI(APIClient):
|
|
|
43
43
|
Returns:
|
|
44
44
|
tuple: A tuple containing (Retries the cloud nss feed instances, Response, error)
|
|
45
45
|
|
|
46
|
-
|
|
47
46
|
Examples:
|
|
48
|
-
|
|
49
|
-
>>> nss = zia.cloud_nss.list_nss_feed()
|
|
47
|
+
List the cloud nss feed:
|
|
50
48
|
|
|
49
|
+
>>> feeds, _, err = client.zia.cloud_nss.list_nss_feed(query_params={"feed_type": "JSON"})
|
|
50
|
+
>>> if err:
|
|
51
|
+
... print(f"[Error] Listing Cloud NSS Feeds: {err}")
|
|
52
|
+
... return
|
|
53
|
+
... print("[Success] Retrieved Cloud NSS Feeds Successfully.")
|
|
54
|
+
... print("Feed Output Payload:")
|
|
55
|
+
... for feed in feeds:
|
|
56
|
+
... print(feed)
|
|
51
57
|
"""
|
|
52
58
|
http_method = "get".upper()
|
|
53
59
|
api_url = format_url(
|
|
@@ -307,7 +313,6 @@ class CloudNSSAPI(APIClient):
|
|
|
307
313
|
|
|
308
314
|
body = kwargs
|
|
309
315
|
|
|
310
|
-
# Create the request
|
|
311
316
|
request, error = self._request_executor.create_request(
|
|
312
317
|
method=http_method,
|
|
313
318
|
endpoint=api_url,
|
|
@@ -317,7 +322,6 @@ class CloudNSSAPI(APIClient):
|
|
|
317
322
|
if error:
|
|
318
323
|
return (None, None, error)
|
|
319
324
|
|
|
320
|
-
# Execute the request
|
|
321
325
|
response, error = self._request_executor.execute(request, NssFeeds)
|
|
322
326
|
if error:
|
|
323
327
|
return (None, response, error)
|