This collection provides Ansible modules and plugins for managing F5 BIG-IP and BIG-IQ devices using declarative APIs such as AS3, DO, TS, and CFE. It also includes imperative modules for operational tasks not covered by declarative workflows, such as saving and backing up configs, uploading security policies, certs/keys, and gathering device information. This collection is designed for network and automation engineers who want to automate F5 device management, streamline operations, and ensure consistency across environments.
Note: This collection is not intended to replace the existing imperative_collection.
- Ansible >= 2.16
- Python >= 3.9
- See the
requirements.txtfor Python package dependencies.
Install the collection from Ansible Galaxy:
ansible-galaxy collection install f5networks.f5_bigip
To specify the installation location, use the -p option. For example:
ansible-galaxy collection install f5networks.f5_bigip -p ./collections
If you specify a folder, make sure to update your ansible.cfg so Ansible will check this folder as well. For example, add:
collections_paths = ./collections
to your ansible.cfg.
Or include it in a requirements.yml file:
collections:
- name: f5networks.f5_bigipTo upgrade to the latest version:
ansible-galaxy collection install f5networks.f5_bigip --upgrade
To install a specific version (e.g., 1.0.0):
ansible-galaxy collection install f5networks.f5_bigip:==1.0.0
See using Ansible collections for more details.
Note: After installation, ensure your
ansible.cfgincludes the correctcollections_pathsif you used a custom path.
- You can use this declarative collection alongside the previous imperative collection for maximum flexibility.
- If migrating from the imperative collection, you can continue to use your existing provider variables and reference them from the new httpapi connection variables. For example:
ansible_host: "{{ provider.server }}"
ansible_user: "{{ provider.user }}"
ansible_httpapi_password: "{{ provider.password }}"
ansible_httpapi_port: "{{ provider.server_port }}"
ansible_network_os: f5networks.f5_bigip.bigip
ansible_httpapi_use_ssl: yes
ansible_httpapi_validate_certs: "{{ provider.validate_certs }}"You can run this collection inside an Ansible Execution Environment (EE) container. This ensures all required package dependencies and minimum supported Python versions are installed in an isolated container, minimizing environment-related issues during runtime.
To use the collection in an EE, add it to your requirements.yml file. For example:
collections:
- name: ansible.netcommon
version: ">=2.0.0"
- name: f5networks.f5_bigipWhen building your EE container, include this requirements file. For more information on building and using EEs, see the F5 Execution Environment Usage Guide and the Ansible EE documentation.
This collection has been tested on:
- F5 BIG-IP and BIG-IQ virtual editions
- Supported Ansible versions (>=2.16)
- Python 3.9+
Testing includes unit, integration, and system tests. Some modules may require access to a live F5 device or a suitable test environment. Known exceptions and workarounds are documented in the module documentation.
As Red Hat Ansible Certified Content, this collection is entitled to support through the Ansible Automation Platform (AAP) using the Create issue button on the top right corner. If a support case cannot be opened with Red Hat and the collection has been obtained either from Galaxy or GitHub, there may be community help available on the Ansible Forum or you can report issues on the GitHub issue tracker.
See the Changelog for release notes.
This collection is licensed under the GPLv3 License. See the LICENSE file included in the collection for details.
Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to [email protected] prior to their code submission being included in this project.
Copyright 2025 F5 Networks Inc.