salt.states.bigip#
- A state module designed to enforce load-balancing configurations for F5 Big-IP entities.
- maturity:
develop
- platform:
f5_bigip_11.6
- salt.states.bigip.add_pool_member(hostname, username, password, name, member)#
A function to connect to a bigip device and add a new member to an existing pool.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to modify
- member
The member to add to the pool
- salt.states.bigip.create_monitor(hostname, username, password, monitor_type, name, **kwargs)#
A function to connect to a bigip device and create a monitor.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- monitor_type
The type of monitor to create
- name
The name of the monitor to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each monitor type. Typically, tmsh arg names are used.
- salt.states.bigip.create_node(hostname, username, password, name, address)#
Create a new node if it does not already exist.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the node to create
- address
The address of the node
- salt.states.bigip.create_pool(hostname, username, password, name, members=None, allow_nat=None, allow_snat=None, description=None, gateway_failsafe_device=None, ignore_persisted_weight=None, ip_tos_to_client=None, ip_tos_to_server=None, link_qos_to_client=None, link_qos_to_server=None, load_balancing_mode=None, min_active_members=None, min_up_members=None, min_up_members_action=None, min_up_members_checking=None, monitor=None, profiles=None, queue_depth_limit=None, queue_on_connection_limit=None, queue_time_limit=None, reselect_tries=None, service_down_action=None, slow_ramp_time=None)#
Create a new node if it does not already exist.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to create
- members
List of members to be added to the pool
- allow_nat
[yes | no]
- allow_snat
[yes | no]
- description
[string]
- gateway_failsafe_device
[string]
- ignore_persisted_weight
[enabled | disabled]
- ip_tos_to_client
[pass-through | [integer]]
- ip_tos_to_server
[pass-through | [integer]]
- link_qos_to_client
[pass-through | [integer]]
- link_qos_to_server
[pass-through | [integer]]
- load_balancing_mode
[dynamic-ratio-member | dynamic-ratio-node | fastest-app-response | fastest-node | least-connections-members | 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]
- min_active_members
[integer]
- min_up_members
[integer]
- min_up_members_action
[failover | reboot | restart-all]
- min_up_members_checking
[enabled | disabled]
- monitor
[name]
- profiles
[none | profile_name]
- queue_depth_limit
[integer]
- queue_on_connection_limit
[enabled | disabled]
- queue_time_limit
[integer]
- reselect_tries
[integer]
- service_down_action
[drop | none | reselect | reset]
- slow_ramp_time
[integer]
- salt.states.bigip.create_profile(hostname, username, password, profile_type, name, **kwargs)#
A function to connect to a bigip device and create a profile.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- profile_type
The type of profile to create
- name
The name of the profile to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each profile type. Typically, tmsh arg names are used.
Special Characters
|,,and:must be escaped using\when used within strings.
- salt.states.bigip.create_virtual(hostname, username, password, name, destination, pool=None, address_status=None, auto_lasthop=None, bwc_policy=None, cmp_enabled=None, connection_limit=None, dhcp_relay=None, description=None, fallback_persistence=None, flow_eviction_policy=None, gtm_score=None, ip_forward=None, ip_protocol=None, internal=None, twelve_forward=None, last_hop_pool=None, mask=None, mirror=None, nat64=None, persist=None, profiles=None, policies=None, rate_class=None, rate_limit=None, rate_limit_mode=None, rate_limit_dst=None, rate_limit_src=None, rules=None, related_rules=None, reject=None, source=None, source_address_translation=None, source_port=None, virtual_state=None, traffic_classes=None, translate_address=None, translate_port=None, vlans=None)#
A function to connect to a bigip device and create a virtual server if it does not already exists.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the virtual to create
- destination
[ [virtual_address_name:port] | [ipv4:port] | [ipv6.port] ]
- pool
[ [pool_name] | none]
- address_status
[yes | no]
- auto_lasthop
[default | enabled | disabled ]
- bwc_policy
[none] | string]
- cmp_enabled
[yes | no]
- dhcp_relay
[yes | no}
- connection_limit
[integer]
- description
[string]
- state
[disabled | enabled]
- fallback_persistence
[none | [profile name] ]
- flow_eviction_policy
[none | [eviction policy name] ]
- gtm_score
[integer]
- ip_forward
[yes | no]
- ip_protocol
[any | protocol]
- internal
[yes | no]
- twelve_forward(12-forward)
[yes | no]
- last_hop-pool
[ [pool_name] | none]
- mask
{ [ipv4] | [ipv6] }
- mirror
{ [disabled | enabled | none] }
- nat64
[enabled | disabled]
- persist
[list]
- profiles
[none | default | list ]
- policies
[none | default | list ]
- rate_class
[name]
- rate_limit
[integer]
- rate_limit-mode
[destination | object | object-destination | object-source | object-source-destination | source | source-destination]
- rate_limit-dst
[integer]
- rate_limit-src
[integer]
- rules
[none | list ]
- related_rules
[none | list ]
- reject
[yes | no]
- source
{ [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
- source_address_translation
[none | snat:pool_name | lsn | automap | dictionary ]
- source_port
[change | preserve | preserve-strict]
- state
[enabled | disabled]
- traffic_classes
[none | default | list ]
- translate_address
[enabled | disabled]
- translate_port
[enabled | disabled]
- vlans
[none | default | dictionary]
- vlan_ids
[ list]
- enabled
[ true | false ]
- salt.states.bigip.delete_monitor(hostname, username, password, monitor_type, name)#
Modify an existing monitor. If it does exists, only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- monitor_type
The type of monitor to create
- name
The name of the monitor to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each monitor type. Typically, tmsh arg names are used.
- salt.states.bigip.delete_node(hostname, username, password, name)#
Delete an existing node.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the node which will be deleted.
- salt.states.bigip.delete_pool(hostname, username, password, name)#
Delete an existing pool.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool which will be deleted
- salt.states.bigip.delete_pool_member(hostname, username, password, name, member)#
Delete an existing pool member.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to be modified
- member
The name of the member to delete from the pool
- salt.states.bigip.delete_profile(hostname, username, password, profile_type, name)#
Modify an existing profile. If it does exists, only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- profile_type
The type of profile to create
- name
The name of the profile to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each profile type. Typically, tmsh arg names are used.
- salt.states.bigip.delete_virtual(hostname, username, password, name)#
Delete an existing virtual.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the virtual which will be deleted
- salt.states.bigip.list_monitor(hostname, username, password, monitor_type, name)#
A function to list an existing monitor.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- monitor_type
The type of monitor to list
- name
The name of the monitor to list
- salt.states.bigip.list_node(hostname, username, password, name)#
A function to connect to a bigip device and list a specific node.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the node to list.
- salt.states.bigip.list_pool(hostname, username, password, name)#
A function to connect to a bigip device and list a specific pool.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to list.
- salt.states.bigip.list_profile(hostname, username, password, profile_type, name)#
A function to list an existing profile.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- profile_type
The type of profile to list
- name
The name of the profile to list
- salt.states.bigip.list_virtual(hostname, username, password, name)#
A function to list a specific virtual.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the virtual to list
- salt.states.bigip.manage_monitor(hostname, username, password, monitor_type, name, **kwargs)#
Create a new monitor if a monitor of this type and name does not already exists. If it does exists, only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- monitor_type
The type of monitor to create
- name
The name of the monitor to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each monitor type. Typically, tmsh arg names are used.
- salt.states.bigip.manage_node(hostname, username, password, name, address, connection_limit=None, description=None, dynamic_ratio=None, logging=None, monitor=None, rate_limit=None, ratio=None, session=None, node_state=None)#
Manages a node of a given bigip device. If the node does not exist it will be created, otherwise, only the properties which are different than the existing will be updated.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the node to manage.
- address
The address of the node
- connection_limit
[integer]
- description
[string]
- dynam
c_ratio: [integer]
- logging
[enabled | disabled]
- monitor
[[name] | none | default]
- rate_limit
[integer]
- ratio
[integer]
- session
[user-enabled | user-disabled]
- node_state (state)
[user-down | user-up ]
- salt.states.bigip.manage_pool(hostname, username, password, name, allow_nat=None, allow_snat=None, description=None, gateway_failsafe_device=None, ignore_persisted_weight=None, ip_tos_to_client=None, ip_tos_to_server=None, link_qos_to_client=None, link_qos_to_server=None, load_balancing_mode=None, min_active_members=None, min_up_members=None, min_up_members_action=None, min_up_members_checking=None, monitor=None, profiles=None, queue_depth_limit=None, queue_on_connection_limit=None, queue_time_limit=None, reselect_tries=None, service_down_action=None, slow_ramp_time=None)#
Create a new pool if it does not already exist. Pool members are managed separately. Only the parameters specified are enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to create
- allow_nat
[yes | no]
- allow_snat
[yes | no]
- description
[string]
- gateway_failsafe_device
[string]
- ignore_persisted_weight
[enabled | disabled]
- ip_tos_to_client
[pass-through | [integer]]
- ip_tos_to_server
[pass-through | [integer]]
- link_qos_to_client
[pass-through | [integer]]
- link_qos_to_server
[pass-through | [integer]]
- load_balancing_mode
[dynamic-ratio-member | dynamic-ratio-node | fastest-app-response | fastest-node | least-connections-members | 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]
- min_active_members
[integer]
- min_up_members
[integer]
- min_up_members_action
[failover | reboot | restart-all]
- min_up_members_checking
[enabled | disabled]
- monitor
[name]
- profiles
[none | profile_name]
- queue_depth_limit
[integer]
- queue_on_connection_limit
[enabled | disabled]
- queue_time_limit
[integer]
- reselect_tries
[integer]
- service_down_action
[drop | none | reselect | reset]
- slow_ramp_time
[integer]
- salt.states.bigip.manage_pool_members(hostname, username, password, name, members)#
Manage the members of an existing pool. This function replaces all current pool members. Only the parameters specified are enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to modify
- members
list of pool members to manage.
- salt.states.bigip.manage_profile(hostname, username, password, profile_type, name, **kwargs)#
Create a new profile if a monitor of this type and name does not already exists. If it does exists, only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- profile_type
The type of profile to create
- name
The name of the profile to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each profile type. Typically, tmsh arg names are used.
- salt.states.bigip.manage_virtual(hostname, username, password, name, destination, pool=None, address_status=None, auto_lasthop=None, bwc_policy=None, cmp_enabled=None, connection_limit=None, dhcp_relay=None, description=None, fallback_persistence=None, flow_eviction_policy=None, gtm_score=None, ip_forward=None, ip_protocol=None, internal=None, twelve_forward=None, last_hop_pool=None, mask=None, mirror=None, nat64=None, persist=None, profiles=None, policies=None, rate_class=None, rate_limit=None, rate_limit_mode=None, rate_limit_dst=None, rate_limit_src=None, rules=None, related_rules=None, reject=None, source=None, source_address_translation=None, source_port=None, virtual_state=None, traffic_classes=None, translate_address=None, translate_port=None, vlans=None)#
Manage a virtual server. If a virtual does not exists it will be created, otherwise only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the virtual to create
- destination
[ [virtual_address_name:port] | [ipv4:port] | [ipv6.port] ]
- pool
[ [pool_name] | none]
- address_status
[yes | no]
- auto_lasthop
[default | enabled | disabled ]
- bwc_policy
[none] | string]
- cmp_enabled
[yes | no]
- dhcp_relay
[yes | no}
- connection_limit
[integer]
- description
[string]
- state
[disabled | enabled]
- fallback_persistence
[none | [profile name] ]
- flow_eviction_policy
[none | [eviction policy name] ]
- gtm_score
[integer]
- ip_forward
[yes | no]
- ip_protocol
[any | protocol]
- internal
[yes | no]
- twelve_forward(12-forward)
[yes | no]
- last_hop-pool
[ [pool_name] | none]
- mask
{ [ipv4] | [ipv6] }
- mirror
{ [disabled | enabled | none] }
- nat64
[enabled | disabled]
- persist
[list]
- profiles
[none | default | list ]
- policies
[none | default | list ]
- rate_class
[name]
- rate_limit
[integer]
- rate_limit-mode
[destination | object | object-destination | object-source | object-source-destination | source | source-destination]
- rate_limit-dst
[integer]
- rate_limit-src
[integer]
- rules
[none | list ]
- related_rules
[none | list ]
- reject
[yes | no]
- source
{ [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
- source_address_translation
[none | snat:pool_name | lsn | automap | dictionary ]
- source_port
[change | preserve | preserve-strict]
- state
[enabled | disabled]
- traffic_classes
[none | default | list ]
- translate_address
[enabled | disabled]
- translate_port
[enabled | disabled]
- vlans
[none | default | dictionary]
- vlan_ids
[ list]
- enabled
[ true | false ]
- salt.states.bigip.modify_monitor(hostname, username, password, monitor_type, name, **kwargs)#
Modify an existing monitor. If it does exists, only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- monitor_type
The type of monitor to create
- name
The name of the monitor to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each monitor type. Typically, tmsh arg names are used.
- salt.states.bigip.modify_node(hostname, username, password, name, connection_limit=None, description=None, dynamic_ratio=None, logging=None, monitor=None, rate_limit=None, ratio=None, session=None, node_state=None)#
Modify an existing node. Only a node which already exists will be modified and only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the node to modify
- connection_limit
[integer]
- description
[string]
- dynamic_ratio
[integer]
- logging
[enabled | disabled]
- monitor
[[name] | none | default]
- rate_limit
[integer]
- ratio
[integer]
- session
[user-enabled | user-disabled]
- node_state (state)
[user-down | user-up ]
- salt.states.bigip.modify_pool(hostname, username, password, name, allow_nat=None, allow_snat=None, description=None, gateway_failsafe_device=None, ignore_persisted_weight=None, ip_tos_to_client=None, ip_tos_to_server=None, link_qos_to_client=None, link_qos_to_server=None, load_balancing_mode=None, min_active_members=None, min_up_members=None, min_up_members_action=None, min_up_members_checking=None, monitor=None, profiles=None, queue_depth_limit=None, queue_on_connection_limit=None, queue_time_limit=None, reselect_tries=None, service_down_action=None, slow_ramp_time=None)#
Modify an existing pool. Pool members are managed separately. Only the parameters specified are enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to create
- allow_nat
[yes | no]
- allow_snat
[yes | no]
- description
[string]
- gateway_failsafe_device
[string]
- ignore_persisted_weight
[enabled | disabled]
- ip_tos_to_client
[pass-through | [integer]]
- ip_tos_to_server
[pass-through | [integer]]
- link_qos_to_client
[pass-through | [integer]]
- link_qos_to_server
[pass-through | [integer]]
- load_balancing_mode
[dynamic-ratio-member | dynamic-ratio-node | fastest-app-response | fastest-node | least-connections-members | 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]
- min_active_members
[integer]
- min_up_members
[integer]
- min_up_members_action
[failover | reboot | restart-all]
- min_up_members_checking
[enabled | disabled]
- monitor
[name]
- profiles
[none | profile_name]
- queue_depth_limit
[integer]
- queue_on_connection_limit
[enabled | disabled]
- queue_time_limit
[integer]
- reselect_tries
[integer]
- service_down_action
[drop | none | reselect | reset]
- slow_ramp_time
[integer]
- salt.states.bigip.modify_pool_member(hostname, username, password, name, member, connection_limit=None, description=None, dynamic_ratio=None, inherit_profile=None, logging=None, monitor=None, priority_group=None, profiles=None, rate_limit=None, ratio=None, session=None, member_state=None)#
A function to connect to a bigip device and modify a member of an existing pool.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the pool to modify
- member
The member modify
- connection_limit
[integer]
- description
[string]
- dynamic_ratio
[integer]
- inherit_profile
[enabled | disabled]
- logging
[enabled | disabled]
- monitor
[name]
- priority_group
[integer]
- profiles
[none | profile_name]
- rate_limit
[integer]
- ratio
[integer]
- session
[user-enabled | user-disabled]
- member_state (state)
[ user-up | user-down ]
- salt.states.bigip.modify_profile(hostname, username, password, profile_type, name, **kwargs)#
Modify an existing profile. If it does exists, only the parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- profile_type
The type of profile to create
- name
The name of the profile to create
- kwargs
[ arg=val ] ...
Consult F5 BIGIP user guide for specific options for each monitor type. Typically, tmsh arg names are used.
- salt.states.bigip.modify_virtual(hostname, username, password, name, destination, pool=None, address_status=None, auto_lasthop=None, bwc_policy=None, cmp_enabled=None, connection_limit=None, dhcp_relay=None, description=None, fallback_persistence=None, flow_eviction_policy=None, gtm_score=None, ip_forward=None, ip_protocol=None, internal=None, twelve_forward=None, last_hop_pool=None, mask=None, mirror=None, nat64=None, persist=None, profiles=None, policies=None, rate_class=None, rate_limit=None, rate_limit_mode=None, rate_limit_dst=None, rate_limit_src=None, rules=None, related_rules=None, reject=None, source=None, source_address_translation=None, source_port=None, virtual_state=None, traffic_classes=None, translate_address=None, translate_port=None, vlans=None)#
Modify an virtual server. modify an existing virtual. Only parameters specified will be enforced.
- hostname
The host/address of the bigip device
- username
The iControl REST username
- password
The iControl REST password
- name
The name of the virtual to create
- destination
[ [virtual_address_name:port] | [ipv4:port] | [ipv6.port] ]
- pool
[ [pool_name] | none]
- address_status
[yes | no]
- auto_lasthop
[default | enabled | disabled ]
- bwc_policy
[none] | string]
- cmp_enabled
[yes | no]
- dhcp_relay
[yes | no}
- connection_limit
[integer]
- description
[string]
- state
[disabled | enabled]
- fallback_persistence
[none | [profile name] ]
- flow_eviction_policy
[none | [eviction policy name] ]
- gtm_score
[integer]
- ip_forward
[yes | no]
- ip_protocol
[any | protocol]
- internal
[yes | no]
- twelve_forward(12-forward)
[yes | no]
- last_hop-pool
[ [pool_name] | none]
- mask
{ [ipv4] | [ipv6] }
- mirror
{ [disabled | enabled | none] }
- nat64
[enabled | disabled]
- persist
[list]
- profiles
[none | default | list ]
- policies
[none | default | list ]
- rate_class
[name]
- rate_limit
[integer]
- rate_limit-mode
[destination | object | object-destination | object-source | object-source-destination | source | source-destination]
- rate_limit_dst
[integer]
- rate_limit_src
[integer]
- rules
[none | list ]
- related_rules
[none | list ]
- reject
[yes | no]
- source
{ [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
- source_address_translation
[none | snat:pool_name | lsn | automap | dictionary ]
- source_port
[change | preserve | preserve-strict]
- state
[enabled | disabled]
- traffic_classes
[none | default | list ]
- translate_address
[enabled | disabled]
- translate_port
[enabled | disabled]
- vlans
[none | default | dictionary ]
- vlan_ids
[ list]
- enabled
[ true | false ]