cisco.mso.ndo_macsec_policy module – Manage MACsec Policies on Cisco Nexus Dashboard Orchestrator (NDO).
Note
This module is part of the cisco.mso collection (version 2.11.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.mso.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.mso.ndo_macsec_policy.
Synopsis
- Manage MACsec Policies on Cisco Nexus Dashboard Orchestrator (NDO). 
- This module is only supported on ND v3.1 (NDO v4.3) and later. 
Requirements
The below requirements are needed on the host that executes this module.
- Multi Site Orchestrator v2.1 or newer 
Parameters
| Parameter | Comments | 
|---|---|
| The administrative state of the MACsec Policy. (Enables or disables the policy) The default value is  Choices: 
 | |
| The cipher suite to be used for encryption. The default value is  Choices: 
 | |
| The confidentiality offset for the MACsec Policy. The default value is 0. This parameter is only available for type  Choices: 
 | |
| The description of the MACsec Policy. | |
| IP Address or hostname of the ACI Multi Site Orchestrator host. If the value is not specified in the task, the value of environment variable  | |
| The type of the interfaces this policy will be applied to. Choices: 
 | |
| The key server priority for the MACsec Policy. The value must be between 0 and 255. The default value 16 for type  This parameter is only available for type  | |
| The login domain name to use for authentication. The default value is Local. If the value is not specified in the task, the value of environment variable  When using a HTTPAPI connection plugin the inventory variable  | |
| List of the MACsec Keys. Providing an empty list will remove the  The old  | |
| The end time for the MACsec Key. The date time format - YYYY-MM-DD HH:MM:SS or ‘infinite’ The default value is  | |
| The name of the MACsec Key. Key Name has to be Hex chars [0-9a-fA-F] | |
| The Pre-Shared Key (PSK) for the MACsec Key. PSK has to be 64 chars long if cipher suite is  PSK has to be 32 chars long if cipher suite is  PSK has to be Hex chars [0-9a-fA-F] | |
| The start time for the MACsec Key. The date time format - YYYY-MM-DD HH:MM:SS or ‘now’ The start time for each key_name should be unique. The default value is  | |
| The name of the MACsec Policy. | |
| The UUID of the MACsec Policy. This parameter is required when the  | |
| Influence the output of this MSO module. 
 
 
 If the value is not specified in the task, the value of environment variable  Choices: 
 | |
| The password to use for authentication. If the value is not specified in the task, the value of environment variables  | |
| Port number to be used for the REST connection. The default value depends on parameter `use_ssl`. If the value is not specified in the task, the value of environment variable  | |
| The expiry time for the Security Association Key (SAK) for the MACsec Policy. The value must be 0 or between 60 and 2592000. The default value is 0. | |
| The security policy to allow traffic on the link for the MACsec Policy. The default value is  Choices: 
 | |
| Use  Use  Use  Choices: 
 | |
| The name of the template. The template must be a fabric policy template. | |
| The socket level timeout in seconds. The default value is 30 seconds. If the value is not specified in the task, the value of environment variable  | |
| If  If the value is not specified in the task, the value of environment variable  The default is  Choices: 
 | |
| If  If the value is not specified in the task, the value of environment variable  When using a HTTPAPI connection plugin the inventory variable  The default is  Choices: 
 | |
| The username to use for authentication. If the value is not specified in the task, the value of environment variables  | |
| If  This should only set to  If the value is not specified in the task, the value of environment variable  The default is  Choices: 
 | |
| The window size defines the maximum number of frames that can be received out of order before a replay attack is detected. The value must be between 0 and 4294967295. The default value is 0 for type  | 
Notes
Note
- This module was written to support Multi Site Orchestrator v2.1 or newer. Some or all functionality may not work on earlier versions. 
Examples
- name: Create a new MACsec Policy of interface_type fabric
  cisco.mso.ndo_macsec_policy:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_test_template
    macsec_policy: ansible_test_macsec_policy
    description: "Ansible Test MACsec Policy"
    state: present
- name: Create a new MACsec Policy of interface_type access
  cisco.mso.ndo_macsec_policy:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_test_template
    macsec_policy: ansible_test_macsec_policy
    description: "Ansible Test MACsec Policy"
    macsec_keys:
      - key_name: ansible_test_key
        psk: 'AA111111111111111111111111111111111111111111111111111111111111aa'
        start_time: '2029-12-11 11:12:13'
        end_time: 'infinite'
    state: present
- name: Query a MACsec Policy with macsec_policy name
  cisco.mso.ndo_macsec_policy:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_test_template
    macsec_policy: ansible_test_macsec_policy
    state: query
  register: query_one
- name: Query all MACsec Policies
  cisco.mso.ndo_macsec_policy:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_test_template
    state: query
  register: query_all
- name: Query a MACsec Policy with macsec_policy UUID
  cisco.mso.ndo_macsec_policy:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_test_template
    macsec_policy_uuid: ansible_test_macsec_policy_uuid
    state: query
  register: query_uuid
- name: Delete a MACsec Policy with name
  cisco.mso.ndo_macsec_policy:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_test_template
    macsec_policy: ansible_test_macsec_policy
    state: absent
- name: Delete a MACsec Policy with UUID
  cisco.mso.ndo_macsec_policy:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_test_template
    macsec_policy_uuid: ansible_test_macsec_policy_uuid
    state: absent
