cisco.ise.duo_mfa module – Resource module for Duo Mfa

Note

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

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. You need further requirements to be able to use this module, see Requirements for details.

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

New in cisco.ise 1.0.0

Synopsis

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

  • Duo-MFA - Create a new Duo-MFA configuration.

  • Duo-MFA - Delete the Duo-MFA configuration specified in the connectionName.

  • Duo-MFA - Update the Duo-MFA configuration specified in the connectionName.

Note

This module has a corresponding action plugin.

Requirements

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

  • ciscoisesdk >= 2.2.3

  • python >= 3.5

Parameters

Parameter

Comments

accountConfigurations

dictionary

Duo Mfa’s accountConfigurations.

adminApi

dictionary

API type.

ikey

string

Integration Key.

sKey

string

Secret Key.

apiHostName

string

Duo API HostName.

authenticationApi

dictionary

API type.

ikey

string

Integration Key.

sKey

string

Secret Key.

connectionName

string

Name of the Duo-MFA configuration.

description

string

Description of the Duo-MFA configuration.

identitySync

string

Name of the Identity Sync configuration.

ise_debug

boolean

Flag for Identity Services Engine SDK to enable debugging.

Choices:

  • false ← (default)

  • true

ise_hostname

string / required

The Identity Services Engine hostname.

ise_password

string / required

The Identity Services Engine password to authenticate.

ise_single_request_timeout

integer

added in cisco.ise 3.0.0

Timeout (in seconds) for RESTful HTTP requests.

Default: 60

ise_username

string / required

The Identity Services Engine username to authenticate.

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:

  • false

  • true ← (default)

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:

  • false ← (default)

  • true

ise_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

  • false

  • true ← (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:

  • false

  • true ← (default)

type

string

Protocol type for which this Duo-MFA can be used.

Notes

Note

  • SDK Method used are duo_mfa.DuoMfa.create_mfa, duo_mfa.DuoMfa.delete_mfa_by_connection_name, duo_mfa.DuoMfa.update_m_fa_by_connection_name,

  • Paths used are post /api/v1/duo-mfa/mfa, delete /api/v1/duo-mfa/mfa/{connectionName}, put /api/v1/duo-mfa/mfa/{connectionName},

  • 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: Create
  cisco.ise.duo_mfa:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    accountConfigurations:
      adminApi:
        ikey: string
        sKey: string
      apiHostName: string
      authenticationApi:
        ikey: string
        sKey: string
    connectionName: string
    description: string
    identitySync: string
    type: string

- name: Update by name
  cisco.ise.duo_mfa:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    accountConfigurations:
      adminApi:
        ikey: string
        sKey: string
      apiHostName: string
      authenticationApi:
        ikey: string
        sKey: string
    connectionName: string
    description: string
    identitySync: string
    type: string

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

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: {"mfa": {"accountConfigurations": {"adminApi": {"ikey": "string", "sKey": "string"}, "apiHostName": "string", "authenticationApi": {"ikey": "string", "sKey": "string"}}, "connectionName": "string", "description": "string", "identitySync": "string", "type": "string"}}

ise_update_response

string

added in cisco.ise 1.1.0

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

Returned: always

Sample: "\"'string'\"\n"

Authors

  • Rafael Campos (@racampos)