Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/networktocode/fortimanager-ansible
Ansible Modules to manage Fortinet FortiManager
https://github.com/networktocode/fortimanager-ansible
Last synced: about 2 months ago
JSON representation
Ansible Modules to manage Fortinet FortiManager
- Host: GitHub
- URL: https://github.com/networktocode/fortimanager-ansible
- Owner: networktocode
- License: other
- Created: 2017-06-15T22:38:38.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-09-24T17:34:11.000Z (about 4 years ago)
- Last Synced: 2024-05-30T01:17:31.706Z (7 months ago)
- Language: Python
- Size: 549 KB
- Stars: 65
- Watchers: 28
- Forks: 33
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FortiManager Ansible
Ansible Modules to manage Fortinet FortiManager* [Introduction](#introduction)
* [Module Summary](#modules)
* [Installation](#installation)
* [Detailed Module Documentation](#full-module-documentation)
* [Module Examples](#examples)
* [Contributing](#contributing)# Introduction
This repository includes a number of Ansible modules to automate Fortinet FortiManager devices using the JSON-RPC API.
# Modules
Here is a brief overview of all modules included in this repository.
* **fortimgr_address**
+ Used to create, update, and delete address objects.
+ Returns the existing configuration for the address object and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_address_group**
+ Used to create, update, and delete address group objects.
+ Returns the existing configuration for the address group and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_address_map**
+ Used to create, update, and delete an address object's device mapping configuration.
+ Returns the existing configuration for the address object and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_ip_pool**
+ Used to create, update, and delete ip pools.
+ Returns the existing configuration for the ip pool and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_ip_pool_map**
+ Used to create, update, and delete an ip pool's device mapping configuration.
+ Returns the existing configuration for the ip pool and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_policy**
+ Used to create, update, and delete policy entries.
+ Returns the existing configuration for the policy entry and the configuration sent to the FortiManager API.
+ The API call sent to move the policy entry is returned when the policy is not in the location specefied by the optional policy placement params.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_route**
+ Used to create, update, and delete routes on devices managed by FortiManager.
+ Returns the existing configuration for the route and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_service**
+ Used to create, update, and delete service objects.
+ Returns the existing configuration for the service object and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_service_group**
+ Used to create, update, and delete service group objects.
+ Returns the existing configuration for the service group and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_vip**
+ Used to create, update, and delete VIPs.
+ Returns the existing configuration for the VIP and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_vip_group**
+ Used to create, update, and delete VIP group objects.
+ Returns the existing configuration for the VIP group and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_vip_map**
+ Used to create, update, and delete a VIP's device mapping configuration.
+ Returns the existing configuration for the VIP and the configuration sent to the FortiManager API.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_facts**
+ Used to gather facts about the FortiManager system and managed devices.
+ Returns FortiManger system information, a list of managed devices with some basic information about them, and configurations for devices managed by the FortiManager.
* **fortimgr_install**
+ Used to install policy packages on the FortiManager to the managed devices.
+ Returns the results from the install request.
* **fortimgr_lock**
+ Used to lock, save, and unlock the FortiManager. This provides an alternative method for handle workspace session locking instead of using each module's lock parameter.
+ Returns the session ID when the module is set to lock the configuration.
+ Returns the lock, save, and unlock request status.
* **fortimgr_revision**
+ Used to create, delete, or restore ADOM revisions.
+ Returns the results from the revision request.
+ Lock, Save, and Unlock status are returned when locking the ADOM is set.
* **fortimgr_jsonrpc_request**
+ Used to send generic FortiManager json-rpc API requests
+ Returns the json-rpc response
+ Returns the request status# Installation
You need to perform **two** steps to start using these modules.
1. Ensure this repository is in your Ansible module search path.
2. Install Dependencies.### Locate your search path
Here is how you can locate your search path:
```
$ ansible --version
ansible 2.1.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = ???
```If you already have a search path configured, clone the repo (see options below) while you are in your search path.
If you have a "default" or No search path shown, open the config file that is shown in the output above, here that is `/etc/ansible/ansible.cfg`. In that file, you'll see these first few lines:
```
[defaults]# some basic default values...
inventory = /etc/ansible/hosts
library = /home/ntc/projects/
```Add a path for `library` that exists in this repository - this will become your search path. Validate it with `ansible --version` after you make the change.
### Clone the repo in your search path
```
$ git clone https://github.com/networktocode/fortimanager-ansible
```As a quick test and sanity use `ansible-doc` on one of the modules before trying to use them in a playbook. For example, try this:
```
$ ansible-doc fortimgr_facts
```If that works, Ansible can find the modules and you can proceed to installing the dependencies below.
## Install Dependencies
```
$ cd fortimgr-ansible
$ pip install -r requirements.txt
```# Full Module Documentation
The following docs are the same type of docs you'd find on docs.ansible.com for modules that are found in Ansible core:
See [Module Documentation](Module_Docs/fortimgr_module_docs.md)
# Examples
See [Examples](examples.md)