fp-NGFW-SMC-python 1.0.33__tar.gz → 1.0.34__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.
Files changed (261) hide show
  1. fp_ngfw_smc_python-1.0.34/.gitignore +28 -0
  2. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/MANIFEST.in +1 -0
  3. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/PKG-INFO +4 -4
  4. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/README.rst +2 -2
  5. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/fp_NGFW_SMC_python.egg-info/PKG-INFO +4 -4
  6. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/fp_NGFW_SMC_python.egg-info/SOURCES.txt +2 -0
  7. fp_ngfw_smc_python-1.0.34/pyproject.toml +101 -0
  8. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/__init__.py +8 -5
  9. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/__version__.py +1 -1
  10. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/access_rights.py +38 -20
  11. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/certificates/certificate_authority.py +11 -8
  12. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/certificates/tls.py +64 -46
  13. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/certificates/tls_common.py +22 -15
  14. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/certificates/vpn.py +31 -29
  15. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/eca_client_config.py +62 -30
  16. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/filter.py +5 -1
  17. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/license.py +11 -8
  18. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/monitoring_status.py +94 -91
  19. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/reports.py +43 -25
  20. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/role.py +8 -4
  21. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/scheduled_tasks.py +128 -108
  22. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/system.py +164 -105
  23. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/system_properties.py +37 -6
  24. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/tasks.py +39 -37
  25. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/upcoming_event.py +33 -30
  26. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/updates.py +12 -10
  27. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/user_auth/servers.py +123 -120
  28. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/user_auth/users.py +47 -31
  29. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/api/common.py +26 -22
  30. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/api/configloader.py +7 -3
  31. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/api/entry_point.py +10 -7
  32. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/api/exceptions.py +9 -5
  33. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/api/session.py +62 -60
  34. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/api/web.py +28 -9
  35. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/base/collection.py +80 -52
  36. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/base/decorators.py +26 -21
  37. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/base/mixins.py +6 -3
  38. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/base/model.py +80 -67
  39. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/base/structs.py +19 -17
  40. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/base/util.py +17 -13
  41. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/compat.py +19 -12
  42. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/addon.py +76 -73
  43. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/advanced_settings.py +9 -5
  44. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/collection.py +241 -177
  45. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/contact_address.py +31 -15
  46. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/engine.py +446 -421
  47. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/engine_vss.py +32 -22
  48. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/engines.py +344 -329
  49. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/external_pki.py +24 -20
  50. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/general.py +47 -46
  51. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/ha_management.py +49 -44
  52. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/interfaces.py +323 -139
  53. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/lldp.py +27 -25
  54. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/node.py +92 -86
  55. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/policy.py +11 -9
  56. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/resource.py +14 -12
  57. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/route.py +80 -78
  58. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/session_monitoring.py +4 -1
  59. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/sub_interfaces.py +60 -46
  60. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/waiters.py +14 -12
  61. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/conf.py +3 -3
  62. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/reference.rst +8 -0
  63. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/alerts.py +65 -35
  64. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/common.py +30 -25
  65. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/group.py +78 -16
  66. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/helpers.py +9 -5
  67. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/netlink.py +104 -66
  68. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/network.py +73 -58
  69. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/other.py +120 -77
  70. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/profiles.py +94 -82
  71. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/protocols.py +27 -23
  72. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/servers.py +483 -424
  73. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/service.py +87 -40
  74. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/situations.py +39 -35
  75. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/ssm.py +27 -23
  76. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/tags.py +8 -4
  77. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/user.py +107 -82
  78. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/custom_script.zip +0 -0
  79. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/gateway_certificates.py +1 -1
  80. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/layer3_cluster.py +1 -1
  81. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/layer3_cluster_ldap_replication.py +1 -1
  82. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/layer3_firewall.py +111 -9
  83. fp_ngfw_smc_python-1.0.34/smc/examples/modem_interface.py +159 -0
  84. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring/black_list.py +1 -1
  85. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring/block_list.py +1 -1
  86. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/scheduled_tasks.py +1 -1
  87. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/web_access_server.py +56 -2
  88. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/file_filtering.py +23 -19
  89. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/interface.py +11 -9
  90. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/ips.py +11 -7
  91. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/layer2.py +9 -5
  92. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/layer3.py +12 -10
  93. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/policy.py +17 -15
  94. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/qos.py +11 -9
  95. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/rule.py +104 -95
  96. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/rule_elements.py +175 -171
  97. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/rule_nat.py +78 -73
  98. fp_ngfw_smc_python-1.0.34/smc/py.typed +0 -0
  99. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/access_list.py +10 -6
  100. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/bgp.py +127 -123
  101. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/ospf.py +67 -54
  102. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/pim.py +79 -36
  103. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/route_map.py +37 -33
  104. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/vpn/application_access_portal.py +168 -142
  105. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/vpn/elements.py +150 -113
  106. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/vpn/policy.py +52 -48
  107. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/vpn/route.py +128 -124
  108. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/vpn/ssl_vpn_portal.py +164 -142
  109. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/pyproject.toml +1 -1
  110. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/tox.ini +1 -1
  111. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/tox.ini +1 -1
  112. fp_ngfw_smc_python-1.0.33/.gitignore +0 -15
  113. fp_ngfw_smc_python-1.0.33/pyproject.toml +0 -49
  114. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/.coveragerc +0 -0
  115. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/.readthedocs.yaml +0 -0
  116. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/HISTORY.rst +0 -0
  117. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/LICENSE +0 -0
  118. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/fp_NGFW_SMC_python.egg-info/dependency_links.txt +0 -0
  119. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/fp_NGFW_SMC_python.egg-info/requires.txt +0 -0
  120. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/fp_NGFW_SMC_python.egg-info/top_level.txt +0 -0
  121. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/setup.cfg +0 -0
  122. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/.gitignore +0 -0
  123. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/actions/__init__.py +0 -0
  124. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/__init__.py +0 -0
  125. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/certificates/__init__.py +0 -0
  126. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/administration/user_auth/__init__.py +0 -0
  127. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/api/__init__.py +0 -0
  128. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/base/__init__.py +0 -0
  129. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/__init__.py +0 -0
  130. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/core/hardware.py +0 -0
  131. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/.gitignore +0 -0
  132. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/Makefile +0 -0
  133. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/index.rst +0 -0
  134. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/administration.rst +0 -0
  135. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/collections.rst +0 -0
  136. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/elements.rst +0 -0
  137. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/engine.rst +0 -0
  138. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/extensions.rst +0 -0
  139. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/installation.rst +0 -0
  140. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/intro.rst +0 -0
  141. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/logging.rst +0 -0
  142. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/policy.rst +0 -0
  143. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/resources.rst +0 -0
  144. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/session.rst +0 -0
  145. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/pages/vpn.rst +0 -0
  146. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/docs/requirements.txt +0 -0
  147. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/elements/__init__.py +0 -0
  148. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/README.md +0 -0
  149. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/__init__.py +0 -0
  150. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/add_sidewinder_routes.py +0 -0
  151. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/aggregated_interface.py +0 -0
  152. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/alert_chain_and_alert_chain_rule.py +0 -0
  153. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/alert_policy_and_alert_rule.py +0 -0
  154. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/alias.py +0 -0
  155. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/application_access_portal.py +0 -0
  156. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/basic_requests.py +0 -0
  157. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/bgp.py +0 -0
  158. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/certify_component_ext_pki.py +0 -0
  159. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/cloud_engine.py +0 -0
  160. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/configure_ztna_addon.py +0 -0
  161. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/connection_type.py +0 -0
  162. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/domain_name.py +0 -0
  163. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/eca_configuration.py +0 -0
  164. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/elasticsearch_cluster.py +0 -0
  165. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/engine-node-health.py +0 -0
  166. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/engine_query_route.py +0 -0
  167. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/export_all.py +0 -0
  168. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/file_filtering_policy.py +0 -0
  169. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/firewall_policy_nat.py +0 -0
  170. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/gateway_profile.py +0 -0
  171. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/group.py +0 -0
  172. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/ha_management.py +0 -0
  173. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/images/256.png +0 -0
  174. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/import_engine_upgrade.py +0 -0
  175. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/internal_gateway.py +0 -0
  176. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/internal_user_and_user_group.py +0 -0
  177. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/ip_lists.py +0 -0
  178. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/lldp.py +0 -0
  179. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/login_domain_username_password.py +0 -0
  180. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/match_expression.py +0 -0
  181. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/mini_reports.py +0 -0
  182. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring/logs.py +0 -0
  183. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring/neighbor.py +0 -0
  184. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring/routing_monitoring.py +0 -0
  185. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring/vpn_sa.py +0 -0
  186. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring/ws_async.py +0 -0
  187. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/monitoring_status.py +0 -0
  188. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/netlink.py +0 -0
  189. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/network.py +0 -0
  190. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/policy_rule_source_vpn.py +0 -0
  191. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/profiles.py +0 -0
  192. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/protocol_agent.py +0 -0
  193. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/rule_cleanup.py +0 -0
  194. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/run_example.sh +0 -0
  195. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/servers.py +0 -0
  196. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/service.py +0 -0
  197. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/situations.py +0 -0
  198. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/ssl_vpn_portal.py +0 -0
  199. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/ssm_elements.py +0 -0
  200. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/sub_policies.py +0 -0
  201. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/switch_interface.py +0 -0
  202. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/sync_admins.py +0 -0
  203. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/sync_admins_config.json +0 -0
  204. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/system_properties.py +0 -0
  205. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/tasks.py +0 -0
  206. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/template_policies.py +0 -0
  207. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/test-parallel-multiprocessing.py +0 -0
  208. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/type_of_servers.py +0 -0
  209. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/upcoming_event.py +0 -0
  210. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/update_package.py +0 -0
  211. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/update_server_profile.py +0 -0
  212. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/url_list_application.py +0 -0
  213. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/user_id_service.py +0 -0
  214. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/virtual_engines.py +0 -0
  215. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/vpn_profile.py +0 -0
  216. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/vpn_site.py +0 -0
  217. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/examples/vpn_to_external_peer.py +0 -0
  218. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/known_issues +0 -0
  219. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/policy/__init__.py +0 -0
  220. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/__init__.py +0 -0
  221. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/bgp_access_list.py +0 -0
  222. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/routing/prefix_list.py +0 -0
  223. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/tests/.gitignore +0 -0
  224. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/tests/__init__.py +0 -0
  225. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/tests/docker_smc_bootstrap.py +0 -0
  226. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc/vpn/__init__.py +0 -0
  227. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/.coveragerc +0 -0
  228. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/HISTORY.rst +0 -0
  229. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/LICENSE +0 -0
  230. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/MANIFEST.in +0 -0
  231. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/README.rst +0 -0
  232. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/requirements.txt +0 -0
  233. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/__init__.py +0 -0
  234. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/__version__.py +0 -0
  235. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/__init__.py +0 -0
  236. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/calendar.py +0 -0
  237. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/constants.py +0 -0
  238. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/filters.py +0 -0
  239. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/formats.py +0 -0
  240. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/formatters.py +0 -0
  241. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/query.py +0 -0
  242. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/models/values.py +0 -0
  243. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/__init__.py +0 -0
  244. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/alerts.py +0 -0
  245. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/blacklist.py +0 -0
  246. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/block_list.py +0 -0
  247. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/connections.py +0 -0
  248. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/logs.py +0 -0
  249. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/neighbors.py +0 -0
  250. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/routes.py +0 -0
  251. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/sslvpn.py +0 -0
  252. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/users.py +0 -0
  253. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/monitors/vpns.py +0 -0
  254. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/pubsub/__init__.py +0 -0
  255. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/pubsub/subscribers.py +0 -0
  256. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/smc_monitoring/wsocket.py +0 -0
  257. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/test.py +0 -0
  258. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/tests/__init__.py +0 -0
  259. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/tests/docker_smc_bootstrap.py +0 -0
  260. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/tests/test_filters.py +0 -0
  261. {fp_ngfw_smc_python-1.0.33 → fp_ngfw_smc_python-1.0.34}/smc-monitoring/tests/test_queries.py +0 -0
