deckhand/deckhand/engine/schemas/base_schema.yaml

57 lines
1.6 KiB
YAML

# Copyright 2017 AT&T Intellectual Property. All other rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
schema: deckhand/DataSchema/v1
metadata:
name: deckhand/Base/v1
schema: metadata/Control/v1
data:
$schema: http://json-schema.org/schema#
properties:
schema:
type: string
pattern: ^[A-Za-z]+/[A-Za-z]+/v\d+$
metadata:
# True validation of the metadata section will be done using
# the schema specfied in the metadata section
type: object
properties:
name:
type: string
schema:
anyOf:
- type: string
pattern: ^metadata/Document/v\d+$
- type: string
pattern: ^metadata/Control/v\d+$
additionalProperties: true
required:
- 'name'
- 'schema'
# This schema should allow anything in the data section
data:
type:
- 'null'
- 'string'
- 'object'
- 'array'
- 'number'
- 'boolean'
additionalProperties: false
required:
- schema
- metadata
- data