From d39337670d3f20cfec241c5285b85b5305a4da82 Mon Sep 17 00:00:00 2001 From: wypior Date: Fri, 13 Oct 2023 07:00:31 +0000 Subject: [PATCH 1/9] Merging devel changes - 2023-10-13T07:00:15Z --- ansible_collections/f5networks/f5_modules/galaxy.yml | 2 +- .../f5networks/f5_modules/plugins/module_utils/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible_collections/f5networks/f5_modules/galaxy.yml b/ansible_collections/f5networks/f5_modules/galaxy.yml index 6121179..c70d50d 100644 --- a/ansible_collections/f5networks/f5_modules/galaxy.yml +++ b/ansible_collections/f5networks/f5_modules/galaxy.yml @@ -17,4 +17,4 @@ tags: - networking - bigip - bigiq -version: 1.27.0 +version: 1.28.0-devel diff --git a/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py b/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py index e857e07..ab16bfe 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py +++ b/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py @@ -4,4 +4,4 @@ # GNU General Public License v3.0 (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # This collection version needs to be updated at each release -CURRENT_COLL_VERSION = "1.27.0" +CURRENT_COLL_VERSION = "1.28.0-devel" From 83c3149d40abb4fdd0690a5062856d6cc136e42d Mon Sep 17 00:00:00 2001 From: wypior Date: Thu, 2 Nov 2023 07:01:00 +0000 Subject: [PATCH 2/9] Merging devel changes - 2023-11-02T07:00:41Z --- .../f5networks/f5_modules/galaxy.yml | 2 + .../f5_modules/plugins/doc_fragments/files.py | 92 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 ansible_collections/f5networks/f5_modules/plugins/doc_fragments/files.py diff --git a/ansible_collections/f5networks/f5_modules/galaxy.yml b/ansible_collections/f5networks/f5_modules/galaxy.yml index c70d50d..9b72ec0 100644 --- a/ansible_collections/f5networks/f5_modules/galaxy.yml +++ b/ansible_collections/f5networks/f5_modules/galaxy.yml @@ -11,6 +11,8 @@ license: name: f5_modules namespace: f5networks readme: README.md +build_ignore: + - tests repository: https://github.com/F5Networks/f5-ansible-f5modules tags: - f5 diff --git a/ansible_collections/f5networks/f5_modules/plugins/doc_fragments/files.py b/ansible_collections/f5networks/f5_modules/plugins/doc_fragments/files.py new file mode 100644 index 0000000..2efbccb --- /dev/null +++ b/ansible_collections/f5networks/f5_modules/plugins/doc_fragments/files.py @@ -0,0 +1,92 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2014, Matt Martz +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +class ModuleDocFragment(object): + + # Standard files documentation fragment + + # Note: mode is overridden by the copy and template modules so if you change the description + # here, you should also change it there. + DOCUMENTATION = r''' +options: + mode: + description: + - The permissions the resulting filesystem object should have. + - For those used to I(/usr/bin/chmod) remember that modes are actually octal numbers. + You must give Ansible enough information to parse them correctly. + For consistent results, quote octal numbers (for example, V('644') or V('1777')) so Ansible receives + a string and can do its own conversion from string into number. + Adding a leading zero (for example, V(0755)) works sometimes, but can fail in loops and some other circumstances. + - Giving Ansible a number without following either of these rules will end up with a decimal + number which will have unexpected results. + - As of Ansible 1.8, the mode may be specified as a symbolic mode (for example, V(u+rwx) or + V(u=rw,g=r,o=r)). + - If O(mode) is not specified and the destination filesystem object B(does not) exist, the default C(umask) on the system will be used + when setting the mode for the newly created filesystem object. + - If O(mode) is not specified and the destination filesystem object B(does) exist, the mode of the existing filesystem object will be used. + - Specifying O(mode) is the best way to ensure filesystem objects are created with the correct permissions. + See CVE-2020-1736 for further details. + type: raw + owner: + description: + - Name of the user that should own the filesystem object, as would be fed to I(chown). + - When left unspecified, it uses the current user unless you are root, in which + case it can preserve the previous ownership. + - Specifying a numeric username will be assumed to be a user ID and not a username. Avoid numeric usernames to avoid this confusion. + + type: str + group: + description: + - Name of the group that should own the filesystem object, as would be fed to I(chown). + - When left unspecified, it uses the current group of the current user unless you are root, + in which case it can preserve the previous ownership. + type: str + seuser: + description: + - The user part of the SELinux filesystem object context. + - By default it uses the V(system) policy, where applicable. + - When set to V(_default), it will use the C(user) portion of the policy if available. + type: str + serole: + description: + - The role part of the SELinux filesystem object context. + - When set to V(_default), it will use the C(role) portion of the policy if available. + type: str + setype: + description: + - The type part of the SELinux filesystem object context. + - When set to V(_default), it will use the C(type) portion of the policy if available. + type: str + selevel: + description: + - The level part of the SELinux filesystem object context. + - This is the MLS/MCS attribute, sometimes known as the C(range). + - When set to V(_default), it will use the C(level) portion of the policy if available. + type: str + unsafe_writes: + description: + - Influence when to use atomic operation to prevent data corruption or inconsistent reads from the target filesystem object. + - By default this module uses atomic operations to prevent data corruption or inconsistent reads from the target filesystem objects, + but sometimes systems are configured or just broken in ways that prevent this. One example is docker mounted filesystem objects, + which cannot be updated atomically from inside the container and can only be written in an unsafe manner. + - This option allows Ansible to fall back to unsafe methods of updating filesystem objects when atomic operations fail + (however, it doesn't force Ansible to perform unsafe writes). + - IMPORTANT! Unsafe writes are subject to race conditions and can lead to data corruption. + type: bool + default: no + version_added: '2.2' + attributes: + description: + - The attributes the resulting filesystem object should have. + - To get supported flags look at the man page for I(chattr) on the target system. + - This string should contain the attributes in the same order as the one displayed by I(lsattr). + - The C(=) operator is assumed as default, otherwise C(+) or C(-) operators need to be included in the string. + type: str + aliases: [ attr ] + version_added: '2.3' +''' From 3d633ca39cfecfb816edb9ad81efb42c0ea28c3a Mon Sep 17 00:00:00 2001 From: wypior Date: Wed, 8 Nov 2023 07:00:59 +0000 Subject: [PATCH 3/9] Merging devel changes - 2023-11-08T07:00:43Z --- .../f5_modules/changelogs/config.yaml | 32 +-- .../plugins/lookup/bigiq_license.py | 11 +- .../plugins/lookup/license_hopper.py | 10 +- .../plugins/modules/bigip_apm_acl.py | 4 +- .../modules/bigip_apm_network_access.py | 6 +- .../modules/bigip_apm_policy_import.py | 2 +- .../modules/bigip_asm_dos_application.py | 12 +- .../plugins/modules/bigip_asm_policy_fetch.py | 10 +- .../modules/bigip_asm_policy_import.py | 2 +- .../modules/bigip_asm_policy_manage.py | 4 +- .../plugins/modules/bigip_config.py | 6 +- .../modules/bigip_configsync_action.py | 6 +- .../plugins/modules/bigip_data_group.py | 8 +- .../plugins/modules/bigip_device_auth.py | 4 +- .../plugins/modules/bigip_device_auth_ldap.py | 2 +- .../modules/bigip_device_auth_radius.py | 8 +- .../modules/bigip_device_certificate.py | 8 +- .../plugins/modules/bigip_device_group.py | 6 +- .../plugins/modules/bigip_device_ha_group.py | 2 +- .../plugins/modules/bigip_device_httpd.py | 2 +- .../plugins/modules/bigip_device_info.py | 2 +- .../plugins/modules/bigip_device_license.py | 3 +- .../modules/bigip_device_traffic_group.py | 4 +- .../modules/bigip_dns_cache_resolver.py | 2 +- .../plugins/modules/bigip_dns_nameserver.py | 2 +- .../plugins/modules/bigip_dns_zone.py | 15 +- .../plugins/modules/bigip_file_copy.py | 2 +- .../modules/bigip_firewall_address_list.py | 3 - .../modules/bigip_firewall_log_profile.py | 4 +- .../bigip_firewall_log_profile_network.py | 32 +-- .../plugins/modules/bigip_firewall_rule.py | 4 +- .../plugins/modules/bigip_gtm_dns_listener.py | 4 +- .../plugins/modules/bigip_gtm_global.py | 4 +- .../modules/bigip_gtm_monitor_https.py | 2 +- .../plugins/modules/bigip_gtm_pool_member.py | 206 ++++++++++------ .../plugins/modules/bigip_gtm_server.py | 2 +- .../modules/bigip_gtm_topology_record.py | 4 +- .../modules/bigip_gtm_topology_region.py | 2 +- .../plugins/modules/bigip_gtm_wide_ip.py | 2 +- .../plugins/modules/bigip_iapp_service.py | 6 +- .../plugins/modules/bigip_iapp_template.py | 2 +- .../plugins/modules/bigip_ike_peer.py | 2 +- .../plugins/modules/bigip_imish_config.py | 6 +- .../plugins/modules/bigip_interface.py | 16 +- .../plugins/modules/bigip_lx_package.py | 2 +- .../modules/bigip_message_routing_peer.py | 2 +- .../modules/bigip_message_routing_protocol.py | 4 +- .../modules/bigip_message_routing_router.py | 6 +- .../plugins/modules/bigip_monitor_dns.py | 2 +- .../modules/bigip_monitor_gateway_icmp.py | 2 +- .../plugins/modules/bigip_monitor_icmp.py | 4 +- .../plugins/modules/bigip_password_policy.py | 2 +- .../plugins/modules/bigip_policy.py | 4 +- .../f5_modules/plugins/modules/bigip_pool.py | 173 +++++++++++++- .../plugins/modules/bigip_pool_member.py | 223 +++++++++++++++--- .../modules/bigip_profile_client_ssl.py | 5 +- .../plugins/modules/bigip_profile_dns.py | 12 +- .../plugins/modules/bigip_profile_ftp.py | 4 +- .../plugins/modules/bigip_profile_http.py | 2 +- .../plugins/modules/bigip_profile_http2.py | 2 +- .../bigip_profile_persistence_src_addr.py | 6 +- .../bigip_profile_persistence_universal.py | 6 +- .../modules/bigip_profile_server_ssl.py | 2 +- .../plugins/modules/bigip_profile_sip.py | 8 +- .../plugins/modules/bigip_profile_tcp.py | 2 +- .../plugins/modules/bigip_profile_udp.py | 2 +- .../plugins/modules/bigip_provision_async.py | 12 +- .../plugins/modules/bigip_qkview.py | 4 +- .../plugins/modules/bigip_remote_role.py | 2 +- .../plugins/modules/bigip_remote_user.py | 6 +- .../plugins/modules/bigip_service_policy.py | 4 +- .../plugins/modules/bigip_snat_translation.py | 11 +- .../plugins/modules/bigip_software_update.py | 6 +- .../plugins/modules/bigip_ssl_ocsp.py | 2 +- .../plugins/modules/bigip_static_route.py | 4 +- .../plugins/modules/bigip_sys_db.py | 2 +- .../plugins/modules/bigip_sys_global.py | 2 +- .../f5_modules/plugins/modules/bigip_trunk.py | 2 +- .../plugins/modules/bigip_tunnel.py | 4 +- .../f5_modules/plugins/modules/bigip_ucs.py | 6 +- .../plugins/modules/bigip_ucs_fetch.py | 4 +- .../plugins/modules/bigip_vcmp_guest.py | 2 +- .../modules/bigiq_application_fasthttp.py | 8 +- .../modules/bigiq_application_fastl4_tcp.py | 8 +- .../modules/bigiq_application_fastl4_udp.py | 8 +- .../plugins/modules/bigiq_application_http.py | 8 +- .../bigiq_application_https_offload.py | 17 +- .../modules/bigiq_application_https_waf.py | 17 +- .../plugins/modules/bigiq_device_discovery.py | 2 +- .../plugins/modules/bigiq_regkey_license.py | 6 +- .../bigiq_regkey_license_assignment.py | 6 +- .../plugins/modules/bigiq_utility_license.py | 2 +- .../bigiq_utility_license_assignment.py | 6 +- .../f5_modules/tests/sanity/ignore-2.13.txt | 45 ---- .../f5_modules/tests/sanity/ignore-2.14.txt | 45 ---- .../f5_modules/tests/sanity/ignore-2.15.txt | 45 ---- 96 files changed, 750 insertions(+), 497 deletions(-) diff --git a/ansible_collections/f5networks/f5_modules/changelogs/config.yaml b/ansible_collections/f5networks/f5_modules/changelogs/config.yaml index 91ec7ae..3e12a79 100644 --- a/ansible_collections/f5networks/f5_modules/changelogs/config.yaml +++ b/ansible_collections/f5networks/f5_modules/changelogs/config.yaml @@ -11,21 +11,21 @@ notesdir: fragments prelude_section_name: release_summary prelude_section_title: Release Summary sections: -- - major_changes - - Major Changes -- - minor_changes - - Minor Changes -- - breaking_changes - - Breaking Changes / Porting Guide -- - deprecated_features - - Deprecated Features -- - removed_features - - Removed Features (previously deprecated) -- - security_fixes - - Security Fixes -- - bugfixes - - Bugfixes -- - known_issues - - Known Issues + - - major_changes + - Major Changes + - - minor_changes + - Minor Changes + - - breaking_changes + - Breaking Changes / Porting Guide + - - deprecated_features + - Deprecated Features + - - removed_features + - Removed Features (previously deprecated) + - - security_fixes + - Security Fixes + - - bugfixes + - Bugfixes + - - known_issues + - Known Issues title: F5Networks F5_Modules Collection trivial_section_name: trivial diff --git a/ansible_collections/f5networks/f5_modules/plugins/lookup/bigiq_license.py b/ansible_collections/f5networks/f5_modules/plugins/lookup/bigiq_license.py index 74e5b07..b3c23bb 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/lookup/bigiq_license.py +++ b/ansible_collections/f5networks/f5_modules/plugins/lookup/bigiq_license.py @@ -7,13 +7,14 @@ __metaclass__ = type DOCUMENTATION = """ - lookup: bigiq_license - author: Wojciech Wypior - version_added: "1.0" + name: bigiq_license + author: + - Wojciech Wypior (@wojtek0806) + version_added: "1.0.0" short_description: Select a random license key from a pool of biqiq available licenses description: - - Select a random license key from a pool of biqiq available licenses - ,Requires specifying BIGIQ license pool name and connection parameters + - Select a random license key from a pool of biqiq available licenses. + - Requires specifying BIGIQ license pool name and connection parameters. """ EXAMPLES = """ diff --git a/ansible_collections/f5networks/f5_modules/plugins/lookup/license_hopper.py b/ansible_collections/f5networks/f5_modules/plugins/lookup/license_hopper.py index e089923..fcbe717 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/lookup/license_hopper.py +++ b/ansible_collections/f5networks/f5_modules/plugins/lookup/license_hopper.py @@ -5,13 +5,13 @@ __metaclass__ = type DOCUMENTATION = """ - lookup: Select a random license key from a file and remove it from future lookups - author: Tim Rupp - version_added: "1.0" + name: license_hopper + author: Tim Rupp (@caphrim007) + version_added: "1.0.0" short_description: Return random license from list description: - - Select a random license key from a file and remove it from future lookups - - Can optionally remove the key if C(remove=True) is specified + - Select a random license key from a file and remove it from future lookups. + - Can optionally remove the key if C(remove=True) is specified. """ EXAMPLES = """ diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_acl.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_acl.py index de437f6..e0aa618 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_acl.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_acl.py @@ -199,7 +199,7 @@ name: L7foo acl_order: 1 type: static - path_match_case: no + path_match_case: false entries: - action: allow host_name: 'foobar.com' @@ -221,7 +221,7 @@ name: L7L4foo acl_order: 2 type: static - path_match_case: no + path_match_case: false entries: - action: allow host_name: 'foobar.com' diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_network_access.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_network_access.py index c5898da..5658e6e 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_network_access.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_network_access.py @@ -152,7 +152,7 @@ bigip_apm_network_access: name: foobar ip_version: ipv4 - split_tunnel: yes + split_tunnel: true snat_pool: "none" ipv4_lease_pool: leasefoo ipv4_address_space: @@ -174,8 +174,8 @@ - subnet: 172.16.23.0/24 excluded_ipv4_adresses: - subnet: 10.10.2.0/24 - allow_local_subnet: yes - allow_local_dns: yes + allow_local_subnet: true + allow_local_dns: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_policy_import.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_policy_import.py index 3ae2487..3d95523 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_policy_import.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_apm_policy_import.py @@ -87,7 +87,7 @@ bigip_asm_policy: name: new_apm_policy source: /root/apm_policy.tar.gz - force: yes + force: true provider: server: lb.mydomain.com user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_dos_application.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_dos_application.py index 3006172..5ee49e6 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_dos_application.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_dos_application.py @@ -192,11 +192,11 @@ whitelist: - Cuba heavy_urls: - auto_detect: yes + auto_detect: true latency_threshold: 1000 rtbh_duration: 3600 - rtbh_enable: yes - single_page_application: yes + rtbh_enable: true + single_page_application: true provider: password: secret server: lb.mydomain.com @@ -207,9 +207,9 @@ bigip_asm_dos_application: profile: dos_foo mobile_detection: - enabled: yes - allow_any_ios_package: yes - allow_emulators: yes + enabled: true + allow_any_ios_package: true + allow_emulators: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_fetch.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_fetch.py index 29fa872..66c91ca 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_fetch.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_fetch.py @@ -72,7 +72,7 @@ name: foobar file: export_foo dest: /root/download - binary: yes + binary: true provider: password: secret server: lb.mydomain.com @@ -82,8 +82,8 @@ - name: Export policy inline base64 encoded format bigip_asm_policy_fetch: name: foobar - inline: yes - base64: yes + inline: true + base64: true provider: password: secret server: lb.mydomain.com @@ -106,7 +106,7 @@ name: foobar file: export_foo.xml dest: /root/download/ - compact: yes + compact: true provider: password: secret server: lb.mydomain.com @@ -117,7 +117,7 @@ bigip_asm_policy_fetch: name: foobar dest: /root/download/ - binary: yes + binary: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_import.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_import.py index 6f5d4ec..af3a376 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_import.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_import.py @@ -150,7 +150,7 @@ bigip_asm_policy: name: new_asm_policy source: /root/asm_policy_new.xml - force: yes + force: true provider: server: lb.mydomain.com user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_manage.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_manage.py index 7d5ce59..ff21d89 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_manage.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_asm_policy_manage.py @@ -126,7 +126,7 @@ - name: Create blank ASM policy and activate bigip_asm_policy_manage: name: new_blank_policy - active: yes + active: true state: present provider: server: lb.mydomain.com @@ -137,7 +137,7 @@ - name: Activate ASM policy bigip_asm_policy_manage: name: inactive_policy - active: yes + active: true state: present provider: server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_config.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_config.py index 69d140b..7d42b7a 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_config.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_config.py @@ -65,7 +65,7 @@ EXAMPLES = r''' - name: Save the running configuration of the BIG-IP bigip_config: - save: yes + save: true provider: server: lb.mydomain.com password: secret @@ -74,8 +74,8 @@ - name: Reset the BIG-IP configuration, for example, to RMA the device bigip_config: - reset: yes - save: yes + reset: true + save: true provider: server: lb.mydomain.com password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_configsync_action.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_configsync_action.py index 2acd301..3667d46 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_configsync_action.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_configsync_action.py @@ -55,7 +55,7 @@ - name: Sync configuration from device to group bigip_configsync_action: device_group: foo-group - sync_device_to_group: yes + sync_device_to_group: true provider: server: lb.mydomain.com user: admin @@ -65,7 +65,7 @@ - name: Sync configuration from most recent device to the current host bigip_configsync_action: device_group: foo-group - sync_group_to_device: yes + sync_group_to_device: true provider: server: lb.mydomain.com user: admin @@ -75,7 +75,7 @@ - name: Perform an initial sync of a device to a new device group bigip_configsync_action: device_group: new-device-group - sync_device_to_group: yes + sync_device_to_group: true provider: server: lb.mydomain.com user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_data_group.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_data_group.py index 5b7b444..cfd621d 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_data_group.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_data_group.py @@ -159,7 +159,7 @@ - name: Create a data group of addresses bigip_data_group: name: foo - internal: yes + internal: true records: - key: 0.0.0.0/32 value: External_NAT @@ -175,7 +175,7 @@ - name: Create a data group of strings bigip_data_group: name: foo - internal: yes + internal: true records: - key: caddy value: "" @@ -204,7 +204,7 @@ - name: Update an existing internal data group of strings bigip_data_group: name: foo - internal: yes + internal: true records: - key: caddy value: "" @@ -1459,7 +1459,7 @@ def __init__(self): type='list', elements='raw', options=dict( - key=dict(required=True), + key=dict(required=True, no_log=True), value=dict(type='raw') ) ), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth.py index b42f462..8a089d2 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth.py @@ -170,7 +170,7 @@ - 10.10.10.11 service_name: ppp state: present - use_for_auth: yes + use_for_auth: true provider: password: secret server: lb.mydomain.com @@ -188,7 +188,7 @@ port: 1234 - 10.10.10.11 service_name: ppp - use_for_auth: yes + use_for_auth: true state: present provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_ldap.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_ldap.py index 8706f53..3a638b3 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_ldap.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_ldap.py @@ -872,7 +872,7 @@ def __init__(self): choices=['yes', 'no', 'start-tls'] ), ca_cert=dict(aliases=['ssl_ca_cert']), - client_key=dict(aliases=['ssl_client_key']), + client_key=dict(aliases=['ssl_client_key'], no_log=True), client_cert=dict(aliases=['ssl_client_cert']), validate_certs=dict(type='bool', aliases=['ssl_check_peer']), login_ldap_attr=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_radius.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_radius.py index f147b7d..2096d8d 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_radius.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_auth_radius.py @@ -86,9 +86,9 @@ - "ansible_test2" retries: 3 service_type: authenticate-only - accounting_bug: no - use_for_auth: yes - fallback_to_local: yes + accounting_bug: false + use_for_auth: true + fallback_to_local: true state: present provider: password: secret @@ -100,7 +100,7 @@ bigip_device_auth_radius: retries: 5 service_type: administrative - accounting_bug: yes + accounting_bug: true state: present provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_certificate.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_certificate.py index af4e542..556f5af 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_certificate.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_certificate.py @@ -135,7 +135,7 @@ - name: Force update not expired certificate bigip_device_certificate: days_valid: 365 - force: yes + force: true provider: password: secret server: lb.mydomain.com @@ -147,7 +147,7 @@ - name: Create a new certificate to replace expired certificate bigip_device_certificate: days_valid: 365 - new_cert: yes + new_cert: true issuer: country: US state: WA @@ -165,8 +165,8 @@ days_valid: 365 cert_name: custom.crt key_name: custom.key - new_cert: yes - force: yes + new_cert: true + force: true issuer: country: US state: WA diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_group.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_group.py index 1fc8de9..022efd3 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_group.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_group.py @@ -121,7 +121,7 @@ - name: Create a sync-only device group with auto-sync enabled bigip_device_group: name: foo-group - auto_sync: yes + auto_sync: true provider: password: secret server: lb.mydomain.com @@ -131,8 +131,8 @@ - name: Create a sync-only device group with auto-sync and asm-sync enabled bigip_device_group: name: foo-group - auto_sync: yes - asm_sync: yes + auto_sync: true + asm_sync: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_ha_group.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_ha_group.py index 7152612..11093ee 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_ha_group.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_ha_group.py @@ -130,7 +130,7 @@ name: foo_ha description: empty_foo active_bonus: 20 - enable: no + enable: false provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_httpd.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_httpd.py index 87d8c69..f4f4a2e 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_httpd.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_httpd.py @@ -131,7 +131,7 @@ - name: Set the validate IP settings bigip_device_httpd: - auth_pam_validate_ip: on + auth_pam_validate_ip: false provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_info.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_info.py index b897cfb..6753634 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_info.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_info.py @@ -7579,7 +7579,7 @@ - Specifies that only connections that have a return route in the routing table are accepted. returned: queried type: bool - sample: yes + sample: true true_mac_address: description: - Media access control (MAC) address for the lowest-numbered interface assigned to this VLAN. diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_license.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_license.py index 87c34de..e34152b 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_license.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_license.py @@ -899,10 +899,11 @@ class ArgumentSpec(object): def __init__(self): self.supports_check_mode = True argument_spec = dict( - license_key=dict(), + license_key=dict(no_log=True), addon_keys=dict( type='list', elements='str', + no_log=True ), license_server=dict( default='activate.f5.com' diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_traffic_group.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_traffic_group.py index f884f10..3a52e23 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_traffic_group.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_device_traffic_group.py @@ -121,7 +121,7 @@ ha_order: - /Common/bigip1.lab.local - /Common/bigip2.lab.local - auto_failback: yes + auto_failback: true auto_failback_time: 40 provider: user: admin @@ -135,7 +135,7 @@ state: present ha_group: foo_HA_grp ha_order: "" - auto_failback: no + auto_failback: false provider: user: admin password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_cache_resolver.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_cache_resolver.py index 8dcc6b8..d38f9e4 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_cache_resolver.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_cache_resolver.py @@ -83,7 +83,7 @@ - name: Create a DNS resolver cache bigip_dns_cache: name: foo - answer_default_zones: yes + answer_default_zones: true forward_zones: - name: foo.bar.com nameservers: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_nameserver.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_nameserver.py index 9da3370..9d23146 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_nameserver.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_nameserver.py @@ -426,7 +426,7 @@ def __init__(self): address=dict(), service_port=dict(), route_domain=dict(), - tsig_key=dict(), + tsig_key=dict(no_log=True), state=dict( default='present', choices=['present', 'absent'] diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_zone.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_zone.py index ab6c155..41eb223 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_zone.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_dns_zone.py @@ -106,13 +106,13 @@ bigip_dns_zone: name: zone.foo.com dns_express: - enabled: yes + enabled: true server: dns-lab allow_notify_from: - 192.168.39.10 notify_action: consume - verify_tsig: no - response_policy: no + verify_tsig: false + response_policy: false provider: password: secret server: lb.mydomain.com @@ -123,13 +123,13 @@ bigip_dns_zone: name: zone.foo.com dns_express: - enabled: no + enabled: false server: foo1.server.com allow_notify_from: - 192.168.39.10 notify_action: bypass - verify_tsig: no - response_policy: no + verify_tsig: false + response_policy: false provider: password: secret server: lb.mydomain.com @@ -200,7 +200,6 @@ server: lb.mydomain.com user: admin delegate_to: localhost - ''' RETURN = r''' @@ -662,7 +661,7 @@ def __init__(self): type='list', elements='str', ), - tsig_server_key=dict(), + tsig_server_key=dict(no_log=True), partition=dict( default='Common', fallback=(env_fallback, ['F5_PARTITION']) diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_file_copy.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_file_copy.py index a84c54a..d200bfd 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_file_copy.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_file_copy.py @@ -91,7 +91,7 @@ find: paths: /var/tmp/project patterns: "^.*?\\.(?:html|?:css|?:js)$" - use_regex: yes + use_regex: true register: f - name: Upload a directory of files as a set of iFiles diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_address_list.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_address_list.py index 5bb375f..7f43701 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_address_list.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_address_list.py @@ -44,9 +44,6 @@ - Valid country codes can be found here https://countrycode.org/. type: str required: True - choices: - - Any valid 2 character ISO country code. - - Any valid country name. region: description: - Region name of the country to use. diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile.py index 0f88c4b..c2a68dc 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile.py @@ -143,8 +143,8 @@ name: barbaz ip_intelligence: rate_limit: 400000 - log_translation_fields: yes - log_rtbh: yes + log_translation_fields: true + log_rtbh: true log_publisher: "/foobar/non-local-db" port_misuse: log_publisher: "" diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile_network.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile_network.py index 39fc59d..6f2fde7 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile_network.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_log_profile_network.py @@ -49,7 +49,7 @@ - This option sets rate limits for the logging of packets that match ACL rules configured with an "accept" or "accept decisively" action. - This option is effective only if logging of this message type is enabled. - type: int + type: str log_matches_drop_rule: description: - Modifies log settings for ACL rules configured with a drop action. @@ -65,7 +65,7 @@ - This option sets rate limits for the logging of packets that match ACL rules configured with a drop action. - This option is effective only if logging of this message type is enabled. - type: int + type: str log_matches_reject_rule: description: - Modifies log settings for ACL rules configured with a reject action. @@ -81,7 +81,7 @@ - This option sets rate limits for the logging of packets that match ACL rules configured with a reject action. - This option is effective only if logging of this message type is enabled. - type: int + type: str log_ip_errors: description: - Modifies log settings for logging of IP error packets. @@ -95,7 +95,7 @@ description: - This option sets rate limits for the logging of IP error packets. - This option is effective only if logging of this message type is enabled. - type: int + type: str log_tcp_errors: description: - Modifies log settings for the logging of TCP error packets. @@ -109,7 +109,7 @@ description: - This option sets rate limits for the logging of TCP error packets. - This option is effective only if logging of this message type is enabled. - type: int + type: str log_tcp_events: description: - Modifies the log settings for logging of TCP events on the client side. @@ -124,7 +124,7 @@ description: - This option sets rate limits for the logging of TCP events on the client side. - This option is effective only if logging of this message type is enabled. - type: int + type: str log_translation_fields: description: - This option enables or disables the logging of translated (i.e server side) fields in ACL @@ -228,14 +228,14 @@ - name: Add network settings to log profile bigip_firewall_log_profile_network: profile_name: barbaz - rate_limit: 150000 + rate_limit: "150000" log_publisher: local-db-pub log_tcp_errors: - enabled: yes - rate_limit: 10000 + enabled: true + rate_limit: "10000" log_tcp_events: - enabled: yes - rate_limit: 40000 + enabled: true + rate_limit: "40000" log_storage_format: "field-list" log_message_fields: - vlan @@ -265,12 +265,12 @@ profile_name: "global-network" log_publisher: "/foobar/log1" log_ip_errors: - enabled: yes - rate_limit: 60000 + enabled: true + rate_limit: "60000" log_matches_reject_rule: - enabled: yes - rate_limit: 2000 - log_translation_fields: yes + enabled: true + rate_limit: "2000" + log_translation_fields: true log_storage_format: "field-list" log_format_delimiter: '.' log_message_fields: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_rule.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_rule.py index 92c7e89..e331100 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_rule.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_firewall_rule.py @@ -286,7 +286,7 @@ - port_range: 80-443 irule: irule1 action: accept - logging: yes + logging: true provider: password: secret server: lb.mydomain.com @@ -302,7 +302,7 @@ source: - country: US action: drop - logging: yes + logging: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_dns_listener.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_dns_listener.py index 2a24df4..f9a6d1d 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_dns_listener.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_dns_listener.py @@ -146,8 +146,8 @@ user: admin source_port: preserve state: present - translate_address: yes - translate_port: yes + translate_address: true + translate_port: true delegate_to: localhost - name: 'Disable a DNS Listener' diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_global.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_global.py index d001b88..4a15646 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_global.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_global.py @@ -43,9 +43,9 @@ EXAMPLES = r''' - name: Configure synchronization settings bigip_gtm_global: - synchronization: yes + synchronization: true synchronization_group_name: my-group - synchronize_zone_files: yes + synchronize_zone_files: true state: present provider: user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_monitor_https.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_monitor_https.py index fac85d9..a3a2c49 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_monitor_https.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_monitor_https.py @@ -934,7 +934,7 @@ def __init__(self): cipher_list=dict(), compatibility=dict(type='bool'), client_cert=dict(), - client_key=dict(), + client_key=dict(no_log=True), update_password=dict( default='always', choices=['always', 'on_create'], diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_pool_member.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_pool_member.py index 9ad3d29..0f6bb89 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_pool_member.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_pool_member.py @@ -20,6 +20,108 @@ settings. version_added: "1.0.0" options: + aggregate: + description: + - List of GTM pool member definitions to be created, modified, or removed. + - When using C(aggregates), if one of the aggregate definitions is invalid, the aggregate run will fail, + indicating the error it last encountered. + - The module will C(NOT) rollback any changes it has made prior to encountering the error. + - The module also will not indicate what changes were made prior to failure, therefore we strongly advise + you run the module in check mode to make basic validation, prior to module execution. + type: list + elements: dict + suboptions: + virtual_server: + description: + - Specifies the name of the GTM virtual server which is assigned to the specified + C(server). + type: str + server_name: + description: + - Specifies the GTM server which contains the C(virtual_server). + type: str + member_order: + description: + - Specifies the order in which the member will appear in the pool. + - The system uses this number with load balancing methods that involve prioritizing + pool members, such as the Ratio load balancing method. + type: int + monitor: + description: + - Specifies the monitor assigned to this pool member. + - Pool members only support a single monitor. + - If the C(port) of the C(gtm_virtual_server) is C(*), the accepted values of this + parameter will be affected. + - If this parameter is not specified when creating a new pool member, the default + of C(default) will be used. + - To remove the monitor from the pool member, use the value C(none). + type: str + ratio: + description: + - Specifies the weight of the pool member for load balancing purposes. + type: int + description: + description: + - The description of the pool member. + type: str + limits: + description: + - Specifies resource thresholds or limit requirements at the pool member level. + - When you enable one or more limit settings, the system then uses that data to take + members in and out of service. + - You can define limits for any or all of the limit settings. However, when a + member does not meet the resource threshold limit requirement, the system marks + the member as unavailable and directs load balancing traffic to another resource. + type: dict + suboptions: + bits_enabled: + description: + - Whether or not the bits limit is enabled. + type: bool + packets_enabled: + description: + - Whether or not the packets limit is enabled. + type: bool + connections_enabled: + description: + - Whether or not the current connections limit is enabled. + type: bool + bits_limit: + description: + - Specifies the maximum allowable data throughput rate + for the member, in bits per second. + type: int + packets_limit: + description: + - Specifies the maximum allowable data transfer rate for the member, + in packets per second. + type: int + connections_limit: + description: + - Specifies the maximum number of concurrent connections, combined, for all of + the members. + type: int + state: + description: + - Pool member state. When C(present), ensures the pool member is + created and enabled. When C(absent), ensures the pool member is + removed from the system. When C(enabled) or C(disabled), ensures + the pool member is enabled or disabled (respectively) on the remote + device. + type: str + choices: + - present + - absent + - enabled + - disabled + default: present + partition: + description: + - Device partition to manage resources on. + type: str + default: Common + aliases: + - members virtual_server: description: - Specifies the name of the GTM virtual server which is assigned to the specified @@ -29,37 +131,11 @@ description: - Specifies the GTM server which contains the C(virtual_server). type: str - type: - description: - - The type of GTM pool that the member is in. - type: str - required: True - choices: - - a - - aaaa - - cname - - mx - - naptr - - srv - pool: - description: - - Name of the GTM pool. - - For pools created on different partitions, you must specify partition of the pool in the full path format, - for example, C(/FooBar/pool_name). - type: str - required: True - partition: - description: - - Device partition to manage resources on. - type: str - default: Common member_order: description: - Specifies the order in which the member will appear in the pool. - The system uses this number with load balancing methods that involve prioritizing pool members, such as the Ratio load balancing method. - - When creating a new member using this module, if the C(member_order) parameter - is not specified, it will default to C(0) (first member in the pool). type: int monitor: description: @@ -70,8 +146,6 @@ - If this parameter is not specified when creating a new pool member, the default of C(default) will be used. - To remove the monitor from the pool member, use the value C(none). - - For pool members created on different partitions, you can also specify the full - path to the Common monitor. For example, C(/Common/tcp). type: str ratio: description: @@ -81,27 +155,6 @@ description: - The description of the pool member. type: str - aggregate: - description: - - List of GTM pool member definitions to be created, modified, or removed. - - When using C(aggregates), if one of the aggregate definitions is invalid, the aggregate run will fail, - indicating the error it last encountered. - - The module will C(NOT) rollback any changes it has made prior to encountering the error. - - The module also will not indicate what changes were made prior to failure, therefore we strongly advise - you run the module in check mode to make basic validation, prior to module execution. - type: list - elements: dict - aliases: - - members - replace_all_with: - description: - - Removes members not defined in the C(aggregate) parameter. - - This operation is all or none, meaning it will stop if there are some pool members - that cannot be removed. - default: false - type: bool - aliases: - - purge limits: description: - Specifies resource thresholds or limit requirements at the pool member level. @@ -110,44 +163,68 @@ - You can define limits for any or all of the limit settings. However, when a member does not meet the resource threshold limit requirement, the system marks the member as unavailable and directs load balancing traffic to another resource. + type: dict suboptions: bits_enabled: description: - Whether or not the bits limit is enabled. - - This parameter allows you to switch on or off the effect of the limit. type: bool packets_enabled: description: - Whether or not the packets limit is enabled. - - This parameter allows you to switch on or off the effect of the limit. type: bool connections_enabled: description: - Whether or not the current connections limit is enabled. - - This parameter allows you to switch on or off the effect of the limit. type: bool bits_limit: description: - Specifies the maximum allowable data throughput rate for the member, in bits per second. - - If the network traffic volume exceeds this limit, the system marks the - member as unavailable. type: int packets_limit: description: - Specifies the maximum allowable data transfer rate for the member, in packets per second. - - If the network traffic volume exceeds this limit, the system marks the - member as unavailable. type: int connections_limit: description: - Specifies the maximum number of concurrent connections, combined, for all of the members. - - If the connections exceed this limit, the system marks the server as - unavailable. type: int - type: dict + pool: + description: + - Name of the GTM pool. + - For pools created on different partitions, you must specify partition of the pool in the full path format, + for example, C(/FooBar/pool_name). + type: str + required: True + type: + description: + - The type of GTM pool that the member is in. + type: str + required: True + choices: + - a + - aaaa + - cname + - mx + - naptr + - srv + replace_all_with: + description: + - Removes members not defined in the C(aggregate) parameter. + - This operation is all or none, meaning it will stop if there are some pool members + that cannot be removed. + type: bool + default: false + aliases: + - purge + partition: + description: + - Device partition to manage resources on. + type: str + default: Common state: description: - Pool member state. When C(present), ensures the pool member is @@ -155,13 +232,6 @@ removed from the system. When C(enabled) or C(disabled), ensures the pool member is enabled or disabled (respectively) on the remote device. - - We recommend you use the C(members) parameter of the C(bigip_gtm_pool) - module when adding and removing members, as it provides an easier way of - specifying order. If this is not possible, the C(state) parameter here - should be used. - - Remember that the order of the members will be affected if you add or remove them - using this method. To some extent, this can be controlled using the C(member_order) - parameter. type: str choices: - present @@ -247,7 +317,7 @@ partition: Common description: web server3 member_order: 2 - replace_all_with: yes + replace_all_with: true provider: server: lb.mydomain.com user: admin @@ -1012,6 +1082,8 @@ def __init__(self): # remove default in aggregate spec, to handle common arguments remove_default_spec(aggregate_spec) + aggregate_spec["state"].update(default="present") + aggregate_spec["partition"].update(default="Common") self.argument_spec = dict( aggregate=dict( diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_server.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_server.py index 0a2a9d5..b543716 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_server.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_server.py @@ -407,7 +407,7 @@ description: Whether the packets limit is enabled. returned: changed type: bool - sample: yes + sample: true packets_limit: description: The new packets_limit limit. returned: changed diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_record.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_record.py index c339953..c1bb89d 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_record.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_record.py @@ -202,10 +202,10 @@ bigip_gtm_topology_record: source: - region: Baz - - negate: yes + - negate: true destination: - datacenter: Baz-DC - - negate: yes + - negate: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_region.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_region.py index 4ac232f..c592bfc 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_region.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_topology_region.py @@ -119,7 +119,7 @@ name: foobar region_members: - country: CN - negate: yes + negate: true - datacenter: baz provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_wide_ip.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_wide_ip.py index 92f03b6..73173c9 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_wide_ip.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_gtm_wide_ip.py @@ -222,7 +222,7 @@ type: a pools: - name: pool1 - persistence: yes + persistence: true persist_cidr_ipv4: 24 persist_cidr_ipv6: 120 persistence_ttl: 3500 diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_service.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_service.py index b59d2f5..b3d90ab 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_service.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_service.py @@ -157,7 +157,7 @@ bigip_iapp_service: name: tests template: web_frontends - force: yes + force: true state: present parameters: variables: @@ -237,9 +237,9 @@ template: f5.http parameters: "{{ lookup('file', 'f5.http.parameters.json') }}" metadata: - - persist: yes + - persist: true name: data 1 - - persist: yes + - persist: true name: data 2 state: present provider: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_template.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_template.py index fa0b03d..0988649 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_template.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_iapp_template.py @@ -91,7 +91,7 @@ - name: Update a template in place that has existing services created from it. bigip_iapp_template: content: "{{ lookup('template', 'iapp-new.tmpl') }}" - force: yes + force: true state: present provider: user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ike_peer.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ike_peer.py index d174a92..ab28584 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ike_peer.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ike_peer.py @@ -769,7 +769,7 @@ def __init__(self): ] ), phase1_cert=dict(), - phase1_key=dict(), + phase1_key=dict(no_log=True), phase1_verify_peer_cert=dict(type='bool'), update_password=dict( default='always', diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_imish_config.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_imish_config.py index ec5fa3e..d728f75 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_imish_config.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_imish_config.py @@ -20,7 +20,7 @@ description: - Route domain on which to manage the BGP configuration. type: str - default: 0 + default: "0" lines: description: - The ordered set of commands that should be configured in the @@ -286,7 +286,7 @@ - name: configurable backup path bigip_imish_config: lines: bfd slow-timer 2000 - backup: yes + backup: true provider: user: admin password: secret @@ -777,7 +777,7 @@ def __init__(self): dir_path=dict(type='path') ) argument_spec = dict( - route_domain=dict(default=0), + route_domain=dict(default="0"), src=dict(type='path'), lines=dict( type='list', diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_interface.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_interface.py index 9f791fa..eff449c 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_interface.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_interface.py @@ -266,18 +266,18 @@ - name: Update Interface Settings bigip_interface: name: 1.1 - stp: yes - stp_auto_edge_port: no - stp_edge_port: yes + stp: true + stp_auto_edge_port: false + stp_edge_port: true stp_link_type: shared description: my description flow_control: tx lldp_admin: txrx lldp_tlvmap: 8 - force_gigabit_fiber: no + force_gigabit_fiber: false sflow: - poll_interval: 10 - - poll_interval_global: no + - poll_interval_global: false provider: password: secret server: lb.mydomain.com @@ -287,7 +287,7 @@ - name: Disable Interface bigip_interface: name: 1.1 - enabled: no + enabled: false provider: password: secret server: lb.mydomain.com @@ -299,7 +299,7 @@ name: 1.1 sflow: - poll_interval: 0 - - poll_interval_global: yes + - poll_interval_global: true provider: password: secret server: lb.mydomain.com @@ -382,7 +382,7 @@ description: Sets STP automatic edge port detection for the interface. returned: changed type: bool - sample: yes + sample: true stp_edge_port: description: Specifies whether the interface connects to an end station instead of another spanning tree bridge. returned: changed diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py index 6f58097..f42b0e5 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py @@ -88,7 +88,7 @@ - name: Install AS3 and don't delete package file bigip_lx_package: package: f5-appsvcs-3.5.0-3.noarch.rpm - retain_package_file: yes + retain_package_file: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_peer.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_peer.py index b56847d..81cbe89 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_peer.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_peer.py @@ -115,7 +115,7 @@ partition: baz transport_config: foovirtual ratio: 10 - auto_init: yes + auto_init: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_protocol.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_protocol.py index 9fac037..a9a142f 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_protocol.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_protocol.py @@ -84,7 +84,7 @@ bigip_message_routing_protocol: name: foo description: 'This is parser' - no_response: yes + no_response: true provider: password: secret server: lb.mydomain.com @@ -94,7 +94,7 @@ - name: Modify a generic parser bigip_message_routing_protocol: name: foo - no_response: no + no_response: false max_egress_buffer: 10000 max_msg_size: 2000 provider: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_router.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_router.py index 7dad085..94524b0 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_router.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_message_routing_router.py @@ -122,7 +122,7 @@ bigip_message_routing_router: name: foo max_retries: 10 - ignore_client_port: yes + ignore_client_port: true routes: - /Common/route1 - /Common/route2 @@ -135,8 +135,8 @@ - name: Modify a generic router profile bigip_message_routing_router: name: foo - ignore_client_port: no - mirror: yes + ignore_client_port: false + mirror: true mirrored_msg_sweeper_interval: 4000 traffic_group: /Common/traffic-group-2 provider: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_dns.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_dns.py index 7738259..ff7ffa0 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_dns.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_dns.py @@ -237,7 +237,7 @@ query_name: localhost query_type: aaaa up_interval: 5 - adaptive: no + adaptive: false state: present provider: user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_gateway_icmp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_gateway_icmp.py index 7e4c2c8..e5a01e3 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_gateway_icmp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_gateway_icmp.py @@ -167,7 +167,7 @@ - name: Create a monitor bigip_monitor_gateway_icmp: name: gw1 - adaptive: no + adaptive: false interval: 1 time_until_up: 0 timeout: 3 diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_icmp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_icmp.py index 03fa581..4dfe1a7 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_icmp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_monitor_icmp.py @@ -172,7 +172,7 @@ - name: Create an ICMP monitor bigip_monitor_icmp: name: icmp1 - adaptive: no + adaptive: false interval: 1 time_until_up: 0 timeout: 3 @@ -185,7 +185,7 @@ - name: Update an ICMP monitor bigip_monitor_icmp: name: icmp1 - manual_resume: yes + manual_resume: true interval: 5 provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_password_policy.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_password_policy.py index a649ad9..d35cf01 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_password_policy.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_password_policy.py @@ -396,7 +396,7 @@ def __init__(self): max_login_failures=dict(type='int'), min_duration=dict(type='int'), min_length=dict(type='int'), - password_memory=dict(type='int'), + password_memory=dict(type='int', no_log=True), policy_enforcement=dict(type='bool'), required_lowercase=dict(type='int'), required_numeric=dict(type='int'), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_policy.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_policy.py index 9e35810..b7f99f1 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_policy.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_policy.py @@ -105,8 +105,8 @@ path_ends_with: - baz actions: - - forward: yes - select: yes + - forward: true + select: true pool: pool-svrs provider: server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool.py index 49e04e9..82ec9c8 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool.py @@ -185,6 +185,166 @@ you run the module in C(check) mode to ensure basic validation prior to executing this module. type: list elements: dict + suboptions: + description: + description: + - Specifies descriptive text that identifies the pool. + type: str + name: + description: + - Pool name + type: str + aliases: + - pool + lb_method: + description: + - Load balancing method. When creating a new pool, if this value is not + specified, the default of C(round-robin) is used. + type: str + choices: + - dynamic-ratio-member + - dynamic-ratio-node + - fastest-app-response + - fastest-node + - least-connections-member + - least-connections-node + - least-sessions + - observed-member + - observed-node + - predictive-member + - predictive-node + - ratio-least-connections-member + - ratio-least-connections-node + - ratio-member + - ratio-node + - ratio-session + - round-robin + - weighted-least-connections-member + - weighted-least-connections-node + monitor_type: + description: + - Monitor rule type when C(monitors) is specified. + - When creating a new pool, if this value is not specified, the default + of C(and_list) is used. + - When C(single), ensures all specified monitors are checked, but + additionally includes checks to make sure you only specified a single + monitor. + - When C(and_list), ensures B(all) monitors are checked. + - When C(m_of_n), ensures C(quorum) of C(monitors) are checked. C(m_of_n) + B(requires) a C(quorum) of 1 or greater be set either in the playbook, + or already exist on the device. + - Both C(single) and C(and_list) are functionally identical, as BIG-IP + considers all monitors as "a list". + type: str + aliases: + - availability_requirements_type + choices: + - and_list + - m_of_n + - single + quorum: + description: + - Monitor quorum value when C(monitor_type) is C(m_of_n). + - Quorum must be a value of 1 or greater when C(monitor_type) is C(m_of_n). + type: int + aliases: + - availability_requirements_at_least + monitors: + description: + - Monitor template name list. If the partition is not provided as part of + the monitor name, the C(partition) option is used instead. + type: list + elements: str + slow_ramp_time: + description: + - Sets the ramp-up time (in seconds) to gradually ramp up the load on + newly added or freshly detected up pool members. + type: int + reselect_tries: + description: + - Sets the number of times the system tries to contact a pool member + after a passive failure. + type: int + service_down_action: + description: + - Sets the action to take when node goes down in pool. + type: str + choices: + - none + - reset + - drop + - reselect + partition: + description: + - Device partition on which to manage resources. + type: str + default: Common + state: + description: + - When C(present), guarantees the pool exists with the provided + attributes. + - When C(absent), removes the pool from the system. + type: str + choices: + - absent + - present + default: present + metadata: + description: + - Arbitrary key/value pairs you can attach to a pool. This is useful in + situations where you might want to annotate a pool to be managed by Ansible. + - Key names are stored as strings; this includes names that are numbers. + - Values for all of the keys are stored as strings; this includes values + that are numbers. + - Data will be persisted, not ephemeral. + type: raw + priority_group_activation: + description: + - Specifies whether the system load balances traffic according to the priority + number assigned to the pool member. + - When creating a new pool, if this parameter is not specified, the default of + C(0) is used. + - To disable this setting, provide the value C(0). + - Once you enable this setting, you can specify pool member priority when you + create a new pool or on a pool member's properties screen. + - The system treats same-priority pool members as a group. + - To enable priority group activation, provide a number from C(0) to C(65535) + that represents the minimum number of members that must be available in one + priority group before the system directs traffic to members in a lower + priority group. + - When a sufficient number of members become available in the higher priority + group, the system again directs traffic to the higher priority group. + type: int + aliases: + - minimum_active_members + min_up_members: + description: + - Specifies the minimum number of pool members that must be up, + - otherwise, the system takes the action specified in the C(min-up-members-action) option. + - Use this option for gateway pools in a redundant system where a unit number is applied to the pool. + - This indicates the pool is configured only on the specified unit. + - When creating a new pool, if this parameter is not specified, the default is C(0). + type: int + min_up_members_action: + description: + - Specifies the action to take if C(min_up_members_checking) is C(enabled) and the number of active pool members + falls below the number specified in the C(min_up_members) option. + - When creating a new pool, if this parameter is not specified, the default is C(failover). + type: str + choices: + - failover + - reboot + - restart-all + min_up_members_checking: + description: + - Enables or disables the C(min_up_members) feature. + - If you enable this feature, you must also specify a value for both the C(min_up_members) and + C(min_up_members_action) options. + - When creating a new pool, if this parameter is not specified, the default is C(disabled). + type: str + choices: + - enabled + - disabled aliases: - pools replace_all_with: @@ -363,7 +523,7 @@ partition: Common lb_method: round-robin slow_ramp_time: 120 - replace_all_with: yes + replace_all_with: true provider: server: lb.mydomain.com user: admin @@ -1291,10 +1451,6 @@ def __init__(self): ), description=dict(), metadata=dict(type='raw'), - state=dict( - default='present', - choices=['present', 'absent'] - ), priority_group_activation=dict( type='int', aliases=['minimum_active_members'] @@ -1308,6 +1464,10 @@ def __init__(self): min_up_members_checking=dict( choices=['enabled', 'disabled'] ), + state=dict( + default='present', + choices=['present', 'absent'] + ), partition=dict( default='Common', fallback=(env_fallback, ['F5_PARTITION']) @@ -1316,8 +1476,9 @@ def __init__(self): aggregate_spec = deepcopy(element_spec) - # remove default in aggregate spec, to handle common arguments remove_default_spec(aggregate_spec) + aggregate_spec["state"].update(default="present") + aggregate_spec["partition"].update(default="Common") argument_spec = dict( aggregate=dict( diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool_member.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool_member.py index 85a97da..b1ddbf6 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool_member.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_pool_member.py @@ -16,35 +16,183 @@ - Manages F5 BIG-IP LTM pool members via the REST API. version_added: "1.0.0" options: - name: - description: - - Name of the node to create or re-use when creating a new pool member. - - While this parameter is optional, we recommend specifying this parameter - at all times to mitigate anyunexpected behavior. - - If not specified, a node name is created automatically from either the specified C(address) or C(fqdn). - - The C(enabled) state is an alias of C(present). - type: str - state: + aggregate: description: - - Pool member state. - type: str - choices: - - present - - absent - - enabled - - disabled - - forced_offline - default: present + - List of pool member definitions to be created, modified, or removed. + - When using C(aggregates), if one of the aggregate definitions is invalid, the aggregate run will fail, + indicating the error it last encountered. + - The module will B(NOT) rollback any changes it has made prior to encountering the error. + - The module also will not indicate what changes were made prior to failure. Therefore we strong advise + you run the module in C(check) mode to ensure basic validation prior to executing this module. + type: list + elements: dict + suboptions: + name: + description: + - Name of the node to create or re-use when creating a new pool member. + - While this parameter is optional, we recommend specifying this parameter + at all times to mitigate any unexpected behavior. + - If not specified, a node name is created automatically from either the specified C(address) or C(fqdn). + - The C(enabled) state is an alias of C(present). + type: str + address: + description: + - IP address of the pool member. This can be either IPv4 or IPv6. When creating a + new pool member, one of either C(address) or C(fqdn) must be provided. This + parameter cannot be updated after it is set. + type: str + aliases: + - ip + - host + fqdn: + description: + - FQDN name of the pool member. This can be any name that is a valid RFC 1123 DNS + name. Therefore, the only usable characters are "A" to "Z", + "a" to "z", "0" to "9", the hyphen ("-") and the period ("."). + - FQDN names must include at least one period; delineating the host from + the domain. For example, C(host.domain). + - FQDN names must end with a letter or a number. + - When creating a new pool member, one of either C(address) or C(fqdn) must be + provided. This parameter cannot be updated after it is set. + type: str + aliases: + - hostname + port: + description: + - Pool member port. + - This value cannot be changed after it has been set. + - Parameter must be provided when using aggregates. + type: int + connection_limit: + description: + - Pool member connection limit. Setting this to C(0) disables the limit. + type: int + description: + description: + - Pool member description. + type: str + rate_limit: + description: + - Pool member rate limit (connections-per-second). Setting this to C(0) + disables the limit. + type: int + ratio: + description: + - Pool member ratio weight. Valid values range from 1 through 100. + New pool members -- unless overridden with this value -- default + to 1. + type: int + preserve_node: + description: + - When state is C(absent), the system attempts to remove the node the pool + member references. + - The node will not be removed if it is still referenced by other pool + members. If this happens, the module will not raise an error. + - Setting this to C(true) disables this behavior. + type: bool + priority_group: + description: + - Specifies a number representing the priority group for the pool member. + - When adding a new member, the default is C(0), meaning the member has no priority. + - To specify a priority, you must activate priority group usage when you + create a new pool or when adding or removing pool members. When activated, + the system load balances traffic according to the priority group number + assigned to the pool member. + - The higher the number, the higher the priority. So a member with a priority + of 3 has higher priority than a member with a priority of 1. + type: int + fqdn_auto_populate: + description: + - Specifies whether the system automatically creates ephemeral nodes using + the IP addresses returned by the resolution of a DNS query for a node + defined by an FQDN. + - When C(true), the system generates an ephemeral node for each IP address + returned in response to a DNS query for the FQDN of the node. Additionally, + when a DNS response indicates the IP address of an ephemeral node no longer + exists, the system deletes the ephemeral node. + - When C(false), the system resolves a DNS query for the FQDN of the node + with the single IP address associated with the FQDN. + - When creating a new pool member, the default for this parameter is C(true). + - Once set this parameter cannot be changed afterwards. + - This parameter is ignored when C(reuse_nodes) is C(true). + type: bool + reuse_nodes: + description: + - Reuses node definitions if requested. + type: bool + default: true + monitors: + description: + - Specifies the health monitors the system currently uses to monitor + this resource. + type: list + elements: str + availability_requirements: + description: + - If you activate more than one health monitor, specifies the number of health + monitors that must receive successful responses in order for the link to be + considered available. + - Specifying an empty string will remove the monitors and revert to inheriting from the pool (default). + - Specifying C(none) will remove any health monitoring from the member completely. + type: dict + suboptions: + type: + description: + - Monitor rule type when C(monitors) is specified. + - When creating a new pool, if this value is not specified, the default of + C(all) will be used. + type: str + required: True + choices: + - all + - at_least + at_least: + description: + - Specifies the minimum number of active health monitors that must be successful + before the link is considered up. + - This parameter is only relevant when a C(type) of C(at_least) is used. + - This parameter will be ignored if a type of C(all) is used. + type: int + ip_encapsulation: + description: + - Specifies the IP encapsulation using either IPIP (IP encapsulation within IP, + RFC 2003) or GRE (Generic Router Encapsulation, RFC 2784) on outbound packets + (from BIG-IP system to server-pool member). + - When C(none), disables IP encapsulation. + - When C(inherit), inherits the IP encapsulation setting from the member's pool. + - When any other value, the options are None, Inherit from Pool, and Member Specific. + type: str + state: + description: + - Pool member state. + type: str + choices: + - present + - absent + - enabled + - disabled + - forced_offline + default: present + partition: + description: + - Partition to manage resources on. + type: str + default: Common + aliases: + - members pool: description: - Pool name. This pool must exist. type: str required: True - partition: + name: description: - - Partition to manage resources on. + - Name of the node to create or re-use when creating a new pool member. + - While this parameter is optional, we recommend specifying this parameter + at all times to mitigate any unexpected behavior. + - If not specified, a node name is created automatically from either the specified C(address) or C(fqdn). + - The C(enabled) state is an alias of C(present). type: str - default: Common address: description: - IP address of the pool member. This can be either IPv4 or IPv6. When creating a @@ -130,7 +278,7 @@ description: - Reuses node definitions if requested. type: bool - default: yes + default: true monitors: description: - Specifies the health monitors the system currently uses to monitor @@ -172,18 +320,22 @@ - When C(inherit), inherits the IP encapsulation setting from the member's pool. - When any other value, the options are None, Inherit from Pool, and Member Specific. type: str - aggregate: + state: description: - - List of pool member definitions to be created, modified, or removed. - - When using C(aggregates), if one of the aggregate definitions is invalid, the aggregate run will fail, - indicating the error it last encountered. - - The module will B(NOT) rollback any changes it has made prior to encountering the error. - - The module also will not indicate what changes were made prior to failure. Therefore we strong advise - you run the module in C(check) mode to ensure basic validation prior to executing this module. - type: list - elements: dict - aliases: - - members + - Pool member state. + type: str + choices: + - present + - absent + - enabled + - disabled + - forced_offline + default: present + partition: + description: + - Partition to manage resources on. + type: str + default: Common replace_all_with: description: - Removes members not defined in the C(aggregate) parameter. @@ -343,7 +495,7 @@ connection_limit: 100 rate_limit: 50 ratio: 2 - replace_all_with: yes + replace_all_with: true provider: server: lb.mydomain.com user: admin @@ -1612,6 +1764,9 @@ def __init__(self): # remove default in aggregate spec, to handle common arguments remove_default_spec(aggregate_spec) + aggregate_spec["state"].update(default="present") + aggregate_spec["partition"].update(default="Common") + aggregate_spec["reuse_nodes"].update(default=True) self.argument_spec = dict( aggregate=dict( diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_client_ssl.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_client_ssl.py index 4497edf..4084fba 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_client_ssl.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_client_ssl.py @@ -1180,11 +1180,12 @@ def __init__(self): cert_key_chain=dict( type='list', elements='dict', + no_log=True, options=dict( cert=dict(required=True), - key=dict(required=True), + key=dict(required=True, no_log=True), chain=dict(), - passphrase=dict(), + passphrase=dict(no_log=True), true_names=dict( type='bool', default='no' diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_dns.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_dns.py index 5ace577..507b7a8 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_dns.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_dns.py @@ -151,12 +151,12 @@ - name: Create a DNS profile bigip_profile_dns: name: foo - enable_dns_express: no - enable_dnssec: no - enable_gtm: no - process_recursion_desired: no - use_local_bind: no - enable_dns_firewall: yes + enable_dns_express: false + enable_dnssec: false + enable_gtm: false + process_recursion_desired: false + use_local_bind: false + enable_dns_firewall: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_ftp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_ftp.py index 20cf05a..cb64094 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_ftp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_ftp.py @@ -88,7 +88,7 @@ name: foo parent: /Common/barfoo port: 2221 - allow_ftps: yes + allow_ftps: true provider: password: secret server: lb.mydomain.com @@ -100,7 +100,7 @@ name: foo log_profile: /Common/alg_log log_publisher: /Common/foo_publisher - security: yes + security: true description: my description provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http.py index 7f56fab..57731bd 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http.py @@ -377,7 +377,7 @@ - name: Create HTTP profile bigip_profile_http: name: my_profile - insert_xforwarded_for: yes + insert_xforwarded_for: true redirect_rewrite: all state: present provider: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http2.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http2.py index d6c5961..11d5c73 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http2.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_http2.py @@ -114,7 +114,7 @@ - name: Create HTTP2 profile bigip_profile_http2: name: my_profile - insert_header: yes + insert_header: true insert_header_name: FOO state: present provider: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_src_addr.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_src_addr.py index d0c834b..69e7668 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_src_addr.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_src_addr.py @@ -113,9 +113,9 @@ name: foo state: present hash_algorithm: carp - match_across_services: yes - match_across_virtuals: yes - mirror: yes + match_across_services: true + match_across_virtuals: true + mirror: true mask: 255.255.255.255 provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_universal.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_universal.py index 20355a9..721da17 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_universal.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_persistence_universal.py @@ -103,9 +103,9 @@ bigip_profile_persistence_universal: name: foo state: present - match_across_services: yes - match_across_virtuals: yes - mirror: yes + match_across_services: true + match_across_virtuals: true + mirror: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_server_ssl.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_server_ssl.py index a12262e..a33b501 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_server_ssl.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_server_ssl.py @@ -773,7 +773,7 @@ def __init__(self): name=dict(required=True), certificate=dict(), chain=dict(), - key=dict(), + key=dict(no_log=True), passphrase=dict(no_log=True), parent=dict(default='/Common/serverssl'), ciphers=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_sip.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_sip.py index 5386e9f..dac9e48 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_sip.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_sip.py @@ -130,7 +130,7 @@ log_profile: alg_log log_publisher: foo-publisher description: this is a new profile - security: yes + security: true provider: password: secret server: lb.mydomain.com @@ -140,9 +140,9 @@ - name: Update SIP profile bigip_profile_sip: name: foo - insert_record_route_header: yes - enable_sip_firewall: yes - insert_via_header: yes + insert_record_route_header: true + enable_sip_firewall: true + insert_via_header: true user_via_header: "SIP/2.0/UDP 10.10.10.10:5060" provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_tcp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_tcp.py index 44bd3ce..c5687db 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_tcp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_tcp.py @@ -156,7 +156,7 @@ bigip_profile_tcp: name: foo parent: f5-tcp-progressive - time_wait_recycle: no + time_wait_recycle: false idle_timeout: 300 state: present provider: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_udp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_udp.py index d7aa4ab..0aab26c 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_udp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_profile_udp.py @@ -73,7 +73,7 @@ name: foo parent: udp idle_timeout: 300 - datagram_load_balancing: no + datagram_load_balancing: false state: present provider: user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_provision_async.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_provision_async.py index 453fdfc..49c5338 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_provision_async.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_provision_async.py @@ -124,7 +124,7 @@ - name: Check for provision progress bigip_provision_async: module: "gtm" - check_status: yes + check_status: true status_timeout: 900 provider: server: lb.mydomain.com @@ -147,7 +147,7 @@ - name: Re-check for provision progress bigip_provision_async: module: "gtm" - check_status: yes + check_status: true status_timeout: 900 provider: server: lb.mydomain.com @@ -191,7 +191,7 @@ bigip_provision_async: module: "vcmp" level: "dedicated" - check_status: yes + check_status: true status_timeout: 900 provider: server: lb.mydomain.com @@ -216,7 +216,7 @@ bigip_provision_async: module: "vcmp" level: "dedicated" - check_status: yes + check_status: true status_timeout: 900 provider: server: lb.mydomain.com @@ -260,7 +260,7 @@ bigip_provision_async: module: "vcmp" state: "absent" - check_status: yes + check_status: true status_timeout: 900 provider: server: lb.mydomain.com @@ -282,7 +282,7 @@ bigip_provision_async: module: "vcmp" state: "absent" - check_status: yes + check_status: true status_timeout: 900 provider: server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_qkview.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_qkview.py index e71128c..e392a1c 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_qkview.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_qkview.py @@ -63,7 +63,7 @@ - If C(no), the file will only be transferred if the destination does not exist. type: bool - default: yes + default: true only_create_file: description: - If C(true), the file is created on the device and not downloaded. The file will not be deleted by the @@ -87,7 +87,7 @@ EXAMPLES = r''' - name: Fetch a qkview from the remote device bigip_qkview: - asm_request_log: yes + asm_request_log: true exclude: - audit - secure diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_role.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_role.py index 1300989..f429901 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_role.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_role.py @@ -99,7 +99,7 @@ name: ldap_group line_order: 1 attribute_string: memberOf=cn=ldap_group,cn=ldap.group,ou=ldap - remote_access: yes + remote_access: true assigned_role: administrator partition_access: all terminal_access: none diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_user.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_user.py index 053570f..7358f17 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_user.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_remote_user.py @@ -60,7 +60,7 @@ - name: Modify default partition and console access bigip_remote_user: default_partition: Common - console_access: yes + console_access: true provider: password: secret server: lb.mydomain.com @@ -71,7 +71,7 @@ bigip_remote_user: default_partition: Common default_role: manager - console_access: yes + console_access: true description: "Changed new settings" provider: password: secret @@ -83,7 +83,7 @@ bigip_remote_user: default_partition: all default_role: "no-access" - console_access: no + console_access: false description: "" provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_service_policy.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_service_policy.py index 432e880..1e4db5f 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_service_policy.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_service_policy.py @@ -60,8 +60,8 @@ name: foo timer_policy: timer1 port_misuse_policy: misuse1 - timer_policy_enabled: yes - port_misuse_policy_enabled: yes + timer_policy_enabled: true + port_misuse_policy_enabled: true state: present provider: user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_snat_translation.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_snat_translation.py index b9b60d5..f3826c6 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_snat_translation.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_snat_translation.py @@ -112,7 +112,7 @@ name: my-snat-pool state: present address: 10.10.10.10 - arp: no + arp: false connection_limit: 300 ip_idle_timeout: 1800 tcp_idle_timeout: 1800 @@ -128,7 +128,7 @@ name: my-snat-pool state: disabled address: 10.10.10.10 - arp: no + arp: false connection_limit: 300 ip_idle_timeout: 1800 tcp_idle_timeout: 1800 @@ -144,7 +144,7 @@ name: my-snat-pool state: enabled address: 10.10.10.10 - arp: no + arp: false connection_limit: 300 ip_idle_timeout: 1800 tcp_idle_timeout: 1800 @@ -160,7 +160,7 @@ name: my-new-snat-pool state: enabled address: 10.10.10.10 - arp: no + arp: false connection_limit: 300 ip_idle_timeout: 1800 partition: ansible @@ -177,7 +177,7 @@ name: my-new-snat-pool state: enabled address: 10.10.10.10 - arp: no + arp: false connection_limit: 300 ip_idle_timeout: 1800 partition: ansible @@ -189,7 +189,6 @@ user: admin password: secret delegate_to: localhost - ''' RETURN = r''' diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_software_update.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_software_update.py index 5ce7c77..7e96053 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_software_update.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_software_update.py @@ -42,7 +42,7 @@ EXAMPLES = r''' - name: Enable automatic update checking bigip_software_update: - auto_check: yes + auto_check: true provider: password: secret server: lb.mydomain.com @@ -51,8 +51,8 @@ - name: Disable automatic update checking and phoning home bigip_software_update: - auto_check: no - auto_phone_home: no + auto_check: false + auto_phone_home: false provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ssl_ocsp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ssl_ocsp.py index ad76b55..7c2bb0c 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ssl_ocsp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ssl_ocsp.py @@ -728,7 +728,7 @@ def __init__(self): choices=['sha256', 'sha1'] ), certificate=dict(), - key=dict(), + key=dict(no_log=True), passphrase=dict(no_log=True), status_age=dict(type='int'), strict_responder_checking=dict(type='bool'), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_static_route.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_static_route.py index 3e8b849..604b372 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_static_route.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_static_route.py @@ -101,7 +101,7 @@ password: secret server: lb.mydomain.come user: admin - validate_certs: no + validate_certs: false delegate_to: localhost ''' @@ -135,7 +135,7 @@ description: Whether the banner is enabled or not. returned: changed type: str - sample: yes + sample: true partition: description: The partition that the static route was created on. returned: changed diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_db.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_db.py index ac95806..376a288 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_db.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_db.py @@ -366,7 +366,7 @@ class ArgumentSpec(object): def __init__(self): self.supports_check_mode = True argument_spec = dict( - key=dict(required=True), + key=dict(required=True, no_log=True), state=dict( default='present', choices=['present', 'reset'] diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_global.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_global.py index 37d921a..fb9dd15 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_global.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_sys_global.py @@ -80,7 +80,7 @@ EXAMPLES = r''' - name: Disable the setup utility bigip_sys_global: - gui_setup: no + gui_setup: false provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_trunk.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_trunk.py index 7dbb18c..90ea3c3 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_trunk.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_trunk.py @@ -132,7 +132,7 @@ - 1.2 link_selection_policy: maximum-bandwidth frame_distribution_hash: destination-mac - lacp_enabled: yes + lacp_enabled: true lacp_mode: passive lacp_timeout: short provider: diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_tunnel.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_tunnel.py index d5ce23b..50f6905 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_tunnel.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_tunnel.py @@ -157,7 +157,7 @@ key: 0 secondary_address: 192.168.1.100 mtu: 0 - use_pmtu: yes + use_pmtu: true tos: preserve auto_last_hop: default traffic_group: traffic-group-1 @@ -570,7 +570,7 @@ def __init__(self): name=dict(required=True), profile=dict(), description=dict(), - key=dict(type='int'), + key=dict(type='int', no_log=True), local_address=dict(), remote_address=dict(), secondary_address=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs.py index f71f936..e4ddfb3 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs.py @@ -128,7 +128,7 @@ bigip_ucs: ucs: /root/bigip.localhost.localdomain.ucs state: installed - no_license: yes + no_license: true provider: server: lb.mydomain.com user: admin @@ -139,8 +139,8 @@ bigip_ucs: ucs: /root/bigip.localhost.localdomain.ucs state: installed - no_license: yes - no_platform_check: yes + no_license: true + no_platform_check: true provider: server: lb.mydomain.com user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs_fetch.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs_fetch.py index c70f6b6..ef63f61 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs_fetch.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_ucs_fetch.py @@ -112,7 +112,7 @@ - name: Only create new UCS, no download bigip_ucs_fetch: src: cs_backup.ucs - only_create_file: yes + only_create_file: true provider: server: lb.mydomain.com user: admin @@ -132,7 +132,7 @@ - name: Recreate UCS file left on device - create new file bigip_ucs_fetch: src: cs_backup.ucs - only_create_file: yes + only_create_file: true provider: server: lb.mydomain.com user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_vcmp_guest.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_vcmp_guest.py index ae3a794..be35708 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_vcmp_guest.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_vcmp_guest.py @@ -204,7 +204,7 @@ bigip_vcmp_guest: name: guest1 state: absent - delete_virtual_disk: yes + delete_virtual_disk: true provider: password: secret server: lb.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fasthttp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fasthttp.py index ce06405..18b9704 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fasthttp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fasthttp.py @@ -44,7 +44,7 @@ - The port of the server. - When creating a new application and specifying a server, if this parameter is not provided, the default is C(80). - type: str + type: int default: 80 inbound_virtual: description: @@ -69,7 +69,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value is C(80). - type: str + type: int default: 80 type: dict service_environment: @@ -713,7 +713,7 @@ def __init__(self): elements='dict', options=dict( address=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), inbound_virtual=dict( @@ -721,7 +721,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), service_environment=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_tcp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_tcp.py index 5fcb79b..bbeead3 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_tcp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_tcp.py @@ -44,7 +44,7 @@ - The port of the server. - When creating a new application and specifying a server, if this parameter is not provided, the default is C(8000). - type: str + type: int default: 8000 inbound_virtual: description: @@ -69,7 +69,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value is C(8080). - type: str + type: int default: 8080 service_environment: description: @@ -661,7 +661,7 @@ def __init__(self): elements='dict', options=dict( address=dict(required=True), - port=dict(default=8000) + port=dict(type='int', default=8000) ) ), inbound_virtual=dict( @@ -669,7 +669,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=8080) + port=dict(type='int', default=8080) ) ), service_environment=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_udp.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_udp.py index 63bdc72..fca1cb6 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_udp.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_fastl4_udp.py @@ -44,7 +44,7 @@ - The port of the server. - When creating a new application and specifying a server, if this parameter is not provided, the default is C(8000). - type: str + type: int default: 8000 inbound_virtual: description: @@ -69,7 +69,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value is C(53). - type: str + type: int default: 53 service_environment: description: @@ -658,7 +658,7 @@ def __init__(self): elements='dict', options=dict( address=dict(required=True), - port=dict(default=8000) + port=dict(type='int', default=8000) ) ), inbound_virtual=dict( @@ -666,7 +666,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=53) + port=dict(type='int', default=53) ) ), service_environment=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_http.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_http.py index 0527bc1..104acd5 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_http.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_http.py @@ -44,7 +44,7 @@ - The port of the server. - When creating a new application and specifying a server, if this parameter is not provided, the default is C(80). - type: str + type: int default: 80 inbound_virtual: description: @@ -69,7 +69,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value is C(80). - type: str + type: int default: 80 type: dict service_environment: @@ -711,7 +711,7 @@ def __init__(self): elements='dict', options=dict( address=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), inbound_virtual=dict( @@ -719,7 +719,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), service_environment=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_offload.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_offload.py index 41f8983..1f25037 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_offload.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_offload.py @@ -42,7 +42,7 @@ port: description: - The port of the server. - type: str + type: int default: 80 inbound_virtual: description: @@ -70,7 +70,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value is C(443). - type: str + type: int default: 443 redirect_virtual: description: @@ -100,7 +100,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value is C(80). - type: str + type: int default: 80 client_ssl_profile: description: @@ -948,7 +948,7 @@ def __init__(self): elements='dict', options=dict( address=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), inbound_virtual=dict( @@ -956,7 +956,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=443) + port=dict(type='int', default=443) ) ), redirect_virtual=dict( @@ -964,7 +964,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), service_environment=dict(), @@ -978,11 +978,12 @@ def __init__(self): name=dict(default='clientssl'), cert_key_chain=dict( type='raw', + no_log=True, options=dict( cert=dict(), - key=dict(), + key=dict(no_log=True), chain=dict(), - passphrase=dict() + passphrase=dict(no_log=True) ) ) ) diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_waf.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_waf.py index 05fd195..8ca90f0 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_waf.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_application_https_waf.py @@ -42,7 +42,7 @@ port: description: - The port of the server. - type: str + type: int default: 80 inbound_virtual: description: @@ -70,7 +70,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value is C(443). - type: str + type: int default: 443 redirect_virtual: description: @@ -100,7 +100,7 @@ - The port on which the virtual listens for connections. - When creating a new application, if this parameter is not specified, the default value of C(80) will be used. - type: str + type: int default: 80 client_ssl_profile: description: @@ -973,7 +973,7 @@ def __init__(self): elements='dict', options=dict( address=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), inbound_virtual=dict( @@ -981,7 +981,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=443) + port=dict(type='int', default=443) ) ), redirect_virtual=dict( @@ -989,7 +989,7 @@ def __init__(self): options=dict( address=dict(required=True), netmask=dict(required=True), - port=dict(default=80) + port=dict(type='int', default=80) ) ), service_environment=dict(), @@ -1003,11 +1003,12 @@ def __init__(self): name=dict(default='clientssl'), cert_key_chain=dict( type='raw', + no_log=True, options=dict( cert=dict(), - key=dict(), + key=dict(no_log=True), chain=dict(), - passphrase=dict() + passphrase=dict(no_log=True) ) ) ) diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py index 4b426de..b87ebf5 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py @@ -202,7 +202,7 @@ - afm - dns - shared_security - force: yes + force: true provider: password: secret server: cm.mydomain.com diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license.py index a759cda..5b55dbd 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license.py @@ -68,7 +68,7 @@ bigiq_regkey_license: regkey_pool: foo-pool license_key: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - accept_eula: yes + accept_eula: true provider: password: secret server: cm.mydomain.com @@ -82,7 +82,7 @@ addon_keys: - YYYY-YYY-YYY - ZZZZ-ZZZ-ZZZ - accept_eula: yes + accept_eula: true provider: password: secret server: cm.mydomain.com @@ -461,7 +461,7 @@ class ArgumentSpec(object): def __init__(self): self.supports_check_mode = True argument_spec = dict( - regkey_pool=dict(required=True), + regkey_pool=dict(required=True, no_log=True), license_key=dict(required=True, no_log=True), addon_keys=dict(type='list', elements='str', no_log=True), description=dict(), diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license_assignment.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license_assignment.py index 4f606ea..d10bf44 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license_assignment.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_regkey_license_assignment.py @@ -83,7 +83,7 @@ pool: my-regkey-pool key: XXXX-XXXX-XXXX-XXXX-XXXX device: 1.1.1.1 - managed: no + managed: false device_username: admin device_password: secret state: present @@ -98,7 +98,7 @@ pool: my-regkey-pool key: XXXX-XXXX-XXXX-XXXX-XXXX device: bigi1.foo.com - managed: yes + managed: true state: present provider: user: admin @@ -111,7 +111,7 @@ pool: my-regkey-pool key: XXXX-XXXX-XXXX-XXXX-XXXX device: 7141a063-7cf8-423f-9829-9d40599fa3e0 - managed: yes + managed: true state: present provider: user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license.py index 341e195..b522ff3 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license.py @@ -50,7 +50,7 @@ - name: Add a utility license to the system bigiq_utility_license: license_key: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - accept_eula: yes + accept_eula: true state: present provider: user: admin diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license_assignment.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license_assignment.py index 53a3886..c9f9841 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license_assignment.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_utility_license_assignment.py @@ -96,7 +96,7 @@ key: XXXX-XXXX-XXXX-XXXX-XXXX offering: F5-BIG-MSP-AFM-10G-LIC device: 1.1.1.1 - managed: no + managed: false device_username: admin device_password: secret state: present @@ -111,7 +111,7 @@ key: XXXX-XXXX-XXXX-XXXX-XXXX offering: F5-BIG-MSP-AFM-10G-LIC device: bigi1.foo.com - managed: yes + managed: true state: present provider: password: secret @@ -124,7 +124,7 @@ key: XXXX-XXXX-XXXX-XXXX-XXXX offering: F5-BIG-MSP-AFM-10G-LIC device: 7141a063-7cf8-423f-9829-9d40599fa3e0 - managed: yes + managed: true state: present provider: password: secret diff --git a/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.13.txt b/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.13.txt index 1bfe20c..ff3b99b 100644 --- a/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.13.txt +++ b/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.13.txt @@ -1,47 +1,2 @@ plugins/action/bigip.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added plugins/action/bigiq.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added -plugins/lookup/bigiq_license.py validate-modules:invalid-documentation -plugins/lookup/license_hopper.py validate-modules:invalid-documentation -plugins/modules/bigip_firewall_address_list.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_firewall_log_profile_network.py validate-modules:implied-parameter-type-mismatch -plugins/modules/bigip_gtm_pool_member.py validate-modules:undocumented-parameter -plugins/modules/bigip_gtm_pool_member.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_gtm_pool_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_gtm_pool_member.py validate-modules:doc-missing-type -plugins/modules/bigip_gtm_pool_member.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool.py validate-modules:undocumented-parameter -plugins/modules/bigip_pool.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_pool.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_pool.py validate-modules:doc-missing-type -plugins/modules/bigip_pool.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool.py validate-modules:doc-elements-mismatch -plugins/modules/bigip_pool_member.py validate-modules:undocumented-parameter -plugins/modules/bigip_pool_member.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_pool_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_pool_member.py validate-modules:doc-missing-type -plugins/modules/bigip_pool_member.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool_member.py validate-modules:doc-required-mismatch -plugins/modules/bigip_pool_member.py validate-modules:doc-elements-mismatch -plugins/modules/bigip_data_group.py validate-modules:no-log-needed -plugins/modules/bigip_device_license.py validate-modules:no-log-needed -plugins/modules/bigip_device_auth_ldap.py validate-modules:no-log-needed -plugins/modules/bigip_dns_nameserver.py validate-modules:no-log-needed -plugins/modules/bigip_dns_zone.py validate-modules:no-log-needed -plugins/modules/bigip_gtm_monitor_https.py validate-modules:no-log-needed -plugins/modules/bigip_ike_peer.py validate-modules:no-log-needed -plugins/modules/bigip_password_policy.py validate-modules:no-log-needed -plugins/modules/bigip_profile_client_ssl.py validate-modules:no-log-needed -plugins/modules/bigip_profile_server_ssl.py validate-modules:no-log-needed -plugins/modules/bigip_ssl_ocsp.py validate-modules:no-log-needed -plugins/modules/bigip_sys_db.py validate-modules:no-log-needed -plugins/modules/bigip_tunnel.py validate-modules:no-log-needed -plugins/modules/bigiq_application_https_offload.py validate-modules:no-log-needed -plugins/modules/bigiq_application_https_waf.py validate-modules:no-log-needed -plugins/modules/bigiq_regkey_license.py validate-modules:no-log-needed -plugins/modules/bigip_imish_config.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_https_offload.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_https_waf.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fasthttp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fastl4_tcp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fastl4_udp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_http.py validate-modules:incompatible-default-type diff --git a/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.14.txt b/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.14.txt index 1bfe20c..ff3b99b 100644 --- a/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.14.txt +++ b/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.14.txt @@ -1,47 +1,2 @@ plugins/action/bigip.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added plugins/action/bigiq.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added -plugins/lookup/bigiq_license.py validate-modules:invalid-documentation -plugins/lookup/license_hopper.py validate-modules:invalid-documentation -plugins/modules/bigip_firewall_address_list.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_firewall_log_profile_network.py validate-modules:implied-parameter-type-mismatch -plugins/modules/bigip_gtm_pool_member.py validate-modules:undocumented-parameter -plugins/modules/bigip_gtm_pool_member.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_gtm_pool_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_gtm_pool_member.py validate-modules:doc-missing-type -plugins/modules/bigip_gtm_pool_member.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool.py validate-modules:undocumented-parameter -plugins/modules/bigip_pool.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_pool.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_pool.py validate-modules:doc-missing-type -plugins/modules/bigip_pool.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool.py validate-modules:doc-elements-mismatch -plugins/modules/bigip_pool_member.py validate-modules:undocumented-parameter -plugins/modules/bigip_pool_member.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_pool_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_pool_member.py validate-modules:doc-missing-type -plugins/modules/bigip_pool_member.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool_member.py validate-modules:doc-required-mismatch -plugins/modules/bigip_pool_member.py validate-modules:doc-elements-mismatch -plugins/modules/bigip_data_group.py validate-modules:no-log-needed -plugins/modules/bigip_device_license.py validate-modules:no-log-needed -plugins/modules/bigip_device_auth_ldap.py validate-modules:no-log-needed -plugins/modules/bigip_dns_nameserver.py validate-modules:no-log-needed -plugins/modules/bigip_dns_zone.py validate-modules:no-log-needed -plugins/modules/bigip_gtm_monitor_https.py validate-modules:no-log-needed -plugins/modules/bigip_ike_peer.py validate-modules:no-log-needed -plugins/modules/bigip_password_policy.py validate-modules:no-log-needed -plugins/modules/bigip_profile_client_ssl.py validate-modules:no-log-needed -plugins/modules/bigip_profile_server_ssl.py validate-modules:no-log-needed -plugins/modules/bigip_ssl_ocsp.py validate-modules:no-log-needed -plugins/modules/bigip_sys_db.py validate-modules:no-log-needed -plugins/modules/bigip_tunnel.py validate-modules:no-log-needed -plugins/modules/bigiq_application_https_offload.py validate-modules:no-log-needed -plugins/modules/bigiq_application_https_waf.py validate-modules:no-log-needed -plugins/modules/bigiq_regkey_license.py validate-modules:no-log-needed -plugins/modules/bigip_imish_config.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_https_offload.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_https_waf.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fasthttp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fastl4_tcp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fastl4_udp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_http.py validate-modules:incompatible-default-type diff --git a/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.15.txt b/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.15.txt index 1bfe20c..ff3b99b 100644 --- a/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.15.txt +++ b/ansible_collections/f5networks/f5_modules/tests/sanity/ignore-2.15.txt @@ -1,47 +1,2 @@ plugins/action/bigip.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added plugins/action/bigiq.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added -plugins/lookup/bigiq_license.py validate-modules:invalid-documentation -plugins/lookup/license_hopper.py validate-modules:invalid-documentation -plugins/modules/bigip_firewall_address_list.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_firewall_log_profile_network.py validate-modules:implied-parameter-type-mismatch -plugins/modules/bigip_gtm_pool_member.py validate-modules:undocumented-parameter -plugins/modules/bigip_gtm_pool_member.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_gtm_pool_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_gtm_pool_member.py validate-modules:doc-missing-type -plugins/modules/bigip_gtm_pool_member.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool.py validate-modules:undocumented-parameter -plugins/modules/bigip_pool.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_pool.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_pool.py validate-modules:doc-missing-type -plugins/modules/bigip_pool.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool.py validate-modules:doc-elements-mismatch -plugins/modules/bigip_pool_member.py validate-modules:undocumented-parameter -plugins/modules/bigip_pool_member.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/bigip_pool_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/bigip_pool_member.py validate-modules:doc-missing-type -plugins/modules/bigip_pool_member.py validate-modules:missing-suboption-docs -plugins/modules/bigip_pool_member.py validate-modules:doc-required-mismatch -plugins/modules/bigip_pool_member.py validate-modules:doc-elements-mismatch -plugins/modules/bigip_data_group.py validate-modules:no-log-needed -plugins/modules/bigip_device_license.py validate-modules:no-log-needed -plugins/modules/bigip_device_auth_ldap.py validate-modules:no-log-needed -plugins/modules/bigip_dns_nameserver.py validate-modules:no-log-needed -plugins/modules/bigip_dns_zone.py validate-modules:no-log-needed -plugins/modules/bigip_gtm_monitor_https.py validate-modules:no-log-needed -plugins/modules/bigip_ike_peer.py validate-modules:no-log-needed -plugins/modules/bigip_password_policy.py validate-modules:no-log-needed -plugins/modules/bigip_profile_client_ssl.py validate-modules:no-log-needed -plugins/modules/bigip_profile_server_ssl.py validate-modules:no-log-needed -plugins/modules/bigip_ssl_ocsp.py validate-modules:no-log-needed -plugins/modules/bigip_sys_db.py validate-modules:no-log-needed -plugins/modules/bigip_tunnel.py validate-modules:no-log-needed -plugins/modules/bigiq_application_https_offload.py validate-modules:no-log-needed -plugins/modules/bigiq_application_https_waf.py validate-modules:no-log-needed -plugins/modules/bigiq_regkey_license.py validate-modules:no-log-needed -plugins/modules/bigip_imish_config.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_https_offload.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_https_waf.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fasthttp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fastl4_tcp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_fastl4_udp.py validate-modules:incompatible-default-type -plugins/modules/bigiq_application_http.py validate-modules:incompatible-default-type From ac0cfa325da1f3425158b0a9279897e03303a6c7 Mon Sep 17 00:00:00 2001 From: wypior Date: Mon, 13 Nov 2023 07:01:02 +0000 Subject: [PATCH 4/9] Merging devel changes - 2023-11-13T07:00:44Z --- .../fragments/bigiq-device-discovery-doc-changes.yaml | 3 +++ .../f5_modules/plugins/modules/bigiq_device_discovery.py | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml diff --git a/ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml b/ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml new file mode 100644 index 0000000..143e47f --- /dev/null +++ b/ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - bigiq_device_discovery - Changes in documentation related to Provider block diff --git a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py index b87ebf5..7b559db 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py +++ b/ansible_collections/f5networks/f5_modules/plugins/modules/bigiq_device_discovery.py @@ -18,6 +18,7 @@ device_address: description: - The IP address of the BIG-IP device to be imported/managed. + - For this module, C(provider) block should point to C(BIG-IQ) credentials type: str required: True device_username: @@ -161,6 +162,7 @@ notes: - BIG-IQ >= 6.1.0. - This module does not support atomic removal of discovered modules on the device. + - Provider should point to the BIG-IQ credentials author: - Wojciech Wypior (@wojtek0806) ''' From 2beb1c322f9cd98dc7b965f7adc1f969c5b5c6c3 Mon Sep 17 00:00:00 2001 From: Wojciech Wypior Date: Thu, 16 Nov 2023 09:25:07 +0100 Subject: [PATCH 5/9] add github actions --- .github/workflows/release.yml | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..36ab7fe --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,44 @@ +name: Collection Release + +on: + push: + branches: + - 'main' + tags: + - '*' + +jobs: + create_release: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build Collection + uses: artis3n/ansible_galaxy_collection@v2 + with: + collection_dir: 'ansible_collections/f5networks/${{ vars.COLNAME }}' + api_key: "${{ secrets.GALAXY_API_KEY }}" + publish: false + + - name: Create GitHub Release + id: create_release + uses: ncipollo/release-action@v1 + with: + artifacts: "f5networks-${{ vars.COLNAME }}-${{ github.ref_name }}.tar.gz" + tag: "${{ github.ref_name }}" + name: "Imperative Collection Release ${{ github.ref_name }}" + omitBody: true + token: "${{ secrets.GITHUB_TOKEN }}" + + - name: Publish Collection + uses: artis3n/ansible_galaxy_collection@v2 + with: + collection_dir: 'ansible_collections/f5networks/${{ vars.COLNAME }}' + api_key: "${{ secrets.GALAXY_API_KEY }}" + build: false + + - uses: neonidian/teams-notify-build-status@v3 + with: + webhookUrl: ${{ secrets.RELEASE_TEAMS_WEBHOOK }} + message: "Collection ${{ vars.COLNAME }} version: ${{ github.ref_name }} released." \ No newline at end of file From 752a8a6d6b70206628b8c2e9aab70502aff53545 Mon Sep 17 00:00:00 2001 From: Wojciech Wypior Date: Thu, 16 Nov 2023 09:29:38 +0100 Subject: [PATCH 6/9] corrected github action --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 36ab7fe..1af9567 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,8 +2,6 @@ name: Collection Release on: push: - branches: - - 'main' tags: - '*' From f326d436f6fe7db763c3aa0be6db41a84f9b372a Mon Sep 17 00:00:00 2001 From: Wojciech Wypior Date: Thu, 16 Nov 2023 09:48:35 +0100 Subject: [PATCH 7/9] corrected github action --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1af9567..2b37293 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,6 +2,8 @@ name: Collection Release on: push: + branches-ignore: + - 'devel' tags: - '*' From 732a50ce2caa6981ef87063969edf07a0d50f446 Mon Sep 17 00:00:00 2001 From: Wojciech Wypior Date: Thu, 16 Nov 2023 09:49:25 +0100 Subject: [PATCH 8/9] corrected github action --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2b37293..1af9567 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,8 +2,6 @@ name: Collection Release on: push: - branches-ignore: - - 'devel' tags: - '*' From ddcc799b3d94a2548c07a9d22bbbbe80925c5324 Mon Sep 17 00:00:00 2001 From: wypior Date: Thu, 23 Nov 2023 07:02:31 +0000 Subject: [PATCH 9/9] Version 1.27.1 release --- ansible_collections/f5networks/f5_modules/CHANGELOG.rst | 8 ++++++++ .../f5networks/f5_modules/changelogs/changelog.yaml | 7 +++++++ .../fragments/bigiq-device-discovery-doc-changes.yaml | 3 --- ansible_collections/f5networks/f5_modules/galaxy.yml | 2 +- .../f5networks/f5_modules/plugins/module_utils/version.py | 2 +- 5 files changed, 17 insertions(+), 5 deletions(-) delete mode 100644 ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml diff --git a/ansible_collections/f5networks/f5_modules/CHANGELOG.rst b/ansible_collections/f5networks/f5_modules/CHANGELOG.rst index 3475430..35865c6 100644 --- a/ansible_collections/f5networks/f5_modules/CHANGELOG.rst +++ b/ansible_collections/f5networks/f5_modules/CHANGELOG.rst @@ -5,6 +5,14 @@ F5Networks F5_Modules Collection Release Notes .. contents:: Topics +v1.27.1 +======= + +Minor Changes +------------- + +- bigiq_device_discovery - Changes in documentation related to Provider block + v1.27.0 ======= diff --git a/ansible_collections/f5networks/f5_modules/changelogs/changelog.yaml b/ansible_collections/f5networks/f5_modules/changelogs/changelog.yaml index 8a61612..638475c 100644 --- a/ansible_collections/f5networks/f5_modules/changelogs/changelog.yaml +++ b/ansible_collections/f5networks/f5_modules/changelogs/changelog.yaml @@ -1034,6 +1034,13 @@ releases: - error-handling-for-connection-error.yaml - policy-rule-ssl-extension-options.yaml release_date: '2023-10-12' + 1.27.1: + changes: + minor_changes: + - bigiq_device_discovery - Changes in documentation related to Provider block + fragments: + - bigiq-device-discovery-doc-changes.yaml + release_date: '2023-11-23' 1.3.0: changes: bugfixes: diff --git a/ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml b/ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml deleted file mode 100644 index 143e47f..0000000 --- a/ansible_collections/f5networks/f5_modules/changelogs/fragments/bigiq-device-discovery-doc-changes.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - bigiq_device_discovery - Changes in documentation related to Provider block diff --git a/ansible_collections/f5networks/f5_modules/galaxy.yml b/ansible_collections/f5networks/f5_modules/galaxy.yml index 9b72ec0..c56ee6e 100644 --- a/ansible_collections/f5networks/f5_modules/galaxy.yml +++ b/ansible_collections/f5networks/f5_modules/galaxy.yml @@ -19,4 +19,4 @@ tags: - networking - bigip - bigiq -version: 1.28.0-devel +version: 1.27.1 diff --git a/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py b/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py index ab16bfe..f0a1cb0 100644 --- a/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py +++ b/ansible_collections/f5networks/f5_modules/plugins/module_utils/version.py @@ -4,4 +4,4 @@ # GNU General Public License v3.0 (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # This collection version needs to be updated at each release -CURRENT_COLL_VERSION = "1.28.0-devel" +CURRENT_COLL_VERSION = "1.27.1"