Loading yang-models/_3gpp-common-yang-types.yang +37 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,11 @@ module _3gpp-common-yang-types { network slicing."; reference "3GPP TS 28.541"; revision 2021-09-30 { description "Added Longitude, Latitude, TenthOfDegrees, OnOff."; reference "CR-0138"; } revision 2020-11-06 { description "Removed incorrect S-NSSAI definitions."; reference "CR-0118"; Loading @@ -37,6 +42,38 @@ module _3gpp-common-yang-types { reference "Initial version."; } typedef TenthOfDegrees { type uint16 { range 0..3600; } units "0.1 degrees"; description "A single integral value corresponding to an angle in degrees between 0 and 360 with a resolution of 0.1 degrees."; } typedef Latitude { type decimal64 { fraction-digits 4; range "-90.0000..+90.0000"; } description "Latitude values"; } typedef Longitude { type decimal64 { fraction-digits 4; range "-180.0000..+180.0000"; } description "Longitude values"; } typedef OnOff { type enumeration { enum ON; enum OFF; } } grouping ManagedNFProfile { description "Defines profile for managed NF"; reference "3GPP TS 23.501"; Loading yang-models/_3gpp-inv-antennainventoryunit.yang 0 → 100755 +138 −0 Original line number Diff line number Diff line module _3gpp-inv-antennainventoryunit { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-antennainventoryunit"; prefix "antinv3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-inv-inventoryunit { prefix inv3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the antenna inventory data IOC for Alternative 1 of the IM NRM, TS 28.632."; reference "3GPP TS 28.663 Generic Radio Access Network (RAN) Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions"; revision 2021-10-01 { reference "Initial revision"; } grouping AntennaInventoryUnitGrp { description "Represents the AntennaInventoryUnit IOC."; reference "3GPP TS 28.633"; uses inv3gpp:InventoryUnitGrp; leaf maxTiltValue { description "The maximum amount of electrical tilt the RET system can support, expressed in tilt value times 10."; reference "See 'Maximum supported tilt' in Ref. 3GPP TS 37.466"; type types3gpp:TenthOfDegrees; } leaf minTiltValue { description "The minimum amount of electrical tilt the RET system can support, expressed in tilt value times 10."; reference "See 'Minimum supported tilt' in Ref. 3GPP TS 37.466"; type types3gpp:TenthOfDegrees; } leaf mechanicalOffset { description "Non-adjustable tilt value, which is imparted to the antenna due to the physical installation. The actual tilt at any point in time is the summation of mechanicalOffset and retTiltValue. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; type types3gpp:TenthOfDegrees; } leaf baseElevation { description "The elevation in meters above sea level at the base of the antenna structure. This value, when subtracted from height (see TS 28.662), provides the height of the antenna above the ground. An integral value representing a number of meters in 0.1 meter increments. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; type uint32; } leaf latitude { description "The latitude of the antenna location based on World Geodetic System (1984 version) global reference frame (WGS 84). Positive values correspond to the northern hemisphere. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; reference "Valid values described in 3GPP TS 23.032"; type types3gpp:Latitude; } leaf longitude { description "The longitude of the antenna location based on World Geodetic System (1984 version) global reference frame (WGS 84). Positive values correspond to degrees east of 0 degrees longitude. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; reference "Valid values described in 3GPP TS 23.032"; type types3gpp:Longitude; } leaf patternLabel { description "The pattern name is a textual, alpha-numeric string to allow identification of the antenna pattern along with the antenna vendor information such as model number, etc. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; type string { length "0..80"; } } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain Antenna inventory objects."; list AntennaInventoryUnit { uses top3gpp:Top_Grp; key "id"; description "Represents inventory information for an Antenna Unit."; container attributes { description "Attributes for the AntennaInventoryUnit IOC."; uses AntennaInventoryUnitGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../AntennaInventoryUnit/id"; } description "Reference to all containing AntennaInventoryUnit instances in strict order from the root down to the immediate parent (i.e. the full path from the top level AntennaInventoryUnit and downward). If AntennaInventoryUnit instances form a containment hierarchy this is modeled using references between the child AntennaInventoryUnits and the parent AntennaInventoryUnit. This reference MUST NOT be present for the top level AntennaInventoryUnit and MUST be present for all AntennaInventoryUnits below it."; } leaf-list containedChildren { type leafref { path "../../../AntennaInventoryUnit/id"; } description "Reference to all directly contained AntennaInventoryUnit instances. If AntennaInventoryUnit instances form a containment hierarchy this is modeled using references between the child AntennaInventoryUnits and the parent AntennaInventoryUnit."; } } } } } No newline at end of file yang-models/_3gpp-inv-inventoryunit.yang 0 → 100755 +145 −0 Original line number Diff line number Diff line module _3gpp-inv-inventoryunit { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-inventoryunit"; prefix inv3gpp; import ietf-yang-types { prefix yang; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the inventory data IOC for Alternative 1 of the IM NRM, TS 28.632."; reference "3GPP TS 28.632 Inventory Management (IM) Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2021-10-01 { reference "Initial revision"; } grouping InventoryUnitGrp { description "Represents the InventoryUnit IOC."; leaf inventoryUnitType { description "Type of inventory unit."; reference "3GPP TS 32.690"; type string; config false; } leaf vendorUnitFamilyType { description "Mnemonic of inventory unit family type (e.g. Fan, PSU) assigned by vendor."; type string; config false; } leaf vendorUnitTypeNumber { description "A vendor/manufacturer defined and assigned number which uniquely identifies the unit type and optionally for backward compatibility reasons only, also version (used for replacing hardware units, spares)."; type string; config false; } leaf versionNumber { description "The version information related to vendorUnitTypeNumber."; type string; config false; } leaf vendorName { description "Name of inventory unit vendor (or vendors may provide manufacturer name)"; type string; config false; } leaf serialNumber { description "Serial number of inventory unit."; type string; config false; } leaf dateOfManufacture { description "Date of manufacture of inventory unit"; type yang:date-and-time; config false; } leaf dateOfLastService { description "Date of last service or repair of inventory unit"; type yang:date-and-time; config false; } leaf unitPosition { description "Position of inventory unit (e.g. Rack, shelf, slot, etc.). Depending on the implementation of the inventory unit in the managed system, the value and meaning of this attribute may vary. For example, if a system has three levels and types of inventory units representing Rack, Shelf and Slot respectively (i.e. the Managed Element contains multiple Rack inventory units, each Rack inventory unit contains multiple Shelf inventory units and each Shelf inventory unit contains multiple Slot inventory units), then for this example: - for the Inventory Unit representing a Rack, the Frame Identification code may be used as the value of this attribute; - for the Inventory Unit representing a Shelf, the Rack Shelf code may be used as the value of this attribute; - for the Inventory Unit representing a Slot, the position code may be used as the value of this attribute."; type string; config false; } leaf manufacturerData { description "Manufacturer specific data of inventory unit."; type string; config false; } leaf relatedFunction { description "DN of related ManagedFunction."; type types3gpp:DistinguishedName; config false; } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain inventory objects."; list InventoryUnit { uses top3gpp:Top_Grp; key "id"; description "Represents inventory information for an Inventory Unit."; container attributes { description "Attributes for the InventoryUnit IOC."; uses InventoryUnitGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../InventoryUnit/id"; } description "Reference to all containing InventoryUnit instances in strict order from the root down to the immediate parent (i.e. the full path from the top level InventoryUnit and downward). If InventoryUnit instances form a containment hierarchy this is modeled using references between the child InventoryUnits and the parent InventoryUnit. This reference MUST NOT be present for the top level InventoryUnit and MUST be present for all InventoryUnits below it."; } leaf-list containedChildren { type leafref { path "../../../InventoryUnit/id"; } description "Reference to all directly contained InventoryUnit instances. If InventoryUnit instances form a containment hierarchy this is modeled using references between the child InventoryUnits and the parent InventoryUnit."; } } } } } yang-models/_3gpp-inv-inventoryunithw.yang 0 → 100755 +172 −0 Original line number Diff line number Diff line module _3gpp-inv-inventoryunithw { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-inventoryunithw"; prefix invhw3gpp; import ietf-yang-types { prefix yang; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the hardware inventory data IOC for Alternative 2 of the IM NRM, TS 28.632."; reference "3GPP TS 28.632 Inventory Management (IM) Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2021-10-01 { reference "Initial revision"; } typedef ManualDataEntry { description "Non-extensible enumeration indicating whether a unit is 'passive', i.e. only supporting manual data entry, or 'active', i.e. self-reporting"; type enumeration { enum PASSIVE { description "Manual insertion of inventory data is needed."; } enum ACTIVE { description "Inventory data can be read from the unit."; } } } grouping InventoryUnitHwGrp { description "Represents the InventoryUnitHw IOC."; leaf hwId { description "Hardware identifier allocated by the vendor, e.g. the serial number."; type string; config false; } leaf hwType { description "Type of the Hardware unit e.g. equipment holder, carriage."; type string; config false; } leaf hwName { description "Mnemonic of Hardware inventory unit family type (e.g. Fan, PSU) assigned by vendor."; type string; config false; } leaf hwVersion { description "Version / revision number of current unit e.g. firmware version."; type string; config false; } leaf vendorName { description "Name of inventory unit vendor (or vendors may provide manufacturer name)"; type string; config false; } leaf salesUniqueId { description "Unique identifier used by vendor (used e.g. for ordering a new unit)."; type string; config false; } leaf hwUnitLocation { description "Unique physical / logical location identifier within NE."; type string; config false; } leaf model { description "Equipment configuration, e.g. standard hardware unit or a variant that may contain additional disk capacity."; type string; config false; } leaf hwCapability { description "Hardware capability e.g. capacity, size."; type string; config false; } leaf modificationDate { description "Date/time stamp of last change (e.g. repair action)."; type yang:date-and-time; config false; } leaf manualDataEntry { description "Indicates whether unit is passive (manual insertion of inventory data is needed) or active (inventory data can be read from the unit)."; type ManualDataEntry; config false; } leaf additionalInformation { description "Supplementary information about inventory data (if any)."; type string; config false; } leaf mFunction { description "DN of related ManagedFunction."; type types3gpp:DistinguishedName; config false; } leaf-list lICList { description "Set of DNs of related InventoryUnitLic IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list nEList { description "Set of DNs of related InventoryUnitNE IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list sWList { description "Set of DNs of related InventoryUnitSw IOCs."; type types3gpp:DistinguishedName; config false; } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain hardware inventory objects."; list InventoryUnitHw { uses top3gpp:Top_Grp; key "id"; description "Represents the hardware components."; container attributes { description "Attributes for the InventoryUnitHw SupportIOC."; uses InventoryUnitHwGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../InventoryUnitHw/id"; } description "Reference to all containing InventoryUnitHw instances in strict order from the root down to the immediate parent (i.e. the full path from the top level InventoryUnitHw and downward). If InventoryUnitHw instances form a containment hierarchy this is modeled using references between the child InventoryUnitHws and the parent InventoryUnitHw. This reference MUST NOT be present for the top level InventoryUnitHw and MUST be present for all InventoryUnitHws below it."; } leaf-list containedChildren { type leafref { path "../../../InventoryUnitHw/id"; } description "Reference to all directly contained InventoryUnitHw instances. If InventoryUnitHw instances form a containment hierarchy this is modeled using references between the child InventoryUnitHws and the parent InventoryUnitHw."; } } } } } yang-models/_3gpp-inv-inventoryunitlic.yang 0 → 100755 +141 −0 Original line number Diff line number Diff line module _3gpp-inv-inventoryunitlic { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-inventoryunitlic"; prefix invlic3gpp; import ietf-yang-types { prefix yang; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the license inventory data IOC for Alternative 2 of the IM NRM, TS 28.632."; reference "3GPP TS 28.632 Inventory Management (IM) Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2021-10-01 { reference "Initial revision"; } grouping InventoryUnitLicGrp { description "Represents the InventoryUnitLic IOC."; leaf licId { description "Unique identifier of a license (e.g. name, code)."; type string; config false; } leaf licType { description "Describing type of current license (e.g. capacity, particular feature, number of subscribers)."; type string; config false; } leaf vendorName { description "Name of inventory unit vendor (or vendors may provide manufacturer name)."; type string; config false; } leaf validity { description "License validity which may include one of the elements duration, end (expiration date) or forever."; type string; config false; } leaf key { description "License activation key according to the used licensing system."; type string; config false; } leaf licStatus { description "License status - applicable only for managed licenses (e.g. scheduled, valid, expired, invalid, capacity violated)."; type string; config false; } leaf licActivationTime { description "Date and time when the license was activated."; type yang:date-and-time; config false; } leaf salesUniqueId { description "Unique identifier used by vendor (used e.g. for ordering a new unit)."; type string; config false; } leaf additionalInformation { description "Supplementary information about inventory data (if any)."; type string; config false; } leaf mFunction { description "DN of related ManagedFunction."; type types3gpp:DistinguishedName; config false; } leaf-list sWList { description "Set of DNs of related InventoryUnitSw IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list nEList { description "Set of DNs of related InventoryUnitNE IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list hWList { description "Set of DNs of related InventoryUnitHw IOCs."; type types3gpp:DistinguishedName; config false; } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain software inventory objects."; list InventoryUnitLic { uses top3gpp:Top_Grp; key "id"; description "Represents the InventoryUnitLic SupportIOC."; container attributes { description "Attributes for the InventoryUnitLic SupportIOC."; uses InventoryUnitLicGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../InventoryUnitLic/id"; } description "Reference to all containing InventoryUnitLic instances in strict order from the root down to the immediate parent (i.e. the full path from the top level InventoryUnitLic and downward). If InventoryUnitLic instances form a containment hierarchy this is modeled using references between the child InventoryUnitLics and the parent InventoryUnitLic. This reference MUST NOT be present for the top level InventoryUnitLic and MUST be present for all InventoryUnitLics below it."; } leaf-list containedChildren { type leafref { path "../../../InventoryUnitLic/id"; } description "Reference to all directly contained InventoryUnitLic instances. If InventoryUnitLic instances form a containment hierarchy this is modeled using references between the child InventoryUnitLics and the parent InventoryUnitLic."; } } } } } Loading
yang-models/_3gpp-common-yang-types.yang +37 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,11 @@ module _3gpp-common-yang-types { network slicing."; reference "3GPP TS 28.541"; revision 2021-09-30 { description "Added Longitude, Latitude, TenthOfDegrees, OnOff."; reference "CR-0138"; } revision 2020-11-06 { description "Removed incorrect S-NSSAI definitions."; reference "CR-0118"; Loading @@ -37,6 +42,38 @@ module _3gpp-common-yang-types { reference "Initial version."; } typedef TenthOfDegrees { type uint16 { range 0..3600; } units "0.1 degrees"; description "A single integral value corresponding to an angle in degrees between 0 and 360 with a resolution of 0.1 degrees."; } typedef Latitude { type decimal64 { fraction-digits 4; range "-90.0000..+90.0000"; } description "Latitude values"; } typedef Longitude { type decimal64 { fraction-digits 4; range "-180.0000..+180.0000"; } description "Longitude values"; } typedef OnOff { type enumeration { enum ON; enum OFF; } } grouping ManagedNFProfile { description "Defines profile for managed NF"; reference "3GPP TS 23.501"; Loading
yang-models/_3gpp-inv-antennainventoryunit.yang 0 → 100755 +138 −0 Original line number Diff line number Diff line module _3gpp-inv-antennainventoryunit { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-antennainventoryunit"; prefix "antinv3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-inv-inventoryunit { prefix inv3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the antenna inventory data IOC for Alternative 1 of the IM NRM, TS 28.632."; reference "3GPP TS 28.663 Generic Radio Access Network (RAN) Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions"; revision 2021-10-01 { reference "Initial revision"; } grouping AntennaInventoryUnitGrp { description "Represents the AntennaInventoryUnit IOC."; reference "3GPP TS 28.633"; uses inv3gpp:InventoryUnitGrp; leaf maxTiltValue { description "The maximum amount of electrical tilt the RET system can support, expressed in tilt value times 10."; reference "See 'Maximum supported tilt' in Ref. 3GPP TS 37.466"; type types3gpp:TenthOfDegrees; } leaf minTiltValue { description "The minimum amount of electrical tilt the RET system can support, expressed in tilt value times 10."; reference "See 'Minimum supported tilt' in Ref. 3GPP TS 37.466"; type types3gpp:TenthOfDegrees; } leaf mechanicalOffset { description "Non-adjustable tilt value, which is imparted to the antenna due to the physical installation. The actual tilt at any point in time is the summation of mechanicalOffset and retTiltValue. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; type types3gpp:TenthOfDegrees; } leaf baseElevation { description "The elevation in meters above sea level at the base of the antenna structure. This value, when subtracted from height (see TS 28.662), provides the height of the antenna above the ground. An integral value representing a number of meters in 0.1 meter increments. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; type uint32; } leaf latitude { description "The latitude of the antenna location based on World Geodetic System (1984 version) global reference frame (WGS 84). Positive values correspond to the northern hemisphere. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; reference "Valid values described in 3GPP TS 23.032"; type types3gpp:Latitude; } leaf longitude { description "The longitude of the antenna location based on World Geodetic System (1984 version) global reference frame (WGS 84). Positive values correspond to degrees east of 0 degrees longitude. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; reference "Valid values described in 3GPP TS 23.032"; type types3gpp:Longitude; } leaf patternLabel { description "The pattern name is a textual, alpha-numeric string to allow identification of the antenna pattern along with the antenna vendor information such as model number, etc. Note: The value of this attribute has no operational impact on the network, e.g. the NE behavior is not affected by the value setting of this attribute. Note as well that this attribute is not supported over the Iuant interface according to 3GPP TS 37.466."; type string { length "0..80"; } } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain Antenna inventory objects."; list AntennaInventoryUnit { uses top3gpp:Top_Grp; key "id"; description "Represents inventory information for an Antenna Unit."; container attributes { description "Attributes for the AntennaInventoryUnit IOC."; uses AntennaInventoryUnitGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../AntennaInventoryUnit/id"; } description "Reference to all containing AntennaInventoryUnit instances in strict order from the root down to the immediate parent (i.e. the full path from the top level AntennaInventoryUnit and downward). If AntennaInventoryUnit instances form a containment hierarchy this is modeled using references between the child AntennaInventoryUnits and the parent AntennaInventoryUnit. This reference MUST NOT be present for the top level AntennaInventoryUnit and MUST be present for all AntennaInventoryUnits below it."; } leaf-list containedChildren { type leafref { path "../../../AntennaInventoryUnit/id"; } description "Reference to all directly contained AntennaInventoryUnit instances. If AntennaInventoryUnit instances form a containment hierarchy this is modeled using references between the child AntennaInventoryUnits and the parent AntennaInventoryUnit."; } } } } } No newline at end of file
yang-models/_3gpp-inv-inventoryunit.yang 0 → 100755 +145 −0 Original line number Diff line number Diff line module _3gpp-inv-inventoryunit { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-inventoryunit"; prefix inv3gpp; import ietf-yang-types { prefix yang; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the inventory data IOC for Alternative 1 of the IM NRM, TS 28.632."; reference "3GPP TS 28.632 Inventory Management (IM) Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2021-10-01 { reference "Initial revision"; } grouping InventoryUnitGrp { description "Represents the InventoryUnit IOC."; leaf inventoryUnitType { description "Type of inventory unit."; reference "3GPP TS 32.690"; type string; config false; } leaf vendorUnitFamilyType { description "Mnemonic of inventory unit family type (e.g. Fan, PSU) assigned by vendor."; type string; config false; } leaf vendorUnitTypeNumber { description "A vendor/manufacturer defined and assigned number which uniquely identifies the unit type and optionally for backward compatibility reasons only, also version (used for replacing hardware units, spares)."; type string; config false; } leaf versionNumber { description "The version information related to vendorUnitTypeNumber."; type string; config false; } leaf vendorName { description "Name of inventory unit vendor (or vendors may provide manufacturer name)"; type string; config false; } leaf serialNumber { description "Serial number of inventory unit."; type string; config false; } leaf dateOfManufacture { description "Date of manufacture of inventory unit"; type yang:date-and-time; config false; } leaf dateOfLastService { description "Date of last service or repair of inventory unit"; type yang:date-and-time; config false; } leaf unitPosition { description "Position of inventory unit (e.g. Rack, shelf, slot, etc.). Depending on the implementation of the inventory unit in the managed system, the value and meaning of this attribute may vary. For example, if a system has three levels and types of inventory units representing Rack, Shelf and Slot respectively (i.e. the Managed Element contains multiple Rack inventory units, each Rack inventory unit contains multiple Shelf inventory units and each Shelf inventory unit contains multiple Slot inventory units), then for this example: - for the Inventory Unit representing a Rack, the Frame Identification code may be used as the value of this attribute; - for the Inventory Unit representing a Shelf, the Rack Shelf code may be used as the value of this attribute; - for the Inventory Unit representing a Slot, the position code may be used as the value of this attribute."; type string; config false; } leaf manufacturerData { description "Manufacturer specific data of inventory unit."; type string; config false; } leaf relatedFunction { description "DN of related ManagedFunction."; type types3gpp:DistinguishedName; config false; } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain inventory objects."; list InventoryUnit { uses top3gpp:Top_Grp; key "id"; description "Represents inventory information for an Inventory Unit."; container attributes { description "Attributes for the InventoryUnit IOC."; uses InventoryUnitGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../InventoryUnit/id"; } description "Reference to all containing InventoryUnit instances in strict order from the root down to the immediate parent (i.e. the full path from the top level InventoryUnit and downward). If InventoryUnit instances form a containment hierarchy this is modeled using references between the child InventoryUnits and the parent InventoryUnit. This reference MUST NOT be present for the top level InventoryUnit and MUST be present for all InventoryUnits below it."; } leaf-list containedChildren { type leafref { path "../../../InventoryUnit/id"; } description "Reference to all directly contained InventoryUnit instances. If InventoryUnit instances form a containment hierarchy this is modeled using references between the child InventoryUnits and the parent InventoryUnit."; } } } } }
yang-models/_3gpp-inv-inventoryunithw.yang 0 → 100755 +172 −0 Original line number Diff line number Diff line module _3gpp-inv-inventoryunithw { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-inventoryunithw"; prefix invhw3gpp; import ietf-yang-types { prefix yang; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the hardware inventory data IOC for Alternative 2 of the IM NRM, TS 28.632."; reference "3GPP TS 28.632 Inventory Management (IM) Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2021-10-01 { reference "Initial revision"; } typedef ManualDataEntry { description "Non-extensible enumeration indicating whether a unit is 'passive', i.e. only supporting manual data entry, or 'active', i.e. self-reporting"; type enumeration { enum PASSIVE { description "Manual insertion of inventory data is needed."; } enum ACTIVE { description "Inventory data can be read from the unit."; } } } grouping InventoryUnitHwGrp { description "Represents the InventoryUnitHw IOC."; leaf hwId { description "Hardware identifier allocated by the vendor, e.g. the serial number."; type string; config false; } leaf hwType { description "Type of the Hardware unit e.g. equipment holder, carriage."; type string; config false; } leaf hwName { description "Mnemonic of Hardware inventory unit family type (e.g. Fan, PSU) assigned by vendor."; type string; config false; } leaf hwVersion { description "Version / revision number of current unit e.g. firmware version."; type string; config false; } leaf vendorName { description "Name of inventory unit vendor (or vendors may provide manufacturer name)"; type string; config false; } leaf salesUniqueId { description "Unique identifier used by vendor (used e.g. for ordering a new unit)."; type string; config false; } leaf hwUnitLocation { description "Unique physical / logical location identifier within NE."; type string; config false; } leaf model { description "Equipment configuration, e.g. standard hardware unit or a variant that may contain additional disk capacity."; type string; config false; } leaf hwCapability { description "Hardware capability e.g. capacity, size."; type string; config false; } leaf modificationDate { description "Date/time stamp of last change (e.g. repair action)."; type yang:date-and-time; config false; } leaf manualDataEntry { description "Indicates whether unit is passive (manual insertion of inventory data is needed) or active (inventory data can be read from the unit)."; type ManualDataEntry; config false; } leaf additionalInformation { description "Supplementary information about inventory data (if any)."; type string; config false; } leaf mFunction { description "DN of related ManagedFunction."; type types3gpp:DistinguishedName; config false; } leaf-list lICList { description "Set of DNs of related InventoryUnitLic IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list nEList { description "Set of DNs of related InventoryUnitNE IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list sWList { description "Set of DNs of related InventoryUnitSw IOCs."; type types3gpp:DistinguishedName; config false; } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain hardware inventory objects."; list InventoryUnitHw { uses top3gpp:Top_Grp; key "id"; description "Represents the hardware components."; container attributes { description "Attributes for the InventoryUnitHw SupportIOC."; uses InventoryUnitHwGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../InventoryUnitHw/id"; } description "Reference to all containing InventoryUnitHw instances in strict order from the root down to the immediate parent (i.e. the full path from the top level InventoryUnitHw and downward). If InventoryUnitHw instances form a containment hierarchy this is modeled using references between the child InventoryUnitHws and the parent InventoryUnitHw. This reference MUST NOT be present for the top level InventoryUnitHw and MUST be present for all InventoryUnitHws below it."; } leaf-list containedChildren { type leafref { path "../../../InventoryUnitHw/id"; } description "Reference to all directly contained InventoryUnitHw instances. If InventoryUnitHw instances form a containment hierarchy this is modeled using references between the child InventoryUnitHws and the parent InventoryUnitHw."; } } } } }
yang-models/_3gpp-inv-inventoryunitlic.yang 0 → 100755 +141 −0 Original line number Diff line number Diff line module _3gpp-inv-inventoryunitlic { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-inv-inventoryunitlic"; prefix invlic3gpp; import ietf-yang-types { prefix yang; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This model defines a YANG mapping of the license inventory data IOC for Alternative 2 of the IM NRM, TS 28.632."; reference "3GPP TS 28.632 Inventory Management (IM) Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2021-10-01 { reference "Initial revision"; } grouping InventoryUnitLicGrp { description "Represents the InventoryUnitLic IOC."; leaf licId { description "Unique identifier of a license (e.g. name, code)."; type string; config false; } leaf licType { description "Describing type of current license (e.g. capacity, particular feature, number of subscribers)."; type string; config false; } leaf vendorName { description "Name of inventory unit vendor (or vendors may provide manufacturer name)."; type string; config false; } leaf validity { description "License validity which may include one of the elements duration, end (expiration date) or forever."; type string; config false; } leaf key { description "License activation key according to the used licensing system."; type string; config false; } leaf licStatus { description "License status - applicable only for managed licenses (e.g. scheduled, valid, expired, invalid, capacity violated)."; type string; config false; } leaf licActivationTime { description "Date and time when the license was activated."; type yang:date-and-time; config false; } leaf salesUniqueId { description "Unique identifier used by vendor (used e.g. for ordering a new unit)."; type string; config false; } leaf additionalInformation { description "Supplementary information about inventory data (if any)."; type string; config false; } leaf mFunction { description "DN of related ManagedFunction."; type types3gpp:DistinguishedName; config false; } leaf-list sWList { description "Set of DNs of related InventoryUnitSw IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list nEList { description "Set of DNs of related InventoryUnitNE IOCs."; type types3gpp:DistinguishedName; config false; } leaf-list hWList { description "Set of DNs of related InventoryUnitHw IOCs."; type types3gpp:DistinguishedName; config false; } } augment "/me3gpp:ManagedElement" { description "Extends ManagedElement to contain software inventory objects."; list InventoryUnitLic { uses top3gpp:Top_Grp; key "id"; description "Represents the InventoryUnitLic SupportIOC."; container attributes { description "Attributes for the InventoryUnitLic SupportIOC."; uses InventoryUnitLicGrp; // Data nodes that follow provide recursive containment leaf-list parents { type leafref { path "../../../InventoryUnitLic/id"; } description "Reference to all containing InventoryUnitLic instances in strict order from the root down to the immediate parent (i.e. the full path from the top level InventoryUnitLic and downward). If InventoryUnitLic instances form a containment hierarchy this is modeled using references between the child InventoryUnitLics and the parent InventoryUnitLic. This reference MUST NOT be present for the top level InventoryUnitLic and MUST be present for all InventoryUnitLics below it."; } leaf-list containedChildren { type leafref { path "../../../InventoryUnitLic/id"; } description "Reference to all directly contained InventoryUnitLic instances. If InventoryUnitLic instances form a containment hierarchy this is modeled using references between the child InventoryUnitLics and the parent InventoryUnitLic."; } } } } }