544 lines
14 KiB
Python
544 lines
14 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# Copyright (c) 2021, Cisco Systems
|
|
# GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
DOCUMENTATION = r"""
|
|
---
|
|
module: node_deployment
|
|
short_description: Resource module for Node Deployment
|
|
description:
|
|
- Manage operations create, update and delete of the resource Node Deployment.
|
|
version_added: '1.0.0'
|
|
extends_documentation_fragment:
|
|
- cisco.ise.module
|
|
author: Rafael Campos (@racampos)
|
|
options:
|
|
administration:
|
|
description: Node Deployment's administration.
|
|
suboptions:
|
|
isEnabled:
|
|
description: IsEnabled flag.
|
|
type: bool
|
|
role:
|
|
description: Node Deployment's role.
|
|
type: str
|
|
type: dict
|
|
fdqn:
|
|
description: Node Deployment's fdqn.
|
|
type: str
|
|
generalSettings:
|
|
description: Node Deployment's generalSettings.
|
|
suboptions:
|
|
monitoring:
|
|
description: Node Deployment's monitoring.
|
|
suboptions:
|
|
enablePXGrid:
|
|
description: EnablePXGrid flag.
|
|
type: bool
|
|
isEnabled:
|
|
description: IsEnabled flag.
|
|
type: bool
|
|
isMntDedicated:
|
|
description: IsMntDedicated flag.
|
|
type: bool
|
|
otherMonitoringNode:
|
|
description: Node Deployment's otherMonitoringNode.
|
|
type: str
|
|
policyservice:
|
|
description: Node Deployment's policyservice.
|
|
suboptions:
|
|
enableDeviceAdminService:
|
|
description: EnableDeviceAdminService flag.
|
|
type: bool
|
|
enableNACService:
|
|
description: EnableNACService flag.
|
|
type: bool
|
|
enablePassiveIdentityService:
|
|
description: EnablePassiveIdentityService flag.
|
|
type: bool
|
|
enableProfilingService:
|
|
description: EnableProfilingService flag.
|
|
type: bool
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
sessionService:
|
|
description: Node Deployment's sessionService.
|
|
suboptions:
|
|
isEnabled:
|
|
description: IsEnabled flag.
|
|
type: bool
|
|
nodegroup:
|
|
description: Node Deployment's nodegroup.
|
|
type: str
|
|
type: dict
|
|
sxpservice:
|
|
description: Node Deployment's sxpservice.
|
|
suboptions:
|
|
isEnabled:
|
|
description: IsEnabled flag.
|
|
type: bool
|
|
userInterface:
|
|
description: Node Deployment's userInterface.
|
|
type: str
|
|
type: dict
|
|
type: dict
|
|
role:
|
|
description: Node Deployment's role.
|
|
type: str
|
|
type: dict
|
|
type: dict
|
|
hostname:
|
|
description: Hostname path parameter. Node name of the existing deployed node.
|
|
type: str
|
|
password:
|
|
description: Node Deployment's password.
|
|
type: str
|
|
profileConfiguration:
|
|
description: Node Deployment's profileConfiguration.
|
|
suboptions:
|
|
activeDirectory:
|
|
description: Node Deployment's activeDirectory.
|
|
suboptions:
|
|
daysBeforeRescan:
|
|
description: Node Deployment's daysBeforeRescan.
|
|
type: int
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
type: dict
|
|
dhcp:
|
|
description: Node Deployment's dhcp.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
interface:
|
|
description: Node Deployment's interface.
|
|
type: str
|
|
port:
|
|
description: Node Deployment's port.
|
|
type: int
|
|
type: dict
|
|
dhcpSpan:
|
|
description: Node Deployment's dhcpSpan.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
interface:
|
|
description: Node Deployment's interface.
|
|
type: str
|
|
type: dict
|
|
dns:
|
|
description: Node Deployment's dns.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
type: dict
|
|
http:
|
|
description: Node Deployment's http.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
interface:
|
|
description: Node Deployment's interface.
|
|
type: str
|
|
type: dict
|
|
netflow:
|
|
description: Node Deployment's netflow.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
interface:
|
|
description: Node Deployment's interface.
|
|
type: str
|
|
port:
|
|
description: Node Deployment's port.
|
|
type: int
|
|
type: dict
|
|
nmap:
|
|
description: Node Deployment's nmap.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
type: dict
|
|
pxgrid:
|
|
description: Node Deployment's pxgrid.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
type: dict
|
|
radius:
|
|
description: Node Deployment's radius.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
type: dict
|
|
snmpQuery:
|
|
description: Node Deployment's snmpQuery.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
enabled:
|
|
description: Enabled flag.
|
|
type: bool
|
|
eventTimeout:
|
|
description: Node Deployment's eventTimeout.
|
|
type: int
|
|
retries:
|
|
description: Node Deployment's retries.
|
|
type: int
|
|
timeout:
|
|
description: Node Deployment's timeout.
|
|
type: int
|
|
type: dict
|
|
snmpTrap:
|
|
description: Node Deployment's snmpTrap.
|
|
suboptions:
|
|
description:
|
|
description: Node Deployment's description.
|
|
type: str
|
|
interface:
|
|
description: Node Deployment's interface.
|
|
type: str
|
|
linkTrapQuery:
|
|
description: LinkTrapQuery flag.
|
|
type: bool
|
|
macTrapQuery:
|
|
description: MacTrapQuery flag.
|
|
type: bool
|
|
port:
|
|
description: Node Deployment's port.
|
|
type: int
|
|
type: dict
|
|
type: dict
|
|
userName:
|
|
description: Node Deployment's userName.
|
|
type: str
|
|
requirements:
|
|
- ciscoisesdk >= 1.1.0
|
|
- python >= 3.5
|
|
seealso:
|
|
# Reference by Internet resource
|
|
- name: Node Deployment reference
|
|
description: Complete reference of the Node Deployment object model.
|
|
link: https://ciscoisesdk.readthedocs.io/en/latest/api/api.html#v3-0-0-summary
|
|
"""
|
|
|
|
EXAMPLES = r"""
|
|
- name: Create
|
|
cisco.ise.node_deployment:
|
|
ise_hostname: "{{ise_hostname}}"
|
|
ise_username: "{{ise_username}}"
|
|
ise_password: "{{ise_password}}"
|
|
ise_verify: "{{ise_verify}}"
|
|
state: present
|
|
administration:
|
|
isEnabled: true
|
|
role: string
|
|
fdqn: string
|
|
generalSettings:
|
|
monitoring:
|
|
enablePXGrid: true
|
|
isEnabled: true
|
|
isMntDedicated: true
|
|
otherMonitoringNode: string
|
|
policyservice:
|
|
enableDeviceAdminService: true
|
|
enableNACService: true
|
|
enablePassiveIdentityService: true
|
|
enableProfilingService: true
|
|
enabled: true
|
|
sessionService:
|
|
isEnabled: true
|
|
nodegroup: string
|
|
sxpservice:
|
|
isEnabled: true
|
|
userInterface: string
|
|
role: string
|
|
password: string
|
|
profileConfiguration:
|
|
activeDirectory:
|
|
daysBeforeRescan: 0
|
|
description: string
|
|
enabled: true
|
|
dhcp:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
port: {}
|
|
dhcpSpan:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
dns:
|
|
description: string
|
|
enabled: true
|
|
http:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
netflow:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
port: {}
|
|
nmap:
|
|
description: string
|
|
enabled: true
|
|
pxgrid:
|
|
description: string
|
|
enabled: true
|
|
radius:
|
|
description: string
|
|
enabled: true
|
|
snmpQuery:
|
|
description: string
|
|
enabled: true
|
|
eventTimeout: 0
|
|
retries: 0
|
|
timeout: 0
|
|
snmpTrap:
|
|
description: string
|
|
interface: string
|
|
linkTrapQuery: true
|
|
macTrapQuery: true
|
|
port: {}
|
|
userName: string
|
|
|
|
- name: Update by name
|
|
cisco.ise.node_deployment:
|
|
ise_hostname: "{{ise_hostname}}"
|
|
ise_username: "{{ise_username}}"
|
|
ise_password: "{{ise_password}}"
|
|
ise_verify: "{{ise_verify}}"
|
|
state: present
|
|
generalSettings:
|
|
monitoring:
|
|
enablePXGrid: true
|
|
isEnabled: true
|
|
isMntDedicated: true
|
|
otherMonitoringNode: string
|
|
policyservice:
|
|
enableDeviceAdminService: true
|
|
enableNACService: true
|
|
enablePassiveIdentityService: true
|
|
enableProfilingService: true
|
|
enabled: true
|
|
sessionService:
|
|
isEnabled: true
|
|
nodegroup: string
|
|
sxpservice:
|
|
isEnabled: true
|
|
userInterface: string
|
|
role: string
|
|
hostname: string
|
|
profileConfiguration:
|
|
activeDirectory:
|
|
daysBeforeRescan: 0
|
|
description: string
|
|
enabled: true
|
|
dhcp:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
port: {}
|
|
dhcpSpan:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
dns:
|
|
description: string
|
|
enabled: true
|
|
http:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
netflow:
|
|
description: string
|
|
enabled: true
|
|
interface: string
|
|
port: {}
|
|
nmap:
|
|
description: string
|
|
enabled: true
|
|
pxgrid:
|
|
description: string
|
|
enabled: true
|
|
radius:
|
|
description: string
|
|
enabled: true
|
|
snmpQuery:
|
|
description: string
|
|
enabled: true
|
|
eventTimeout: 0
|
|
retries: 0
|
|
timeout: 0
|
|
snmpTrap:
|
|
description: string
|
|
interface: string
|
|
linkTrapQuery: true
|
|
macTrapQuery: true
|
|
port: {}
|
|
|
|
- name: Delete by name
|
|
cisco.ise.node_deployment:
|
|
ise_hostname: "{{ise_hostname}}"
|
|
ise_username: "{{ise_username}}"
|
|
ise_password: "{{ise_password}}"
|
|
ise_verify: "{{ise_verify}}"
|
|
state: absent
|
|
hostname: string
|
|
|
|
"""
|
|
|
|
RETURN = r"""
|
|
ise_response:
|
|
description: A dictionary or list with the response returned by the Cisco ISE Python SDK
|
|
returned: always
|
|
type: dict
|
|
sample: >
|
|
{
|
|
"hostname": "string",
|
|
"fqdn": "string",
|
|
"ipAddress": "string",
|
|
"nodeType": "string",
|
|
"administration": {
|
|
"isEnabled": true,
|
|
"role": "string"
|
|
},
|
|
"generalSettings": {
|
|
"monitoring": {
|
|
"isEnabled": true,
|
|
"role": "string",
|
|
"otherMonitoringNode": "string",
|
|
"isMntDedicated": true,
|
|
"policyservice": {
|
|
"enabled": true,
|
|
"sessionService": {
|
|
"isEnabled": true,
|
|
"nodegroup": "string"
|
|
},
|
|
"enableProfilingService": true,
|
|
"enableNACService": true,
|
|
"sxpservice": {
|
|
"isEnabled": true,
|
|
"userInterface": "string"
|
|
},
|
|
"enableDeviceAdminService": true,
|
|
"enablePassiveIdentityService": true
|
|
},
|
|
"enablePXGrid": true
|
|
}
|
|
},
|
|
"profilingConfiguration": {
|
|
"netflow": {
|
|
"enabled": true,
|
|
"interface": "string",
|
|
"port": {},
|
|
"description": "string"
|
|
},
|
|
"dhcp": {
|
|
"enabled": true,
|
|
"interface": "string",
|
|
"port": {},
|
|
"description": "string"
|
|
},
|
|
"dhcpSpan": {
|
|
"enabled": true,
|
|
"interface": "string",
|
|
"description": "string"
|
|
},
|
|
"http": {
|
|
"enabled": true,
|
|
"interface": "string",
|
|
"description": "string"
|
|
},
|
|
"radius": {
|
|
"enabled": true,
|
|
"description": "string"
|
|
},
|
|
"nmap": {
|
|
"enabled": true,
|
|
"description": "string"
|
|
},
|
|
"dns": {
|
|
"enabled": true,
|
|
"description": "string"
|
|
},
|
|
"snmpQuery": {
|
|
"enabled": true,
|
|
"description": "string",
|
|
"retries": 0,
|
|
"timeout": 0,
|
|
"eventTimeout": 0
|
|
},
|
|
"snmpTrap": {
|
|
"linkTrapQuery": true,
|
|
"macTrapQuery": true,
|
|
"interface": "string",
|
|
"port": {},
|
|
"description": "string"
|
|
},
|
|
"activeDirectory": {
|
|
"enabled": true,
|
|
"daysBeforeRescan": 0,
|
|
"description": "string"
|
|
},
|
|
"pxgrid": {
|
|
"enabled": true,
|
|
"description": "string"
|
|
}
|
|
}
|
|
}
|
|
|
|
ise_update_response:
|
|
description: A dictionary or list with the response returned by the Cisco ISE Python SDK
|
|
returned: always
|
|
version_added: "1.1.0"
|
|
type: dict
|
|
sample: >
|
|
{
|
|
"code": 0,
|
|
"message": "string",
|
|
"rootCause": "string"
|
|
}
|
|
"""
|