ADC (object)¶
A declarative configuration for an ADC such as F5 BIG-IP
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
$schema | string | “uri” formatted string | URL of schema against which to validate. Used by validation in your local environment only (via Visual Studio Code, for example) | |
/*/ | object | Declares a Tenant | ||
class* | string | “ADC” | Indicates this JSON document is an ADC declaration | |
Common | object | Special tenant Common holds objects other tenants can share | ||
constants | object | Declaration metadata and/or named values for (re-)use by declaration objects | ||
controls | object | Optional controls configuration | ||
id | string | “^[^x00-x20x22’<>x5c^`|x7f]*$” | Unique identifier for this declaration (max 255 printable chars with no spaces, quotation marks, angle brackets, nor backslashes) | |
label | string | “^[^x00-x1fx22#&*<>?x5b-x5d`x7f]*$” | Optional friendly name for this object. Allows 0-64 chars, excluding a few likely to cause trouble with string searching, JS, TCL, or HTML | |
remark | string | “^[^x00-x1fx22x5cx7f]*$” | Arbitrary (brief) text pertaining to this object. Allows 0-64 chars, excluding only control characters, double-quote, and backslash. This is permissive enough that you should worry about XSS attacks | |
schemaVersion* | string | Version of ADC Declaration schema this declaration uses | ||
scratch | string | Holds some system data during declaration processing | ||
target | object | Trusted target for config when configuring with BIG-IQ | ||
updateMode | string | “selective” | “complete”, “selective” | When set to ‘selective’ (default) BIG-IP AS3 does not modify Tenants not referenced in the declaration. Otherwise (‘complete’) BIG-IP AS3 removes unreferenced Tenants. |
ADC./*/ (object)¶
Declares a Tenant
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
/*/ | object | Application declaration main schema | ||
class* | string | “Tenant” | ||
constants | object | Named values for (re-)use by declaration objects | ||
controls | object | Optional controls configuration | ||
defaultRouteDomain | integer | 0 | 0 - 65535 | Using the route-domain ID, this property selects the default route domain for IP traffic to and from this Tenant’s application resources (note: affects declared IP addresses which do not include a %RD route-domain specifier). You must choose an existing route domain–this option cannot create one. Route domain 0 (default) is always available |
enable | boolean | true | true, false | Tenant handles traffic only when enabled (default) |
label | string | “^[^x00-x1fx22#&*<>?x5b-x5d`x7f]*$” | Optional friendly name for this object. Allows 0-64 chars, excluding a few likely to cause trouble with string searching, JS, TCL, or HTML | |
optimisticLockKey | string | “” | Note: The optimisticLockKey does NOT work when using per-app. When you deploy a declaration with a non-empty ‘key’ value here, that activates an optimistic lock on changes to this Tenant. If the key in your declaration does not match the key BIG-IP AS3 computes for the most-recent previous declaration, then BIG-IP AS3 will NOT update this Tenant and will return an error code. To use optimistic locking, first retrieve a declaration using option ‘showHash=true’ to get the current per-Tenant keys. Make any changes you desire, then deploy your updated declaration. Deployment of each Tenant with a key will succeed only if that Tenant has not been modified since the time you retrieved the declaration. (To overwrite all previous changes to a Tenant simply do NOT include any opportunistic-lock key for that Tenant when you deploy a declaration. That is the default.) Note that only keys computed by BIG-IP AS3 may be used here– you cannot generate your own. If ‘showHash=true’ is used on a POST then the optimisticLockKey will be shown as a part of the output (This helps to avoid the need to do a GET request). | |
remark | string | “^[^x00-x1fx22x5cx7f]*$” | Arbitrary (brief) text pertaining to this object. Allows 0-64 chars, excluding only control characters, double-quote, and backslash. This is permissive enough that you should worry about XSS attacks | |
Shared | object | Special application Shared holds objects other applications can share,Application declaration main schema | ||
useCommonRouteDomainTenant | boolean | true | true, false | Used to ascertain whether a Route Domain has been created within a custom partition/Tenant or within the /Common partition. |
verifiers | object | Data (in ‘key’:’value’ properties) used to verify automated tests. Ordinary declarations do not need this |
ADC./*/./*/ (object)¶
Application declaration main schema
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
/*/ | ||||
class* | string | “Application” | ||
constants | object | Named values for (re-)use by declaration objects | ||
enable | boolean | true | true, false | Application handles traffic only when enabled (default) |
label | string | “^[^x00-x1fx22#&*<>?x5b-x5d`x7f]*$” | Optional friendly name for this object. Allows 0-64 chars, excluding a few likely to cause trouble with string searching, JS, TCL, or HTML | |
remark | string | “^[^x00-x1fx22x5cx7f]*$” | Arbitrary (brief) text pertaining to this object. Allows 0-64 chars, excluding only control characters, double-quote, and backslash. This is permissive enough that you should worry about XSS attacks | |
schemaOverlay | string | BIG-IQ name for a supplemental validation schema is applied to the Application class definition before the main BIG-IP AS3 schema | ||
serviceMain | Primary service of the application | |||
template | string | “generic” | Each application type has certain required and default elements and selects appropriate setup of various ADC/Security features |
ADC./*/./*/.constants (object)¶
Named values for (re-)use by declaration objects
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
/*/ | boolean, integer, number, string, array, object | true, false, -∞ - -Infinity | ||
class* | string | “Constants” |
ADC./*/./*/.constants./*/ (boolean, integer, number, string, array, object)¶
Allowed values: true, false, -∞ - -Infinity
ADC./*/.constants (object)¶
Named values for (re-)use by declaration objects
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
/*/ | boolean, integer, number, string, array, object | true, false, -∞ - -Infinity | ||
class* | string | “Constants” |
ADC./*/.constants./*/ (boolean, integer, number, string, array, object)¶
Allowed values: true, false, -∞ - -Infinity
ADC./*/.controls (object)¶
Optional controls configuration
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
archiveId | number, string | -∞ - -Infinity | Read-only property present when you GET a declaration from configuration system. Archived versions of declaration are identified by a combination of ‘id’ and ‘archiveId’ | |
archiveTimestamp | string | “date-time” formatted string | Read-only property present when you GET a declaration from configuration system. Indicates when this version (see archiveId) of declaration was archived | |
class* | string | “Controls” | “Controls” | |
dryRun | boolean | false | true, false | Boolean that indicates if this declaration will be run as a dry-run. If true, the declaration will NOT make any changes to the system, but will respond with whether or not it would. |
fortune | boolean | true, false | If true, BIG-IP AS3 will activate Zoltar mode and read you your fortune | |
logLevel | string | “error” | “emergency”, “alert”, “critical”, “error”, “warning”, “notice”, “info”, “debug” | Controls the amount of detail in logs produced while configuring this Tenant (default is whole-declaration Controls/logLevel value) |
trace | boolean | false | true, false | If true, BIG-IP AS3 creates a detailed trace of the configuration process for this Tenant for subsequent analysis (default is whole-declaration Controls/trace value). Warning: trace files may contain sensitive configuration data |
traceResponse | boolean | false | true, false | If true, the response will contain the trace files |
userAgent | string | User Agent information to include in TEEM report |
ADC./*/.verifiers (object)¶
Data (in ‘key’:’value’ properties) used to verify automated tests. Ordinary declarations do not need this
ADC.Common (object)¶
Special tenant Common holds objects other tenants can share
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
class | string | “Tenant” | “Tenant” | |
constants | object | Named values for (re-)use by declaration objects | ||
controls | object | Optional controls configuration | ||
enable | boolean | true | If declared, you must enable the Common tenant | |
label | string | “^[^x00-x1fx22#&*<>?x5b-x5d`x7f]*$” | Optional friendly name for this object. Allows 0-64 chars, excluding a few likely to cause trouble with string searching, JS, TCL, or HTML | |
optimisticLockKey | string | “” | Note: The optimisticLockKey does NOT work when using per-app. When you deploy a declaration with a non-empty ‘key’ value here, that activates an optimistic lock on changes to this Tenant. If the key in your declaration does not match the key BIG-IP AS3 computes for the most-recent previous declaration, then BIG-IP AS3 will NOT update this Tenant and will return an error code. To use optimistic locking, first retrieve a declaration using option ‘showHash=true’ to get the current per-Tenant keys. Make any changes you desire, then deploy your updated declaration. Deployment of each Tenant with a key will succeed only if that Tenant has not been modified since the time you retrieved the declaration. (To overwrite all previous changes to a Tenant simply do NOT include any opportunistic-lock key for that Tenant when you deploy a declaration. That is the default.) Note that only keys computed by BIG-IP AS3 may be used here– you cannot generate your own. If ‘showHash=true’ is used on a POST then the optimisticLockKey will be shown as a part of the output (This helps to avoid the need to do a GET request). | |
remark | string | “^[^x00-x1fx22x5cx7f]*$” | Arbitrary (brief) text pertaining to this object. Allows 0-64 chars, excluding only control characters, double-quote, and backslash. This is permissive enough that you should worry about XSS attacks | |
Shared | object | Special application Shared holds objects other applications can share,Application declaration main schema | ||
verifiers | object | Data (in ‘key’:’value’ properties) used to verify automated tests. Ordinary declarations do not need this |
ADC.Common.constants (object)¶
Named values for (re-)use by declaration objects
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
/*/ | boolean, integer, number, string, array, object | true, false, -∞ - -Infinity | ||
class* | string | “Constants” |
ADC.Common.constants./*/ (boolean, integer, number, string, array, object)¶
Allowed values: true, false, -∞ - -Infinity
ADC.Common.controls (object)¶
Optional controls configuration
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
archiveId | number, string | -∞ - -Infinity | Read-only property present when you GET a declaration from configuration system. Archived versions of declaration are identified by a combination of ‘id’ and ‘archiveId’ | |
archiveTimestamp | string | “date-time” formatted string | Read-only property present when you GET a declaration from configuration system. Indicates when this version (see archiveId) of declaration was archived | |
class* | string | “Controls” | “Controls” | |
dryRun | boolean | false | true, false | Boolean that indicates if this declaration will be run as a dry-run. If true, the declaration will NOT make any changes to the system, but will respond with whether or not it would. |
fortune | boolean | true, false | If true, BIG-IP AS3 will activate Zoltar mode and read you your fortune | |
logLevel | string | “error” | “emergency”, “alert”, “critical”, “error”, “warning”, “notice”, “info”, “debug” | Controls the amount of detail in logs produced while configuring this Tenant (default is whole-declaration Controls/logLevel value) |
trace | boolean | false | true, false | If true, BIG-IP AS3 creates a detailed trace of the configuration process for this Tenant for subsequent analysis (default is whole-declaration Controls/trace value). Warning: trace files may contain sensitive configuration data |
traceResponse | boolean | false | true, false | If true, the response will contain the trace files |
userAgent | string | User Agent information to include in TEEM report |
ADC.Common.verifiers (object)¶
Data (in ‘key’:’value’ properties) used to verify automated tests. Ordinary declarations do not need this
ADC.constants (object)¶
Declaration metadata and/or named values for (re-)use by declaration objects
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
/*/ | boolean, integer, number, string, array, object | true, false, -∞ - -Infinity | ||
class | string | “Constants” | “Constants” | |
timestamp | string | “date-time” formatted string | Date+time (this version of) declaration was created (optional but recommended) | |
version | number, string | -∞ - -Infinity | Version number of declaration; update when you change contents but not ID (optional but recommended) |
ADC.constants./*/ (boolean, integer, number, string, array, object)¶
Allowed values: true, false, -∞ - -Infinity
ADC.controls (object)¶
Optional controls configuration
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
archiveId | number, string | -∞ - -Infinity | Read-only property present when you GET a declaration from configuration system. Archived versions of declaration are identified by a combination of ‘id’ and ‘archiveId’ | |
archiveTimestamp | string | “date-time” formatted string | Read-only property present when you GET a declaration from configuration system. Indicates when this version (see archiveId) of declaration was archived | |
class* | string | “Controls” | “Controls” | |
dryRun | boolean | false | true, false | Boolean that indicates if this declaration will be run as a dry-run. If true, the declaration will NOT make any changes to the system, but will respond with whether or not it would. |
fortune | boolean | true, false | If true, BIG-IP AS3 will activate Zoltar mode and read you your fortune | |
logLevel | string | “error” | “emergency”, “alert”, “critical”, “error”, “warning”, “notice”, “info”, “debug” | Controls the amount of detail in logs produced while configuring this Tenant (default is whole-declaration Controls/logLevel value) |
trace | boolean | false | true, false | If true, BIG-IP AS3 creates a detailed trace of the configuration process for this Tenant for subsequent analysis (default is whole-declaration Controls/trace value). Warning: trace files may contain sensitive configuration data |
traceResponse | boolean | false | true, false | If true, the response will contain the trace files |
userAgent | string | User Agent information to include in TEEM report |
ADC.target (object)¶
Trusted target for config when configuring with BIG-IQ
Properties (* = required):
name | type(s) | default | allowed values | description |
---|---|---|---|---|
/*/ | ||||
address | string | “f5ip” formatted string | IP address of managed device to be configured | |
hostname | string | Host name of managed device to be configured |