cisco.mso.ndo_l3out_routed_interface module – Manage L3Out Routed Interfaces 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_l3out_routed_interface.

New in cisco.mso 2.11.0

Synopsis

  • Manage L3Out Routed Interfaces 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

host

aliases: hostname

string

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 MSO_HOST will be used instead.

interface_group_policy

string

The name of the interface group policy.

ipv4_address

string

The IPv4 address of the interface.

ipv6_address

string

The IPv6 address of the interface.

ipv6_dad

string

Whether to enable IPv6 Duplicate Address Detection (DAD).

If this parameter is unspecified, NDO defaults to ipv6_dad=enabled.

Choices:

  • "enabled"

  • "disabled"

string

The IPv6 link-local address of the interface.

l3out

aliases: l3out_name

string

The name of the L3Out.

This parameter or l3out_uuid is required.

l3out_uuid

string

The UUID of the L3Out.

This parameter or l3out is required.

login_domain

string

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 MSO_LOGIN_DOMAIN will be used instead.

When using a HTTPAPI connection plugin the inventory variable ansible_httpapi_login_domain will be used if this attribute is not specified.

mac

string

The MAC address of the interface.

mtu

string

The Maximum Transmission Unit (MTU) of the interface.

Use mtu=inherit to inherit the value configured under the fabric L2 MTU settings.

The value must be 1, in the range 576 - 9216 or mtu=inherit.

node_group_policy

string

The name of the node group policy.

node_id

aliases: node, border_leaf

string

The ID of the node (border leaf switch) where to deploy the L3Out routing protocol and node-level protocol configurations.

This parameter is required when path is specified.

This parameter is required when the node configuration does not exist under the L3Out template.

The node configuration is created under the L3Out template when it does not exist.

The node configuration is updated under the L3Out template when it already exists.

The node configuration is deleted under the L3Out template when there are no interfaces referencing it.

node_loopback_ip

aliases: loopback_ip

string

The loopback IP address of the node.

node_router_id

aliases: router_id

string

The router ID of the node.

This parameter is required when the node configuration does not exist under the L3Out template.

output_level

string

Influence the output of this MSO module.

normal means the standard output, incl. current dict

info adds informational output, incl. previous, proposed and sent dicts

debug adds debugging output, incl. filter_string, method, response, status and url information

If the value is not specified in the task, the value of environment variable MSO_OUTPUT_LEVEL will be used instead.

Choices:

  • "debug"

  • "info"

  • "normal" ← (default)

password

string

The password to use for authentication.

If the value is not specified in the task, the value of environment variables MSO_PASSWORD or ANSIBLE_NET_PASSWORD will be used instead.

path

aliases: interface

string

The path of the interface.

The path is an existing physical port (eth1/1).

This parameter or port_channel is required.

port

integer

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 MSO_PORT will be used instead.

port_channel

dictionary

The port channel details.

This parameter or path is required.

micro_bfd_address

string

The address for micro BFD.

micro_bfd_enabled

boolean

Whether to enable micro BFD (Bidirectional Forwarding Detection) on the interface.

Choices:

  • false

  • true

micro_bfd_start_timer

integer

The start timer for micro BFD.

The value must be 0 or in the range 60 - 3600.

reference

aliases: ref

dictionary

The reference details of the port channel.

This parameter or port_channel.uuid is required.

name

string / required

The name of the port channel.

template

string

The name of the template that contains the port channel.

This parameter or port_channel.reference.template_id is required.

template_id

string

The ID of the template that contains the port channel.

This parameter or port_channel.reference.template is required.

uuid

string

The UUID of the port channel.

This parameter or port_channel.reference is required.

state

string

Determines the desired state of the resource.

Use absent to remove the resource.

Use query to list the resource.

Use present to create or update the resource.

Choices:

  • "absent"

  • "query" ← (default)

  • "present"

target_dscp

string

The target Differentiated Services Code Point (DSCP) of the interface.

If this parameter is unspecified, NDO defaults to target_dscp=unspecified.

Choices:

  • "af11"

  • "af12"

  • "af13"

  • "af21"

  • "af22"

  • "af23"

  • "af31"

  • "af32"

  • "af33"

  • "af41"

  • "af42"

  • "af43"

  • "cs0"

  • "cs1"

  • "cs2"

  • "cs3"

  • "cs4"

  • "cs5"

  • "cs6"

  • "cs7"

  • "expedited_forwarding"

  • "unspecified"

  • "voice_admit"

template

aliases: l3out_template

string

The name of the template.

The template must be an L3Out template.

This parameter or template_id is required.

template_id

aliases: l3out_template_id

string

The ID of the L3Out template.

This parameter or template is required.

timeout

integer

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 MSO_TIMEOUT will be used instead.

use_proxy

boolean

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

