workspace-0.1.0.schema.json
{
"title": "DOK DSC workspace settings", "$schema": "http://json-schema.org/draft-04/schema#", "oneOf": [ { "$ref": "#/definitions/settings-v0.1.0" } ], "definitions": { "module": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the PowerShell module." }, "version": { "type": "string", "description": "A specific version of the PowerShell module." }, "repository": { "type": "string", "description": "The repository to download the module from." }, "type": { "type": "integer", "description": "The type of module. 0 = Repository, 1 = Workspace", "enum": [ 0, 1 ] } }, "required": [ "name", "version" ] }, "collection": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the collection." }, "path": { "type": "string", "description": "The path to the configuration script." }, "configurationName": { "type": "string", "description": "The name of the desired state configuration block." }, "options": { "type": "object", "description": "Options for the collection.", "properties": { "target": { "type": "integer", "description": "The target for the configuration. 0 = File system, 1 = Azure Automation Service, 2 = Azure DSC Extension", "enum": [ 0, 1, 2 ] }, "replaceNodeData": { "type": "boolean", "description": "Determined if key/values defined in the data section replace node data, if include in both. The default is not to override data specified in the .psd1." }, "buildMode": { "type": "integer", "description": "A mode for build operations. 1 = Incremental, 2 = Full", "enum": [ 1, 2 ] }, "signaturePath": { "type": "string", "description": "The path to the location containing build signatures." }, "signatureSasToken": { "type": "string", "description": "An optional shared access secret (SAS) token for authentication to the signature path." } } }, "data": { "type": "object", "description": "A list of shared configuration data properties to merge into node data.", "properties": { } }, "nodes": { "type": "array", "description": "A list of node paths to use.", "items": { "type": "string" } }, "docs": { "type": "object", "description": "Options for documentation generation relating to this collection.", "properties": { "path": { "type": "string", "description": "A path to the documentation template." }, "name": { "type": "string", "description": "A specific document template name to use." } }, "required": [ "path" ] } }, "required": [ "name", "path" ] }, "settings-v0.1.0": { "properties": { "version": { "type": "string", "description": "The version of the workspace schema.", "enum": [ "0.1.0" ], "default": "0.1.0" }, "description": { "type": "string", "description": "A description for the workspace." }, "modules": { "type": "array", "description": "A list of modules to manage in the workspace.", "items": { "oneOf": [ { "$ref": "#/definitions/module" } ] } }, "collections": { "type": "array", "description": "A list of collections defined in the workspace.", "items": { "oneOf": [ { "$ref": "#/definitions/collection" } ] } }, "options": { "type": "object", "description": "Global workspace options.", "properties": { "outputPath": { "type": "string", "description": "The path to store results of the build process." }, "nodePath": { "type": "string", "description": "The path to look for node definitions." }, "modulePath": { "type": "string", "description": "The path to look for modules." } } } }, "required":[ "version" ] } } } |