Skip to content
Smarter by Design.Simpler for Business

lb service ​

The lb service command manages the vServices that receive the traffic. A vService carries which address and port it will listen to, to which backends and how it will distribute the traffic, and which profiles will be applied. Its panel equivalent is the vService screen.

The first field written is type

The type of the service is selected first; this selection determines which fields will open. Without the type being written, not even name is listed.

Command Summary ​

TR7 WEB-CLI · lb service
# Tab after the command
admin@TR7LBWAF01> lb service
add delete list restart show status update update-many
 
admin@TR7LBWAF01> lb service list # list all of them
admin@TR7LBWAF01> lb service show <id> # show one
admin@TR7LBWAF01> lb service add type <type> name <name> v-device <device> …
admin@TR7LBWAF01> lb service update id <id> … # change
admin@TR7LBWAF01> lb service update-many target <target> …# bulk change
admin@TR7LBWAF01> lb service restart poolId <vService> # restart
admin@TR7LBWAF01> lb service status list # list the statuses
admin@TR7LBWAF01> lb service delete <id> # delete
admin@TR7LBWAF01>  

Writing Order ​

Step 1 Select the type
lb service add type http
Step 2 Write the name and the virtual device
name portal-web v-device <device>
Step 3 Give the listening address
--listen.0.ip <address> --listen.0.port 443
Step 4 Bind the backends and the profiles
--defaultBackendList.0 <backend> --sslSecurity <profile>

Required Fields ​

OrderFieldStatusWhat it doesWhat is written after it
1typeRequiredDetermines the type of the servicehttp · tcp · layer4
2nameRequiredGives a name to the serviceThe name of the service; it must be unique in the collection
3v-deviceRequiredSelects the virtual device on which the service will runThe virtual device; Tab lists them

The Service Types ​

The type determines which field group will open.

typeWhat it doesThe field groups that open
httpReceives the request at the application layer; operations can be performed at the header, path and cookie levelThe listening addresses · the backend · the distribution · the persistence · all the profiles · WAF, AGS, protection · the resource management
tcpReceives the connection at the transport layerThe listening addresses · the backend · the distribution · the persistence · the profiles (except compression and cache) · the protection · the resource management
layer4Distributes the packets directly; the application layer operations are not performedThe listening addresses · the backend · the Layer4 fields

--compression, --cache, --ags, --forwardfor and --trustedProxy exist only in the http type; --algorithm, --persistence, --engine, --qos and --sslSecurity exist in the http and tcp types.

The Listening Addresses ​

Determines from which addresses and ports the service will be listened to. Every address is written with its own index.

FieldWhat it doesWhat is written after it
--listen.N.ipDetermines the address that the service will listen toAn IP address defined on the virtual device; every address with its own index
--listen.N.portDetermines the port that the service will listen toThe port number
--listen.N.sslSelects how the TLS termination will be done on that addressThe TLS termination option
--listen.N.quicTurns on the HTTP/3 (QUIC) support on that addresstrue · false (default false)
--virtualHosting.NDetermines which domain names the service will answerA domain name; each with its own index
--certificate.NSelects the certificates that the service will presentThe lb certificate records; each with its own index

Binding the Backend ​

Determines where the traffic will go. The conditional sets have priority over the default list.

FieldWhat it doesWhat is written after it
--defaultBackendList.NSelects the backends to which the traffic will go by defaultThe lb backend or lb backend-group records
--dynamicBackendList.N.beGroupGives an id to the condition-bound backend setThe set id
--dynamicBackendList.N.beList.NSelects the backends that will be used in that setBackend or group records
--dynamicBackendList.N.condDetermines in which traffic the set will be usedA condition expression; it is built from the lb condition records

The Distribution Algorithm ​

Determines how the traffic will be shared among the backends. Some algorithms open their own additional fields.

