cisco.ise.network_device 模块 – 网络设备资源模块

注意

此模块是 cisco.ise 集合 (版本 2.9.6) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cisco.ise。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:cisco.ise.network_device

cisco.ise 1.0.0 中的新增功能

概要

  • 管理网络设备资源的创建、更新和删除操作。

  • 此 API 创建一个网络设备。

  • 此 API 通过 ID 删除网络设备。

  • 此 API 通过名称删除网络设备。

  • 此 API 允许客户端通过 ID 更新网络设备。

  • 此 API 允许客户端通过名称更新网络设备。

注意

此模块具有相应的 action 插件

要求

执行此模块的主机需要以下要求。

  • ciscoisesdk >= 2.2.3

  • python >= 3.5

参数

参数

注释

authenticationSettings

字典

网络设备的 authenticationSettings。

dtlsRequired

布尔值

此值强制使用 DTLS。

选项

  • false

  • true

enabled

布尔值

启用标志。

选项

  • false

  • true

enableKeyWrap

布尔值

EnableKeyWrap 标志。

选项

  • false

  • true

enableMultiSecret

字符串

网络设备的 enableMultiSecret。

keyEncryptionKey

字符串

网络设备的 keyEncryptionKey。

keyInputFormat

字符串

允许的值 - ASCII, - HEXADECIMAL。

messageAuthenticatorCodeKey

字符串

网络设备的 messageAuthenticatorCodeKey。

networkProtocol

字符串

允许的值 - RADIUS, - TACACS_PLUS。

radiusSharedSecret

字符串

网络设备的 radiusSharedSecret。

secondRADIUSSharedSecret

字符串

网络设备的 secondRADIUSSharedSecret。

coaPort

整数

网络设备的 coaPort。

description

字符串

网络设备的描述。

dtlsDnsName

字符串

此值用于验证 X.509 RADIUS/DTLS 客户端证书中包含的客户端身份。

id

字符串

网络设备的 ID。

ise_debug

布尔值

用于 Identity Services Engine SDK 以启用调试的标志。

选项

  • false ← (默认)

  • true

ise_hostname

字符串 / 必需

Identity Services Engine 主机名。

ise_password

字符串 / 必需

用于身份验证的 Identity Services Engine 密码。

ise_single_request_timeout

整数

在 cisco.ise 3.0.0 中添加

RESTful HTTP 请求的超时时间(以秒为单位)。

默认值: 60

ise_username

字符串 / 必需

用于身份验证的 Identity Services Engine 用户名。

ise_uses_api_gateway

布尔值

在 cisco.ise 1.1.0 中添加

告知 SDK 是否使用 Identity Services Engine 的 API 网关发送请求的标志。

如果为 true,则使用 ISE 的 API 网关并将请求发送到 https://{{ise_hostname}}。

如果为 false,则将请求发送到 https://{{ise_hostname}}:{{port}},其中端口值取决于使用的服务 (ERS、Mnt、UI、PxGrid)。

选项

  • false

  • true ← (默认)

ise_uses_csrf_token

布尔值

在 cisco.ise 3.0.0 中添加

告知 SDK 我们是否将 CSRF 令牌发送到 ISE 的 ERS API 的标志。

如果为 True,则 SDK 假设您的 ISE CSRF 检查已启用。

如果为 True,则假定您需要 SDK 为您自动管理 CSRF 令牌。

选项

  • false ← (默认)

  • true

ise_verify

布尔值

启用或禁用 SSL 证书验证的标志。

选项

  • false

  • true ← (默认)

ise_version

字符串

告知 SDK 使用哪个版本的 Identity Services Engine。

默认值: "3.1_Patch_1"

ise_wait_on_rate_limit

布尔值

用于 Identity Services Engine SDK 以启用自动速率限制处理的标志。

选项

  • false

  • true ← (默认)

modelName

字符串

网络设备的 modelName。

name

字符串

网络设备的名称。

NetworkDeviceGroupList

