cisco.ise.networkdevice module – Resource module for Networkdevice

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

New in cisco.ise 1.0.0

Synopsis

  • Manage operation create of the resource Networkdevice.

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

authenticationSettings

dictionary

Networkdevice’s authenticationSettings.

dtlsRequired

boolean

enabled

boolean

enableKeyWrap

boolean

enableMultiSecret

boolean

keyEncryptionKey

string

Networkdevice’s keyEncryptionKey.

keyInputFormat

dictionary

Allowed values ASCII,HEXADECIMAL.

messageAuthenticatorCodeKey

string

Networkdevice’s messageAuthenticatorCodeKey.

networkProtocol

dictionary

Allowed values RADIUS,TACACS_PLUS.

radiusSharedSecret

string

Networkdevice’s radiusSharedSecret.

secondRADIUSSharedSecret

string

Networkdevice’s secondRADIUSSharedSecret.

coaPort

float

Since 2.0 (for 3rd party).

description

string

Description.

dtlsDnsName

string

This value is used to verify the client identity contained in the X.509 RADIUS/DTLS client certificate.

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:

modelName

string

Networkdevice’s modelName.

name

string

Name.

NetworkDeviceGroupList

list / elements=string

List of NDG names for this node.

NetworkDeviceIPList

list / elements=dictionary

List of IPSubnets for this node.

profileName

string

Since 2.0 (for 3rd party).

snmpsettings

dictionary

Networkdevice’s snmpsettings.

authPassword

string

SNMP Authentication password. Required for snmp version 3 and securityLevel AUTH,PRIV.

authProtocol

string

SNMP Authentication protocol. Allowed values MD5,SHA,SHA2. Required for snmp version 3 and securityLevel AUTH,PRIV.

linkTrapQuery

boolean

macTrapQuery

boolean

originatingPolicyServicesNode

string

Originating Policy Services Node.

pollingInterval

dictionary

SNMP Polling Interval in seconds (Valid Range 600 to 86400).

privacyPassword

string

SNMP Privacy password. Required for snmp version 3 and securityLevel PRIV.

privacyProtocol

string

SNMP Privacy protocol. Required for snmp version 3 and securityLevel PRIV.

roCommunity

string

SNMP RO Community, Required for snmp version 1,2.

securityLevel

string

SNMP Security level. Allowed values NO_AUTH,AUTH,PRIV. Required for snmp version 3.

username

string

Required for snmp version 3.

version

string

Allowed values ONE,TWO_C,THREE.

softwareVersion

string

Networkdevice’s softwareVersion.

tacacsSettings

dictionary

Networkdevice’s tacacsSettings.

connectModeOptions

dictionary

Allowed values OFF,ON_LEGACY,ON_DRAFT_COMPLIANT.

previousSharedSecret

string

Retired shared secret.

previousSharedSecretExpiry

dictionary

Expiry period for the previous shared secret, given as seconds since epoch.

sharedSecret

string

Since 2.0.

tacacsTlsSettings

dictionary

Networkdevice’s tacacsTlsSettings.

connectModeOptions

dictionary

Allowed values OFF,ON_DRAFT_COMPLIANT.

enableSanIpValidation

boolean

Enable SAN IP validation for TACACS+ TLS connections.

Choices:

enableTls

boolean

sanValues

dictionary

Networkdevice’s sanValues.

directoryNames

list / elements=string

List of DirectoryNames to be used for validating the Subject Alternative Name extension.

dnsNames

list / elements=string

List of dnsNames to be used for validating the Subject Alternative Name extension.

trustsecsettings

dictionary

Networkdevice’s trustsecsettings.

deviceAuthenticationSettings

dictionary

Networkdevice’s deviceAuthenticationSettings.

restApiPassword

string

Networkdevice’s restApiPassword.

restApiUsername

string

Networkdevice’s restApiUsername.

sgaDeviceId

string

Networkdevice’s sgaDeviceId.

