Reference
add map
Add an entry to a Map file.
Description Jump to heading
A Map file contains a list of key-value pairs. You can reference the file on an acl line by using the -M and -f /path/to/file flags. Use add map to add a new entry to a Map file. Note that this only adds it to the load balancer’s runtime memory and not to the file on disk.
Map files can also be virtual or optional. If you’re using a virtual Map file, prefix the filename with virt@ when calling add map. If the file is optional, then don’t specify a prefix.
Examples Jump to heading
Add a map entry Jump to heading
In this example, the key foo.example.com and value be_bar are added as a new line in the file /etc/hapee-3.2/maps/hosts.map.
nixecho "add map /etc/hapee-3.2/maps/hosts.map foo.example.com be_bar" | \sudo socat stdio tcp4-connect:127.0.0.1:9999
nixecho "add map /etc/hapee-3.2/maps/hosts.map foo.example.com be_bar" | \sudo socat stdio tcp4-connect:127.0.0.1:9999
Add a map entry to a transaction Jump to heading
Available since
- HAProxy 2.4
- HAProxy Enterprise 2.4r1
Multiple map file changes can be submitted atomically using the transaction feature. Use prepare map to start a transaction and commit map to apply the transaction.
The prepare map command returns a temporary map file version ID. Specify this ID using the “at” (@) symbol before the map ID.
-
Use the
show mapscommand to list map files and their unique IDs.nixecho "show map" | \sudo socat stdio tcp4-connect:127.0.0.1:9999nixecho "show map" | \sudo socat stdio tcp4-connect:127.0.0.1:9999outputtext# id (file) description0 (/etc/hapee-3.2/routes.map) pattern loaded from file '/etc/hapee-3.2/routes.map' used by map at file '/etc/hapee-3.2/hapee-lb.cfg' line 61. curr_ver=0 next_ver=1 entry_cnt=0outputtext# id (file) description0 (/etc/hapee-3.2/routes.map) pattern loaded from file '/etc/hapee-3.2/routes.map' used by map at file '/etc/hapee-3.2/hapee-lb.cfg' line 61. curr_ver=0 next_ver=1 entry_cnt=0 -
Pass the map file’s unique ID to
show mapto display entries in the file:nixecho "show map #0" | \sudo socat stdio tcp4-connect:127.0.0.1:9999nixecho "show map #0" | \sudo socat stdio tcp4-connect:127.0.0.1:9999outputtext0x563bbeeee160 /cart/ cart_api0x563bbeeee1a0 /reviews/ reviews_apioutputtext0x563bbeeee160 /cart/ cart_api0x563bbeeee1a0 /reviews/ reviews_api -
Use
prepare mapto start a transaction.nixecho "prepare map #0" | \sudo socat stdio tcp4-connect:127.0.0.1:9999nixecho "prepare map #0" | \sudo socat stdio tcp4-connect:127.0.0.1:9999outputtextNew version created: 1outputtextNew version created: 1 -
Add the key
/support/and valuesupport_apias a new line in the temporary transaction file.nixecho "add map @1 #0 /support/ support_api" | \sudo socat stdio tcp4-connect:127.0.0.1:9999nixecho "add map @1 #0 /support/ support_api" | \sudo socat stdio tcp4-connect:127.0.0.1:9999 -
Use
commit mapto apply the transaction.nixecho "commit map @1 #0" | \sudo socat stdio tcp4-connect:127.0.0.1:9999nixecho "commit map @1 #0" | \sudo socat stdio tcp4-connect:127.0.0.1:9999
See also Jump to heading
Do you have any suggestions on how we can improve the content of this page?