FieldWhat it doesWhat is written after it
--algorithmSelects how the traffic will be distributed to the backendsroundrobinNoWeight (default) · roundrobin · leastconn · leasttime · leastbw · first · random · fastestWith · fastestWith+ · source · urilen · urlparam · hdr · rdp-cookie
--leasttimeMetricSelects which time the least time algorithm will measuretotal the total time (default) · resp the response time. It opens while --algorithm leasttime
--leastbwWindow.valDetermines the window of the bandwidth measurementA number (default 10)
--leastbwWindow.unitDetermines the unit of the bandwidth windowA unit (default s)
--uriLenDetermines the number of URI characters to be hashedA number between 1 and 10000 (default 50); it opens while --algorithm urilen
--uriDepthDetermines the path depth to be hashedA number between 1 and 100; it opens while --algorithm urilen
--urlParamKeyDetermines the query parameter to be used in the distributionThe parameter name; it opens while --algorithm urlparam
--checkPostMakes the parameter be searched in the request body tootrue · false (default false); it opens while --algorithm urlparam
--hdrNameDetermines the header to be used in the distributionThe header name; it opens while --algorithm hdr
--rdpCookieNameDetermines the RDP cookie to be used in the distributionThe cookie name; it opens while --algorithm rdp-cookie
--hashConsistencyTurns on the use of consistent hashing in the hash-based distributiontrue · false (default false)
--fastestOpt1Determines the first criterion of the fastest backend selectionThe criterion value
--fastestOpt2Determines the second criterion of the fastest backend selectionThe criterion value

Server Persistence ​

Makes the same client be directed to the same backend. The selected method opens its own fields.

FieldWhat it doesWhat is written after it
--persistenceSelects the method that makes the same client go to the same backendtr7Cookie the cookie produced by TR7 · serverCookie the cookie of the backend · dynamicPersistence according to a variable · sam session aware. When it is left empty, persistence is not applied
--tr7CookieNameDetermines the name of the persistence cookie that TR7 will produceThe cookie name; it opens while --persistence tr7Cookie
--serverCookieNameDetermines which cookie produced by the backend will be trackedThe cookie name; it opens while --persistence serverCookie
--cookieMaxIdle.valDetermines the time that the cookie can stay idleA number (default 30)
--cookieMaxIdle.unitDetermines the unit of the idle timeA unit (default m)
--cookieMaxLife.valDetermines the total life of the cookieA number (default 30)
--cookieMaxLife.unitDetermines the unit of the cookie lifeA unit (default m)
--dynamicPersistenceKeys.NDetermines according to which variable the persistence will be establishedA smart variable; it opens while --persistence dynamicPersistence
--dynamicPersistenceTableSizeDetermines how many records the persistence table will holdA number (default 3000000)
--dynamicPersistenceTableExpire.valDetermines how long the record in the table will be keptA number (default 7)
--dynamicPersistenceTableExpire.unitDetermines the unit of the keeping timeA unit (default d)
--samCookieSourceSelects who will produce the session cookietr7 TR7 produces it (default) · backend the backend produces it. It opens while --persistence sam
--samCookieNameDetermines the name of the session cookieThe cookie name
--samMaxLife.valDetermines the total life of the sessionA number (default 24)
--samMaxLife.unitDetermines the unit of the session lifeA unit (default h)
--samMaxIdle.valDetermines the time that the session can stay idleA number (default 30)
--samMaxIdle.unitDetermines the unit of the idle timeA unit (default m)
--samSecurityFlags.NSelects the security flags to be added to the session cookiehttpOnly (default) · secure · sameSiteStrict · sameSiteLax
--samSessionFormatSelects the format of the session idipTimestampRandom (default) · uuid · ipRandom · custom
--samCustomFormatKeys.NDetermines the variables that make up the custom session idA smart variable; it is used while --samSessionFormat custom

The Bound Profiles ​

The profiles determine the behavior of the service; each one is created with a separate command.

