cisco.mso.ndo_schema_template_contract_service_chain module – Manage the Schema Template Contract Service Chaining workflow 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_schema_template_contract_service_chain.
New in cisco.mso 2.11.0
Synopsis
- Manage the Schema Template Contract Service Chaining workflow on Cisco Nexus Dashboard Orchestrator (NDO). 
- This module is only supported on ND v3.1 (NDO v4.2.3) and later. 
- This module is the recommended approach for Service Chaining over the previous solution using cisco.mso.mso_schema_template_contract_service_graph. 
- This module is incompatible with cisco.mso.mso_schema_template_contract_service_graph. 
Requirements
The below requirements are needed on the host that executes this module.
- Multi Site Orchestrator v2.1 or newer 
Parameters
| Parameter | Comments | 
|---|---|
| The name of the contract. This parameter is mutually exclusive with  | |
| The UUID of the contract. This parameter is mutually exclusive with  | |
| 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  | |
| 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 Filter After First Device option of the contract service chain. This enables traffic filtering to be dynamically applied after the first device in the chain has processed the traffic. Defaults to  Choices: 
 | |
| 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  | |
| The list of service nodes for the contract service chain. This parameter is required for creating the contract service chain. Providing a new list of  | |
| The name of the service device interface used as the consumer interface in the contract service chain. | |
| The consumer redirect option of the contract service chain. Defaults to  Choices: 
 | |
| The service device details for the contract service chain. This parameter is mutually exclusive with  This parameter or  | |
| The name of the service device. | |
| The template name of the service device. This parameter is mutually exclusive with  This parameter or  | |
| The template id of the service device. This parameter is mutually exclusive with  This parameter or  | |
| The type of the service device. Choices: 
 | |
| The name of the service device interface used as the provider interface in the contract service chain. | |
| The provider redirect option of the contract service chain. Defaults to  Choices: 
 | |
| The UUID of the service device. This parameter is mutually exclusive with  This parameter or  | |
| Use  Use  Choices: 
 | |
| The name of the template. This parameter is mutually exclusive with  | |
| The ID of the template. This parameter is mutually exclusive with  | |
| 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  | |
| 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
- 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.mso_schema_template_contract_filter
- Manage contract filters in schema templates. 
Examples
- name: Add schema template contract service chain
  cisco.mso.ndo_schema_template_contract_service_chain:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    schema: schema1
    template: template1
    contract: contract1
    node_filter: allow_all
    service_nodes:
      - device_type: load_balancer
        consumer_interface_name: lb_interface1
        provider_interface_name: lb_interface2
        consumer_redirect: true
        provider_redirect: true
        device:
          name: load_balancer_device
          template: service_device_template
    state: present
- name: Update schema template contract service chain with multiple nodes
  cisco.mso.ndo_schema_template_contract_service_chain:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    schema: schema1
    template: template1
    contract: contract1
    node_filter: "filters_from_contract"
    service_nodes:
      - device_type: load_balancer
        consumer_interface_name: lb_interface1
        provider_interface_name: lb_interface2
        consumer_redirect: true
        provider_redirect: true
        device:
          name: load_balancer_device
          template: service_device_template
      - device_type: firewall
        consumer_interface_name: fw_interface1
        provider_interface_name: fw_interface2
        uuid: "{{ service_device.current.uuid }}"
    state: present
- name: Query schema template contract service chain
  cisco.mso.ndo_schema_template_contract_service_chain:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    schema: schema1
    template: template1
    contract: contract1
    state: query
  register: query_service_chain
- name: Delete schema template contract service chain
  cisco.mso.ndo_schema_template_contract_service_chain:
    host: mso_host
    username: admin
    password: SomeSecretPassword
    schema: schema1
    template: template1
    contract: contract1
    state: absent
