diff options
author | notgne2 | 2020-11-07 11:56:22 -0700 |
---|---|---|
committer | notgne2 | 2020-11-07 11:56:22 -0700 |
commit | 6ff3994dbb9b44a919ded00882db9b57f92fe228 (patch) | |
tree | fe120101c0793850c1fa79331c65049782804bd3 /interface.json | |
parent | 3cfc12a2ca5e7d5f6a9c64ddfda025d7599ec8d8 (diff) |
Greatly expand documentation
Diffstat (limited to 'interface.json')
-rw-r--r-- | interface.json | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/interface.json b/interface.json new file mode 100644 index 0000000..fa45e50 --- /dev/null +++ b/interface.json @@ -0,0 +1,117 @@ +{ + "$schema": "http://json-schema.org/draft/2019-09/schema#", + "title": "Deploy", + "description": "Matches a correct deploy attribute of a flake", + "definitions": { + "generic_settings": { + "type": "object", + "properties": { + "sshUser": { + "type": "string" + }, + "user": { + "type": "string" + }, + "sshOpts": { + "type": "array", + "items": { + "type": "string" + } + }, + "fastConnection": { + "type": "boolean" + }, + "autoRollback": { + "type": "boolean" + }, + "magicRollback": { + "type": "boolean" + }, + "confirmTimeout": { + "type": "integer" + }, + "tempPath": { + "type": "string" + } + } + }, + "node_settings": { + "type": "object", + "properties": { + "hostname": { + "type": "string" + }, + "profilesOrder": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "profiles": { + "type": "object", + "patternProperties": { + "[A-z][A-z0-9_-]*": { + "allOf": [ + { + "$ref": "#/definitions/generic_settings" + }, + { + "$ref": "#/definitions/profile_settings" + } + ] + } + }, + "additionalProperties": false + } + }, + "required": [ + "hostname" + ] + }, + "profile_settings": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "bootstrap": { + "type": "string" + }, + "profilePath": { + "type": "string" + } + }, + "required": [ + "path" + ] + } + }, + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/generic_settings" + }, + { + "type": "object", + "properties": { + "nodes": { + "type": "object", + "patternProperties": { + "[A-z][A-z0-9_-]*": { + "allOf": [ + { + "$ref": "#/definitions/generic_settings" + }, + { + "$ref": "#/definitions/node_settings" + } + ] + } + }, + "additionalProperties": false + } + } + } + ] +}
\ No newline at end of file |