f5-ansible-bigip
f5-ansible-bigip copied to clipboard
Declarative Ansible collection for managing F5 BIG-IP/BIG-IQ.
F5 BIG-IP Declarative Collection for Ansible
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.
Requirements
- ansible >= 2.14
Python Version
Collection supported on Python 3.9 and above.
Collections Daily Build
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.
Install from GitHub
ansible-galaxy collection install git+https://github.com/F5Networks/f5-ansible-bigip.git#ansible_collections/f5networks/f5_bigip
Install from the daily build file
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
Running latest devel in EE
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
Tips
- 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 }}"
Bugs, Issues
Please file any bugs, questions, or enhancement requests by using [ansible_issues]. For details, see [ansiblehelp].
Your ideas
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
Copyright 2022 F5 Networks Inc.
License
GPL V3
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.
Contributor License Agreement
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.