blob: 3d0ba48fe6821908e0162f5f7ecaaad81edd17e4 [file] [log] [blame]
Scott Bakerc9d3d842021-09-17 11:32:53 -07001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
Sean Condon160ec1d2022-02-08 12:58:25 +00003// SPDX-License-Identifier: Apache-2.0
Scott Bakerc9d3d842021-09-17 11:32:53 -07004
5module apn-profile {
6 namespace "http://opennetworking.org/aether/apn-profile";
7 prefix pro;
8
9 import ietf-inet-types { prefix inet; }
10 import service-group { prefix sg; }
11
12 organization "Open Networking Foundation.";
13 contact "Scott Baker";
14 description "To generate JSON from this use command
15 pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
16 Copied from YangUIComponents project";
17
18 revision "2021-03-04" {
19 description "An Aether APN Profile";
20 reference "RFC 6087";
21 }
22
23 // TODO: Think more on whether this should be a UUID or
PUSHP RAJba2e32f2021-11-02 10:39:24 +000024 // simply a unique name. If it's a UUID, could fix the
Scott Bakerc9d3d842021-09-17 11:32:53 -070025 // string length.
26 typedef apn-profile-id {
27 type string {
28 length 1..32;
29 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000030 description "The typedef for apn-profile-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070031 }
32
33 container apn-profile {
34 description "The top level container";
35
36 list apn-profile {
37 key "id";
38 description
39 "List of apn profiles";
40
41 leaf id {
42 type apn-profile-id;
43 description "ID for this apn profile.";
44 }
45
46 leaf display-name {
47 type string {
48 length 1..80;
49 }
50 description "display name to use in GUI or CLI";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000051 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070052
53 leaf apn-name {
54 type string {
55 length 1..32;
56 }
57 description "apn name";
58 }
59
60 leaf dns-primary {
61 type inet:ip-address;
62 description "primary dns server name";
63 }
64
65 leaf dns-secondary {
66 type inet:ip-address;
67 description "secondary dns server name";
68 }
69
70 leaf mtu {
71 type uint32 {
72 range 68..65535;
73 }
74 units bytes;
75 default 1460;
76 description "maximum transmission unit";
77 }
78
79 leaf gx-enabled {
80 type boolean;
81 default false;
82 description "enable gx interface";
83 }
84
85 leaf description {
86 type string {
87 length 1..100;
88 }
89 description "description of this profile";
90 }
91
92 leaf service-group {
93 type leafref {
94 path "/sg:service-group/sg:service-group/sg:id";
95 }
96 description
97 "Link to service group";
98 }
99 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000100 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700101}