Name | nexus-pcv JSON |
Version |
0.1.5
JSON |
| download |
home_page | https://github.com/netascode/nexus-pcv |
Summary | A CLI tool to perform a pre-change validation on Nexus Dashboard Insights or Network Assurance Engine. |
upload_time | 2023-04-17 07:02:48 |
maintainer | Daniel Schmidt |
docs_url | None |
author | Daniel Schmidt |
requires_python | >=3.7,<4.0 |
license | LICENSE |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[![Tests](https://github.com/netascode/nexus-pcv/actions/workflows/test.yml/badge.svg)](https://github.com/netascode/nexus-pcv/actions/workflows/test.yml)
![Python Support](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-informational "Python Support: 3.7, 3.8, 3.9, 3.10")
# nexus-pcv
A CLI tool to perform a pre-change validation on Nexus Dashboard Insights or Network Assurance Engine. It can either work with provided JSON file(s) or a `terraform plan` output from a [Nexus as Code](https://cisco.com/go/nexusascode) project. It waits for the analysis to complete and evaluates the results.
```
$ nexus-pcv -h
Usage: nexus-pcv [OPTIONS]
A CLI tool to perform a pre-change validation on Nexus Dashboard Insights or
Network Assurance Engine.
Options:
--version Show the version and exit.
-v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG.
-i, --hostname-ip TEXT NAE/ND hostname or IP (required, env:
PCV_HOSTNAME_IP).
-u, --username TEXT NAE/ND username (required, env: PCV_USERNAME).
-p, --password TEXT NAE/ND password (required, env: PCV_PASSWORD).
-d, --domain TEXT NAE/ND login domain (optional, default: 'Local',
env: PCV_DOMAIN).
-g, --group TEXT NAE assurance group name or NDI insights group
name (required, env: PCV_GROUP).
-s, --site TEXT NDI site or fabric name (optional, only required
for NDI, env: PCV_SITE).
-n, --name TEXT NAE/NDI pre-change validation name (optional,
env: PCV_NAME).
-s, --suppress-events TEXT NAE/NDI comma-separated list of events to
suppress (optional, default: 'APP_EPG_NOT_DEPLOY
ED,APP_EPG_HAS_NO_CONTRACT_IN_ENFORCED_VRF',
env: PCV_SUPPRESS_EVENTS).
-t, --timeout INTEGER NAE/NDI pre-change validation timeout in minutes
(optional, default: 15, env: PCV_TIMEOUT).
-f, --file FILE NAE/NDI proposed change JSON file (optional,
env: PCV_FILE).
-t, --nac-tf-plan FILE NAE/NDI proposed change Terraform plan output
(optional, env: PCV_NAC_TF_PLAN).
-o, --output-summary FILE NAE/NDI summary of new events/anomalies written
to a file (optional, env: PCV_OUTPUT_SUMMARY).
-r, --output-url FILE NAE/NDI link (URL) to pre-change validation
results written to a file (optional, env:
PCV_OUTPUT_URL).
-h, --help Show this message and exit.
```
## Installation
Python 3.7+ is required to install `nexus-pcv`. Don't have Python 3.7 or later? See [Python 3 Installation & Setup Guide](https://realpython.com/installing-python/).
`nexus-pcv` can be installed in a virtual environment using `pip`:
```
pip install nexus-pcv
```
## CI/CD Integration
The tool can easily be integrated with CI/CD workflows. Arguments can either be provided via command line or environment variables. The tool will exit with a non-zero exit code in case of an error or non-suppressed events being discovered during the pre-change analysis. The `--output-summary` and `--output-url` arguments can be used to write a summary and/or a link (URL) to a file, which can then be embedded into notifications (e.g., Webex).
## *Nexus as Code* Integration
*Nexus as Code* allows users to instantiate network fabrics in minutes using an easy to use, opinionated data model. More information about *Nexus as Code* can be found [here](https://cisco.com/go/nexusascode). A planned change can be validated before applying it to a production environment by running a `terraform plan` operation first and then providing the output to `nexus-pcv` to trigger a pre-change validation.
```
export PCV_HOSTNAME_IP=10.1.1.1
export PCV_USERNAME=admin
export PCV_PASSWORD=Cisco123
export PCV_GROUP=LAB
export PCV_SITE=LAB1
terraform plan -out=plan.tfplan
terraform show -json plan.tfplan > plan.json
nexus-pcv --name "PCV1" --nac-tf-plan plan.json
```
Raw data
{
"_id": null,
"home_page": "https://github.com/netascode/nexus-pcv",
"name": "nexus-pcv",
"maintainer": "Daniel Schmidt",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "danischm@cisco.com",
"keywords": "",
"author": "Daniel Schmidt",
"author_email": "danischm@cisco.com",
"download_url": "https://files.pythonhosted.org/packages/3d/29/98959264b38d84497dd4fe65807ed52898955e3431fefb0ae38371e72420/nexus_pcv-0.1.5.tar.gz",
"platform": null,
"description": "[![Tests](https://github.com/netascode/nexus-pcv/actions/workflows/test.yml/badge.svg)](https://github.com/netascode/nexus-pcv/actions/workflows/test.yml)\n![Python Support](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-informational \"Python Support: 3.7, 3.8, 3.9, 3.10\")\n\n# nexus-pcv\n\nA CLI tool to perform a pre-change validation on Nexus Dashboard Insights or Network Assurance Engine. It can either work with provided JSON file(s) or a `terraform plan` output from a [Nexus as Code](https://cisco.com/go/nexusascode) project. It waits for the analysis to complete and evaluates the results.\n\n```\n$ nexus-pcv -h\nUsage: nexus-pcv [OPTIONS]\n\n A CLI tool to perform a pre-change validation on Nexus Dashboard Insights or\n Network Assurance Engine.\n\nOptions:\n --version Show the version and exit.\n -v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG.\n -i, --hostname-ip TEXT NAE/ND hostname or IP (required, env:\n PCV_HOSTNAME_IP).\n -u, --username TEXT NAE/ND username (required, env: PCV_USERNAME).\n -p, --password TEXT NAE/ND password (required, env: PCV_PASSWORD).\n -d, --domain TEXT NAE/ND login domain (optional, default: 'Local',\n env: PCV_DOMAIN).\n -g, --group TEXT NAE assurance group name or NDI insights group\n name (required, env: PCV_GROUP).\n -s, --site TEXT NDI site or fabric name (optional, only required\n for NDI, env: PCV_SITE).\n -n, --name TEXT NAE/NDI pre-change validation name (optional,\n env: PCV_NAME).\n -s, --suppress-events TEXT NAE/NDI comma-separated list of events to\n suppress (optional, default: 'APP_EPG_NOT_DEPLOY\n ED,APP_EPG_HAS_NO_CONTRACT_IN_ENFORCED_VRF',\n env: PCV_SUPPRESS_EVENTS).\n -t, --timeout INTEGER NAE/NDI pre-change validation timeout in minutes\n (optional, default: 15, env: PCV_TIMEOUT).\n -f, --file FILE NAE/NDI proposed change JSON file (optional,\n env: PCV_FILE).\n -t, --nac-tf-plan FILE NAE/NDI proposed change Terraform plan output\n (optional, env: PCV_NAC_TF_PLAN).\n -o, --output-summary FILE NAE/NDI summary of new events/anomalies written\n to a file (optional, env: PCV_OUTPUT_SUMMARY).\n -r, --output-url FILE NAE/NDI link (URL) to pre-change validation\n results written to a file (optional, env:\n PCV_OUTPUT_URL).\n -h, --help Show this message and exit.\n```\n\n## Installation\n\nPython 3.7+ is required to install `nexus-pcv`. Don't have Python 3.7 or later? See [Python 3 Installation & Setup Guide](https://realpython.com/installing-python/).\n\n`nexus-pcv` can be installed in a virtual environment using `pip`:\n\n```\npip install nexus-pcv\n```\n\n## CI/CD Integration\n\nThe tool can easily be integrated with CI/CD workflows. Arguments can either be provided via command line or environment variables. The tool will exit with a non-zero exit code in case of an error or non-suppressed events being discovered during the pre-change analysis. The `--output-summary` and `--output-url` arguments can be used to write a summary and/or a link (URL) to a file, which can then be embedded into notifications (e.g., Webex).\n\n## *Nexus as Code* Integration\n\n*Nexus as Code* allows users to instantiate network fabrics in minutes using an easy to use, opinionated data model. More information about *Nexus as Code* can be found [here](https://cisco.com/go/nexusascode). A planned change can be validated before applying it to a production environment by running a `terraform plan` operation first and then providing the output to `nexus-pcv` to trigger a pre-change validation.\n\n```\nexport PCV_HOSTNAME_IP=10.1.1.1\nexport PCV_USERNAME=admin\nexport PCV_PASSWORD=Cisco123\nexport PCV_GROUP=LAB\nexport PCV_SITE=LAB1\nterraform plan -out=plan.tfplan\nterraform show -json plan.tfplan > plan.json\nnexus-pcv --name \"PCV1\" --nac-tf-plan plan.json\n```\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "A CLI tool to perform a pre-change validation on Nexus Dashboard Insights or Network Assurance Engine.",
"version": "0.1.5",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "71484df56746cc827b7e17190bd266b86128e5cd9800f1a22d7ee2fbcd251f18",
"md5": "9879ea0a05ba2538f27414ace52c2c38",
"sha256": "a34d38bbde791ed302a62671102a0ec0ae8f679f748f71c960d758067c59123c"
},
"downloads": -1,
"filename": "nexus_pcv-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9879ea0a05ba2538f27414ace52c2c38",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 21939,
"upload_time": "2023-04-17T07:02:46",
"upload_time_iso_8601": "2023-04-17T07:02:46.822324Z",
"url": "https://files.pythonhosted.org/packages/71/48/4df56746cc827b7e17190bd266b86128e5cd9800f1a22d7ee2fbcd251f18/nexus_pcv-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3d2998959264b38d84497dd4fe65807ed52898955e3431fefb0ae38371e72420",
"md5": "cf5f25968abd8fc9eb1f8337c9d11b91",
"sha256": "8e6d1905315feb752cc32f56afb37237e14e714606a41825cbc822abab860dda"
},
"downloads": -1,
"filename": "nexus_pcv-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "cf5f25968abd8fc9eb1f8337c9d11b91",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 18505,
"upload_time": "2023-04-17T07:02:48",
"upload_time_iso_8601": "2023-04-17T07:02:48.229119Z",
"url": "https://files.pythonhosted.org/packages/3d/29/98959264b38d84497dd4fe65807ed52898955e3431fefb0ae38371e72420/nexus_pcv-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-17 07:02:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "netascode",
"github_project": "nexus-pcv",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nexus-pcv"
}