scm-python 0.0.1b2__py3-none-any.whl
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.
- scm/__init__.py +720 -0
- scm/config_operations/__init__.py +46 -0
- scm/config_operations/api/__init__.py +6 -0
- scm/config_operations/api/config_versions_api.py +1780 -0
- scm/config_operations/api/jobs_api.py +579 -0
- scm/config_operations/api_client.py +798 -0
- scm/config_operations/api_response.py +21 -0
- scm/config_operations/configuration.py +471 -0
- scm/config_operations/exceptions.py +200 -0
- scm/config_operations/models/__init__.py +28 -0
- scm/config_operations/models/config_version.py +115 -0
- scm/config_operations/models/config_versions_list_response.py +113 -0
- scm/config_operations/models/error_detail_cause_info.py +94 -0
- scm/config_operations/models/generic_error.py +98 -0
- scm/config_operations/models/jobs.py +139 -0
- scm/config_operations/models/jobs_list_response.py +113 -0
- scm/config_operations/models/jobs_response.py +96 -0
- scm/config_operations/models/load_config.py +88 -0
- scm/config_operations/models/push_candidate_config_versions_request.py +95 -0
- scm/config_operations/models/running_config_versions_response.py +102 -0
- scm/config_operations/models/running_versions.py +93 -0
- scm/config_operations/rest.py +264 -0
- scm/config_operations/tests/__init__.py +0 -0
- scm/config_operations/tests/api_config_versions_test.py +136 -0
- scm/config_operations/tests/api_jobs_test.py +108 -0
- scm/config_setup/__init__.py +98 -0
- scm/config_setup/api/__init__.py +18 -0
- scm/config_setup/api/devices_api.py +1006 -0
- scm/config_setup/api/folders_api.py +1556 -0
- scm/config_setup/api/labels_api.py +1556 -0
- scm/config_setup/api/shared_snippets_api.py +883 -0
- scm/config_setup/api/snippet_audit_logs_api.py +625 -0
- scm/config_setup/api/snippet_categories_api.py +960 -0
- scm/config_setup/api/snippet_snapshots_api.py +2077 -0
- scm/config_setup/api/snippets_api.py +1556 -0
- scm/config_setup/api/subscribed_tenants_api.py +1201 -0
- scm/config_setup/api/trust_information_api.py +320 -0
- scm/config_setup/api/trust_validations_api.py +332 -0
- scm/config_setup/api/trusted_tenants_overview_api.py +300 -0
- scm/config_setup/api/trusts_api.py +630 -0
- scm/config_setup/api/variables_api.py +1670 -0
- scm/config_setup/api_client.py +798 -0
- scm/config_setup/api_response.py +21 -0
- scm/config_setup/configuration.py +467 -0
- scm/config_setup/exceptions.py +200 -0
- scm/config_setup/models/__init__.py +68 -0
- scm/config_setup/models/add_subscriber_request_payload_inner.py +92 -0
- scm/config_setup/models/common_snippet_snapshot_payload.py +90 -0
- scm/config_setup/models/compare_snippet_snapshot_config_payload.py +92 -0
- scm/config_setup/models/compare_tlo_payload.py +94 -0
- scm/config_setup/models/deleted_subscriber.py +96 -0
- scm/config_setup/models/devices.py +254 -0
- scm/config_setup/models/devices_available_licensess_inner.py +103 -0
- scm/config_setup/models/devices_installed_licenses_inner.py +107 -0
- scm/config_setup/models/devices_list_response.py +113 -0
- scm/config_setup/models/devices_put.py +96 -0
- scm/config_setup/models/error_detail_cause_info.py +99 -0
- scm/config_setup/models/folders.py +100 -0
- scm/config_setup/models/folders_list_response.py +113 -0
- scm/config_setup/models/generic_error.py +98 -0
- scm/config_setup/models/labels.py +94 -0
- scm/config_setup/models/labels_list_response.py +113 -0
- scm/config_setup/models/property_item.py +92 -0
- scm/config_setup/models/save_snippet_snapshot_config_response.py +96 -0
- scm/config_setup/models/save_snippet_snapshot_config_response_result.py +88 -0
- scm/config_setup/models/save_snippet_snapshot_payload.py +90 -0
- scm/config_setup/models/snippet_audit_history.py +143 -0
- scm/config_setup/models/snippet_audit_payload.py +104 -0
- scm/config_setup/models/snippet_categories.py +203 -0
- scm/config_setup/models/snippet_categories_list_response.py +113 -0
- scm/config_setup/models/snippet_share_info.py +181 -0
- scm/config_setup/models/snippet_share_load_payload.py +95 -0
- scm/config_setup/models/snippet_share_property.py +151 -0
- scm/config_setup/models/snippet_share_upload_payload.py +92 -0
- scm/config_setup/models/snippet_snapshot_compare_entry.py +117 -0
- scm/config_setup/models/snippet_snapshot_diff_response.py +98 -0
- scm/config_setup/models/snippet_snapshot_diff_response_after.py +95 -0
- scm/config_setup/models/snippet_snapshot_diff_response_before.py +91 -0
- scm/config_setup/models/snippet_snapshot_load_snippet_payload.py +90 -0
- scm/config_setup/models/snippet_snapshot_load_snippet_response.py +88 -0
- scm/config_setup/models/snippet_snapshot_publish_request.py +96 -0
- scm/config_setup/models/snippet_snapshot_publish_response.py +116 -0
- scm/config_setup/models/snippet_snapshot_subscriber_compare_payload.py +90 -0
- scm/config_setup/models/snippet_snapshot_subscriber_compare_response.py +97 -0
- scm/config_setup/models/snippet_snapshot_subscriber_compare_response_publisher.py +88 -0
- scm/config_setup/models/snippets.py +110 -0
- scm/config_setup/models/snippets_list_response.py +113 -0
- scm/config_setup/models/subscriber_property_payload.py +102 -0
- scm/config_setup/models/tenant_trust_info.py +173 -0
- scm/config_setup/models/trust_info_with_shared_snippets.py +169 -0
- scm/config_setup/models/trusted_tenant_overview.py +97 -0
- scm/config_setup/models/trusted_tenant_overview_publisher.py +94 -0
- scm/config_setup/models/trusts.py +101 -0
- scm/config_setup/models/trusts_validation_payload.py +101 -0
- scm/config_setup/models/used_folders.py +90 -0
- scm/config_setup/models/variables.py +151 -0
- scm/config_setup/models/variables_list_response.py +113 -0
- scm/config_setup/rest.py +264 -0
- scm/config_setup/tests/__init__.py +0 -0
- scm/config_setup/tests/api_devices_test.py +169 -0
- scm/config_setup/tests/api_folders_test.py +36 -0
- scm/config_setup/tests/api_labels_test.py +188 -0
- scm/config_setup/tests/api_shared_snippets_test.py +27 -0
- scm/config_setup/tests/api_snippet_categories_test.py +45 -0
- scm/config_setup/tests/api_snippets_test.py +224 -0
- scm/config_setup/tests/api_subscribed_tenants_test.py +41 -0
- scm/config_setup/tests/api_trust_information_test.py +27 -0
- scm/config_setup/tests/api_variables_test.py +255 -0
- scm/decorators.py +110 -0
- scm/deployment_services/__init__.py +82 -0
- scm/deployment_services/api/__init__.py +15 -0
- scm/deployment_services/api/application_defaults_api.py +299 -0
- scm/deployment_services/api/bandwidth_allocations_api.py +1277 -0
- scm/deployment_services/api/bgp_routing_api.py +595 -0
- scm/deployment_services/api/internal_dns_servers_api.py +1556 -0
- scm/deployment_services/api/network_locations_api.py +304 -0
- scm/deployment_services/api/remote_networks_api.py +1585 -0
- scm/deployment_services/api/service_connection_groups_api.py +1585 -0
- scm/deployment_services/api/service_connections_api.py +1585 -0
- scm/deployment_services/api/shared_infrastructure_settings_api.py +596 -0
- scm/deployment_services/api/sites_api.py +1585 -0
- scm/deployment_services/api/traffic_steering_rules_api.py +1602 -0
- scm/deployment_services/api_client.py +798 -0
- scm/deployment_services/api_response.py +21 -0
- scm/deployment_services/configuration.py +471 -0
- scm/deployment_services/exceptions.py +200 -0
- scm/deployment_services/models/__init__.py +55 -0
- scm/deployment_services/models/bandwidth_allocations.py +98 -0
- scm/deployment_services/models/bandwidth_allocations_list_response.py +113 -0
- scm/deployment_services/models/bandwidth_allocations_qos.py +94 -0
- scm/deployment_services/models/bgp_routing.py +112 -0
- scm/deployment_services/models/bgp_routing_routing_preference.py +90 -0
- scm/deployment_services/models/edit_shared_infrastructure_settings.py +106 -0
- scm/deployment_services/models/edit_shared_infrastructure_settings_connector_application_blocks.py +89 -0
- scm/deployment_services/models/edit_shared_infrastructure_settings_connector_connector_blocks.py +89 -0
- scm/deployment_services/models/error_detail_cause_info.py +99 -0
- scm/deployment_services/models/generic_error.py +98 -0
- scm/deployment_services/models/internal_dns_servers.py +98 -0
- scm/deployment_services/models/internal_dns_servers_list_response.py +113 -0
- scm/deployment_services/models/locations.py +101 -0
- scm/deployment_services/models/remote_networks.py +135 -0
- scm/deployment_services/models/remote_networks_ecmp_tunnels_inner.py +96 -0
- scm/deployment_services/models/remote_networks_ecmp_tunnels_inner_protocol.py +92 -0
- scm/deployment_services/models/remote_networks_list_response.py +113 -0
- scm/deployment_services/models/remote_networks_protocol.py +98 -0
- scm/deployment_services/models/remote_networks_protocol_bgp.py +114 -0
- scm/deployment_services/models/remote_networks_protocol_bgp_peer.py +94 -0
- scm/deployment_services/models/service_connection_groups.py +98 -0
- scm/deployment_services/models/service_connection_groups_list_response.py +113 -0
- scm/deployment_services/models/service_connections.py +150 -0
- scm/deployment_services/models/service_connections_bgp_peer.py +98 -0
- scm/deployment_services/models/service_connections_list_response.py +113 -0
- scm/deployment_services/models/service_connections_protocol.py +92 -0
- scm/deployment_services/models/service_connections_protocol_bgp.py +104 -0
- scm/deployment_services/models/service_connections_qos.py +90 -0
- scm/deployment_services/models/shared_infrastructure_settings.py +120 -0
- scm/deployment_services/models/sites.py +149 -0
- scm/deployment_services/models/sites_list_response.py +113 -0
- scm/deployment_services/models/sites_members_inner.py +103 -0
- scm/deployment_services/models/sites_qos.py +92 -0
- scm/deployment_services/models/traffic_steering_rules.py +110 -0
- scm/deployment_services/models/traffic_steering_rules_action.py +92 -0
- scm/deployment_services/models/traffic_steering_rules_action_forward.py +94 -0
- scm/deployment_services/models/traffic_steering_rules_action_forward_forward.py +88 -0
- scm/deployment_services/models/traffic_steering_rules_list_response.py +113 -0
- scm/deployment_services/rest.py +264 -0
- scm/deployment_services/tests/__init__.py +0 -0
- scm/deployment_services/tests/api_application_defaults_test.py +31 -0
- scm/deployment_services/tests/api_bandwidth_allocations_test.py +96 -0
- scm/deployment_services/tests/api_bgp_routing_test.py +36 -0
- scm/deployment_services/tests/api_internal_dns_servers_test.py +218 -0
- scm/deployment_services/tests/api_network_locations_test.py +27 -0
- scm/deployment_services/tests/api_remote_networks_test.py +403 -0
- scm/deployment_services/tests/api_service_connection_groups_test.py +432 -0
- scm/deployment_services/tests/api_service_connections_test.py +396 -0
- scm/deployment_services/tests/api_sites_test.py +453 -0
- scm/deployment_services/tests/api_traffic_steering_rules_test.py +240 -0
- scm/device_settings/__init__.py +142 -0
- scm/device_settings/api/__init__.py +18 -0
- scm/device_settings/api/authentication_settings_api.py +1508 -0
- scm/device_settings/api/content_id_settings_api.py +1508 -0
- scm/device_settings/api/device_redistribution_collector_settings_api.py +1508 -0
- scm/device_settings/api/general_settings_api.py +1508 -0
- scm/device_settings/api/high_availability_devices_api.py +354 -0
- scm/device_settings/api/login_banner_settings_api.py +1508 -0
- scm/device_settings/api/management_interface_settings_api.py +1508 -0
- scm/device_settings/api/service_route_settings_api.py +1508 -0
- scm/device_settings/api/service_settings_api.py +1508 -0
- scm/device_settings/api/session_settings_api.py +1508 -0
- scm/device_settings/api/session_timeouts_settings_api.py +1508 -0
- scm/device_settings/api/tcp_settings_api.py +1508 -0
- scm/device_settings/api/update_schedule_settings_api.py +1508 -0
- scm/device_settings/api/vpn_settings_api.py +1508 -0
- scm/device_settings/api_client.py +798 -0
- scm/device_settings/api_response.py +21 -0
- scm/device_settings/configuration.py +467 -0
- scm/device_settings/exceptions.py +200 -0
- scm/device_settings/models/__init__.py +112 -0
- scm/device_settings/models/authentication_settings.py +133 -0
- scm/device_settings/models/authentication_settings_authentication.py +92 -0
- scm/device_settings/models/content_id_settings.py +133 -0
- scm/device_settings/models/content_id_settings_content_id.py +107 -0
- scm/device_settings/models/content_id_settings_content_id_application.py +88 -0
- scm/device_settings/models/device_redistribution_collector.py +133 -0
- scm/device_settings/models/device_redistribution_collector_redistribution_collector.py +88 -0
- scm/device_settings/models/error_detail_cause_info.py +94 -0
- scm/device_settings/models/general_settings.py +133 -0
- scm/device_settings/models/general_settings_general.py +120 -0
- scm/device_settings/models/general_settings_general_geo_location.py +90 -0
- scm/device_settings/models/general_settings_general_setting.py +98 -0
- scm/device_settings/models/general_settings_general_setting_management.py +90 -0
- scm/device_settings/models/generic_error.py +98 -0
- scm/device_settings/models/ha_configurations.py +137 -0
- scm/device_settings/models/ha_configurations_group.py +121 -0
- scm/device_settings/models/ha_configurations_group_election_option.py +105 -0
- scm/device_settings/models/ha_configurations_group_mode.py +92 -0
- scm/device_settings/models/ha_configurations_group_mode_active_passive.py +101 -0
- scm/device_settings/models/ha_configurations_group_monitoring.py +98 -0
- scm/device_settings/models/ha_configurations_group_monitoring_link_monitoring.py +110 -0
- scm/device_settings/models/ha_configurations_group_monitoring_link_monitoring_link_group_inner.py +104 -0
- scm/device_settings/models/ha_configurations_group_monitoring_path_monitoring.py +106 -0
- scm/device_settings/models/ha_configurations_group_monitoring_path_monitoring_path_group.py +96 -0
- scm/device_settings/models/ha_configurations_group_monitoring_path_monitoring_path_group_logical_router_inner.py +117 -0
- scm/device_settings/models/ha_configurations_group_monitoring_path_monitoring_path_group_logical_router_inner_destination_ip_group_inner.py +104 -0
- scm/device_settings/models/ha_configurations_group_state_synchronization.py +106 -0
- scm/device_settings/models/ha_configurations_group_state_synchronization_ha2_keep_alive.py +103 -0
- scm/device_settings/models/ha_configurations_interface.py +110 -0
- scm/device_settings/models/ha_configurations_interface_ha1.py +97 -0
- scm/device_settings/models/ha_configurations_interface_ha1_backup.py +94 -0
- scm/device_settings/models/ha_configurations_interface_ha2.py +94 -0
- scm/device_settings/models/ha_configurations_interface_ha2_backup.py +94 -0
- scm/device_settings/models/ha_devices.py +133 -0
- scm/device_settings/models/ha_devices_ha_devices_inner.py +94 -0
- scm/device_settings/models/list_ha_devices200_response.py +96 -0
- scm/device_settings/models/management_interface.py +133 -0
- scm/device_settings/models/management_interface_management_interface.py +128 -0
- scm/device_settings/models/management_interface_management_interface_mgmt_type.py +94 -0
- scm/device_settings/models/management_interface_management_interface_mgmt_type_dhcp_client.py +94 -0
- scm/device_settings/models/management_interface_management_interface_permitted_ip_inner.py +90 -0
- scm/device_settings/models/management_interface_management_interface_service.py +106 -0
- scm/device_settings/models/motd_banner_settings.py +133 -0
- scm/device_settings/models/motd_banner_settings_motd_and_banner.py +123 -0
- scm/device_settings/models/motd_color.py +53 -0
- scm/device_settings/models/service_route.py +133 -0
- scm/device_settings/models/service_route_route.py +106 -0
- scm/device_settings/models/service_route_route_destination_inner.py +94 -0
- scm/device_settings/models/service_route_route_destination_inner_source.py +90 -0
- scm/device_settings/models/service_route_route_service_inner.py +110 -0
- scm/device_settings/models/service_route_route_service_inner_source.py +90 -0
- scm/device_settings/models/service_route_route_service_inner_source_v6.py +90 -0
- scm/device_settings/models/service_settings.py +133 -0
- scm/device_settings/models/service_settings_services.py +118 -0
- scm/device_settings/models/service_settings_services_dns_setting.py +94 -0
- scm/device_settings/models/service_settings_services_dns_setting_servers.py +90 -0
- scm/device_settings/models/service_settings_services_ntp_servers.py +97 -0
- scm/device_settings/models/service_settings_services_ntp_servers_primary_ntp_server.py +94 -0
- scm/device_settings/models/service_settings_services_ntp_servers_primary_ntp_server_authentication_type.py +96 -0
- scm/device_settings/models/service_settings_services_ntp_servers_primary_ntp_server_authentication_type_symmetric_key.py +94 -0
- scm/device_settings/models/service_settings_services_ntp_servers_primary_ntp_server_authentication_type_symmetric_key_algorithm.py +97 -0
- scm/device_settings/models/service_settings_services_ntp_servers_primary_ntp_server_authentication_type_symmetric_key_algorithm_md5.py +88 -0
- scm/device_settings/models/session_settings.py +133 -0
- scm/device_settings/models/session_settings_session_settings.py +159 -0
- scm/device_settings/models/session_settings_session_settings_config.py +88 -0
- scm/device_settings/models/session_settings_session_settings_icmpv6_rate_limit.py +91 -0
- scm/device_settings/models/session_settings_session_settings_jumbo_frame.py +89 -0
- scm/device_settings/models/session_settings_session_settings_nat.py +98 -0
- scm/device_settings/models/session_settings_session_settings_nat64.py +89 -0
- scm/device_settings/models/session_timeouts.py +133 -0
- scm/device_settings/models/session_timeouts_session_timeouts.py +115 -0
- scm/device_settings/models/tcp_settings.py +133 -0
- scm/device_settings/models/tcp_settings_tcp.py +134 -0
- scm/device_settings/models/update_schedule.py +133 -0
- scm/device_settings/models/update_schedule_update_schedule.py +104 -0
- scm/device_settings/models/update_schedule_update_schedule_anti_virus.py +92 -0
- scm/device_settings/models/update_schedule_update_schedule_anti_virus_recurring.py +111 -0
- scm/device_settings/models/update_schedule_update_schedule_anti_virus_recurring_daily.py +108 -0
- scm/device_settings/models/update_schedule_update_schedule_anti_virus_recurring_hourly.py +101 -0
- scm/device_settings/models/update_schedule_update_schedule_anti_virus_recurring_weekly.py +123 -0
- scm/device_settings/models/update_schedule_update_schedule_threats.py +92 -0
- scm/device_settings/models/update_schedule_update_schedule_threats_recurring.py +119 -0
- scm/device_settings/models/update_schedule_update_schedule_threats_recurring_daily.py +110 -0
- scm/device_settings/models/update_schedule_update_schedule_threats_recurring_every30_mins.py +103 -0
- scm/device_settings/models/update_schedule_update_schedule_threats_recurring_hourly.py +103 -0
- scm/device_settings/models/update_schedule_update_schedule_threats_recurring_weekly.py +119 -0
- scm/device_settings/models/update_schedule_update_schedule_wildfire.py +92 -0
- scm/device_settings/models/update_schedule_update_schedule_wildfire_recurring.py +114 -0
- scm/device_settings/models/update_schedule_update_schedule_wildfire_recurring_every15_mins.py +103 -0
- scm/device_settings/models/update_schedule_update_schedule_wildfire_recurring_every30_mins.py +103 -0
- scm/device_settings/models/update_schedule_update_schedule_wildfire_recurring_every_hour.py +103 -0
- scm/device_settings/models/update_schedule_update_schedule_wildfire_recurring_every_min.py +100 -0
- scm/device_settings/models/vpn_settings.py +133 -0
- scm/device_settings/models/vpn_settings_vpn.py +92 -0
- scm/device_settings/models/vpn_settings_vpn_ikev2.py +93 -0
- scm/device_settings/rest.py +264 -0
- scm/device_settings/tests/__init__.py +0 -0
- scm/device_settings/tests/api_authentication_settings_test.py +56 -0
- scm/device_settings/tests/api_content_id_settings_test.py +56 -0
- scm/device_settings/tests/api_device_redistribution_collector_settings_test.py +56 -0
- scm/device_settings/tests/api_general_settings_test.py +56 -0
- scm/device_settings/tests/api_high_availability_devices_test.py +35 -0
- scm/device_settings/tests/api_login_banner_settings_test.py +56 -0
- scm/device_settings/tests/api_management_interface_settings_test.py +56 -0
- scm/device_settings/tests/api_service_route_settings_test.py +56 -0
- scm/device_settings/tests/api_service_settings_test.py +56 -0
- scm/device_settings/tests/api_session_settings_test.py +56 -0
- scm/device_settings/tests/api_session_timeouts_settings_test.py +56 -0
- scm/device_settings/tests/api_tcp_settings_test.py +56 -0
- scm/device_settings/tests/api_update_schedule_settings_test.py +56 -0
- scm/device_settings/tests/api_vpn_settings_test.py +56 -0
- scm/error_parser.py +457 -0
- scm/exceptions.py +659 -0
- scm/identity_services/__init__.py +125 -0
- scm/identity_services/api/__init__.py +22 -0
- scm/identity_services/api/authentication_portals_api.py +1619 -0
- scm/identity_services/api/authentication_profiles_api.py +1619 -0
- scm/identity_services/api/authentication_rules_api.py +1958 -0
- scm/identity_services/api/authentication_sequences_api.py +1619 -0
- scm/identity_services/api/certificate_profiles_api.py +1619 -0
- scm/identity_services/api/certificates_api.py +1633 -0
- scm/identity_services/api/kerberos_server_profiles_api.py +1619 -0
- scm/identity_services/api/ldap_server_profiles_api.py +1619 -0
- scm/identity_services/api/local_user_groups_api.py +1619 -0
- scm/identity_services/api/local_users_api.py +1619 -0
- scm/identity_services/api/mfa_servers_api.py +1636 -0
- scm/identity_services/api/ocsp_responders_api.py +1619 -0
- scm/identity_services/api/radius_server_profiles_api.py +1619 -0
- scm/identity_services/api/saml_server_profiles_api.py +1619 -0
- scm/identity_services/api/scep_profiles_api.py +1619 -0
- scm/identity_services/api/tacacs_server_profiles_api.py +1619 -0
- scm/identity_services/api/tls_service_profiles_api.py +1619 -0
- scm/identity_services/api/trusted_certificate_authorities_api.py +467 -0
- scm/identity_services/api_client.py +798 -0
- scm/identity_services/api_response.py +21 -0
- scm/identity_services/configuration.py +471 -0
- scm/identity_services/exceptions.py +200 -0
- scm/identity_services/models/__init__.py +91 -0
- scm/identity_services/models/authentication_portals.py +141 -0
- scm/identity_services/models/authentication_portals_list_response.py +113 -0
- scm/identity_services/models/authentication_profiles.py +169 -0
- scm/identity_services/models/authentication_profiles_list_response.py +113 -0
- scm/identity_services/models/authentication_profiles_lockout.py +91 -0
- scm/identity_services/models/authentication_profiles_method.py +124 -0
- scm/identity_services/models/authentication_profiles_method_cloud.py +88 -0
- scm/identity_services/models/authentication_profiles_method_kerberos.py +90 -0
- scm/identity_services/models/authentication_profiles_method_ldap.py +92 -0
- scm/identity_services/models/authentication_profiles_method_radius.py +90 -0
- scm/identity_services/models/authentication_profiles_method_saml_idp.py +99 -0
- scm/identity_services/models/authentication_profiles_method_tacplus.py +90 -0
- scm/identity_services/models/authentication_profiles_multi_factor_auth.py +90 -0
- scm/identity_services/models/authentication_profiles_single_sign_on.py +91 -0
- scm/identity_services/models/authentication_rules.py +139 -0
- scm/identity_services/models/authentication_rules_list_response.py +113 -0
- scm/identity_services/models/authentication_sequences.py +133 -0
- scm/identity_services/models/authentication_sequences_list_response.py +113 -0
- scm/identity_services/models/certificate_profiles.py +165 -0
- scm/identity_services/models/certificate_profiles_ca_certificates_inner.py +94 -0
- scm/identity_services/models/certificate_profiles_list_response.py +113 -0
- scm/identity_services/models/certificate_profiles_username_field.py +110 -0
- scm/identity_services/models/certificates_get.py +155 -0
- scm/identity_services/models/certificates_import.py +140 -0
- scm/identity_services/models/certificates_list_response.py +113 -0
- scm/identity_services/models/certificates_post.py +168 -0
- scm/identity_services/models/certificates_post_algorithm.py +110 -0
- scm/identity_services/models/error_detail_cause_info.py +99 -0
- scm/identity_services/models/export_certificate_payload.py +97 -0
- scm/identity_services/models/export_certificate_response.py +88 -0
- scm/identity_services/models/generic_error.py +98 -0
- scm/identity_services/models/kerberos_server_profiles.py +139 -0
- scm/identity_services/models/kerberos_server_profiles_list_response.py +113 -0
- scm/identity_services/models/kerberos_server_profiles_server_inner.py +93 -0
- scm/identity_services/models/ldap_server_profiles.py +167 -0
- scm/identity_services/models/ldap_server_profiles_list_response.py +113 -0
- scm/identity_services/models/ldap_server_profiles_server_inner.py +93 -0
- scm/identity_services/models/local_user_groups.py +138 -0
- scm/identity_services/models/local_user_groups_list_response.py +113 -0
- scm/identity_services/models/local_users.py +133 -0
- scm/identity_services/models/local_users_list_response.py +113 -0
- scm/identity_services/models/mfa_servers.py +137 -0
- scm/identity_services/models/mfa_servers_list_response.py +113 -0
- scm/identity_services/models/mfa_servers_mfa_vendor_type.py +110 -0
- scm/identity_services/models/mfa_servers_mfa_vendor_type_duo_security_v2.py +97 -0
- scm/identity_services/models/mfa_servers_mfa_vendor_type_okta_adaptive_v1.py +97 -0
- scm/identity_services/models/mfa_servers_mfa_vendor_type_ping_identity_v1.py +99 -0
- scm/identity_services/models/mfa_servers_mfa_vendor_type_rsa_securid_access_v1.py +99 -0
- scm/identity_services/models/ocsp_responders.py +138 -0
- scm/identity_services/models/ocsp_responders_list_response.py +113 -0
- scm/identity_services/models/radius_server_profiles.py +149 -0
- scm/identity_services/models/radius_server_profiles_list_response.py +113 -0
- scm/identity_services/models/radius_server_profiles_protocol.py +107 -0
- scm/identity_services/models/radius_server_profiles_protocol_eapttls_with_pap.py +90 -0
- scm/identity_services/models/radius_server_profiles_protocol_peapmschapv2.py +92 -0
- scm/identity_services/models/radius_server_profiles_server_inner.py +95 -0
- scm/identity_services/models/rule_based_move.py +106 -0
- scm/identity_services/models/saml_server_profiles.py +164 -0
- scm/identity_services/models/saml_server_profiles_list_response.py +113 -0
- scm/identity_services/models/scep_profiles.py +192 -0
- scm/identity_services/models/scep_profiles_algorithm.py +92 -0
- scm/identity_services/models/scep_profiles_algorithm_rsa.py +95 -0
- scm/identity_services/models/scep_profiles_certificate_attributes.py +92 -0
- scm/identity_services/models/scep_profiles_list_response.py +113 -0
- scm/identity_services/models/scep_profiles_scep_challenge.py +97 -0
- scm/identity_services/models/scep_profiles_scep_challenge_dynamic.py +93 -0
- scm/identity_services/models/tacacs_server_profiles.py +152 -0
- scm/identity_services/models/tacacs_server_profiles_list_response.py +113 -0
- scm/identity_services/models/tacacs_server_profiles_server_inner.py +95 -0
- scm/identity_services/models/tls_service_profiles.py +144 -0
- scm/identity_services/models/tls_service_profiles_list_response.py +113 -0
- scm/identity_services/models/tls_service_profiles_protocol_settings.py +130 -0
- scm/identity_services/models/trusted_certificate_authorities.py +109 -0
- scm/identity_services/models/trusted_certificate_authorities_list_response.py +113 -0
- scm/identity_services/rest.py +264 -0
- scm/identity_services/tests/__init__.py +0 -0
- scm/identity_services/tests/api_authentication_portals_test.py +253 -0
- scm/identity_services/tests/api_authentication_profiles_test.py +274 -0
- scm/identity_services/tests/api_authentication_rules_test.py +261 -0
- scm/identity_services/tests/api_authentication_sequences_test.py +255 -0
- scm/identity_services/tests/api_certificate_profiles_test.py +282 -0
- scm/identity_services/tests/api_certificates_test.py +355 -0
- scm/identity_services/tests/api_kerberos_server_profiles_test.py +266 -0
- scm/identity_services/tests/api_ldap_server_profiles_test.py +32 -0
- scm/identity_services/tests/api_local_user_groups_test.py +222 -0
- scm/identity_services/tests/api_local_users_test.py +32 -0
- scm/identity_services/tests/api_mfa_servers_test.py +40 -0
- scm/identity_services/tests/api_ocsp_responders_test.py +235 -0
- scm/identity_services/tests/api_radius_server_profiles_test.py +250 -0
- scm/identity_services/tests/api_saml_server_profiles_test.py +204 -0
- scm/identity_services/tests/api_scep_profiles_test.py +267 -0
- scm/identity_services/tests/api_tacacs_server_profiles_test.py +267 -0
- scm/identity_services/tests/api_tls_service_profiles_test.py +215 -0
- scm/identity_services/tests/api_trusted_certificate_authorities_test.py +28 -0
- scm/mobile_agent/__init__.py +70 -0
- scm/mobile_agent/api/__init__.py +9 -0
- scm/mobile_agent/api/destinations_api.py +1602 -0
- scm/mobile_agent/api/forwarding_profiles_api.py +1602 -0
- scm/mobile_agent/api/regional_and_custom_proxies_api.py +1602 -0
- scm/mobile_agent/api/source_applications_api.py +1602 -0
- scm/mobile_agent/api/user_locations_api.py +1602 -0
- scm/mobile_agent/api_client.py +798 -0
- scm/mobile_agent/api_response.py +21 -0
- scm/mobile_agent/configuration.py +471 -0
- scm/mobile_agent/exceptions.py +200 -0
- scm/mobile_agent/models/__init__.py +49 -0
- scm/mobile_agent/models/block_rule_basic.py +100 -0
- scm/mobile_agent/models/block_rule_basic_allow_tcp.py +91 -0
- scm/mobile_agent/models/block_rule_basic_allow_udp.py +95 -0
- scm/mobile_agent/models/block_rule_ztna.py +100 -0
- scm/mobile_agent/models/error_detail_cause_info.py +99 -0
- scm/mobile_agent/models/forwarding_profile_destination_fqdn_entry.py +98 -0
- scm/mobile_agent/models/forwarding_profile_destination_ip_entry.py +98 -0
- scm/mobile_agent/models/forwarding_profile_destinations.py +122 -0
- scm/mobile_agent/models/forwarding_profile_global_protect_proxy.py +92 -0
- scm/mobile_agent/models/forwarding_profile_global_protect_proxy_global_protect_proxy.py +104 -0
- scm/mobile_agent/models/forwarding_profile_pac_file.py +92 -0
- scm/mobile_agent/models/forwarding_profile_pac_file_pac_file.py +104 -0
- scm/mobile_agent/models/forwarding_profile_regional_and_custom_proxies.py +170 -0
- scm/mobile_agent/models/forwarding_profile_regional_and_custom_proxies_connectivity_preference_inner.py +97 -0
- scm/mobile_agent/models/forwarding_profile_regional_and_custom_proxies_prisma_access_locations_inner.py +98 -0
- scm/mobile_agent/models/forwarding_profile_regional_and_custom_proxies_proxy1.py +103 -0
- scm/mobile_agent/models/forwarding_profile_regional_and_custom_proxies_proxy2.py +103 -0
- scm/mobile_agent/models/forwarding_profile_source_applications.py +104 -0
- scm/mobile_agent/models/forwarding_profile_user_locations.py +113 -0
- scm/mobile_agent/models/forwarding_profile_user_locations_internal_host_detection.py +105 -0
- scm/mobile_agent/models/forwarding_profile_ztna_agent.py +92 -0
- scm/mobile_agent/models/forwarding_profile_ztna_agent_ztna_agent.py +104 -0
- scm/mobile_agent/models/forwarding_profiles.py +120 -0
- scm/mobile_agent/models/forwarding_profiles_type.py +104 -0
- scm/mobile_agent/models/forwarding_rule_basic.py +104 -0
- scm/mobile_agent/models/forwarding_rule_ztna.py +118 -0
- scm/mobile_agent/models/generic_error.py +98 -0
- scm/mobile_agent/models/global_protect_destinations_list_response.py +113 -0
- scm/mobile_agent/models/global_protect_forwarding_profiles_list_response.py +113 -0
- scm/mobile_agent/models/global_protect_regional_and_custom_proxies_list_response.py +113 -0
- scm/mobile_agent/models/global_protect_source_applications_list_response.py +113 -0
- scm/mobile_agent/models/global_protect_user_locations_list_response.py +113 -0
- scm/mobile_agent/rest.py +264 -0
- scm/mobile_agent/tests/__init__.py +0 -0
- scm/mobile_agent/tests/api_destinations_test.py +383 -0
- scm/mobile_agent/tests/api_forwarding_profiles_test.py +329 -0
- scm/mobile_agent/tests/api_regional_and_custom_proxies_test.py +527 -0
- scm/mobile_agent/tests/api_source_applications_test.py +383 -0
- scm/mobile_agent/tests/api_user_locations_test.py +514 -0
- scm/network_services/__init__.py +638 -0
- scm/network_services/api/__init__.py +54 -0
- scm/network_services/api/aggregate_interfaces_api.py +1619 -0
- scm/network_services/api/auto_vpn_clusters_api.py +1556 -0
- scm/network_services/api/auto_vpn_config_push_api.py +332 -0
- scm/network_services/api/auto_vpn_monitor_api.py +300 -0
- scm/network_services/api/auto_vpn_settings_api.py +595 -0
- scm/network_services/api/bgp_address_family_profiles_api.py +1619 -0
- scm/network_services/api/bgp_authentication_profiles_api.py +1619 -0
- scm/network_services/api/bgp_filtering_profiles_api.py +1619 -0
- scm/network_services/api/bgp_redistribution_profiles_api.py +1619 -0
- scm/network_services/api/bgp_route_map_redistributions_api.py +1619 -0
- scm/network_services/api/bgp_route_maps_api.py +1619 -0
- scm/network_services/api/config_match_list_api.py +1619 -0
- scm/network_services/api/dhcp_interfaces_api.py +1619 -0
- scm/network_services/api/dns_proxies_api.py +1619 -0
- scm/network_services/api/ethernet_interfaces_api.py +1619 -0
- scm/network_services/api/globalprotect_match_list_api.py +1619 -0
- scm/network_services/api/hipmatch_match_list_api.py +1619 -0
- scm/network_services/api/ike_crypto_profiles_api.py +1619 -0
- scm/network_services/api/ike_gateways_api.py +1619 -0
- scm/network_services/api/interface_management_profiles_api.py +1619 -0
- scm/network_services/api/ipsec_crypto_profiles_api.py +1619 -0
- scm/network_services/api/ipsec_tunnels_api.py +1619 -0
- scm/network_services/api/iptag_match_list_api.py +1619 -0
- scm/network_services/api/layer2_subinterfaces_api.py +1619 -0
- scm/network_services/api/layer3_subinterfaces_api.py +1619 -0
- scm/network_services/api/link_tags_api.py +1619 -0
- scm/network_services/api/lldp_profiles_api.py +1619 -0
- scm/network_services/api/logical_routers_api.py +1636 -0
- scm/network_services/api/loopback_interfaces_api.py +1619 -0
- scm/network_services/api/nat_rules_api.py +1670 -0
- scm/network_services/api/ospf_authentication_profiles_api.py +1619 -0
- scm/network_services/api/pbf_rules_api.py +1619 -0
- scm/network_services/api/qos_profiles_api.py +1619 -0
- scm/network_services/api/qos_rules_api.py +1958 -0
- scm/network_services/api/remote_networks_license_api.py +306 -0
- scm/network_services/api/route_access_lists_api.py +1619 -0
- scm/network_services/api/route_community_lists_api.py +1619 -0
- scm/network_services/api/route_path_access_lists_api.py +1619 -0
- scm/network_services/api/route_prefix_lists_api.py +1619 -0
- scm/network_services/api/sdwan_error_correction_profiles_api.py +1619 -0
- scm/network_services/api/sdwan_path_quality_profiles_api.py +1619 -0
- scm/network_services/api/sdwan_rules_api.py +1619 -0
- scm/network_services/api/sdwan_saas_quality_profiles_api.py +1619 -0
- scm/network_services/api/sdwan_traffic_distribution_profiles_api.py +1619 -0
- scm/network_services/api/security_zones_api.py +1619 -0
- scm/network_services/api/system_match_list_api.py +1619 -0
- scm/network_services/api/tunnel_interfaces_api.py +1619 -0
- scm/network_services/api/userid_match_list_api.py +1619 -0
- scm/network_services/api/vlan_interfaces_api.py +1619 -0
- scm/network_services/api/zone_protection_profiles_api.py +1619 -0
- scm/network_services/api_client.py +798 -0
- scm/network_services/api_response.py +21 -0
- scm/network_services/configuration.py +471 -0
- scm/network_services/exceptions.py +200 -0
- scm/network_services/models/__init__.py +572 -0
- scm/network_services/models/agg_ethernet_arp_inner.py +90 -0
- scm/network_services/models/agg_ethernet_dhcp_client.py +92 -0
- scm/network_services/models/agg_ethernet_dhcp_client_dhcp_client.py +99 -0
- scm/network_services/models/agg_ethernet_dhcp_client_dhcp_client_send_hostname.py +101 -0
- scm/network_services/models/aggregate_interfaces.py +145 -0
- scm/network_services/models/aggregate_interfaces_layer2.py +107 -0
- scm/network_services/models/aggregate_interfaces_layer3.py +131 -0
- scm/network_services/models/aggregate_interfaces_layer3_ddns_config.py +108 -0
- scm/network_services/models/aggregate_interfaces_layer3_ip_inner.py +88 -0
- scm/network_services/models/aggregate_interfaces_list_response.py +113 -0
- scm/network_services/models/auto_vpn_clusters.py +130 -0
- scm/network_services/models/auto_vpn_clusters_branches_inner.py +115 -0
- scm/network_services/models/auto_vpn_clusters_branches_inner_interfaces_inner.py +96 -0
- scm/network_services/models/auto_vpn_clusters_branches_inner_interfaces_inner_sdwan_link_settings.py +96 -0
- scm/network_services/models/auto_vpn_clusters_branches_inner_interfaces_inner_sdwan_link_settings_upstream_nat.py +94 -0
- scm/network_services/models/auto_vpn_clusters_branches_inner_interfaces_inner_sdwan_link_settings_upstream_nat_static_ip.py +90 -0
- scm/network_services/models/auto_vpn_clusters_branches_inner_private_interfaces_inner.py +94 -0
- scm/network_services/models/auto_vpn_clusters_gateways_inner.py +128 -0
- scm/network_services/models/auto_vpn_clusters_gateways_inner_interfaces_inner.py +96 -0
- scm/network_services/models/auto_vpn_clusters_gateways_inner_interfaces_inner_sdwan_link_settings.py +96 -0
- scm/network_services/models/auto_vpn_clusters_gateways_inner_interfaces_inner_sdwan_link_settings_upstream_nat.py +94 -0
- scm/network_services/models/auto_vpn_clusters_gateways_inner_private_interfaces_inner.py +94 -0
- scm/network_services/models/auto_vpn_clusters_list_response.py +113 -0
- scm/network_services/models/auto_vpn_monitor.py +118 -0
- scm/network_services/models/auto_vpn_push_config.py +96 -0
- scm/network_services/models/auto_vpn_push_config_auto_vpn_devices_inner.py +90 -0
- scm/network_services/models/auto_vpn_push_response.py +92 -0
- scm/network_services/models/auto_vpn_settings.py +96 -0
- scm/network_services/models/auto_vpn_settings_as_range.py +91 -0
- scm/network_services/models/bgp_address_family.py +140 -0
- scm/network_services/models/bgp_address_family_add_path.py +90 -0
- scm/network_services/models/bgp_address_family_allowas_in.py +91 -0
- scm/network_services/models/bgp_address_family_maximum_prefix.py +97 -0
- scm/network_services/models/bgp_address_family_maximum_prefix_action.py +94 -0
- scm/network_services/models/bgp_address_family_maximum_prefix_action_restart.py +89 -0
- scm/network_services/models/bgp_address_family_next_hop.py +90 -0
- scm/network_services/models/bgp_address_family_orf.py +98 -0
- scm/network_services/models/bgp_address_family_profiles.py +135 -0
- scm/network_services/models/bgp_address_family_profiles_ipv4.py +97 -0
- scm/network_services/models/bgp_address_family_profiles_list_response.py +113 -0
- scm/network_services/models/bgp_address_family_remove_private_as.py +90 -0
- scm/network_services/models/bgp_address_family_send_community.py +96 -0
- scm/network_services/models/bgp_auth_profiles.py +131 -0
- scm/network_services/models/bgp_authentication_profiles_list_response.py +113 -0
- scm/network_services/models/bgp_filter.py +116 -0
- scm/network_services/models/bgp_filter_conditional_advertisement.py +98 -0
- scm/network_services/models/bgp_filter_conditional_advertisement_exist.py +90 -0
- scm/network_services/models/bgp_filter_conditional_advertisement_non_exist.py +90 -0
- scm/network_services/models/bgp_filter_filter_list.py +90 -0
- scm/network_services/models/bgp_filter_inbound_network_filters.py +90 -0
- scm/network_services/models/bgp_filtering_profiles.py +137 -0
- scm/network_services/models/bgp_filtering_profiles_ipv4.py +98 -0
- scm/network_services/models/bgp_filtering_profiles_ipv4_multicast.py +118 -0
- scm/network_services/models/bgp_filtering_profiles_list_response.py +113 -0
- scm/network_services/models/bgp_redistribution_profiles.py +135 -0
- scm/network_services/models/bgp_redistribution_profiles_ipv4.py +92 -0
- scm/network_services/models/bgp_redistribution_profiles_ipv4_unicast.py +104 -0
- scm/network_services/models/bgp_redistribution_profiles_ipv4_unicast_connected.py +93 -0
- scm/network_services/models/bgp_redistribution_profiles_ipv4_unicast_ospf.py +93 -0
- scm/network_services/models/bgp_redistribution_profiles_ipv4_unicast_static.py +93 -0
- scm/network_services/models/bgp_redistribution_profiles_list_response.py +113 -0
- scm/network_services/models/bgp_route_map_redistributions.py +149 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp.py +98 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf.py +96 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner_match.py +123 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner_match_ipv4.py +104 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner_match_ipv4_address.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner_match_ipv4_next_hop.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner_match_ipv4_route_source.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner_set.py +107 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_ospf_route_map_inner_set_metric.py +101 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib.py +96 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib_route_map_inner_match.py +123 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib_route_map_inner_match_ipv4.py +104 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib_route_map_inner_match_ipv4_address.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib_route_map_inner_match_ipv4_next_hop.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib_route_map_inner_match_ipv4_route_source.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_bgp_rib_route_map_inner_set.py +88 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static.py +104 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp.py +96 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_match.py +97 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_match_ipv4.py +98 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_match_ipv4_address.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_match_ipv4_next_hop.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_set.py +133 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_set_aggregator.py +91 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_set_ipv4.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_bgp_route_map_inner_set_metric.py +101 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf.py +96 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf_route_map_inner_match.py +97 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf_route_map_inner_match_ipv4.py +98 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf_route_map_inner_match_ipv4_address.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf_route_map_inner_match_ipv4_next_hop.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf_route_map_inner_set.py +107 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_ospf_route_map_inner_set_metric.py +101 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_rib.py +96 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_rib_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_rib_route_map_inner_match.py +97 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_rib_route_map_inner_match_ipv4.py +98 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_rib_route_map_inner_match_ipv4_address.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_rib_route_map_inner_match_ipv4_next_hop.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_connected_static_rib_route_map_inner_set.py +88 -0
- scm/network_services/models/bgp_route_map_redistributions_list_response.py +113 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf.py +98 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp.py +96 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner_match.py +105 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner_match_address.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner_match_next_hop.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner_set.py +133 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner_set_aggregator.py +91 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner_set_ipv4.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_bgp_route_map_inner_set_metric.py +101 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_rib.py +96 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_rib_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_rib_route_map_inner_match.py +105 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_rib_route_map_inner_match_address.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_rib_route_map_inner_match_next_hop.py +90 -0
- scm/network_services/models/bgp_route_map_redistributions_ospf_rib_route_map_inner_set.py +88 -0
- scm/network_services/models/bgp_route_maps.py +141 -0
- scm/network_services/models/bgp_route_maps_list_response.py +113 -0
- scm/network_services/models/bgp_route_maps_route_map_inner.py +115 -0
- scm/network_services/models/bgp_route_maps_route_map_inner_match.py +123 -0
- scm/network_services/models/bgp_route_maps_route_map_inner_match_ipv4.py +102 -0
- scm/network_services/models/bgp_route_maps_route_map_inner_match_ipv4_address.py +90 -0
- scm/network_services/models/bgp_route_maps_route_map_inner_set.py +154 -0
- scm/network_services/models/bgp_route_maps_route_map_inner_set_aggregator.py +91 -0
- scm/network_services/models/bgp_route_maps_route_map_inner_set_ipv4.py +90 -0
- scm/network_services/models/bgp_route_maps_route_map_inner_set_metric.py +101 -0
- scm/network_services/models/config_match_list.py +143 -0
- scm/network_services/models/config_match_list_list_response.py +113 -0
- scm/network_services/models/ddns_config.py +108 -0
- scm/network_services/models/dhcp_interfaces.py +141 -0
- scm/network_services/models/dhcp_interfaces_list_response.py +113 -0
- scm/network_services/models/dhcp_interfaces_relay.py +92 -0
- scm/network_services/models/dhcp_interfaces_relay_ip.py +90 -0
- scm/network_services/models/dhcp_interfaces_server.py +118 -0
- scm/network_services/models/dhcp_interfaces_server_option.py +142 -0
- scm/network_services/models/dhcp_interfaces_server_option_dns.py +90 -0
- scm/network_services/models/dhcp_interfaces_server_option_inheritance.py +88 -0
- scm/network_services/models/dhcp_interfaces_server_option_lease.py +91 -0
- scm/network_services/models/dhcp_interfaces_server_option_nis.py +90 -0
- scm/network_services/models/dhcp_interfaces_server_option_ntp.py +90 -0
- scm/network_services/models/dhcp_interfaces_server_option_user_defined_inner.py +99 -0
- scm/network_services/models/dhcp_interfaces_server_option_wins.py +90 -0
- scm/network_services/models/dhcp_interfaces_server_reserved_inner.py +92 -0
- scm/network_services/models/dns_proxies.py +177 -0
- scm/network_services/models/dns_proxies_cache.py +96 -0
- scm/network_services/models/dns_proxies_cache_max_ttl.py +91 -0
- scm/network_services/models/dns_proxies_default.py +96 -0
- scm/network_services/models/dns_proxies_default_inheritance.py +88 -0
- scm/network_services/models/dns_proxies_domain_servers_inner.py +97 -0
- scm/network_services/models/dns_proxies_list_response.py +113 -0
- scm/network_services/models/dns_proxies_static_entries_inner.py +93 -0
- scm/network_services/models/dns_proxies_tcp_queries.py +91 -0
- scm/network_services/models/dns_proxies_udp_queries.py +92 -0
- scm/network_services/models/dns_proxies_udp_queries_retries.py +91 -0
- scm/network_services/models/error_detail_cause_info.py +99 -0
- scm/network_services/models/ethernet_interfaces.py +195 -0
- scm/network_services/models/ethernet_interfaces_arp_inner.py +90 -0
- scm/network_services/models/ethernet_interfaces_dhcp_client.py +92 -0
- scm/network_services/models/ethernet_interfaces_layer2.py +107 -0
- scm/network_services/models/ethernet_interfaces_layer2_lldp.py +88 -0
- scm/network_services/models/ethernet_interfaces_layer3.py +131 -0
- scm/network_services/models/ethernet_interfaces_layer3_ddns_config.py +108 -0
- scm/network_services/models/ethernet_interfaces_layer3_dhcp_client.py +99 -0
- scm/network_services/models/ethernet_interfaces_layer3_dhcp_client_send_hostname.py +101 -0
- scm/network_services/models/ethernet_interfaces_layer3_ip_inner.py +88 -0
- scm/network_services/models/ethernet_interfaces_layer3_pppoe.py +123 -0
- scm/network_services/models/ethernet_interfaces_layer3_pppoe_passive.py +88 -0
- scm/network_services/models/ethernet_interfaces_layer3_pppoe_static_address.py +89 -0
- scm/network_services/models/ethernet_interfaces_list_response.py +113 -0
- scm/network_services/models/ethernet_interfaces_tap.py +88 -0
- scm/network_services/models/generic_error.py +98 -0
- scm/network_services/models/get_auto_vpn_monitor200_response.py +93 -0
- scm/network_services/models/get_remote_networks_license_info500_response.py +88 -0
- scm/network_services/models/globalprotect_match_list.py +145 -0
- scm/network_services/models/globalprotect_match_list_list_response.py +113 -0
- scm/network_services/models/hipmatch_match_list.py +145 -0
- scm/network_services/models/hipmatch_match_list_list_response.py +113 -0
- scm/network_services/models/ike_crypto_profiles.py +167 -0
- scm/network_services/models/ike_crypto_profiles_lifetime.py +95 -0
- scm/network_services/models/ike_crypto_profiles_list_response.py +113 -0
- scm/network_services/models/ike_gateways.py +171 -0
- scm/network_services/models/ike_gateways_authentication.py +98 -0
- scm/network_services/models/ike_gateways_authentication_certificate.py +100 -0
- scm/network_services/models/ike_gateways_authentication_certificate_local_certificate.py +88 -0
- scm/network_services/models/ike_gateways_authentication_pre_shared_key.py +88 -0
- scm/network_services/models/ike_gateways_list_response.py +113 -0
- scm/network_services/models/ike_gateways_local_address.py +90 -0
- scm/network_services/models/ike_gateways_local_id.py +101 -0
- scm/network_services/models/ike_gateways_peer_address.py +93 -0
- scm/network_services/models/ike_gateways_peer_id.py +111 -0
- scm/network_services/models/ike_gateways_protocol.py +109 -0
- scm/network_services/models/ike_gateways_protocol_common.py +100 -0
- scm/network_services/models/ike_gateways_protocol_common_fragmentation.py +88 -0
- scm/network_services/models/ike_gateways_protocol_common_nat_traversal.py +88 -0
- scm/network_services/models/ike_gateways_protocol_ikev1.py +94 -0
- scm/network_services/models/ike_gateways_protocol_ikev1_dpd.py +88 -0
- scm/network_services/models/interface_management_profiles.py +159 -0
- scm/network_services/models/interface_management_profiles_list_response.py +113 -0
- scm/network_services/models/interface_management_profiles_permitted_ip_inner.py +88 -0
- scm/network_services/models/ipsec_crypto_profiles.py +165 -0
- scm/network_services/models/ipsec_crypto_profiles_ah.py +96 -0
- scm/network_services/models/ipsec_crypto_profiles_esp.py +98 -0
- scm/network_services/models/ipsec_crypto_profiles_lifesize.py +95 -0
- scm/network_services/models/ipsec_crypto_profiles_lifetime.py +95 -0
- scm/network_services/models/ipsec_crypto_profiles_list_response.py +113 -0
- scm/network_services/models/ipsec_tunnels.py +149 -0
- scm/network_services/models/ipsec_tunnels_auto_key.py +118 -0
- scm/network_services/models/ipsec_tunnels_auto_key_ike_gateway_inner.py +88 -0
- scm/network_services/models/ipsec_tunnels_auto_key_proxy_id_inner.py +98 -0
- scm/network_services/models/ipsec_tunnels_auto_key_proxy_id_inner_protocol.py +101 -0
- scm/network_services/models/ipsec_tunnels_auto_key_proxy_id_inner_protocol_tcp.py +91 -0
- scm/network_services/models/ipsec_tunnels_auto_key_proxy_id_inner_protocol_udp.py +91 -0
- scm/network_services/models/ipsec_tunnels_auto_key_proxy_id_v6_inner.py +98 -0
- scm/network_services/models/ipsec_tunnels_auto_key_proxy_id_v6_inner_protocol.py +101 -0
- scm/network_services/models/ipsec_tunnels_auto_key_proxy_id_v6_inner_protocol_tcp.py +91 -0
- scm/network_services/models/ipsec_tunnels_list_response.py +113 -0
- scm/network_services/models/ipsec_tunnels_tunnel_monitor.py +92 -0
- scm/network_services/models/iptag_match_list.py +145 -0
- scm/network_services/models/iptag_match_list_list_response.py +113 -0
- scm/network_services/models/lacp.py +125 -0
- scm/network_services/models/lacp_high_availability.py +88 -0
- scm/network_services/models/layer2_subinterfaces.py +142 -0
- scm/network_services/models/layer2_subinterfaces_list_response.py +113 -0
- scm/network_services/models/layer3_sub_interfaces_dhcp_client.py +92 -0
- scm/network_services/models/layer3_sub_interfaces_dhcp_client_dhcp_client.py +99 -0
- scm/network_services/models/layer3_sub_interfaces_dhcp_client_dhcp_client_send_hostname.py +101 -0
- scm/network_services/models/layer3_subinterfaces.py +173 -0
- scm/network_services/models/layer3_subinterfaces_arp_inner.py +90 -0
- scm/network_services/models/layer3_subinterfaces_ddns_config.py +108 -0
- scm/network_services/models/layer3_subinterfaces_ip_inner.py +88 -0
- scm/network_services/models/layer3_subinterfaces_list_response.py +113 -0
- scm/network_services/models/license_info.py +90 -0
- scm/network_services/models/license_result.py +109 -0
- scm/network_services/models/link_tags.py +143 -0
- scm/network_services/models/link_tags_list_response.py +113 -0
- scm/network_services/models/lldp_profiles.py +139 -0
- scm/network_services/models/lldp_profiles_list_response.py +113 -0
- scm/network_services/models/lldp_profiles_option_tlvs.py +100 -0
- scm/network_services/models/lldp_profiles_option_tlvs_management_address.py +98 -0
- scm/network_services/models/lldp_profiles_option_tlvs_management_address_iplist_inner.py +94 -0
- scm/network_services/models/logical_routers.py +151 -0
- scm/network_services/models/logical_routers_list_response.py +113 -0
- scm/network_services/models/logical_routers_vrf_inner.py +156 -0
- scm/network_services/models/logical_routers_vrf_inner_admin_dists.py +110 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp.py +186 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_advertise_network.py +98 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_advertise_network_ipv4.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_advertise_network_ipv4_network_inner.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_advertise_network_ipv6.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_advertise_network_ipv6_network_inner.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_aggregate.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_aggregate_routes_inner.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_aggregate_routes_inner_type.py +97 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_aggregate_routes_inner_type_ipv4.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_global_bfd.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_graceful_restart.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_med.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner.py +127 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_address_family.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_connection_options.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner.py +138 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_bfd.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_bfd_multihop.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_connection_options.py +118 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_connection_options_incoming_bgp_connection.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_connection_options_outgoing_bgp_connection.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_inherit.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_inherit_no.py +97 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_local_address.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_peer_address.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_peer_inner_subsequent_address_family_identifier.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_type.py +108 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_type_ebgp.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_peer_group_inner_type_ebgp_confed.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy.py +110 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner.py +121 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner_advertise_filters_inner.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner_advertise_filters_inner_match.py +154 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner_advertise_filters_inner_match_address_prefix_inner.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner_advertise_filters_inner_match_as_path.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner_aggregate_route_attributes.py +125 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner_aggregate_route_attributes_as_path.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_aggregation_address_inner_aggregate_route_attributes_community.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_conditional_advertisement.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_conditional_advertisement_policy_inner.py +111 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_export.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_export_rules_inner.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_export_rules_inner_action.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_export_rules_inner_action_allow.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_export_rules_inner_action_allow_update.py +123 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_export_rules_inner_match.py +154 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_export_rules_inner_match_address_prefix_inner.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_import.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_import_rules_inner.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_import_rules_inner_action.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_policy_import_rules_inner_action_allow.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_redist_rules_inner.py +138 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_redistribution_profile.py +97 -0
- scm/network_services/models/logical_routers_vrf_inner_bgp_redistribution_profile_ipv4.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_ecmp.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_ecmp_algorithm.py +102 -0
- scm/network_services/models/logical_routers_vrf_inner_ecmp_algorithm_ip_hash.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_ecmp_algorithm_weighted_round_robin.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_ecmp_algorithm_weighted_round_robin_interface_inner.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast.py +168 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_igmp.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_igmp_dynamic.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_igmp_dynamic_interface_inner.py +122 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_igmp_static_inner.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_interface_group_inner.py +110 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_interface_group_inner_group_permission.py +106 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_interface_group_inner_group_permission_any_source_multicast_inner.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_interface_group_inner_group_permission_source_specific_multicast_inner.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_interface_group_inner_igmp.py +138 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_interface_group_inner_pim.py +108 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_interface_group_inner_pim_allowed_neighbors_inner.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_msdp.py +108 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_msdp_peer_inner.py +112 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim.py +138 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_interface_inner.py +98 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_rp.py +102 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_rp_external_rp_inner.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_rp_local_rp.py +98 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_rp_local_rp_candidate_rp.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_rp_local_rp_static_rp.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_spt_threshold_inner.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_pim_ssm_address_space.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_rp.py +102 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_rp_external_rp_inner.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_rp_local_rp.py +98 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_rp_local_rp_candidate_rp.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_rp_local_rp_static_rp.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_static_route_inner.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_multicast_static_route_inner_nexthop.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf.py +156 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner.py +136 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_interface_inner.py +120 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_interface_inner_link_type.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_interface_inner_link_type_p2mp.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_interface_inner_link_type_p2mp_neighbor_inner.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_interface_inner_vr_timing.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_range_inner.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_normal.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_normal_abr.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_nssa.py +118 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_nssa_abr.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_nssa_abr_nssa_ext_range_inner.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_nssa_default_information_originate.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_nssa_default_route.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_nssa_default_route_advertise.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_nssa_nssa_ext_range_inner.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_stub.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_stub_default_route.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_type_stub_default_route_advertise.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_virtual_link_inner.py +116 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_area_inner_virtual_link_inner_vr_timing.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_auth_profile_inner.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_auth_profile_inner_md5_inner.py +92 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_export_rules_inner.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_flood_prevention.py +97 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_flood_prevention_hello.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_graceful_restart.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_ospf_vr_timers.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3.py +150 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_area_inner.py +136 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_area_inner_interface_inner.py +132 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_area_inner_range_inner.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_area_inner_type.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_area_inner_type_nssa.py +118 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_area_inner_type_nssa_abr.py +104 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_area_inner_type_nssa_abr_nssa_ext_range_inner.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_auth_profile_inner.py +102 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_auth_profile_inner_ah.py +112 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_auth_profile_inner_ah_md5.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_auth_profile_inner_esp.py +98 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_auth_profile_inner_esp_authentication.py +114 -0
- scm/network_services/models/logical_routers_vrf_inner_ospfv3_auth_profile_inner_esp_encryption.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_rib_filter.py +98 -0
- scm/network_services/models/logical_routers_vrf_inner_rib_filter_ipv4.py +107 -0
- scm/network_services/models/logical_routers_vrf_inner_rib_filter_ipv4_bgp.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_rib_filter_ipv6.py +102 -0
- scm/network_services/models/logical_routers_vrf_inner_rip.py +123 -0
- scm/network_services/models/logical_routers_vrf_inner_rip_global_inbound_distribute_list.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_rip_interface_inner.py +133 -0
- scm/network_services/models/logical_routers_vrf_inner_rip_interface_inner_interface_inbound_distribute_list.py +90 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table.py +98 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ip.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ip_static_route_inner.py +120 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ip_static_route_inner_nexthop.py +102 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ip_static_route_inner_path_monitor.py +112 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ip_static_route_inner_path_monitor_monitor_destinations_inner.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ip_static_route_inner_route_table.py +94 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ipv6.py +96 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ipv6_static_route_inner.py +126 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ipv6_static_route_inner_nexthop.py +100 -0
- scm/network_services/models/logical_routers_vrf_inner_routing_table_ipv6_static_route_inner_option.py +88 -0
- scm/network_services/models/logical_routers_vrf_inner_vr_admin_dists.py +104 -0
- scm/network_services/models/loopback_interfaces.py +172 -0
- scm/network_services/models/loopback_interfaces_ip_inner.py +88 -0
- scm/network_services/models/loopback_interfaces_ipv6.py +100 -0
- scm/network_services/models/loopback_interfaces_ipv6_address_inner.py +94 -0
- scm/network_services/models/loopback_interfaces_list_response.py +113 -0
- scm/network_services/models/nat_rules.py +189 -0
- scm/network_services/models/nat_rules_destination_translation.py +97 -0
- scm/network_services/models/nat_rules_destination_translation_dns_rewrite.py +98 -0
- scm/network_services/models/nat_rules_dynamic_destination_translation.py +103 -0
- scm/network_services/models/nat_rules_list_response.py +113 -0
- scm/network_services/models/nat_rules_source_translation.py +104 -0
- scm/network_services/models/nat_rules_source_translation_dynamic_ip.py +94 -0
- scm/network_services/models/nat_rules_source_translation_dynamic_ip_and_port.py +94 -0
- scm/network_services/models/nat_rules_source_translation_dynamic_ip_and_port_interface_address.py +92 -0
- scm/network_services/models/nat_rules_source_translation_dynamic_ip_fallback.py +94 -0
- scm/network_services/models/nat_rules_source_translation_dynamic_ip_fallback_interface_address.py +92 -0
- scm/network_services/models/nat_rules_source_translation_static_ip.py +90 -0
- scm/network_services/models/ospf_auth_profiles.py +141 -0
- scm/network_services/models/ospf_auth_profiles_md5_inner.py +93 -0
- scm/network_services/models/ospf_authentication_profiles_list_response.py +113 -0
- scm/network_services/models/pbf_rules.py +163 -0
- scm/network_services/models/pbf_rules_action.py +96 -0
- scm/network_services/models/pbf_rules_action_forward.py +100 -0
- scm/network_services/models/pbf_rules_action_forward_monitor.py +92 -0
- scm/network_services/models/pbf_rules_action_forward_nexthop.py +90 -0
- scm/network_services/models/pbf_rules_enforce_symmetric_return.py +98 -0
- scm/network_services/models/pbf_rules_enforce_symmetric_return_nexthop_address_list_inner.py +88 -0
- scm/network_services/models/pbf_rules_from.py +90 -0
- scm/network_services/models/pbf_rules_list_response.py +113 -0
- scm/network_services/models/poe.py +91 -0
- scm/network_services/models/qos_policy_rules.py +145 -0
- scm/network_services/models/qos_policy_rules_action.py +88 -0
- scm/network_services/models/qos_policy_rules_dscp_tos.py +96 -0
- scm/network_services/models/qos_policy_rules_dscp_tos_codepoints_inner.py +94 -0
- scm/network_services/models/qos_policy_rules_dscp_tos_codepoints_inner_type.py +110 -0
- scm/network_services/models/qos_policy_rules_dscp_tos_codepoints_inner_type_af.py +88 -0
- scm/network_services/models/qos_policy_rules_dscp_tos_codepoints_inner_type_custom.py +92 -0
- scm/network_services/models/qos_policy_rules_dscp_tos_codepoints_inner_type_custom_codepoint.py +90 -0
- scm/network_services/models/qos_policy_rules_list_response.py +113 -0
- scm/network_services/models/qos_profiles.py +141 -0
- scm/network_services/models/qos_profiles_aggregate_bandwidth.py +91 -0
- scm/network_services/models/qos_profiles_class_bandwidth_type.py +98 -0
- scm/network_services/models/qos_profiles_class_bandwidth_type_mbps.py +96 -0
- scm/network_services/models/qos_profiles_class_bandwidth_type_mbps_class_inner.py +116 -0
- scm/network_services/models/qos_profiles_class_bandwidth_type_mbps_class_inner_class_bandwidth.py +91 -0
- scm/network_services/models/qos_profiles_class_bandwidth_type_percentage.py +96 -0
- scm/network_services/models/qos_profiles_class_bandwidth_type_percentage_class_inner.py +116 -0
- scm/network_services/models/qos_profiles_class_bandwidth_type_percentage_class_inner_class_bandwidth.py +91 -0
- scm/network_services/models/qos_profiles_list_response.py +113 -0
- scm/network_services/models/route_access_lists.py +137 -0
- scm/network_services/models/route_access_lists_list_response.py +113 -0
- scm/network_services/models/route_access_lists_type.py +92 -0
- scm/network_services/models/route_access_lists_type_ipv4.py +96 -0
- scm/network_services/models/route_access_lists_type_ipv4_ipv4_entry_inner.py +113 -0
- scm/network_services/models/route_access_lists_type_ipv4_ipv4_entry_inner_destination_address.py +94 -0
- scm/network_services/models/route_access_lists_type_ipv4_ipv4_entry_inner_destination_address_entry.py +90 -0
- scm/network_services/models/route_access_lists_type_ipv4_ipv4_entry_inner_source_address.py +94 -0
- scm/network_services/models/route_access_lists_type_ipv4_ipv4_entry_inner_source_address_entry.py +90 -0
- scm/network_services/models/route_community_lists.py +137 -0
- scm/network_services/models/route_community_lists_list_response.py +113 -0
- scm/network_services/models/route_community_lists_type.py +104 -0
- scm/network_services/models/route_community_lists_type_extended.py +96 -0
- scm/network_services/models/route_community_lists_type_extended_extended_entry_inner.py +103 -0
- scm/network_services/models/route_community_lists_type_large.py +96 -0
- scm/network_services/models/route_community_lists_type_large_large_entry_inner.py +103 -0
- scm/network_services/models/route_community_lists_type_regular.py +96 -0
- scm/network_services/models/route_community_lists_type_regular_regular_entry_inner.py +103 -0
- scm/network_services/models/route_path_access_lists.py +141 -0
- scm/network_services/models/route_path_access_lists_aspath_entry_inner.py +103 -0
- scm/network_services/models/route_path_access_lists_list_response.py +113 -0
- scm/network_services/models/route_prefix_lists.py +137 -0
- scm/network_services/models/route_prefix_lists_list_response.py +113 -0
- scm/network_services/models/route_prefix_lists_type.py +92 -0
- scm/network_services/models/route_prefix_lists_type_ipv4.py +96 -0
- scm/network_services/models/route_prefix_lists_type_ipv4_ipv4_entry_inner.py +107 -0
- scm/network_services/models/route_prefix_lists_type_ipv4_ipv4_entry_inner_prefix.py +104 -0
- scm/network_services/models/route_prefix_lists_type_ipv4_ipv4_entry_inner_prefix_entry.py +93 -0
- scm/network_services/models/rule_based_move.py +106 -0
- scm/network_services/models/sdwan_error_correction_profiles.py +137 -0
- scm/network_services/models/sdwan_error_correction_profiles_list_response.py +113 -0
- scm/network_services/models/sdwan_error_correction_profiles_mode.py +98 -0
- scm/network_services/models/sdwan_error_correction_profiles_mode_forward_error_correction.py +90 -0
- scm/network_services/models/sdwan_error_correction_profiles_mode_packet_duplication.py +88 -0
- scm/network_services/models/sdwan_path_quality_profiles.py +135 -0
- scm/network_services/models/sdwan_path_quality_profiles_list_response.py +113 -0
- scm/network_services/models/sdwan_path_quality_profiles_metric.py +104 -0
- scm/network_services/models/sdwan_path_quality_profiles_metric_jitter.py +98 -0
- scm/network_services/models/sdwan_path_quality_profiles_metric_latency.py +98 -0
- scm/network_services/models/sdwan_path_quality_profiles_metric_pkt_loss.py +98 -0
- scm/network_services/models/sdwan_rules.py +174 -0
- scm/network_services/models/sdwan_rules_action.py +88 -0
- scm/network_services/models/sdwan_rules_list_response.py +113 -0
- scm/network_services/models/sdwan_saas_quality_profiles.py +135 -0
- scm/network_services/models/sdwan_saas_quality_profiles_list_response.py +113 -0
- scm/network_services/models/sdwan_saas_quality_profiles_monitor_mode.py +100 -0
- scm/network_services/models/sdwan_saas_quality_profiles_monitor_mode_http_https.py +91 -0
- scm/network_services/models/sdwan_saas_quality_profiles_monitor_mode_static_ip.py +102 -0
- scm/network_services/models/sdwan_saas_quality_profiles_monitor_mode_static_ip_fqdn.py +91 -0
- scm/network_services/models/sdwan_saas_quality_profiles_monitor_mode_static_ip_ip_address_inner.py +91 -0
- scm/network_services/models/sdwan_traffic_distribution_profiles.py +151 -0
- scm/network_services/models/sdwan_traffic_distribution_profiles_link_tags_inner.py +91 -0
- scm/network_services/models/sdwan_traffic_distribution_profiles_list_response.py +113 -0
- scm/network_services/models/system_match_list.py +143 -0
- scm/network_services/models/system_match_list_list_response.py +113 -0
- scm/network_services/models/tunnel_interfaces.py +165 -0
- scm/network_services/models/tunnel_interfaces_ip_inner.py +88 -0
- scm/network_services/models/tunnel_interfaces_ipv6.py +100 -0
- scm/network_services/models/tunnel_interfaces_ipv6_address_inner.py +94 -0
- scm/network_services/models/tunnel_interfaces_list_response.py +113 -0
- scm/network_services/models/userid_match_list.py +145 -0
- scm/network_services/models/userid_match_list_list_response.py +113 -0
- scm/network_services/models/vlan_interfaces.py +193 -0
- scm/network_services/models/vlan_interfaces_arp_inner.py +92 -0
- scm/network_services/models/vlan_interfaces_ddns_config.py +108 -0
- scm/network_services/models/vlan_interfaces_dhcp_client.py +99 -0
- scm/network_services/models/vlan_interfaces_dhcp_client_send_hostname.py +101 -0
- scm/network_services/models/vlan_interfaces_ip_inner.py +88 -0
- scm/network_services/models/vlan_interfaces_list_response.py +113 -0
- scm/network_services/models/zone_protection_profiles.py +257 -0
- scm/network_services/models/zone_protection_profiles_flood.py +122 -0
- scm/network_services/models/zone_protection_profiles_flood_icmp.py +94 -0
- scm/network_services/models/zone_protection_profiles_flood_icmp_red.py +93 -0
- scm/network_services/models/zone_protection_profiles_flood_icmpv6.py +94 -0
- scm/network_services/models/zone_protection_profiles_flood_icmpv6_red.py +93 -0
- scm/network_services/models/zone_protection_profiles_flood_other_ip.py +94 -0
- scm/network_services/models/zone_protection_profiles_flood_other_ip_red.py +93 -0
- scm/network_services/models/zone_protection_profiles_flood_sctp_init.py +94 -0
- scm/network_services/models/zone_protection_profiles_flood_sctp_init_red.py +93 -0
- scm/network_services/models/zone_protection_profiles_flood_tcp_syn.py +100 -0
- scm/network_services/models/zone_protection_profiles_flood_tcp_syn_red.py +93 -0
- scm/network_services/models/zone_protection_profiles_flood_tcp_syn_syn_cookies.py +93 -0
- scm/network_services/models/zone_protection_profiles_flood_udp.py +94 -0
- scm/network_services/models/zone_protection_profiles_flood_udp_red.py +93 -0
- scm/network_services/models/zone_protection_profiles_ipv6.py +124 -0
- scm/network_services/models/zone_protection_profiles_ipv6_filter_ext_hdr.py +92 -0
- scm/network_services/models/zone_protection_profiles_ipv6_ignore_inv_pkt.py +96 -0
- scm/network_services/models/zone_protection_profiles_l2_sec_group_tag_protection.py +96 -0
- scm/network_services/models/zone_protection_profiles_l2_sec_group_tag_protection_tags_inner.py +92 -0
- scm/network_services/models/zone_protection_profiles_list_response.py +113 -0
- scm/network_services/models/zone_protection_profiles_non_ip_protocol.py +108 -0
- scm/network_services/models/zone_protection_profiles_non_ip_protocol_protocol_inner.py +92 -0
- scm/network_services/models/zone_protection_profiles_scan_inner.py +106 -0
- scm/network_services/models/zone_protection_profiles_scan_inner_action.py +98 -0
- scm/network_services/models/zone_protection_profiles_scan_inner_action_block_ip.py +98 -0
- scm/network_services/models/zone_protection_profiles_scan_white_list_inner.py +92 -0
- scm/network_services/models/zones.py +144 -0
- scm/network_services/models/zones_device_acl.py +90 -0
- scm/network_services/models/zones_list_response.py +113 -0
- scm/network_services/models/zones_network.py +104 -0
- scm/network_services/rest.py +264 -0
- scm/network_services/tests/__init__.py +0 -0
- scm/network_services/tests/api_aggregate_interfaces_test.py +223 -0
- scm/network_services/tests/api_auto_vpn_clusters_test.py +36 -0
- scm/network_services/tests/api_auto_vpn_settings_test.py +50 -0
- scm/network_services/tests/api_bgp_address_family_profiles_test.py +147 -0
- scm/network_services/tests/api_bgp_authentication_profiles_test.py +145 -0
- scm/network_services/tests/api_bgp_filtering_profiles_test.py +142 -0
- scm/network_services/tests/api_bgp_redistribution_profiles_test.py +152 -0
- scm/network_services/tests/api_bgp_route_map_redistributions_test.py +144 -0
- scm/network_services/tests/api_bgp_route_maps_test.py +151 -0
- scm/network_services/tests/api_config_match_lists_test.py +202 -0
- scm/network_services/tests/api_dhcp_interfaces_test.py +39 -0
- scm/network_services/tests/api_dns_proxies_test.py +167 -0
- scm/network_services/tests/api_ethernet_interfaces_test.py +272 -0
- scm/network_services/tests/api_globalprotect_match_lists_test.py +203 -0
- scm/network_services/tests/api_hipmatch_match_lists_test.py +203 -0
- scm/network_services/tests/api_ike_crypto_profiles_test.py +194 -0
- scm/network_services/tests/api_ike_gateways_test.py +237 -0
- scm/network_services/tests/api_interface_management_profiles_test.py +186 -0
- scm/network_services/tests/api_ipsec_crypto_profiles_test.py +195 -0
- scm/network_services/tests/api_ipsec_tunnels_test.py +252 -0
- scm/network_services/tests/api_iptag_match_lists_test.py +203 -0
- scm/network_services/tests/api_layer2_subinterfaces_test.py +225 -0
- scm/network_services/tests/api_layer3_subinterfaces_test.py +233 -0
- scm/network_services/tests/api_link_tags_test.py +151 -0
- scm/network_services/tests/api_lldp_profiles_test.py +219 -0
- scm/network_services/tests/api_logical_routers_test.py +208 -0
- scm/network_services/tests/api_loopback_interfaces_test.py +208 -0
- scm/network_services/tests/api_nat_rules_test.py +286 -0
- scm/network_services/tests/api_ospf_authentication_profiles_test.py +145 -0
- scm/network_services/tests/api_pbf_rules_test.py +241 -0
- scm/network_services/tests/api_qos_profiles_test.py +187 -0
- scm/network_services/tests/api_qos_rules_test.py +181 -0
- scm/network_services/tests/api_route_community_lists_test.py +163 -0
- scm/network_services/tests/api_route_path_access_lists_test.py +155 -0
- scm/network_services/tests/api_sdwan_error_correction_profiles_test.py +160 -0
- scm/network_services/tests/api_sdwan_path_quality_profiles_test.py +169 -0
- scm/network_services/tests/api_sdwan_saas_quality_profiles_test.py +148 -0
- scm/network_services/tests/api_sdwan_traffic_distribution_profiles_test.py +41 -0
- scm/network_services/tests/api_system_match_lists_test.py +203 -0
- scm/network_services/tests/api_tunnel_interfaces_test.py +161 -0
- scm/network_services/tests/api_userid_match_lists_test.py +203 -0
- scm/network_services/tests/api_vlan_interfaces_test.py +160 -0
- scm/network_services/tests/api_zone_protection_profiles_test.py +156 -0
- scm/network_services/tests/api_zones_test.py +147 -0
- scm/objects/__init__.py +210 -0
- scm/objects/api/__init__.py +23 -0
- scm/objects/api/address_groups_api.py +1619 -0
- scm/objects/api/addresses_api.py +1619 -0
- scm/objects/api/application_filters_api.py +1619 -0
- scm/objects/api/application_groups_api.py +1619 -0
- scm/objects/api/applications_api.py +1619 -0
- scm/objects/api/auto_tag_actions_api.py +1267 -0
- scm/objects/api/dynamic_user_groups_api.py +1619 -0
- scm/objects/api/external_dynamic_lists_api.py +1619 -0
- scm/objects/api/hip_objects_api.py +1619 -0
- scm/objects/api/hip_profiles_api.py +1619 -0
- scm/objects/api/http_server_profiles_api.py +1619 -0
- scm/objects/api/log_forwarding_profiles_api.py +1619 -0
- scm/objects/api/quarantined_devices_api.py +907 -0
- scm/objects/api/regions_api.py +1622 -0
- scm/objects/api/schedules_api.py +1619 -0
- scm/objects/api/service_groups_api.py +1619 -0
- scm/objects/api/services_api.py +1619 -0
- scm/objects/api/syslog_server_profiles_api.py +1619 -0
- scm/objects/api/tags_api.py +1619 -0
- scm/objects/api_client.py +798 -0
- scm/objects/api_response.py +21 -0
- scm/objects/configuration.py +471 -0
- scm/objects/exceptions.py +200 -0
- scm/objects/models/__init__.py +175 -0
- scm/objects/models/address_groups.py +148 -0
- scm/objects/models/address_groups_dynamic.py +89 -0
- scm/objects/models/address_groups_list_response.py +113 -0
- scm/objects/models/addresses.py +151 -0
- scm/objects/models/addresses_list_response.py +113 -0
- scm/objects/models/application_filters.py +169 -0
- scm/objects/models/application_filters_list_response.py +113 -0
- scm/objects/models/application_filters_tagging.py +91 -0
- scm/objects/models/application_groups.py +131 -0
- scm/objects/models/application_groups_list_response.py +113 -0
- scm/objects/models/applications.py +200 -0
- scm/objects/models/applications_default.py +102 -0
- scm/objects/models/applications_default_ident_by_icmp6_type.py +90 -0
- scm/objects/models/applications_list_response.py +113 -0
- scm/objects/models/applications_signature_inner.py +115 -0
- scm/objects/models/applications_signature_inner_and_condition_inner.py +99 -0
- scm/objects/models/applications_signature_inner_and_condition_inner_or_condition_inner.py +95 -0
- scm/objects/models/applications_signature_inner_and_condition_inner_or_condition_inner_operator.py +109 -0
- scm/objects/models/applications_signature_inner_and_condition_inner_or_condition_inner_operator_equal_to.py +105 -0
- scm/objects/models/applications_signature_inner_and_condition_inner_or_condition_inner_operator_greater_than.py +101 -0
- scm/objects/models/applications_signature_inner_and_condition_inner_or_condition_inner_operator_greater_than_qualifier_inner.py +91 -0
- scm/objects/models/applications_signature_inner_and_condition_inner_or_condition_inner_operator_pattern_match.py +101 -0
- scm/objects/models/auto_tag_actions.py +147 -0
- scm/objects/models/auto_tag_actions_actions_inner.py +94 -0
- scm/objects/models/auto_tag_actions_actions_inner_type.py +92 -0
- scm/objects/models/auto_tag_actions_actions_inner_type_tagging.py +102 -0
- scm/objects/models/auto_tag_actions_list_response.py +113 -0
- scm/objects/models/dynamic_user_groups.py +142 -0
- scm/objects/models/dynamic_user_groups_list_response.py +113 -0
- scm/objects/models/error_detail_cause_info.py +99 -0
- scm/objects/models/external_dynamic_lists.py +142 -0
- scm/objects/models/external_dynamic_lists_list_response.py +113 -0
- scm/objects/models/external_dynamic_lists_type.py +128 -0
- scm/objects/models/external_dynamic_lists_type_domain.py +109 -0
- scm/objects/models/external_dynamic_lists_type_domain_auth.py +91 -0
- scm/objects/models/external_dynamic_lists_type_domain_recurring.py +108 -0
- scm/objects/models/external_dynamic_lists_type_domain_recurring_daily.py +96 -0
- scm/objects/models/external_dynamic_lists_type_domain_recurring_monthly.py +98 -0
- scm/objects/models/external_dynamic_lists_type_domain_recurring_weekly.py +105 -0
- scm/objects/models/external_dynamic_lists_type_imei.py +107 -0
- scm/objects/models/external_dynamic_lists_type_imei_auth.py +91 -0
- scm/objects/models/external_dynamic_lists_type_imei_recurring.py +108 -0
- scm/objects/models/external_dynamic_lists_type_imei_recurring_daily.py +96 -0
- scm/objects/models/external_dynamic_lists_type_imei_recurring_monthly.py +98 -0
- scm/objects/models/external_dynamic_lists_type_imei_recurring_weekly.py +105 -0
- scm/objects/models/external_dynamic_lists_type_imsi.py +107 -0
- scm/objects/models/external_dynamic_lists_type_imsi_auth.py +91 -0
- scm/objects/models/external_dynamic_lists_type_imsi_recurring.py +108 -0
- scm/objects/models/external_dynamic_lists_type_imsi_recurring_daily.py +96 -0
- scm/objects/models/external_dynamic_lists_type_imsi_recurring_monthly.py +98 -0
- scm/objects/models/external_dynamic_lists_type_imsi_recurring_weekly.py +105 -0
- scm/objects/models/external_dynamic_lists_type_ip.py +107 -0
- scm/objects/models/external_dynamic_lists_type_ip_auth.py +91 -0
- scm/objects/models/external_dynamic_lists_type_ip_recurring.py +108 -0
- scm/objects/models/external_dynamic_lists_type_ip_recurring_daily.py +96 -0
- scm/objects/models/external_dynamic_lists_type_ip_recurring_monthly.py +98 -0
- scm/objects/models/external_dynamic_lists_type_ip_recurring_weekly.py +105 -0
- scm/objects/models/external_dynamic_lists_type_predefined_ip.py +93 -0
- scm/objects/models/external_dynamic_lists_type_predefined_url.py +93 -0
- scm/objects/models/external_dynamic_lists_type_url.py +107 -0
- scm/objects/models/external_dynamic_lists_type_url_auth.py +91 -0
- scm/objects/models/external_dynamic_lists_type_url_recurring.py +108 -0
- scm/objects/models/external_dynamic_lists_type_url_recurring_daily.py +96 -0
- scm/objects/models/external_dynamic_lists_type_url_recurring_monthly.py +98 -0
- scm/objects/models/external_dynamic_lists_type_url_recurring_weekly.py +105 -0
- scm/objects/models/generic_error.py +98 -0
- scm/objects/models/hip_objects.py +204 -0
- scm/objects/models/hip_objects_anti_malware.py +104 -0
- scm/objects/models/hip_objects_anti_malware_criteria.py +118 -0
- scm/objects/models/hip_objects_anti_malware_criteria_last_scan_time.py +99 -0
- scm/objects/models/hip_objects_anti_malware_criteria_last_scan_time_not_within.py +91 -0
- scm/objects/models/hip_objects_anti_malware_criteria_product_version.py +112 -0
- scm/objects/models/hip_objects_anti_malware_criteria_product_version_not_within.py +89 -0
- scm/objects/models/hip_objects_anti_malware_criteria_virdef_version.py +97 -0
- scm/objects/models/hip_objects_anti_malware_criteria_virdef_version_not_within.py +91 -0
- scm/objects/models/hip_objects_anti_malware_vendor_inner.py +91 -0
- scm/objects/models/hip_objects_certificate.py +92 -0
- scm/objects/models/hip_objects_certificate_criteria.py +98 -0
- scm/objects/models/hip_objects_certificate_criteria_certificate_attributes_inner.py +101 -0
- scm/objects/models/hip_objects_custom_checks.py +92 -0
- scm/objects/models/hip_objects_custom_checks_criteria.py +116 -0
- scm/objects/models/hip_objects_custom_checks_criteria_plist_inner.py +101 -0
- scm/objects/models/hip_objects_custom_checks_criteria_plist_inner_key_inner.py +103 -0
- scm/objects/models/hip_objects_custom_checks_criteria_process_list_inner.py +91 -0
- scm/objects/models/hip_objects_custom_checks_criteria_registry_key_inner.py +113 -0
- scm/objects/models/hip_objects_custom_checks_criteria_registry_key_inner_registry_value_inner.py +103 -0
- scm/objects/models/hip_objects_data_loss_prevention.py +104 -0
- scm/objects/models/hip_objects_data_loss_prevention_criteria.py +100 -0
- scm/objects/models/hip_objects_data_loss_prevention_vendor_inner.py +91 -0
- scm/objects/models/hip_objects_disk_backup.py +104 -0
- scm/objects/models/hip_objects_disk_backup_criteria.py +94 -0
- scm/objects/models/hip_objects_disk_encryption.py +104 -0
- scm/objects/models/hip_objects_disk_encryption_criteria.py +98 -0
- scm/objects/models/hip_objects_disk_encryption_criteria_encrypted_locations_inner.py +95 -0
- scm/objects/models/hip_objects_disk_encryption_criteria_encrypted_locations_inner_encryption_state.py +110 -0
- scm/objects/models/hip_objects_firewall.py +104 -0
- scm/objects/models/hip_objects_host_info.py +92 -0
- scm/objects/models/hip_objects_host_info_criteria.py +120 -0
- scm/objects/models/hip_objects_host_info_criteria_client_version.py +93 -0
- scm/objects/models/hip_objects_host_info_criteria_os.py +92 -0
- scm/objects/models/hip_objects_host_info_criteria_os_contains.py +97 -0
- scm/objects/models/hip_objects_list_response.py +113 -0
- scm/objects/models/hip_objects_mobile_device.py +92 -0
- scm/objects/models/hip_objects_mobile_device_criteria.py +125 -0
- scm/objects/models/hip_objects_mobile_device_criteria_applications.py +104 -0
- scm/objects/models/hip_objects_mobile_device_criteria_applications_has_malware.py +94 -0
- scm/objects/models/hip_objects_mobile_device_criteria_applications_has_malware_yes.py +96 -0
- scm/objects/models/hip_objects_mobile_device_criteria_applications_has_malware_yes_excludes_inner.py +113 -0
- scm/objects/models/hip_objects_mobile_device_criteria_last_checkin_time.py +97 -0
- scm/objects/models/hip_objects_mobile_device_criteria_last_checkin_time_not_within.py +89 -0
- scm/objects/models/hip_objects_network_info.py +92 -0
- scm/objects/models/hip_objects_network_info_criteria.py +92 -0
- scm/objects/models/hip_objects_network_info_criteria_network.py +98 -0
- scm/objects/models/hip_objects_network_info_criteria_network_is.py +100 -0
- scm/objects/models/hip_objects_network_info_criteria_network_is_mobile.py +99 -0
- scm/objects/models/hip_objects_network_info_criteria_network_is_not.py +102 -0
- scm/objects/models/hip_objects_network_info_criteria_network_is_wifi.py +99 -0
- scm/objects/models/hip_objects_patch_management.py +104 -0
- scm/objects/models/hip_objects_patch_management_criteria.py +106 -0
- scm/objects/models/hip_objects_patch_management_criteria_missing_patches.py +104 -0
- scm/objects/models/hip_objects_patch_management_criteria_missing_patches_severity.py +99 -0
- scm/objects/models/hip_profiles.py +140 -0
- scm/objects/models/hip_profiles_list_response.py +113 -0
- scm/objects/models/http_server_profiles.py +147 -0
- scm/objects/models/http_server_profiles_format.py +172 -0
- scm/objects/models/http_server_profiles_list_response.py +113 -0
- scm/objects/models/http_server_profiles_server_inner.py +130 -0
- scm/objects/models/log_forwarding_profiles.py +141 -0
- scm/objects/models/log_forwarding_profiles_list_response.py +113 -0
- scm/objects/models/log_forwarding_profiles_match_list_inner.py +110 -0
- scm/objects/models/payload_format.py +112 -0
- scm/objects/models/payload_format_headers_inner.py +90 -0
- scm/objects/models/payload_format_params_inner.py +90 -0
- scm/objects/models/quarantined_devices.py +90 -0
- scm/objects/models/regions.py +144 -0
- scm/objects/models/regions_geo_location.py +91 -0
- scm/objects/models/regions_list_response.py +113 -0
- scm/objects/models/schedules.py +142 -0
- scm/objects/models/schedules_list_response.py +113 -0
- scm/objects/models/schedules_schedule_type.py +95 -0
- scm/objects/models/schedules_schedule_type_recurring.py +95 -0
- scm/objects/models/schedules_schedule_type_recurring_weekly.py +101 -0
- scm/objects/models/service_groups.py +140 -0
- scm/objects/models/service_groups_list_response.py +113 -0
- scm/objects/models/services.py +146 -0
- scm/objects/models/services_list_response.py +113 -0
- scm/objects/models/services_protocol.py +98 -0
- scm/objects/models/services_protocol_tcp.py +97 -0
- scm/objects/models/services_protocol_tcp_override.py +93 -0
- scm/objects/models/services_protocol_udp.py +97 -0
- scm/objects/models/services_protocol_udp_override.py +89 -0
- scm/objects/models/syslog_server_profiles.py +145 -0
- scm/objects/models/syslog_server_profiles_format.py +126 -0
- scm/objects/models/syslog_server_profiles_format_escaping.py +91 -0
- scm/objects/models/syslog_server_profiles_list_response.py +113 -0
- scm/objects/models/syslog_server_profiles_server_inner.py +129 -0
- scm/objects/models/tags.py +143 -0
- scm/objects/models/tags_list_response.py +113 -0
- scm/objects/rest.py +264 -0
- scm/objects/tests/__init__.py +0 -0
- scm/objects/tests/api_address_groups_test.py +279 -0
- scm/objects/tests/api_addresses_test.py +250 -0
- scm/objects/tests/api_application_filters_test.py +232 -0
- scm/objects/tests/api_application_groups_test.py +309 -0
- scm/objects/tests/api_applications_test.py +241 -0
- scm/objects/tests/api_auto_tag_actions_test.py +54 -0
- scm/objects/tests/api_dynamic_user_groups_test.py +279 -0
- scm/objects/tests/api_exception_parsing_test.py +203 -0
- scm/objects/tests/api_external_dynamic_lists_test.py +250 -0
- scm/objects/tests/api_hip_objects_test.py +308 -0
- scm/objects/tests/api_hip_profiles_test.py +217 -0
- scm/objects/tests/api_http_server_profiles_test.py +288 -0
- scm/objects/tests/api_log_forwarding_profiles_test.py +243 -0
- scm/objects/tests/api_regions_test.py +265 -0
- scm/objects/tests/api_schedules_test.py +269 -0
- scm/objects/tests/api_service_groups_test.py +366 -0
- scm/objects/tests/api_services_test.py +324 -0
- scm/objects/tests/api_syslog_server_profiles_test.py +307 -0
- scm/objects/tests/api_tags_test.py +217 -0
- scm/security_services/__init__.py +219 -0
- scm/security_services/api/__init__.py +27 -0
- scm/security_services/api/anti_spyware_profiles_api.py +1619 -0
- scm/security_services/api/anti_spyware_signatures_api.py +1540 -0
- scm/security_services/api/application_override_rules_api.py +1958 -0
- scm/security_services/api/data_filtering_api.py +1619 -0
- scm/security_services/api/data_objects_api.py +1619 -0
- scm/security_services/api/decryption_exclusions_api.py +1619 -0
- scm/security_services/api/decryption_profiles_api.py +1619 -0
- scm/security_services/api/decryption_rules_api.py +1958 -0
- scm/security_services/api/dns_security_profiles_api.py +1619 -0
- scm/security_services/api/dos_protection_profiles_api.py +1619 -0
- scm/security_services/api/dos_protection_rules_api.py +1619 -0
- scm/security_services/api/file_blocking_profiles_api.py +1619 -0
- scm/security_services/api/http_header_profiles_api.py +1619 -0
- scm/security_services/api/profile_groups_api.py +1619 -0
- scm/security_services/api/saas_tenant_restrictions_api.py +718 -0
- scm/security_services/api/security_rules_api.py +1958 -0
- scm/security_services/api/ssl_decryption_settings_api.py +1235 -0
- scm/security_services/api/url_access_profiles_api.py +1619 -0
- scm/security_services/api/url_categories_api.py +1619 -0
- scm/security_services/api/url_filtering_categories_api.py +467 -0
- scm/security_services/api/vulnerability_protection_profiles_api.py +1619 -0
- scm/security_services/api/vulnerability_protection_signatures_api.py +1540 -0
- scm/security_services/api/wildfire_anti_virus_profiles_api.py +1619 -0
- scm/security_services/api_client.py +798 -0
- scm/security_services/api_response.py +21 -0
- scm/security_services/configuration.py +471 -0
- scm/security_services/exceptions.py +200 -0
- scm/security_services/models/__init__.py +180 -0
- scm/security_services/models/anti_spyware_profiles.py +167 -0
- scm/security_services/models/anti_spyware_profiles_list_response.py +113 -0
- scm/security_services/models/anti_spyware_profiles_mica_engine_spyware_enabled_inner.py +100 -0
- scm/security_services/models/anti_spyware_profiles_rules_inner.py +123 -0
- scm/security_services/models/anti_spyware_profiles_rules_inner_action.py +104 -0
- scm/security_services/models/anti_spyware_profiles_rules_inner_action_block_ip.py +101 -0
- scm/security_services/models/anti_spyware_profiles_threat_exception_inner.py +118 -0
- scm/security_services/models/anti_spyware_profiles_threat_exception_inner_action.py +106 -0
- scm/security_services/models/anti_spyware_profiles_threat_exception_inner_action_block_ip.py +101 -0
- scm/security_services/models/anti_spyware_profiles_threat_exception_inner_exempt_ip_inner.py +88 -0
- scm/security_services/models/anti_spyware_signatures.py +177 -0
- scm/security_services/models/anti_spyware_signatures_default_action.py +104 -0
- scm/security_services/models/anti_spyware_signatures_default_action_block_ip.py +101 -0
- scm/security_services/models/anti_spyware_signatures_list_response.py +113 -0
- scm/security_services/models/anti_spyware_signatures_signature.py +102 -0
- scm/security_services/models/anti_spyware_signatures_signature_combination.py +104 -0
- scm/security_services/models/anti_spyware_signatures_signature_combination_and_condition_inner.py +98 -0
- scm/security_services/models/anti_spyware_signatures_signature_combination_and_condition_inner_or_condition_inner.py +90 -0
- scm/security_services/models/anti_spyware_signatures_signature_combination_time_attribute.py +103 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner.py +115 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner_and_condition_inner.py +98 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner_and_condition_inner_or_condition_inner.py +94 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator.py +109 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_equal_to.py +103 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_equal_to_qualifier_inner.py +90 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_greater_than.py +101 -0
- scm/security_services/models/anti_spyware_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_pattern_match.py +102 -0
- scm/security_services/models/app_override_rules.py +172 -0
- scm/security_services/models/application_override_rules_list_response.py +113 -0
- scm/security_services/models/base_rule_properties.py +128 -0
- scm/security_services/models/data_filtering_profiles.py +145 -0
- scm/security_services/models/data_filtering_profiles_list_response.py +113 -0
- scm/security_services/models/data_filtering_profiles_rules_inner.py +102 -0
- scm/security_services/models/data_objects.py +139 -0
- scm/security_services/models/data_objects_list_response.py +113 -0
- scm/security_services/models/data_objects_pattern_type.py +104 -0
- scm/security_services/models/data_objects_pattern_type_file_properties.py +96 -0
- scm/security_services/models/data_objects_pattern_type_file_properties_pattern_inner.py +94 -0
- scm/security_services/models/data_objects_pattern_type_predefined.py +96 -0
- scm/security_services/models/data_objects_pattern_type_predefined_pattern_inner.py +90 -0
- scm/security_services/models/data_objects_pattern_type_regex.py +96 -0
- scm/security_services/models/data_objects_pattern_type_regex_pattern_inner.py +92 -0
- scm/security_services/models/decryption_exclusions.py +131 -0
- scm/security_services/models/decryption_exclusions_list_response.py +113 -0
- scm/security_services/models/decryption_profiles.py +160 -0
- scm/security_services/models/decryption_profiles_list_response.py +113 -0
- scm/security_services/models/decryption_profiles_ssl_forward_proxy.py +108 -0
- scm/security_services/models/decryption_profiles_ssl_inbound_proxy.py +94 -0
- scm/security_services/models/decryption_profiles_ssl_no_proxy.py +90 -0
- scm/security_services/models/decryption_profiles_ssl_protocol_settings.py +138 -0
- scm/security_services/models/decryption_rules.py +180 -0
- scm/security_services/models/decryption_rules_list_response.py +113 -0
- scm/security_services/models/decryption_rules_type.py +94 -0
- scm/security_services/models/decryption_rules_type_ssl_inbound_inspection.py +88 -0
- scm/security_services/models/dns_security_profiles.py +137 -0
- scm/security_services/models/dns_security_profiles_botnet_domains.py +122 -0
- scm/security_services/models/dns_security_profiles_botnet_domains_dns_security_categories_inner.py +124 -0
- scm/security_services/models/dns_security_profiles_botnet_domains_lists_inner.py +106 -0
- scm/security_services/models/dns_security_profiles_botnet_domains_lists_inner_action.py +94 -0
- scm/security_services/models/dns_security_profiles_botnet_domains_sinkhole.py +110 -0
- scm/security_services/models/dns_security_profiles_botnet_domains_whitelist_inner.py +90 -0
- scm/security_services/models/dns_security_profiles_list_response.py +113 -0
- scm/security_services/models/dos_protection_profiles.py +152 -0
- scm/security_services/models/dos_protection_profiles_flood.py +113 -0
- scm/security_services/models/dos_protection_profiles_flood_icmp.py +94 -0
- scm/security_services/models/dos_protection_profiles_flood_icmp_red.py +99 -0
- scm/security_services/models/dos_protection_profiles_flood_icmp_red_block.py +89 -0
- scm/security_services/models/dos_protection_profiles_flood_tcp_syn.py +100 -0
- scm/security_services/models/dos_protection_profiles_flood_tcp_syn_syn_cookies.py +99 -0
- scm/security_services/models/dos_protection_profiles_flood_tcp_syn_syn_cookies_block.py +89 -0
- scm/security_services/models/dos_protection_profiles_list_response.py +113 -0
- scm/security_services/models/dos_protection_profiles_resource.py +92 -0
- scm/security_services/models/dos_protection_profiles_resource_sessions.py +91 -0
- scm/security_services/models/dos_protection_rules.py +175 -0
- scm/security_services/models/dos_protection_rules_action.py +92 -0
- scm/security_services/models/dos_protection_rules_list_response.py +113 -0
- scm/security_services/models/dos_protection_rules_protection.py +98 -0
- scm/security_services/models/dos_protection_rules_protection_aggregate.py +88 -0
- scm/security_services/models/dos_protection_rules_protection_classified.py +94 -0
- scm/security_services/models/dos_protection_rules_protection_classified_classification_criteria.py +95 -0
- scm/security_services/models/error_detail_cause_info.py +99 -0
- scm/security_services/models/file_blocking_profiles.py +141 -0
- scm/security_services/models/file_blocking_profiles_list_response.py +113 -0
- scm/security_services/models/file_blocking_profiles_rules_inner.py +127 -0
- scm/security_services/models/generic_error.py +98 -0
- scm/security_services/models/get_saas_tenant_restrictions_list_response.py +113 -0
- scm/security_services/models/get_ssl_decryption_settings_list_response.py +113 -0
- scm/security_services/models/http_header_profiles.py +141 -0
- scm/security_services/models/http_header_profiles_http_header_insertion_inner.py +98 -0
- scm/security_services/models/http_header_profiles_http_header_insertion_inner_type_inner.py +107 -0
- scm/security_services/models/http_header_profiles_http_header_insertion_inner_type_inner_headers_inner.py +94 -0
- scm/security_services/models/http_header_profiles_list_response.py +113 -0
- scm/security_services/models/internet_rule_type.py +174 -0
- scm/security_services/models/internet_rule_type_allow_url_category_inner.py +134 -0
- scm/security_services/models/internet_rule_type_allow_url_category_inner_file_control.py +110 -0
- scm/security_services/models/internet_rule_type_allow_web_application_inner.py +118 -0
- scm/security_services/models/internet_rule_type_allow_web_application_inner_saas_enterprise_control.py +98 -0
- scm/security_services/models/internet_rule_type_allow_web_application_inner_saas_enterprise_control_consumer_access.py +98 -0
- scm/security_services/models/internet_rule_type_allow_web_application_inner_saas_enterprise_control_enterprise_access.py +100 -0
- scm/security_services/models/internet_rule_type_allow_web_application_inner_tenant_control.py +94 -0
- scm/security_services/models/internet_rule_type_default_profile_settings.py +94 -0
- scm/security_services/models/internet_rule_type_log_settings.py +88 -0
- scm/security_services/models/internet_rule_type_security_settings.py +122 -0
- scm/security_services/models/profile_groups.py +147 -0
- scm/security_services/models/profile_groups_list_response.py +113 -0
- scm/security_services/models/rule_based_move.py +106 -0
- scm/security_services/models/rules_list_response.py +113 -0
- scm/security_services/models/saas_tenant_restrictions.py +104 -0
- scm/security_services/models/saas_tenant_restrictions_headers_inner.py +92 -0
- scm/security_services/models/security_rule_list_response.py +113 -0
- scm/security_services/models/security_rule_type.py +149 -0
- scm/security_services/models/security_rule_type_profile_setting.py +88 -0
- scm/security_services/models/security_rules.py +235 -0
- scm/security_services/models/ssl_decryption_settings.py +150 -0
- scm/security_services/models/ssl_decryption_settings_forward_trust_certificate.py +90 -0
- scm/security_services/models/ssl_decryption_settings_get_put.py +129 -0
- scm/security_services/models/ssl_decryption_settings_get_put_ssl_decrypt.py +113 -0
- scm/security_services/models/ssl_decryption_settings_ssl_exclude_cert_inner.py +92 -0
- scm/security_services/models/url_access_profiles.py +163 -0
- scm/security_services/models/url_access_profiles_credential_enforcement.py +102 -0
- scm/security_services/models/url_access_profiles_credential_enforcement_mode.py +94 -0
- scm/security_services/models/url_access_profiles_list_response.py +113 -0
- scm/security_services/models/url_categories.py +145 -0
- scm/security_services/models/url_categories_list_response.py +113 -0
- scm/security_services/models/url_filtering_categories.py +90 -0
- scm/security_services/models/url_filtering_categories_list_response.py +113 -0
- scm/security_services/models/vulnerability_protection_profiles.py +158 -0
- scm/security_services/models/vulnerability_protection_profiles_list_response.py +113 -0
- scm/security_services/models/vulnerability_protection_profiles_rules_inner.py +128 -0
- scm/security_services/models/vulnerability_protection_profiles_rules_inner_action.py +106 -0
- scm/security_services/models/vulnerability_protection_profiles_rules_inner_action_block_ip.py +101 -0
- scm/security_services/models/vulnerability_protection_profiles_threat_exception_inner.py +124 -0
- scm/security_services/models/vulnerability_protection_profiles_threat_exception_inner_action.py +106 -0
- scm/security_services/models/vulnerability_protection_profiles_threat_exception_inner_action_block_ip.py +101 -0
- scm/security_services/models/vulnerability_protection_profiles_threat_exception_inner_exempt_ip_inner.py +88 -0
- scm/security_services/models/vulnerability_protection_profiles_threat_exception_inner_time_attribute.py +103 -0
- scm/security_services/models/vulnerability_protection_signatures.py +177 -0
- scm/security_services/models/vulnerability_protection_signatures_affected_host.py +90 -0
- scm/security_services/models/vulnerability_protection_signatures_default_action.py +104 -0
- scm/security_services/models/vulnerability_protection_signatures_default_action_block_ip.py +101 -0
- scm/security_services/models/vulnerability_protection_signatures_list_response.py +113 -0
- scm/security_services/models/vulnerability_protection_signatures_signature.py +102 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_combination.py +104 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_combination_and_condition_inner.py +98 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_combination_and_condition_inner_or_condition_inner.py +90 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_combination_time_attribute.py +103 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner.py +115 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner.py +98 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner.py +94 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator.py +110 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_equal_to.py +103 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_equal_to_qualifier_inner.py +90 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_greater_than.py +101 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_greater_than_qualifier_inner.py +90 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_less_than.py +101 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_less_than_qualifier_inner.py +90 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_pattern_match.py +102 -0
- scm/security_services/models/vulnerability_protection_signatures_signature_standard_inner_and_condition_inner_or_condition_inner_operator_pattern_match_qualifier_inner.py +90 -0
- scm/security_services/models/wildfire_anti_virus_profiles.py +170 -0
- scm/security_services/models/wildfire_anti_virus_profiles_list_response.py +113 -0
- scm/security_services/models/wildfire_anti_virus_profiles_mlav_exception_inner.py +92 -0
- scm/security_services/models/wildfire_anti_virus_profiles_rules_inner.py +116 -0
- scm/security_services/models/wildfire_anti_virus_profiles_threat_exception_inner.py +90 -0
- scm/security_services/rest.py +264 -0
- scm/security_services/tests/__init__.py +0 -0
- scm/security_services/tests/api_anti_spyware_profiles_test.py +201 -0
- scm/security_services/tests/api_anti_spyware_signatures_test.py +189 -0
- scm/security_services/tests/api_application_override_rules_test.py +236 -0
- scm/security_services/tests/api_data_filtering_profiles_test.py +194 -0
- scm/security_services/tests/api_data_objects_test.py +221 -0
- scm/security_services/tests/api_decryption_exclusions_test.py +187 -0
- scm/security_services/tests/api_decryption_profiles_test.py +200 -0
- scm/security_services/tests/api_decryption_rules_test.py +237 -0
- scm/security_services/tests/api_dns_security_profiles_test.py +194 -0
- scm/security_services/tests/api_dos_protection_profiles_test.py +200 -0
- scm/security_services/tests/api_dos_protection_rules_test.py +60 -0
- scm/security_services/tests/api_file_blocking_profiles_test.py +194 -0
- scm/security_services/tests/api_http_header_profiles_test.py +194 -0
- scm/security_services/tests/api_profile_groups_test.py +192 -0
- scm/security_services/tests/api_saas_tenant_restrictions_test.py +66 -0
- scm/security_services/tests/api_security_rules_test.py +259 -0
- scm/security_services/tests/api_url_access_profiles_test.py +216 -0
- scm/security_services/tests/api_url_categories_test.py +228 -0
- scm/security_services/tests/api_vulnerability_protection_profiles_test.py +216 -0
- scm/security_services/tests/api_vulnerability_protection_signatures_test.py +209 -0
- scm/security_services/tests/api_wildfire_anti_virus_profiles_test.py +194 -0
- scm/test_helpers.py +131 -0
- scm_python-0.0.1b2.dist-info/METADATA +808 -0
- scm_python-0.0.1b2.dist-info/RECORD +1566 -0
- scm_python-0.0.1b2.dist-info/WHEEL +5 -0
- scm_python-0.0.1b2.dist-info/licenses/LICENSE +202 -0
- scm_python-0.0.1b2.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,808 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: scm-python
|
|
3
|
+
Version: 0.0.1b2
|
|
4
|
+
Summary: Palo Alto Networks Strata Cloud Manager (SCM) Python SDK
|
|
5
|
+
Author-email: Palo Alto Networks <devrel@paloaltonetworks.com>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/PaloAltoNetworks/scm-python
|
|
8
|
+
Project-URL: Documentation, https://github.com/PaloAltoNetworks/scm-python#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/PaloAltoNetworks/scm-python
|
|
10
|
+
Project-URL: Issues, https://github.com/PaloAltoNetworks/scm-python/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/PaloAltoNetworks/scm-python/blob/main/CHANGELOG.md
|
|
12
|
+
Keywords: palo-alto-networks,scm,strata-cloud-manager,sase,prisma-access,sdk,security
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: System Administrators
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Topic :: Security
|
|
23
|
+
Classifier: Topic :: System :: Networking
|
|
24
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
|
+
Requires-Python: >=3.10
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: urllib3<2.1.0,>=1.25.3
|
|
29
|
+
Requires-Dist: python-dateutil
|
|
30
|
+
Requires-Dist: pydantic>=2.0.0
|
|
31
|
+
Requires-Dist: typing-extensions
|
|
32
|
+
Requires-Dist: oauthlib>=3.3.0
|
|
33
|
+
Requires-Dist: requests-oauthlib>=2.0.0
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
36
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
37
|
+
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
38
|
+
Requires-Dist: packaging>=23.0; extra == "dev"
|
|
39
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
40
|
+
Requires-Dist: twine>=5.0; extra == "dev"
|
|
41
|
+
Dynamic: license-file
|
|
42
|
+
|
|
43
|
+
# SCM Python SDK
|
|
44
|
+
|
|
45
|
+
[](https://pypi.org/project/scm-python/) [](https://pypi.org/project/scm-python/) [](https://github.com/PaloAltoNetworks/scm-python/blob/main/LICENSE)
|
|
46
|
+
|
|
47
|
+
Auto-generated Python SDK for [Palo Alto Networks Strata Cloud Manager (SCM)](https://www.paloaltonetworks.com/strata-cloud-manager).
|
|
48
|
+
|
|
49
|
+
## Beta Release Disclaimer
|
|
50
|
+
|
|
51
|
+
**This software is a pre-release version and is not ready for production use.**
|
|
52
|
+
|
|
53
|
+
* **No Warranty:** This software is provided "as is," without any warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
|
|
54
|
+
* **Instability:** The beta software may contain defects, may not operate correctly, and may be substantially modified or withdrawn at any time.
|
|
55
|
+
* **Limitation of Liability:** In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the beta software or the use or other dealings in the beta software.
|
|
56
|
+
* **Feedback:** We encourage and appreciate your feedback and bug reports. However, you acknowledge that any feedback you provide is non-confidential.
|
|
57
|
+
|
|
58
|
+
By using this software, you agree to these terms.
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Warranty
|
|
63
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
64
|
+
|
|
65
|
+
THIS SOFTWARE IS RELEASED AS A PROOF OF CONCEPT FOR EXPERIMENTAL PURPOSES ONLY. USE IT AT OWN RISK. THIS SOFTWARE IS NOT SUPPORTED.
|
|
66
|
+
|
|
67
|
+
## Table of contents
|
|
68
|
+
|
|
69
|
+
- [Installation](#installation)
|
|
70
|
+
- [Using scm-python](#using-scm-python)
|
|
71
|
+
- [Configuration File](#configuration-file)
|
|
72
|
+
- [Basic Usage Example](#basic-usage-example)
|
|
73
|
+
|
|
74
|
+
## Installation
|
|
75
|
+
|
|
76
|
+
Install the released version from PyPI:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pip install scm-python
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Install from source (latest `main`):
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
pip install git+https://github.com/PaloAltoNetworks/scm-python.git
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
For local development (after cloning):
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
pip install -e ".[dev]"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Using scm-python
|
|
95
|
+
|
|
96
|
+
### Configuration File
|
|
97
|
+
|
|
98
|
+
Create a configuration file at `config/scm-config.json` in the project root, or specify a custom path via `SCM_CONFIG_FILE` environment variable:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"client_id": "your-client-id",
|
|
103
|
+
"client_secret": "your-client-secret",
|
|
104
|
+
"scope": "tsg_id:1234567890",
|
|
105
|
+
"host": "api.sase.paloaltonetworks.com",
|
|
106
|
+
"auth_url": "https://auth.apps.paloaltonetworks.com",
|
|
107
|
+
"protocol": "https",
|
|
108
|
+
"logging": "ERROR"
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Basic Usage Example
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
from scm import Scm
|
|
116
|
+
|
|
117
|
+
# Initialize the client (loads config/scm-config.json or SCM_CONFIG_FILE)
|
|
118
|
+
client = Scm()
|
|
119
|
+
|
|
120
|
+
# Or specify config explicitly
|
|
121
|
+
client = Scm(
|
|
122
|
+
client_id="YOUR_CLIENT_ID",
|
|
123
|
+
client_secret="YOUR_CLIENT_SECRET",
|
|
124
|
+
tsg_id="YOUR_TSG_ID"
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
# Or pass a pre-existing JWT token directly (see "Direct JWT Passing" section below)
|
|
128
|
+
client = Scm(
|
|
129
|
+
client_id="YOUR_CLIENT_ID",
|
|
130
|
+
client_secret="YOUR_CLIENT_SECRET",
|
|
131
|
+
tsg_id="YOUR_TSG_ID",
|
|
132
|
+
jwt="eyJ0eXAiOiJKV1Qi...",
|
|
133
|
+
jwt_expires_at="2027-01-01T10:30:00Z",
|
|
134
|
+
jwt_lifetime=900
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
# Example: List addresses
|
|
138
|
+
addresses_api = client.objects.AddressesApi(client.objects.api_client)
|
|
139
|
+
response = addresses_api.list_addresses(folder="All")
|
|
140
|
+
|
|
141
|
+
# Print the first address
|
|
142
|
+
if response.data and len(response.data) > 0:
|
|
143
|
+
first_address = response.data[0]
|
|
144
|
+
print(f"Address Name: {first_address.name}")
|
|
145
|
+
if hasattr(first_address, 'ip_netmask') and first_address.ip_netmask:
|
|
146
|
+
print(f"IP/Netmask: {first_address.ip_netmask}")
|
|
147
|
+
if hasattr(first_address, 'fqdn') and first_address.fqdn:
|
|
148
|
+
print(f"FQDN: {first_address.fqdn}")
|
|
149
|
+
else:
|
|
150
|
+
print("No addresses found")
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Environment Variables
|
|
154
|
+
|
|
155
|
+
The SDK supports multiple configuration methods with the following priority:
|
|
156
|
+
1. Constructor arguments
|
|
157
|
+
2. Environment variables
|
|
158
|
+
3. JSON configuration file
|
|
159
|
+
|
|
160
|
+
**Preferred (consistent with scm-go SDK):**
|
|
161
|
+
- `SCM_CLIENT_ID`: Client ID for authentication
|
|
162
|
+
- `SCM_CLIENT_SECRET`: Client secret for authentication
|
|
163
|
+
- `SCM_SCOPE`: Scope in format "tsg_id:XXXXX" (e.g., "tsg_id:1234567890")
|
|
164
|
+
- `SCM_HOST`: API host (default: api.sase.paloaltonetworks.com)
|
|
165
|
+
- `SCM_AUTH_URL`: Authentication URL (default: https://auth.apps.paloaltonetworks.com)
|
|
166
|
+
- `SCM_LOGGING`: Logging level (ERROR, WARNING, INFO, DEBUG)
|
|
167
|
+
- `SCM_CONFIG_FILE`: Path to JSON configuration file
|
|
168
|
+
|
|
169
|
+
**Backward Compatibility:**
|
|
170
|
+
- `SCM_TSG_ID`: TSG ID (automatically converted to scope format)
|
|
171
|
+
- `SCM_LOG_LEVEL`: Same as SCM_LOGGING
|
|
172
|
+
|
|
173
|
+
## Authentication & JWT Token Management
|
|
174
|
+
|
|
175
|
+
### Direct JWT Passing
|
|
176
|
+
|
|
177
|
+
The SDK supports passing pre-existing JWT tokens directly to the client constructor, matching the behavior of the scm-go SDK. This is useful for scenarios where you want to avoid authentication API rate limits or have a centralized token management service.
|
|
178
|
+
|
|
179
|
+
**Constructor Parameters:**
|
|
180
|
+
|
|
181
|
+
```python
|
|
182
|
+
from scm import Scm
|
|
183
|
+
from datetime import datetime, timedelta
|
|
184
|
+
|
|
185
|
+
# Pass JWT as constructor parameters
|
|
186
|
+
client = Scm(
|
|
187
|
+
client_id="YOUR_CLIENT_ID",
|
|
188
|
+
client_secret="YOUR_CLIENT_SECRET",
|
|
189
|
+
tsg_id="YOUR_TSG_ID",
|
|
190
|
+
jwt="eyJ0eXAiOiJKV1Qi...", # JWT token string
|
|
191
|
+
jwt_expires_at="2027-01-01T10:30:00Z", # ISO format string
|
|
192
|
+
jwt_lifetime=900 # Lifetime in seconds
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
# Also accepts datetime object for jwt_expires_at
|
|
196
|
+
client = Scm(
|
|
197
|
+
client_id="YOUR_CLIENT_ID",
|
|
198
|
+
client_secret="YOUR_CLIENT_SECRET",
|
|
199
|
+
tsg_id="YOUR_TSG_ID",
|
|
200
|
+
jwt="eyJ0eXAiOiJKV1Qi...",
|
|
201
|
+
jwt_expires_at=datetime.now() + timedelta(minutes=15),
|
|
202
|
+
jwt_lifetime=900
|
|
203
|
+
)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**JWT Token Priority:**
|
|
207
|
+
|
|
208
|
+
The SDK follows this priority order when loading JWT tokens:
|
|
209
|
+
|
|
210
|
+
1. **Constructor arguments** (highest priority) - JWT passed directly to `Scm()` constructor
|
|
211
|
+
2. **Config file** - JWT loaded from `config/scm-config.json` or `SCM_CONFIG_FILE`
|
|
212
|
+
3. **Fetch new token** (lowest priority) - Fetch from authentication API if no valid token available
|
|
213
|
+
|
|
214
|
+
This matches the scm-go SDK behavior and provides maximum flexibility.
|
|
215
|
+
|
|
216
|
+
**Use Cases:**
|
|
217
|
+
|
|
218
|
+
1. **External Token Manager:**
|
|
219
|
+
```python
|
|
220
|
+
# Token manager process fetches and caches tokens
|
|
221
|
+
def token_manager():
|
|
222
|
+
client = Scm()
|
|
223
|
+
while True:
|
|
224
|
+
if client.token_expires_soon:
|
|
225
|
+
new_token = client.refresh_token()
|
|
226
|
+
# Store in shared cache (Redis, file, etc.)
|
|
227
|
+
cache.set("jwt", client._access_token)
|
|
228
|
+
cache.set("jwt_expires_at", client._token_expires_at.isoformat())
|
|
229
|
+
cache.set("jwt_lifetime", client._jwt_lifetime)
|
|
230
|
+
time.sleep(300)
|
|
231
|
+
|
|
232
|
+
# Worker processes use cached token
|
|
233
|
+
worker_client = Scm(
|
|
234
|
+
client_id="YOUR_ID",
|
|
235
|
+
client_secret="YOUR_SECRET",
|
|
236
|
+
tsg_id="YOUR_TSG",
|
|
237
|
+
jwt=cache.get("jwt"),
|
|
238
|
+
jwt_expires_at=cache.get("jwt_expires_at"),
|
|
239
|
+
jwt_lifetime=cache.get("jwt_lifetime")
|
|
240
|
+
)
|
|
241
|
+
# ✅ No auth API call - uses cached token
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
2. **Serverless Functions (Lambda, Cloud Functions):**
|
|
245
|
+
```python
|
|
246
|
+
# Lambda handler - token stored in environment variable
|
|
247
|
+
def lambda_handler(event, context):
|
|
248
|
+
client = Scm(
|
|
249
|
+
client_id=os.environ["CLIENT_ID"],
|
|
250
|
+
client_secret=os.environ["CLIENT_SECRET"],
|
|
251
|
+
tsg_id=os.environ["TSG_ID"],
|
|
252
|
+
jwt=os.environ["CACHED_JWT"],
|
|
253
|
+
jwt_expires_at=os.environ["JWT_EXPIRES_AT"],
|
|
254
|
+
jwt_lifetime=int(os.environ["JWT_LIFETIME"])
|
|
255
|
+
)
|
|
256
|
+
# ✅ Fast startup - no auth API call
|
|
257
|
+
|
|
258
|
+
addresses_api = client.objects.AddressesApi(client.objects.api_client)
|
|
259
|
+
addresses = addresses_api.list_addresses(folder="Texas")
|
|
260
|
+
return addresses
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
3. **Testing with Mock Tokens:**
|
|
264
|
+
```python
|
|
265
|
+
# Unit tests with pre-set token
|
|
266
|
+
def test_api_call():
|
|
267
|
+
mock_jwt = "test_token_12345"
|
|
268
|
+
mock_expires = "2099-12-31T23:59:59Z"
|
|
269
|
+
|
|
270
|
+
client = Scm(
|
|
271
|
+
client_id="test",
|
|
272
|
+
client_secret="test",
|
|
273
|
+
tsg_id="test",
|
|
274
|
+
jwt=mock_jwt,
|
|
275
|
+
jwt_expires_at=mock_expires,
|
|
276
|
+
jwt_lifetime=999999
|
|
277
|
+
)
|
|
278
|
+
# ✅ No real auth API call in tests
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Benefits:**
|
|
282
|
+
|
|
283
|
+
- **Reduced Auth API Load**: 1 token manager → 10 workers = 1 auth call instead of 10 (90% reduction)
|
|
284
|
+
- **Faster Startup**: ~50ms initialization (vs ~500ms with auth API call) - 10x faster
|
|
285
|
+
- **Better for Serverless**: Cold starts are faster, can pre-warm tokens
|
|
286
|
+
- **Full scm-go Parity**: Same capabilities as Go SDK
|
|
287
|
+
|
|
288
|
+
### Automatic Token Refresh
|
|
289
|
+
|
|
290
|
+
The SDK automatically refreshes JWT tokens before they expire, ensuring uninterrupted API access.
|
|
291
|
+
|
|
292
|
+
**How It Works:**
|
|
293
|
+
|
|
294
|
+
1. **Pre-Request Check**: Before each API call, checks if token expires within 60 seconds
|
|
295
|
+
2. **Automatic Refresh**: If expiring soon, refreshes token automatically
|
|
296
|
+
3. **401 Retry**: If API returns 401 (unauthorized), refreshes token and retries once
|
|
297
|
+
4. **Thread-Safe**: Multiple threads can safely refresh tokens concurrently
|
|
298
|
+
|
|
299
|
+
**Features:**
|
|
300
|
+
|
|
301
|
+
- **Exponential Backoff**: 5 retries with backoff (1s → 2s → 4s → 8s → 10s capped)
|
|
302
|
+
- **401 Retry Protection**: Prevents infinite retry loops with back-to-back detection
|
|
303
|
+
- **Thread-Safe Refresh**: Uses `threading.Lock` to prevent duplicate refreshes
|
|
304
|
+
- **60-Second Buffer**: Proactively refreshes before token actually expires
|
|
305
|
+
|
|
306
|
+
**Manual Refresh:**
|
|
307
|
+
|
|
308
|
+
You can also manually trigger a token refresh:
|
|
309
|
+
|
|
310
|
+
```python
|
|
311
|
+
from scm import Scm
|
|
312
|
+
|
|
313
|
+
client = Scm(
|
|
314
|
+
client_id="YOUR_ID",
|
|
315
|
+
client_secret="YOUR_SECRET",
|
|
316
|
+
tsg_id="YOUR_TSG"
|
|
317
|
+
)
|
|
318
|
+
|
|
319
|
+
# Check if token is expiring soon
|
|
320
|
+
if client.token_expires_soon:
|
|
321
|
+
print("Token expiring soon, refreshing...")
|
|
322
|
+
new_token = client.refresh_token()
|
|
323
|
+
print(f"New token: {new_token[:50]}...")
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
## JWT Token Caching for Concurrent Operations
|
|
327
|
+
|
|
328
|
+
### Overview
|
|
329
|
+
|
|
330
|
+
The Strata Cloud Manager authentication API has rate limits on token requests (approximately 10 concurrent requests per tenant). When running multiple concurrent operations (e.g., parallel Python scripts, CI/CD pipelines), these rate limits can cause authentication failures.
|
|
331
|
+
|
|
332
|
+
To work around this limitation, you can implement a token caching solution that allows multiple client instances to share the same JWT token.
|
|
333
|
+
|
|
334
|
+
### How It Works
|
|
335
|
+
|
|
336
|
+
The scm-python SDK supports loading JWT tokens from the configuration file. The following fields can be included in your `config/scm-config.json`:
|
|
337
|
+
|
|
338
|
+
**Preferred format (consistent with scm-go):**
|
|
339
|
+
|
|
340
|
+
```json
|
|
341
|
+
{
|
|
342
|
+
"client_id": "your-client-id",
|
|
343
|
+
"client_secret": "your-client-secret",
|
|
344
|
+
"scope": "tsg_id:1234567890",
|
|
345
|
+
"host": "api.sase.paloaltonetworks.com",
|
|
346
|
+
"jwt": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
|
|
347
|
+
"jwt_expires_at": "2027-01-01T10:30:00Z",
|
|
348
|
+
"jwt_lifetime": 900
|
|
349
|
+
}
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**Backward compatible format:**
|
|
353
|
+
|
|
354
|
+
```json
|
|
355
|
+
{
|
|
356
|
+
"client_id": "your-client-id",
|
|
357
|
+
"client_secret": "your-client-secret",
|
|
358
|
+
"tsg_id": "1234567890",
|
|
359
|
+
"host": "api.sase.paloaltonetworks.com",
|
|
360
|
+
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
|
|
361
|
+
"token_expires_at": "2027-01-01T10:30:00Z"
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
**Important Security Note**: Only share JWT tokens among client instances that use the **same** `client_id` and `client_secret`. Different service principals with different RBAC permissions should never share tokens, as this would be a privilege escalation risk.
|
|
366
|
+
|
|
367
|
+
### Token Caching Features
|
|
368
|
+
|
|
369
|
+
The SDK includes the following enhancements for production use:
|
|
370
|
+
|
|
371
|
+
1. **Automatic Token Caching**: Reads cached JWT from config file if valid
|
|
372
|
+
2. **Automatic Token Refresh**: Transparently refreshes tokens before API calls (see "Automatic Token Refresh" section above)
|
|
373
|
+
3. **Expiration Buffer**: 60-second buffer before token expiry (avoids edge cases)
|
|
374
|
+
4. **Retry Logic**: Exponential backoff for auth failures (5 retries: 1s → 2s → 4s → 8s → 10s)
|
|
375
|
+
5. **401 Retry**: Automatically retries API calls once on 401 errors (with back-to-back protection)
|
|
376
|
+
6. **Thread-Safe Refresh**: Uses `threading.Lock` to prevent duplicate concurrent refreshes
|
|
377
|
+
7. **Manual Refresh**: `client.refresh_token()` method for long-running scripts
|
|
378
|
+
8. **Expiration Check**: `client.token_expires_soon` property
|
|
379
|
+
9. **Direct JWT Passing**: Pass JWT as constructor parameters (see "Direct JWT Passing" section above)
|
|
380
|
+
|
|
381
|
+
### Using Token Refresh
|
|
382
|
+
|
|
383
|
+
```python
|
|
384
|
+
from scm import Scm
|
|
385
|
+
import time
|
|
386
|
+
|
|
387
|
+
client = Scm(
|
|
388
|
+
client_id="YOUR_ID",
|
|
389
|
+
client_secret="YOUR_SECRET",
|
|
390
|
+
tsg_id="YOUR_TSG"
|
|
391
|
+
)
|
|
392
|
+
|
|
393
|
+
# Long-running script
|
|
394
|
+
while True:
|
|
395
|
+
if client.token_expires_soon:
|
|
396
|
+
print("Token expiring soon, refreshing...")
|
|
397
|
+
client.refresh_token()
|
|
398
|
+
|
|
399
|
+
# Do work...
|
|
400
|
+
# ... your API calls here ...
|
|
401
|
+
time.sleep(300) # Sleep 5 minutes between iterations
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### Example Token Caching Implementations
|
|
405
|
+
|
|
406
|
+
Below are sample implementations of token caching services. These are provided as **examples only** and should be adapted to your specific security requirements and infrastructure.
|
|
407
|
+
|
|
408
|
+
#### Architecture Overview
|
|
409
|
+
|
|
410
|
+
```
|
|
411
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
412
|
+
│ Token Caching Architecture │
|
|
413
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
414
|
+
|
|
415
|
+
┌──────────────────────┐
|
|
416
|
+
│ SCM Auth API │
|
|
417
|
+
│ (Rate Limited ~10 │
|
|
418
|
+
│ concurrent requests)│
|
|
419
|
+
└──────────┬───────────┘
|
|
420
|
+
│
|
|
421
|
+
│ 1. Fetch JWT Token
|
|
422
|
+
│ (Once every 10-12 min)
|
|
423
|
+
│
|
|
424
|
+
┌──────────▼───────────┐
|
|
425
|
+
│ Token Cache Service │
|
|
426
|
+
│ (Cron Job/Timer) │
|
|
427
|
+
│ │
|
|
428
|
+
│ • Checks expiration │
|
|
429
|
+
│ • Fetches new token │
|
|
430
|
+
│ • Updates config │
|
|
431
|
+
└──────────┬───────────┘
|
|
432
|
+
│
|
|
433
|
+
│ 2. Write (Atomic)
|
|
434
|
+
│ jwt + jwt_expires_at
|
|
435
|
+
│
|
|
436
|
+
┌──────────▼───────────┐
|
|
437
|
+
│ │
|
|
438
|
+
│ Shared Config File │
|
|
439
|
+
│ config/scm-config.json │
|
|
440
|
+
│ │
|
|
441
|
+
└──────────┬───────────┘
|
|
442
|
+
│
|
|
443
|
+
┌──────────┴───────────┐
|
|
444
|
+
│ │
|
|
445
|
+
3. Read │ 3. Read │ 3. Read
|
|
446
|
+
┌───────────────┤ ├──────────────┐
|
|
447
|
+
│ │ │ │
|
|
448
|
+
┌────▼────┐ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
|
|
449
|
+
│ SDK │ │ SDK │ ... │ SDK │ │ SDK │
|
|
450
|
+
│Instance │ │Instance │ │Instance │ │Instance │
|
|
451
|
+
│ 1 │ │ 2 │ │ 49 │ │ 50 │
|
|
452
|
+
└─────────┘ └─────────┘ └─────────┘ └─────────┘
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**How It Works:**
|
|
456
|
+
|
|
457
|
+
1. **Token Cache Service** (cron job/systemd timer) runs every 10-12 minutes
|
|
458
|
+
- Checks if cached token is expired or expiring soon (60s buffer)
|
|
459
|
+
- Fetches new JWT token from SCM Auth API if needed
|
|
460
|
+
- Writes updated token to shared config file (atomic write operation)
|
|
461
|
+
|
|
462
|
+
2. **Shared Config File** (config/scm-config.json or SCM_CONFIG_FILE)
|
|
463
|
+
- Contains `client_id`, `client_secret`, and cached `jwt` fields
|
|
464
|
+
- Updated atomically by token cache service
|
|
465
|
+
- Read by all SDK client instances
|
|
466
|
+
|
|
467
|
+
3. **Multiple SDK Client Instances** (concurrent operations)
|
|
468
|
+
- Each instance reads the shared config file on initialization
|
|
469
|
+
- Uses cached JWT token (no API call needed)
|
|
470
|
+
- Can run unlimited concurrent operations without hitting rate limits
|
|
471
|
+
- All instances must use the same `client_id`/`client_secret`
|
|
472
|
+
|
|
473
|
+
**Disclaimer**: This example code is provided "as is" without warranty. It is intended as a reference implementation only. You are responsible for ensuring it meets your organization's security and operational requirements.
|
|
474
|
+
|
|
475
|
+
#### Example: Python Token Cache Service
|
|
476
|
+
|
|
477
|
+
```python
|
|
478
|
+
#!/usr/bin/env python3
|
|
479
|
+
"""
|
|
480
|
+
SCM Token Cache Service
|
|
481
|
+
Fetches and caches JWT tokens for concurrent SCM operations
|
|
482
|
+
"""
|
|
483
|
+
|
|
484
|
+
import json
|
|
485
|
+
import os
|
|
486
|
+
import sys
|
|
487
|
+
from datetime import datetime, timedelta
|
|
488
|
+
from pathlib import Path
|
|
489
|
+
from scm import Scm
|
|
490
|
+
|
|
491
|
+
def atomic_write(path: Path, data: dict):
|
|
492
|
+
"""Write file atomically using temp file + rename"""
|
|
493
|
+
temp_path = path.with_suffix('.tmp')
|
|
494
|
+
with open(temp_path, 'w') as f:
|
|
495
|
+
json.dump(data, f, indent=2)
|
|
496
|
+
temp_path.replace(path)
|
|
497
|
+
|
|
498
|
+
def should_refresh_token(config_path: Path) -> bool:
|
|
499
|
+
"""Check if token needs refresh (missing, expired, or expiring soon)"""
|
|
500
|
+
if not config_path.exists():
|
|
501
|
+
return True
|
|
502
|
+
|
|
503
|
+
try:
|
|
504
|
+
with open(config_path) as f:
|
|
505
|
+
config = json.load(f)
|
|
506
|
+
|
|
507
|
+
# No JWT cached
|
|
508
|
+
if not config.get('jwt'):
|
|
509
|
+
return True
|
|
510
|
+
|
|
511
|
+
# Check expiration with 120s buffer (double the SDK buffer for safety)
|
|
512
|
+
expires_at_str = config.get('jwt_expires_at')
|
|
513
|
+
if not expires_at_str:
|
|
514
|
+
return True
|
|
515
|
+
|
|
516
|
+
expires_at = datetime.fromisoformat(expires_at_str.replace('Z', '+00:00'))
|
|
517
|
+
buffer = timedelta(seconds=120)
|
|
518
|
+
|
|
519
|
+
return datetime.now(expires_at.tzinfo) >= (expires_at - buffer)
|
|
520
|
+
|
|
521
|
+
except Exception as e:
|
|
522
|
+
print(f"Error checking token: {e}", file=sys.stderr)
|
|
523
|
+
return True
|
|
524
|
+
|
|
525
|
+
def refresh_and_cache_token(config_path: Path):
|
|
526
|
+
"""Fetch new token and update config file"""
|
|
527
|
+
try:
|
|
528
|
+
# Initialize SDK client (will fetch token)
|
|
529
|
+
client = Scm()
|
|
530
|
+
|
|
531
|
+
# Build config with fresh token
|
|
532
|
+
config = {
|
|
533
|
+
"client_id": client.client_id,
|
|
534
|
+
"client_secret": client.client_secret,
|
|
535
|
+
"host": client.host,
|
|
536
|
+
"auth_url": client.auth_url,
|
|
537
|
+
"protocol": "https",
|
|
538
|
+
"scope": f"tsg_id:{client.tsg_id}",
|
|
539
|
+
"logging": "ERROR",
|
|
540
|
+
"jwt": client._access_token,
|
|
541
|
+
"jwt_expires_at": client._token_expires_at.isoformat(),
|
|
542
|
+
"jwt_lifetime": client._jwt_lifetime
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
# Atomic write to prevent race conditions
|
|
546
|
+
atomic_write(config_path, config)
|
|
547
|
+
print(f"Token refreshed successfully, expires at {config['jwt_expires_at']}")
|
|
548
|
+
|
|
549
|
+
except Exception as e:
|
|
550
|
+
print(f"Failed to refresh token: {e}", file=sys.stderr)
|
|
551
|
+
sys.exit(1)
|
|
552
|
+
|
|
553
|
+
def main():
|
|
554
|
+
"""Main entry point"""
|
|
555
|
+
config_path = Path(os.getenv('SCM_CONFIG_FILE',
|
|
556
|
+
'config/scm-config.json'))
|
|
557
|
+
|
|
558
|
+
if should_refresh_token(config_path):
|
|
559
|
+
print("Token expired or expiring soon, refreshing...")
|
|
560
|
+
refresh_and_cache_token(config_path)
|
|
561
|
+
else:
|
|
562
|
+
print("Token still valid, skipping refresh")
|
|
563
|
+
|
|
564
|
+
if __name__ == '__main__':
|
|
565
|
+
main()
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
**Usage:**
|
|
569
|
+
|
|
570
|
+
```bash
|
|
571
|
+
# Set permissions
|
|
572
|
+
chmod +x /path/to/token_cache_service.py
|
|
573
|
+
|
|
574
|
+
# Test run
|
|
575
|
+
/usr/bin/python3 /path/to/token_cache_service.py
|
|
576
|
+
|
|
577
|
+
# Add to cron (runs every 10 minutes)
|
|
578
|
+
*/10 * * * * /usr/bin/python3 /path/to/token_cache_service.py
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
### Best Practices
|
|
582
|
+
|
|
583
|
+
1. **Token Caching Service**: Implement a separate service that refreshes tokens and updates the config file
|
|
584
|
+
2. **File Permissions**: Restrict config file access (e.g., `chmod 600 config/scm-config.json`)
|
|
585
|
+
3. **Expiration Buffer**: The SDK automatically uses a 60-second buffer (configurable via `Scm.TOKEN_EXPIRY_BUFFER`)
|
|
586
|
+
4. **Error Handling**: Handle token refresh failures gracefully with retry logic
|
|
587
|
+
5. **Security Isolation**: Each unique `client_id`/`client_secret` pair should have its own token cache file
|
|
588
|
+
6. **Atomic Writes**: Write to temporary file then rename to avoid partial reads
|
|
589
|
+
7. **Monitoring**: Log token refreshes to detect authentication issues early
|
|
590
|
+
|
|
591
|
+
### Related Resources
|
|
592
|
+
|
|
593
|
+
- [GitHub Issue #77: Limited concurrent IaC operations](https://github.com/PaloAltoNetworks/terraform-provider-scm/issues/77)
|
|
594
|
+
- [GitHub Issue #13: Allow passing JWTs to client](https://github.com/PaloAltoNetworks/scm-go/issues/13)
|
|
595
|
+
|
|
596
|
+
## Development
|
|
597
|
+
|
|
598
|
+
### Running Tests
|
|
599
|
+
|
|
600
|
+
```bash
|
|
601
|
+
# Install test dependencies
|
|
602
|
+
pip install pytest pytest-cov
|
|
603
|
+
|
|
604
|
+
# Run all tests
|
|
605
|
+
pytest
|
|
606
|
+
|
|
607
|
+
# Run with coverage
|
|
608
|
+
pytest --cov=scm --cov-report=html
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
### Project Structure
|
|
612
|
+
|
|
613
|
+
```
|
|
614
|
+
scm-python/
|
|
615
|
+
├── scm/
|
|
616
|
+
│ ├── __init__.py # Main Scm client
|
|
617
|
+
│ ├── config_setup/ # Config setup API
|
|
618
|
+
│ ├── deployment_services/ # Deployment services API
|
|
619
|
+
│ ├── device_settings/ # Device settings API
|
|
620
|
+
│ ├── identity_services/ # Identity services API
|
|
621
|
+
│ ├── network_services/ # Network services API
|
|
622
|
+
│ ├── objects/ # Objects API
|
|
623
|
+
│ └── security_services/ # Security services API
|
|
624
|
+
├── config/
|
|
625
|
+
│ └── scm-config.json # Local config (gitignored)
|
|
626
|
+
└── README.md
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
## Quick Start Examples
|
|
630
|
+
|
|
631
|
+
### Create an Address
|
|
632
|
+
|
|
633
|
+
```python
|
|
634
|
+
from scm import Scm
|
|
635
|
+
from scm.objects.models.addresses import Addresses
|
|
636
|
+
|
|
637
|
+
# Initialize client
|
|
638
|
+
client = Scm()
|
|
639
|
+
addresses_api = client.objects.AddressesApi(client.objects.api_client)
|
|
640
|
+
|
|
641
|
+
# Create IP netmask address
|
|
642
|
+
address = Addresses(
|
|
643
|
+
id="",
|
|
644
|
+
name="web-server-01",
|
|
645
|
+
folder="Texas",
|
|
646
|
+
ip_netmask="192.168.1.10/32",
|
|
647
|
+
description="Production web server",
|
|
648
|
+
tag=["Production", "Web"]
|
|
649
|
+
)
|
|
650
|
+
|
|
651
|
+
created = addresses_api.create_addresses(addresses=address)
|
|
652
|
+
print(f"Created address: {created.name} (ID: {created.id})")
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
### Fetch Address by Name
|
|
656
|
+
|
|
657
|
+
```python
|
|
658
|
+
# Fetch single address by name (with auto-pagination)
|
|
659
|
+
address = addresses_api.fetch_addresses(
|
|
660
|
+
name="web-server-01",
|
|
661
|
+
folder="Texas"
|
|
662
|
+
)
|
|
663
|
+
|
|
664
|
+
if address:
|
|
665
|
+
print(f"Found: {address.name} - {address.ip_netmask}")
|
|
666
|
+
else:
|
|
667
|
+
print("Address not found")
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
### List All Addresses with Pagination
|
|
671
|
+
|
|
672
|
+
```python
|
|
673
|
+
# Get all addresses using pagination
|
|
674
|
+
all_addresses = []
|
|
675
|
+
offset = 0
|
|
676
|
+
limit = 200
|
|
677
|
+
|
|
678
|
+
while True:
|
|
679
|
+
response = addresses_api.list_addresses(
|
|
680
|
+
folder="Texas",
|
|
681
|
+
limit=limit,
|
|
682
|
+
offset=offset
|
|
683
|
+
)
|
|
684
|
+
|
|
685
|
+
all_addresses.extend(response.data)
|
|
686
|
+
|
|
687
|
+
if len(response.data) < limit:
|
|
688
|
+
break
|
|
689
|
+
|
|
690
|
+
offset += limit
|
|
691
|
+
|
|
692
|
+
print(f"Total addresses: {len(all_addresses)}")
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
### Update an Address
|
|
696
|
+
|
|
697
|
+
```python
|
|
698
|
+
# Fetch existing address
|
|
699
|
+
address = addresses_api.fetch_addresses(name="web-server-01", folder="Texas")
|
|
700
|
+
|
|
701
|
+
# Modify fields
|
|
702
|
+
address.ip_netmask = "192.168.1.20/32"
|
|
703
|
+
address.description = "Migrated web server"
|
|
704
|
+
|
|
705
|
+
# Update
|
|
706
|
+
updated = addresses_api.update_addresses_by_id(
|
|
707
|
+
id=address.id,
|
|
708
|
+
addresses=address
|
|
709
|
+
)
|
|
710
|
+
print(f"Updated: {updated.name}")
|
|
711
|
+
```
|
|
712
|
+
|
|
713
|
+
### Delete an Address
|
|
714
|
+
|
|
715
|
+
```python
|
|
716
|
+
from scm.exceptions import ObjectNotPresentError, ReferenceNotZeroError
|
|
717
|
+
|
|
718
|
+
try:
|
|
719
|
+
addresses_api.delete_addresses_by_id(id=address.id)
|
|
720
|
+
print(f"Deleted address: {address.id}")
|
|
721
|
+
except ReferenceNotZeroError:
|
|
722
|
+
print("Cannot delete - address is referenced elsewhere")
|
|
723
|
+
except ObjectNotPresentError:
|
|
724
|
+
print("Address already deleted or not found")
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
### Create Security Rule
|
|
728
|
+
|
|
729
|
+
```python
|
|
730
|
+
from scm.security_services.models.security_rules import SecurityRules
|
|
731
|
+
|
|
732
|
+
security_rules_api = client.security_services.SecurityRulesApi(
|
|
733
|
+
client.security_services.api_client
|
|
734
|
+
)
|
|
735
|
+
|
|
736
|
+
rule = SecurityRules(
|
|
737
|
+
id="",
|
|
738
|
+
name="allow-web-traffic",
|
|
739
|
+
folder="Texas",
|
|
740
|
+
source=["Trust-Zone"],
|
|
741
|
+
source_user=["any"],
|
|
742
|
+
destination=["Untrust-Zone"],
|
|
743
|
+
application=["web-browsing", "ssl"],
|
|
744
|
+
service=["application-default"],
|
|
745
|
+
action="allow",
|
|
746
|
+
log_setting="Cortex Data Lake",
|
|
747
|
+
description="Allow web browsing from trust zone"
|
|
748
|
+
)
|
|
749
|
+
|
|
750
|
+
# Note: position is an API parameter, not a model field
|
|
751
|
+
created = security_rules_api.create_security_rules(position="pre", security_rules=rule)
|
|
752
|
+
print(f"Created security rule: {created.name}")
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
## Exception Handling
|
|
756
|
+
|
|
757
|
+
The SDK provides custom exceptions for common API errors:
|
|
758
|
+
|
|
759
|
+
```python
|
|
760
|
+
from scm.exceptions import (
|
|
761
|
+
ObjectNotPresentError, # 404 - Object not found
|
|
762
|
+
NameNotUniqueError, # 409 - Name already exists
|
|
763
|
+
InvalidObjectError, # 400 - Invalid object configuration
|
|
764
|
+
ReferenceNotZeroError, # 409 - Object is referenced elsewhere
|
|
765
|
+
MissingQueryParameterError, # 400 - Missing required parameter
|
|
766
|
+
ScmException # Base exception class
|
|
767
|
+
)
|
|
768
|
+
|
|
769
|
+
try:
|
|
770
|
+
address = addresses_api.create_addresses(addresses=address)
|
|
771
|
+
except NameNotUniqueError as e:
|
|
772
|
+
print(f"Address name already exists: {e.object_name}")
|
|
773
|
+
except InvalidObjectError as e:
|
|
774
|
+
print(f"Invalid address configuration: {e.message}")
|
|
775
|
+
print(f"Details: {e.details}")
|
|
776
|
+
except ScmException as e:
|
|
777
|
+
print(f"SCM API error: {e.message} (code: {e.error_code})")
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
All exceptions are automatically raised by decorators - you never need to manually parse errors.
|
|
781
|
+
|
|
782
|
+
## Compatibility
|
|
783
|
+
|
|
784
|
+
This SDK is **not compatible** with [pan-scm-sdk](https://github.com/cdot65/pan-scm-sdk). They use different API clients, model structures, and authentication patterns. There is no migration path — this is a separate, independently generated SDK.
|
|
785
|
+
|
|
786
|
+
## Features
|
|
787
|
+
|
|
788
|
+
- **Auto-generated from OpenAPI specs** - Always up-to-date with latest API
|
|
789
|
+
- **Pydantic v2 models** - Strong typing and validation
|
|
790
|
+
- **Automatic exception handling** - Custom exceptions for all error types
|
|
791
|
+
- **fetch() method** - Fetch single objects by name with auto-pagination
|
|
792
|
+
- **Token caching** - Share tokens across multiple processes
|
|
793
|
+
- **Automatic token refresh** - Transparent token management
|
|
794
|
+
- **Comprehensive test coverage** - Continuously tested against live SCM API
|
|
795
|
+
- **Thread-safe** - Safe for concurrent operations
|
|
796
|
+
|
|
797
|
+
## Support
|
|
798
|
+
|
|
799
|
+
This is auto-generated code provided as-is for experimental purposes. See [SUPPORT.md](SUPPORT.md) for the support policy.
|
|
800
|
+
|
|
801
|
+
For issues or questions:
|
|
802
|
+
|
|
803
|
+
1. Check the [GitHub Issues](https://github.com/PaloAltoNetworks/scm-python/issues)
|
|
804
|
+
2. Review the [documentation](docs/)
|
|
805
|
+
|
|
806
|
+
## License
|
|
807
|
+
|
|
808
|
+
This software is provided "as is" without warranty. See LICENSE file for details.
|