Package: nexus-pcv
nexus-pcvA 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 aterraform planoutput from aNexus as Codeproject. 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.InstallationPython 3.7+ is required to installnexus-pcv. Don't have Python 3.7 or later? SeePython 3 Installation & Setup Guide.nexus-pcvcan be installed in a virtual environment usingpip:pip install nexus-pcvCI/CD IntegrationThe 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-summaryand--output-urlarguments 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 CodeIntegrationNexus as Codeallows users to instantiate network fabrics in minutes using an easy to use, opinionated data model. More information aboutNexus as Codecan be foundhere. A planned change can be validated before applying it to a production environment by running aterraform planoperation first and then providing the output tonexus-pcvto 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