Home > Enterprise >  JSON Schema - How to define dependencies between properties located in different files?
JSON Schema - How to define dependencies between properties located in different files?

Time:04-20

I am working with JSON schema for a file, which keeps a set of variables we are using to define our configuration, which will be executed through Ansible. Importantly, we are using JSON schema to validate YAML files.

So far everything goes well. However, I have this challenge.

I have a file called common.yml and other called domain.yml. Inside domain.yml we have a property called domain_root, which depends on a property called common_dir, which is inside common.yml and I have not found any documentation on how to define a dependency when the property is in place, but in another file.

By the way, dependencies in the same file are working without issues.

"dependencies": {
  "domain_home": ["domain_parent_dir", "domain_name"],
  "domain_libraries":["domain_home"],
  "logs_directory":["oracle_user", "domain_name"],
}

Please, if you have any clues, kindly help me.

Best regards,

RCC

CodePudding user response:

You cannot. JSON Schema actually doesn't work with files at all. JSON Schema implementations may load a file to get to the JSON, but JSON Schema knows nothing about files in a filesystem.

In stead, consider combining your multiple files into a single file for validation purposes.

This doesn't help if you want validation in-editor, but could help if you only need validation as part of a continuious intergration (CI) process.

  • Related