sgaDevicePassword

string

Networkdevice’s sgaDevicePassword.

deviceConfigurationDeployment

dictionary

Networkdevice’s deviceConfigurationDeployment.

enableModePassword

string

Networkdevice’s enableModePassword.

execModePassword

string

Networkdevice’s execModePassword.

execModeUsername

string

Networkdevice’s execModeUsername.

includeWhenDeployingSGTUpdates

dictionary

Networkdevice’s includeWhenDeployingSGTUpdates.

sgaNotificationAndUpdates

dictionary

Networkdevice’s sgaNotificationAndUpdates.

coaSourceHost

string

Must be a node of type Standalone/PPAN/Policy with Session services.

downlaodEnvironmentDataEveryXSeconds

dictionary

Networkdevice’s downlaodEnvironmentDataEveryXSeconds.

downlaodPeerAuthorizationPolicyEveryXSeconds

dictionary

Networkdevice’s downlaodPeerAuthorizationPolicyEveryXSeconds.

downloadSGACLListsEveryXSeconds

dictionary

Networkdevice’s downloadSGACLListsEveryXSeconds.

otherSGADevicesToTrustThisDevice

dictionary

Networkdevice’s otherSGADevicesToTrustThisDevice.

reAuthenticationEveryXSeconds

dictionary

Networkdevice’s reAuthenticationEveryXSeconds.

sendConfigurationToDevice

dictionary

Networkdevice’s sendConfigurationToDevice.

sendConfigurationToDeviceUsing

string

Allowed values ENABLE,ENABLE_USING_CLI,DISABLE_ALL.

Notes

Note

  • SDK Method used are networkdevice.Networkdevice.create_networkdevice,

  • Paths used are post /networkdevice/,

  • 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.networkdevice:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    NetworkDeviceGroupList:
      - Location#All Locations
      - Device Type#All Device Types
    NetworkDeviceIPList:
      - ipaddress: 1.1.1.1
        mask: 32
    authenticationSettings:
      dtlsRequired: true
      enableKeyWrap: true
      keyEncryptionKey: '1234567890123456'
      keyInputFormat: ASCII
      messageAuthenticatorCodeKey: '12345678901234567890'
      radiusSharedSecret: sharedSecret
    coaPort: 1700
    description: example nd
    dtlsDnsName: ISE213.il.com
    id: f75760e7-a4f9-40ef-93bb-88a97e9fb171
    name: networkDevice1
    profileName: Cisco
    snmpsettings:
      linkTrapQuery: true
      macTrapQuery: true
      originatingPolicyServicesNode: Auto
      pollingInterval: 3600
      roCommunity: aaa
      version: ONE
    tacacsSettings:
      connectModeOptions: ON_LEGACY
      previousSharedSecret: previousSecretSecret
      previousSharedSecretExpiry: 1759562336
      sharedSecret: sharedSecret
    tacacsTlsSettings:
      connectModeOptions: ON_DRAFT_COMPLIANT
      enableSanIpValidation: true
      enableTls: true
      sanValues: {}
    trustsecsettings:
      deviceAuthenticationSettings:
        sgaDeviceId: networkDevice1
        sgaDevicePassword: samplePwd
      deviceConfigurationDeployment:
        enableModePassword: samplePwd
        execModePassword: samplePwd
        execModeUsername: aaa
        includeWhenDeployingSGTUpdates: true
      pushIdSupport: 'false'
      sgaNotificationAndUpdates:
        coaSourceHost: IseNodeName
        downlaodEnvironmentDataEveryXSeconds: 86400
        downlaodPeerAuthorizationPolicyEveryXSeconds: 86400
        downloadSGACLListsEveryXSeconds: 86400
        otherSGADevicesToTrustThisDevice: false
        reAuthenticationEveryXSeconds: 86400
        sendConfigurationToDevice: false
        sendConfigurationToDeviceUsing: ENABLE_USING_COA

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)