cisco.dnac.network_settings_intent (6.13.3) — module

Resource module for IP Address pools and network functions

| "added in version" 6.6.0 of cisco.dnac"

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

Install collection

Install with ansible-galaxy collection install cisco.dnac:==6.13.3


Add to requirements.yml

  collections:
    - name: cisco.dnac
      version: 6.13.3

Description

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
            pool_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
        pool_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

Inputs

    
state:
    choices:
    - merged
    - deleted
    default: merged
    description: The state of Cisco Catalyst Center after module completion.
    type: str

config:
    description:
    - List of details of global pool, reserved pool, network being managed.
    elements: dict
    required: true
    suboptions:
      global_pool_details:
        description: Manages IPv4 and IPv6 IP pools in the global level.
        suboptions:
          settings:
            description: Global Pool's settings.
            suboptions:
              ip_pool:
                description: Contains a list of global IP pool configurations.
                elements: dict
                suboptions:
                  cidr:
                    description: 'Defines the IP pool''s Classless Inter-Domain Routing
                      block, enabling systematic IP address distribution within a network.

                      '
                    type: str
                  dhcp_server_ips:
                    description: 'The DHCP server IPs responsible for automatically assigning
                      IP addresses and network configuration parameters to devices on
                      a local network.

                      '
                    elements: str
                    type: list
                  dns_server_ips:
                    description: Responsible for translating domain names into corresponding
                      IP addresses.
                    elements: str
                    type: list
                  gateway:
                    description: Serves as an entry or exit point for data traffic between
                      networks.
                    type: str
                  ip_address_space:
                    description: IP address space either IPv4 or IPv6.
                    type: str
                  name:
                    description: Specifies the name assigned to the Global IP Pool.
                    type: str
                  pool_type:
                    choices:
                    - Generic
                    - Tunnel
                    default: Generic
                    description: "Includes both the Generic Ip Pool and Tunnel Ip Pool.\
                      \ Generic - Used for general purpose within the network such as\
                      \ device\n          management or communication between the network\
                      \ devices.\nTunnel - Designated for the tunnel interfaces to encapsulate\
                      \ packets\n         within the network protocol. It is used in VPN\
                      \ connections,\n         GRE tunnels, or other types of overlay\
                      \ networks.\n"
                    type: str
                  prev_name:
                    description: 'The former identifier for the global pool. It should
                      be used exclusively when you need to update the global pool''s name.

                      '
                    type: str
                type: list
            type: dict
        type: dict
      network_management_details:
        description: Set default network settings for the site
        suboptions:
          settings:
            description: Network management details settings.
            suboptions:
              client_and_endpoint_aaa:
                description: Network V2's clientAndEndpoint_aaa.
                suboptions:
                  ip_address:
                    description: IP address for ISE serve (eg 1.1.1.4).
                    type: str
                  network:
                    description: IP address for AAA or ISE server (eg 2.2.2.1).
                    type: str
                  protocol:
                    description: Protocol for AAA or ISE serve (eg RADIUS).
                    type: str
                  servers:
                    description: Server type AAA or ISE server (eg AAA).
                    type: str
                  shared_secret:
                    description: Shared secret for ISE server.
                    type: str
                type: dict
              dhcp_server:
                description: DHCP Server IP (eg 1.1.1.1).
                elements: str
                type: list
              dns_server:
                description: Network V2's dnsServer.
                suboptions:
                  domain_name:
                    description: Domain Name of DHCP (eg; cisco).
                    type: str
                  primary_ip_address:
                    description: Primary IP Address for DHCP (eg 2.2.2.2).
                    type: str
                  secondary_ip_address:
                    description: Secondary IP Address for DHCP (eg 3.3.3.3).
                    type: str
                type: dict
              message_of_the_day:
                description: Network V2's messageOfTheday.
                suboptions:
                  banner_message:
                    description: Massage for Banner message (eg; Good day).
                    type: str
                  retain_existing_banner:
                    description: Retain existing Banner Message (eg "true" or "false").
                    type: str
                type: dict
              netflow_collector:
                description: Network V2's netflowcollector.
                suboptions:
                  ip_address:
                    description: IP Address for NetFlow collector (eg 3.3.3.1).
                    type: str
                  port:
                    description: Port for NetFlow Collector (eg; 443).
                    type: int
                type: dict
              network_aaa:
                description: Network V2's network_aaa.
                suboptions:
                  ip_address:
                    description: IP address for AAA and ISE server (eg 1.1.1.1).
                    type: str
                  network:
                    description: IP Address for AAA or ISE server (eg 2.2.2.2).
                    type: str
                  protocol:
                    description: Protocol for AAA or ISE serve (eg RADIUS).
                    type: str
                  servers:
                    description: Server type for AAA Network (eg AAA).
                    type: str
                  shared_secret:
                    description: Shared secret for ISE Server.
                    type: str
                type: dict
              ntp_server:
                description: IP address for NTP server (eg 1.1.1.2).
                elements: str
                type: list
              snmp_server:
                description: Network V2's snmpServer.
                suboptions:
                  configure_dnac_ip:
                    description: Configuration Cisco Catalyst Center IP for SNMP Server
                      (eg true).
                    type: bool
                  ip_addresses:
                    description: IP Address for SNMP Server (eg 4.4.4.1).
                    elements: str
                    type: list
                type: dict
              syslog_server:
                description: Network V2's syslogServer.
                suboptions:
                  configure_dnac_ip:
                    description: Configuration Cisco Catalyst Center IP for syslog server
                      (eg true).
                    type: bool
                  ip_addresses:
                    description: IP Address for syslog server (eg 4.4.4.4).
                    elements: str
                    type: list
                type: dict
              timezone:
                description: Input for time zone (eg Africa/Abidjan).
                type: str
            type: dict
          site_name:
            description: 'The name of the site provided as a path parameter, used to specify
              where the IP sub-pool will be reserved.

              '
            type: str
        type: dict
      reserve_pool_details:
        description: Reserved IP subpool details from the global pool.
        suboptions:
          ipv4_dhcp_servers:
            description: Specifies the IPv4 addresses for DHCP servers, for example, "1.1.1.1".
            elements: str
            type: list
          ipv4_dns_servers:
            description: Specifies the IPv4 addresses for DNS servers, for example, "4.4.4.4".
            elements: str
            type: list
          ipv4_gateway:
            description: Provides the gateway's IPv4 address, for example, "175.175.0.1".
            type: str
            version_added: 4.0.0
            version_added_collection: cisco.dnac
          ipv4_global_pool:
            description: IP v4 Global pool address with cidr, example 175.175.0.0/16.
            type: str
          ipv4_prefix:
            description: ip4 prefix length is enabled or ipv4 total Host input is enabled
            type: bool
          ipv4_prefix_length:
            description: The ipv4 prefix length is required when ipv4_prefix value is
              true.
            type: int
          ipv4_subnet:
            description: Indicates the IPv4 subnet address, for example, "175.175.0.0".
            type: str
          ipv4_total_host:
            description: The total number of hosts for IPv4, required when the 'ipv4_prefix'
              is set to false.
            type: int
          ipv6_address_space:
            description: 'Determines whether both IPv6 and IPv4 inputs are required. If
              set to false, only IPv4 inputs are required. If set to true, both IPv6 and
              IPv4 inputs are required.

              '
            type: bool
          ipv6_dhcp_servers:
            description: 'Specifies the IPv6 addresses for DHCP servers in the format.
              For example, "2001:0db8:0123:4567:89ab:cdef:0001:0001".

              '
            elements: str
            type: list
          ipv6_dns_servers:
            description: 'Specifies the IPv6 addresses for DNS servers. For example, "2001:0db8:0123:4567:89ab:cdef:0002:0002".

              '
            elements: str
            type: list
          ipv6_gateway:
            description: 'Provides the gateway''s IPv6 address. For example, "2001:0db8:0123:4567:89ab:cdef:0003:0003".

              '
            type: str
          ipv6_global_pool:
            description: 'IPv6 Global pool address with cidr this is required when ipv6_address_space
              value is true, example 2001 db8 85a3 /64.

              '
            type: str
          ipv6_prefix:
            description: 'Ipv6 prefix value is true, the ip6 prefix length input field
              is enabled, if it is false ipv6 total Host input is enable.

              '
            type: bool
          ipv6_prefix_length:
            description: IPv6 prefix length is required when the ipv6_prefix value is
              true.
            type: int
          ipv6_subnet:
            description: IPv6 Subnet address, example 2001 db8 85a3 0 100.
            type: str
          ipv6_total_host:
            description: The total number of hosts for IPv6 is required if the 'ipv6_prefix'
              is set to false.
            type: int
          name:
            description: Name of the reserve IP subpool.
            type: str
          pool_type:
            choices:
            - Generic
            - LAN
            - Management
            - Service
            - WAN
            default: Generic
            description: Type of the reserve ip sub pool. Generic - Used for general purpose
              within the network such as device management or communication between the
              network devices. LAN - Used for the devices and the resources within the
              Local Area Network such as device connectivity, internal communication,
              or services. Management - Used for the management purposes such as device
              management interfaces, management access, or other administrative functions.
              Service - Used for the network services and application such as DNS (Domain
              Name System), DHCP (Dynamic Host Configuration Protocol), NTP (Network Time
              Protocol). WAN - Used for the devices and resources with the Wide Area Network
              such as remote sites interconnection with other network or services hosted
              within WAN.
            type: str
          prev_name:
            description: The former name associated with the reserved IP sub-pool.
            type: str
          site_name:
            description: 'The name of the site provided as a path parameter, used to specify
              where the IP sub-pool will be reserved.

              '
            type: str
          slaac_support:
            description: 'Allows devices on IPv6 networks to self-configure their IP addresses
              autonomously, eliminating the need for manual setup.

              '
            type: bool
        type: dict
    type: list