列表 / 元素=字符串

此节点的网络设备组名称列表。

NetworkDeviceIPList

列表 / 元素=字典

此节点的 IP 子网列表。

getIpaddressExclude

字符串

它可以是单个 IP 地址或 IP 范围地址。

ipaddress

字符串

网络设备的 IP 地址。

mask

整数

网络设备的掩码。可以是字符串,但将转换为整数。

profileName

字符串

网络设备的 profileName。

snmpsettings

字典

网络设备的 snmpsettings。

linkTrapQuery

布尔值

LinkTrapQuery 标志。

选项

  • false

  • true

macTrapQuery

布尔值

MacTrapQuery 标志。

选项

  • false

  • true

originatingPolicyServicesNode

字符串

网络设备的 originatingPolicyServicesNode。

pollingInterval

整数

网络设备的 pollingInterval。

roCommunity

字符串

网络设备的 roCommunity。

version

字符串

网络设备的版本。

softwareVersion

字符串

网络设备的软件版本。

tacacsSettings

字典

网络设备的 tacacsSettings。

connectModeOptions

字符串

允许的值 - OFF, - ON_LEGACY, - ON_DRAFT_COMPLIANT。

sharedSecret

字符串

网络设备的 sharedSecret。

trustsecsettings

字典

网络设备的 trustsecsettings。

deviceAuthenticationSettings

字典

网络设备的 deviceAuthenticationSettings。

sgaDeviceId

字符串

网络设备的 sgaDeviceId。

sgaDevicePassword

字符串

网络设备的 sgaDevicePassword。

deviceConfigurationDeployment

字典

网络设备的 deviceConfigurationDeployment。

enableModePassword

字符串

网络设备的 enableModePassword。

execModePassword

字符串

网络设备的 execModePassword。

execModeUsername

字符串

网络设备的 execModeUsername。

includeWhenDeployingSGTUpdates

布尔值

IncludeWhenDeployingSGTUpdates 标志。

选项

  • false

  • true

pushIdSupport

布尔值

PushIdSupport 标志。

选项

  • false

  • true

sgaNotificationAndUpdates

字典

网络设备的 sgaNotificationAndUpdates。

coaSourceHost

字符串

网络设备的 coaSourceHost。

downlaodEnvironmentDataEveryXSeconds

整数

网络设备的 downlaodEnvironmentDataEveryXSeconds。

downlaodPeerAuthorizationPolicyEveryXSeconds

整数

网络设备的downloadPeerAuthorizationPolicyEveryXSeconds。

downloadSGACLListsEveryXSeconds

整数

网络设备的downloadSGACLListsEveryXSeconds。

otherSGADevicesToTrustThisDevice

布尔值

OtherSGADevicesToTrustThisDevice标志。

选项

  • false

  • true

reAuthenticationEveryXSeconds

整数

网络设备的reAuthenticationEveryXSeconds。

sendConfigurationToDevice

布尔值

SendConfigurationToDevice标志。

选项

  • false

  • true

sendConfigurationToDeviceUsing

字符串

允许值 - ENABLE_USING_COA, - ENABLE_USING_CLI, - DISABLE_ALL。

注释

注意

  • 使用的SDK方法为network_device.NetworkDevice.create_network_device, network_device.NetworkDevice.delete_network_device_by_id, network_device.NetworkDevice.delete_network_device_by_name, network_device.NetworkDevice.update_network_device_by_id, network_device.NetworkDevice.update_network_device_by_name,

  • 使用的路径为post /ers/config/networkdevice, delete /ers/config/networkdevice/name/{name}, delete /ers/config/networkdevice/{id}, put /ers/config/networkdevice/name/{name}, put /ers/config/networkdevice/{id},

  • 不支持check_mode

  • 该插件在控制节点上运行,不使用任何Ansible连接插件,而是使用Cisco ISE SDK的嵌入式连接管理器。

  • 以ise_开头的参数由Cisco ISE Python SDK用于建立连接。

