diff --git a/bootstrapvz/base/manifest-schema.yml b/bootstrapvz/base/manifest-schema.yml index fb596eb..ed4b3f0 100644 --- a/bootstrapvz/base/manifest-schema.yml +++ b/bootstrapvz/base/manifest-schema.yml @@ -9,6 +9,7 @@ properties: properties: name: {type: string} required: [name] + additionalProperties: true bootstrapper: type: object properties: @@ -31,12 +32,14 @@ properties: workspace: $ref: '#/definitions/path' required: [workspace] + additionalProperties: false image: type: object properties: name: {type: string} required: [name] system: + type: object properties: architecture: enum: [i386, amd64] @@ -61,7 +64,7 @@ properties: - timezone - locale - charmap - type: object + additionalProperties: false packages: type: object properties: @@ -128,6 +131,7 @@ properties: - $ref: '#/definitions/no_partitions' - $ref: '#/definitions/partition_table' required: [partitions] + additionalProperties: false definitions: absolute_path: type: string @@ -153,9 +157,9 @@ definitions: type: array size: {$ref: '#/definitions/bytes'} required: [size, filesystem] + additionalProperties: false partition_table: type: object - additionalProperties: false properties: boot: {$ref: '#/definitions/partition'} root: {$ref: '#/definitions/partition'} @@ -166,6 +170,7 @@ definitions: required: [size] type: {enum: [msdos, gpt]} required: [root] + additionalProperties: false path: type: string pattern: ^[^\0]+$ diff --git a/bootstrapvz/plugins/admin_user/manifest-schema.yml b/bootstrapvz/plugins/admin_user/manifest-schema.yml index 31e8d82..02cce0a 100644 --- a/bootstrapvz/plugins/admin_user/manifest-schema.yml +++ b/bootstrapvz/plugins/admin_user/manifest-schema.yml @@ -11,3 +11,4 @@ properties: properties: username: {type: string} required: [username] + additionalProperties: false diff --git a/bootstrapvz/plugins/ansible/manifest-schema.yml b/bootstrapvz/plugins/ansible/manifest-schema.yml index 0fc2f57..dc99679 100644 --- a/bootstrapvz/plugins/ansible/manifest-schema.yml +++ b/bootstrapvz/plugins/ansible/manifest-schema.yml @@ -21,8 +21,8 @@ properties: host: {type: string} minItems: 1 playbook: {$ref: '#/definitions/absolute_path'} - required: - - playbook + required: [playbook] + additionalProperties: false definitions: absolute_path: pattern: ^/[^\0]+$ diff --git a/bootstrapvz/plugins/apt_proxy/manifest-schema.yml b/bootstrapvz/plugins/apt_proxy/manifest-schema.yml index efa7875..3f35a09 100644 --- a/bootstrapvz/plugins/apt_proxy/manifest-schema.yml +++ b/bootstrapvz/plugins/apt_proxy/manifest-schema.yml @@ -14,6 +14,5 @@ properties: port: {type: integer} persistent: {type: boolean} username: {type: string} - required: - - address - - port + required: [address, port] + additionalProperties: false diff --git a/bootstrapvz/plugins/chef/manifest-schema.yml b/bootstrapvz/plugins/chef/manifest-schema.yml index 58fd02f..da44dd8 100644 --- a/bootstrapvz/plugins/chef/manifest-schema.yml +++ b/bootstrapvz/plugins/chef/manifest-schema.yml @@ -11,8 +11,8 @@ properties: properties: assets: $ref: '#/definitions/absolute_path' - required: - - assets + required: [assets] + additionalProperties: false definitions: absolute_path: pattern: ^/[^\0]+$ diff --git a/bootstrapvz/plugins/cloud_init/manifest-schema.yml b/bootstrapvz/plugins/cloud_init/manifest-schema.yml index ea7f64c..1950c21 100644 --- a/bootstrapvz/plugins/cloud_init/manifest-schema.yml +++ b/bootstrapvz/plugins/cloud_init/manifest-schema.yml @@ -28,3 +28,4 @@ properties: items: {type: string} uniqueItems: true required: [username] + additionalProperties: false diff --git a/bootstrapvz/plugins/commands/manifest-schema.yml b/bootstrapvz/plugins/commands/manifest-schema.yml index 5292ea2..d868c8f 100644 --- a/bootstrapvz/plugins/commands/manifest-schema.yml +++ b/bootstrapvz/plugins/commands/manifest-schema.yml @@ -1,9 +1,13 @@ --- $schema: http://json-schema.org/draft-04/schema# +title: Image commands plugin manifest +type: object properties: plugins: + type: object properties: commands: + type: object properties: commands: items: @@ -13,13 +17,6 @@ properties: type: array minItems: 1 type: array - required: - - commands - type: object - required: - - commands - type: object -required: -- plugins -title: Image commands plugin manifest -type: object + required: [commands] + additionalProperties: false + required: [commands] diff --git a/bootstrapvz/plugins/docker_daemon/manifest-schema.yml b/bootstrapvz/plugins/docker_daemon/manifest-schema.yml index 2e5f1f0..62928d3 100644 --- a/bootstrapvz/plugins/docker_daemon/manifest-schema.yml +++ b/bootstrapvz/plugins/docker_daemon/manifest-schema.yml @@ -3,17 +3,6 @@ $schema: http://json-schema.org/draft-04/schema# title: Install Docker plugin manifest type: object properties: - plugins: - type: object - properties: - docker_daemon: - type: object - properties: - version: - pattern: '^\d\.\d{1,2}\.\d$' - type: string - docker_opts: - type: string system: type: object properties: @@ -26,3 +15,15 @@ properties: enum: - squeeze - oldstable + plugins: + type: object + properties: + docker_daemon: + type: object + properties: + version: + pattern: '^\d\.\d{1,2}\.\d$' + type: string + docker_opts: + type: string + additionalProperties: false diff --git a/bootstrapvz/plugins/file_copy/manifest-schema.yml b/bootstrapvz/plugins/file_copy/manifest-schema.yml index 25bdb12..0a65dde 100644 --- a/bootstrapvz/plugins/file_copy/manifest-schema.yml +++ b/bootstrapvz/plugins/file_copy/manifest-schema.yml @@ -35,6 +35,7 @@ properties: required: - files type: object + additionalProperties: false required: - file_copy type: object diff --git a/bootstrapvz/plugins/minimize_size/manifest-schema.yml b/bootstrapvz/plugins/minimize_size/manifest-schema.yml index fc84249..5a36be8 100644 --- a/bootstrapvz/plugins/minimize_size/manifest-schema.yml +++ b/bootstrapvz/plugins/minimize_size/manifest-schema.yml @@ -10,6 +10,7 @@ properties: zerofree: type: boolean type: object + additionalProperties: false type: object title: Minimize size plugin manifest type: object diff --git a/bootstrapvz/plugins/ntp/manifest-schema.yml b/bootstrapvz/plugins/ntp/manifest-schema.yml index 2303d1c..170095e 100644 --- a/bootstrapvz/plugins/ntp/manifest-schema.yml +++ b/bootstrapvz/plugins/ntp/manifest-schema.yml @@ -13,3 +13,4 @@ properties: type: array items: {type: string} minItems: 1 + additionalProperties: false diff --git a/bootstrapvz/plugins/pip_install/manifest-schema.yml b/bootstrapvz/plugins/pip_install/manifest-schema.yml index df3b922..36ae5d0 100644 --- a/bootstrapvz/plugins/pip_install/manifest-schema.yml +++ b/bootstrapvz/plugins/pip_install/manifest-schema.yml @@ -15,3 +15,4 @@ properties: type: string minItems: 1 uniqueItems: true + additionalProperties: false diff --git a/bootstrapvz/plugins/prebootstrapped/manifest-schema.yml b/bootstrapvz/plugins/prebootstrapped/manifest-schema.yml index 68fbbe4..d01820c 100644 --- a/bootstrapvz/plugins/prebootstrapped/manifest-schema.yml +++ b/bootstrapvz/plugins/prebootstrapped/manifest-schema.yml @@ -23,3 +23,4 @@ properties: properties: image: {type: string} snapshot: {type: string} + additionalProperties: false diff --git a/bootstrapvz/plugins/root_password/manifest-schema.yml b/bootstrapvz/plugins/root_password/manifest-schema.yml index 7267807..f91ef63 100644 --- a/bootstrapvz/plugins/root_password/manifest-schema.yml +++ b/bootstrapvz/plugins/root_password/manifest-schema.yml @@ -11,3 +11,4 @@ properties: properties: password: {type: string} required: [password] + additionalProperties: false diff --git a/bootstrapvz/plugins/salt/manifest-schema.yml b/bootstrapvz/plugins/salt/manifest-schema.yml index 43b6b3a..6b99428 100644 --- a/bootstrapvz/plugins/salt/manifest-schema.yml +++ b/bootstrapvz/plugins/salt/manifest-schema.yml @@ -22,3 +22,4 @@ properties: master: {type: string} version: {type: string} required: [install_source] + additionalProperties: false diff --git a/bootstrapvz/plugins/unattended_upgrades/manifest-schema.yml b/bootstrapvz/plugins/unattended_upgrades/manifest-schema.yml index 7e5fc0b..a0a7568 100644 --- a/bootstrapvz/plugins/unattended_upgrades/manifest-schema.yml +++ b/bootstrapvz/plugins/unattended_upgrades/manifest-schema.yml @@ -16,3 +16,4 @@ properties: - update_interval - download_interval - upgrade_interval + additionalProperties: false diff --git a/bootstrapvz/plugins/vagrant/manifest-schema.yml b/bootstrapvz/plugins/vagrant/manifest-schema.yml index c27172f..08c6544 100644 --- a/bootstrapvz/plugins/vagrant/manifest-schema.yml +++ b/bootstrapvz/plugins/vagrant/manifest-schema.yml @@ -21,4 +21,6 @@ properties: plugins: type: object properties: - vagrant: {type: object} + vagrant: + type: object + additionalProperties: false