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

From Get docs
Ansible/docs/2.7/modules/opx cps module


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

New in version 2.7.


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

-

Attribute Yang path and their corresponding data.

attr_type

-

Attribute Yang type.

commit_event

boolean

  • no

  • yes

Attempts to force the auto-commit event to the specified yang object.

db

boolean

  • no

  • yes

Queries/Writes the specified yang path from/to the db.

module_name

-

Yang path to be configured.

operation

-

  • delete
  • create

  • set
  • action
  • get

Operation to be performed on the object.

qualifier

-

  • target

  • observed
  • proposed
  • realtime
  • registration
  • running
  • startup

A qualifier provides the type of object data to retrieve or act on.



Examples

- name: Create VLAN
  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
  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
  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
  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

candidate

dictionary

all CPS operations other than "get"

CPS input attribute data used to compare with running configuration


Sample:

{'base-if-vlan/if/interfaces/interface/id': 230, 'if/interfaces/interface/name': 'br230', 'if/interfaces/interface/type': 'ianaift:l2vlan'}

commit_event

boolean

when commit_event is set to True in module options

Denotes if auto-commit event is set


Sample:

True

config

dictionary

when CPS operations set, delete

Returns the CPS Get output i.e. the running configuration before performing the CPS transaction


Sample:

{'base-if-vlan/if/interfaces/interface/id': 230, 'dell-base-if-cmn/if/interfaces/interface/if-index': 46, '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/name': 'br230', 'if/interfaces/interface/type': 'ianaift:l2vlan'}

db

boolean

when db is set to True in module options

Denotes if CPS DB transaction was performed


Sample:

True

diff

dictionary

all CPS operations other than "get"

The actual configuration that will be pushed comparing the running configuration and input attributes


Sample:

{'base-if-vlan/if/interfaces/interface/id': 230, 'if/interfaces/interface/name': 'br230', 'if/interfaces/interface/type': 'ianaift:l2vlan'}

response

list

when a CPS transaction is successfully performed.

Output from the CPS transaction.


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'}]




Status

Authors

  • Senthil Kumar Ganesan (@skg-net)

Hint

If you notice any issues in this documentation you can edit this document to improve it.


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/opx_cps_module.html