示例

- name: Update by name
  cisco.ise.network_device:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    NetworkDeviceGroupList:
    - string
    NetworkDeviceIPList:
    - getIpaddressExclude: string
      ipaddress: string
      mask: 0
    authenticationSettings:
      dtlsRequired: true
      enableKeyWrap: true
      enableMultiSecret: string
      enabled: true
      keyEncryptionKey: string
      keyInputFormat: string
      messageAuthenticatorCodeKey: string
      networkProtocol: string
      radiusSharedSecret: string
      secondRadiusSharedSecret: string
    coaPort: 0
    description: string
    dtlsDnsName: string
    id: string
    modelName: string
    name: string
    profileName: string
    snmpsettings:
      linkTrapQuery: true
      macTrapQuery: true
      originatingPolicyServicesNode: string
      pollingInterval: 0
      roCommunity: string
      version: string
    softwareVersion: string
    tacacsSettings:
      connectModeOptions: string
      sharedSecret: string
    trustsecsettings:
      deviceAuthenticationSettings:
        sgaDeviceId: string
        sgaDevicePassword: string
      deviceConfigurationDeployment:
        enableModePassword: string
        execModePassword: string
        execModeUsername: string
        includeWhenDeployingSGTUpdates: true
      pushIdSupport: true
      sgaNotificationAndUpdates:
        coaSourceHost: string
        downlaodEnvironmentDataEveryXSeconds: 0
        downlaodPeerAuthorizationPolicyEveryXSeconds: 0
        downloadSGACLListsEveryXSeconds: 0
        otherSGADevicesToTrustThisDevice: true
        reAuthenticationEveryXSeconds: 0
        sendConfigurationToDevice: true
        sendConfigurationToDeviceUsing: string

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

- name: Update by id
  cisco.ise.network_device:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    NetworkDeviceGroupList:
    - string
    NetworkDeviceIPList:
    - getIpaddressExclude: string
      ipaddress: string
      mask: 0
    authenticationSettings:
      dtlsRequired: true
      enableKeyWrap: true
      enableMultiSecret: string
      enabled: true
      keyEncryptionKey: string
      keyInputFormat: string
      messageAuthenticatorCodeKey: string
      networkProtocol: string
      radiusSharedSecret: string
      secondRadiusSharedSecret: string
    coaPort: 0
    description: string
    dtlsDnsName: string
    id: string
    modelName: string
    name: string
    profileName: string
    snmpsettings:
      linkTrapQuery: true
      macTrapQuery: true
      originatingPolicyServicesNode: string
      pollingInterval: 0
      roCommunity: string
      version: string
    softwareVersion: string
    tacacsSettings:
      connectModeOptions: string
      sharedSecret: string
    trustsecsettings:
      deviceAuthenticationSettings:
        sgaDeviceId: string
        sgaDevicePassword: string
      deviceConfigurationDeployment:
        enableModePassword: string
        execModePassword: string
        execModeUsername: string
        includeWhenDeployingSGTUpdates: true
      pushIdSupport: true
      sgaNotificationAndUpdates:
        coaSourceHost: string
        downlaodEnvironmentDataEveryXSeconds: 0
        downlaodPeerAuthorizationPolicyEveryXSeconds: 0
        downloadSGACLListsEveryXSeconds: 0
        otherSGADevicesToTrustThisDevice: true
        reAuthenticationEveryXSeconds: 0
        sendConfigurationToDevice: true
        sendConfigurationToDeviceUsing: string

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