dnac_log:
    default: false
    description:
    - 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.
    type: bool

dnac_host:
    description:
    - The Cisco DNA Center hostname.
    required: true
    type: str

dnac_port:
    default: '443'
    description:
    - The Cisco DNA Center port.
    type: str

dnac_debug:
    default: false
    description:
    - Flag for Cisco DNA Center SDK to enable debugging.
    type: bool

dnac_verify:
    default: true
    description:
    - Flag to enable or disable SSL certificate verification.
    type: bool

dnac_version:
    default: 2.2.3.3
    description:
    - Informs the SDK which version of Cisco DNA Center to use.
    type: str

config_verify:
    default: false
    description: Set to True to verify the Cisco Catalyst Center after applying the playbook
      config.
    type: bool

dnac_password:
    description:
    - The Cisco DNA Center password to authenticate.
    type: str

dnac_username:
    aliases:
    - user
    default: admin
    description:
    - The Cisco DNA Center username to authenticate.
    type: str

dnac_log_level:
    default: WARNING
    description:
    - 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.
    type: str

dnac_log_append:
    default: true
    description: Determines the mode of the file. Set to True for 'append' mode. Set to
      False for 'write' mode.
    type: bool

dnac_log_file_path:
    default: dnac.log
    description:
    - 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.
    type: str

