bigip_asm_policy - Manage BIG-IP ASM policies

New in version 2.5.

Synopsis

Requirements

The below requirements are needed on the host that executes this module.

  • f5-sdk >= 3.0.16

Parameters

Parameter Choices/Defaults Comments
active
bool
    Choices:
  • no ←
  • yes
If yes will apply and activate existing inactive policy. If no, it will deactivate existing active policy. Generally should be yes only in cases where you want to activate new or existing policy.
file
Full path to a policy file to be imported into the BIG-IP ASM.
Policy files exported from newer versions of BIG-IP cannot be imported into older versions of BIG-IP. The opposite, however, is true; you can import older into newer.
name
required
The ASM policy to manage or create.
partition Default:
Common
Device partition to manage resources on.
password
required
The password for the user account used to connect to the BIG-IP.
You may omit this option by setting the environment variable F5_PASSWORD.

aliases: pass, pwd
provider
(added in 2.5)
Default:
None
A dict object containing connection details.
ssh_keyfile
Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports.
You may omit this option by setting the environment variable ANSIBLE_NET_SSH_KEYFILE.
timeout Default:
10
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
server
required
The BIG-IP host.
You may omit this option by setting the environment variable F5_SERVER.
user
required
The username to connect to the BIG-IP with. This user must have administrative privileges on the device.
You may omit this option by setting the environment variable F5_USER.
server_port Default:
443
The BIG-IP server port.
You may omit this option by setting the environment variable F5_SERVER_PORT.
password
required
The password for the user account used to connect to the BIG-IP.
You may omit this option by setting the environment variable F5_PASSWORD.

aliases: pass, pwd
validate_certs
bool
    Choices:
  • no
  • yes ←
If no, SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.
You may omit this option by setting the environment variable F5_VALIDATE_CERTS.
transport
required
    Choices:
  • rest
  • cli ←
Configures the transport connection to use when connecting to the remote device.
server
required
The BIG-IP host.
You may omit this option by setting the environment variable F5_SERVER.
server_port
(added in 2.2)
Default:
443
The BIG-IP server port.
You may omit this option by setting the environment variable F5_SERVER_PORT.
state
    Choices:
  • present ←
  • absent
When state is present, and file or template parameter is provided, new ASM policy is imported and created with the given name.
When state is present and no file or template parameter is provided new blank ASM policy is created with the given name.
When state is absent, ensures that the policy is removed, even if it is currently active.
template
    Choices:
  • ActiveSync v1.0 v2.0 (http)
  • ActiveSync v1.0 v2.0 (https)
  • Comprehensive
  • Drupal
  • Fundamental
  • Joomla
  • LotusDomino 6.5 (http)
  • LotusDomino 6.5 (https)
  • OWA Exchange 2003 (http)
  • OWA Exchange 2003 (https)
  • OWA Exchange 2003 with ActiveSync (http)
  • OWA Exchange 2003 with ActiveSync (https)
  • OWA Exchange 2007 (http)
  • OWA Exchange 2007 (https)
  • OWA Exchange 2007 with ActiveSync (http)
  • OWA Exchange 2007 with ActiveSync (https)
  • OWA Exchange 2010 (http)
  • OWA Exchange 2010 (https)
  • Oracle 10g Portal (http)
  • Oracle 10g Portal (https)
  • Oracle Applications 11i (http)
  • Oracle Applications 11i (https)
  • PeopleSoft Portal 9 (http)
  • PeopleSoft Portal 9 (https)
  • Rapid Deployment Policy
  • SAP NetWeaver 7 (http)
  • SAP NetWeaver 7 (https)
  • SharePoint 2003 (http)
  • SharePoint 2003 (https)
  • SharePoint 2007 (http)
  • SharePoint 2007 (https)
  • SharePoint 2010 (http)
  • SharePoint 2010 (https)
  • Vulnerability Assessment Baseline
  • Wordpress
An ASM policy built-in template. If the template does not exist we will raise an error.
Once the policy has been created, this value cannot change.
The Comprehensive, Drupal, Fundamental, Joomla, Vulnerability Assessment Baseline, and Wordpress templates are only available on BIG-IP versions >= 13.
user
required
The username to connect to the BIG-IP with. This user must have administrative privileges on the device.
You may omit this option by setting the environment variable F5_USER.
validate_certs
bool

(added in 2.0)
    Choices:
  • no
  • yes ←
If no, SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.
You may omit this option by setting the environment variable F5_VALIDATE_CERTS.

Notes

Note

  • For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.
  • Requires the f5-sdk Python package on the host. This is as easy as pip install f5-sdk.
  • Requires BIG-IP software version >= 12.
  • The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP specific configuration persists to disk, be sure to include at least one task that uses the bigip_config module to save the running configuration. Refer to the module’s documentation for the correct usage of the module to save your running configuration.

Examples

- name: Import and activate ASM policy
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: new_asm_policy
    file: /root/asm_policy.xml
    active: yes
    state: present
  delegate_to: localhost

- name: Import ASM policy from template
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: new_sharepoint_policy
    template: SharePoint 2007 (http)
    state: present
  delegate_to: localhost

- name: Create blank ASM policy
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: new_blank_policy
    state: present
  delegate_to: localhost

- name: Create blank ASM policy and activate
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: new_blank_policy
    active: yes
    state: present
  delegate_to: localhost

- name: Activate ASM policy
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: inactive_policy
    active: yes
    state: present
  delegate_to: localhost

- name: Deactivate ASM policy
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: active_policy
    state: present
  delegate_to: localhost

- name: Import and activate ASM policy in Role
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: new_asm_policy
    file: "{{ role_path }}/files/asm_policy.xml"
    active: yes
    state: present
  delegate_to: localhost

- name: Import ASM binary policy
  bigip_asm_policy:
    server: lb.mydomain.com
    user: admin
    password: secret
    name: new_asm_policy
    file: "/root/asm_policy.plc"
    active: yes
    state: present
  delegate_to: localhost

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
active
bool
changed
Set when activating/deactivating ASM policy

Sample:
True
file
string
changed
Local path to ASM policy file.

Sample:
/root/some_policy.xml
name
string
changed
Name of the ASM policy to be managed/created

Sample:
Asm_APP1_Transparent
state
string
changed
Action performed on the target device.

Sample:
absent
template
string
changed
Name of the built-in ASM policy template

Sample:
OWA Exchange 2007 (https)


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as certified which means that it is maintained by an Ansible Partner. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by an Ansible Partner, see here.

Author

  • Wojciech Wypior (@wojtek0806)
  • Tim Rupp (@caphrim007)

Hint

If you notice any issues in this documentation you can edit this document to improve it.