cisco-sccfm-devkit 0.39.3__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 (244) hide show
  1. cisco_sccfm_devkit-0.39.3/CHANGELOG.md +495 -0
  2. cisco_sccfm_devkit-0.39.3/CONTRIBUTING.md +92 -0
  3. cisco_sccfm_devkit-0.39.3/INSTALL.md +211 -0
  4. cisco_sccfm_devkit-0.39.3/LICENSE +201 -0
  5. cisco_sccfm_devkit-0.39.3/LICENSES/Apache-2.0.txt +201 -0
  6. cisco_sccfm_devkit-0.39.3/PKG-INFO +257 -0
  7. cisco_sccfm_devkit-0.39.3/README.md +220 -0
  8. cisco_sccfm_devkit-0.39.3/SECURITY.md +39 -0
  9. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/__init__.py +3 -0
  10. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/cli.py +66 -0
  11. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/__init__.py +3 -0
  12. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/base.py +337 -0
  13. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/configure.py +123 -0
  14. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/__init__.py +7 -0
  15. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/command.py +38 -0
  16. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/__init__.py +7 -0
  17. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/__init__.py +7 -0
  18. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/change_boot_image/__init__.py +9 -0
  19. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/change_boot_image/command.py +225 -0
  20. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/cli/__init__.py +7 -0
  21. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/cli/command.py +36 -0
  22. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/cli/execute/__init__.py +7 -0
  23. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/cli/execute/command.py +129 -0
  24. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/cli_result_renderer.py +66 -0
  25. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/command.py +76 -0
  26. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/disk/__init__.py +7 -0
  27. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/disk/command.py +38 -0
  28. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/disk/list_files/__init__.py +9 -0
  29. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/disk/list_files/command.py +122 -0
  30. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/ha_check/__init__.py +7 -0
  31. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/ha_check/command.py +153 -0
  32. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/list_boot_registry/__init__.py +9 -0
  33. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/list_boot_registry/command.py +211 -0
  34. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/list_local_users/__init__.py +11 -0
  35. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/list_local_users/command.py +123 -0
  36. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/list_not_on_version/__init__.py +9 -0
  37. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/list_not_on_version/command.py +194 -0
  38. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/onboard/__init__.py +7 -0
  39. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/onboard/command.py +277 -0
  40. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shared.py +243 -0
  41. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/__init__.py +7 -0
  42. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/add/__init__.py +7 -0
  43. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/add/command.py +254 -0
  44. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/clear/__init__.py +7 -0
  45. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/clear/command.py +97 -0
  46. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/command.py +46 -0
  47. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/remove/__init__.py +7 -0
  48. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/remove/command.py +114 -0
  49. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/show/__init__.py +7 -0
  50. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/shun/show/command.py +230 -0
  51. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/smartlicense/__init__.py +3 -0
  52. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/smartlicense/command.py +294 -0
  53. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/upgrade/__init__.py +7 -0
  54. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/upgrade/command.py +42 -0
  55. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/upgrade/compatible_versions/__init__.py +9 -0
  56. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/upgrade/compatible_versions/command.py +216 -0
  57. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/upgrade/trigger/__init__.py +9 -0
  58. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/upgrade/trigger/command.py +391 -0
  59. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/user/__init__.py +7 -0
  60. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/user/change_password/__init__.py +9 -0
  61. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/user/change_password/command.py +164 -0
  62. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/asa/user/command.py +38 -0
  63. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/__init__.py +9 -0
  64. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/cli/__init__.py +9 -0
  65. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/cli/command.py +38 -0
  66. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/cli/execute/__init__.py +9 -0
  67. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/cli/execute/command.py +90 -0
  68. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/cli_result_renderer.py +57 -0
  69. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/command.py +56 -0
  70. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/configure_manager/__init__.py +9 -0
  71. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/configure_manager/command.py +259 -0
  72. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/deploy/__init__.py +9 -0
  73. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/deploy/command.py +218 -0
  74. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/onboard/__init__.py +9 -0
  75. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/onboard/command.py +222 -0
  76. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/onboard_ztp/__init__.py +9 -0
  77. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/onboard_ztp/command.py +227 -0
  78. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/cdfmc_managed_ftd/shared.py +220 -0
  79. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/command.py +44 -0
  80. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/__init__.py +7 -0
  81. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/command.py +51 -0
  82. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/list_not_on_version/__init__.py +9 -0
  83. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/list_not_on_version/command.py +318 -0
  84. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/shared.py +243 -0
  85. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/upgrade/__init__.py +7 -0
  86. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/upgrade/command.py +42 -0
  87. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/upgrade/compatible_versions/__init__.py +9 -0
  88. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/upgrade/compatible_versions/command.py +228 -0
  89. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/upgrade/trigger/__init__.py +9 -0
  90. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/ftd/upgrade/trigger/command.py +316 -0
  91. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/list/__init__.py +7 -0
  92. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/list/command.py +46 -0
  93. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/devices/rendering.py +129 -0
  94. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/__init__.py +7 -0
  95. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/access_policies/__init__.py +7 -0
  96. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/access_policies/command.py +40 -0
  97. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/access_policies/list/__init__.py +9 -0
  98. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/access_policies/list/command.py +71 -0
  99. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/command.py +40 -0
  100. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/list/__init__.py +7 -0
  101. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/manager/list/command.py +82 -0
  102. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/inventory/options.py +53 -0
  103. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/__init__.py +7 -0
  104. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/add_override/__init__.py +7 -0
  105. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/add_override/command.py +96 -0
  106. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/apply_override_as_default/__init__.py +9 -0
  107. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/apply_override_as_default/command.py +88 -0
  108. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/command.py +60 -0
  109. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/delete_override/__init__.py +7 -0
  110. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/delete_override/command.py +88 -0
  111. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/edit_override/__init__.py +7 -0
  112. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/edit_override/command.py +96 -0
  113. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/__init__.py +7 -0
  114. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/command.py +46 -0
  115. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/create/__init__.py +7 -0
  116. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/create/command.py +93 -0
  117. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/delete/__init__.py +9 -0
  118. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/delete/command.py +65 -0
  119. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/list/__init__.py +7 -0
  120. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/list/command.py +72 -0
  121. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/update/__init__.py +7 -0
  122. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network/update/command.py +119 -0
  123. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/__init__.py +7 -0
  124. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/add_member/__init__.py +9 -0
  125. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/add_member/command.py +161 -0
  126. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/command.py +52 -0
  127. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/create/__init__.py +7 -0
  128. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/create/command.py +121 -0
  129. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/delete/__init__.py +11 -0
  130. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/delete/command.py +65 -0
  131. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/list/__init__.py +7 -0
  132. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/list/command.py +80 -0
  133. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/remove_member/__init__.py +9 -0
  134. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/remove_member/command.py +161 -0
  135. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/update/__init__.py +9 -0
  136. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/network_group/update/command.py +142 -0
  137. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/options.py +319 -0
  138. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/show/__init__.py +7 -0
  139. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/show/command.py +105 -0
  140. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/update_default/__init__.py +7 -0
  141. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/update_default/command.py +88 -0
  142. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/objects/utils.py +237 -0
  143. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/__init__.py +7 -0
  144. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_group/__init__.py +7 -0
  145. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_group/command.py +42 -0
  146. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_group/get/__init__.py +7 -0
  147. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_group/get/command.py +71 -0
  148. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_group/list/__init__.py +7 -0
  149. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_group/list/command.py +86 -0
  150. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/__init__.py +7 -0
  151. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/command.py +48 -0
  152. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/create/__init__.py +7 -0
  153. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/create/command.py +258 -0
  154. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/delete/__init__.py +7 -0
  155. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/delete/command.py +50 -0
  156. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/get/__init__.py +7 -0
  157. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/get/command.py +81 -0
  158. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/list/__init__.py +7 -0
  159. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/list/command.py +96 -0
  160. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/update/__init__.py +7 -0
  161. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/access_rule/update/command.py +178 -0
  162. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/policies/command.py +40 -0
  163. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/schema/__init__.py +7 -0
  164. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/schema/command.py +88 -0
  165. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/shared_options.py +77 -0
  166. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/status.py +70 -0
  167. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/commands/transaction.py +89 -0
  168. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/interactive.py +426 -0
  169. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/interactive_commands.py +125 -0
  170. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/models/__init__.py +7 -0
  171. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/models/config.py +9 -0
  172. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/option_metadata.py +26 -0
  173. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/py.typed +0 -0
  174. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/schema.py +871 -0
  175. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/services/__init__.py +9 -0
  176. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/services/config_service.py +9 -0
  177. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/utils/__init__.py +11 -0
  178. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/utils/json_output.py +36 -0
  179. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/utils/redaction.py +50 -0
  180. cisco_sccfm_devkit-0.39.3/cisco_sccfm_cli/utils/spinner.py +52 -0
  181. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/__init__.py +106 -0
  182. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/constants.py +76 -0
  183. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/errors.py +137 -0
  184. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/factories/__init__.py +7 -0
  185. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/factories/api_client_factory.py +28 -0
  186. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_boot_image_change_result.py +19 -0
  187. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_boot_registry.py +19 -0
  188. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_disk_file.py +41 -0
  189. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_failover_status.py +62 -0
  190. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_local_user.py +20 -0
  191. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_password_change_result.py +16 -0
  192. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_shun_entry.py +38 -0
  193. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/asa_upgrade_version.py +22 -0
  194. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/cdo_transaction_status.py +20 -0
  195. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/ftd_cli_result.py +26 -0
  196. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/ftd_upgrade_version.py +24 -0
  197. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/models/profile.py +16 -0
  198. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/parsers/__init__.py +28 -0
  199. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/parsers/asa_boot_registry_parser.py +75 -0
  200. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/parsers/asa_cli_table_parser.py +53 -0
  201. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/parsers/asa_disk_file_parser.py +45 -0
  202. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/parsers/asa_failover_parser.py +216 -0
  203. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/parsers/asa_local_user_parser.py +49 -0
  204. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/parsers/asa_shun_parser.py +82 -0
  205. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/py.typed +0 -0
  206. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/__init__.py +70 -0
  207. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/health_service.py +35 -0
  208. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/__init__.py +84 -0
  209. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_boot_image_service.py +505 -0
  210. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_boot_registry_service.py +89 -0
  211. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_cli_service.py +65 -0
  212. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_disk_file_service.py +48 -0
  213. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_ha_check_service.py +393 -0
  214. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_onboard_service.py +42 -0
  215. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_shun_service.py +208 -0
  216. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_upgrade_service.py +81 -0
  217. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_upgrade_version_service.py +113 -0
  218. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/asa_user_password_service.py +205 -0
  219. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/cdfmc_access_policy_service.py +68 -0
  220. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_cli_service.py +262 -0
  221. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_configure_manager_service.py +399 -0
  222. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_deploy_service.py +69 -0
  223. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_onboard_service.py +37 -0
  224. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_register_service.py +40 -0
  225. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_upgrade_service.py +73 -0
  226. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_upgrade_version_service.py +81 -0
  227. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/ftd_ztp_onboard_service.py +37 -0
  228. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/inventory/inventory_service.py +25 -0
  229. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/object_management/__init__.py +41 -0
  230. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/object_management/network_group_service.py +690 -0
  231. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/object_management/network_object_service.py +316 -0
  232. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/object_management/object_api_helper.py +52 -0
  233. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/object_management/object_override_service.py +583 -0
  234. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/object_management/utils.py +82 -0
  235. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/policy/__init__.py +23 -0
  236. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/policy/access_group_service.py +117 -0
  237. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/policy/access_rule_service.py +340 -0
  238. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/policy/policy_api_helper.py +54 -0
  239. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/profile_service.py +634 -0
  240. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/services/transaction_service.py +54 -0
  241. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/types.py +15 -0
  242. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/utils/__init__.py +7 -0
  243. cisco_sccfm_devkit-0.39.3/cisco_sccfm_core/utils/validation.py +45 -0
  244. cisco_sccfm_devkit-0.39.3/pyproject.toml +149 -0
