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_service_device_cluster.
New in cisco.mso 2.11.0
The below requirements are needed on the host that executes this module.
Parameter | Comments |
|---|---|
description string | The description of the Service Device Cluster. |
device_mode string | Specifies the operational mode of the device. Choices:
|
device_type string | Defines the type of device being configured. Choices:
|
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 |
interface_properties list / elements=dictionary | A list containing interface configuration. The old |
|
anycast boolean |
Indicates if anycast is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
bd dictionary |
bd configuration details. This parameter or |
|
name string / required |
The name associated with the bd. |
|
schema string |
Schema associated with the bd. This parameter or |
|
schema_id string |
ID of the schema associated with the bd. This parameter or |
|
template string |
Template associated with the bd. This parameter or |
|
template_id string |
ID of the template associated with the bd. This parameter or |
|
bd_uuid string |
UUID of the bd. This parameter or |
|
config_static_mac aliases: static_mac_configuration boolean |
Indicates if static MAC configuration is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
external_epg dictionary |
external_epg configuration details. This parameter or |
|
name string / required |
The name associated with the external_epg. |
|
schema string |
Schema associated with the external_epg. This parameter or |
|
schema_id string |
ID of the schema associated with the external_epg. This parameter or |
|
template string |
Template associated with the external_epg. This parameter or |
|
template_id string |
ID of the template associated with the external_epg. This parameter or |
|
external_epg_uuid string |
UUID of the external_epg. This parameter or |
|
ipsla_monitoring_policy dictionary |
IPSLA monitoring policy configuration. |
|
name string |
Name of the IPSLA monitoring policy. |
|
template string |
Template for the IPSLA monitoring policy. This parameter or |
|
template_id string |
ID of the template for the IPSLA monitoring policy. This parameter or |
|
ipsla_monitoring_policy_uuid string |
UUID of the IP SLA monitoring policy. |
|
is_backup_redirect_ip boolean |
Indicates if it is a backup redirect IP. If this parameter is unspecified, it defaults to False. Choices:
|
|
load_balance_hashing string |
Load balancing hashing method. If this parameter is unspecified, it defaults to Choices:
|
|
max_threshold integer |
Maximum threshold value for redirect. If this parameter is unspecified, it defaults to 0. This value must be between 0 and 100. |
|
min_threshold integer |
Minimum threshold value for redirect. If this parameter is unspecified, it defaults to 0. This value must be between 0 and 100. This value cannot be greater than or equal to maximum threshold. |
|
name string / required |
The name of the interface. |
|
pod_aware_redirection boolean |
Indicates if pod-aware redirection is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
preferred_group boolean |
Whether the interface belongs to a preferred group. If this parameter is unspecified, it defaults to False. Choices:
|
|
qos_policy dictionary |
Quality of Service (QoS) policy configuration. |
|
name string |
Name of the QoS policy. |
|
template string |
Template for the QoS policy. This parameter or |
|
template_id string |
ID of the template for the QoS policy. This parameter or |
|
qos_policy_uuid string |
UUID of the QoS policy. |
|
resilient_hashing boolean |
Indicates if resilient hashing is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
rewrite_source_mac boolean |
Whether to rewrite the source MAC address. If this parameter is unspecified, it defaults to False. Choices:
|
|
tag_based_sorting boolean |
Indicates if tag-based sorting is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
threshold_down_action string |
Action to take when the threshold is down. Choices:
|
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 When using a HTTPAPI connection plugin the inventory variable |
name aliases: service_device_cluster string | The name of the Service Device Cluster. |
output_level string | Influence the output of this MSO module.
If the value is not specified in the task, the value of environment variable Choices:
|
password string | The password to use for authentication. If the value is not specified in the task, the value of environment variables |
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 |
state string | Use Use Use Choices:
|
template string | The name of the template. The template must be a service device template. This parameter or |
template_id string | The ID of the service device template. This parameter or |
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 |
use_proxy boolean | If If the value is not specified in the task, the value of environment variable The default is Choices:
|
use_ssl boolean | 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:
|
username string | The username to use for authentication. If the value is not specified in the task, the value of environment variables |
uuid aliases: service_device_cluster_uuid string | The UUID of the Service Device Cluster. |
validate_certs boolean | If This should only set to If the value is not specified in the task, the value of environment variable The default is Choices:
|
Note
template must exist before using this module in your playbook. Use cisco.mso.ndo_template to create the service device template.See also
Manage Templates on Cisco Nexus Dashboard Orchestrator (NDO).
- name: Create a service device cluster with one arm
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
device_mode: layer3
device_type: firewall
interface_properties:
- name: interface1
external_epg:
name: ansible_test_epg
template: ansible_template
schema: ansible_test
ipsla_monitoring_policy:
name: ansible_test_ipsla_monitoring_policy
template: ansible_tenant_template
qos_policy:
name: ansible_custom_qos_policy
template: ansible_tenant_template
preferred_group: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: source_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: permit
state: present
register: add_device1
- name: Update the service device cluster to advanced
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
device_mode: layer3
device_type: firewall
interface_properties:
- name: interface1
external_epg::
name: ansible_test_epg
template: ansible_template
schema: ansible_test
ipsla_monitoring_policy:
name: ansible_test_ipsla_monitoring_policy
template: ansible_tenant_template
qos_policy:
name: ansible_custom_qos_policy
template: ansible_tenant_template
preferred_group: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: source_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: permit
- name: interface2
bd_uuid: '{{ ansible_test_bd_query.current.uuid }}'
ipsla_monitoring_policy_uuid: '{{ ipsla_monitoring_policy.current.uuid }}'
qos_policy:
name: ansible_custom_qos_policy
template_id: '{{ ansible_test_policy.current.templateId }}'
preferred_group: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: source_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: permit
- name: interface3
bd:
name: ansible_test_bd
template: ansible_template
schema_id: '{{ ansible_test_bd.current.vrfRef.schemaId }}'
qos_policy:
name: ansible_custom_qos_policy
template_id: '{{ ansible_test_policy.current.templateId }}'
anycast: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: destination_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: deny
state: present
- name: Query the service device cluster using name
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
state: query
register: query_device
- name: Query the service device cluster using UUID
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
uuid: '{{ add_device1.current.uuid }}'
state: query
register: query_device_uuid
- name: Query all the device clusters
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
state: query
register: query_all
- name: Remove the service device cluster
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
state: absent
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/mso/ndo_service_device_cluster_module.html