fortios_vpn_certificate_local – Local keys and certificates in Fortinet’s FortiOS and FortiGate — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# fortios_vpn_certificate_local – Local keys and certificates 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 vpn_certificate feature and local 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.
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.
vpn_certificate_local dictionary | Default: null | Local keys and certificates.
| auto_regenerate_days integer |  | Number of days to wait before expiry of an updated local certificate is requested (0 = disabled).
| auto_regenerate_days_warning integer |  | Number of days to wait before an expiry warning message is generated (0 = disabled).
| ca_identifier string |  | CA identifier of the CA server for signing via SCEP.
| certificate string |  | PEM format certificate.
| cmp_path string |  | Path location inside CMP server.
| cmp_regeneration_method string | Choices: keyupate renewal | CMP auto-regeneration method.
| cmp_server string |  | 'ADDRESS:PORT' for CMP server.
| cmp_server_cert string |  | CMP server certificate. Source vpn.certificate.ca.name.
| comments string |  | Comment.
| csr string |  | Certificate Signing Request.
| enroll_protocol string | Choices: none scep cmpv2 | Certificate enrollment protocol.
| ike_localid string |  | Local ID the FortiGate uses for authentication as a VPN client.
| ike_localid_type string | Choices: asn1dn fqdn | IKE local ID type.
| last_updated integer |  | Time at which certificate was last updated.
| name string / required |  | Name.
| name_encoding string | Choices: printable utf8 | Name encoding method for auto-regeneration.
| password string |  | Password as a PEM file.
| private_key string |  | PEM format key, encrypted with a password.
| range string | Choices: global vdom | Either a global or VDOM IP address range for the certificate.
| scep_password string |  | SCEP server challenge password for auto-regeneration.
| scep_url string |  | SCEP server URL.
| source string | Choices: factory user bundle | Certificate source type.
| source_ip string |  | Source IP address for communications to the SCEP server.
| state string |  | Certificate Signing Request State.

## 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: Local keys and certificates.
        fortios_vpn_certificate_local:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          vpn_certificate_local:
            auto_regenerate_days: "3"
            auto_regenerate_days_warning: "4"
            ca_identifier:  "myId_5"
            certificate: "<your_own_value>"
            cmp_path: "<your_own_value>"
            cmp_regeneration_method: "keyupate"
            cmp_server: "<your_own_value>"
            cmp_server_cert: "<your_own_value> (source vpn.certificate.ca.name)"
            comments: "<your_own_value>"
            csr: "<your_own_value>"
            enroll_protocol: "none"
            ike_localid: "<your_own_value>"
            ike_localid_type: "asn1dn"
            last_updated: "16"
            name: "default_name_17"
            name_encoding: "printable"
            password: "<your_own_value>"
            private_key: "<your_own_value>"
            range: "global"
            scep_password: "<your_own_value>"
            scep_url: "<your_own_value>"
            source: "factory"
            source_ip: "84.230.14.43"
            state: "<your_own_value>"

## 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.