# fortios_system_dhcp6_server – Configure DHCPv6 servers in Fortinet’s FortiOS and FortiGate

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify system_dhcp6 feature and server category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.5

## Requirements

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

- fortiosapi>=0.9.8

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
host string |  | FortiOS or FortiGate IP address.

https
boolean

Choices:
- no
- yes ←

Indicates if the requests towards FortiGate must use HTTPS protocol.

password string | Default: "" | FortiOS or FortiGate password.

ssl_verify
boolean

Choices:
- no
- yes ←

Ensures FortiGate certificate must be verified by a proper CA.

state
string / required

Choices:
- present
- absent

Indicates whether to create or remove the object.

system_dhcp6_server dictionary | Default: null | Configure DHCPv6 servers.

dns_search_list
string

Choices:
- delegated
- specify

DNS search list options.

| dns_server1 string |  | DNS server 1.
| dns_server2 string |  | DNS server 2.
| dns_server3 string |  | DNS server 3.

dns_service
string

Choices:
- delegated
- default
- specify

Options for assigning DNS servers to DHCPv6 clients.

| domain string |  | Domain name suffix for the IP addresses that the DHCP server assigns to clients.
| id integer / required |  | ID.
| interface string |  | DHCP server can assign IP configurations to clients connected to this interface. Source system.interface.name.

ip_mode
string

Choices:
- range
- delegated

Method used to assign client IP.

| ip_range list |  | DHCP IP range configuration.
|  | end_ip string |  | End of IP range.
|  | id integer / required |  | ID.
|  | start_ip string |  | Start of IP range.
| lease_time integer |  | Lease time in seconds, 0 means unlimited.
| option1 string |  | Option 1.
| option2 string |  | Option 2.
| option3 string |  | Option 3.
| prefix_range list |  | DHCP prefix configuration.
|  | end_prefix string |  | End of prefix range.
|  | id integer / required |  | ID.
|  | prefix_length integer |  | Prefix length.
|  | start_prefix string |  | Start of prefix range.

rapid_commit
string

Choices:
- disable
- enable

Enable/disable allow/disallow rapid commit.

status
string

Choices:
- disable
- enable

Enable/disable this DHCPv6 configuration.

| subnet string |  | Subnet or subnet-id if the IP mode is delegated.
| upstream_interface string |  | Interface name from where delegated information is provided. Source system.interface.name.
username string |  | FortiOS or FortiGate username.
vdom string | Default: "root" | Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit.

## Notes

Note

- Requires fortiosapi library developed by Fortinet

- Run as a local_action in your playbook

## Examples

    - hosts: localhost
      vars:
       host: "192.168.122.40"
       username: "admin"
       password: ""
       vdom: "root"
       ssl_verify: "False"
      tasks:
      - name: Configure DHCPv6 servers.
        fortios_system_dhcp6_server:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          system_dhcp6_server:
            dns_search_list: "delegated"
            dns_server1: "<your_own_value>"
            dns_server2: "<your_own_value>"
            dns_server3: "<your_own_value>"
            dns_service: "delegated"
            domain: "<your_own_value>"
            id:  "9"
            interface: "<your_own_value> (source system.interface.name)"
            ip_mode: "range"
            ip_range:
             -
                end_ip: "<your_own_value>"
                id:  "14"
                start_ip: "<your_own_value>"
            lease_time: "16"
            option1: "<your_own_value>"
            option2: "<your_own_value>"
            option3: "<your_own_value>"
            prefix_range:
             -
                end_prefix: "<your_own_value>"
                id:  "22"
                prefix_length: "23"
                start_prefix: "<your_own_value>"
            rapid_commit: "disable"
            status: "disable"
            subnet: "<your_own_value>"
            upstream_interface: "<your_own_value> (source system.interface.name)"

## Return Values

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

Key | Returned | Description
--- | --- | ---
build string | always | Build number of the fortigate image Sample: 1547
http_method string | always | Last method used to provision the content into FortiGate Sample: PUT
http_status string | always | Last result given by FortiGate on last operation applied Sample: 200
mkey string | success | Master key (id) used in the last call to FortiGate Sample: id
name string | always | Name of the table used to fulfill the request Sample: urlfilter
path string | always | Path of the table used to fulfill the request Sample: webfilter
revision string | always | Internal revision number Sample: 17.0.2.10658
serial string | always | Serial number of the unit Sample: FGVMEVYYQT3AB5352
status string | always | Indication of the operation's result Sample: success
vdom string | always | Virtual domain used Sample: root
version string | always | Version of the FortiGate Sample: v5.6.3

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Miguel Angel Munoz (@mamunozgonzalez)

- Nicolas Thomas (@thomnico)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.