cisco.catalystcenter.discoverys module -- Resource module for Discoverys

Note

This module is part of the cisco.catalystcenter collection (version 2.12.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.discoverys.

New in cisco.catalystcenter 2.3.0

Synopsis

  • Manage operations create, update and delete of the resource Discoverys.

  • This API creates a discovery. The response includes a task `url` that provides access to the task's details.

  • API to delete discovery by the given discovery id. - > API to edit the discovery details of the given discovery id. Updating the discovery details while the discovery is in progress is not allowed.

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"`

credentials

dictionary

Credentials to be used for discovering devices. If multiple credentials are provided, they will be prioritized based on specificity and protocol version. Device-specific credentials take precedence over global credentials. Among SNMP versions, SNMPv3 credentials are given higher priority over SNMPv2 credentials.

cli

dictionary

CLI credentials for device.

protocolOrder

list / elements=string

Connection protocol for the device. Default value is SSH.

httpRead

dictionary

HTTP(S) read credentials for device.

httpWrite

dictionary

HTTP(S) write credentials for device.

netconf

dictionary

NETCONF credentials for device.

snmp

dictionary

SNMP credentials for device.

retries

integer

The number of times to repeat the failed SNMP polling request after a timeout. Max value supported is 3. Default is Global SNMP retry (if exists) or 3.

timeout

integer

The interval (in seconds) after which SNMP failure to respond to the polling request generates a timeout. Max value supported is 300. Default is Global SNMP timeout (if exists) or 5.

discoveryTypeDetails

dictionary

Details of the discovery type.

id

string

Unique identifier of the discovery settings.

managementIpSelectionMethod

string

When Catalyst Center discovers a device, it uses one of the device's IP addresses as the preferred management IP address for the device. The IP address can be that of a built-in management interface of the device, another physical interface, or a logical interface like Loopback0. You can configure Catalyst Center to log the device's loopback IP address as the preferred management IP address, provided the IP address is reachable from Catalyst Center. - `DEFAULT` * Uses the IP address provided in the discovery request as the management IP. - `LOOPBACK` If you choose to use a device's loopback IP address as the preferred management IP address, Catalyst Center determines the preferred management IP address as follows * If the device has one loopback interface, that loopback interface IP address is used. * If the device has multiple loopback interfaces, the loopback interface with the highest IP address is used. * If there are no loopback interfaces, the Ethernet interface with the highest IP address is used. (Subinterface IP addresses are not considered.) * If there are no Ethernet interfaces, the serial interface with the highest IP address is used. Example LOOPBACK.

name

string

The name of the discovery job being created. This will be a unique name.

onlyNewDevice

boolean

This flag indicates to discover only new devices that are not in inventory. If set to `true`, only devices that are not in the inventory will be discovered. If set to `false`, devices that already exist in the inventory will not be listed in the `discovered devices` list.

Choices:

siteId

string

The site id to which the discovered devices will be assigned.

updateManagementIp

boolean

This flag indicates if the management IP address of existing devices to be updated as part of this discovery. If set false devices get discovered with the existing management IP address. If set true it overwrites the management IP address with the new IP address used in discovery.

Choices:

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 devices.Devices.creates_discovery, devices.Devices.deletes_discovery_by_id, devices.Devices.edits_discovery,

  • Paths used are post /dna/intent/api/v1/discoverys, delete /dna/intent/api/v1/discoverys/{id}, put /dna/intent/api/v1/discoverys/{id},

  • 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 Devices CreatesDiscovery

Complete reference of the CreatesDiscovery API.

Cisco Catalyst Center documentation for Devices DeletesDiscoveryById

Complete reference of the DeletesDiscoveryById API.

Cisco Catalyst Center documentation for Devices EditsDiscovery

Complete reference of the EditsDiscovery API.

Examples

---
- name: Create
  cisco.catalystcenter.discoverys:
    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}}"
    state: present
    credentials:
      cli: {}
      httpRead: {}
      httpWrite: {}
      netconf: {}
      snmp: {}
    discoveryTypeDetails: {}
    id: string
    managementIpSelectionMethod: string
    name: string
    onlyNewDevice: true
    siteId: string
    updateManagementIp: true
- name: Update by id
  cisco.catalystcenter.discoverys:
    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}}"
    state: present
    credentials:
      cli: {}
      httpRead: {}
      httpWrite: {}
      netconf: {}
      snmp: {}
    discoveryTypeDetails:
      range:
        - ipAddressEnd: {}
          ipAddressStart: {}
      type: string
    id: string
    managementIpSelectionMethod: string
    onlyNewDevice: true
    updateManagementIp: true
- name: Delete by id
  cisco.catalystcenter.discoverys:
    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}}"
    state: absent
    id: string

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)