community.network.opx_cps – CPS operations on networking device running Openswitch (OPX)

Note

This plugin is part of the community.network collection (version 3.0.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 community.network.

To use it in a playbook, specify: community.network.opx_cps.

Synopsis

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
    Choices:
  • no ←
  • yes
Attempts to force the auto-commit event to the specified yang object.
db
boolean
    Choices:
  • no ←
  • yes
Queries/Writes the specified yang path from/to the db.
module_name
string
Yang path to be configured.
operation
string
    Choices:
  • delete
  • create ←
  • set
  • action
  • get
Operation to be performed on the object.
qualifier
string
    Choices:
  • target ←
  • observed
  • proposed
  • realtime
  • registration
  • running
  • startup
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)