Validating a declaration

In this section, we show you how to validate a BIG-IP Declarative Onboarding declaration against the schema using Microsoft Visual Studio Code. Using this type of validation is useful when composing a declaration manually, or to check the accuracy of a declaration before deployment.

For more information on editing JSON with Visual Studio Code, see this Microsoft document.


Starting with BIG-IP DO 1.30, you can validate declarations with either the Device or BIG-IP DO class by using do.schema.json rather than base.schema.json.

To validate a declaration

Use the following procedure to validate a declaration.

  1. Download and install Visual Studio Code.

  2. Go to the schema directory of the BIG-IP Declarative Onboarding repo on GitHub.

    • Click either latest or the specific BIG-IP Declarative Onboarding version you are using.
    • Click the do.schema.json file and then click the Raw tab.
    • Copy the URL of the raw schema file.
  3. Open Visual Studio Code, and use File > New File start a new JSON file. In our example, we name our file myDeclaration.json. You must save the file in order for Visual Studio Code to recognize it as a JSON file.

  4. At the top of your schema file, type the following code:

        "$schema": "",
  5. Paste the GitHub raw URL you copied (if you downloaded the schema file, use the path to the file on your device) between the quotes. When you are finished with this step, your code should look like the following (you may have a different directory than latest):

        "$schema": "",
  6. Begin to type your declaration (if validating an existing declaration, see step 7)


    • It also suggests valid options for a property in the declaration:

    • You can also hover on a red wavy line (for JSON syntax errors), or a green wavy line (schema validation errors) to see the problem. In the following example, the end of the line has both red and green wavy lines, so both errors display.
  7. You can also validate an existing declaration by pasting only the $schema line between the opening bracket of the file and the first property of the declaration.

    • In this example, the validator discovers a typo of the word Tenant.

    • For a full declaration, it is often easier to view the Problems (View > Problems). In this example, the validator discovers a number of issues. You can click individual problems to go directly to the line with the issue.