fp-NGFW-SMC-python 1.0.33__tar.gz → 1.0.35__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fp_ngfw_smc_python-1.0.35/.gitignore +29 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/MANIFEST.in +1 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/PKG-INFO +4 -4
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/README.rst +2 -2
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/fp_NGFW_SMC_python.egg-info/PKG-INFO +4 -4
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/fp_NGFW_SMC_python.egg-info/SOURCES.txt +14 -3
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/pyproject.toml +14 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/__init__.py +10 -7
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/__version__.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/access_rights.py +41 -23
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/certificates/certificate_authority.py +12 -9
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/certificates/tls.py +73 -46
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/certificates/tls_common.py +34 -17
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/certificates/vpn.py +35 -33
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/eca_client_config.py +63 -31
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/filter.py +5 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/license.py +11 -8
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/monitoring_status.py +159 -107
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/reports.py +43 -25
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/role.py +8 -4
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/scheduled_tasks.py +136 -109
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/system.py +289 -121
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/system_properties.py +38 -7
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/tasks.py +48 -46
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/upcoming_event.py +33 -30
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/updates.py +18 -10
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/user_auth/servers.py +146 -144
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/user_auth/users.py +53 -32
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/api/common.py +31 -22
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/api/configloader.py +13 -9
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/api/entry_point.py +10 -7
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/api/exceptions.py +10 -6
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/api/session.py +155 -96
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/api/web.py +70 -11
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/base/collection.py +82 -54
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/base/decorators.py +26 -21
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/base/mixins.py +9 -3
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/base/model.py +98 -82
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/base/structs.py +20 -18
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/base/util.py +18 -14
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/compat.py +30 -20
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/addon.py +80 -77
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/advanced_settings.py +13 -9
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/collection.py +265 -181
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/contact_address.py +32 -16
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/engine.py +575 -504
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/engine_vss.py +33 -23
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/engines.py +366 -350
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/external_pki.py +24 -20
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/general.py +59 -55
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/ha_management.py +105 -68
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/interfaces.py +391 -156
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/lldp.py +27 -25
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/node.py +101 -95
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/policy.py +18 -16
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/resource.py +16 -14
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/route.py +96 -94
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/session_monitoring.py +4 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/sub_interfaces.py +75 -53
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/waiters.py +21 -17
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/conf.py +2 -2
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/reference.rst +8 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/alerts.py +73 -39
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/common.py +41 -28
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/group.py +143 -50
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/helpers.py +13 -9
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/netlink.py +110 -70
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/network.py +84 -69
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/other.py +125 -82
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/profiles.py +97 -82
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/protocols.py +36 -23
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/servers.py +643 -449
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/service.py +93 -43
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/situations.py +46 -42
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/ssm.py +27 -23
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/tags.py +8 -4
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/user.py +115 -84
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/custom_script.zip +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/gateway_certificates.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/group.py +21 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/layer3_cluster.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/layer3_cluster_ldap_replication.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/layer3_firewall.py +111 -9
- fp_ngfw_smc_python-1.0.35/smc/examples/modem_interface.py +159 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring/black_list.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring/block_list.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring/ws_async.py +5 -6
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/scheduled_tasks.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/type_of_servers.py +42 -12
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/update_package.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/web_access_server.py +56 -2
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/file_filtering.py +26 -21
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/interface.py +15 -9
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/ips.py +15 -7
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/layer2.py +13 -5
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/layer3.py +16 -10
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/policy.py +17 -15
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/qos.py +8 -21
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/rule.py +159 -115
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/rule_elements.py +200 -182
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/rule_nat.py +91 -83
- fp_ngfw_smc_python-1.0.35/smc/py.typed +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/access_list.py +24 -12
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/bgp.py +130 -126
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/bgp_access_list.py +3 -3
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/ospf.py +67 -54
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/pim.py +79 -36
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/prefix_list.py +2 -2
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/route_map.py +40 -36
- fp_ngfw_smc_python-1.0.35/smc/tests/api_base_administration_bugs_test.py +91 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/api_web_debug_test.py +79 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/core_bugs_test.py +133 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/elements_bugs_test.py +97 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/engine_bugs_test.py +182 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/internal_gateway_test.py +75 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/monitoring_status_test.py +79 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/policy_vpn_bugs_test.py +99 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/smc_monitoring_entries_test.py +74 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/smc_request_headers_test.py +34 -0
- fp_ngfw_smc_python-1.0.35/smc/tests/system_import_interactive_test.py +98 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/vpn/application_access_portal.py +177 -147
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/vpn/elements.py +169 -130
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/vpn/policy.py +52 -48
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/vpn/route.py +129 -125
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/vpn/ssl_vpn_portal.py +173 -147
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/HISTORY.rst +7 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/MANIFEST.in +1 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/pyproject.toml +6 -2
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/requirements.txt +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/__version__.py +1 -1
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/calendar.py +20 -19
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/filters.py +27 -22
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/formats.py +13 -10
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/formatters.py +17 -11
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/query.py +39 -24
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/values.py +14 -10
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/alerts.py +21 -19
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/blacklist.py +24 -21
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/block_list.py +24 -21
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/connections.py +18 -16
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/logs.py +18 -13
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/neighbors.py +19 -17
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/routes.py +18 -16
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/sslvpn.py +13 -11
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/users.py +14 -12
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/vpns.py +25 -23
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/pubsub/subscribers.py +11 -9
- fp_ngfw_smc_python-1.0.35/smc-monitoring/smc_monitoring/py.typed +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/wsocket.py +42 -33
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/tox.ini +2 -3
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/tox.ini +2 -8
- fp_ngfw_smc_python-1.0.33/.gitignore +0 -15
- fp_ngfw_smc_python-1.0.33/smc/tests/docker_smc_bootstrap.py +0 -349
- fp_ngfw_smc_python-1.0.33/smc-monitoring/test.py +0 -403
- fp_ngfw_smc_python-1.0.33/smc-monitoring/tests/docker_smc_bootstrap.py +0 -324
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/.coveragerc +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/.readthedocs.yaml +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/HISTORY.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/LICENSE +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/fp_NGFW_SMC_python.egg-info/dependency_links.txt +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/fp_NGFW_SMC_python.egg-info/requires.txt +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/fp_NGFW_SMC_python.egg-info/top_level.txt +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/setup.cfg +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/.gitignore +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/actions/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/certificates/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/administration/user_auth/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/api/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/base/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/core/hardware.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/.gitignore +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/Makefile +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/index.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/administration.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/collections.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/elements.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/engine.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/extensions.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/installation.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/intro.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/logging.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/policy.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/resources.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/session.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/pages/vpn.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/docs/requirements.txt +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/elements/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/README.md +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/add_sidewinder_routes.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/aggregated_interface.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/alert_chain_and_alert_chain_rule.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/alert_policy_and_alert_rule.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/alias.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/application_access_portal.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/basic_requests.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/bgp.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/certify_component_ext_pki.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/cloud_engine.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/configure_ztna_addon.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/connection_type.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/domain_name.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/eca_configuration.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/elasticsearch_cluster.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/engine-node-health.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/engine_query_route.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/export_all.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/file_filtering_policy.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/firewall_policy_nat.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/gateway_profile.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/ha_management.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/images/256.png +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/import_engine_upgrade.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/internal_gateway.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/internal_user_and_user_group.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/ip_lists.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/lldp.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/login_domain_username_password.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/match_expression.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/mini_reports.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring/logs.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring/neighbor.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring/routing_monitoring.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring/vpn_sa.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/monitoring_status.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/netlink.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/network.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/policy_rule_source_vpn.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/profiles.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/protocol_agent.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/rule_cleanup.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/run_example.sh +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/servers.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/service.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/situations.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/ssl_vpn_portal.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/ssm_elements.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/sub_policies.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/switch_interface.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/sync_admins.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/sync_admins_config.json +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/system_properties.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/tasks.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/template_policies.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/test-parallel-multiprocessing.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/upcoming_event.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/update_server_profile.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/url_list_application.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/user_id_service.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/virtual_engines.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/vpn_profile.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/vpn_site.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/examples/vpn_to_external_peer.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/known_issues +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/policy/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/routing/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/tests/.gitignore +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/tests/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc/vpn/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/.coveragerc +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/LICENSE +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/README.rst +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/models/constants.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/monitors/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/smc_monitoring/pubsub/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/tests/__init__.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/tests/test_filters.py +0 -0
- {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/smc-monitoring/tests/test_queries.py +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# remove all intellij conf giles
|
|
2
|
+
.DS_store
|
|
3
|
+
.idea*/*
|
|
4
|
+
*.pyc
|
|
5
|
+
build/*
|
|
6
|
+
dist/*
|
|
7
|
+
/.env
|
|
8
|
+
fp_NGFW_SMC_python.egg-info/*
|
|
9
|
+
smc-monitoring/build/*
|
|
10
|
+
smc-monitoring/dist/*
|
|
11
|
+
smc-monitoring/fp_NGFW_SMC_python_monitoring.egg-info/*
|
|
12
|
+
venv*
|
|
13
|
+
**/**/smc_info.py
|
|
14
|
+
.terraform*
|
|
15
|
+
*.tfstate*
|
|
16
|
+
*tf.log
|
|
17
|
+
terraform/**/*.pem
|
|
18
|
+
*.tfvars*
|
|
19
|
+
qa/results/*
|
|
20
|
+
qa/smc-test-module/terraform/**/**/*.backup
|
|
21
|
+
qa/smc-test-module/terraform/**/**/*.tfstate*
|
|
22
|
+
qa/smc-test-module/terraform/**/**/*.hcl
|
|
23
|
+
qa/smc-test-module/terraform/**/*.output
|
|
24
|
+
qa/smc-test-module/terraform/**/smc_build
|
|
25
|
+
qa/smc-test-module/terraform/**/*input
|
|
26
|
+
qa/smc-test-module/docker/**/smc-python
|
|
27
|
+
**/**/progress_report_*_result
|
|
28
|
+
*.lock
|
|
29
|
+
LAST_SKILL_UPDATE
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fp-NGFW-SMC-python
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.35
|
|
4
4
|
Summary: Python based API to Forcepoint NGFW Management Center
|
|
5
5
|
Author-email: Forcepoint <PSIRT@forcepoint.com>
|
|
6
6
|
License: Apache License (2.0)
|
|
7
7
|
Classifier: Development Status :: 5 - Production/Stable
|
|
8
8
|
Classifier: Programming Language :: Python
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/x-rst
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: requests>=2.31.0
|
|
@@ -52,7 +52,7 @@ Some of the functionality you get with the SMC Python API:
|
|
|
52
52
|
Requirements
|
|
53
53
|
------------
|
|
54
54
|
|
|
55
|
-
Python >= 3.
|
|
55
|
+
Python >= 3.9
|
|
56
56
|
|
|
57
57
|
Requests >= 2.32.0
|
|
58
58
|
websocket-client >= 1.8.0
|
|
@@ -134,7 +134,7 @@ Documentation
|
|
|
134
134
|
|
|
135
135
|
`View Documentation on Read The Docs <http://fp-ngfw-smc-python.readthedocs.io/en/latest/?badge=latest>`__
|
|
136
136
|
|
|
137
|
-
.. |Python version| image:: https://img.shields.io/badge/python-
|
|
137
|
+
.. |Python version| image:: https://img.shields.io/badge/python-3.9%2B-blue
|
|
138
138
|
:target: https://pypi.python.org/pypi/fp-NGFW-SMC-python/
|
|
139
139
|
|
|
140
140
|
Release History
|
|
@@ -35,7 +35,7 @@ Some of the functionality you get with the SMC Python API:
|
|
|
35
35
|
Requirements
|
|
36
36
|
------------
|
|
37
37
|
|
|
38
|
-
Python >= 3.
|
|
38
|
+
Python >= 3.9
|
|
39
39
|
|
|
40
40
|
Requests >= 2.32.0
|
|
41
41
|
websocket-client >= 1.8.0
|
|
@@ -117,5 +117,5 @@ Documentation
|
|
|
117
117
|
|
|
118
118
|
`View Documentation on Read The Docs <http://fp-ngfw-smc-python.readthedocs.io/en/latest/?badge=latest>`__
|
|
119
119
|
|
|
120
|
-
.. |Python version| image:: https://img.shields.io/badge/python-
|
|
120
|
+
.. |Python version| image:: https://img.shields.io/badge/python-3.9%2B-blue
|
|
121
121
|
:target: https://pypi.python.org/pypi/fp-NGFW-SMC-python/
|
{fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/fp_NGFW_SMC_python.egg-info/PKG-INFO
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fp-NGFW-SMC-python
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.35
|
|
4
4
|
Summary: Python based API to Forcepoint NGFW Management Center
|
|
5
5
|
Author-email: Forcepoint <PSIRT@forcepoint.com>
|
|
6
6
|
License: Apache License (2.0)
|
|
7
7
|
Classifier: Development Status :: 5 - Production/Stable
|
|
8
8
|
Classifier: Programming Language :: Python
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/x-rst
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: requests>=2.31.0
|
|
@@ -52,7 +52,7 @@ Some of the functionality you get with the SMC Python API:
|
|
|
52
52
|
Requirements
|
|
53
53
|
------------
|
|
54
54
|
|
|
55
|
-
Python >= 3.
|
|
55
|
+
Python >= 3.9
|
|
56
56
|
|
|
57
57
|
Requests >= 2.32.0
|
|
58
58
|
websocket-client >= 1.8.0
|
|
@@ -134,7 +134,7 @@ Documentation
|
|
|
134
134
|
|
|
135
135
|
`View Documentation on Read The Docs <http://fp-ngfw-smc-python.readthedocs.io/en/latest/?badge=latest>`__
|
|
136
136
|
|
|
137
|
-
.. |Python version| image:: https://img.shields.io/badge/python-
|
|
137
|
+
.. |Python version| image:: https://img.shields.io/badge/python-3.9%2B-blue
|
|
138
138
|
:target: https://pypi.python.org/pypi/fp-NGFW-SMC-python/
|
|
139
139
|
|
|
140
140
|
Release History
|
{fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.35}/fp_NGFW_SMC_python.egg-info/SOURCES.txt
RENAMED
|
@@ -17,6 +17,7 @@ smc/__init__.py
|
|
|
17
17
|
smc/__version__.py
|
|
18
18
|
smc/compat.py
|
|
19
19
|
smc/known_issues
|
|
20
|
+
smc/py.typed
|
|
20
21
|
smc-monitoring/.coveragerc
|
|
21
22
|
smc-monitoring/HISTORY.rst
|
|
22
23
|
smc-monitoring/LICENSE
|
|
@@ -24,10 +25,10 @@ smc-monitoring/MANIFEST.in
|
|
|
24
25
|
smc-monitoring/README.rst
|
|
25
26
|
smc-monitoring/pyproject.toml
|
|
26
27
|
smc-monitoring/requirements.txt
|
|
27
|
-
smc-monitoring/test.py
|
|
28
28
|
smc-monitoring/tox.ini
|
|
29
29
|
smc-monitoring/smc_monitoring/__init__.py
|
|
30
30
|
smc-monitoring/smc_monitoring/__version__.py
|
|
31
|
+
smc-monitoring/smc_monitoring/py.typed
|
|
31
32
|
smc-monitoring/smc_monitoring/wsocket.py
|
|
32
33
|
smc-monitoring/smc_monitoring/models/__init__.py
|
|
33
34
|
smc-monitoring/smc_monitoring/models/calendar.py
|
|
@@ -51,7 +52,6 @@ smc-monitoring/smc_monitoring/monitors/vpns.py
|
|
|
51
52
|
smc-monitoring/smc_monitoring/pubsub/__init__.py
|
|
52
53
|
smc-monitoring/smc_monitoring/pubsub/subscribers.py
|
|
53
54
|
smc-monitoring/tests/__init__.py
|
|
54
|
-
smc-monitoring/tests/docker_smc_bootstrap.py
|
|
55
55
|
smc-monitoring/tests/test_filters.py
|
|
56
56
|
smc-monitoring/tests/test_queries.py
|
|
57
57
|
smc/actions/__init__.py
|
|
@@ -184,6 +184,7 @@ smc/examples/lldp.py
|
|
|
184
184
|
smc/examples/login_domain_username_password.py
|
|
185
185
|
smc/examples/match_expression.py
|
|
186
186
|
smc/examples/mini_reports.py
|
|
187
|
+
smc/examples/modem_interface.py
|
|
187
188
|
smc/examples/monitoring_status.py
|
|
188
189
|
smc/examples/netlink.py
|
|
189
190
|
smc/examples/network.py
|
|
@@ -246,7 +247,17 @@ smc/routing/prefix_list.py
|
|
|
246
247
|
smc/routing/route_map.py
|
|
247
248
|
smc/tests/.gitignore
|
|
248
249
|
smc/tests/__init__.py
|
|
249
|
-
smc/tests/
|
|
250
|
+
smc/tests/api_base_administration_bugs_test.py
|
|
251
|
+
smc/tests/api_web_debug_test.py
|
|
252
|
+
smc/tests/core_bugs_test.py
|
|
253
|
+
smc/tests/elements_bugs_test.py
|
|
254
|
+
smc/tests/engine_bugs_test.py
|
|
255
|
+
smc/tests/internal_gateway_test.py
|
|
256
|
+
smc/tests/monitoring_status_test.py
|
|
257
|
+
smc/tests/policy_vpn_bugs_test.py
|
|
258
|
+
smc/tests/smc_monitoring_entries_test.py
|
|
259
|
+
smc/tests/smc_request_headers_test.py
|
|
260
|
+
smc/tests/system_import_interactive_test.py
|
|
250
261
|
smc/vpn/__init__.py
|
|
251
262
|
smc/vpn/application_access_portal.py
|
|
252
263
|
smc/vpn/elements.py
|
|
@@ -16,7 +16,7 @@ authors = [
|
|
|
16
16
|
{name = "Forcepoint", email = "PSIRT@forcepoint.com"},
|
|
17
17
|
]
|
|
18
18
|
description = "Python based API to Forcepoint NGFW Management Center"
|
|
19
|
-
requires-python = ">=3.
|
|
19
|
+
requires-python = ">=3.9"
|
|
20
20
|
license = {text = "Apache License (2.0)"}
|
|
21
21
|
dynamic = ["version", "readme"]
|
|
22
22
|
dependencies = [
|
|
@@ -47,3 +47,16 @@ namespaces = true # true by default
|
|
|
47
47
|
[tool.setuptools]
|
|
48
48
|
include-package-data = true
|
|
49
49
|
license-files = ["LICENSE"]
|
|
50
|
+
|
|
51
|
+
[tool.setuptools.package-data]
|
|
52
|
+
smc = ["py.typed"]
|
|
53
|
+
|
|
54
|
+
[tool.mypy]
|
|
55
|
+
# Run from this directory: `mypy` (no argument). Enforced by `make check-tests`.
|
|
56
|
+
python_version = "3.9"
|
|
57
|
+
ignore_missing_imports = true
|
|
58
|
+
files = ["smc", "smc-monitoring/smc_monitoring"]
|
|
59
|
+
exclude = '^smc/(tests|examples|docs)/'
|
|
60
|
+
check_untyped_defs = true
|
|
61
|
+
disallow_untyped_defs = true
|
|
62
|
+
disallow_incomplete_defs = true
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
10
10
|
# License for the specific language governing permissions and limitations
|
|
11
11
|
# under the License.
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
|
|
14
|
+
from typing import Any, Optional, Union, Iterator
|
|
12
15
|
|
|
13
16
|
import logging
|
|
14
17
|
|
|
@@ -17,11 +20,11 @@ from smc.base.util import import_submodules
|
|
|
17
20
|
|
|
18
21
|
from .__version__ import __version__
|
|
19
22
|
|
|
20
|
-
session_name = None
|
|
23
|
+
session_name: Optional[str] = None
|
|
21
24
|
manager = SessionManager.create()
|
|
22
25
|
session = manager.get_default_session()
|
|
23
26
|
|
|
24
|
-
def get_session_by_user(user):
|
|
27
|
+
def get_session_by_user(user: Optional[str]) -> Any:
|
|
25
28
|
"""
|
|
26
29
|
Get a session specifically by it's name
|
|
27
30
|
or new Session if not found in manager
|
|
@@ -39,8 +42,8 @@ try: # Python 2.7+
|
|
|
39
42
|
from logging import NullHandler
|
|
40
43
|
except ImportError:
|
|
41
44
|
|
|
42
|
-
class NullHandler(logging.Handler):
|
|
43
|
-
def emit(self, record):
|
|
45
|
+
class NullHandler(logging.Handler): # type: ignore[no-redef] # py2 fallback
|
|
46
|
+
def emit(self, record: Any) -> None:
|
|
44
47
|
pass
|
|
45
48
|
|
|
46
49
|
|
|
@@ -50,7 +53,7 @@ logging.getLogger(__name__).addHandler(NullHandler())
|
|
|
50
53
|
LOG_FORMAT = "%(asctime)s - %(name)s - [%(levelname)s] - %(message)s"
|
|
51
54
|
|
|
52
55
|
|
|
53
|
-
def set_stream_logger(log_level=logging.DEBUG, format_string=None, logger_name="smc"):
|
|
56
|
+
def set_stream_logger(log_level: int = logging.DEBUG, format_string: Optional[str] = None, logger_name: str = "smc") -> None:
|
|
54
57
|
"""
|
|
55
58
|
Stream logger convenience function to log to console
|
|
56
59
|
|
|
@@ -75,7 +78,7 @@ def set_stream_logger(log_level=logging.DEBUG, format_string=None, logger_name="
|
|
|
75
78
|
logger.addHandler(ch)
|
|
76
79
|
|
|
77
80
|
|
|
78
|
-
def set_file_logger(path, log_level=logging.DEBUG, format_string=None, logger_name="smc"):
|
|
81
|
+
def set_file_logger(path: str, log_level: int = logging.DEBUG, format_string: Optional[str] = None, logger_name: str = "smc") -> None:
|
|
79
82
|
"""
|
|
80
83
|
Convenience function to quickly configure any level of logging
|
|
81
84
|
to a file.
|
|
@@ -103,7 +106,7 @@ def set_file_logger(path, log_level=logging.DEBUG, format_string=None, logger_na
|
|
|
103
106
|
log.addHandler(ch)
|
|
104
107
|
|
|
105
108
|
|
|
106
|
-
def _import_registry():
|
|
109
|
+
def _import_registry() -> None:
|
|
107
110
|
# Load the modules to register needed classes
|
|
108
111
|
# This should be extracted and made dynamic
|
|
109
112
|
for pkg in (
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
Access Control Lists are assigned to SMC admin accounts to grant limited
|
|
14
14
|
access permissions to either Engines, Policies or Domains.
|
|
15
15
|
"""
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
|
|
18
|
+
from typing import Any, Iterator, Optional, Union, cast
|
|
16
19
|
|
|
17
20
|
from smc.base.model import Element, ElementCreator
|
|
18
21
|
from smc.base.structs import NestedDict
|
|
@@ -36,7 +39,7 @@ class AccessControlList(Element):
|
|
|
36
39
|
typeof = "access_control_list"
|
|
37
40
|
|
|
38
41
|
@classmethod
|
|
39
|
-
def create(cls, name, granted_element=None):
|
|
42
|
+
def create(cls, name: str, granted_element: Optional[Any] = None) -> "AccessControlList":
|
|
40
43
|
"""
|
|
41
44
|
Create a new ACL
|
|
42
45
|
|
|
@@ -54,7 +57,7 @@ class AccessControlList(Element):
|
|
|
54
57
|
return ElementCreator(cls, json)
|
|
55
58
|
|
|
56
59
|
@property
|
|
57
|
-
def permissions(self):
|
|
60
|
+
def permissions(self) -> list[Any]:
|
|
58
61
|
"""
|
|
59
62
|
Elements associated to this permission. Granted elements can be
|
|
60
63
|
Engines, Policies or other Access Control Lists.
|
|
@@ -63,7 +66,7 @@ class AccessControlList(Element):
|
|
|
63
66
|
"""
|
|
64
67
|
return [Element.from_href(e) for e in self.granted_element]
|
|
65
68
|
|
|
66
|
-
def add_permission(self, elements):
|
|
69
|
+
def add_permission(self, elements: Any) -> None:
|
|
67
70
|
"""
|
|
68
71
|
Add permission/s to this ACL. By default this change is committed
|
|
69
72
|
after the method is called.
|
|
@@ -78,7 +81,7 @@ class AccessControlList(Element):
|
|
|
78
81
|
self.data["granted_element"].extend(elements)
|
|
79
82
|
self.update()
|
|
80
83
|
|
|
81
|
-
def remove_permission(self, elements):
|
|
84
|
+
def remove_permission(self, elements: Any) -> None:
|
|
82
85
|
"""
|
|
83
86
|
Remove permission/s to this ACL. Change is committed at end of
|
|
84
87
|
method call.
|
|
@@ -112,7 +115,12 @@ class Permission(NestedDict):
|
|
|
112
115
|
.. seealso:: :py:mod:`smc.elements.user`
|
|
113
116
|
"""
|
|
114
117
|
|
|
115
|
-
def __init__(
|
|
118
|
+
def __init__(
|
|
119
|
+
self,
|
|
120
|
+
granted_elements: Optional[Any] = None,
|
|
121
|
+
role_ref: Optional[Any] = None,
|
|
122
|
+
granted_domain_ref: Optional[Any] = None,
|
|
123
|
+
) -> None:
|
|
116
124
|
if granted_elements is None:
|
|
117
125
|
granted_elements = []
|
|
118
126
|
data = dict(
|
|
@@ -124,7 +132,7 @@ class Permission(NestedDict):
|
|
|
124
132
|
super(Permission, self).__init__(data=data)
|
|
125
133
|
|
|
126
134
|
@classmethod
|
|
127
|
-
def create(cls, elements, role, domain=None):
|
|
135
|
+
def create(cls, elements: Any, role: Any, domain: Optional[Any] = None) -> "Permission":
|
|
128
136
|
"""
|
|
129
137
|
Create a permission.
|
|
130
138
|
|
|
@@ -141,27 +149,27 @@ class Permission(NestedDict):
|
|
|
141
149
|
return Permission(granted_elements=elements, role_ref=role, granted_domain_ref=domain)
|
|
142
150
|
|
|
143
151
|
@property
|
|
144
|
-
def granted_elements(self):
|
|
152
|
+
def granted_elements(self) -> list[Any]:
|
|
145
153
|
"""
|
|
146
154
|
List of elements this permission has rights to. Elements will be of type
|
|
147
155
|
Engine, Policy or ACLs
|
|
148
156
|
|
|
149
157
|
:rtype: list(Element)
|
|
150
158
|
"""
|
|
151
|
-
return [Element.from_href(element) for element in self.get("granted_elements")]
|
|
159
|
+
return [Element.from_href(element) for element in cast(list, self.get("granted_elements"))]
|
|
152
160
|
|
|
153
161
|
@property
|
|
154
|
-
def role(self):
|
|
162
|
+
def role(self) -> Any:
|
|
155
163
|
"""
|
|
156
164
|
Specific Role assigned to this permission. A role is what allows read/write
|
|
157
165
|
access to specific operations on the granted elements
|
|
158
166
|
|
|
159
167
|
:rtype: Role
|
|
160
168
|
"""
|
|
161
|
-
return Element.from_href(self.get("role_ref"))
|
|
169
|
+
return Element.from_href(cast(str, self.get("role_ref")))
|
|
162
170
|
|
|
163
171
|
@property
|
|
164
|
-
def domain(self):
|
|
172
|
+
def domain(self) -> Any:
|
|
165
173
|
"""
|
|
166
174
|
Domain this permission applies to. Shared Domain if unspecified.
|
|
167
175
|
|
|
@@ -169,7 +177,7 @@ class Permission(NestedDict):
|
|
|
169
177
|
"""
|
|
170
178
|
return Element.from_href(self.get("granted_domain_ref", "Shared Domain"))
|
|
171
179
|
|
|
172
|
-
def __repr__(self):
|
|
180
|
+
def __repr__(self) -> str:
|
|
173
181
|
return "Permission(elements={}, role={}, domain={})".format(
|
|
174
182
|
self.granted_elements, self.role, self.domain
|
|
175
183
|
)
|
|
@@ -180,11 +188,16 @@ class GrantedElementPermissions(NestedDict):
|
|
|
180
188
|
The Granted Element permissions container.
|
|
181
189
|
"""
|
|
182
190
|
|
|
183
|
-
def __init__(self, data):
|
|
191
|
+
def __init__(self, data: Any) -> None:
|
|
184
192
|
super(GrantedElementPermissions, self).__init__(data=data)
|
|
185
193
|
|
|
186
194
|
@classmethod
|
|
187
|
-
def create(
|
|
195
|
+
def create(
|
|
196
|
+
cls,
|
|
197
|
+
cluster_ref: Optional[Any] = None,
|
|
198
|
+
granted_access_control_list: list[Any] = [],
|
|
199
|
+
role_containers: list[Any] = [],
|
|
200
|
+
) -> "GrantedElementPermissions":
|
|
188
201
|
"""
|
|
189
202
|
:param str cluster_ref: The associated cluster with granted permission.
|
|
190
203
|
:param list(str) granted_access_control_list: Granted Access Control Lists.
|
|
@@ -200,24 +213,24 @@ class GrantedElementPermissions(NestedDict):
|
|
|
200
213
|
return cls(json)
|
|
201
214
|
|
|
202
215
|
@property
|
|
203
|
-
def cluster_ref(self):
|
|
216
|
+
def cluster_ref(self) -> Optional[str]:
|
|
204
217
|
"""
|
|
205
218
|
The associated cluster with granted permission.
|
|
206
219
|
"""
|
|
207
220
|
return self.data.get("cluster_ref")
|
|
208
221
|
|
|
209
|
-
def granted_access_control_list(self):
|
|
222
|
+
def granted_access_control_list(self) -> Any:
|
|
210
223
|
"""
|
|
211
224
|
Granted Access Control Lists.
|
|
212
225
|
"""
|
|
213
226
|
return self.data.get("granted_access_control_list")
|
|
214
227
|
|
|
215
228
|
@property
|
|
216
|
-
def role_containers(self):
|
|
229
|
+
def role_containers(self) -> list[Any]:
|
|
217
230
|
"""
|
|
218
231
|
Granted Role containers.
|
|
219
232
|
"""
|
|
220
|
-
return [AdminRoleContainer(container) for container in self.data.get("role_containers")]
|
|
233
|
+
return [AdminRoleContainer(container) for container in cast(list, self.data.get("role_containers"))]
|
|
221
234
|
|
|
222
235
|
|
|
223
236
|
class AdminRoleContainer(NestedDict):
|
|
@@ -225,11 +238,16 @@ class AdminRoleContainer(NestedDict):
|
|
|
225
238
|
Represents a permission for a Granted Element: Role <-> Administrator <-> Granted Domain
|
|
226
239
|
"""
|
|
227
240
|
|
|
228
|
-
def __init__(self, data):
|
|
241
|
+
def __init__(self, data: Any) -> None:
|
|
229
242
|
super(AdminRoleContainer, self).__init__(data=data)
|
|
230
243
|
|
|
231
244
|
@classmethod
|
|
232
|
-
def create(
|
|
245
|
+
def create(
|
|
246
|
+
cls,
|
|
247
|
+
roles: list[Any] = [],
|
|
248
|
+
admin: Optional[Any] = None,
|
|
249
|
+
granted_domain: Optional[Any] = None,
|
|
250
|
+
) -> "AdminRoleContainer":
|
|
233
251
|
"""
|
|
234
252
|
Represents a permission for a Granted Element: Role <-> Administrator <-> Granted Domain.
|
|
235
253
|
:param Role roles: The dedicated Administrative Roles for access rights.
|
|
@@ -243,21 +261,21 @@ class AdminRoleContainer(NestedDict):
|
|
|
243
261
|
return cls(json)
|
|
244
262
|
|
|
245
263
|
@property
|
|
246
|
-
def roles(self):
|
|
264
|
+
def roles(self) -> Any:
|
|
247
265
|
"""
|
|
248
266
|
The dedicated Administrative Roles for access rights.
|
|
249
267
|
"""
|
|
250
268
|
return self.data.get("roles")
|
|
251
269
|
|
|
252
270
|
@property
|
|
253
|
-
def admin_ref(self):
|
|
271
|
+
def admin_ref(self) -> Optional[str]:
|
|
254
272
|
"""
|
|
255
273
|
The dedicated Administrator.
|
|
256
274
|
"""
|
|
257
275
|
return self.data.get("admin_ref")
|
|
258
276
|
|
|
259
277
|
@property
|
|
260
|
-
def granted_domain_ref(self):
|
|
278
|
+
def granted_domain_ref(self) -> Optional[str]:
|
|
261
279
|
"""
|
|
262
280
|
The dedicated Administrative Domain.
|
|
263
281
|
"""
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
"""
|
|
13
13
|
Module representing certificate authority in SMC
|
|
14
14
|
"""
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from typing import Any, Optional, Union, Iterator
|
|
15
18
|
|
|
16
19
|
from smc.administration.tasks import TaskOperationPoller
|
|
17
20
|
from smc.api.exceptions import TaskRunFailed
|
|
@@ -28,14 +31,14 @@ class CertificateAuthority(Element):
|
|
|
28
31
|
typeof = 'certificate_authority'
|
|
29
32
|
|
|
30
33
|
@property
|
|
31
|
-
def certificate_state(self):
|
|
34
|
+
def certificate_state(self) -> Optional[str]:
|
|
32
35
|
"""
|
|
33
36
|
represents the state of the certificate authority.
|
|
34
37
|
:rtype: str
|
|
35
38
|
"""
|
|
36
39
|
return self.data.get("certificate_state")
|
|
37
40
|
|
|
38
|
-
def un_trust(self):
|
|
41
|
+
def un_trust(self) -> Any:
|
|
39
42
|
task = self.make_request(
|
|
40
43
|
TaskRunFailed, method="update", resource="untrust"
|
|
41
44
|
)
|
|
@@ -43,7 +46,7 @@ class CertificateAuthority(Element):
|
|
|
43
46
|
task=task, wait_for_finish=True
|
|
44
47
|
)
|
|
45
48
|
|
|
46
|
-
def export_certificate(self, filename=None):
|
|
49
|
+
def export_certificate(self, filename: Optional[str] = None) -> Optional[str]:
|
|
47
50
|
"""
|
|
48
51
|
Export the certificate for the given Certificate Authority.
|
|
49
52
|
:raises CertificateExportError: error exporting certificate
|
|
@@ -55,21 +58,21 @@ class CertificateAuthority(Element):
|
|
|
55
58
|
|
|
56
59
|
if filename is not None:
|
|
57
60
|
save_to_file(filename, result.content)
|
|
58
|
-
return
|
|
61
|
+
return # type: ignore[return-value] # implicit None
|
|
59
62
|
|
|
60
63
|
return result.content
|
|
61
64
|
|
|
62
|
-
def duplicate(self, name):
|
|
65
|
+
def duplicate(self, name: Any) -> Any:
|
|
63
66
|
raise NotImplementedError(f"This method is not supported for {self.__class__.__name__}")
|
|
64
67
|
|
|
65
|
-
def export(self, name):
|
|
68
|
+
def export(self, name: Any) -> Any: # type: ignore[override] # unsupported, signature differs
|
|
66
69
|
raise NotImplementedError(f"This method is not supported for {self.__class__.__name__}")
|
|
67
70
|
|
|
68
|
-
def add_category(self, name):
|
|
71
|
+
def add_category(self, name: Any) -> Any:
|
|
69
72
|
raise NotImplementedError(f"This method is not supported for {self.__class__.__name__}")
|
|
70
73
|
|
|
71
|
-
def categories(self, name):
|
|
74
|
+
def categories(self, name: Any) -> Any: # type: ignore[override] # unsupported, overrides a property
|
|
72
75
|
raise NotImplementedError(f"This method is not supported for {self.__class__.__name__}")
|
|
73
76
|
|
|
74
|
-
def rename(self, name):
|
|
77
|
+
def rename(self, name: Any) -> Any:
|
|
75
78
|
raise NotImplementedError(f"This method is not supported for {self.__class__.__name__}")
|