{"id":18797814,"url":"https://github.com/networktocode/fortimanager-ansible","last_synced_at":"2025-04-13T16:32:25.820Z","repository":{"id":21936746,"uuid":"94484096","full_name":"networktocode/fortimanager-ansible","owner":"networktocode","description":"Ansible Modules to manage Fortinet FortiManager","archived":true,"fork":false,"pushed_at":"2020-09-24T17:34:11.000Z","size":562,"stargazers_count":66,"open_issues_count":5,"forks_count":34,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-03-05T17:39:59.657Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/networktocode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-15T22:38:38.000Z","updated_at":"2024-12-19T22:41:29.000Z","dependencies_parsed_at":"2022-08-07T10:01:21.594Z","dependency_job_id":null,"html_url":"https://github.com/networktocode/fortimanager-ansible","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/networktocode%2Ffortimanager-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/networktocode%2Ffortimanager-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/networktocode%2Ffortimanager-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/networktocode%2Ffortimanager-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/networktocode","download_url":"https://codeload.github.com/networktocode/fortimanager-ansible/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248743947,"owners_count":21154773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T22:09:41.142Z","updated_at":"2025-04-13T16:32:25.457Z","avatar_url":"https://github.com/networktocode.png","language":"Python","funding_links":[],"categories":["Non-Core Ansible Modules"],"sub_categories":["NETCONF"],"readme":"# FortiManager Ansible\nAnsible Modules to manage Fortinet FortiManager\n\n* [Introduction](#introduction)\n* [Module Summary](#modules)\n* [Installation](#installation)\n* [Detailed Module Documentation](#full-module-documentation)\n* [Module Examples](#examples)\n* [Contributing](#contributing)\n\n# Introduction\n\nThis repository includes a number of Ansible modules to automate Fortinet FortiManager devices using the JSON-RPC API.\n\n# Modules\n\nHere is a brief overview of all modules included in this repository.\n\n* **fortimgr_address**\n  + Used to create, update, and delete address objects.\n  + Returns the existing configuration for the address object and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_address_group**\n  + Used to create, update, and delete address group objects.\n  + Returns the existing configuration for the address group and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_address_map**\n  + Used to create, update, and delete an address object's device mapping configuration.\n  + Returns the existing configuration for the address object and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_ip_pool**\n  + Used to create, update, and delete ip pools.\n  + Returns the existing configuration for the ip pool and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_ip_pool_map**\n  + Used to create, update, and delete an ip pool's device mapping configuration.\n  + Returns the existing configuration for the ip pool and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_policy**\n  + Used to create, update, and delete policy entries.\n  + Returns the existing configuration for the policy entry and the configuration sent to the FortiManager API.\n  + 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.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_route**\n  + Used to create, update, and delete routes on devices managed by FortiManager.\n  + Returns the existing configuration for the route and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_service**\n  + Used to create, update, and delete service objects.\n  + Returns the existing configuration for the service object and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_service_group**\n  + Used to create, update, and delete service group objects.\n  + Returns the existing configuration for the service group and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_vip**\n  + Used to create, update, and delete VIPs.\n  + Returns the existing configuration for the VIP and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_vip_group**\n  + Used to create, update, and delete VIP group objects.\n  + Returns the existing configuration for the VIP group and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_vip_map**\n  + Used to create, update, and delete a VIP's device mapping configuration.\n  + Returns the existing configuration for the VIP and the configuration sent to the FortiManager API.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_facts**\n  + Used to gather facts about the FortiManager system and managed devices.\n  + Returns FortiManger system information, a list of managed devices with some basic information about them, and configurations for devices managed by the FortiManager.\n* **fortimgr_install**\n  + Used to install policy packages on the FortiManager to the managed devices.\n  + Returns the results from the install request.\n* **fortimgr_lock**\n  + 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.\n  + Returns the session ID when the module is set to lock the configuration.\n  + Returns the lock, save, and unlock request status.\n* **fortimgr_revision**\n  + Used to create, delete, or restore ADOM revisions.\n  + Returns the results from the revision request.\n  + Lock, Save, and Unlock status are returned when locking the ADOM is set.\n* **fortimgr_jsonrpc_request**\n  + Used to send generic FortiManager json-rpc API requests\n  + Returns the json-rpc response\n  + Returns the request status\n\n\n# Installation\n\nYou need to perform **two** steps to start using these modules.\n\n1. Ensure this repository is in your Ansible module search path.\n2. Install Dependencies.\n\n### Locate your search path\nHere is how you can locate your search path:\n```\n$ ansible --version\nansible 2.1.1.0\n  config file = /etc/ansible/ansible.cfg\n  configured module search path = ???\n```\n\nIf you already have a search path configured, clone the repo (see options below) while you are in your search path.\n\nIf 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:\n```\n[defaults]\n\n# some basic default values...\n\ninventory      = /etc/ansible/hosts\nlibrary        = /home/ntc/projects/\n```\n\nAdd 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.\n\n### Clone the repo in your search path\n\n```\n$ git clone https://github.com/networktocode/fortimanager-ansible\n```\n\nAs 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:\n```\n$ ansible-doc fortimgr_facts\n```\n\nIf that works, Ansible can find the modules and you can proceed to installing the dependencies below.\n\n## Install Dependencies\n```\n$ cd fortimgr-ansible\n$ pip install -r requirements.txt\n```\n\n\n# Full Module Documentation\n\nThe following docs are the same type of docs you'd find on docs.ansible.com for modules that are found in Ansible core:\n\nSee [Module Documentation](Module_Docs/fortimgr_module_docs.md)\n\n# Examples\nSee [Examples](examples.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetworktocode%2Ffortimanager-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetworktocode%2Ffortimanager-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetworktocode%2Ffortimanager-ansible/lists"}