cisco.mso.ndo_ipsla_track_list module – Manage IPSLA Track Lists on Cisco Nexus Dashboard Orchestrator (NDO).

Note

This module is part of the cisco.mso collection (version 2.10.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_ipsla_track_list.

Synopsis

  • Manage IP Service Level Agreement (SLA) Track Lists 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

description

string

The description of the IPSLA Track List.

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.

ipsla_track_list

aliases: name

string

The name of the IPSLA Track List.

ipsla_track_list_uuid

aliases: uuid

string

The UUID of the IPSLA Track List.

This parameter is required when the ipsla_track_list attribute needs to be updated.

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.

members

list / elements=dictionary

The IPSLA Track List members.

Providing a new list of members will replace the existing members from the IPSLA Track List.

Providing an empty list will remove the members=[] from the IPSLA Track List.

destination_ip

aliases: ip

string / required

The destination IP of the member.

Must be a valid IPv4 or IPv6 address.

ipsla_monitoring_policy

dictionary

The IPSLA Monitoring Policy to use for the member.

This parameter or members.ipsla_monitoring_policy_uuid is required.

name

string / required

The name of the IPSLA Monitoring Policy to use for the member.

ipsla_monitoring_policy_uuid

string

The IPSLA Monitoring Policy UUID to use for the member.

This parameter or members.ipsla_monitoring_policy is required.

scope

dictionary

The BD or L3Out used as the scope for the member.

This parameter or members.scope_uuid is required.

name

string / required

The name of the BD or L3Out used as the scope for the member.

schema

string

The name of the Schema associated with the BD scope.

This parameter or members.scope.schema_id is only required when the members.scope_type=bd.

schema_id

string

The ID of the Schema associated with the BD scope.

This parameter or members.scope.schema is only required when the members.scope_type=bd.

template

string

The name of the Template associated with the BD or L3Out scope.

This parameter or members.scope.template_id is required.

template_id

string

The ID of the Template associated with the BD or L3Out scope.

This parameter or members.scope.template is required.

scope_type

string / required

The scope type of the member.

Choices:

  • "bd"

  • "l3out"

scope_uuid

string

The UUID of the BD or L3Out used as the scope for the member.

This parameter or members.scope is required.

weight

integer

The weight of the member.

The default value is 10.

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.

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.

state

string

Use absent for removing.

Use query for listing an object or multiple objects.

Use present for creating or updating.

Choices:

  • "absent"

  • "query"

  • "present" ← (default)

template

string

The name of the template.

The template must be a tenant template.

This parameter or template_id is required.

template_id

string

The ID of the template.

The template must be a tenant template.

This parameter or template is required.

threshold_down

aliases: down

integer

The IPSLA Track List percentage or weight down threshold.

The value must be in the range 0 - 100 when type=percentage.

The value must be in the range 0 - 255 when type=weight.

The value must be less than or equal to threshold_up.

The default value is 0.

threshold_up

aliases: up

integer

The IPSLA Track List percentage or weight up threshold.

The value must be in the range 0 - 100 when type=percentage.

The value must be in the range 0 - 255 when type=weight.

The value must be greater than or equal to threshold_down.

The default value is 1.

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.

type

string

The IPSLA Track List type used for determining up or down status.

This parameter is required when creating the IPSLA Track List.

Choices:

  • "percentage"

  • "weight"

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_ipsla_monitoring_policy

Manage IPSLA Monitoring Policies on Cisco Nexus Dashboard Orchestrator (NDO).

cisco.mso.ndo_l3out_template

Manage L3Outs on Cisco Nexus Dashboard Orchestrator (NDO).

cisco.mso.mso_schema_template_bd

Manage Bridge Domains (BDs) in schema templates.

Examples

- name: Create a new IPSLA Track List
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    ipsla_track_list: ansible_test_ipsla_track_list
    description: Example track list
    type: percentage
    threshold_up: 10
    threshold_down: 2
    members:
      - destination_ip: 1.1.1.1
        scope_type: bd
        scope:
          name: ansible_test_bd
          template: ansible_test_template
          schema: ansible_test_schema
        ipsla_monitoring_policy:
          name: ansible_test_ipsla_monitoring_policy
      - destination_ip: 2001:0000:130F:0000:0000:09C0:876A:130B
        scope_type: l3out
        scope:
          name: ansible_test_l3out
          template: ansible_test_template
        ipsla_monitoring_policy_uuid: "{{ ipsla_mon_pol.current.uuid }}"
      - destination_ip: 1.1.1.2
        scope_type: l3out
        scope_uuid: "{{ l3out.current.uuid }}"
        ipsla_monitoring_policy:
          name: ansible_test_ipsla_monitoring_policy
    state: present
    register: ipsla_track_list

- name: Update an IPSLA Track List name with UUID
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    ipsla_track_list: ansible_test_ipsla_track_list_updated
    ipsla_track_list_uuid: "{{ ipsla_track_list.current.uuid }}"
    state: present
  register: ipsla_track_list_update

- name: Query an IPSLA Track List with name
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    ipsla_track_list: ansible_test_ipsla_track_list
    state: query
  register: query_one

- name: Query an IPSLA Track List with UUID
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    ipsla_track_list_uuid: "{{ query_one.current.uuid }}"
    state: query
  register: query_one_uuid

- name: Query all IPSLA Track Lists in the template
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    state: query
  register: query_all

- name: Remove all members from an IPSLA Track List
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    ipsla_track_list: ansible_test_ipsla_track_list
    type: percentage
    members: []
    state: present

- name: Delete an IPSLA Track List with name
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    ipsla_track_list: ansible_test_ipsla_track_list
    state: absent

- name: Delete an IPSLA Track List with UUID
  cisco.mso.ndo_ipsla_track_list:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    template: ansible_tenant_template
    ipsla_track_list_uuid: "{{ query_one.current.uuid }}"
    state: absent

Authors

  • Samita Bhattacharjee (@samitab)