FieldWhat it doesWhat is written after it
--sslSecuritySelects the TLS profile to be applied on the listening sideThe lb ssl-security record (default default)
--trustedProxySelects the profile that determines from which intermediate servers the client address will be readA trusted proxy profile
--compressionSelects the profile that manages the compression of the responsesThe lb compression record
--cacheSelects the profile that manages the caching of the responsesThe lb cache record
--logSelects the profile that determines where the traffic logs will goThe lb log record
--notificationSelects the notification profileThe lb notification record
--extraNotificationProfiles.NBinds additional notification profilesNotification profile records
--reportProfileSelects the main report profileThe lb report record
--extraReportProfiles.NBinds additional report profilesReport profile records
--poolLimitsSelects the limit profile to be applied to the listening serviceThe lb limits record
--timeoutSelects the timeout profileThe lb timeouts record

The Protection and Processing Switches ​

Turns on the layers to be applied to the traffic that passes over the service.

FieldWhat it doesWhat is written after it
--wafTurns on the web application firewalltrue · false (default false)
--agsTurns on the access gatewaytrue · false (default false)
--threatProtectionTurns on the traffic protection layertrue · false (default false)
--forwardforTurns on the addition of the X-Forwarded-For header that carries the address of the client to the backendtrue · false (default false)
--rules.NBinds the actions to be applied to the serviceThe lb action records; each with its own index
--bwTurns on the bandwidth limitingtrue · false (default false)
--downloadBwPoolDetermines the total download bandwidth limit of the serviceA number; it opens while --bw true

Resource Management ​

Determines the processor, memory and core resources to be allocated to the service. Most of the fields open when --qos true is written.

FieldWhat it doesWhat is written after it
--qosTurns on the resource management allocated to the servicetrue · false (default false)
--engineDetermines on which core engine the service will runThe engine name
--poolCores.NDetermines the core numbers to be allocated to the serviceA number between 0 and 64; it opens while --qos true
--memoryLimitSelects the memory limit that the service can useA byte value (default 1073741824); it opens while --qos true
--cpuPrioritySelects the processor priority of the servicelow (default) · normal · high; it opens while --qos true
--cpuLimitLimits the processor percentage that the service can useA percentage value; it opens while --qos true
--inlineModeTurns on the service running in inline modetrue · false (default false); it opens while --qos true
--logNamespaceSelects from which route table the logs will be sentA route table (default 1); it opens while --qos true

The Layer4 Fields ​

It exists only in the services of the layer4 type.

FieldWhat it doesWhat is written after it
--l4NamespaceSelects which route table the Layer4 service will useA route table (default 1)
--l4ProtocolSelects the protocol of the Layer4 servicetcp (default) · udp · any
--l4LbModeSelects the Layer4 distribution modeDR direct return (default) · NAT the routing mode · SNAT
--l4AlgorithmSelects the Layer4 distribution algorithmrr (default) · wrr · lc · lblc · wlc · sh · dh
--l4PortRangeTurns on port range listeningtrue · false (default false)
--l4Persistence.valDetermines the Layer4 persistence timeA number
--l4Persistence.unitDetermines the unit of the persistence timeA unit (default ms)
--l4SipPersistenceTurns on persistence for the SIP traffictrue · false (default false)
--l4SnatIpSelects the source address to be used in the Layer4 SNAT modeAn address; it is used while --l4LbMode SNAT

Debugging ​

Makes detailed logs be produced while a problem is being examined.

FieldWhat it doesWhat is written after it
--debugModeTurns on the detailed debugging logtrue · false (default false)
--debugModeConditionsMakes the debugging run only on certain trafficA condition expression
--debugLogEntries.N.keyDetermines the name of the field to be added to the debugging logThe field name
--debugLogEntries.N.valueDetermines the value of that fieldA smart variable

Restarting and Status ​

