cisco.intersight.intersight_fibre_channel_zone_policy module – Manage Fibre Channel Zone Policies for Cisco Intersight

Note

This module is part of the cisco.intersight collection (version 2.7.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_fibre_channel_zone_policy.

Synopsis

  • Create, update, and delete Fibre Channel Zone Policies on Cisco Intersight.

  • Manage FC target members (zones) within FC zone policies.

  • FC Zone policies define zoning configurations for Fibre Channel networks.

  • Supports SIST (Single Initiator Single Target), SIMT (Single Initiator Multiple Target), and None zoning types.

  • When zoning type is None, targets cannot be added and existing targets will be disabled.

  • For more information see Cisco Intersight.

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"

description

aliases: descr

string

The user-defined description for the Fibre Channel Zone Policy.

Description can contain letters(a-z, A-Z), numbers(0-9), hyphen(-), period(.), colon(:), or an underscore(_).

fc_target_members

list / elements=dictionary

List of FC target members (zones) to be created within the FC zone policy.

Each target defines a WWPN that is a member of the FC zone.

Leave empty when fc_target_zoning_type is None.

name

string / required

Name identifier for the FC target member.

Must be unique within the policy.

switch_id

string

Unique identifier for the Fabric object.

Specifies which fabric interconnect the target is associated with.

Choices:

  • "A" ← (default)

  • "B"

vsan_id

integer / required

VSAN ID with scope defined as Storage in the VSAN policy.

Must be between 1 and 4093.

wwpn

string / required

World Wide Port Name (WWPN) that is a member of the FC zone.

Format should be colon-separated hex values (e.g., 21:00:00:e0:8b:05:05:04).

Must be a valid WWPN format.

fc_target_zoning_type

string

Type of FC zoning configuration.

SIST - Single Initiator Single Target zoning.

SIMT - Single Initiator Multiple Target zoning.

None - No zoning. When None is selected, targets cannot be added and existing targets will be disabled.

Choices:

  • "SIST"

  • "SIMT"

  • "None" ← (default)

name

string / required

The name assigned to the Fibre Channel Zone Policy.

Must be unique within the organization.

The name must be between 1 and 62 alphanumeric characters, allowing special characters :-_.

organization

string

The name of the Organization this resource is assigned to.

Policies created within a Custom Organization are applicable only to devices in the same Organization.

Use ‘default’ for the default organization.

Default: "default"

state

string

If present, will verify the resource is present and will create if needed.

If absent, will verify the resource is absent and will delete if needed.

Choices:

  • "present" ← (default)

  • "absent"

tags

list / elements=dictionary

List of tags in Key:<user-defined key> Value:<user-defined value> format.

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)

Examples

- name: Create FC Zone Policy with SIMT zoning and multiple targets
  cisco.intersight.intersight_fibre_channel_zone_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "fc-zone-policy-simt"
    description: "FC Zone policy with SIMT zoning"
    fc_target_zoning_type: SIMT
    fc_target_members:
      - name: "target1"
        wwpn: "21:00:00:e0:8b:05:05:04"
        switch_id: A
        vsan_id: 100
      - name: "target2"
        wwpn: "21:00:00:e0:8b:05:05:03"
        switch_id: B
        vsan_id: 100
      - name: "target3"
        wwpn: "21:00:00:e0:8b:05:05:09"
        switch_id: A
        vsan_id: 200
    tags:
      - Key: Environment
        Value: Production
    state: present

- name: Create FC Zone Policy with SIST zoning
  cisco.intersight.intersight_fibre_channel_zone_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "fc-zone-policy-sist"
    description: "FC Zone policy with SIST zoning"
    fc_target_zoning_type: SIST
    fc_target_members:
      - name: "single-target"
        wwpn: "21:00:00:e0:8b:05:05:01"
        switch_id: A
        vsan_id: 100
    state: present

- name: Create FC Zone Policy with no zoning (None type)
  cisco.intersight.intersight_fibre_channel_zone_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "fc-zone-policy-none"
    description: "FC Zone policy with no zoning"
    fc_target_zoning_type: None
    state: present

- name: Update FC Zone Policy - add new target
  cisco.intersight.intersight_fibre_channel_zone_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "fc-zone-policy-simt"
    description: "Updated FC Zone policy"
    fc_target_zoning_type: SIMT
    fc_target_members:
      - name: "target1"
        wwpn: "21:00:00:e0:8b:05:05:04"
        switch_id: A
        vsan_id: 100
      - name: "target2"
        wwpn: "21:00:00:e0:8b:05:05:03"
        switch_id: B
        vsan_id: 100
      - name: "target3"
        wwpn: "21:00:00:e0:8b:05:05:09"
        switch_id: A
        vsan_id: 200
      - name: "target4"
        wwpn: "21:00:00:e0:8b:05:05:10"
        switch_id: B
        vsan_id: 200
    state: present

- name: Update FC Zone Policy - remove a target (only specify remaining targets)
  cisco.intersight.intersight_fibre_channel_zone_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "fc-zone-policy-simt"
    fc_target_zoning_type: SIMT
    fc_target_members:
      - name: "target1"
        wwpn: "21:00:00:e0:8b:05:05:04"
        switch_id: A
        vsan_id: 100
      - name: "target3"
        wwpn: "21:00:00:e0:8b:05:05:09"
        switch_id: A
        vsan_id: 200
    state: present

- name: Delete FC Zone Policy
  cisco.intersight.intersight_fibre_channel_zone_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "fc-zone-policy-simt"
    state: absent

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 output returned by the specified resource.

Returned: always

Sample: {"api_response": {"Description": "FC Zone policy with SIMT zoning", "FcTargetMembers": [{"Name": "target1", "SwitchId": "A", "VsanId": 100, "Wwpn": "21:00:00:e0:8b:05:05:04"}, {"Name": "target2", "SwitchId": "B", "VsanId": 100, "Wwpn": "21:00:00:e0:8b:05:05:03"}], "FcTargetZoningType": "SIMT", "Moid": "1234567890abcdef12345678", "Name": "fc-zone-policy-simt", "ObjectType": "fabric.FcZonePolicy", "Organization": {"Moid": "abcdef1234567890abcdef12", "ObjectType": "organization.Organization"}, "Tags": [{"Key": "Environment", "Value": "Production"}]}}

Authors

  • Ron Gershburg (@rgershbu)