cisco.intersight.intersight_ethernet_network_group_policy module – Ethernet Network Group Policy configuration for Cisco Intersight

Note

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

Synopsis

  • Manages Ethernet Network Group Policy configuration on Cisco Intersight.

  • A policy to configure VLAN settings and QinQ (802.1Q-in-802.1Q) tunneling for Ethernet virtual interfaces on Cisco Intersight managed servers.

  • For more information see Cisco Intersight.

Parameters

Parameter

Comments

allowed_vlans

string

Include VLAN IDs using a list of comma separated VLAN IDs and VLAN ID Ranges.

Required when qinq_enabled is false.

Examples of valid formats are 1, 1,2,3,4,8, 1-4,7, 1-8,12,16.

Valid VLAN range is 1-4093.

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 Ethernet Network Group 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 Ethernet Network Group Policy.

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

native_vlan

integer

Set native VLAN in case QinQ is enabled.

Optional when qinq_enabled is true.

Only one native VLAN can be specified.

Valid range is 1-4093.

organization

string

The name of the Organization this resource is assigned to.

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

Default: "default"

qinq_enabled

boolean

Enable QinQ (802.1Q-in-802.1Q) Tunneling on the vNIC.

When enabled, qinq_vlan is required and allowed_vlans is ignored.

When disabled, allowed_vlans is required.

Choices:

  • false ← (default)

  • true

qinq_vlan

integer

Set QinQ VLAN number.

Required when qinq_enabled is true.

Only one QinQ VLAN can be specified.

Valid range is 2-4093.

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.

When absent, VLAN configuration parameters are not required.

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 an Ethernet Network Group Policy with regular VLANs
  cisco.intersight.intersight_ethernet_network_group_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "regular-vlans-policy"
    description: "Policy with regular VLAN configuration"
    qinq_enabled: false
    allowed_vlans: "1-8,12,16"
    state: present

- name: Create an Ethernet Network Group Policy with QinQ enabled
  cisco.intersight.intersight_ethernet_network_group_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: "default"
    name: "qinq-policy"
    description: "Policy with QinQ configuration"
    tags:
      - Key: "Environment"
        Value: "Production"
    qinq_enabled: true
    qinq_vlan: 4
    native_vlan: 1
    state: present

- name: Create an Ethernet Network Group Policy with QinQ enabled (no native VLAN)
  cisco.intersight.intersight_ethernet_network_group_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "qinq-no-native-policy"
    description: "QinQ policy without native VLAN"
    qinq_enabled: true
    qinq_vlan: 100
    state: present

- name: Create an Ethernet Network Group Policy with single VLAN
  cisco.intersight.intersight_ethernet_network_group_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "single-vlan-policy"
    description: "Policy with single VLAN"
    qinq_enabled: false
    allowed_vlans: "50"
    state: present

- name: Delete an Ethernet Network Group Policy
  cisco.intersight.intersight_ethernet_network_group_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "qinq-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": "regular-vlans-policy", "ObjectType": "fabric.EthNetworkGroupPolicy", "Tags": [{"Key": "Environment", "Value": "Prod"}], "VlanSettings": {"AllowedVlans": "1-5,10,15-20", "ClassId": "fabric.VlanSettings", "ObjectType": "fabric.VlanSettings", "QinqEnabled": false}}}

Authors

  • Ron Gershburg (@rgershbu)