cisco.intersight.intersight_vsan_policy_info module – Gather information about VSAN Policies and their VSANs in Cisco Intersight

Note

This module is part of the cisco.intersight collection (version 2.6.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install cisco.intersight.

To use it in a playbook, specify: cisco.intersight.intersight_vsan_policy_info.

Synopsis

  • Retrieve information about VSAN (Virtual Storage Area Network) Policies and their associated VSANs from Cisco Intersight.

  • Query policies by organization, policy name, or filter VSANs by name patterns.

  • Returns structured data combining policy metadata with detailed VSAN configurations.

  • Supports filtering by organization, policy name, and VSAN name.

  • If no filters are provided, all VSAN Policies and their VSANs will be returned.

  • Returns structured data with both policy information and associated VSAN details.

Parameters

Parameter

Comments

api_key_id

string / required

Public API Key ID associated with the private key.

If not set, the value of the INTERSIGHT_API_KEY_ID environment variable is used.

api_private_key

path / required

Filename (absolute path) or string of PEM formatted private key data to be used for Intersight API authentication.

If a string is used, Ansible vault should be used to encrypt string data.

Ex. ansible-vault encrypt_string --vault-id tme@/Users/dsoper/Documents/vault_password_file ‘-----BEGIN EC PRIVATE KEY-----

<your private key data>

-----END EC PRIVATE KEY-----’

If not set, the value of the INTERSIGHT_API_PRIVATE_KEY environment variable is used.

api_uri

string

URI used to access the Intersight API.

If not set, the value of the INTERSIGHT_API_URI environment variable is used.

Default: "https://intersight.com/api/v1"

name

string

The exact name of the VSAN Policy to retrieve information from.

When specified, only the matching policy and its VSANs will be returned.

Can be combined with vsan_name filter to get specific VSANs from a specific policy.

organization

string

The name of the organization to filter VSAN Policies by.

Use ‘default’ for the default organization.

When specified, only policies from this organization will be returned.

use_proxy

boolean

If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.

Choices:

  • false

  • true ← (default)

validate_certs

boolean

Boolean control for verifying the api_uri TLS certificate

Choices:

  • false

  • true ← (default)

vsan_name

string

Filter VSANs by name within the policies.

Can be used with or without policy name filtering.

Supports exact matching (e.g., “vsan_uplink_100” will match only “vsan_uplink_100”).

When combined with policy name, filters VSANs within that specific policy.

Examples

# Basic Usage Examples
- name: Fetch all VSAN Policies and their VSANs from all organizations
  cisco.intersight.intersight_vsan_policy_info:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
  register: all_vsan_policies

# Organization-specific Examples
- name: Fetch all VSAN Policies from the default organization
  cisco.intersight.intersight_vsan_policy_info:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
  register: default_org_policies

- name: Fetch all VSAN Policies from a custom organization
  cisco.intersight.intersight_vsan_policy_info:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "Engineering"
  register: engineering_policies

# Specific Policy Examples
- name: Fetch a specific VSAN Policy by name with all its VSANs
  cisco.intersight.intersight_vsan_policy_info:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "datacenter-vsan-policy"
  register: specific_policy

# VSAN Filtering Examples
- name: Find all policies containing a specific VSAN
  cisco.intersight.intersight_vsan_policy_info:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    vsan_name: "vsan_uplink_100"
  register: policies_with_vsan_100

- name: Find specific VSAN in a specific policy
  cisco.intersight.intersight_vsan_policy_info:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "datacenter-vsan-policy"
    vsan_name: "vsan_storage_200"
  register: specific_vsan_in_policy

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

api_response

dictionary

The API response containing policy and VSAN information.

Returns a dictionary when querying a single policy or no policies found.

Returns a list when multiple policies are found.

Returned: always

Sample: {"Description": "VSAN policy for datacenter SAN infrastructure", "EnableTrunking": false, "Moid": "12345678901234567890abcd", "Name": "datacenter-vsan-policy", "ObjectType": "fabric.FcNetworkPolicy", "Organization": {"Name": "default", "ObjectType": "organization.Organization"}, "Tags": [{"Key": "Site", "Value": "DataCenter-A"}, {"Key": "Environment", "Value": "Production"}], "vsans": [{"FcNetworkPolicy": {"Moid": "12345678901234567890abcd", "ObjectType": "fabric.FcNetworkPolicy"}, "FcoeVlan": 100, "Moid": "vsan12345678901234567890", "Name": "vsan_uplink_100", "ObjectType": "fabric.Vsan", "VsanId": 100, "VsanScope": "Uplink"}, {"FcNetworkPolicy": {"Moid": "12345678901234567890abcd", "ObjectType": "fabric.FcNetworkPolicy"}, "FcoeVlan": 200, "Moid": "vsan09876543210987654321", "Name": "vsan_storage_200", "ObjectType": "fabric.Vsan", "VsanId": 200, "VsanScope": "Storage"}]}

Authors

  • Ron Gershburg (@rgershbu)