omni::structuredlog::kSchemasStateListSetting

Defined in omni/structuredlog/StructuredLogSettingsUtils.h

constexpr const char *omni::structuredlog::kSchemasStateListSetting = "/structuredLog/state/schemas"

The setting path that will contain zero or more keys that will be used to disable schemas when they are first registered.

Each key under this setting will have a name that matches zero or schema names. From a .schema file, this would match the “name” property. From a JSON schema file, this would match the `#/schemaMeta/clientName` property. The key’s value is expected to be a boolean that indicates whether it is enabled upon registration.

The names of the keys under this path may either be a schema’s full name or a wildcard string that matches to zero or more schema names. In either version, the case of the non-wildcard portions of the key name is important. The wildcard characters ‘*’ (match to zero or more characters) and ‘?’ (match to exactly one character) may be used. This is only meant to be a simple wildcard filter, not a full regular expression.

For example, in a TOML file, these settings may be used to disable or enable multiple schemas:

[structuredLog.state.schemas]
"omni.test_schema" = false  # disable 'omni.test_schema' on registration.
"omni.other_schema" = true  # enable 'omni.other_schema' on registration.
"carb.*" = false            # disable all schemas starting with 'carb.'.

Note

The keys in this setting path are inherently unordered. If a set of dependent enable/disable settings is needed, the kSchemasStateArraySetting setting path should be used instead. This other setting allows an array to be specified that preserves the order of keys. This is useful for doing things like disabling all schemas then only enabling a select few.