A collection focusing on managing F5 BIG-IP/BIG-IQ through declarative APIs such as AS3, DO, TS, and CFE. The collection does include key imperative modules as well for managing some resources and operational tasks that are not part of declarative workflows. These would include actions such as saving config, backing up config, uploading security policies, uploading crts/keys, gathering info, etc.
Note: This Collection is not currently intended to replace the existing imperative_collection.
- ansible >= 2.15
Collection supported on Python 3.9 and above.
We offer a daily build of our most recent collection dailybuild. Use this Collection to test the most recent Ansible module updates between releases. You can also install development build directly from GitHub see repoinstall.
ansible-galaxy collection install git+https://github.com/F5Networks/f5-ansible-bigip.git#ansible_collections/f5networks/f5_bigip
ansible-galaxy collection install <collection name> -p ./collections
e.g.
ansible-galaxy collection install f5networks-f5_bigip-devel.tar.gz -p ./collections
NOTE:
-p
is the location in which the collection will be installed. This location should be defined in the path for Ansible to search for collections. An example of this would be addingcollections_paths = ./collections
to your ansible.cfg
We also offer a new method of running the collection inside Ansible's Execution Environment container. The advantage of this approach is that any required package dependencies and minimum supported Python versions are installed in an isolated container, which minimizes any environment-related issues during runtime. More information on EE can be found here execenv. Use the following requirements.yml file when building EE container:
---
collections:
- name: ansible.netcommon
version: ">=2.0.0"
- name: f5networks.f5_bigip
source: https://github.com/F5Networks/f5-ansible-bigip#ansible_collections/f5networks/f5_bigip
type: git
version: devel
- You can leverage both this declarative collection and the previous imperative collection at the same time.
- If you are migrating from the imperative collection, you can leave the provider variables and reference them from the new httpapi connection variables:
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 }}"
Please file any bugs, questions, or enhancement requests by using [ansible_issues]. For details, see [ansiblehelp].
What types of modules do you want created? If you have a use case and can sufficiently describe the behavior you want to see, open an issue and we will hammer out the details.
If you've got the time, consider sending an email that introduces yourself and what you do. We love hearing about how you're using the F5_BIGIP collection for Ansible.
NOTE: This repository is a mirror, only issues submissions are accepted.
- Wojciech Wypior and the F5 team - [email protected]
Copyright 2022 F5 Networks Inc.
This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work.
See License.
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.