cisco.ise.ldap module – Resource module for Ldap

Note

This module is part of the cisco.ise collection (version 3.0.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.ldap.

New in cisco.ise 1.0.0

Synopsis

  • Manage operation create of the resource Ldap.

Note

This module has a corresponding action plugin.

Requirements

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

  • ciscoisesdk >= 2.0.1

  • python >= 3.5

Parameters

Parameter

Comments

attributes

dictionary

Ldap’s attributes.

attributes

list / elements=dictionary

List of Attributes.

connectionSettings

dictionary

Ldap’s connectionSettings.

alwaysAccessPrimaryFirst

boolean

failbackRetryDelay

float

FailbackRetryDelay.

failoverToSecondary

boolean

ldapNodeData

list / elements=dictionary

LdapNodeData.

primaryServer

dictionary

Ldap’s primaryServer.

adminDN

string

AdminDN.

adminPassword

string

AdminPassword.

enableForceReconnect

boolean

enableSecureConnection

boolean

enableServerIdentityCheck

boolean

forceReconnectTime

float

ForceReconnectTime.

hostName

string

HostName.

issuerCACertificate

string

IssuerCACertificate.

maxConnections

float

MaxConnections.

port

float

Port.

serverTimeout

float

ServerTimeout.

trustCertificate

string

TrustCertificate.

useAdminAccess

boolean

secondaryServer

dictionary

Ldap’s secondaryServer.

adminDN

string

AdminDN.

adminPassword

string

AdminPassword.

enableForceReconnect

boolean

enableSecureConnection

boolean

enableServerIdentityCheck

boolean

forceReconnectTime

float

ForceReconnectTime.

hostName

string

HostName.

issuerCACertificate

string

IssuerCACertificate.

maxConnections

float

MaxConnections.

port

float

Port.

serverTimeout

float

ServerTimeout.

trustCertificate

string

TrustCertificate.

useAdminAccess

boolean

specifyServerForEachISENode

boolean

description

string

Description.

directoryOrganization

dictionary

Ldap’s directoryOrganization.

groupDirectorySubtree

string

GroupDirectorySubtree.

macFormat

dictionary

MacFormat.

prefixSeparator

string

PrefixSeparator.

stripPrefix

boolean

stripSuffix

string

StripSuffix.

suffixSeparator

string

SuffixSeparator.

userDirectorySubtree

string

UserDirectorySubtree.

enablePasswordChangeLDAP

boolean

generalSettings

dictionary

Ldap’s generalSettings.

certificate

string

Certificate.

groupMapAttributeName

string

GroupMapAttributeName.

groupMemberReference

dictionary

GroupMemberReference.

groupNameAttribute

string

GroupNameAttribute.

groupObjectClass

string

GroupObjectClass.

schema

dictionary

Schema.

userInfoAttributes

dictionary

Ldap’s userInfoAttributes.

additionalAttribute

string

AdditionalAttribute.

country

string

Country.

department

string

Department.

email

string

Email.

firstName

string

FirstName.

jobTitle

string

JobTitle.

lastName

string

LastName.

locality

string

Locality.

organizationalUnit

string

OrganizationalUnit.

stateOrProvince

string

StateOrProvince.

streetAddress

string

StreetAddress.

telephone

string

Telephone.

userNameAttribute

string

UserNameAttribute.

userObjectClass

string

UserObjectClass.

groups

dictionary

Ldap’s groups.

groupsNames

list / elements=string

List of groups.

id

string

Id.

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 / 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: :ansible-option-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:

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.1\_Patch\_1"`

ise_wait_on_rate_limit

boolean

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

Choices:

name

string

Name.

Notes

Note

  • SDK Method used are ldap.Ldap.create_ldap,

  • Paths used are post /ldap/,

  • 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.ldap:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    attributes:
      attributes:
        - defaultValue: ' '
          internalName: whenChanged
          name: whenChanged
          type: STRING
    connectionSettings:
      alwaysAccessPrimaryFirst: true
      failbackRetryDelay: 5
      failoverToSecondary: true
      ldapNodeData:
        - name: ise222
          primaryHostname: ipAddress
          primaryPort: 389
          secondaryHostname: ipAddress
          secondaryPort: 389
        - name: ise223
          primaryHostname: ipAddress
          primaryPort: 389
          secondaryHostname: ipAddress
          secondaryPort: 389
    primaryServer:
      adminDN: cn=administrator,cn=users,dc=ise,dc=com
      adminPassword: Lab@123
      enableForceReconnect: false
      enableSecureConnection: false
      enableServerIdentityCheck: false
      forceReconnectTime: 20
      hostName: ''
      issuerCACertificate: ''
      maxConnections: 20
      port: 389
      serverTimeout: 10
      trustCertificate: ''
      useAdminAccess: true
      secondaryServer:
        adminDN: cn=administrator,cn=users,dc=ise,dc=com
        adminPassword: Lab@123
        enableForceReconnect: false
        enableSecureConnection: false
        enableServerIdentityCheck: false
        forceReconnectTime: 20
        hostName: ''
        issuerCACertificate: ''
        maxConnections: 20
        port: 389
        serverTimeout: 10
        trustCertificate: ''
        useAdminAccess: true
      specifyServerForEachISENode: true
    description: Description
    directoryOrganization:
      groupDirectorySubtree: groupDirectorySubtree
      macFormat: DASH
      prefixSeparator: \
      stripPrefix: false
      stripSuffix: false
      suffixSeparator: ' '
      userDirectorySubtree: userDirectorySubtree
    enablePasswordChangeLDAP: false
    generalSettings:
      certificate: userCertificate
      groupMapAttributeName: memberOf
      groupMemberReference: USERNAME
      groupNameAttribute: dn
      groupObjectClass: Group
      groupReference: GROUP_TO_USER
      schema: ACTIVE_DIRECTORY
      userInfoAttributes:
        country: co
        department: department
        email: email
        firstName: givenName
        lastName: sn
        locality: l
        organizationalUnit: company
        stateOrProvince: st
        streetAddress: streetAddress
        telephone: telephoneNumber
      userNameAttribute: userPrincipalName
      userObjectClass: Person
    groups:
      groupsNames:
        - CN=TestLDAP,CN=Users,DC=ISE,DC=COM
      name: sample

Return Values

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

Key

Description

ise_response

list / elements=dictionary

Authors

  • Rafael Campos (@racampos)