blob: fcc05e3dfbb88526dcbe5fb899c13fe70e9a3984 [file] [log] [blame]
// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
module application {
namespace "http://opennetworking.org/enterprise/application";
prefix app;
import ietf-inet-types{ prefix ietf; }
import aether-types{ prefix at; }
import enterprise{ prefix ent; }
import ietf-yang-types{ prefix yg; }
organization "Open Networking Foundation.";
contact "Scott Baker";
description
"An Aether Application is an application that UE devices may
connect to. Includes a set of endpoints where services are
provided.";
revision "2021-06-02" {
description "Aether Application.";
reference "RFC 6087";
}
typedef application-id {
type yg:yang-identifier {
length 1..32;
}
description "The typedef for application-id";
}
container application {
description "The top level container";
list application {
key "id";
description
"List of applications";
leaf id {
type application-id;
description "ID for this application.";
}
leaf display-name {
type string {
length 1..80;
}
description "display name to use in GUI or CLI";
}
leaf description {
type at:description;
description "description of this application";
}
list endpoint {
key "name";
max-elements 1;
leaf name {
type string;
description
"Name of this endpoint";
}
leaf address {
type ietf:host;
mandatory true;
description
"Address of this endpoint. Either a hostname, and IP, or a subnet.";
}
leaf port-start {
type ietf:port-number;
mandatory true;
description
"First port in range";
}
leaf port-end {
type ietf:port-number;
description
"Last port in range";
}
leaf protocol {
type at:protocol;
description
"Name of this endpoint";
}
description "The list for endpoints";
}
leaf enterprise {
type leafref {
path "/ent:enterprise/ent:enterprise/ent:id";
}
mandatory true;
description
"Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
}
}
}
}