cisco.dnac.network_settings_intent module – Resource module for IP Address pools and network functions

Note

This module is part of the cisco.dnac collection (version 6.10.4).

To install it, use: ansible-galaxy collection install cisco.dnac. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.dnac.network_settings_intent.

New in cisco.dnac 6.6.0

Synopsis

  • Manage operations on Global Pool, Reserve Pool, Network resources.

  • API to create/update/delete global pool.

  • API to reserve/update/delete an ip subpool from the global pool.

  • API to update network settings for DHCP, Syslog, SNMP, NTP, Network AAA, Client and Endpoint AAA, and/or DNS center server settings.

Requirements

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

  • dnacentersdk == 2.4.5

  • python >= 3.5

Parameters

Parameter

Comments

config

list / elements=dictionary / required

List of details of global pool, reserved pool, network being managed.

global_pool_details

dictionary

Global ip pool manages IPv4 and IPv6 IP pools.

settings

dictionary

Global Pool’s settings.

ip_pool

list / elements=dictionary

Global Pool’s ippool.

cidr

string

Ip pool cidr.

dhcp_server_ips

list / elements=string

Dhcp Server Ips.

dns_server_ips

list / elements=string

Dns Server Ips.

gateway

string

Gateway.

ip_address_space

string

Ip address space.

name

string

Ip Pool Name.

prev_name

string

previous name.

network_management_details

dictionary

Set default network settings for the site

settings

dictionary

Network management details settings.

client_and_endpoint_aaa

dictionary

Network V2’s clientAndEndpoint_aaa.

ip_address

string

IP address for ISE serve (eg 1.1.1.4).

network

string

IP address for AAA or ISE server (eg 2.2.2.1).

protocol

string

Protocol for AAA or ISE serve (eg RADIUS).

servers

string

Server type AAA or ISE server (eg AAA).

shared_secret

string

Shared secret for ISE server.

dhcp_server

list / elements=string

DHCP Server IP (eg 1.1.1.1).

dns_server

dictionary

Network V2’s dnsServer.

domain_name

string

Domain Name of DHCP (eg; cisco).

primary_ip_address

string

Primary IP Address for DHCP (eg 2.2.2.2).

secondary_ip_address

string

Secondary IP Address for DHCP (eg 3.3.3.3).

message_of_the_day

dictionary

Network V2’s messageOfTheday.

banner_message

string

Massage for Banner message (eg; Good day).

retain_existing_banner

string

Retain existing Banner Message (eg “true” or “false”).

netflow_collector

dictionary

Network V2’s netflowcollector.

ip_address

string

IP Address for NetFlow collector (eg 3.3.3.1).

port

integer

Port for NetFlow Collector (eg; 443).

network_aaa

dictionary

Network V2’s network_aaa.

ip_address

string

IP address for AAA and ISE server (eg 1.1.1.1).

network

string

IP Address for AAA or ISE server (eg 2.2.2.2).

protocol

string

Protocol for AAA or ISE serve (eg RADIUS).

servers

string

Server type for AAA Network (eg AAA).

shared_secret

string

Shared secret for ISE Server.

ntp_server

list / elements=string

IP address for NTP server (eg 1.1.1.2).

snmp_server

dictionary

Network V2’s snmpServer.

configure_dnac_ip

boolean

Configuration Cisco DNA Center IP for SNMP Server (eg true).

Choices:

ip_addresses

list / elements=string

IP Address for SNMP Server (eg 4.4.4.1).

syslog_server

dictionary

Network V2’s syslogServer.

configure_dnac_ip

boolean

Configuration Cisco DNA Center IP for syslog server (eg true).

Choices:

ip_addresses

list / elements=string

IP Address for syslog server (eg 4.4.4.4).

timezone

string

Input for time zone (eg Africa/Abidjan).

site_name

string

Site name path parameter.

reserve_pool_details

dictionary

Reserving IP subpool from the global pool

ipv4_dns_servers

list / elements=string

IPv4 input for dns server ip example 4.4.4.4.

