1 ##############################################################################
2 # Copyright (c) 2018 Enea AB and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
9 $schema: 'http://json-schema.org/schema#'
10 $id: 'https://github.com/opnfv/pharos/blob/master/config/pdf/pod1.yaml'
15 # NOTE: I hope this is going away soon, so I won't model it yet
20 # NOTE: To be properly modeled by Daisy maintainers
24 # NOTE: To be properly modeled by Compass4NFV maintainers
36 type: ['string', 'null']
38 type: ['string', 'null']
40 type: ['string', 'null']
42 type: ['string', 'null']
43 required: ['admin', 'mgmt', 'private', 'public']
44 additionalProperties: false
46 additionalProperties: false
54 required: ['timeout_comissioning', 'timeout_deploying']
55 additionalProperties: false
67 type: ['string', 'null']
71 type: ['string', 'null']
72 required: ['interfaces', 'busaddr']
73 additionalProperties: false
75 additionalProperties: false
76 required: ['jumphost', 'network']
77 additionalProperties: false
79 ##############################################################################
80 # Top-level structure:
81 # - define all possible top-level and second-level keys, without enforcing a
82 # schema for second-level, just so we can disallow additional properties;
83 # - require 'version' and allow dynamically generated 'version_x.y' key;
87 # version_x.y keys are auto-added by `validate_schema.py` based on 'version'
97 enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid']
106 required: ['version']
107 additionalProperties: false
108 ############################################################################
110 # - based on dynamically added 'version_x.y', require additional IDF blocks
111 # and validate them against the proper schema version;
116 $ref: '#/definitions/net_config/v0.1'
118 $ref: '#/definitions/fuel/v0.1'
120 $ref: '#/definitions/daisy/v0.1'
122 $ref: '#/definitions/compass/v0.1'
124 required: ['net_config']
126 required: ['net_config']
128 # Do not allow any properties not defined here. This lets us catch typos.
129 additionalProperties: false