On this page
fortinet.fortimanager.fmgr_system_dhcp_server – Configure DHCP servers.
Note
This plugin is part of the fortinet.fortimanager collection (version 2.1.3).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install fortinet.fortimanager.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_system_dhcp_server.
New in version 2.10: of fortinet.fortimanager
Synopsis
- This module is able to configure a FortiManager device.
 - Examples include all parameters and values which need to be adjusted to data sources before usage.
 
Parameters
| Parameter | Choices/Defaults | Comments | ||
|---|---|---|---|---|
| adom
        
        string / required
         | 
      
        
        the parameter (adom) in requested url
         | 
     |||
| bypass_validation
        
        boolean
         | 
      
       
  | 
      
        
        only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters
         | 
     ||
| enable_log
        
        boolean
         | 
      
       
  | 
      
        
        Enable/Disable logging for task
         | 
     ||
| proposed_method
        
        string
         | 
      
       
  | 
      
        
        The overridden method for the underlying Json RPC request
         | 
     ||
| rc_failed
        
        list / elements=string
         | 
      
        
        the rc codes list with which the conditions to fail will be overriden
         | 
     |||
| rc_succeeded
        
        list / elements=string
         | 
      
        
        the rc codes list with which the conditions to succeed will be overriden
         | 
     |||
| state
        
        string / required
         | 
      
       
  | 
      
        
        the directive to create, update or delete an object
         | 
     ||
| system_dhcp_server
        
        dictionary
         | 
      
        
        the top level parameters set
         | 
     |||
| auto-configuration
        
        string
         | 
      
       
  | 
      
        
        Enable/disable auto configuration.
         | 
     ||
| auto-managed-status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable use of this DHCP server once this interface has been assigned an IP address from FortiIPAM.
         | 
     ||
| conflicted-ip-timeout
        
        integer
         | 
      
        
        Time in seconds to wait after a conflicted IP address is removed from the DHCP range before it can be reused.
         | 
     |||
| ddns-auth
        
        string
         | 
      
       
  | 
      
        
        DDNS authentication mode.
         | 
     ||
| ddns-key
        
        string
         | 
      
        
        DDNS update key (base 64 encoding).
         | 
     |||
| ddns-keyname
        
        string
         | 
      
        
        DDNS update key name.
         | 
     |||
| ddns-server-ip
        
        string
         | 
      
        
        DDNS server IP.
         | 
     |||
| ddns-ttl
        
        integer
         | 
      
        
        TTL.
         | 
     |||
| ddns-update
        
        string
         | 
      
       
  | 
      
        
        Enable/disable DDNS update for DHCP.
         | 
     ||
| ddns-update-override
        
        string
         | 
      
       
  | 
      
        
        Enable/disable DDNS update override for DHCP.
         | 
     ||
| ddns-zone
        
        string
         | 
      
        
        Zone of your domain name (ex. DDNS.com).
         | 
     |||
| default-gateway
        
        string
         | 
      
        
        Default gateway IP address assigned by the DHCP server.
         | 
     |||
| dhcp-settings-from-fortiipam
        
        string
         | 
      
       
  | 
      
        
        Enable/disable populating of DHCP server settings from FortiIPAM.
         | 
     ||
| dns-server1
        
        string
         | 
      
        
        DNS server 1.
         | 
     |||
| dns-server2
        
        string
         | 
      
        
        DNS server 2.
         | 
     |||
| dns-server3
        
        string
         | 
      
        
        DNS server 3.
         | 
     |||
| dns-server4
        
        string
         | 
      
        
        DNS server 4.
         | 
     |||
| dns-service
        
        string
         | 
      
       
  | 
      
        
        Options for assigning DNS servers to DHCP clients.
         | 
     ||
| domain
        
        string
         | 
      
        
        Domain name suffix for the IP addresses that the DHCP server assigns to clients.
         | 
     |||
| exclude-range
        
        list / elements=string
         | 
      
        
        no description
         | 
     |||
| end-ip
        
        string
         | 
      
        
        End of IP range.
         | 
     |||
| id
        
        integer
         | 
      
        
        ID.
         | 
     |||
| start-ip
        
        string
         | 
      
        
        Start of IP range.
         | 
     |||
| filename
        
        string
         | 
      
        
        Name of the boot file on the TFTP server.
         | 
     |||
| forticlient-on-net-status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable FortiClient-On-Net service for this DHCP server.
         | 
     ||
| id
        
        integer
         | 
      
        
        ID.
         | 
     |||
| interface
        
        string
         | 
      
        
        DHCP server can assign IP configurations to clients connected to this interface.
         | 
     |||
