cisco.dnac.events_and_notifications_workflow_manager module -- Configure various types of destinations to deliver event notifications from Cisco Catalyst Center Platform.
Note
This module is part of the cisco.dnac collection (version 6.15.0).
To install it, use: ansible-galaxy collection install cisco.dnac
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.dnac.events_and_notifications_workflow_manager
.
New in cisco.dnac 6.14.0
Synopsis
Configure various types of destinations to deliver event notifications from Cisco Catalyst Center Platform.
Configuring/Updating the Webhook destination details in Cisco Catalyst Center.
Configuring/Updating the Email destination details in Cisco Catalyst Center.
Configuring/Updating the Syslog destination details in Cisco Catalyst Center.
Configuring/Updating the SNMP destination details in Cisco Catalyst Center.
Configuring/Updating the ITSM Integration Settings in Cisco Catalyst Center.
Deletes the ITSM Integration Settings from Cisco Catalyst Center.
Create/Update Notification using the above destination in Cisco Catalyst Center.
Requirements
The below requirements are needed on the host that executes this module.
dnacentersdk >= 2.7.1
python >= 3.5
Parameters
Parameter |
Comments |
---|---|
List containing the subscription configuration for events, notification on site through one or more channels. |
|
Configure settings to send out emails from Cisco Catalyst Center. Also we can create or configure email destination in Cisco Catalyst Center only once then later we can just modify it. |
|
Sender's email address used when setting up or modifying an email destination. |
|
Add the primary configuration for smtp while creating/updating email destination. |
|
Password for Authenticating Primary SMTP Server. |
|
Port number used for configuring Primary SMTP Server. Also there is a mapping of smtype and port if snmp_type is DEFAULT then port is 25 and for smtp_type TLS or SSL we can choose either 465 or 587 as port number. |
|
Hostname or IP address of the primary SMTP server. Supports both IPv4 and IPv6. |
|
The type of connection used for the SMTP server, with options being DEFAULT, TLS, or SSL. By default, it is set to DEFAULT. DEFAULT - Chooses a standard SMTP connection without encryption. If it's selected then port will be 25 only. TLS - Initiates an unencrypted SMTP connection and upgrades to TLS encryption when available. If it's selected then port will be either 465 or 587. SSL - Begins with an encrypted SMTP connection using SSL from the start. If it's selected then port will be either 465 or 587. |
|
Username for Authenticating Primary SMTP Server. |
|
Include an optional secondary SMTP configuration when creating or updating an email destination. |
|
Password for Authenticating Secondary SMTP Server. |
|
Port number used for configuring Secondary SMTP Server. Also there is a mapping of smtype and port if snmp_type is DEFAULT then port is 25 and for smtp_type TLS or SSL we can choose either 465 or 587 as port number. |
|
Hostname or IP address of the secondary SMTP server. Supports both IPv4 and IPv6. |
|
The type of connection used for the SMTP server, with options being DEFAULT, TLS, or SSL. By default, it is set to DEFAULT. DEFAULT - Chooses a standard SMTP connection without encryption. If it's selected then port will be 25 only. TLS - Initiates an unencrypted SMTP connection and upgrades to TLS encryption when available. If it's selected then port will be either 465 or 587. SSL - Begins with an encrypted SMTP connection using SSL from the start. If it's selected then port will be either 465 or 587. |
|
Username for Authenticating Secondary SMTP Server. |
|
Subject line of the email to be used when sending emails from the specified email destination. |
|
Recipient's email address that will receive emails when an email destination is created or updated. |
|
Dictionary containing the configuration details to configure the ServiceNow/BMCRemedy settings to automatically create incidents/problems/RFC's from Cisco Catalyst Center. |
|
A dictionary of settings required to establish a connection with the ITSM system. |
|
The password associated with the username for API authentication. It is recommended to handle this data securely. |
|
The URL of the ITSM system API endpoint. This is the base URL used for ITSM service requests. |
|
The username used for authentication with the ITSM system. This is required for accessing the API. |
|
A brief description of the ITSM settings, outlining its purpose or usage within the organization. |
|
The name of the ITSM configuration. This helps in identifying the integration within the system. Also while deleting the ITSM Intergration setting from Cisco Catalyst Center. |
|
Dictionary containing the details for configuring/updating the SNMP Trap Server to receive Audit logs and Events from Cisco Catalyst Center. |
|
Password used for SNMP authentication. |
|
Type of SNMP authentication protocol to use, such as MD5 or SHA. SHA - Stands for Secure Hash Algorithm, a suite of cryptographic hash functions developed by the National Security Agency (NSA) offering enhanced security. MD5 - Refers to Message Digest Algorithm 5, a well-established cryptographic hash function generating a 128-bit hash value, employed in SNMPv3 for message authenticity and integrity verification. |
|
SNMP community string used for authentication, necessary only when the snmp_version is set to V2C. |
|
Description of the SNMP destination. |
|
The security mode for SNMP communication (options - AUTH_PRIVACY, AUTH_NO_PRIVACY, NO_AUTH_NO_PRIVACY). Mandatory for snmp_version V3 and must not be set to NONE. AUTH_PRIVACY - The most secure mode, providing both verification of the message source through authentication and protection of message contents with encryption. If this option is selected, must need to provide auth_type, auth_password, privacy_type, privacy_password parameter in the playbook. AUTH_NO_PRIVACY - This mode ensures the authenticity of SNMP messages via a community string for validation but does not encrypt the data, leaving it vulnerable to interception. If this option is selected, must need to provide auth_type, auth_password parameter in the playbook. NO_AUTH_NO_PRIVACY - In this mode, SNMP messages are neither authenticated nor encrypted, making it the least secure as it requires no credentials or data protection. If this option is selected, not need to provide auth_type, auth_password, privacy_type, privacy_password parameter in the playbook. |
|
Name of the SNMP destination. |
|
Port number on which the SNMP server is listening. |
|
Password used for encryption in SNMP privacy. |
|
Encryption algorithm used for SNMP privacy, such as AES128. |
|
IP address of the SNMP server. |
|
The SNMP protocol version used for network management and monitoring, selectable between SNMPv2c and SNMPv3. V2C - Utilizes community strings for the authentication between the SNMP manager (like Cisco Catalyst) and managed network devices (routers, switches, access points), without encryption, as strings are sent in plain text. V3 - Offers enhanced security features over V2C, including authentication, integrity, and encryption, using usernames, passwords, and encryption keys for secure communications. |
|
Username required for SNMP authentication, applicable exclusively when the snmp_version is configured to V3. |
|
Dictionary containing the details for configuring/updating the Syslog Server to collect Audit logs and Events from the Cisco Catalyst Center. |
|
A brief explanation detailing the purpose of the syslog destination. |
|
Name of the syslog destination. |
|
Port number on which the syslog server is listening. It must be in the range of 1-65535. If not given any port then we will use 514 as default port. |
|
Protocol used for sending syslog messages (e.g., UDP, TCP). Transmission Control Protocol (TCP) - It is a connection-oriented protocol used for reliable and ordered communication between devices on a network. It provides error-checking, retransmission of lost packets, and ensures that data is delivered in the correct order. User Datagram Protocol (UDP) - It is a connectionless protocol used for sending datagrams between devices on a network. It provides a lightweight, best-effort delivery mechanism without guaranteeing delivery or ordering of packets. UDP is commonly used for real-time applications such as streaming media, online gaming, and VoIP. |
|
Hostname or IP address of the Syslog server. |
|
Dictionary containing the details for configuring/updating the REST Endpoint to receive Audit logs and Events from Cisco Catalyst Center Platform. |
|
A brief explanation of what the webhook destination is used for. |
|
A list of HTTP headers to be included in the webhook request. Each header is represented as a dictionary. While giving the headers details we can categorize them into - "Basic, Token and No Auth". Basic Authentication - It is used to ensure that the receiving server can validate the identity of the requesting server by checking the credentials against its store. This method is straightforward but less secure compared to others since credentials are sent encoded but not encrypted. Token Authentication - It involves security tokens which are typically generated by the server. A client must send this token in the HTTP header to access resources. It is more secure than Basic Authentication as it allows the server to issue tokens that can have a limited lifetime, be revoked, and carry specific permissions without exposing user credentials. No Auth - It implies that no authentication method is required to access the webhook destination. This setting can be used in environments where security is either handled by other means (such as network isolation) or where the data being transmitted is not sensitive. |
|
Default value for the HTTP header that can be used if no specific value is provided. |
|
Indicates whether the value of the header should be encrypted. Useful for sensitive data. Choices: |
|
Name of the HTTP header. |
|
Value assigned to the HTTP header. |
|
A boolean value indicating if the request should use a proxy server. It will set to true for proxy routing, and false for direct connection. By default, it is set to True. Choices: |
|
The HTTP method used by the webhook when sending requests (e.g., POST, PUT). POST - It is typically used to create a new webhook destination. When you set up a new webhook in Cisco Catalyst Center, you would use the POST method to send the necessary configuration details (like URL, headers, payload format, etc.) to the server. PUT - It is used to update an existing webhook destination. If a webhook destination is already configured and you need to change any of its settings—such as modifying the URL, adjusting headers, or changing the payload format. |
|
Name of the webhook destination. A unique identifier for the webhook destination within the system. |
|
A boolean that indicates whether to verify the SSL/TLS certificate of the URL, setting this to true will bypass certificate verification. By default, it is set to false. Choices: |
|
Fully qualified URL to which the webhook will send requests (e.g., "https://ciscocatalyst.com"). |
|
Set to True to verify the Cisco Catalyst Center config after applying the playbook config. Choices: |
|
Defines the timeout in seconds for API calls to retrieve task details. If the task details are not received within this period, the process will end, and a timeout notification will be logged. Default: :ansible-option-default:`1200` |
|
Indicates whether debugging is enabled in the Cisco Catalyst Center SDK. Choices: |
|
The hostname of the Cisco Catalyst Center. |
|
Flag to enable/disable playbook execution logging. When true and dnac_log_file_path is provided, - Create the log file at the execution location with the specified name. When true and dnac_log_file_path is not provided, - Create the log file at the execution location with the name 'dnac.log'. When false, - Logging is disabled. If the log file doesn't exist, - It is created in append or write mode based on the "dnac_log_append" flag. If the log file exists, - It is overwritten or appended based on the "dnac_log_append" flag. Choices: |
|
Determines the mode of the file. Set to True for 'append' mode. Set to False for 'write' mode. Choices: |
|
Governs logging. Logs are recorded if dnac_log is True. If path is not specified, - When 'dnac_log_append' is True, 'dnac.log' is generated in the current Ansible directory; logs are appended. - When 'dnac_log_append' is False, 'dnac.log' is generated; logs are overwritten. If path is specified, - When 'dnac_log_append' is True, the file opens in append mode. - When 'dnac_log_append' is False, the file opens in write (w) mode. - In shared file scenarios, without append mode, content is overwritten after each module execution. - For a shared log file, set append to False for the 1st module (to overwrite); for subsequent modules, set append to True. Default: :ansible-option-default:`"dnac.log"` |
|
Sets the threshold for log level. Messages with a level equal to or higher than this will be logged. Levels are listed in order of severity [CRITICAL, ERROR, WARNING, INFO, DEBUG]. CRITICAL indicates serious errors halting the program. Displays only CRITICAL messages. ERROR indicates problems preventing a function. Displays ERROR and CRITICAL messages. WARNING indicates potential future issues. Displays WARNING, ERROR, CRITICAL messages. INFO tracks normal operation. Displays INFO, WARNING, ERROR, CRITICAL messages. DEBUG provides detailed diagnostic info. Displays all log messages. Default: :ansible-option-default:`"WARNING"` |
|
The password for authentication at the Cisco Catalyst Center. |
|
Specifies the port number associated with the Cisco Catalyst Center. Default: :ansible-option-default:`"443"` |
|
Specifies the interval in seconds between successive calls to the API to retrieve task details. Default: :ansible-option-default:`2` |
|
The username for authentication at the Cisco Catalyst Center. Default: :ansible-option-default:`"admin"` |
|
Flag to enable or disable SSL certificate verification. Choices: |
|
Specifies the version of the Cisco Catalyst Center that the SDK should use. Default: :ansible-option-default:`"2.2.3.3"` |
|
The state of Cisco Catalyst Center after module completion. Choices: |
|
Flag for Cisco Catalyst Center SDK to enable the validation of request bodies against a JSON schema. Choices: |
Notes
Note
Configuring the webhook destination with headers now supports starting from dnacentersdk version 2.9.1 onwards. This enhancement is in alignment with Catalyst Center Release 2.3.7.5.
Configuring the SNMP destination now supports starting from dnacentersdk version 2.9.1 onwards. This enhancement is in alignment with Catalyst Center Release 2.3.7.5.
SDK Method used are events.Events.get_syslog_destination, events.Events.create_syslog_destination, events.Events.update_syslog_destination, events.Events.get_snmp_destination, events.Events.create_snmp_destination, events.Events.update_snmp_destination, events.Events.get_webhook_destination, events.Events.create_webhook_destination, events.Events.update_webhook_destination, events.Events.get_email_destination, events.Events.create_email_destination, events.Events.get_status_api_for_events, events.Events.get_all_itsm_integration_settings, events.Events.get_itsm_integration_setting_by_id, events.Events.create_itsm_integration_setting, events.Events.update_itsm_integration_setting, events.Events.delete_itsm_integration_setting
Does not support
check_mode
The plugin runs on the control node and does not use any ansible connection plugins instead embedded connection manager from Cisco Catalyst Center SDK
The parameters starting with dnac_ are used by the Cisco Catalyst Center Python SDK to establish the connection
Examples
- name: Create Rest Webhook destination with given name.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- webhook_destination:
name: "webhook test"
description: "creating webhook for testing"
url: "https://10.195.227.14/dna"
method: "POST"
trust_cert: False
- name: Updating Rest Webhook destination with given name.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- webhook_destination:
name: "webhook test"
description: "updating webhook for testing"
- name: Configuring the email destination in the system.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- email_destination:
from_email: "test@cisco.com"
to_email: "demo@cisco.com"
subject: "Ansible testing"
primary_smtp_config:
server_address: "outbound.cisco.com"
port: "25"
smtp_type: "DEFAULT"
- name: Updating the email destination in the system.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- email_destination:
from_email: "test@cisco.com"
to_email: "demo123@cisco.com"
subject: "Ansible updated email config testing"
- name: Create Syslog destination with given name.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- syslog_destination:
name: Syslog test
description: "Adding syslog destination"
server_address: "10.30.0.90"
protocol: "TCP"
port: 6553
- name: Update Syslog destination with given name.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- syslog_destination:
name: Syslog test
description: "Updating syslog destination."
- name: Create SNMP destination with given name.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- snmp_destination:
name: Snmp test
description: "Adding snmp destination for testing."
server_address: "10.30.0.90"
port: "25"
snmp_version: "V3"
username: cisco
mode: AUTH_PRIVACY
auth_type: SHA
auth_password: authpass123
privacy_type: AES128
privacy_password: privacy123
- name: Update SNMP destination with given name.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- snmp_destination:
name: Snmp test
description: "Updating snmp destination with snmp version v2."
server_address: "10.30.0.90"
port: "25"
snmp_version: "V2C"
community: "public123"
- name: Create ITSM Integration Setting with given name in the system.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- itsm_setting:
instance_name: "ITSM test"
description: "ITSM description for testing"
connection_settings:
url: "http/catalystcenter.com"
username: "catalyst"
password: "catalyst@123"
- name: Updating ITSM Integration Setting with given name in the system.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: merged
config:
- itsm_setting:
instance_name: "ITSM test"
connection_settings:
url: "http/catalystcenterupdate.com"
password: "catalyst@123"
- name: Deleting ITSM Integration Setting with given name from the system.
cisco.dnac.events_and_notifications_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log_level: "{{dnac_log_level}}"
dnac_log: False
state: deleted
config:
- itsm_setting:
instance_name: "ITSM test"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
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"}` |