<commit_before>###############################################################################
#
# This is a JSON schema for pillars expressed in YAML.
# See: http://json-schema.org/
# YAML is used to add comments and relax syntax rules for convenience.
# Note that YAML syntax is a superset for JSON, in other words, any valid
# JSON document is also valid YAML document (not vice versa).
#
#
###############################################################################

{
    # Last time it was checked JSON schema draft is v4:
    #   http://json-schema.org/documentation.html
    "$schema": "http://json-schema.org/draft-04/schema#",

    #
    "definitions": {

        "system_host": {

            "type": "object",

            "properties": {
                "hostname": {
                    "type": "string",
                },
            },

            "required": [
                "hostname",
            ],

            "additionalProperties": true,
        },

        "system_hosts": {

            "type": "object",

            "additionalProperties": {
                "$ref": "#/definitions/system_host",
            }

        },

        "pillars_data": {

            "title": "pillars_data",

            "description": "All data stored in pillar.",

            "type": "object",

            "properties": {
                "system_resources": {
                    "type": "object",
                },
                "system_features": {
                    "type": "object",
                },
                "system_host_roles": {
                    "type": "object",
                },
                "system_hosts": {
                    "$ref": "#/definitions/system_hosts",
                },
            },

            "required": [
                "system_features",
            ],

            # Allow additional properties.
            "additionalProperties": true,
        },
    },

    #
    "title": "pillars",

    "description": "Output of Salt's `pillar.items` function via `salt-call`.",

    "type": "object",

    "properties": {
        "local": { "$ref": "#/definitions/pillars_data" },
    },

    "required": [
        "local",
    ],

    # Prohibit additional properties.
    "additionalProperties": false,
}
<commit_msg>Add `bootstrap_target_profile` to schema<commit_after>###############################################################################
#
# This is a JSON schema for pillars expressed in YAML.
# See: http://json-schema.org/
# YAML is used to add comments and relax syntax rules for convenience.
# Note that YAML syntax is a superset for JSON, in other words, any valid
# JSON document is also valid YAML document (not vice versa).
#
#
###############################################################################

{
    # Last time it was checked JSON schema draft is v4:
    #   http://json-schema.org/documentation.html
    "$schema": "http://json-schema.org/draft-04/schema#",

    #
    "definitions": {

        "system_host": {

            "type": "object",

            "properties": {
                "hostname": {
                    "type": "string",
                },
            },

            "required": [
                "hostname",
            ],

            "additionalProperties": true,
        },

        "system_hosts": {

            "type": "object",

            "additionalProperties": {
                "$ref": "#/definitions/system_host",
            }

        },

        "profile": {

            "title": "profile",

            "description": "All data stored in pillar.",

            "type": "object",

            "properties": {
                "system_resources": {
                    "type": "object",
                },
                "system_features": {
                    "type": "object",
                },
                "system_host_roles": {
                    "type": "object",
                },
                "system_hosts": {
                    "$ref": "#/definitions/system_hosts",
                },

                # Recursive/nested bootstrap target profile.
                "bootstrap_target_profile": {
                    "$ref": "#/definitions/profile",
                },
            },

            "required": [
                "system_features",
            ],

            # Allow additional properties.
            "additionalProperties": true,
        },
    },

    #
    "title": "pillars",

    "description": "Output of Salt's `pillar.items` function via `salt-call`.",

    "type": "object",

    "properties": {
        "local": { "$ref": "#/definitions/profile" },
    },

    # NOTE: The `local` key is artificial and appears in
    #       `salt-call` output as the top-level key.
    "required": [
        "local",
    ],

    # There must be no additional artificial top-level keys.
    "additionalProperties": false,
}

{'fraction_non_alphanumeric': 0.18998978549540346, 'fraction_numerical': 0.0012257405515832482, 'mean_word_length': 1.5513288170922355, 'pattern_counts': {'":': 74, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6807552', 'n_tokens_mistral': 1323, 'n_tokens_neox': 1197, 'n_words': 298}