bootstrap-vz/bootstrapvz/remote/build_servers/build-servers-schema.yml

78 lines
2 KiB
YAML
Raw Normal View History

2014-11-30 15:42:38 +01:00
---
$schema: http://json-schema.org/draft-04/schema#
title: Build server settings list
type: object
properties:
local:
type: object
properties:
type: {enum: [local]}
can_bootstrap: {$ref: '#/definitions/can_bootstrap'}
release: {type: string}
build_settings: {$ref: '#/definitions/build_settings'}
required: [type, can_bootstrap, release]
patternProperties:
^(?!local).*$: {$ref: '#/definitions/ssh'}
definitions:
absolute_path:
type: string
pattern: ^/[^\0]+$
can_bootstrap:
type: array
items:
enum:
- virtualbox
- ec2-ebs
- ec2-s3
build_settings:
type: object
properties:
guest_additions: {$ref: '#/definitions/absolute_path'}
2015-03-10 23:05:12 +01:00
ec2-credentials:
required: [access-key, secret-key]
type: object
properties:
access-key: {type: string}
secret-key: {type: string}
certificate: {type: string}
private-key: {type: string}
user-id:
type: string
pattern: (^arn:aws:iam::\d*:user/\w.*$)|(^\d{4}-\d{4}-\d{4}$)
additional_properties: false
apt_proxy:
type: object
properties:
address: {type: string}
port: {type: integer}
persistent: {type: boolean}
required: [address, port]
run_settings:
type: object
properties:
ec2-credentials:
required: [access-key, secret-key]
type: object
properties:
access-key: {type: string}
secret-key: {type: string}
additional_properties: false
2014-11-30 15:42:38 +01:00
ssh:
type: object
properties:
type: {enum: [ssh]}
can_bootstrap: {$ref: '#/definitions/can_bootstrap'}
build_settings: {$ref: '#/definitions/build_settings'}
release: {type: string}
address: {type: string}
port: {type: integer}
username: {type: string}
password: {type: string}
keyfile: {$ref: '#/definitions/absolute_path'}
server_bin: {$ref: '#/definitions/absolute_path'}
required: [type, can_bootstrap, release]