f5networks.f5_modules.bigip_message_routing_router – Manages router profiles for message-routing protocols

Note

This plugin is part of the f5networks.f5_modules collection (version 1.9.0).

To install it use: ansible-galaxy collection install f5networks.f5_modules.

To use it in a playbook, specify: f5networks.f5_modules.bigip_message_routing_router.

New in version 1.0.0: of f5networks.f5_modules

Synopsis

  • Manages router profiles for message-routing protocols.

Parameters

Parameter Choices/Defaults Comments
description
string
The user-defined description of the router profile.
ignore_client_port
boolean
    Choices:
  • no
  • yes
When yes, the remote port on clientside connections (connections where the peer connected to the BIG-IP) is ignored when searching for an existing connection.
inherited_traffic_group
boolean
    Choices:
  • no
  • yes
When set to yes, the traffic_group will be inherited from the containing folder. When not specified the system sets this to no when creating new router profile.
max_pending_bytes
integer
The maximum number of bytes worth of pending messages that will be held while waiting for a connection to a peer to be created. Once reached, any additional messages to the peer will be flagged as undeliverable and returned to the originator.
The accepted range is between 0 and 4294967295 inclusive.
max_pending_messages
integer
The maximum number of pending messages that will be held while waiting for a connection to a peer to be created. Once reached, any additional messages to the peer will be flagged as undeliverable and returned to the originator.
The accepted range is between 0 and 65535 inclusive.
max_retries
integer
Sets the maximum number of time a message may be resubmitted for rerouting by the MR::retry iRule command.
The accepted range is between 0 and 4294967295 inclusive.
mirror
boolean
    Choices:
  • no
  • yes
Enables or disables state mirroring. State mirroring can be used to maintain the same state information in the standby unit that is in the active unit.
mirrored_msg_sweeper_interval
integer
Specifies the maximum time in milliseconds that a message will be held on the standby device as it waits for the active device to route the message.
Messages on the standby device held for longer than the configurable sweeper interval, will be dropped.
The acceptable range is between 0 and 4294967295 inclusive.
name
string / required
Specifies the name of the router profile.
parent
string
The parent template of this router profile. Once this value has been set, it cannot be changed.
The default values are set by the system if not specified and they correspond to the router type created, for example, /Common/messagerouter for generic type and so on.
partition
string
Default:
"Common"
Device partition to create router profile on.
provider
dictionary
added in 1.0.0 of f5networks.f5_modules
A dict object containing connection details.
auth_provider
string
Configures the auth provider for to obtain authentication tokens from the remote device.
This option is really used when working with BIG-IQ devices.
no_f5_teem
boolean
    Choices:
  • no
  • yes
If yes, TEEM telemetry data is not sent to F5.
You may omit this option by setting the environment variable F5_TEEM.
password
string / 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
server
string / required
The BIG-IP host.
You may omit this option by setting the environment variable F5_SERVER.
server_port
integer
Default:
443
The BIG-IP server port.
You may omit this option by setting the environment variable F5_SERVER_PORT.
timeout
integer
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.
transport
string
    Choices:
  • rest ←
Configures the transport connection to use when connecting to the remote device.
user
string / 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
boolean
    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.
routes
list / elements=string
Specifies a list of static routes for the router instance to use.
The route must be on the same partition as router profile.
state
string
    Choices:
  • present ←
  • absent
When present, ensures the router profile exists.
When absent, ensures the router profile is removed.
traffic_group
string
Specifies the traffic-group of the router profile.
Setting the traffic_group to an empty string value "" will cause the device to inherit from containing folder, which means the value of inherited_traffic_group on device will be yes.
type
string
    Choices:
  • generic ←
Parameter used to specify the type of the router profile to manage.
Default setting is generic with more options coming.
use_local_connection
boolean
    Choices:
  • no
  • yes
If yes, the router will route a message to an existing connection on the same TMM as the message was received.

Notes

Note

  • Requires BIG-IP >= 14.0.0

  • For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.

  • 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 f5networks.f5_modules.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: Create a generic router profile
  bigip_message_routing_router:
    name: foo
    max_retries: 10
    ignore_client_port: yes
    routes:
      - /Common/route1
      - /Common/route2
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Modify a generic router profile
  bigip_message_routing_router:
    name: foo
    ignore_client_port: no
    mirror: yes
    mirrored_msg_sweeper_interval: 4000
    traffic_group: /Common/traffic-group-2
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Remove a generic router profile
  bigip_message_routing_router:
    name: foo
    state: absent
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

Return Values

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

Key Returned Description
description
string
changed
The user-defined description of the router profile.

Sample:
My description
ignore_client_port
boolean
changed
Enables ignoring of the remote port on clientside connections when searching for an existing connection.

inherited_traffic_group
boolean
changed
Specifies if a traffic-group should be inherited from containing folder.

Sample:
True
max_pending_bytes
integer
changed
The maximum number of bytes worth of pending messages that will be held.

Sample:
10000
max_pending_messages
integer
changed
The maximum number of pending messages that will be held.

Sample:
64
max_retries
integer
changed
The maximum number of time a message may be resubmitted for rerouting.

Sample:
10
mirror
boolean
changed
Enables or disables state mirroring.

Sample:
True
mirrored_msg_sweeper_interval
integer
changed
The maximum time in milliseconds that a message will be held on the standby device.

Sample:
2000
parent
string
changed
The parent template of this router profile.

Sample:
/Common/messagerouter
routes
list / elements=string
changed
The list of static routes for the router instance to use.

Sample:
['/Common/route1', '/Common/route2']
traffic_group
string
changed
The traffic-group of the router profile.

Sample:
/Common/traffic-group-1
use_local_connection
boolean
changed
Enables routing of messages to an existing connection on the same TMM as the message was received.

Sample:
True


Authors

  • Wojciech Wypior (@wojtek0806)