Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oliverl-21/ansible-role-cisco-api
Ansible Role for Cisco PSIRT and Support API to query OpenVuln, EoX and Recommended Software
https://github.com/oliverl-21/ansible-role-cisco-api
ansible ansible-role cisco
Last synced: 2 months ago
JSON representation
Ansible Role for Cisco PSIRT and Support API to query OpenVuln, EoX and Recommended Software
- Host: GitHub
- URL: https://github.com/oliverl-21/ansible-role-cisco-api
- Owner: oliverl-21
- Created: 2022-04-26T07:55:47.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-09T08:16:40.000Z (3 months ago)
- Last Synced: 2024-11-09T08:29:50.564Z (3 months ago)
- Topics: ansible, ansible-role, cisco
- Language: Jinja
- Homepage:
- Size: 492 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Release](https://github.com/oliverl-21/ansible-role-cisco-api/actions/workflows/galaxy-release.yml/badge.svg)](https://github.com/oliverl-21/ansible-role-cisco-api/actions/workflows/galaxy-release.yml)
# ansible-role-cisco-api
|[ToDo](#todo) \| [Sample Report](sample/report.md) |
| :---: |Ansible Role for Cisco PSIRT and Support API to query
- OpenVuln
- EoX - future
- Recommended Software - WiP
- requests done
- ToDo: generate output## Current Tasks
- get software version and OS-Type of a device
- Query Cisco OpenVuln API for known vulnerabilities.
- Parse json response for vulnerabilities and append to a report based on a Jinja2 template.
- If errorCode for non vulnerable version is thrown by Cisco API, append to report Device, current version and errorMessage## ToDo
- implement EoX
- implement Recommended Software## Requirements
Access to [Cisco API Console](https://apiconsole.cisco.com/)
How-To [link](https://community.cisco.com/t5/services-documents/accessing-the-cisco-psirt-openvuln-api-using-curl/ta-p/3652897)
## Role Variables
- client_id: ```your API client id```
- client_secret: ```your client secret```
- psirt_path: ```path for report export```
- psirt_report: ```filename for the report```
- pss_client_id: ```your PSS API client id```
- pss_client_secret: ```your PSS API client secret```## Dependencies
Roles: none
Collection:- cisco.ios
- ansible.netcommon## Example Playbook
```yaml
# playbook.yml
---
- name: openvuln
hosts: ios
gather_facts: false
connection: network_cli
vars:
client_id:
client_secret:
pss_client_id:
pss_client_secret:
psirt_path: report
psirt_report: report.md
roles:
- {role: cisco-api, psirt: true, recsw: true}
```
## Sample Output![Play output](./sample/play.png)
![Sample PSIRT Report](./sample/report.md)
6 Devices queried, 2 of them unreachable
## License
GPL-3.0-or-later
## Author Information
oliverl-21