blob: 3d0ba48fe6821908e0162f5f7ecaaad81edd17e4 [file] [log] [blame]
// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: Apache-2.0
module apn-profile {
namespace "http://opennetworking.org/aether/apn-profile";
prefix pro;
import ietf-inet-types { prefix inet; }
import service-group { prefix sg; }
organization "Open Networking Foundation.";
contact "Scott Baker";
description "To generate JSON from this use command
pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
Copied from YangUIComponents project";
revision "2021-03-04" {
description "An Aether APN Profile";
reference "RFC 6087";
}
// TODO: Think more on whether this should be a UUID or
// simply a unique name. If it's a UUID, could fix the
// string length.
typedef apn-profile-id {
type string {
length 1..32;
}
description "The typedef for apn-profile-id";
}
container apn-profile {
description "The top level container";
list apn-profile {
key "id";
description
"List of apn profiles";
leaf id {
type apn-profile-id;
description "ID for this apn profile.";
}
leaf display-name {
type string {
length 1..80;
}
description "display name to use in GUI or CLI";
}
leaf apn-name {
type string {
length 1..32;
}
description "apn name";
}
leaf dns-primary {
type inet:ip-address;
description "primary dns server name";
}
leaf dns-secondary {
type inet:ip-address;
description "secondary dns server name";
}
leaf mtu {
type uint32 {
range 68..65535;
}
units bytes;
default 1460;
description "maximum transmission unit";
}
leaf gx-enabled {
type boolean;
default false;
description "enable gx interface";
}
leaf description {
type string {
length 1..100;
}
description "description of this profile";
}
leaf service-group {
type leafref {
path "/sg:service-group/sg:service-group/sg:id";
}
description
"Link to service group";
}
}
}
}