- name: Create
  cisco.ise.network_device:
    ise_hostname: "{{ise_hostname}}"
    ise_username: "{{ise_username}}"
    ise_password: "{{ise_password}}"
    ise_verify: "{{ise_verify}}"
    state: present
    NetworkDeviceGroupList:
    - string
    NetworkDeviceIPList:
    - getIpaddressExclude: string
      ipaddress: string
      mask: 0
    authenticationSettings:
      dtlsRequired: true
      enableKeyWrap: true
      enableMultiSecret: string
      enabled: true
      keyEncryptionKey: string
      keyInputFormat: string
      messageAuthenticatorCodeKey: string
      networkProtocol: string
      radiusSharedSecret: string
      secondRadiusSharedSecret: string
    coaPort: 0
    description: string
    dtlsDnsName: string
    modelName: string
    name: string
    profileName: string
    snmpsettings:
      linkTrapQuery: true
      macTrapQuery: true
      originatingPolicyServicesNode: string
      pollingInterval: 0
      roCommunity: string
      version: string
    softwareVersion: string
    tacacsSettings:
      connectModeOptions: string
      sharedSecret: string
    trustsecsettings:
      deviceAuthenticationSettings:
        sgaDeviceId: string
        sgaDevicePassword: string
      deviceConfigurationDeployment:
        enableModePassword: string
        execModePassword: string
        execModeUsername: string
        includeWhenDeployingSGTUpdates: true
      pushIdSupport: true
      sgaNotificationAndUpdates:
        coaSourceHost: string
        downlaodEnvironmentDataEveryXSeconds: 0
        downlaodPeerAuthorizationPolicyEveryXSeconds: 0
        downloadSGACLListsEveryXSeconds: 0
        otherSGADevicesToTrustThisDevice: true
        reAuthenticationEveryXSeconds: 0
        sendConfigurationToDevice: true
        sendConfigurationToDeviceUsing: string

返回值

常见的返回值已在此处记录,以下是此模块特有的字段。

描述

ise_response

字典

包含Cisco ISE Python SDK返回的响应的字典或列表。

返回:始终

示例:{"NetworkDeviceGroupList": ["string"], "NetworkDeviceIPList": [{"getIpaddressExclude": "string", "ipaddress": "string", "mask": 0}], "authenticationSettings": {"dtlsRequired": true, "enableKeyWrap": true, "enableMultiSecret": "string", "enabled": true, "keyEncryptionKey": "string", "keyInputFormat": "string", "messageAuthenticatorCodeKey": "string", "networkProtocol": "string", "radiusSharedSecret": "string", "secondRadiusSharedSecret": "string"}, "coaPort": 0, "description": "string", "dtlsDnsName": "string", "id": "string", "link": {"href": "string", "rel": "string", "type": "string"}, "modelName": "string", "name": "string", "profileName": "string", "snmpsettings": {"linkTrapQuery": true, "macTrapQuery": true, "originatingPolicyServicesNode": "string", "pollingInterval": 0, "roCommunity": "string", "version": "string"}, "softwareVersion": "string", "tacacsSettings": {"connectModeOptions": "string", "sharedSecret": "string"}, "trustsecsettings": {"deviceAuthenticationSettings": {"sgaDeviceId": "string", "sgaDevicePassword": "string"}, "deviceConfigurationDeployment": {"enableModePassword": "string", "execModePassword": "string", "execModeUsername": "string", "includeWhenDeployingSGTUpdates": true}, "pushIdSupport": true, "sgaNotificationAndUpdates": {"coaSourceHost": "string", "downlaodEnvironmentDataEveryXSeconds": 0, "downlaodPeerAuthorizationPolicyEveryXSeconds": 0, "downloadSGACLListsEveryXSeconds": 0, "otherSGADevicesToTrustThisDevice": true, "reAuthenticationEveryXSeconds": 0, "sendConfigurationToDevice": true, "sendConfigurationToDeviceUsing": "string"}}}

ise_update_response

字典

在 cisco.ise 1.1.0 中添加

包含Cisco ISE Python SDK返回的响应的字典或列表。

返回:始终

示例:{"UpdatedFieldsList": {"field": "string", "newValue": "string", "oldValue": "string", "updatedField": [{"field": "string", "newValue": "string", "oldValue": "string"}]}}

作者

  • Rafael Campos (@racampos)