If the value is not specified in the task, the value of environment variable MSO_USE_PROXY will be used instead.

The default is true.

Choices:

  • false

  • true

use_router_id_as_loopback

boolean

Whether to use the router ID as the loopback address of the node.

Choices:

  • false

  • true

use_ssl

boolean

If false, an HTTP connection will be used instead of the default HTTPS connection.

If the value is not specified in the task, the value of environment variable MSO_USE_SSL will be used instead.

When using a HTTPAPI connection plugin the inventory variable ansible_httpapi_use_ssl will be used if this attribute is not specified.

The default is false when using a HTTPAPI connection plugin (mso or nd) and true when using the legacy connection method (only for mso).

Choices:

  • false

  • true

username

string

The username to use for authentication.

If the value is not specified in the task, the value of environment variables MSO_USERNAME or ANSIBLE_NET_USERNAME will be used instead.

validate_certs

boolean

If false, SSL certificates will not be validated.

This should only set to false when used on personally controlled sites using self-signed certificates.

If the value is not specified in the task, the value of environment variable MSO_VALIDATE_CERTS will be used instead.

The default is true.

Choices:

  • false

  • true

Notes

Note

See Also

See also

cisco.mso.ndo_template

Manage Templates on Cisco Nexus Dashboard Orchestrator (NDO).

cisco.mso.ndo_l3out_template

Manage L3Outs on Cisco Nexus Dashboard Orchestrator (NDO).

cisco.mso.ndo_port_channel_interface

Manage Port Channel Interfaces on Cisco Nexus Dashboard Orchestrator (NDO).

Examples

- name: Create a L3Out Routed Interface of type port with L3Out Node configuration
  cisco.mso.ndo_l3out_routed_interface:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    ipv4_address: 10.0.0.1/24
    ipv6_address: 2::101/16
    ipv6_link_local_address: FE80::10
    ipv6_dad: enabled
    mac: 00:22:BD:F8:19:FF
    mtu: inherit
    node_id: 101
    path: eth1/1
    interface_group_policy: interface_group_policy_name
    node_router_id: 1.1.1.1
    node_group_policy: node_group_policy_name
    use_router_id_as_loopback: true
    state: present

- name: Create a L3Out Routed Interface of type port_channel with reference and L3Out Node configuration
  cisco.mso.ndo_l3out_routed_interface:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    ipv4_address: 10.1.0.1/24
    ipv6_address: 1::112/16
    ipv6_link_local_address: FE80::20
    ipv6_dad: disabled
    mac: 00:22:BD:F8:19:EE
    mtu: 2000
    port_channel:
      micro_bfd_enabled: true
      micro_bfd_address: 1::110
      micro_bfd_start_timer: 60
      reference:
        name: port_channel_interface_name
        template: fabric_resource_template_name
    interface_group_policy: interface_group_policy_name
    node_router_id: 2.2.2.2
    node_group_policy: node_group_policy_name
    use_router_id_as_loopback: false
    node_loopback_ip: 10.0.0.1
    state: present

- name: Update a L3Out Routed Interface of type port_channel with uuid and L3Out Node configuration
  cisco.mso.ndo_l3out_routed_interface:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template_id: "{{ l3out_template.current.templateId }}"
    l3out_uuid: "{{ l3out.current.uuid }}"
    ipv4_address: 10.1.0.1/24
    ipv6_address: 1::112/16
    ipv6_link_local_address: FE80::20
    ipv6_dad: disabled
    mac: 00:22:BD:F8:19:EE
    mtu: 2000
    port_channel:
      micro_bfd_enabled: true
      micro_bfd_address: 1::110
      micro_bfd_start_timer: 60
      uuid: "{{ port_channel_interface.current.uuid }}"
    interface_group_policy: interface_group_policy_name
    node_router_id: 2.2.2.2
    node_group_policy: node_group_policy_name
    use_router_id_as_loopback: false
    node_loopback_ip: 10.0.0.1
    state: present

- name: Query an existing L3Out Routed Interface of type port with L3Out Node configuration
  cisco.mso.ndo_l3out_routed_interface:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    node_id: 101
    path: eth1/1
    state: query
  register: query_with_name

- name: Query an existing L3Out Routed Interface of type port_channel with L3Out Node configuration
  cisco.mso.ndo_l3out_routed_interface:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    port_channel:
      reference:
        name: port_channel_interface_name
        template: fabric_resource_template_name
    state: query
  register: query_with_name

- name: Query all existing Routed Interfaces of a L3Out with L3Out Node configuration
  cisco.mso.ndo_l3out_routed_interface:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    state: query

- name: Delete an existing L3Out Routed Interface
  cisco.mso.ndo_l3out_routed_interface:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    node_id: 101
    path: eth1/1
    state: absent

Authors

  • Akini Ross (@akinross)