cisco.mso.ndo_service_device_cluster module – Manage Service Device Clusters 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_service_device_cluster.
New in cisco.mso 2.11.0
Synopsis
- Manage Service Device Clusters on Cisco Nexus Dashboard Orchestrator (NDO). 
- This module is supported on ND v3.2 (NDO v4.4) 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 description of the Service Device Cluster. | |
| Specifies the operational mode of the device. Choices: 
 | |
| Defines the type of device being configured. Choices: 
 | |
| 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  | |
| A list containing interface configuration. The old  | |
| Indicates if anycast is enabled. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| bd configuration details. This parameter or  | |
| The name associated with the bd. | |
| Schema associated with the bd. This parameter or  | |
| ID of the schema associated with the bd. This parameter or  | |
| Template associated with the bd. This parameter or  | |
| ID of the template associated with the bd. This parameter or  | |
| UUID of the bd. This parameter or  | |
| Indicates if static MAC configuration is enabled. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| external_epg configuration details. This parameter or  | |
| The name associated with the external_epg. | |
| Schema associated with the external_epg. This parameter or  | |
| ID of the schema associated with the external_epg. This parameter or  | |
| Template associated with the external_epg. This parameter or  | |
| ID of the template associated with the external_epg. This parameter or  | |
| UUID of the external_epg. This parameter or  | |
| IPSLA monitoring policy configuration. | |
| Name of the IPSLA monitoring policy. | |
| Template for the IPSLA monitoring policy. This parameter or  | |
| ID of the template for the IPSLA monitoring policy. This parameter or  | |
| UUID of the IP SLA monitoring policy. | |
| Indicates if it is a backup redirect IP. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| Load balancing hashing method. If this parameter is unspecified, it defaults to  Choices: 
 | |
| Maximum threshold value for redirect. If this parameter is unspecified, it defaults to 0. This value must be between 0 and 100. | |
| 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. | |
| The name of the interface. | |
| Indicates if pod-aware redirection is enabled. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| Whether the interface belongs to a preferred group. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| Quality of Service (QoS) policy configuration. | |
| Name of the QoS policy. | |
| Template for the QoS policy. This parameter or  | |
| ID of the template for the QoS policy. This parameter or  | |
| UUID of the QoS policy. | |
| Indicates if resilient hashing is enabled. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| Whether to rewrite the source MAC address. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| Indicates if tag-based sorting is enabled. If this parameter is unspecified, it defaults to False. Choices: 
 | |
| Action to take when the threshold is down. Choices: 
 | |
| 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  | |
| The name of the Service Device Cluster. | |
| 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  | |
| Use  Use  Use  Choices: 
 | |
| The name of the template. The template must be a service device template. This parameter or  | |
| The ID of the service device template. This parameter or  | |
| 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  | |
| The UUID of the Service Device Cluster. | |
| If  This should only set to  If the value is not specified in the task, the value of environment variable  The default is  Choices: 
 | 
Notes
Note
- The - templatemust exist before using this module in your playbook. Use cisco.mso.ndo_template to create the service device template.
- This module was written to support Multi Site Orchestrator v2.1 or newer. Some or all functionality may not work on earlier versions. 
See Also
See also
- cisco.mso.ndo_template
- Manage Templates on Cisco Nexus Dashboard Orchestrator (NDO). 
Examples
- 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
