Run the Arista CloudVision change workflow from Windmill flows: update configlets, assign them or an image bundle, then approve and execute the resulting tasks in a change control, on CVP or CVaaS.
Set up in 3 steps
Create a service account token
In CloudVision, open Settings > Access Control > Service Accounts, add a service account with a role that can manage configlets, tasks, change controls and images, then generate a token. Copy it: it is shown only once.
Add the resource
In Resources, add an Arista CloudVision resource with the CloudVision address (your CVP cluster, or your regional CVaaS address such as https://www.cv-prod-us-4.arista.io) and the token.
Run your first script
Start with List devices to check the connection. A typical flow: Create or update configlet, Apply configlets, Create change control from the returned task IDs, Approve change control, then Execute change control.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Create or update configlet
Remove configlets
List tasks
List image bundles
List devices
List configlets
Get task
Get device
Get configlet
Get change control
Execute task
Execute change control
Create change control
Approve change control
Apply image bundle
Apply configlets
Resource type
The shape of the credential every script on this page expects.
arista_cloudvision
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| base_url | string | Yes | HTTPS address of CloudVision, with no path or trailing slash: your CVP cluster (e.g. https://cvp.example.com) or the regional CVaaS address of your tenant, with the www (e.g. https://www.cv-prod-us-4.arista.io). Unless deployment is set, a host under arista.io is taken as CVaaS and any other as on-premises CVP. The certificate must match this address and be trusted by the Windmill worker (DENO_CERT or SSL_CERT_FILE): a default self-signed CVP certificate is rejected. |
| token | string | Yes | Service-account token generated in CloudVision under Settings > Access Control > Service Accounts. It is shown once, when generated. |
| deployment | string | No | Optional. cvp for on-premises CloudVision Portal, cvaas for CloudVision as-a-Service. Leave empty to decide from base_url; set it when base_url is not the CloudVision host itself, e.g. a proxy in front of CVaaS. The two serve the legacy API under different paths (/web on CVP, /cvpservice on CVaaS). |
Questions
My CVP has a self-signed certificate
Add your CA to the trust store of the Windmill workers that run these scripts (DENO_CERT or SSL_CERT_FILE). The scripts don't skip certificate verification.
Does it work with both CVP and CVaaS?
Yes, with the same resource type. The scripts tell them apart from the address: a host under arista.io is CVaaS, any other is on-premises CVP. If you reach CloudVision through another hostname, such as a proxy, set Deployment on the resource.
Do I need a username and password?
No. Every call, on CVP and CVaaS, uses the service-account token.
Can a CloudVision event trigger a flow?
Not through these scripts. CloudVision can send event notifications to a webhook receiver set up in its notification settings: point it at a Windmill HTTP route or webhook trigger.