Production-ready Ansible modules for VAST Data Management System (VMS). Automate VAST storage infrastructure with idempotent, declarative modules for views, policies, authentication, and networking.
Install the latest version directly from Ansible Galaxy:
ansible-galaxy collection install vastdata.vmsTo install a specific version:
ansible-galaxy collection install vastdata.vms:==2.1.0To upgrade to the latest version:
ansible-galaxy collection install vastdata.vms --upgradeCreate a requirements.yml file:
collections:
- name: vastdata.vms
version: ">=1.0.0"Install the collection:
ansible-galaxy collection install -r requirements.ymlDownload and install from a specific GitHub release:
# Replace 2.0.0 with the desired version
ansible-galaxy collection install https://github.com/vast-data/vast-ansible/releases/download/v2.1.0/vastdata-vms-2.1.0.tar.gzFor development or testing from source:
git clone https://github.com/vast-data/vast-ansible.git
cd vast-ansible
ansible-galaxy collection build
ansible-galaxy collection install vastdata-vms-*.tar.gz- Python: >= 3.9
- Ansible: ansible-core >= 2.15
- requests: Python HTTP library (typically already installed with ansible-core)
The collection supports two authentication methods:
- hosts: localhost
tasks:
- name: Create a view
vastdata.vms.views:
vms:
host: vast-vms.example.com
token: "{{ vast_token }}"
path: /prod/data
state: present- hosts: localhost
tasks:
- name: Create a view
vastdata.vms.views:
vms:
host: vast-vms.example.com
username: admin
password: "{{ vast_password }}"
path: /prod/data
state: presentThis collection currently provides the following modules:
| Module | Description |
|---|---|
vastdata.vms.views |
Manage VAST views (file system exports) |
vastdata.vms.viewpolicies |
Manage view policies and configurations |
vastdata.vms.vippools |
Manage VIP pools for network configuration |
vastdata.vms.quotas |
Manage storage quotas |
vastdata.vms.s3policies |
Manage S3 bucket policies |
vastdata.vms.tenants |
Manage multi-tenancy configurations |
vastdata.vms.groups |
Manage user groups |
vastdata.vms.users |
Manage user accounts |
vastdata.vms.ldaps |
Configure LDAP authentication |
vastdata.vms.dns |
Manage DNS settings |
vastdata.vms.eventdefinitionconfigs |
Manage event definition configurations |
vastdata.vms.nonlocal_group |
Manage non-local groups |
vastdata.vms.nonlocal_user |
Manage non-local users |
vastdata.vms.nativereplicationremotetargets |
Manage native replication remote targets |
vastdata.vms.snapshots |
Manage snapshots |
vastdata.vms.globalsnapstreams |
Manage global snapshot streams |
vastdata.vms.protectionpolicies |
Manage protection policies (with frames) |
vastdata.vms.protectedpaths |
Manage protected paths |
vastdata.vms.protectedpath_streams |
Manage replication streams attached to a protected path |
vastdata.vms.user_key |
Manage tenant-scoped user access keys |
vastdata.vms.activedirectory |
Manage Active Directory configurations |
vastdata.vms.administrator_role |
Manage administrator roles |
vastdata.vms.localproviders |
Manage local identity providers |
vastdata.vms.s3lifecyclerules |
Manage S3 lifecycle rules |
vastdata.vms.managers |
Manage VMS managers |
vastdata.vms.manager_password |
Update a manager's password |
vastdata.vms.manager_authorized_status |
Query a manager's authorized status |
vastdata.vms.qospolicies |
Manage QoS policies |
vastdata.vms.apitokens |
Manage API tokens |
vastdata.vms.apitoken_revoke |
Revoke API tokens |
vastdata.vms.iamroles |
Manage IAM roles |
vastdata.vms.iam_role_credentials |
Query IAM role credentials |
vastdata.vms.iamrole_revoke_access_keys |
Revoke IAM role access keys |
vastdata.vms.realms |
Manage realms |
vastdata.vms.callhomeconfigs |
Manage Call Home configurations |
vastdata.vms.callhomeconfig_register_cluster |
Register a cluster with Call Home |
vastdata.vms.callhomeconfig_send |
Trigger a Call Home send |
vastdata.vms.vms |
Manage VMS instances |
vastdata.vms.vms_configured_idps |
Query configured identity providers for a VMS |
vastdata.vms.vms_set_max_api_tokens |
Set the maximum number of API tokens for a VMS |
vastdata.vms.nonlocal_user_key |
Manage access keys for non-local users |
vastdata.vms.nis |
Manage NIS configuration |
vastdata.vms.nis_set_posix_primary |
Set a NIS provider as the POSIX primary |
vastdata.vms.oidcs |
Manage OIDC identity provider configurations |
vastdata.vms.userquotas |
Manage per-user storage quotas |
vastdata.vms.webhooks |
Manage webhook notification endpoints |
vastdata.vms.kerberos |
Manage Kerberos configurations |
vastdata.vms.kerberos_keytab |
Generate or upload a Kerberos keytab |
vastdata.vms.permissions_info |
List VAST permissions |
vastdata.vms.views_info |
List VAST views |
vastdata.vms.viewpolicies_info |
List VAST view policies |
vastdata.vms.vippools_info |
List VAST VIP pools |
vastdata.vms.quotas_info |
List VAST quotas |
vastdata.vms.s3policies_info |
List VAST S3 policies |
vastdata.vms.tenants_info |
List VAST tenants |
vastdata.vms.groups_info |
List VAST groups |
vastdata.vms.users_info |
List VAST users |
vastdata.vms.ldaps_info |
List VAST LDAP configurations |
vastdata.vms.dns_info |
List VAST DNS configurations |
vastdata.vms.eventdefinitionconfigs_info |
List VAST event definition configurations |
vastdata.vms.nativereplicationremotetargets_info |
List native replication remote targets |
vastdata.vms.snapshots_info |
List VAST snapshots |
vastdata.vms.globalsnapstreams_info |
List VAST global snapshot streams |
vastdata.vms.protectionpolicies_info |
List VAST protection policies |
vastdata.vms.protectedpaths_info |
List VAST protected paths |
vastdata.vms.activedirectory_info |
List VAST Active Directory configurations |
vastdata.vms.administrator_role_info |
List VAST administrator roles |
vastdata.vms.localproviders_info |
List VAST local identity providers |
vastdata.vms.s3lifecyclerules_info |
List VAST S3 lifecycle rules |
vastdata.vms.managers_info |
List VAST managers |
vastdata.vms.qospolicies_info |
List VAST QoS policies |
vastdata.vms.apitokens_info |
List VAST API tokens |
vastdata.vms.iamroles_info |
List VAST IAM roles |
vastdata.vms.realms_info |
List VAST realms |
vastdata.vms.callhomeconfigs_info |
List VAST Call Home configurations |
vastdata.vms.vms_info |
List VMS instances |
vastdata.vms.nis_info |
List VAST NIS configurations |
vastdata.vms.oidcs_info |
List VAST OIDC configurations |
vastdata.vms.userquotas_info |
List VAST user quotas |
vastdata.vms.webhooks_info |
List VAST webhooks |
vastdata.vms.kerberos_info |
List VAST Kerberos configurations |
vastdata.vms.challengetokens_info |
List VAST challenge tokens |
vastdata.vms.nonlocal_user_info |
List non-local users |
vastdata.vms.nonlocal_group_info |
List non-local groups |
This collection currently provides the following roles:
| Role | Description |
|---|---|
vastdata.vms.protectedpath |
Orchestrate VAST protected paths (VIP pools, replication peers, protection policies, protected paths, and replication/standby streams) |
View detailed module documentation:
ansible-doc vastdata.vms.views
ansible-doc vastdata.vms.quotas
ansible-doc vastdata.vms.ldapsAll modules support:
- ✅ Idempotency - Safe to run multiple times
- ✅ Check Mode - Preview changes with
--check - ✅ Diff Mode - See exact changes with
--diff - ✅ Error Handling - Clear, actionable error messages
- ✅ Ansible Vault - Secure credential management
- ✅ Read-only
*_infomodules - Discover and look up resources without making changes - ✅
clear_fields- Explicitly reset optional fields back to their empty/null state (where supported)
Every module belongs to the vastdata.vms.all action group, so you can declare the vms: connection once for a whole play instead of repeating it on every task:
- hosts: localhost
module_defaults:
group/vastdata.vms.all:
vms:
host: vast-vms.example.com
token: "{{ vast_token }}"
tasks:
- name: List VIP pools
vastdata.vms.vippools_info:
- name: Create a view
vastdata.vms.views:
path: /prod/data
state: presentThe collection includes comprehensive test suites:
# Sanity tests (code quality, documentation)
./test.sh sanity
# Unit tests (module structure validation)
./test.sh unit
# Build collection
./test.sh buildpip install ansible-core- VAST Software: 5.4.x and 5.5.x - a single collection auto-adapts to each cluster's VMS version (manage mixed-version fleets from one install)
- Python: 3.9+
- Ansible: ansible-core 2.15+
See CHANGELOG.md for release history and version details.
Apache License 2.0. See LICENSE for full details.
VAST Data is the data platform company for the AI era. Learn more at vastdata.com.
Note: This collection is independently developed and maintained. For VAST product documentation, visit VAST Documentation.