ipv4_global_pool

string

IP v4 Global pool address with cidr, example 175.175.0.0/16.

ipv4_prefix

boolean

ip4 prefix length is enabled or ipv4 total Host input is enabled

Choices:

ipv4_prefix_length

integer

The ipv4 prefix length is required when ipv4_prefix value is true.

ipv4_subnet

string

IPv4 Subnet address, example 175.175.0.0.

ipv4DhcpServers

list / elements=string

IPv4 input for dhcp server ip example 1.1.1.1.

ipv4GateWay

string

added in cisco.dnac 4.0.0

Gateway ip address details, example 175.175.0.1.

ipv4TotalHost

integer

IPv4 total host is required when ipv4_prefix value is false.

ipv6_address_space

boolean

If the value is false only ipv4 input are required, otherwise both ipv6 and ipv4 are required.

Choices:

ipv6_global_pool

string

IPv6 Global pool address with cidr this is required when ipv6_address_space value is true, example 2001 db8 85a3 /64.

ipv6_prefix

boolean

Ipv6 prefix value is true, the ip6 prefix length input field is enabled, if it is false ipv6 total Host input is enable.

Choices:

ipv6_prefix_length

integer

IPv6 prefix length is required when the ipv6_prefix value is true.

ipv6_subnet

string

IPv6 Subnet address, example 2001 db8 85a3 0 100.

ipv6DhcpServers

list / elements=string

IPv6 format dhcp server as input example 2001 db8 1234.

ipv6DnsServers

list / elements=string

IPv6 format dns server input example 2001 db8 1234.

ipv6GateWay

string

Gateway ip address details, example 2001 db8 85a3 0 100 1.

ipv6TotalHost

integer

IPv6 total host is required when ipv6_prefix value is false.

name

string

Name of the reserve ip sub pool.

prev_name

string

Previous name of the reserve ip sub pool.

site_name

string

Site name path parameter. Site name to reserve the ip sub pool.

slaac_support

boolean

type

string

Type of the reserve ip sub pool.

config_verify

boolean

Set to True to verify the Cisco DNA Center after applying the playbook config.

Choices:

dnac_debug

boolean

Flag for Cisco DNA Center SDK to enable debugging.

Choices:

dnac_host

string / required

The Cisco DNA Center hostname.

dnac_log

boolean

Flag to enable/disable playbook execution logging.

When true and dnac_log_file_path is provided, - Create the log file at the execution location with the specified name.

When true and dnac_log_file_path is not provided, - Create the log file at the execution location with the name ‘dnac.log’.

When false, - Logging is disabled.

If the log file doesn’t exist, - It is created in append or write mode based on the “dnac_log_append” flag.

If the log file exists, - It is overwritten or appended based on the “dnac_log_append” flag.

Choices:

dnac_log_append

boolean

Determines the mode of the file. Set to True for ‘append’ mode. Set to False for ‘write’ mode.

Choices:

dnac_log_file_path

string

Governs logging. Logs are recorded if dnac_log is True.

If path is not specified, - When ‘dnac_log_append’ is True, ‘dnac.log’ is generated in the current Ansible directory; logs are appended. - When ‘dnac_log_append’ is False, ‘dnac.log’ is generated; logs are overwritten.

If path is specified, - When ‘dnac_log_append’ is True, the file opens in append mode. - When ‘dnac_log_append’ is False, the file opens in write (w) mode. - In shared file scenarios, without append mode, content is overwritten after each module execution. - For a shared log file, set append to False for the 1st module (to overwrite); for subsequent modules, set append to True.

Default: :ansible-option-default:`"dnac.log"`

dnac_log_level

string

Sets the threshold for log level. Messages with a level equal to or higher than this will be logged. Levels are listed in order of severity [CRITICAL, ERROR, WARNING, INFO, DEBUG].

CRITICAL indicates serious errors halting the program. Displays only CRITICAL messages.

ERROR indicates problems preventing a function. Displays ERROR and CRITICAL messages.

