# fortios_system_sdn_connector – Configure connection to SDN Connector in Fortinet’s FortiOS and FortiGate

New in version 2.8.

- 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 feature and sdn_connector 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
added in 2.9

Choices:
- no
- yes ←

Ensures FortiGate certificate must be verified by a proper CA.

state
string
added in 2.9

Choices:
- present
- absent

Indicates whether to create or remove the object. This attribute was present already in previous version in a deeper level. It has been moved out to this outer level.

system_sdn_connector dictionary | Default: null | Configure connection to SDN Connector.
| access_key string |  | AWS access key ID.

azure_region
string

Choices:
- global
- china
- germany
- usgov
- local

Azure server region.

| client_id string |  | Azure client ID (application ID).
| client_secret string |  | Azure client secret (application key).
| compartment_id string |  | Compartment ID.
| external_ip list |  | Configure GCP external IP.
|  | name string / required |  | External IP name.
| gcp_project string |  | GCP project name.
| key_passwd string |  | Private key password.
| login_endpoint string |  | Azure Stack login enpoint.
| name string / required |  | SDN connector name.
| nic list |  | Configure Azure network interface.
|  | ip list |  | Configure IP configuration.
|  |  | name string / required |  | IP configuration name.
|  |  | public_ip string |  | Public IP name.
|  | name string / required |  | Network interface name.
| oci_cert string |  | OCI certificate. Source certificate.local.name.
| oci_fingerprint string |  | OCI pubkey fingerprint.

oci_region
string

Choices:
- phoenix
- ashburn
- frankfurt
- london

OCI server region.

| password string |  | Password of the remote SDN connector as login credentials.
| private_key string |  | Private key of GCP service account.
| region string |  | AWS region name.
| resource_group string |  | Azure resource group.
| resource_url string |  | Azure Stack resource URL.
| route list |  | Configure GCP route.
|  | name string / required |  | Route name.
| route_table list |  | Configure Azure route table.
|  | name string / required |  | Route table name.
|  | route list |  | Configure Azure route.
|  |  | name string / required |  | Route name.
|  |  | next_hop string |  | Next hop address.
| secret_key string |  | AWS secret access key.
| server string |  | Server address of the remote SDN connector.
| server_port integer |  | Port number of the remote SDN connector.
| service_account string |  | GCP service account email.

state
string

Choices:
- present
- absent

Deprecated
Starting with Ansible 2.9 we recommend using the top-level 'state' parameter.

Indicates whether to create or remove the object.

status
string

Choices:
- disable
- enable

Enable/disable connection to the remote SDN connector.

| subscription_id string |  | Azure subscription ID.
| tenant_id string |  | Tenant ID (directory ID).

type
string

Choices:
- aci
- aws
- azure
- gcp
- nsx
- nuage
- oci
- openstack

Type of SDN connector.

| update_interval integer |  | Dynamic object update interval (0 - 3600 sec, 0 means disabled).

use_metadata_iam
string

Choices:
- disable
- enable

Enable/disable using IAM role from metadata to call API.

| user_id string |  | User ID.
| username string |  | Username of the remote SDN connector as login credentials.
| vpc_id string |  | AWS VPC ID.
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 connection to SDN Connector.
        fortios_system_sdn_connector:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          system_sdn_connector:
            access_key: "<your_own_value>"
            azure_region: "global"
            client_id: "<your_own_value>"
            client_secret: "<your_own_value>"
            compartment_id: "<your_own_value>"
            external_ip:
             -
                name: "default_name_9"
            gcp_project: "<your_own_value>"
            key_passwd: "<your_own_value>"
            login_endpoint: "<your_own_value>"
            name: "default_name_13"
            nic:
             -
                ip:
                 -
                    name: "default_name_16"
                    public_ip: "<your_own_value>"
                name: "default_name_18"
            oci_cert: "<your_own_value> (source certificate.local.name)"
            oci_fingerprint: "<your_own_value>"
            oci_region: "phoenix"
            password: "<your_own_value>"
            private_key: "<your_own_value>"
            region: "<your_own_value>"
            resource_group: "<your_own_value>"
            resource_url: "<your_own_value>"
            route:
             -
                name: "default_name_28"
            route_table:
             -
                name: "default_name_30"
                route:
                 -
                    name: "default_name_32"
                    next_hop: "<your_own_value>"
            secret_key: "<your_own_value>"
            server: "192.168.100.40"
            server_port: "36"
            service_account: "<your_own_value>"
            status: "disable"
            subscription_id: "<your_own_value>"
            tenant_id: "<your_own_value>"
            type: "aci"
            update_interval: "42"
            use_metadata_iam: "disable"
            user_id: "<your_own_value>"
            username: "<your_own_value>"
            vpc_id: "<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.