blob: 8b4add118ef39aa7616d3dc33c93c0d9bfc3f2ba [file] [log] [blame]
// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
module service-group {
namespace "http://opennetworking.org/aether/service-group";
prefix sg;
import service-policy { prefix serv; }
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 Service Group";
reference "RFC 6087";
}
typedef service-group-id {
type string {
length 1..32;
}
description "The typede for service-group-id";
}
typedef service-kind {
type string {
length 1..32;
pattern "default|on-demand";
}
description "The typedef for service-kind";
}
container service-group {
description "The top level container";
list service-group {
key "id";
description
"List of service groups";
leaf id {
type service-group-id;
description "ID for this service group.";
}
leaf display-name {
type string {
length 1..80;
}
description "display name to use in GUI or CLI";
}
list service-policies {
key "service-policy";
leaf service-policy {
type leafref {
path "/serv:service-policy/serv:service-policy/serv:id";
}
description
"Link to service policy";
}
leaf kind {
type service-kind;
default "default";
description
"Type of service link";
}
description "The container for service-policies";
}
leaf description {
type string {
length 1..100;
}
description "description of this service group";
}
}
}
}