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 exsiting 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 ]