CommandWhat it doesFields
lb service restart poolId <vService>Restarts the servicepoolId Required which service · --hardReload starts it without waiting for the connections
lb service status listLists the running status of all the services--output · --filter
lb service status id <vService>Shows the status of a single servicepoolId which service
OrderFieldStatusValue
1poolIdRequiredThe vService to be restarted in the restart command; it is written together with the field name. In the status id command the field name is not written, the vService is written directly as the value

Examples ​

TR7 WEB-CLI · A) A web service that receives HTTPS
admin@TR7LBWAF01> lb service add type http name portal-web v-device <device> \
--listen.0.ip <address> --listen.0.port 443 --certificate.0 <certificate> \
--virtualHosting.0 portal.kurum.com.tr --sslSecurity <profile> \
--defaultBackendList.0 <backend> --algorithm roundrobin --forwardfor true
admin@TR7LBWAF01>  
TR7 WEB-CLI · B) Persistence, protection and profiles
# cookie-based persistence and WAF
admin@TR7LBWAF01> lb service update id <vService> \
--persistence tr7Cookie --tr7CookieName TR7SESS --cookieMaxIdle.val 60 --cookieMaxIdle.unit m \
--waf true --threatProtection true --cache <cache> --log <log>
admin@TR7LBWAF01>  
TR7 WEB-CLI · C) TCP and Layer4 services
admin@TR7LBWAF01> lb service add type tcp name db-proxy v-device <device> \
--listen.0.ip <address> --listen.0.port 5432 --defaultBackendList.0 <backend> --algorithm leastconn
 
admin@TR7LBWAF01> lb service add type layer4 name dns-front v-device <device> \
--listen.0.ip <address> --listen.0.port 53 --l4Protocol udp --l4LbMode DR --l4Algorithm wrr
admin@TR7LBWAF01>  
TR7 WEB-CLI · D) Conditional backend set and restart
# let the requests on the /api path go to a separate backend set
admin@TR7LBWAF01> lb service update id <vService> \
--dynamicBackendList.0.beGroup api --dynamicBackendList.0.cond <condition> \
--dynamicBackendList.0.beList.0 <api-backend>
 
admin@TR7LBWAF01> lb service restart poolId <vService> --hardReload true
admin@TR7LBWAF01> lb service status id <vService>
admin@TR7LBWAF01>  

Updating and Deleting ​

TR7 WEB-CLI · update and delete
admin@TR7LBWAF01> lb service update id <id> --active false
 
# adding a listening address · removing a single address · emptying the list
admin@TR7LBWAF01> lb service update id <id> --listen.1.ip <address> --listen.1.port 8443
admin@TR7LBWAF01> lb service update id <id> --listen.1.delete
admin@TR7LBWAF01> lb service update id <id> --rules.delete
 
admin@TR7LBWAF01> lb service delete <id>
admin@TR7LBWAF01>  

Bulk Update ​

update-many applies the same change to many vService records at once. The writing order is the same on every resource.

Step 1 Select the target
The only required field is target: selected for the records selected from the list, all for the entire collection.
Step 2 Add the fields to be written
Only the fields that can be written to many records with the same value are present; the fields specific to the record, such as the id, the name, the virtual device and the listening address, do not take place in this command.
Step 3 Mark the targets from the list
When target selected is written and no id is given, a selection list with checkboxes opens.
Step 4 Confirm
A warning stating how many records will be affected appears; nothing is written until the confirmation word is typed.
FieldStatusValue
targetRequiredselected — the records selected from the list · all — the whole collection
--ids.NConditionalThe target ids for target selected. It is not suggested in the Tab list: the targets are marked from the selection list. In a script and in a pipeline it is written manually.
--onErrorOptionalabort (default) — if even one of the targets does not pass the validation, nothing is written · skip — the targets that pass are written

Writable Fields ​

TR7 WEB-CLI · update-many · Tab output
# Tab after the command
admin@TR7LBWAF01> lb service update-many
--info target
 
# Tab after the target field
admin@TR7LBWAF01> lb service update-many target
all selected
 