| ip-mode
        
        string
         | 
      
       
  | 
      
        
        Method used to assign client IP.
         | 
     ||
| ip-range
        
        list / elements=string
         | 
      
        
        no description
         | 
     |||
| end-ip
        
        string
         | 
      
        
        End of IP range.
         | 
     |||
| id
        
        integer
         | 
      
        
        ID.
         | 
     |||
| start-ip
        
        string
         | 
      
        
        Start of IP range.
         | 
     |||
| ipsec-lease-hold
        
        integer
         | 
      
        
        DHCP over IPsec leases expire this many seconds after tunnel down (0 to disable forced-expiry).
         | 
     |||
| lease-time
        
        integer
         | 
      
        
        Lease time in seconds, 0 means unlimited.
         | 
     |||
| mac-acl-default-action
        
        string
         | 
      
       
  | 
      
        
        MAC access control default action (allow or block assigning IP settings).
         | 
     ||
| netmask
        
        string
         | 
      
        
        Netmask assigned by the DHCP server.
         | 
     |||
| next-server
        
        string
         | 
      
        
        IP address of a server (for example, a TFTP sever) that DHCP clients can download a boot file from.
         | 
     |||
| ntp-server1
        
        string
         | 
      
        
        NTP server 1.
         | 
     |||
| ntp-server2
        
        string
         | 
      
        
        NTP server 2.
         | 
     |||
| ntp-server3
        
        string
         | 
      
        
        NTP server 3.
         | 
     |||
| ntp-service
        
        string
         | 
      
       
  | 
      
        
        Options for assigning Network Time Protocol (NTP) servers to DHCP clients.
         | 
     ||
| options
        
        list / elements=string
         | 
      
        
        no description
         | 
     |||
| code
        
        integer
         | 
      
        
        DHCP option code.
         | 
     |||
| id
        
        integer
         | 
      
        
        ID.
         | 
     |||
| ip
        
        string
         | 
      
        
        no description
         | 
     |||
| type
        
        string
         | 
      
       
  | 
      
        
        DHCP option type.
         | 
     ||
| value
        
        string
         | 
      
        
        DHCP option value.
         | 
     |||
| reserved-address
        
        list / elements=string
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Options for the DHCP server to configure the client with the reserved MAC address.
         | 
     ||
| circuit-id
        
        string
         | 
      
        
        Option 82 circuit-ID of the client that will get the reserved IP address.
         | 
     |||
| circuit-id-type
        
        string
         | 
      
       
  | 
      
        
        DHCP option type.
         | 
     ||
| description
        
        string
         | 
      
        
        Description.
         | 
     |||
| id
        
        integer
         | 
      
        
        ID.
         | 
     |||
| ip
        
        string
         | 
      
        
        IP address to be reserved for the MAC address.
         | 
     |||
| mac
        
        string
         | 
      
        
        MAC address of the client that will get the reserved IP address.
         | 
     |||
| remote-id
        
        string
         | 
      
        
        Option 82 remote-ID of the client that will get the reserved IP address.
         | 
     |||
| remote-id-type
        
        string
         | 
      
       
  | 
      
        
        DHCP option type.
         | 
     ||
| type
        
        string
         | 
      
       
  | 
      
        
        DHCP reserved-address type.
         | 
     ||
| server-type
        
        string
         | 
      
       
  | 
      
        
        DHCP server can be a normal DHCP server or an IPsec DHCP server.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable this DHCP configuration.
         | 
     ||
| tftp-server
        
        string
         | 
      
        
        no description
         | 
     |||
| timezone
        
        string
         | 
      
       
  | 
      
        
        Select the time zone to be assigned to DHCP clients.
         | 
     ||
| timezone-option
        
        string
         | 
      
       
  | 
      
        
        Options for the DHCP server to set the clients time zone.
         | 
     ||
| vci-match
        
        string
         | 
      
       
  | 
      
        
        Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served.
         | 
     ||
| vci-string
        
        string
         | 
      
        
        no description
         | 
     |||
| wifi-ac-service
        
        string
         | 
      
       
  | 
      
        
        Options for assigning WiFi Access Controllers to DHCP clients
         | 
     ||
| wifi-ac1
        
        string
         | 
      
        
        WiFi Access Controller 1 IP address (DHCP option 138, RFC 5417).
         | 
     |||
| wifi-ac2
        
        string
         | 
      
        
        WiFi Access Controller 2 IP address (DHCP option 138, RFC 5417).
         | 
     |||
| wifi-ac3
        
        string
         | 
      
        
        WiFi Access Controller 3 IP address (DHCP option 138, RFC 5417).
         | 
     |||
