cisco.ise.node_deployment module – Resource module for Node Deployment

Note

This module is part of the cisco.ise collection (version 3.3.0).

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

To use it in a playbook, specify: cisco.ise.node_deployment.

New in cisco.ise 1.0.0

Synopsis

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

  • Register a new ISE node, update node roles/services, or deregister a node.

Note

This module has a corresponding action plugin.

Requirements

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

  • ciscoisesdk >= 2.2.1

  • python >= 3.5

Parameters

Parameter

Comments

allowCertImport

boolean

Allow the import of self-signed certificates from the node being registered.

Choices:

fqdn

string

Fully qualified domain name of the node being registered.

hostname

string

Hostname of the ISE node. Used as primary identifier.

ise_client_cert

path

added in cisco.ise 3.3.0

Absolute path to the client certificate file (.pem/.crt) used for certificate-based (mTLS) authentication.

When provided, ise_username and ise_password are not required.

Requires Cisco ISE 3.3 or later with certificate-based API access enabled.

ise_client_key

path

added in cisco.ise 3.3.0

Absolute path to the client private key file (.key) that pairs with ise_client_cert.

Omit when the private key is bundled together with the certificate in ise_client_cert.

ise_debug

boolean

Flag for Identity Services Engine SDK to enable debugging.

Choices:

ise_hostname

string / required

The Identity Services Engine hostname.

ise_password

string

The Identity Services Engine password to authenticate.

Required unless ise_client_cert is provided for certificate-based authentication.

ise_single_request_timeout

integer

added in cisco.ise 3.0.0

Timeout (in seconds) for RESTful HTTP requests.

Default: :ansible-option-default:`60`

ise_username

string

The Identity Services Engine username to authenticate.

Required unless ise_client_cert is provided for certificate-based authentication.

ise_uses_api_gateway

boolean

added in cisco.ise 1.1.0

Flag that informs the SDK whether to use the Identity Services Engine’s API Gateway to send requests.

If it is true, it uses the ISE’s API Gateway and sends requests to https://{{ise_hostname}}.

If it is false, it sends the requests to https://{{ise_hostname}}:{{port}}, where the port value depends on the Service used (ERS, Mnt, UI, PxGrid).

Choices:

ise_uses_csrf_token

boolean

added in cisco.ise 3.0.0

Flag that informs the SDK whether we send the CSRF token to ISE’s ERS APIs.

If it is True, the SDK assumes that your ISE CSRF Check is enabled.

If it is True, it assumes you need the SDK to manage the CSRF token automatically for you.

Choices:

ise_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

ise_version

string

Informs the SDK which version of Identity Services Engine to use.

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

ise_wait_on_rate_limit

boolean

Flag for Identity Services Engine SDK to enable automatic rate-limit handling.

Choices:

password

string

Password for the node admin account. Required on create.

roles

list / elements=string

ISE roles to assign to the node (e.g. PrimaryAdmin, SecondaryAdmin, PrimaryMonitoring).

services

list / elements=string

ISE services to enable on the node (e.g. Session, Profiler, DeviceAdmin).

state

string

userName

string

Admin username for the node being registered. Required on create.

Notes

Note

  • SDK Method used are node_deployment.NodeDeployment.register_node, node_deployment.NodeDeployment.update_node, node_deployment.NodeDeployment.delete_node, node_deployment.NodeDeployment.get_node_details,

  • Paths used are post /api/v1/deployment/node, put /api/v1/deployment/node/{hostname}, delete /api/v1/deployment/node/{hostname}, get /api/v1/deployment/node/{hostname},

  • Does not support check_mode

  • The plugin runs on the control node and does not use any ansible connection plugins, but instead the embedded connection manager from Cisco ISE SDK

  • The parameters starting with ise_ are used by the Cisco ISE Python SDK to establish the connection

Examples

---
- name: Register a new ISE node
  cisco.ise.node_deployment:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    fqdn: isenode.example.com
    hostname: isenode
    password: NodeAdminPass123
    userName: admin
    roles:
      - SecondaryAdmin
    services:
      - Session
      - Profiler
  register: result

- name: Update node roles
  cisco.ise.node_deployment:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    hostname: isenode
    roles:
      - SecondaryAdmin
      - SecondaryMonitoring
    services:
      - Session

- name: Deregister a node
  cisco.ise.node_deployment:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: absent
    hostname: isenode

Return Values

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

Key

Description

ise_create_response

dictionary

A dictionary with the response returned by the Cisco ISE Python SDK

Returned: always, on create

Sample: :ansible-rv-sample-value:`{"success": {"message": "string"}, "version": "string"}`

ise_response

dictionary

ise_update_response

dictionary

A dictionary with the response returned by the Cisco ISE Python SDK

Returned: always, on update

Sample: :ansible-rv-sample-value:`{"success": {"message": "string"}, "version": "string"}`

Authors

  • Rafael Campos (@racampos)