Expert settings collection

This chapter supplies expert-level information about enhanced configuration tasks using Airlock Gateway Expert settings.

Expert settings require deep knowledge of proper and secure usage. Configurational mistakes can e.g. lead to massive system loads similar to a Denial-of-Service (DoS) attack etc.

Since most expert settings are individual, we collect a growing number of examples for usage here.

Chapter-related prerequisites

  • You need to be logged in as admin in the Airlock Gateway Configuration Center.
  • You need to be logged in as root on the Airlock Gateway console.

Types of data structures in Expert Settings

The following types of data structures are used in Expert Settings:

primitives
Primitives are strings, numbers, and booleans. All primitive values are written in double-quotes:
# string 
ResourceName "A string" 
  
# Often string resources are used to reference something already defined in the configuration. 
# In those cases, take care to write the string exactly as the referenced element is written. 
# Sometimes strings may be used to configure a restricted set of strings (an enumeration). 
# Those cases will be documented where needed. 
  
# number 
ResourceName "123" 
  
# floating point numbers 
ResourceName "3.1415" 
  
# booleans "TRUE" or "FALSE" 
ResourceName "TRUE"
patterns
Patterns are regular expressions and can have three properties:
  • Pattern string, a Perl compatible regular expression
  • Ignore-Case flag, can be match case or insensitive
  • Invert flag, determines whether the match should be inverted
# Pattern string 
ResourceName.Pattern    "^prefix.*suffix$" 
# optional boolean (default "FALSE") 
ResourceName.IgnoreCase "TRUE" 
# optional boolean (default "FALSE") 
ResourceName.InvertPattern     "FALSE"
simple lists
Simple lists of strings are written in parenthesis. Note that strings need to be separated by a space, not a comma:
# A simple list with three entries 
# json equivalent: ["Entry one", "Entry two", "Entry three"]) 
ResourceName ("Entry one" "Entry two" "Entry three")
multi-line lists
Multi-line lists have one entry per line:
# List with one value per entry 
# json equivalent: 
# [ 
#   { "Value": "The value 1" }, 
#   { "Value": "The value 2" } 
# ] 
ResourceName.0.Value "The value 1" 
ResourceName.1.Value "The value 2"
Multi-line lists may have more than one resource for each index:
# List with more than one value per entry 
# json equivalent: 
# [ 
#   { "Value": "The value 1", "OtherValue": "One" }, 
#   { "Value": "The value 2", "OtherValue": "Two" } 
# ] 
ResourceName.0.Value      "The value 1" 
ResourceName.0.OtherValue "One" 
ResourceName.1.Value      "The value 2" 
ResourceName.1.OtherValue "Two"
…Show more…Show less

Be aware that the list must contain strictly consecutive indices, i.e. if one index is skipped, the list ends with it.

named multi-line lists
Named multi-line lists consists of one indexed resource defining a new scope for the following entries:
# Named list with more than one resource for each entry 
# json equivalent: 
# [ 
#   { "Name": "Scope1", "Value": "The value 1", "OtherValue": "One" }, 
#   { "Name": "Scope2", "Value": "The value 2", "OtherValue": "Two" } 
# ] 
ResourceName.0.Name            "Scope1" 
ResourceName.Scope1.Value      "The value 1" 
ResourceName.Scope1.OtherValue "One" 
ResourceName.1.Name            "Scope2" 
ResourceName.Scope2.Value      "The value 2" 
ResourceName.Scope2.OtherValue "Two"