cisco.catalystcenter.iot_fabric_rep_rings module -- Resource module for Iot Fabric Rep Rings

Note

This module is part of the cisco.catalystcenter collection (version 2.11.0).

To install it, use: ansible-galaxy collection install cisco.catalystcenter. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.catalystcenter.iot_fabric_rep_rings.

New in cisco.catalystcenter 2.2.0

Synopsis

  • Manage operation create of the resource Iot Fabric Rep Rings.

  • This API configures a REP ring on FABRIC deployment. The input payload contains the following fields-.

Note

This module has a corresponding action plugin.

Requirements

The below requirements are needed on the host that executes this module.

  • catalystcentersdk >= 3.2.3.0.0

  • python >= 3.12

Parameters

Parameter

Comments

catalystcenter_debug

aliases: dnac_debug

boolean

Flag for Cisco Catalyst Center SDK to enable debugging.

Choices:

catalystcenter_host

aliases: dnac_host

string / required

The Cisco Catalyst Center hostname.

catalystcenter_password

aliases: dnac_password

string

The Cisco Catalyst Center password to authenticate.

catalystcenter_port

aliases: dnac_port, catalystcenter_api_port

integer

The Cisco Catalyst Center port.

Default: :ansible-option-default:`443`

catalystcenter_username

aliases: dnac_username, user

string

The Cisco Catalyst Center username to authenticate.

Default: :ansible-option-default:`"admin"`

catalystcenter_verify

aliases: dnac_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

catalystcenter_version

aliases: dnac_version

string

Informs the SDK which version of Cisco Catalyst Center to use.

Default: :ansible-option-default:`"3.1.6.0"`

deploymentMode

string

FABRIC as well as NON_FABRIC deployments.

id

string

REP ring identifier.

macsecConfig

dictionary

MACsec configuration for REP Ring create requests (PSK / SHOULD_SECURE only).

accessControlMode

string

MACsec access control mode. Only `SHOULD_SECURE` is currently supported for PSK Encryption mode.

ciphersuite

string

MACsec cipher suite - `GCM_AES_128` or `GCM_AES_256`.

encryptionMode

string

MACsec encryption mode. Only `PSK` (Pre-Shared Key) is currently supported.

keys

list / elements=dictionary

List of MACsec keys for the keychain (maximum 12 keys).

cryptoAlgo

string

Cryptographic algorithm `AES_128_CMAC` (requires 32 hex digit passPhrase) or `AES_256_CMAC`.

id

integer

Unique integer identifier for the key in the keychain.

passPhrase

string

MACsec pre-shared key in cleartext hex. Must be exactly 32 hex digits for `AES_128_CMAC` or 64 hex digits for `AES_256_CMAC`.

startTime

string

Activation date/time for this key in HH mm ss dd MMM yyyy format (e.g., 00 00 00 09 Apr 2026). Lifetime is set to infinite.

networkDeviceId

string

Network device id of the REP ring member. It is the `instanceUuid` attribute in the response of `/dna/intent/api/v1/networkDevices` API.

repSegmentId

integer

REP segment is a chain of ports connected to each other and configured with a segment ID.

repZtpMsg

string

Summary of REP ring members that either do not have REP ZTP supported and those that have REP ZTP supported but not enabled.

ringMembers

list / elements=dictionary

Discovered member nodes in the REP ring.

networkDeviceId

string

Network device id of the ring member.

nodeName

string

Name of the ring member.

portName1

string

Interface name of the node.

portName2

string

Interface name of the node.

portRepZtpStatus1

string

REP ZTP status for Port 1.

portRepZtpStatus2

string

REP ZTP status for Port 2.

ringOrder

integer

Order of the node in the REP ring.

ringName

string

Unique name of REP ring configured.

rootNeighbourNetworkDeviceIds

list / elements=string

Hostname of the root node neighbor device.

rootNetworkDeviceId

string

Root node network device id of the REP ring member. It is the `instanceUuid` attribute in the response of `/dna/intent/api/v1/networkDevices` API.

status

string

Status of the previous REP ring operation.

validate_response_schema

boolean

Flag for Cisco Catalyst Center SDK to enable the validation of request bodies against a JSON schema.

Choices:

Notes

Note

  • SDK Method used are industrial_configuration.IndustrialConfiguration.configure_a_rep_ring_on_fabric_deployment,

  • Paths used are post /dna/intent/api/v1/iot/fabric/repRings,

  • Does not support check_mode

  • The plugin runs on the control node and does not use any ansible connection plugins,

  • but instead uses the embedded connection manager from Cisco CATALYST SDK

  • Requires Python >= 3.10, matching the controller Python versions supported by the collection's minimum ansible-core version (see the collection README for the current ansible-core / Python compatibility range)

See Also

See also

Cisco Catalyst Center documentation for Industrial Configuration ConfigureAREPRingOnFABRICDeployment

Complete reference of the ConfigureAREPRingOnFABRICDeployment API.

Examples

---
- name: Create
  cisco.catalystcenter.iot_fabric_rep_rings:
    catalystcenter_host: "{{catalystcenter_host}}"
    catalystcenter_username: "{{catalystcenter_username}}"
    catalystcenter_password: "{{catalystcenter_password}}"
    catalystcenter_verify: "{{catalystcenter_verify}}"
    catalystcenter_port: "{{catalystcenter_port}}"
    catalystcenter_version: "{{catalystcenter_version}}"
    catalystcenter_debug: "{{catalystcenter_debug}}"
    ringName: ring_1
    rootNeighbourNetworkDeviceIds:
      - 42feb006-4194-4939-9f3a-459dca20f482
      - 3eedb9ec-84e9-486c-8a2f-0f6985ccb4b2
    rootNetworkDeviceId: bbb97303-8de1-4105-a057-9e968f521403

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

catalystcenter_response

dictionary

A dictionary or list with the response returned by the Cisco Catalyst Center Python SDK

Returned: always

Sample: :ansible-rv-sample-value:`{"response": {"taskId": "string", "url": "string"}, "version": "string"}`

Authors

  • Bryan Vargas (@bvargasre)