cisco.intersight.intersight_flow_control_policy module – Flow Control Policy configuration for Cisco Intersight

Note

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

Synopsis

  • Manages Flow Control Policy configuration on Cisco Intersight.

  • A policy to configure Priority Flow Control (PFC) and link-level flow control settings for Cisco Intersight managed fabric interconnects.

  • Priority Flow Control (PFC) enables no-drop behavior for specific traffic classes, while link-level flow control manages traffic flow at the link layer.

  • 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 Flow Control Policy.

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

name

string / required

The name assigned to the Flow Control Policy.

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.

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

Default: "default"

priority_flow_control_mode

string

Configure the Priority Flow Control (PFC) for each port to enable the no-drop behavior for the CoS defined by the System QoS Policy.

PFC works with Ethernet QoS policy to enable no-drop behavior for specific CoS values.

If Auto or On is selected for PFC, the Receive and Send link level flow control will be Off.

auto - PFC is automatically configured based on the QoS policies (default).

on - PFC is always enabled for the configured CoS values.

off - PFC is disabled. Link-level flow control settings will be used instead.

Choices:

  • "auto" ← (default)

  • "on"

  • "off"

receive_direction

string

Link-level Flow Control configured in the receive direction.

This parameter is only applicable when priority_flow_control_mode is set to off.

When priority_flow_control_mode is auto or on, this will be automatically set to disabled.

enabled - Enable receive direction flow control.

disabled - Disable receive direction flow control.

Choices:

  • "enabled" ← (default)

  • "disabled"

send_direction

string

Link-level Flow Control configured in the send direction.

This parameter is only applicable when priority_flow_control_mode is set to off.

When priority_flow_control_mode is auto or on, this will be automatically set to disabled.

enabled - Enable send direction flow control.

disabled - Disable send direction flow control.

Choices:

  • "enabled" ← (default)

  • "disabled"

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 a Flow Control Policy with auto PFC mode
  cisco.intersight.intersight_flow_control_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "FlowControl-Auto-Policy"
    description: "Flow control policy with auto PFC"
    priority_flow_control_mode: auto
    tags:
      - Key: "Site"
        Value: "DataCenter-A"
    state: present

- name: Create a Flow Control Policy with PFC enabled
  cisco.intersight.intersight_flow_control_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "FlowControl-PFC-On-Policy"
    description: "Flow control policy with PFC always on"
    priority_flow_control_mode: on
    state: present

- name: Create a Flow Control Policy with link-level flow control
  cisco.intersight.intersight_flow_control_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "FlowControl-LinkLevel-Policy"
    description: "Flow control policy with link-level settings"
    priority_flow_control_mode: off
    receive_direction: enabled
    send_direction: enabled
    state: present

- name: Create a Flow Control Policy with disabled flow control
  cisco.intersight.intersight_flow_control_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "FlowControl-Disabled-Policy"
    priority_flow_control_mode: off
    receive_direction: disabled
    send_direction: disabled
    state: present

- name: Update a Flow Control Policy
  cisco.intersight.intersight_flow_control_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "FlowControl-Auto-Policy"
    description: "Updated flow control policy"
    priority_flow_control_mode: on
    state: present

- name: Delete a Flow Control Policy
  cisco.intersight.intersight_flow_control_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "FlowControl-Auto-Policy"
    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": {"Name": "FlowControl-Auto-Policy", "ObjectType": "fabric.FlowControlPolicy", "PriorityFlowControlMode": "auto", "ReceiveDirection": "Enabled", "SendDirection": "Enabled", "Tags": [{"Key": "Site", "Value": "DataCenter-A"}]}}

Authors

  • Ron Gershburg (@rgershbu)