bin/datamasking/maskingconfigschema.json

{
    "definitions": {},
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "http://example.com/root.json",
    "type": "object",
    "title": "The Root Schema",
    "required": [
        "Name",
        "Tables"
    ],
    "properties": {
        "Name": {
            "$id": "#/properties/Name",
            "type": "string",
            "title": "The Name Schema",
            "default": "",
            "examples": [
                "DB2"
            ],
            "pattern": "^(.*)$"
        },
        "Tables": {
            "$id": "#/properties/Tables",
            "type": "array",
            "title": "The Tables Schema",
            "items": {
                "$id": "#/properties/Tables/items",
                "type": "object",
                "title": "The Items Schema",
                "required": [
                    "Name",
                    "Schema",
                    "Columns",
                    "HasUniqueIndex"
                ],
                "properties": {
                    "Name": {
                        "$id": "#/properties/Tables/items/properties/Name",
                        "type": "string",
                        "title": "The Name Schema",
                        "default": "",
                        "examples": [
                            "Customer"
                        ],
                        "pattern": "^(.*)$"
                    },
                    "Schema": {
                        "$id": "#/properties/Tables/items/properties/Schema",
                        "type": "string",
                        "title": "The Schema Schema",
                        "default": "",
                        "examples": [
                            "dbo"
                        ],
                        "pattern": "^(.*)$"
                    },
                    "Columns": {
                        "$id": "#/properties/Tables/items/properties/Columns",
                        "type": "array",
                        "title": "The Columns Schema",
                        "items": {
                            "$id": "#/properties/Tables/items/properties/Columns/items",
                            "type": "object",
                            "title": "The Items Schema",
                            "required": [
                                "Name",
                                "ColumnType",
                                "CharacterString",
                                "MinValue",
                                "MaxValue",
                                "MaskingType",
                                "SubType",
                                "Format",
                                "Deterministic",
                                "Nullable",
                                "Composite"
                            ],
                            "properties": {
                                "Name": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/Name",
                                    "type": "string",
                                    "title": "The Name Schema",
                                    "default": "",
                                    "examples": [
                                        "Firstname"
                                    ],
                                    "pattern": "^(.*)$"
                                },
                                "ColumnType": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/ColumnType",
                                    "type": "string",
                                    "title": "The Columntype Schema",
                                    "default": "",
                                    "examples": [
                                        "varchar"
                                    ],
                                    "pattern": "^(.*)$"
                                },
                                "CharacterString": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/CharacterString",
                                    "type": "string",
                                    "title": "The Characterstring Schema",
                                    "default": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
                                    "pattern": "^[1-9][0-9]*$",
                                    "examples": [
                                        null
                                    ]
                                },
                                "MinValue": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/MinValue",
                                    "type": "null",
                                    "title": "The Minvalue Schema",
                                    "default": null,
                                    "examples": [
                                        null
                                    ]
                                },
                                "MaxValue": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/MaxValue",
                                    "type": "null",
                                    "title": "The Maxvalue Schema",
                                    "default": null,
                                    "examples": [
                                        null
                                    ]
                                },
                                "MaskingType": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/MaskingType",
                                    "type": "string",
                                    "title": "The Maskingtype Schema",
                                    "default": "",
                                    "examples": [
                                        "Name"
                                    ],
                                    "pattern": "^(.*)$"
                                },
                                "SubType": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/SubType",
                                    "type": "string",
                                    "title": "The Subtype Schema",
                                    "default": "",
                                    "examples": [
                                        "Firstname"
                                    ],
                                    "pattern": "^(.*)$"
                                },
                                "Format": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/Format",
                                    "type": "string",
                                    "title": "The Format Schema",
                                    "default": null,
                                    "examples": [
                                        null
                                    ]
                                },
                                "Deterministic": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/Deterministic",
                                    "type": "boolean",
                                    "title": "The Deterministic Schema",
                                    "default": false,
                                    "examples": [
                                        false
                                    ]
                                },
                                "Nullable": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/Nullable",
                                    "type": "boolean",
                                    "title": "The Nullable Schema",
                                    "default": false,
                                    "examples": [
                                        false
                                    ]
                                },
                                "Composite": {
                                    "$id": "#/properties/Tables/items/properties/Columns/items/properties/Composite",
                                    "type": "null",
                                    "title": "The Composite Schema",
                                    "default": null,
                                    "examples": [
                                        null
                                    ]
                                }
                            }
                        }
                    },
                    "HasUniqueIndex": {
                        "$id": "#/properties/Tables/items/properties/HasUniqueIndex",
                        "type": "boolean",
                        "title": "The Hasuniqueindex Schema",
                        "default": false,
                        "examples": [
                            false
                        ]
                    }
                }
            }
        }
    }
}