module ietf-lmo-organization {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lmo-organization";
prefix ietf-lmo-organization;
import ietf-lmo-common {
prefix ietf-lmo-common;
}
import ietf-lmo {
prefix ietf-lmo;
}
import ietf-lmo-licenses {
prefix ietf-lmo-licenses;
}
organization
"IETF OPSA (Operations and Management Area) Working Group";
contact
"WG Web:
WG List:
Editor: Jan Lindblad
Editor: Marisol Palmero
";
description
"This YANG module defines the organization module and the different
attributes that defines it.
Copyright (c) 2021 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
for full legal notices.";
revision 2022-07-07 {
description
"fixed YANG statements";
reference
"RFC XXXX: LMO YANG Model";
}
revision 2022-03-01 {
description
"Initial revision for Organization Module as part of the
LMO YANG Model";
reference
"RFC XXXX: LMO YANG Model";
}
identity organization {
base ietf-lmo-common:lmo-class;
description "An organization is a class of lmo that represents ...";
}
augment /ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:inst {
when "derived-from-or-self(../ietf-lmo:lmo-class, 'ietf-lmo-organization:organization')";
description
"organization attributes";
leaf address {
type string;
description
"organization address";
}
leaf department {
type boolean;
default false;
description
"How to categorize the organization";
}
// Fill more leafs for organizations here...
}
augment /ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:inst {
when "derived-from-or-self(../ietf-lmo:lmo-class, 'ietf-lmo-licenses:license')";
description
"license attributes related to organization";
container organization {
//NEED to determine how the model will consume organization/service/user
//Leaving it here for the moment
description
"Organization container";
leaf lmo-class {
type leafref {
path "/ietf-lmo:lmos/ietf-lmo:lmo/ietf-lmo:lmo-class";
}
must "derived-from-or-self(current(), 'ietf-lmo-organization:organization')";
description
"Organization class to which this license is attached";
}
leaf id {
type leafref {
path "deref(../lmo-class)/../ietf-lmo:inst/ietf-lmo:id";
}
description
"Organization to which this license is attached";
}
}
// Fill more leafs for license when organization module is present here...
}
}