# write -- and Tab: all the writable fields
admin@TR7LBWAF01> lb service update-many target all --
--active                         --ags                            --algorithm
--bw                             --cache                          --certificate.N
--checkPost                      --compression                    --cookieMaxIdle
--cookieMaxLife                  --cpuLimit                       --cpuPriority
--debugLogEntries.N.key          --debugLogEntries.N.value        --debugMode
--debugModeConditions            --defaultBackendList.N           --downloadBwPool
--dynamicBackendList.N.beGroup   --dynamicBackendList.N.beList.N  --dynamicBackendList.N.cond
--dynamicPersistenceKeys.N       --dynamicPersistenceTableExpire  --dynamicPersistenceTableSize
--engine                         --extraNotificationProfiles.N    --extraReportProfiles.N
--forwardfor                     --hashConsistency                --hdrName
--info                           --inlineMode                     --l4Algorithm
--l4LbMode                       --l4Persistence                  --l4PortRange
--l4Protocol                     --l4SipPersistence               --leastbwWindow
--leasttimeMetric                --log                            --memoryLimit
--notification                   --onError                        --persistence
--poolCores.N                    --poolLimits                     --qos
--rdpCookieName                  --reportProfile                  --rules.N
--samCookieName                  --samCookieSource                --samCustomFormatKeys.N
--samMaxIdle                     --samMaxLife                     --samSecurityFlags.N
--samSessionFormat               --serverCookieName               --sslSecurity
--threatProtection               --timeout                        --tr7CookieName
--trustedProxy                   --uriDepth                       --uriLen
--urlParamKey                    --virtualHosting.N               --waf
admin@TR7LBWAF01>  

There are 69 fields in the command; the list above is the same as what appears when -- is written and Tab is pressed on the device. What each one does and what is written after it is in the table below.

The fields that are condition-bound in the single command (those that open according to the value of another field) are listed here without a condition: in the bulk update every target is validated separately according to its own record, and if the field is not active on a target it is skipped only on that target.

