{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "description": "Used to express the dynamic constraints on MXL transport parameters.",
    "patternProperties": {
        "^ext_[a-zA-Z0-9_]+$": {
            "additionalProperties": false,
            "description": "The constraints for a single transport parameter",
            "properties": {
                "description": {
                    "description": "A human readable string describing the constraint (optional)",
                    "type": "string"
                },
                "enum": {
                    "description": "An array of allowed values",
                    "items": {
                        "anyOf": [
                            {
                                "type": "boolean"
                            },
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            },
                            {
                                "type": "number"
                            },
                            {
                                "type": "string"
                            }
                        ]
                    },
                    "minItems": 1,
                    "type": "array",
                    "uniqueItems": true
                },
                "maximum": {
                    "description": "The inclusive maximum value the parameter can be set to",
                    "type": [
                        "integer",
                        "number"
                    ]
                },
                "minimum": {
                    "description": "The inclusive minimum value the parameter can be set to",
                    "type": [
                        "integer",
                        "number"
                    ]
                },
                "pattern": {
                    "description": "A regex pattern that must be satisfied for this parameter",
                    "format": "regex",
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "properties": {
        "mxl_domain_id": {
            "additionalProperties": false,
            "description": "The constraints for a single transport parameter",
            "properties": {
                "description": {
                    "description": "A human readable string describing the constraint (optional)",
                    "type": "string"
                },
                "enum": {
                    "description": "An array of allowed values",
                    "items": {
                        "anyOf": [
                            {
                                "type": "boolean"
                            },
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            },
                            {
                                "type": "number"
                            },
                            {
                                "type": "string"
                            }
                        ]
                    },
                    "minItems": 1,
                    "type": "array",
                    "uniqueItems": true
                },
                "maximum": {
                    "description": "The inclusive maximum value the parameter can be set to",
                    "type": [
                        "integer",
                        "number"
                    ]
                },
                "minimum": {
                    "description": "The inclusive minimum value the parameter can be set to",
                    "type": [
                        "integer",
                        "number"
                    ]
                },
                "pattern": {
                    "description": "A regex pattern that must be satisfied for this parameter",
                    "format": "regex",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "mxl_flow_id": {
            "additionalProperties": false,
            "description": "The constraints for a single transport parameter",
            "properties": {
                "description": {
                    "description": "A human readable string describing the constraint (optional)",
                    "type": "string"
                },
                "enum": {
                    "description": "An array of allowed values",
                    "items": {
                        "anyOf": [
                            {
                                "type": "boolean"
                            },
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            },
                            {
                                "type": "number"
                            },
                            {
                                "type": "string"
                            }
                        ]
                    },
                    "minItems": 1,
                    "type": "array",
                    "uniqueItems": true
                },
                "maximum": {
                    "description": "The inclusive maximum value the parameter can be set to",
                    "type": [
                        "integer",
                        "number"
                    ]
                },
                "minimum": {
                    "description": "The inclusive minimum value the parameter can be set to",
                    "type": [
                        "integer",
                        "number"
                    ]
                },
                "pattern": {
                    "description": "A regex pattern that must be satisfied for this parameter",
                    "format": "regex",
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "type": "object"
}
