cisco.mso.ndo_l3out_node_static_route module – Manage L3Out Node Static Routes 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_node_static_route.

New in cisco.mso 2.11.0

Synopsis

  • Manage L3Out Node Static Routes 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

administrative_distance

aliases: admin_distance

integer

The administrative distance of the static route.

The value must be in the range 1 - 255.

Defaults to administrative_distance=1 when unset during creation.

bfd_tracking

boolean

Enable BFD tracking for the static route.

Defaults to bfd_tracking=false when unset during creation.

Choices:

  • false

  • true

description

string

The description of the static route.

Providing an empty string description="" will remove the description from the static route.

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.

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.

next_hop_null

boolean

Create a static route to Null0 interface.

This is used to drop traffic for the specified prefix.

Defaults to next_hop_null=false when unset during creation.

Choices:

  • false

  • true

node_id

aliases: node, border_leaf

string / required

The ID of the node.

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.

pod_id

aliases: pod

string / required

The pod ID of the node (border leaf switch).

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.

prefix

string

The prefix of the static route.

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"

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.

track_policy

aliases: ipsla_track_list

dictionary

The track policy to be used.

Providing an empty dictionary track_policy={} will remove the track policy from the static route.

name

string

The name of the track policy.

template

string

The name of the template that contains the track policy.

This parameter or track_policy.template_id is required.

template_id

string

The ID of the template that contains the track policy.

This parameter or track_policy.template is required.

track_policy_uuid

aliases: ipsla_track_list_uuid

string

The UUID of the track policy to be used.

Providing an empty string track_policy="" will remove the track policy from the static route.

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_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_ipsla_track_list

Manage IPSLA Track Lists on Cisco Nexus Dashboard Orchestrator (NDO).

Examples

- name: Create a L3Out Node Static Route
  cisco.mso.ndo_l3out_node_static_route:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    pod_id: 1
    node_id: 101
    prefix: 10.0.0.0/24
    state: present

- name: Update an existing L3Out Node Static Route
  cisco.mso.ndo_l3out_node_static_route:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template_id: "{{ l3out_template.current.templateId }}"
    l3out_uuid: "{{ l3out.current.uuid }}"
    pod_id: 1
    node_id: 101
    prefix: 10.0.0.0/24
    description: "Static route for 10.0.0.0/24"
    administrative_distance: 10
    bfd_tracking: true
    next_hop_null: true
    track_policy:
      name: "track_policy_name"
      template: "track_policy_template"
    state: present

- name: Query an existing L3Out Node Static Route
  cisco.mso.ndo_l3out_node_static_route:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    pod_id: 1
    node_id: 101
    prefix: 10.0.0.0/24
    state: query
  register: query_with_name

- name: Query all existing L3Out Node Static Routes in a L3Out Node
  cisco.mso.ndo_l3out_node_static_route:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    pod_id: 1
    node_id: 101
    state: query

- name: Delete an existing L3Out Node Static Route
  cisco.mso.ndo_l3out_node_static_route:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: l3out_template
    l3out: l3out_name
    pod_id: 1
    node_id: 101
    prefix: 10.0.0.0/24
    state: absent

Authors

  • Akini Ross (@akinross)