FieldWhat it doesWhat is written after it
--activeDetermines whether the service is in running state or nottrue (default) · false
--agsTurns on the access gatewaytrue · false (default false)
--algorithmSelects how the traffic will be distributed to the backendsroundrobinNoWeight (default) · roundrobin · leastconn · leasttime · leastbw · first · random · fastestWith · fastestWith+ · source · urilen · urlparam · hdr · rdp-cookie
--bwTurns on the bandwidth limitingtrue · false (default false)
--cacheSelects the profile that manages the caching of the responsesThe lb cache record
--certificate.NSelects the certificates that the service will presentThe lb certificate records; each with its own index
--checkPostMakes the parameter be searched in the request body tootrue · false (default false); it opens while --algorithm urlparam
--compressionSelects the profile that manages the compression of the responsesThe lb compression record
--cookieMaxIdleDetermines the time that the persistence cookie can stay idleA duration (default 30 minutes)
--cookieMaxLifeDetermines the total life of the persistence cookieA duration (default 30 minutes)
--cpuLimitLimits the processor percentage that the service can useA percentage value; it opens while --qos true
--cpuPrioritySelects the processor priority of the servicelow (default) · normal · high; it opens while --qos true
--debugLogEntries.N.keyDetermines the name of the field to be added to the debugging logThe field name
--debugLogEntries.N.valueDetermines the value of that fieldA smart variable
--debugModeTurns on the detailed debugging logtrue · false (default false)
--debugModeConditionsMakes the debugging run only on certain trafficA condition expression
--defaultBackendList.NSelects the backends to which the traffic will go by defaultThe lb backend or lb backend-group records
--downloadBwPoolDetermines the total download bandwidth limit of the serviceA number; it opens while --bw true
--dynamicBackendList.N.beGroupGives an id to the condition-bound backend setThe set id
--dynamicBackendList.N.beList.NSelects the backends that will be used in that setBackend or group records
--dynamicBackendList.N.condDetermines in which traffic the set will be usedA condition expression; it is built from the lb condition records
--dynamicPersistenceKeys.NDetermines according to which variable the persistence will be establishedA smart variable; it opens while --persistence dynamicPersistence
--dynamicPersistenceTableExpireDetermines the keeping time of the record in the persistence tableA duration (default 7 days)
--dynamicPersistenceTableSizeDetermines how many records the persistence table will holdA number (default 3000000)
--engineDetermines on which core engine the service will runThe engine name
--extraNotificationProfiles.NBinds additional notification profilesNotification profile records
--extraReportProfiles.NBinds additional report profilesReport profile records
--forwardforTurns on the addition of the X-Forwarded-For header that carries the address of the client to the backendtrue · false (default false)
--hashConsistencyTurns on the use of consistent hashing in the hash-based distributiontrue · false (default false)
--hdrNameDetermines the header to be used in the distributionThe header name; it opens while --algorithm hdr
--infoWrites what the command will do without running itIt does not take a value; it is written on its own
--inlineModeTurns on the service running in inline modetrue · false (default false); it opens while --qos true
--l4AlgorithmSelects the Layer4 distribution algorithmrr (default) · wrr · lc · lblc · wlc · sh · dh
--l4LbModeSelects the Layer4 distribution modeDR direct return (default) · NAT the routing mode · SNAT
--l4PersistenceDetermines the Layer4 persistence timeA duration
--l4PortRangeTurns on port range listeningtrue · false (default false)
--l4ProtocolSelects the protocol of the Layer4 servicetcp (default) · udp · any
--l4SipPersistenceTurns on persistence for the SIP traffictrue · false (default false)
--leastbwWindowDetermines the bandwidth measurement windowA duration (default 10 seconds)
--leasttimeMetricSelects which time the least time algorithm will measuretotal the total time (default) · resp the response time. It opens while --algorithm leasttime
--logSelects the profile that determines where the traffic logs will goThe lb log record
--memoryLimitSelects the memory limit that the service can useA byte value (default 1073741824); it opens while --qos true
--notificationSelects the notification profileThe lb notification record
--onErrorDetermines what will happen if a target does not pass the validationabort writes nothing (default) · skip writes the targets that pass
--persistenceSelects the method that makes the same client go to the same backendtr7Cookie the cookie produced by TR7 · serverCookie the cookie of the backend · dynamicPersistence according to a variable · sam session aware. When it is left empty, persistence is not applied
--poolCores.NDetermines the core numbers to be allocated to the serviceA number between 0 and 64; it opens while --qos true
--poolLimitsSelects the limit profile to be applied to the listening serviceThe lb limits record
--qosTurns on the resource management allocated to the servicetrue · false (default false)
--rdpCookieNameDetermines the RDP cookie to be used in the distributionThe cookie name; it opens while --algorithm rdp-cookie
--reportProfileSelects the main report profileThe lb report record
--rules.NBinds the actions to be applied to the serviceThe lb action records; each with its own index
--samCookieNameDetermines the name of the session cookieThe cookie name
--samCookieSourceSelects who will produce the session cookietr7 TR7 produces it (default) · backend the backend produces it. It opens while --persistence sam
--samCustomFormatKeys.NDetermines the variables that make up the custom session idA smart variable; it is used while --samSessionFormat custom
--samMaxIdleDetermines the time that the session can stay idleA duration (default 30 minutes)
--samMaxLifeDetermines the total life of the sessionA duration (default 24 hours)
--samSecurityFlags.NSelects the security flags to be added to the session cookiehttpOnly (default) · secure · sameSiteStrict · sameSiteLax
--samSessionFormatSelects the format of the session idipTimestampRandom (default) · uuid · ipRandom · custom
--serverCookieNameDetermines which cookie produced by the backend will be trackedThe cookie name; it opens while --persistence serverCookie
--sslSecuritySelects the TLS profile to be applied on the listening sideThe lb ssl-security record (default default)
--threatProtectionTurns on the traffic protection layertrue · false (default false)
--timeoutSelects the timeout profileThe lb timeouts record
--tr7CookieNameDetermines the name of the persistence cookie that TR7 will produceThe cookie name; it opens while --persistence tr7Cookie
--trustedProxySelects the profile that determines from which intermediate servers the client address will be readA trusted proxy profile
--uriDepthDetermines the path depth to be hashedA number between 1 and 100; it opens while --algorithm urilen
--uriLenDetermines the number of URI characters to be hashedA number between 1 and 10000 (default 50); it opens while --algorithm urilen
--urlParamKeyDetermines the query parameter to be used in the distributionThe parameter name; it opens while --algorithm urlparam
--virtualHosting.NDetermines which domain names the service will answerA domain name; each with its own index
--wafTurns on the web application firewalltrue · false (default false)

