community.network.opx_cps – CPS operations on networking device running Openswitch (OPX)
community.network.opx_cps – CPS operations on networking device running Openswitch (OPX)
Note
This plugin is part of the community.network collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.network
.
To use it in a playbook, specify: community.network.opx_cps
.
Synopsis
- Executes the given operation on the YANG object, using CPS API in the networking device running OpenSwitch (OPX). It uses the YANG models provided in https://github.com/open-switch/opx-base-model.
Requirements
The below requirements are needed on the host that executes this module.
- cps
- cps_object
- cps_utils
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
attr_data string |
Attribute Yang path and their corresponding data. | |
attr_type string |
Attribute Yang type. | |
commit_event boolean |
|
Attempts to force the auto-commit event to the specified yang object. |
db boolean |
|
Queries/Writes the specified yang path from/to the db. |
module_name string |
Yang path to be configured. | |
operation string |
|
Operation to be performed on the object. |
qualifier string |
|
A qualifier provides the type of object data to retrieve or act on. |
Examples
- name: Create VLAN
community.network.opx_cps:
module_name: "dell-base-if-cmn/if/interfaces/interface"
attr_data: {
"base-if-vlan/if/interfaces/interface/id": 230,
"if/interfaces/interface/name": "br230",
"if/interfaces/interface/type": "ianaift:l2vlan"
}
operation: "create"
- name: Get VLAN
community.network.opx_cps:
module_name: "dell-base-if-cmn/if/interfaces/interface"
attr_data: {
"if/interfaces/interface/name": "br230",
}
operation: "get"
- name: Modify some attributes in VLAN
community.network.opx_cps:
module_name: "dell-base-if-cmn/if/interfaces/interface"
attr_data: {
"cps/key_data":
{ "if/interfaces/interface/name": "br230" },
"dell-if/if/interfaces/interface/untagged-ports": ["e101-008-0"],
}
operation: "set"
- name: Delete VLAN
community.network.opx_cps:
module_name: "dell-base-if-cmn/if/interfaces/interface"
attr_data: {
"if/interfaces/interface/name": "br230",
}
operation: "delete"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
commit_event boolean |
when commit_event is set to True in module options |
Denotes if auto-commit event is set
Sample: True |
cps_curr_config dictionary |
when CPS operations set, delete |
Returns the CPS Get output i.e. the running configuration before CPS operation of set/delete is performed
Sample: [{'data': {'base-if-vlan/if/interfaces/interface/id': 230, 'cps/key_data': {'if/interfaces/interface/name': 'br230'}, 'dell-base-if-cmn/if/interfaces/interface/if-index': 44, 'dell-if/if/interfaces/interface/learning-mode': 1, 'dell-if/if/interfaces/interface/mtu': 1532, 'dell-if/if/interfaces/interface/phys-address': , 'dell-if/if/interfaces/interface/vlan-type': 1, 'if/interfaces/interface/enabled': 0, 'if/interfaces/interface/type': 'ianaift:l2vlan'}, 'key': 'target/dell-base-if-cmn/if/interfaces/interface'}] |
db boolean |
when db is set to True in module options |
Denotes if CPS DB transaction was performed
Sample: True |
diff dictionary |
when CPS operations set, delete |
The actual configuration that will be pushed comparing the running configuration and input attributes
Sample: {'cps/key_data': {'if/interfaces/interface/name': 'br230'}, 'dell-if/if/interfaces/interface/untagged-ports': ['e101-007-0']} |
response list / elements=string |
when a CPS transaction is successfully performed. |
Output from the CPS transaction. Output of CPS Get operation if CPS set/create/delete not done.
Sample: [{'data': {'base-if-vlan/if/interfaces/interface/id': 230, 'cps/object-group/return-code': 0, 'dell-base-if-cmn/if/interfaces/interface/if-index': 46, 'if/interfaces/interface/name': 'br230', 'if/interfaces/interface/type': 'ianaift:l2vlan'}, 'key': 'target/dell-base-if-cmn/if/interfaces/interface'}] |
Authors
- Senthil Kumar Ganesan (@skg-net)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/opx_cps_module.html