cisco.ise.external_radius_server module – Resource module for External RADIUS Server

Note

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

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install cisco.ise.

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

New in version 1.0.0: of cisco.ise

Synopsis

  • Manage operations create, update and delete of the resource External RADIUS Server.

  • This API creates an external RADIUS server.

  • This API deletes an external RADIUS server.

  • This API allows the client to update an external RADIUS server.

Note

This module has a corresponding action plugin.

Requirements

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

  • ciscoisesdk >= 2.0.3

  • python >= 3.5

Parameters

Parameter

Comments

accountingPort

integer

Valid Range 1 to 65535.

authenticationPort

integer

Valid Range 1 to 65535.

authenticatorKey

string

The authenticatorKey is required only if enableKeyWrap is true, otherwise it must be ignored or empty. The maximum length is 20 ASCII characters or 40 HEXADECIMAL characters (depend on selection in field ‘keyInputFormat’).

description

string

External RADIUS Server’s description.

enableKeyWrap

boolean

KeyWrap may only be enabled if it is supported on the device. When running in FIPS mode this option should be enabled for such devices.

Choices:

  • no

  • yes

encryptionKey

string

The encryptionKey is required only if enableKeyWrap is true, otherwise it must be ignored or empty. The maximum length is 16 ASCII characters or 32 HEXADECIMAL characters (depend on selection in field ‘keyInputFormat’).

hostIP

string

The IP of the host - must be a valid IPV4 address.

id

string

External RADIUS Server’s id.

ise_debug

boolean

Flag for Identity Services Engine SDK to enable debugging.

Choices:

  • no ← (default)

  • yes

ise_hostname

string / required

The Identity Services Engine hostname.

ise_password

string / required

The Identity Services Engine password to authenticate.

ise_username

string / required

The Identity Services Engine username to authenticate.

ise_uses_api_gateway

boolean

added in 1.1.0 of cisco.ise

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:

  • no

  • yes ← (default)

ise_uses_csrf_token

boolean

added in 3.0.0 of cisco.ise

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:

  • no ← (default)

  • yes

ise_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

  • no

  • yes ← (default)

ise_version

string

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

Default: “3.1_Patch_1”

ise_wait_on_rate_limit

boolean

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

Choices:

  • no

  • yes ← (default)

keyInputFormat

string

Specifies the format of the input for fields ‘encryptionKey’ and ‘authenticatorKey’. Allowed Values - ASCII - HEXADECIMAL.

name

string

Resource Name. Allowed charactera are alphanumeric and _ (underscore).

proxyTimeout

integer

Valid Range 1 to 600.

retries

integer

Valid Range 1 to 9.

sharedSecret

string

Shared secret maximum length is 128 characters.

timeout

integer

Valid Range 1 to 120.

Notes

Note

  • SDK Method used are external_radius_server.ExternalRadiusServer.create_external_radius_server, external_radius_server.ExternalRadiusServer.delete_external_radius_server_by_id, external_radius_server.ExternalRadiusServer.update_external_radius_server_by_id,

  • Paths used are post /ers/config/externalradiusserver, delete /ers/config/externalradiusserver/{id}, put /ers/config/externalradiusserver/{id},

  • 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: Update by id
  cisco.ise.external_radius_server:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    accountingPort: 0
    authenticationPort: 0
    authenticatorKey: string
    description: string
    enableKeyWrap: true
    encryptionKey: string
    hostIP: string
    id: string
    keyInputFormat: string
    name: string
    proxyTimeout: 0
    retries: 0
    sharedSecret: string
    timeout: 0

- name: Delete by id
  cisco.ise.external_radius_server:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: absent
    id: string

- name: Create
  cisco.ise.external_radius_server:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    accountingPort: 0
    authenticationPort: 0
    authenticatorKey: string
    description: string
    enableKeyWrap: true
    encryptionKey: string
    hostIP: string
    keyInputFormat: string
    name: string
    proxyTimeout: 0
    retries: 0
    sharedSecret: string
    timeout: 0

Return Values

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

Key

Description

ise_response

dictionary

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

Returned: always

Sample: “{\n \”id\”: \”string\”,\n \”name\”: \”string\”,\n \”description\”: \”string\”,\n \”hostIP\”: \”string\”,\n \”sharedSecret\”: \”string\”,\n \”enableKeyWrap\”: true,\n \”encryptionKey\”: \”string\”,\n \”authenticatorKey\”: \”string\”,\n \”keyInputFormat\”: \”string\”,\n \”authenticationPort\”: 0,\n \”accountingPort\”: 0,\n \”timeout\”: 0,\n \”retries\”: 0,\n \”proxyTimeout\”: 0,\n \”link\”: {\n \”rel\”: \”string\”,\n \”href\”: \”string\”,\n \”type\”: \”string\”\n }\n}\n”

ise_update_response

dictionary

added in 1.1.0 of cisco.ise

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

Returned: always

Sample: “{\n \”UpdatedFieldsList\”: {\n \”updatedField\”: [\n {\n \”field\”: \”string\”,\n \”oldValue\”: \”string\”,\n \”newValue\”: \”string\”\n }\n ],\n \”field\”: \”string\”,\n \”oldValue\”: \”string\”,\n \”newValue\”: \”string\”\n }\n}\n”

Authors

  • Rafael Campos (@racampos)