Add initial support for provisioning and removing services, getting service data
Change-Id: Ie49206d788a202e70a8d64f083c3f85b92ced8fb
diff --git a/build/yang-files/services/bbf-nt-line-profile.yang b/build/yang-files/services/bbf-nt-line-profile.yang
new file mode 100644
index 0000000..f17e781
--- /dev/null
+++ b/build/yang-files/services/bbf-nt-line-profile.yang
@@ -0,0 +1,197 @@
+module bbf-nt-line-profile {
+ yang-version 1.1;
+ namespace "urn:bbf:yang:bbf-nt-line-profile";
+ prefix bbf-nt-line-prof;
+
+ organization
+ "Broadband Forum <https://www.broadband-forum.org>
+ Common YANG Work Area";
+ contact
+ "Comments or questions about this Broadband Forum YANG module
+ should be directed to <mailto:help@broadband-forum.org>.
+
+ Editor: TBD
+
+ PS Leader: TBD
+
+ WA Director: TBD";
+ description
+ "This module contains a collection of YANG definitions for
+ simplifying the Access Device Model as exposed over NBI of BAA.
+
+ Copyright (c) 2022, Broadband Forum
+
+ Redistribution and use in source and binary forms, with or
+ without modification, are permitted provided that the following
+ conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+ 3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products
+ derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ The above license is used as a license under copyright only.
+ Please reference the Forum IPR Policy for patent licensing terms
+ <https://www.broadband-forum.org/ipr-policy>.
+
+ Any moral rights which are necessary to exercise under the above
+ license grant are also deemed granted under this license.
+
+ This version of this YANG module is part of TR-383a4; see
+ the TR itself for full legal notices.";
+
+ revision 2021-09-14 {
+ description
+ "Initial revision.";
+ reference
+ "";
+ }
+
+ typedef line-profile-ref {
+ type leafref {
+ path
+ "/bbf-nt-line-prof:line-profiles/bbf-nt-line-prof:line-profile/bbf-nt-line-prof:name";
+ }
+ description
+ "A reference to a network termination line profile.";
+ }
+
+ typedef line-bandwidth-ref {
+ type leafref {
+ path
+ "/bbf-nt-line-prof:line-bandwidth-profiles/bbf-nt-line-prof:line-bandwidth-profile/bbf-nt-line-prof:name";
+ }
+ description
+ "A reference to a network termination bandwidth profile.";
+ }
+
+ container line-bandwidth-profiles {
+ list line-bandwidth-profile {
+ key "name";
+ description
+ "List of line profiles.";
+ leaf name {
+ type string {
+ length "1..32";
+ }
+ description
+ "The line bandwidth profile name.";
+ }
+ leaf fixed-bandwidth {
+ type uint64;
+ units "bits/second";
+ default "0";
+ description
+ "Represents the reserved portion of the bandwidth capacity that
+ is allocated to the given traffic flow, regardless of its
+ traffic demand and the overall traffic load conditions.";
+ }
+ leaf assured-bandwidth {
+ type uint64;
+ units "bits/second";
+ default "0";
+ description
+ "Represents a portion of the bandwidth capacity that is allocated
+ to the given traffic flow as long as the flow has
+ unsatisfied traffic demand, regardless of the overall
+ traffic conditions.";
+ }
+ leaf maximum-bandwidth {
+ type uint64;
+ units "bits/second";
+ description
+ "Represents the upper limit on the total bandwidth that can
+ be allocated to the traffic flow under any traffic
+ conditions. The maximum bandwidth must be greater than or equal
+ to the sum of any configured fixed and assured
+ bandwidth";
+ }
+ }
+ }
+ container line-profiles {
+ description
+ "All config data for line profile.";
+ list line-profile {
+ key "name";
+ description
+ "List of line profiles.";
+ leaf name {
+ type string {
+ length "1..32";
+ }
+ description
+ "The line profile name.";
+ }
+ container virtual-ports {
+ description
+ "All config data for virtual ports of the network termination.";
+ list virtual-port {
+ key "name";
+ description
+ "List of virtual ports.";
+ leaf name {
+ type string;
+ description
+ "Name of virtual port.";
+ }
+ leaf line-bandwidth-ref {
+ type line-bandwidth-ref;
+ description
+ "A reference to a network termination line bandwidth profile.";
+ }
+ list match-criteria {
+ key "name";
+ description
+ "List of match criterias.";
+ leaf name {
+ type string;
+ description
+ "Name of match criteria.";
+ }
+ leaf uni-port {
+ type uint8;
+ description
+ "Indicates the user-side port of the network termination.";
+ }
+ leaf vlan {
+ type uint32 {
+ range "0.. 4095 | 65533";
+ }
+ description
+ "Indicates the VLAN ID of the service. The value 65533 indicates untag traffic stream.";
+ }
+ leaf priority {
+ type uint32 {
+ range "0..7";
+ }
+ description
+ "Indicates the priority of the service.";
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file