WARNING indicates potential future issues. Displays WARNING, ERROR, CRITICAL messages.

INFO tracks normal operation. Displays INFO, WARNING, ERROR, CRITICAL messages.

DEBUG provides detailed diagnostic info. Displays all log messages.

Default: :ansible-option-default:`"WARNING"`

dnac_password

string

The Cisco DNA Center password to authenticate.

dnac_port

string

The Cisco DNA Center port.

Default: :ansible-option-default:`"443"`

dnac_username

aliases: user

string

The Cisco DNA Center username to authenticate.

Default: :ansible-option-default:`"admin"`

dnac_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

dnac_version

string

Informs the SDK which version of Cisco DNA Center to use.

Default: :ansible-option-default:`"2.2.3.3"`

state

string

The state of Cisco DNA Center after module completion.

Choices:

validate_response_schema

boolean

Flag for Cisco DNA Center SDK to enable the validation of request bodies against a JSON schema.

Choices:

Notes

Note

  • SDK Method used are network_settings.NetworkSettings.create_global_pool, network_settings.NetworkSettings.delete_global_ip_pool, network_settings.NetworkSettings.update_global_pool, network_settings.NetworkSettings.release_reserve_ip_subpool, network_settings.NetworkSettings.reserve_ip_subpool, network_settings.NetworkSettings.update_reserve_ip_subpool, network_settings.NetworkSettings.update_network_v2,

  • Paths used are post /dna/intent/api/v1/global-pool, delete /dna/intent/api/v1/global-pool/{id}, put /dna/intent/api/v1/global-pool, post /dna/intent/api/v1/reserve-ip-subpool/{siteId}, delete /dna/intent/api/v1/reserve-ip-subpool/{id}, put /dna/intent/api/v1/reserve-ip-subpool/{siteId}, put /dna/intent/api/v2/network/{siteId},

  • 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 DNAC SDK

  • The parameters starting with dnac_ are used by the Cisco DNAC Python SDK to establish the connection

Examples

- name: Create global pool, reserve an ip pool and network
  cisco.dnac.network_settings_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - global_pool_details:
        settings:
          ip_pool:
          - name: string
            gateway: string
            ip_address_space: string
            cidr: string
            type: Generic
            dhcp_server_ips: list
            dns_server_ips: list
      reserve_pool_details:
        ipv6_address_space: True
        ipv4_global_pool: string
        ipv4_prefix: True
        ipv4_prefix_length: 9
        ipv4_subnet: string
        name: string
        ipv6_prefix: True
        ipv6_prefix_length: 64
        ipv6_global_pool: string
        ipv6_subnet: string
        site_name: string
        slaac_support: True
        type: LAN
      network_management_details:
        settings:
          dhcp_server: list
          dns_server:
            domain_name: string
            primary_ip_address: string
            secondary_ip_address: string
          client_and_endpoint_aaa:
            network: string
            protocol: string
            servers: string
          message_of_the_day:
            banner_message: string
            retain_existing_banner: string
          netflow_collector:
            ip_address: string
            port: 443
          network_aaa:
            network: string
            protocol: string
            servers: string
          ntp_server: list
          snmp_server:
            configure_dnac_ip: True
            ip_addresses: list
          syslog_server:
            configure_dnac_ip: True
            ip_addresses: list
        site_name: string

Return Values

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

Key

Description

response_1

dictionary

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

Returned: always

Sample: :ansible-rv-sample-value:`{"executionId": "string", "executionStatusUrl": "string", "message": "string"}`

response_2

dictionary

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

Returned: always

Sample: :ansible-rv-sample-value:`{"executionId": "string", "executionStatusUrl": "string", "message": "string"}`

response_3

dictionary

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

Returned: always

Sample: :ansible-rv-sample-value:`{"executionId": "string", "executionStatusUrl": "string", "message": "string"}`

Authors

  • Muthu Rakesh (@MUTHU-RAKESH-27) Madhan Sankaranarayanan (@madhansansel)