@@ -0,0 +1,28 @@
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
@@ -1 +1,2 @@
1
1
  include README.rst HISTORY.rst
2
+ include smc/py.typed
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fp-NGFW-SMC-python
3
- Version: 1.0.33
3
+ Version: 1.0.34
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.5
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.5
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-2.7%20%7C%203.5%20%7C%203.6-blue
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.5
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-2.7%20%7C%203.5%20%7C%203.6-blue
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/
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fp-NGFW-SMC-python
3
- Version: 1.0.33
3
+ Version: 1.0.34
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.5
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.5
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-2.7%20%7C%203.5%20%7C%203.6-blue
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
@@ -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
@@ -184,6 +185,7 @@ smc/examples/lldp.py
184
185
  smc/examples/login_domain_username_password.py
185
186
  smc/examples/match_expression.py
186
187
  smc/examples/mini_reports.py
188
+ smc/examples/modem_interface.py
187
189
  smc/examples/monitoring_status.py
188
190
  smc/examples/netlink.py
189
191
  smc/examples/network.py
@@ -0,0 +1,101 @@
1
+ [build-system]
2
+ requires = [
3
+ "setuptools",
4
+ "wheel",
5
+ "setuptools-scm[toml]",
6
+ "requests",
7
+ "pytz",
8
+ "urllib3"
9
+ ]
10
+ build-backend = "setuptools.build_meta"
11
+
12
+
13
+ [project]
14
+ name = 'fp-NGFW-SMC-python'
15
+ authors = [
16
+ {name = "Forcepoint", email = "PSIRT@forcepoint.com"},
17
+ ]
18
+ description = "Python based API to Forcepoint NGFW Management Center"
19
+ requires-python = ">=3.9"
20
+ license = {text = "Apache License (2.0)"}
21
+ dynamic = ["version", "readme"]
22
+ dependencies = [
23
+ "requests>=2.31.0",
24
+ "pytz>=2022.6",
25
+ "urllib3>=1.26.18"
26
+ ]
27
+ classifiers = [
28
+ "Development Status :: 5 - Production/Stable",
29
+ "Programming Language :: Python",
30
+ "Programming Language :: Python :: 3"
31
+ ]
32
+
33
+
34
+ [tool.setuptools.dynamic]
35
+ version = {attr = "smc.__version__"} # any module attribute compatible with ast.literal_eval
36
+ readme = {file = ["README.rst", "HISTORY.rst"]}
37
+
38
+
39
+ [tool.setuptools.packages.find]
40
+ # All the following settings are optional:
41
+ where = ["."] # ["."] by default
42
+ include = ["smc", "smc.*"] # ["*"] by default
43
+ exclude = ["smc.tests", "smc.docs"] # empty by default
44
+ namespaces = true # true by default
45
+
46
+
47
+ [tool.setuptools]
48
+ include-package-data = true
49
+ license-files = ["LICENSE"]
50
+
51
+ [tool.setuptools.package-data]
52
+ smc = ["py.typed"]
53
+
54
+ [tool.mypy]
55
+ python_version = "3.9"
56
+ ignore_missing_imports = true
57
+ # Strictness is enabled per-module as annotations are added.
58
+ # Add an [[tool.mypy.overrides]] block for each annotated module.
59
+
60
+ [[tool.mypy.overrides]]
61
+ module = [
62
+ "smc.base.model", "smc.base.decorators",
63
+ "smc.core.engines", "smc.core.engine", "smc.core.interfaces", "smc.core.node",
64
+ "smc.elements.network", "smc.elements.servers",
65
+ "smc.policy.rule_elements",
66
+ "smc.vpn.ssl_vpn_portal", "smc.vpn.application_access_portal", "smc.vpn.elements",
67
+ "smc.administration.monitoring_status", "smc.administration.system",
68
+ "smc.routing.bgp",
69
+ "smc.core.route", "smc.core.addon",
70
+ "smc.base.collection",
71
+ "smc.administration.user_auth.servers",
72
+ "smc.elements.profiles", "smc.core.sub_interfaces",
73
+ "smc.vpn.policy", "smc.vpn.route", "smc.core.ha_management",
74
+ "smc.api.session", "smc.core.general", "smc.core.collection",
75
+ "smc.routing.pim", "smc.administration.upcoming_event", "smc.elements.service",
76
+ "smc.policy.rule", "smc.policy.rule_nat",
77
+ "smc.elements.protocols", "smc.routing.route_map", "smc.elements.alerts", "smc.core.engine_vss",
78
+ "smc.elements.user", "smc.elements.other", "smc.elements.netlink",
79
+ "smc.administration.tasks", "smc.administration.scheduled_tasks",
80
+ "smc.administration.certificates.vpn", "smc.administration.certificates.tls",
81
+ "smc.core.lldp", "smc.base.structs",
82
+ "smc.administration.eca_client_config", "smc.elements.situations",
83
+ "smc.core.external_pki", "smc.administration.access_rights",
84
+ "smc.elements.group", "smc.elements.common", "smc.base.decorators",
85
+ "smc.administration.user_auth.users", "smc.core.contact_address", "smc.routing.ospf",
86
+ "smc.policy.layer3", "smc.administration.updates", "smc.policy.qos",
87
+ "smc.policy.policy", "smc.policy.interface", "smc.core.policy",
88
+ "smc.api.web", "smc.administration.license",
89
+ "smc.administration.certificates.tls_common", "smc.administration.certificates.certificate_authority",
90
+ "smc.elements.ssm", "smc.policy.ips", "smc.api.entry_point",
91
+ "smc.core.waiters", "smc.core.resource", "smc.compat", "smc.administration.reports",
92
+ "smc.core.engine", "smc.api.common", "smc.base.util",
93
+ "smc.routing.access_list", "smc.administration.system_properties",
94
+ "smc.policy.layer2", "smc.policy.file_filtering", "smc.elements.helpers",
95
+ "smc.core.advanced_settings", "smc.api.exceptions",
96
+ "smc.administration.role", "smc.elements.tags", "smc.core.engines",
97
+ "smc.base.mixins", "smc.api.configloader", "smc.core.session_monitoring",
98
+ "smc.administration.filter",
99
+ ]
100
+ check_untyped_defs = true
101
+ disallow_untyped_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
 
@@ -21,7 +24,7 @@ session_name = 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
@@ -40,7 +43,7 @@ try: # Python 2.7+
40
43
  except ImportError:
41
44
 
42
45
  class NullHandler(logging.Handler):
43
- def emit(self, record):
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 (
@@ -10,4 +10,4 @@
10
10
  # License for the specific language governing permissions and limitations
11
11
  # under the License.
12
12
 
13
- __version__ = '1.0.33'
13
+ __version__ = '1.0.34'
@@ -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
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__(self, granted_elements=None, role_ref=None, granted_domain_ref=None):
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,7 +149,7 @@ 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
@@ -151,7 +159,7 @@ class Permission(NestedDict):
151
159
  return [Element.from_href(element) for element in 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
@@ -161,7 +169,7 @@ class Permission(NestedDict):
161
169
  return Element.from_href(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(cls, cluster_ref=None, granted_access_control_list=[], role_containers=[]):
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,20 +213,20 @@ 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
  """
@@ -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(cls, roles=[], admin=None, granted_domain=None):
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
@@ -59,17 +62,17 @@ class CertificateAuthority(Element):
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:
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:
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__}")