winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

configuration.schema.0.2.json (4152B)


      1 {
      2     "$id": "https://aka.ms/schemas/dsc/configuration.schema.0.2.json",
      3     "$schema": "https://json-schema.org/draft/2020-12/schema",
      4     "description": "Description of what these resources do to apply the desired state in the configuration.",
      5     "type": "object",
      6     "properties": {
      7         "properties": {
      8             "type": "object",
      9             "properties": {
     10                 "assertions": {
     11                     "type": "array",
     12                     "items": { "$ref": "#/$defs/resource" },
     13                     "description": "The preconditions required to run the configuration."
     14                 },
     15                 "resources": {
     16                     "type": "array",
     17                     "items": { "$ref": "#/$defs/resource" },
     18                     "description": "A list of resources (software, tools, packages, settings, etc.) to be included in the configuration."
     19                 },
     20                 "parameters": {
     21                     "type": "array",
     22                     "items": { "$ref": "#/$defs/resource" },
     23                     "description": "Resources that retrieve information via a 'get' operation."
     24                 },
     25                 "configurationVersion": {
     26                     "type": "string",
     27                     "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
     28                     "maxLength": 128,
     29                     "default": "0.2.0",
     30                     "description": "The configuration syntax version."
     31                 }
     32             },
     33             "required": ["configurationVersion"],
     34             "description": "The properties of the configuration."
     35         }
     36     },
     37 
     38     "$defs": {
     39         "resource": {
     40             "type": "object",
     41             "properties": {
     42                 "resource": {
     43                     "type": "string",
     44                     "maxLength": 128,
     45                     "description": "The name of the resource. Optionally specify module and resource as module/resource."
     46                 },
     47                 "id": {
     48                     "type": "string",
     49                     "maxLength": 128,
     50                     "description": "A unique identifier for this resource."
     51                 },
     52                 "dependsOn": {
     53                     "type": [ "array", "null" ],
     54                     "items": {
     55                         "type": "string"
     56                     },
     57                     "uniqueItems": true,
     58                     "description": "The list of resource ids identifying dependencies."
     59                 },
     60                 "directives": {
     61                     "type": "object",
     62                     "properties": {
     63                         "module": {
     64                             "type": "string",
     65                             "maxLength": 128,
     66                             "description": "The name of the module."
     67                         },
     68                         "description": {
     69                             "type": "string",
     70                             "maxLength": 512,
     71                             "description": "The description of the desired state."
     72                         },
     73                         "allowPrerelease": {
     74                             "type": "boolean",
     75                             "description": "Enable using prerelease modules."
     76                         },
     77                         "securityContext": {
     78                             "type": "string",
     79                             "enum": [ "current", "restricted", "elevated" ],
     80                             "description": "Provides an indication of the security context in which the configuration unit should be run."
     81                         }
     82                     },
     83                     "additionalProperties": true,
     84                     "description": "Information about the module and/or resource."
     85                 },
     86                 "settings": {
     87                     "type": "object",
     88                     "description": "Parameters as key-value pairs to be passed to the resource."
     89                 }
     90             },
     91             "required": ["resource"]
     92         }
     93     }
     94 }