1# SPDX-License-Identifier: BSD-3-Clause
2#
3# Right (included last) YAML file for testing diamond inheritance.
4#
5# Amends base.yaml.
6#
7# Binding level:
8# - prop-1 (amended)
9# - prop-enum (amended)
10# - prop-thing (new property)
11#
12# Child-binding level:
13#  - child-prop-1 (amended)
14#  - child-prop-enum (amended)
15#  - child-prop-thing (new property)
16#
17# Grandchild-binding level:
18#   - grandchild-prop-1 (amended)
19#   - grandchild-prop-enum (amended)
20#   - grandchild-prop-thing (new property)
21
22description: Description of 'thing.yaml'.
23
24include:
25  - name: base.yaml
26    property-allowlist: [prop-1, prop-enum]
27    child-binding:
28      property-allowlist: [child-prop-1, child-prop-enum]
29      child-binding:
30        property-allowlist: [grandchild-prop-1, grandchild-prop-enum]
31
32properties:
33  prop-1:
34    default: 1
35    # Diamond inheritance in diamond.yaml: should overwrite
36    # the amended description from base_amend.yaml.
37    description: Overwritten in thing.yaml.
38
39  prop-enum:
40    # This is the definition inherited from base.yaml.
41    #
42    # Diamond inheritance in diamond.yaml: should be ORed
43    # with the definition inherited via base_amend.yaml.
44    required: false
45
46  prop-thing:
47    description: Thing property.
48    type: int
49
50child-binding:
51  description: Child-binding description (thing).
52  properties:
53    child-prop-1:
54      description: Overwritten in thing.yaml (child).
55      default: 2
56    child-prop-enum:
57      required: false
58    child-prop-thing:
59      description: Thing child-binding property.
60      type: int
61
62  child-binding:
63    description: Grandchild-binding description (thing).
64    properties:
65      grandchild-prop-1:
66        description: Overwritten in thing.yaml (grandchild).
67        default: 3
68      grandchild-prop-enum:
69        required: false
70      grandchild-prop-thing:
71        description: Thing grandchild-binding property.
72        type: int
73