dnac_api_task_timeout:
    default: 1200
    description: Defines the timeout in seconds for API calls to retrieve task details.
      If the task details are not received within this period, the process will end, and
      a timeout notification will be logged.
    type: int

dnac_task_poll_interval:
    default: 2
    description: Specifies the interval in seconds between successive calls to the API
      to retrieve task details.
    type: int

validate_response_schema:
    default: true
    description:
    - Flag for Cisco DNA Center SDK to enable the validation of request bodies against
      a JSON schema.
    type: bool

Outputs

response_1:
  description: A dictionary or list with the response returned by the Cisco DNA Center
    Python SDK
  returned: always
  sample: "{\n  \"executionId\": \"string\",\n  \"executionStatusUrl\": \"string\"\
    ,\n  \"message\": \"string\"\n}\n"
  type: dict
response_2:
  description: A dictionary or list with the response returned by the Cisco DNA Center
    Python SDK
  returned: always
  sample: "{\n  \"executionId\": \"string\",\n  \"executionStatusUrl\": \"string\"\
    ,\n  \"message\": \"string\"\n}\n"
  type: dict
response_3:
  description: A dictionary or list with the response returned by the Cisco DNA Center
    Python SDK
  returned: always
  sample: "{\n  \"executionId\": \"string\",\n  \"executionStatusUrl\": \"string\"\
    ,\n  \"message\": \"string\"\n}\n"
  type: dict