Fields that exist in the single command but not here, and the reasons:

FieldWhy it is not here
nameThe name is unique; the same value cannot be written to many records
v-deviceThe virtual device determines the set of addresses that can be selected; its value depends on the sibling fields
typeThe type of the service determines the identity of the record; it cannot be changed in bulk
listen.N.ipThe listening address is specific to the record and depends on the virtual device
listen.N.portIt is part of the same address object
listen.N.sslIt is part of the same address object
listen.N.quicIt is part of the same address object
l4NamespaceThe route table depends on the virtual device
l4SnatIpThe address comes from the list of the selected virtual device
fastestOpt1Its value depends on the sibling fields
fastestOpt2Its value depends on the sibling fields

Target Selection and Confirmation ​

TR7 WEB-CLI · selection list and confirmation
admin@TR7LBWAF01> lb service update-many target selected --waf true
 
?  Target objects
    space: mark · ctrl+a: all · enter: confirm
    Filter: (filter by typing) · esc: cancel
 
  [x] <record-1>
  [x] <record-2>
  [ ] <record-3>
    2 selected / 3
 
⚠  2 objects will be updated
    <record-1>, <record-2>
 
Type "yes" to confirm: yes
admin@TR7LBWAF01>  
TR7 WEB-CLI · the whole collection and writing in a script
# the whole collection: the list does not open, the confirmation comes directly
admin@TR7LBWAF01> lb service update-many target all --forwardfor true
⚠  This operation will update ALL the objects in the collection
Type "yes" to confirm:
 
# in a script or in a pipeline: the targets are written by hand, the list does not open
admin@TR7LBWAF01> lb service update-many target selected \
--ids.0 <id-1> --ids.1 <id-2> --waf true --onError skip
admin@TR7LBWAF01>  

The screen language depends on the user

The texts in the selection list and on the confirmation screen come according to the language preference of the signed-in user. The confirmation word is yes in the English interface and evet in the Turkish interface.

The detailed behavior of bulk update — which fields can be written in bulk and the report returned for each target — is on the API Commands page.

Things to Know ​

  • The type determines the fields. After type is selected, only the fields of that type are listed; in the layer4 type the application layer fields (WAF, AGS, compression, cache, actions) do not open at all.
  • The conditional backend set comes before the default list. In a request where --dynamicBackendList.N.cond matches, the backends in that set are used; if there is no match, --defaultBackendList.N comes into play.
  • The algorithm opens its own fields. When urilen, urlparam, hdr, rdp-cookie, leasttime and leastbw are selected, additional fields are asked for beside them.
  • The persistence method opens its own fields. Each of the tr7Cookie, serverCookie, dynamicPersistence and sam options brings a different field set.
  • The resource fields depend on QoS. --poolCores.N, --memoryLimit, --cpuPriority, --cpuLimit, --inlineMode and --logNamespace open only when --qos true is written.
  • Restarting can create an interruption. --hardReload true starts the service without waiting for the open connections to finish.
  • The name is unique. A second vService with the same name cannot be created.