blob: d62c957cef04019534a143ae060c6b82a9323e2b [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 application {
6 namespace "http://opennetworking.org/enterprise/application";
7 prefix app;
8
9 import ietf-inet-types{ prefix ietf; }
10 import aether-types{ prefix at; }
11 import enterprise{ prefix ent; }
12 import ietf-yang-types{ prefix yg; }
13
14 organization "Open Networking Foundation.";
15 contact "Scott Baker";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000016 description
Scott Bakerc9d3d842021-09-17 11:32:53 -070017 "An Aether Application is an application that UE devices may
18 connect to. Includes a set of endpoints where services are
19 provided.";
20
21 revision "2021-06-02" {
22 description "Aether Application.";
23 reference "RFC 6087";
24 }
25
26 typedef application-id {
27 type yg:yang-identifier {
28 length 1..32;
29 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000030 description "The typedef for application-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070031 }
32
33 container application {
34 description "The top level container";
35
36 list application {
37 key "id";
38 description
39 "List of applications";
40
41 leaf id {
42 type application-id;
43 description "ID for this application.";
44 }
45
46 leaf display-name {
47 type string {
48 length 1..80;
49 }
50 description "display name to use in GUI or CLI";
51 }
52
53 leaf description {
54 type at:description;
55 description "description of this application";
56 }
57
58 list endpoint {
59 key "name";
60 max-elements 1;
61 leaf name {
62 type string;
63 description
64 "Name of this endpoint";
65 }
66 leaf address {
67 type ietf:host;
68 mandatory true;
69 description
70 "Address of this endpoint. Either a hostname, and IP, or a subnet.";
71 }
72 leaf port-start {
73 type ietf:port-number;
74 mandatory true;
75 description
76 "First port in range";
77 }
78 leaf port-end {
79 type ietf:port-number;
80 description
81 "Last port in range";
82 }
83 leaf protocol {
84 type at:protocol;
85 description
86 "Name of this endpoint";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000087 }
88 description "The list for endpoints";
Scott Bakerc9d3d842021-09-17 11:32:53 -070089 }
90
91 leaf enterprise {
92 type leafref {
93 path "/ent:enterprise/ent:enterprise/ent:id";
94 }
95 mandatory true;
96 description
97 "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
98 }
99 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000100 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700101}