cisco.ise.ipsec module – Resource module for Ipsec

Note

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

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.ipsec.

New in cisco.ise 1.0.0

Synopsis

  • Manage operations create and update of the resource Ipsec.

  • Creates an IPsec connection.

  • Updates the configuration of existing IPsec connection.

Note

This module has a corresponding action plugin.

Requirements

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

  • ciscoisesdk >= 2.2.0

  • python >= 3.5

Parameters

Parameter

Comments

authType

string

Authentication type for establishing connection.

certId

string

ID of the certificate for establishing connection.

configureVti

boolean

Authentication type for establishing connection.

Choices:

  • false

  • true

espAhProtocol

string

Encryption protocol used for establishing connection.

hostName

string

Hostname of the node.

iface

string

Ethernet port of the node.

ikeReAuthTime

integer

IKE re-authentication time.

ikeVersion

string

IKE version.

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)

localInternalIp

string

Local Tunnel IP address.

modeOption

string

The Mode type used for establishing the connection.

nadIp

string

NAD IP address for establishing connection.

phaseOneDHGroup

string

Phase-one DH group used for establishing connection.

phaseOneEncryptionAlgo

string

Phase-one encryption algorithm used for establishing connection.

phaseOneHashAlgo

string

Phase-one hashing algorithm used for establishing connection.

phaseOneLifeTime

integer

Phase-one connection lifetime.

phaseTwoDHGroup

string

Phase-two DH group used for establishing connection.

phaseTwoEncryptionAlgo

string

Phase-two encryption algorithm used for establishing connection.

phaseTwoHashAlgo

string

Phase-two hashing algorithm used for establishing connection.

phaseTwoLifeTime

integer

Phase-two connection lifetime.

psk

string

Pre-shared key used for establishing connection.

remotePeerInternalIp

string

Remote Tunnel IP address.

Notes

Note

  • SDK Method used are native_ipsec.NativeIpsec.create_ipsec_connection, native_ipsec.NativeIpsec.update_ipsec_connection_config,

  • Paths used are post /api/v1/ipsec, put /api/v1/ipsec,

  • 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 all
  cisco.ise.ipsec:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    authType: string
    certId: string
    configureVti: true
    espAhProtocol: string
    hostName: string
    iface: string
    ikeReAuthTime: 0
    ikeVersion: string
    localInternalIp: string
    modeOption: string
    nadIp: string
    phaseOneDHGroup: string
    phaseOneEncryptionAlgo: string
    phaseOneHashAlgo: string
    phaseOneLifeTime: 0
    phaseTwoDHGroup: string
    phaseTwoEncryptionAlgo: string
    phaseTwoHashAlgo: string
    phaseTwoLifeTime: 0
    psk: string
    remotePeerInternalIp: string

- name: Create
  cisco.ise.ipsec:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    authType: string
    certId: string
    configureVti: true
    espAhProtocol: string
    hostName: string
    iface: string
    ikeReAuthTime: 0
    ikeVersion: string
    localInternalIp: string
    modeOption: string
    nadIp: string
    phaseOneDHGroup: string
    phaseOneEncryptionAlgo: string
    phaseOneHashAlgo: string
    phaseOneLifeTime: 0
    phaseTwoDHGroup: string
    phaseTwoEncryptionAlgo: string
    phaseTwoHashAlgo: string
    phaseTwoLifeTime: 0
    psk: string
    remotePeerInternalIp: string

Return Values

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

Key

Description

ise_response

list / elements=dictionary

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

Returned: always

Sample: "[\n  {\n    \"authType\": \"string\",\n    \"certId\": \"string\",\n    \"configureVti\": true,\n    \"createTime\": \"string\",\n    \"espAhProtocol\": \"string\",\n    \"hostName\": \"string\",\n    \"id\": \"string\",\n    \"iface\": \"string\",\n    \"ikeReAuthTime\": 0,\n    \"ikeVersion\": \"string\",\n    \"localInternalIp\": \"string\",\n    \"modeOption\": \"string\",\n    \"nadIp\": \"string\",\n    \"phaseOneDHGroup\": \"string\",\n    \"phaseOneEncryptionAlgo\": \"string\",\n    \"phaseOneHashAlgo\": \"string\",\n    \"phaseOneLifeTime\": 0,\n    \"phaseTwoDHGroup\": \"string\",\n    \"phaseTwoEncryptionAlgo\": \"string\",\n    \"phaseTwoHashAlgo\": \"string\",\n    \"phaseTwoLifeTime\": 0,\n    \"psk\": \"string\",\n    \"remotePeerInternalIp\": \"string\",\n    \"status\": \"string\",\n    \"updateTime\": \"string\"\n  }\n]\n"

ise_update_response

dictionary

added in cisco.ise 1.1.0

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

Returned: always

Sample: {"response": {"authType": "string", "certId": "string", "configureVti": true, "createTime": "string", "espAhProtocol": "string", "hostName": "string", "id": "string", "iface": "string", "ikeReAuthTime": 0, "ikeVersion": "string", "link": {"href": "string", "rel": "string", "type": "string"}, "localInternalIp": "string", "modeOption": "string", "nadIp": "string", "phaseOneDHGroup": "string", "phaseOneEncryptionAlgo": "string", "phaseOneHashAlgo": "string", "phaseOneLifeTime": 0, "phaseTwoDHGroup": "string", "phaseTwoEncryptionAlgo": "string", "phaseTwoHashAlgo": "string", "phaseTwoLifeTime": 0, "psk": "string", "remotePeerInternalIp": "string", "status": "string", "updateTime": "string"}, "version": "string"}

Authors

  • Rafael Campos (@racampos)