Fortinet black logo

User Guide

Configuring FortiWeb Cloud with Ansible

Copy Link
Copy Doc ID 2ffc9903-bcb4-11e9-8977-00505692583a:956788
Download PDF

Configuring FortiWeb Cloud with Ansible

The following example demonstrates how to use Ansible to perform simple configuration changes on FortiWeb Cloud. It requires the following:

To perform configuration changes with Ansible, prepare the following files:

  1. Create the hosts inventory file to specify FortiWeb Cloud host and the authentication information.
    Username/password authentication
    If you use username/password authentication, specify them as shown below.
    [fortiwebcloud] fortiwebcloud01 ansible_host="api.fortiweb-cloud.com" ansible_user="example@example.com" ansible_password="Your Password"
    [fortiwebcloud:vars] ansible_network_os=fortinet.fortiwebcloud.fortiwebcloud


    API key authentication
    If you have created an API Key in Global > System Settings > Settings, specify the key in hosts file as shown below, so that you can use the API key instead of specifying the username and password.
    fortiwebcloud_api_token="API_key"
    In the configuration files, add the following line to refer to the API key. Here we take the cloudwaf_app_sni_cert_get.yml file the as an example:
    ---
     
    - hosts: fortiwebcloud01

    name: Execute cloud api

    collections:

    - fortinet.fortiwebcloud

    gather_facts: no

    connection: httpapi

    vars:

    ansible_httpapi_validate_certs: False

    ansible_httpapi_use_ssl: True

    ansible_httpapi_port: 443

    application_name: "YOUR_APP_NAME"

    tasks:

    - name: Get SNI certificates.

    cloudwaf_sni_cert_method:

    api_token: "{{api_key}}"

    app_name: "{{application_name}}"

    action: get


  2. Create files to perform the following configurations:
  3. Run the test:
    ansible-playbook -i hosts <the_name_of_the_file_created_in_step_2>.yml

    or

    ansible-playbook <the_name_of_the_file_created_in_step_2>.yml -i hosts  -e 'ansible_python_interpreter=/usr/bin/python3'
    
To prepare the files, DO NOT copy the example text in this guide. There might be format issue which causes the operation to fail. Download the template from Github repository: https://github.com/fortinet/fortiwebcloud-ansible.

Configuring FortiWeb Cloud with Ansible

The following example demonstrates how to use Ansible to perform simple configuration changes on FortiWeb Cloud. It requires the following:

To perform configuration changes with Ansible, prepare the following files:

  1. Create the hosts inventory file to specify FortiWeb Cloud host and the authentication information.
    Username/password authentication
    If you use username/password authentication, specify them as shown below.
    [fortiwebcloud] fortiwebcloud01 ansible_host="api.fortiweb-cloud.com" ansible_user="example@example.com" ansible_password="Your Password"
    [fortiwebcloud:vars] ansible_network_os=fortinet.fortiwebcloud.fortiwebcloud


    API key authentication
    If you have created an API Key in Global > System Settings > Settings, specify the key in hosts file as shown below, so that you can use the API key instead of specifying the username and password.
    fortiwebcloud_api_token="API_key"
    In the configuration files, add the following line to refer to the API key. Here we take the cloudwaf_app_sni_cert_get.yml file the as an example:
    ---
     
    - hosts: fortiwebcloud01

    name: Execute cloud api

    collections:

    - fortinet.fortiwebcloud

    gather_facts: no

    connection: httpapi

    vars:

    ansible_httpapi_validate_certs: False

    ansible_httpapi_use_ssl: True

    ansible_httpapi_port: 443

    application_name: "YOUR_APP_NAME"

    tasks:

    - name: Get SNI certificates.

    cloudwaf_sni_cert_method:

    api_token: "{{api_key}}"

    app_name: "{{application_name}}"

    action: get


  2. Create files to perform the following configurations:
  3. Run the test:
    ansible-playbook -i hosts <the_name_of_the_file_created_in_step_2>.yml

    or

    ansible-playbook <the_name_of_the_file_created_in_step_2>.yml -i hosts  -e 'ansible_python_interpreter=/usr/bin/python3'
    
To prepare the files, DO NOT copy the example text in this guide. There might be format issue which causes the operation to fail. Download the template from Github repository: https://github.com/fortinet/fortiwebcloud-ansible.