{"id":21217056,"url":"https://github.com/ansible-collections/community.ciscosmb","last_synced_at":"2025-07-03T16:36:03.101Z","repository":{"id":41662773,"uuid":"305623807","full_name":"ansible-collections/community.ciscosmb","owner":"ansible-collections","description":"Ansible Galaxy module for Cisco SMB switches - SG300, SG500, SG350, SG550","archived":false,"fork":false,"pushed_at":"2024-12-10T12:58:36.000Z","size":315,"stargazers_count":20,"open_issues_count":4,"forks_count":11,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-05T13:11:31.279Z","etag":null,"topics":["ansible","ansible-collection","bussiness-switches","cisco","smb","switch"],"latest_commit_sha":null,"homepage":"http://galaxy.ansible.com/community/ciscosmb","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansible-collections.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-20T07:22:53.000Z","updated_at":"2025-03-20T15:50:22.000Z","dependencies_parsed_at":"2024-05-03T13:53:50.455Z","dependency_job_id":"e372cb68-d4d1-4727-babd-10052dc1abd7","html_url":"https://github.com/ansible-collections/community.ciscosmb","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/ansible-collections/community.ciscosmb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.ciscosmb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.ciscosmb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.ciscosmb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.ciscosmb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansible-collections","download_url":"https://codeload.github.com/ansible-collections/community.ciscosmb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.ciscosmb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263361222,"owners_count":23454895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-collection","bussiness-switches","cisco","smb","switch"],"created_at":"2024-11-20T21:56:53.797Z","updated_at":"2025-07-03T16:36:03.092Z","avatar_url":"https://github.com/ansible-collections.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Cisco Small Bussiness Switches (SMB) module\n\nThorough project check - [![CI](https://github.com/ansible-collections/community.ciscosmb/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/ansible-collections/community.ciscosmb/actions/workflows/CI.yml)\n\nAnsible Galaxy module for Cisco SMB switches - SG250, SG300, SG500, SG350, SG550, CBS350, C1300\n\n## Communication\n\n* Join the Ansible forum:\n  * [Get Help](https://forum.ansible.com/c/help/6): get help or help others.\n  * [Social Spaces](https://forum.ansible.com/c/chat/4): gather and interact with fellow enthusiasts.\n  * [News \u0026 Announcements](https://forum.ansible.com/c/news/5): track project-wide announcements including social events.\n\n* The Ansible [Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn): used to announce releases and important changes.\n\nFor more information about communication, see the [Ansible communication guide](https://docs.ansible.com/ansible/devel/community/communication.html).\n\n## Install\n\n```\nansible-galaxy collection install community.ciscosmb\n```\n\n## Usage examples\n\nTested on devices:\n* SG250-10P\n* SG350-10-K9\n* SG350-28-K9\n* SG500-52-K9\n* SG550X-24MP-K9\n* CBS350-24P-4G\n* SG550X-48 stack\n\nKnown to be used with broad range of:\n* Cisco 250 Series Smart Switches\n* Cisco Business 350 Series Managed Switches\n* Cisco 350 Series Stackable Managed Switches\n* Cisco 350X Series Stackable Managed Switches\n* Cisco 500 Series Stackable Managed Switches\n* Cisco 550X Series Stackable Managed Switches\n* Cisco Catalyst 1300 Series Switches\n\n### Required device configuration\n\nAccess setup\n```\n! you should set enable password\nenable password level 15\n\n! on user you have two choices\n! use unpriviledged user (for example priv. 7) and \"become mode\"\nusername user1 privilege 7\n\n! or user with full privileges (priv 15)\nusername user2 privelege 15\n```\n\nCisco's SSH server setup\n```\n! you have to enable SSH server\nip ssh server\n! enable password and/or key\nip ssh password-auth\nip ssh pubkey-auth auto-login\n! generate switch ssh key pair if you did not before\ncrypto key generate rsa\n\n! if you use public keys for users login configure that keys\ncrypto key pubkey-chain ssh\nuser-key user2 rsa\nkey-string AAAAB3NzaC1......XYZ==\nexit\n```\n\n### Python versions\n\nTested on Python versions:\n* 3.6\n* 3.7\n* 3.8\n* 3.9\n* 3.10\n* 3.11\n* 3.12\n\n### Running examples\n\nFor your tests or quick startup use files form repository: [cismosmb_inventory_template.yml](./ciscosmb_inventory_template.yml), [cismosmb_gather_facts.yml](./ciscosmb_gather_facts.yml),  [cismosmb_commands.yml](./ciscosmb_commands.yml) .\n\nPrepare your inventory file - copy file [cismosmb_inventory_template.yml](./ciscosmb_inventory_template.yml) to `cismosmb_inventory.yml` and make your changes.\n\nThen you can run\n\n```\nansible-playbook -i ciscosmb_inventory.yml cismosmb_gather_facts.yml\n```\nor\n```\nansible-playbook -i ciscosmb_inventory.yml cismosmb_commands.yml\n```\n\n## Developement\n\n### Setup environment\n\n```\ngit clone https://github.com/ansible-collections/community.ciscosmb ansible_collections/community/ciscosmb\ngit clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.netcommon.git ansible_collections/ansible/netcommon\n\ncd ansible_collections/community/ciscosmb\n\npython3 -m venv .venv\n. .venv/bin/activate\n\npip install ansible\npip install -r requirements-dev.txt\npip install -r tests/unit/requirements.txt\n\n```\n\n### Develop\n\n```\ncd ansible_collections/community/ciscosmb\ngit pull\n. .venv/bin/activate\n\n# edit files\nvim file\ncp changelogs/fragments/.keep changelogs/fragments/featureXYZ.yml\nvim changelogs/fragments/featureXYZ.yml\n\n# test your changes see \"Testing\"\n\ngit commit -m \"xxx\" file\n```\n\n### Testing\n\n```\ncd ansible_collections/community/ciscosmb\n. .venv/bin/activate\n\n# PY=\"--python 3.8\" # set your version or unset\nMETHOD=\"--docker\" # or --local if you have no Docker installed\nansible-test sanity ${METHOD} ${PY}  \\\n    \u0026\u0026 ansible-test units  ${METHOD} ${PY} \\\n    \u0026\u0026 rm -f ./community-ciscosmb-*.tar.gz  \\\n    \u0026\u0026 ansible-galaxy collection build -v --force  \\\n    \u0026\u0026 export GALAXY_IMPORTER_CONFIG=./galaxy-importer.cfg  \\\n    \u0026\u0026 python3 -m galaxy_importer.main ./community-ciscosmb-*.tar.gz  \\\n    \u0026\u0026 rm -f ./community-ciscosmb-*.tar.gz\n```\n\n### Release\n\n```\ncd ansible_collections/community/ciscosmb\ngit pull\n. .venv/bin/activate\n\n# edit version x.y.z. in galaxy.yml\nvim galaxy.yml\n\n# edit changelog fragments (template in changelogs/fragments/.keep)\ncp changelogs/fragments/.keep changelogs/fragments/release-x.y.z.yml\nvim changelogs/fragments/release-x.y.z.yml\n\n# change and generate CHANGELOG.rst\nantsibull-changelog lint -v\nantsibull-changelog release -v\n\ngit commit -m \"version bump to x.y.z\" .\ngit tag x.y.z\ngit push\n```\n\n## Releasing, Versioning and Deprecation\n\nSee [RELEASE_POLICY.md](https://github.com/ansible-collections/community.ciscosmb/blob/main/RELEASE_POLICY.md)\n\n## Code of Conduct\n\nSee [CODE_OF_CONDUCT.md](https://github.com/ansible-collections/community.ciscosmb/blob/main/CODE_OF_CONDUCT.md)\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/ansible-collections/community.ciscosmb/blob/main/CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansible-collections%2Fcommunity.ciscosmb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansible-collections%2Fcommunity.ciscosmb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansible-collections%2Fcommunity.ciscosmb/lists"}