{
   "$schema":"https://json-schema.org/draft-04/schema#",
   "id":"https://api.dataplatform.ibm.com/schemas/common-pipeline/parameters/parametersets-v3-schema.json",
   "title":"Pipeline Parametersets Schema",
   "description":"Parametersets 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/parametersets-v3-schema.json"
       ]
     },
     "paramset": {
       "type": "object",
       "items": {
         "$ref": "#/definitions/paramset_def"
       }
     }
   },
   "required": [
     "paramset"
   ],
   "definitions":{
      "paramset_def": {
         "description": "The parameter set definition referenced within a pipleine.",
         "type": "object",
         "properties": {
            "name": {
               "description": "The disambiguating name of the parameter set.",
               "type": "string"
            },
            "description": {
               "description": "The description of the parameter set.",
               "type": "string"
            },
            "parameters": {
               "type": "array",
               "minItems": 0,
               "items": {
                  "$ref": "https://api.dataplatform.ibm.com/schemas/common-pipeline/parameters/parameters-v3-schema.json#/definitions/param_property_def"
               },
               "uniqueItems": true
            }
         },
         "required": [
            "name"
         ]
      },
      "paramset_ref": {
         "description": "Refers to the external parameter set.",
         "type": "object",
         "properties": {
            "name": {
               "description": "The disambiguating name of the parameter set.",
               "type": "string"
            },
            "ref": {
               "description": "A reference to a parameter set by ID.",
               "type": "string"
            },
            "catalog_ref": {
               "description": "If ref is set, this refers to the ID of the catalog which contains the parameter set. If neither this attribute nor project_ref and space_ref are specified, the parameter set will be assumed to exist in the project, catalog or space which contains the pipeline.",
               "type": "string"
            },
            "project_ref": {
               "description": "If ref is set, this refers to the ID of the project which contains the parameter set. If neither this attribute nor catalog_ref and space_ref are specified, the parameter set will be assumed to exist in the project, catalog or space which contains the pipeline.",
               "type": "string"
            },
            "space_ref": {
               "description": "If ref is set, this refers to the ID of the space which contains the parameter set. If neither this attribute nor catalog_ref and project_ref are specified, the parameter set will be assumed to exist in the project, catalog or space which contains the pipeline.",
               "type": "string"
            }
         },
         "required": [
            "ref"
         ]
      }
   }
}