| wins-server1
        
        string
         | 
      
        
        WINS server 1.
         | 
     |||
| wins-server2
        
        string
         | 
      
        
        WINS server 2.
         | 
     |||
| workspace_locking_adom
        
        string
         | 
      
        
        the adom to lock for FortiManager running in workspace mode, the value can be global and others including root
         | 
     |||
| workspace_locking_timeout
        
        integer
         | 
      Default: 
        300
         | 
      
        
        the maximum time in seconds to wait for other user to release the workspace lock
         | 
     ||
Notes
Note
- Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.
 - To create or update an object, use state present directive.
 - To delete an object, use state absent directive.
 - Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded
 
Examples
- hosts: fortimanager-inventory
  collections:
    - fortinet.fortimanager
  connection: httpapi
  vars:
     ansible_httpapi_use_ssl: True
     ansible_httpapi_validate_certs: False
     ansible_httpapi_port: 443
  tasks:
   - name: Configure DHCP servers.
     fmgr_system_dhcp_server:
        bypass_validation: False
        workspace_locking_adom: <value in [global, custom adom including root]>
        workspace_locking_timeout: 300
        rc_succeeded: [0, -2, -3, ...]
        rc_failed: [-2, -3, ...]
        adom: <your own value>
        state: <value in [present, absent]>
        system_dhcp_server:
           auto-configuration: <value in [disable, enable]>
           conflicted-ip-timeout: <value of integer>
           ddns-auth: <value in [disable, tsig]>
           ddns-key: <value of string>
           ddns-keyname: <value of string>
           ddns-server-ip: <value of string>
           ddns-ttl: <value of integer>
           ddns-update: <value in [disable, enable]>
           ddns-update-override: <value in [disable, enable]>
           ddns-zone: <value of string>
           default-gateway: <value of string>
           dns-server1: <value of string>
           dns-server2: <value of string>
           dns-server3: <value of string>
           dns-service: <value in [default, specify, local]>
           domain: <value of string>
           exclude-range:
             -
                 end-ip: <value of string>
                 id: <value of integer>
                 start-ip: <value of string>
           filename: <value of string>
           forticlient-on-net-status: <value in [disable, enable]>
           id: <value of integer>
           interface: <value of string>
           ip-mode: <value in [range, usrgrp]>
           ip-range:
             -
                 end-ip: <value of string>
                 id: <value of integer>
                 start-ip: <value of string>
           ipsec-lease-hold: <value of integer>
           lease-time: <value of integer>
           mac-acl-default-action: <value in [assign, block]>
           netmask: <value of string>
           next-server: <value of string>
           ntp-server1: <value of string>
           ntp-server2: <value of string>
           ntp-server3: <value of string>
           ntp-service: <value in [default, specify, local]>
           options:
             -
                 code: <value of integer>
                 id: <value of integer>
                 ip: <value of string>
                 type: <value in [hex, string, ip, ...]>
                 value: <value of string>
           reserved-address:
             -
                 action: <value in [assign, block, reserved]>
                 description: <value of string>
                 id: <value of integer>
                 ip: <value of string>
                 mac: <value of string>
                 circuit-id: <value of string>
                 circuit-id-type: <value in [hex, string]>
                 remote-id: <value of string>
                 remote-id-type: <value in [hex, string]>
                 type: <value in [mac, option82]>
           server-type: <value in [regular, ipsec]>
           status: <value in [disable, enable]>
           tftp-server: <value of string>
           timezone: <value in [00, 01, 02, ...]>
           timezone-option: <value in [disable, default, specify]>
           vci-match: <value in [disable, enable]>
           vci-string: <value of string>
           wifi-ac1: <value of string>
           wifi-ac2: <value of string>
           wifi-ac3: <value of string>
           wins-server1: <value of string>
           wins-server2: <value of string>
           dns-server4: <value of string>
           wifi-ac-service: <value in [specify, local]>
           auto-managed-status: <value in [disable, enable]>
           dhcp-settings-from-fortiipam: <value in [disable, enable]>
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| request_url
        
        string
         | 
      always | 
        
        The full url requested
         Sample:
        
       
        /sys/login/user
         | 
     
| response_code
        
        integer
         | 
      always | 
        
        The status of api request
          | 
     
| response_message
        
        string
         | 
      always | 
        
        The descriptive message of the api response
         Sample:
        
       
        OK.
         | 
     
Authors
- Link Zheng (@chillancezen)
 - Jie Xue (@JieX19)
 - Frank Shen (@fshen01)
 - Hongbin Lu (@fgtdev-hblu)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/fortinet/fortimanager/fmgr_system_dhcp_server_module.html