{
   "$schema":"https://json-schema.org/draft-04/schema#",
   "id":"https://api.dataplatform.ibm.com/schemas/common-pipeline/parameters/parameters-v3-schema.json",
   "title":"Pipeline Parameters Schema",
   "description":"Parameters schema for pipelines",
   "type": "object",
   "properties": {
     "json_schema": {
       "description": "Refers to the JSON schema used to validate documents of this type",
       "enum": [
         "https://api.dataplatform.ibm.com/schemas/common-pipeline/parameters/parameters-v3-schema.json"
       ]
     },
     "parameters": {
       "type": "array",
       "minItems": 0,
       "items": {
         "$ref": "#/definitions/param_property_def"
       },
       "uniqueItems": true
     }
   },
   "required": [
     "parameters"
   ],
   "definitions":{
      "param_property_def": {
         "description": "The parameter definition.",
         "properties": {
            "name": {
               "description": "The name of the parameter.",
               "type": "string"
            },
            "description": {
               "description": "The description of the parameter.",
               "type": "string"
            },
            "type": {
               "description": "The parameter type. Each product manages its own list of parameter type. The parameter type should be an enum list ideally. As schema is common to all products, use string instead.",
               "type": "string"
            },
            "subtype": {
               "description": "The parameter subtype.",
               "type": "string"
            },
            "value": {
               "description": "The literal default value to replace at runtime.",
               "type": "object"
            },
            "valid_values": {
               "description": "Valid values.",
               "type": "object"
            }
         },
         "required": [
            "name",
            "type"
         ],
         "type": "object"
      }
   }
}
