summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/common-yang/utils/src/test/yang/test-yang-utils.yang
blob: a43a151e1ae18214aacbe1adfd92829dfdb878fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
module test-yang-utils {

  yang-version 1.1;
  namespace "urn:test:yang:utils";
  prefix tesyangutils;

  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types.";
  }

  import ietf-inet-types {
    prefix inet;
  }

  typedef AddressType {
     type enumeration {
       enum OFFICE {
         description
            "Office Address";
       }
       enum HOME {
         description
            "Home Address";
       }
     }
  }

  identity item-code-identity {
    description
      "Base identity";
  }

  typedef item-code {
    type identityref {
      base item-code-identity;
    }
    description
      "Item code - Could be bar code, QR code or any other code to uniquely identify an item";
  }

  grouping address-location-entity {
    leaf id {
      type string;
      description
         "Unique ID of the address";
    }
    leaf address-type {
      type AddressType;
      description
          "Type of Address";
    }
    leaf delivery-date-time {
      type yang:date-and-time;
      description
        "Package delivery date and time";
    }
    leaf delivery-url {
      type inet:uri;
      description
        "Delivery URL";
    }
    list item-list {
      key "item-key";
      leaf item-key {
        type item-code;
      }
      description
        "Unique code of the ordered item";
    }
    leaf test-id {
      type item-code;
      description "test identity leaf";
    }

  }

  container address-location {
      description
         "builder";
      uses address-location-entity;
  }
}