@@ -0,0 +1,495 @@
1
+ ## v0.39.3 (2026-08-19)
2
+
3
+ ### Fix
4
+
5
+ - **lh-114527**: prepare Ansible changelog for 0.39.3
6
+ - **lh-114527**: repair developer setup and Ansible guidance
7
+
8
+ ## v0.39.2 (2026-08-19)
9
+
10
+ ### Fix
11
+
12
+ - **lh-114358**: publish the interactive customer CLI
13
+
14
+ ## v0.39.1 (2026-08-19)
15
+
16
+ ### Fix
17
+
18
+ - **lh-102436**: honor keyword-only object lookups
19
+ - **lh-102436**: prepare first ansible release metadata
20
+ - **lh-102436**: vault ansible e2e device password
21
+ - **lh-102436**: make ansible sanity checks pass
22
+ - **lh-102436**: align network group service conventions
23
+ - **lh-102436**: align network object service conventions
24
+ - **lh-102436**: resolve generated documentation conflicts
25
+ - **lh-102436**: integrate profile workflow with release
26
+ - **lh-102436**: correct gitleaks module path
27
+ - **lh-102436**: address release review feedback
28
+ - **lh-102436**: proper release
29
+ - **lh-102436**: fix doc styling
30
+ - **lh-102436**: use repository secrets for publishing
31
+ - **lh-102436**: close remaining release blockers
32
+ - **lh-102436**: use current vault key in CLI E2E
33
+ - **lh-102436**: harden release and credential workflows
34
+ - **lh-102436**: add manual build-once release workflow
35
+ - **lh-102436**: stabilizes the final package metadata and README
36
+ - **lh-102436**: poetry run in venv
37
+ - **lh-102436**: Galaxy metadata/runtime issues
38
+ - **lh-102436**: make the Galaxy artifact independently installable and usable.
39
+ - **lh-102436**: remove tests and e2e files from pypi wheel
40
+ - **lh-102436**: query correct distribution name
41
+ - **lh-102436**: unresolved runtime dependency
42
+ - **lh-102436**: hide api-token
43
+ - **lh-102436**: install resolves a broken SDK
44
+ - **lh-102436**: hide smart licensing token
45
+ - **lh-102436**: Inventory plugin remove exports of the API token
46
+
47
+ ## v0.39.0 (2026-08-18)
48
+
49
+ ### Feat
50
+
51
+ - comment fix
52
+ - bug and comment fix
53
+ - unify SCCFM interactive command and token configuration
54
+
55
+ ## v0.38.0 (2026-07-27)
56
+
57
+ ### Feat
58
+
59
+ - **inventory**: add FtdRegisterService and register_cdfmc_ftd Ansible module
60
+ - **skills**: reference sccfm-ansible skill into sccfm-cli skill and vice versa
61
+ - **lh-102436**: prepare devkit for PyPI publishing
62
+ - **skills**: reference sccfm-ansible skill into sccfm-cli skill and vice versa
63
+ - add schema-driven Ansible skill
64
+ - prepare sccfm for pypi publishing
65
+ - add schema-driven sccfm-cli skill
66
+ - **cdfmc-ftd**: add configure-manager to complete FTD registration over SSH
67
+ - add cli schema export
68
+
69
+ ### Fix
70
+
71
+ - pass strict typing and FTD confirmation checks
72
+ - **lh-102436**: make packaging metadata portable
73
+ - **README**: Add license statement & clarify name acronym
74
+
75
+ ## v0.37.0 (2026-06-04)
76
+
77
+ ### Feat
78
+
79
+ - **hooks**: add pre-commit hooks for Python formatting and secret guarding (#77)
80
+
81
+ ## v0.36.0 (2026-05-26)
82
+
83
+ ### Feat
84
+
85
+ - **lh-106911**: add copyright (#64)
86
+
87
+ ## v0.35.0 (2026-04-22)
88
+
89
+ ### Feat
90
+
91
+ - add consistency check workflow and script for PR validation (#59)
92
+
93
+ ## v0.34.0 (2026-04-22)
94
+
95
+ ### Feat
96
+
97
+ - **LH-106647**: add Ansible e2e test suite for FTD (#62)
98
+
99
+ ## v0.33.0 (2026-04-21)
100
+
101
+ ### Feat
102
+
103
+ - **LH-102404**: add FTD CLI execution for cdFMC-managed devices (#57)
104
+
105
+ ## v0.32.0 (2026-04-21)
106
+
107
+ ### Feat
108
+
109
+ - **LH-106922**: access rules e2e (#56)
110
+
111
+ ## v0.31.0 (2026-04-17)
112
+
113
+ ### Feat
114
+
115
+ - **LH-106648**: add ASA HA check Ansible e2e test suite (#58)
116
+
117
+ ## v0.30.0 (2026-04-15)
118
+
119
+ ### Feat
120
+
121
+ - **LH-102404**: add ASA HA health check command (#55)
122
+
123
+ ## v0.29.0 (2026-04-14)
124
+
125
+ ### Feat
126
+
127
+ - **Lh 105871**: add sccfm ansible asa test suite (#53)
128
+
129
+ ## v0.28.0 (2026-04-08)
130
+
131
+ ### Feat
132
+
133
+ - **LH-102418**: add access rule creation for policies (#51)
134
+
135
+ ## v0.27.0 (2026-04-08)
136
+
137
+ ### Feat
138
+
139
+ - **LH-102432**: Onboard CDFMC Managed FTD (ZTP) (#52)
140
+
141
+ ## v0.26.0 (2026-04-07)
142
+
143
+ ### Feat
144
+
145
+ - **LH-102412**: create CDFMC Managed FTD (Non-ZTP) (#50)
146
+
147
+ ## v0.25.0 (2026-04-01)
148
+
149
+ ### Feat
150
+
151
+ - **LH-104308**: add network group add-member and remove-member commands (#46)
152
+
153
+ ## v0.24.0 (2026-04-01)
154
+
155
+ ### Feat
156
+
157
+ - **LH-106152**: object override improvements (#49)
158
+
159
+ ## v0.23.0 (2026-03-31)
160
+
161
+ ### Feat
162
+
163
+ - **LH-104307**: add override to object ansible and cli (#48)
164
+
165
+ ## v0.22.0 (2026-03-25)
166
+
167
+ ### Feat
168
+
169
+ - add cdfmc-managed FTD device deployment command (#43)
170
+
171
+ ## v0.21.0 (2026-03-23)
172
+
173
+ ### Feat
174
+
175
+ - **LH-102401**: add ASA boot image change workflow (#40)
176
+
177
+ ## v0.20.0 (2026-03-23)
178
+
179
+ ### Feat
180
+
181
+ - **lh-105592**: wait for transaction on asa upgrade (#41)
182
+
183
+ ## v0.19.0 (2026-03-20)
184
+
185
+ ### Feat
186
+
187
+ - **LH-105684**: ASA shun add wait flag and improve bulk inside a single transaction (#39)
188
+
189
+ ## v0.18.0 (2026-03-18)
190
+
191
+ ### Feat
192
+
193
+ - **LH-102405**: implement shun commands for ASA devices (#37)
194
+
195
+ ## v0.17.0 (2026-03-10)
196
+
197
+ ### Feat
198
+
199
+ - **lh-104999**: asa list boot registry ansible (#31)
200
+
201
+ ## v0.16.0 (2026-03-06)
202
+
203
+ ### Feat
204
+
205
+ - add --check preflight flag to CLI and Ansible check_mode support (#30)
206
+
207
+ ## v0.15.1 (2026-02-27)
208
+
209
+ ### Fix
210
+
211
+ - **lh-104598**: create network object idempotency (#27)
212
+
213
+ ## v0.15.0 (2026-02-25)
214
+
215
+ ### Feat
216
+
217
+ - **LH-102402**: add compatible upgrade versions for ASA devices (#21)
218
+
219
+ ## v0.14.1 (2026-02-25)
220
+
221
+ ### Fix
222
+
223
+ - **tests**: include all test directories and fix mock usage (#25)
224
+
225
+ ## v0.14.0 (2026-02-25)
226
+
227
+ ### Feat
228
+
229
+ - **lh-104305**: list network groups (#23)
230
+
231
+ ## v0.13.0 (2026-02-24)
232
+
233
+ ### Feat
234
+
235
+ - **LH-104302**: add delete network group cli command (#19)
236
+
237
+ ## v0.12.0 (2026-02-20)
238
+
239
+ ### Feat
240
+
241
+ - **LH-102397**: implement list local users command for ASA devices (#17)
242
+
243
+ ## v0.11.0 (2026-02-18)
244
+
245
+ ### Feat
246
+
247
+ - improve Ansible example playbooks with auto-discovery of SYNCED devices (#18)
248
+
249
+ ## v0.10.0 (2026-02-18)
250
+
251
+ ### Feat
252
+
253
+ - **LH-102398**: add change local password command for ASA devices (#16)
254
+
255
+ ## v0.9.0 (2026-02-17)
256
+
257
+ ### Feat
258
+
259
+ - **lh-102408**: list and search network objects (#13)
260
+
261
+ ## v0.28.0 (2026-04-08)
262
+
263
+ ### Feat
264
+
265
+ - **LH-102418**: add access rule creation for policies — core service, CLI command, and Ansible module
266
+
267
+ ## v0.27.0 (2026-04-08)
268
+
269
+ ### Feat
270
+
271
+ - **LH-102432**: Onboard CDFMC Managed FTD (ZTP) (#52)
272
+
273
+ ## v0.26.0 (2026-04-07)
274
+
275
+ ### Feat
276
+
277
+ - **LH-102412**: create CDFMC Managed FTD (Non-ZTP) (#50)
278
+
279
+ ## v0.25.0 (2026-04-01)
280
+
281
+ ### Feat
282
+
283
+ - **LH-104308**: add network group add-member and remove-member commands (#46)
284
+
285
+ ## v0.24.0 (2026-04-01)
286
+
287
+ ### Feat
288
+
289
+ - **LH-106152**: object override improvements (#49)
290
+
291
+ ## v0.23.0 (2026-03-31)
292
+
293
+ ### Feat
294
+
295
+ - **LH-104307**: add override to object ansible and cli (#48)
296
+
297
+ ## v0.22.0 (2026-03-25)
298
+
299
+ ### Feat
300
+
301
+ - add cdfmc-managed FTD device deployment command (#43)
302
+
303
+ ## v0.21.0 (2026-03-23)
304
+
305
+ ### Feat
306
+
307
+ - **LH-102401**: add ASA boot image change workflow (#40)
308
+
309
+ ## v0.20.0 (2026-03-23)
310
+
311
+ ### Feat
312
+
313
+ - **lh-105592**: wait for transaction on asa upgrade (#41)
314
+
315
+ ## v0.19.0 (2026-03-20)
316
+
317
+ ### Feat
318
+
319
+ - **LH-105684**: ASA shun add wait flag and improve bulk inside a single transaction (#39)
320
+ - **LH-102401**: add ASA boot image change workflow for CLI and Ansible (#40)
321
+
322
+ ## v0.18.0 (2026-03-18)
323
+
324
+ ### Feat
325
+
326
+ - **LH-102405**: implement shun commands for ASA devices (#37)
327
+
328
+ ## v0.17.0 (2026-03-10)
329
+
330
+ ### Feat
331
+
332
+ - **lh-104999**: asa list boot registry ansible (#31)
333
+
334
+ ## v0.16.0 (2026-03-06)
335
+
336
+ ### Feat
337
+
338
+ - add --check preflight flag to CLI and Ansible check_mode support (#30)
339
+
340
+ ## v0.15.1 (2026-02-27)
341
+
342
+ ### Fix
343
+
344
+ - **lh-104598**: create network object idempotency (#27)
345
+
346
+ ## v0.15.0 (2026-02-25)
347
+
348
+ ### Feat
349
+
350
+ - **LH-102402**: add compatible upgrade versions for ASA devices (#21)
351
+
352
+ ## v0.14.1 (2026-02-25)
353
+
354
+ ### Fix
355
+
356
+ - **tests**: include all test directories and fix mock usage (#25)
357
+
358
+ ## v0.14.0 (2026-02-25)
359
+
360
+ ### Feat
361
+
362
+ - **lh-104305**: list network groups (#23)
363
+
364
+ ## v0.13.0 (2026-02-24)
365
+
366
+ ### Feat
367
+
368
+ - **LH-104302**: add delete network group cli command (#19)
369
+
370
+ ## v0.12.0 (2026-02-20)
371
+
372
+ ### Feat
373
+
374
+ - **LH-102397**: implement list local users command for ASA devices (#17)
375
+
376
+ ## v0.11.0 (2026-02-18)
377
+
378
+ ### Feat
379
+
380
+ - improve Ansible example playbooks with auto-discovery of SYNCED devices (#18)
381
+
382
+ ## v0.10.0 (2026-02-18)
383
+
384
+ ### Feat
385
+
386
+ - **LH-102398**: add change local password command for ASA devices (#16)
387
+
388
+ ## v0.9.0 (2026-02-17)
389
+
390
+ ### Feat
391
+
392
+ - **lh-102408**: list and search network objects (#13)
393
+
394
+ ## v0.8.0 (2026-02-13)
395
+
396
+ ### Feat
397
+
398
+ - Add AsaDiskCommand and AsaDiskFileService to inventory management (#10)
399
+
400
+ ## v0.7.0 (2026-02-11)
401
+
402
+ ### Feat
403
+
404
+ - **LH-103781**: ansible playbook for creating network objects (#9)
405
+
406
+ ## v0.6.0 (2026-02-11)
407
+
408
+ ### Feat
409
+
410
+ - **LH-102407**: add cli command for network object creation (#8)
411
+
412
+ ## v0.5.0 (2026-02-02)
413
+
414
+ ### Feat
415
+
416
+ - Add execute_asa_cli Ansible module for executing CLI commands on ASA devices (#5)
417
+
418
+ ## v0.4.2 (2025-12-12)
419
+
420
+ ### Fix
421
+
422
+ - **LH-101462**: Fix how galaxy.yml always ended up a version behind pyproject.toml
423
+
424
+ ## v0.4.1 (2025-12-12)
425
+
426
+ ### Fix
427
+
428
+ - **LH-101462**: Force re-release
429
+
430
+ ## v0.4.0 (2025-12-12)
431
+
432
+ ### Feat
433
+
434
+ - **LH-101462**: Add Ansible task to onboard ASA devices, add new onboard-asa command (#3)
435
+
436
+ ## v0.3.2 (2025-12-01)
437
+
438
+ ### Fix
439
+
440
+ - **sccfm-cli**: Fix auto-completion issues
441
+
442
+ ## v0.3.1 (2025-12-01)
443
+
444
+ ### Fix
445
+
446
+ - **sccfm-cli**: improve docs (#2)
447
+
448
+ ## v0.3.0 (2025-12-01)
449
+
450
+ ### Feat
451
+
452
+ - **sccfm-cli**: Add command to smart license ASAs using sccfm-cli (#1)
453
+
454
+ ## v0.2.1 (2025-12-01)
455
+
456
+ ### Fix
457
+
458
+ - **github-actions**: Fix tagging and release
459
+
460
+ ## v0.2.0 (2025-12-01)
461
+
462
+ ### Feat
463
+
464
+ - **github-actions**: Improve tagging
465
+ - **sccfm-cli**: Add a new command to execute ASA CLIs
466
+
467
+ ### Fix
468
+
469
+ - **github-actions**: Bump version of poetry code
470
+
471
+ ## v0.1.3 (2025-11-29)
472
+
473
+ ### Fix
474
+
475
+ - **cli**: Fix issue with rendering as JSON
476
+
477
+ ## v0.1.2 (2025-11-29)
478
+
479
+ ### Refactor
480
+
481
+ - **sccfm-devkit**: Restructure the code so that the core services can be shared between the CLI and the upcoming Ansible collection
482
+
483
+ ## v0.1.1 (2025-11-29)
484
+
485
+ ## v0.1.0 (2025-11-29)
486
+
487
+ ### Feat
488
+
489
+ - **sccfm-cli**: Prepare release of v0.1.0
490
+
491
+ ## v0.0.1 (2025-11-29)
492
+
493
+ ### Feat
494
+
495
+ - **sccfm-cli**: Create a CLI for SCC Firewall Manager, underpinned by the public API
@@ -0,0 +1,92 @@
1
+ # How to Contribute
2
+
3
+ Thanks for your interest in contributing to `sccfm-devkit`! Here are a few general guidelines on contributing and
4
+ reporting bugs that we ask you to review. Following these guidelines helps to communicate that you respect the time of
5
+ the contributors managing and developing this open source project. In return, they should reciprocate that respect in
6
+ addressing your issue, assessing changes, and helping you finalize your pull requests. In that spirit of mutual respect,
7
+ we endeavor to review incoming issues and pull requests within 10 days, and will close any lingering issues or pull
8
+ requests after 60 days of inactivity.
9
+
10
+ Please note that all of your interactions in the project are subject to our [Code of Conduct](https://github.com/CiscoDevNet/sccfm-devkit/blob/main/CODE_OF_CONDUCT.md). This
11
+ includes creation of issues or pull requests, commenting on issues or pull requests, and extends to all interactions in
12
+ any real-time space e.g., Slack, Discord, etc.
13
+
14
+ ## Table Of Contents
15
+
16
+ - [Reporting Issues](#reporting-issues)
17
+ - [Sending Pull Requests](#sending-pull-requests)
18
+ - [Committing Changes](#committing-changes)
19
+ - [Other Ways to Contribute](#other-ways-to-contribute)
20
+
21
+ ## Reporting Issues
22
+
23
+ Before reporting a new issue, please ensure that the issue was not already reported or fixed by searching through our
24
+ [issues list](https://github.com/CiscoDevNet/sccfm-devkit/issues)
25
+
26
+ When creating a new issue, please be sure to include a **title and clear description**, as much relevant information as
27
+ possible, and, if possible, a test case.
28
+
29
+ **If you discover a security bug, please do not report it through GitHub. Instead, please see security procedures in
30
+ [SECURITY.md](https://github.com/CiscoDevNet/sccfm-devkit/blob/main/SECURITY.md).**
31
+
32
+ ## Sending Pull Requests
33
+
34
+ Before sending a new pull request, take a look at existing pull requests and issues to see if the proposed change or fix
35
+ has been discussed in the past, or if the change was already implemented but not yet released.
36
+
37
+ We expect new pull requests to include tests for any affected behavior, and, as we follow semantic versioning, we may
38
+ reserve breaking changes until the next major version release.
39
+
40
+ ## Development Setup
41
+
42
+ 1. Run `cisco_sccfm_scripts/setup_environment.sh` to install dependencies and create the
43
+ virtualenv. Poetry is kept in an isolated tooling environment so its dependencies do not
44
+ conflict with the project runtime. If an older setup reports that Poetry is installed in
45
+ `.venv/`, remove `.venv/` once and rerun the script.
46
+
47
+ 2. Install [direnv](https://direnv.net/) for automatic environment activation:
48
+
49
+ ```bash
50
+ brew install direnv
51
+ echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
52
+ source ~/.zshrc
53
+ direnv allow
54
+ ```
55
+
56
+ 3. Set up your SCCFM profile:
57
+
58
+ ```bash
59
+ sccfm-cli configure --region us # securely prompts for the token
60
+ ```
61
+
62
+ The default profile store uses owner-only POSIX permissions. On Windows, keep it under your
63
+ user profile and rely on the filesystem's per-user access controls.
64
+
65
+ Now whenever you `cd` into the project, the virtualenv activates automatically.
66
+
67
+ ## Committing Changes
68
+
69
+ We enforce conventional commits via Commitizen. Please:
70
+
71
+ - Ensure the virtualenv is active (happens automatically with direnv, or run `source .venv/bin/activate`).
72
+ - Install the `pre-commit` hooks (`pre-commit install && pre-commit install --hook-type commit-msg`).
73
+ - Use `./cisco_sccfm_scripts/cz.sh commit` (runs `pre-commit` visibly, then Commitizen) or `poetry run cz commit` to create commits, or ensure your commit messages
74
+ follow the Conventional Commits spec (e.g., `feat: add inventory manager list pagination`).
75
+ - CI will fail if commit messages do not comply.
76
+
77
+ Project maintainers perform releases manually by following the
78
+ [release guide](https://github.com/CiscoDevNet/sccfm-devkit/blob/main/RELEASING.md).
79
+
80
+ ## Other Ways to Contribute
81
+
82
+ We welcome anyone that wants to contribute to this CLI tool to triage and reply to open issues to help troubleshoot
83
+ and fix existing bugs. Here is what you can do:
84
+
85
+ - Help ensure that existing issues follows the recommendations from the _[Reporting Issues](#reporting-issues)_ section,
86
+ providing feedback to the issue's author on what might be missing.
87
+ - Review existing pull requests, and testing patches against real infrastructure.
88
+ - Write a test, or add a missing test case to an existing test.
89
+
90
+ Thanks again for your interest on contributing to this CLI!
91
+
92
+ :heart: