EQUIPMENT — teiv master documentation

# EQUIPMENT

    module o-ran-smo-teiv-equipment {
        yang-version 1.1;
        namespace "urn:o-ran:smo-teiv-equipment";
        prefix or-teiv-equip;

        import o-ran-smo-teiv-common-yang-types {prefix or-teiv-types; }

        import o-ran-smo-teiv-common-yang-extensions {prefix or-teiv-yext; }

        import ietf-geo-location {
            prefix geo;
            reference "RFC 9179: A YANG Grouping for Geographic Locations";
        }

        organization "ORAN";
        contact "The Authors";
        description
        "RAN Equipment topology model.

        This model contains the topology entities and relations in the
        RAN Equipment domain, which is modelled to understand the physical
        location of equipment such as antennas associated with a cell/carrier
        and their relevant properties e.g. tilt, max power etc.

        Copyright (C) 2024 Ericsson
        Modifications Copyright (C) 2024 OpenInfra Foundation Europe

        Licensed under the Apache License, Version 2.0 (the \"License\");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an \"AS IS\" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and";

        revision "2024-10-21" {
            description "Deprecate AntennaModule attribute antennaBeamWidth.
            To be replaced by horizontalBeamWidth and verticalBeamWidth.";
            or-teiv-yext:label 0.6.0;
        }

        revision "2024-10-08" {
            description "Added azimuth attribute for AntennaModule.";
            or-teiv-yext:label 0.5.0;
        }

        revision "2024-10-04" {
            description "Added groupings, Origin_Entity_Mapping_Grp or Origin_Relationship_Mapping_Grp
            to the corresponding topology objects.";
            or-teiv-yext:label 0.4.0;
        }

        revision "2024-05-24" {
            description "Initial revision.";
            or-teiv-yext:label 0.3.0;
        }

        or-teiv-yext:domain EQUIPMENT;

        list AntennaModule {
            description "An Antenna Module represents the physical aspect of an
            antenna.";

            uses or-teiv-types:Top_Grp_Type;
            uses or-teiv-types:Origin_Entity_Mapping_Grp;
            key id;

            container attributes {
                leaf antennaModelNumber {
                    description "Vendor-specific antenna model identifier. This
                    attribute is part of AISG v3 ADB Standard and has no
                    operational impact.";
                    type string;
                }

                leaf mechanicalAntennaBearing {
                    description "Antenna bearing on antenna subunit where antenna
                    unit is installed.";
                    type int32;
                }

                leaf mechanicalAntennaTilt {
                    description "The fixed antenna tilt of the installation, defined
                    as the inclination of the antenna element respect to the
                    vertical plane. It is a signed value. Positive indicates
                    downtilt, and negative indicates uptilt.";
                    type int32;
                }

                leaf positionWithinSector {
                    description "Antenna unit position within sector. This attribute
                    is part of AISG v3 ADB Standard and has no operational
                    impact.";
                    type string;
                }

                leaf totalTilt {
                    description "Total antenna elevation including the installed
                    tilt and the tilt applied by the Remote Electrical
                    Tilt (RET).";
                    type int32;
                }

                leaf electricalAntennaTilt {
                    description "Electrically-controlled tilt of main beam maximum
                    with respect to direction orthogonal to antenna element
                    axis (see 3GPP TS 25.466). Value is signed; tilt down is
                    positive, tilt up is negative.";
                    type int32;
                }

                leaf-list antennaBeamWidth {
                    description "The angular span of the main lobe of the antenna
                    radiation pattern in the horizontal plane. Measured in
                    degrees.

                    Deprecated: Since 24.Q4. Replaced by AntennaModule::horizontalBeamWidth
                    and AntennaModule::verticalBeamWidth. Planned to be removed.";
                    type uint32;
                }

                leaf horizontalBeamWidth  {
                    description "The angular span of the main lobe of the antenna
                    radiation pattern in the horizontal plane.";
                    type decimal64 {
                        fraction-digits 1;
                        range "0..360";
                    }
                    units "decimal degrees";
                }

                leaf verticalBeamWidth   {
                    description "The angular span of the main lobe of the antenna
                    radiation pattern in the vertical plane.";
                    type decimal64 {
                        fraction-digits 1;
                        range "0..360";
                    }
                    units "decimal degrees";
                }

                leaf azimuth {
                    description "The value of the azimuth of the Antenna Module.";
                    type decimal64 {
                        fraction-digits 1;
                        range "0..360";
                    }
                    units "decimal degrees";
                }

                uses geo:geo-location;
            }
        }

        list Site {
            description "A site is a physical location where an equipment can be
            installed.";

            uses or-teiv-types:Top_Grp_Type;
            uses or-teiv-types:Origin_Entity_Mapping_Grp;
            key id;

            container attributes {
                leaf name {
                    description "Name of Site";
                    type string;
                }

                uses geo:geo-location;
            }
        }

        or-teiv-yext:biDirectionalTopologyRelationship ANTENNAMODULE_INSTALLED_AT_SITE { // 0..n to 0..1

            description
                "The aSide of this relationship is an instance of the AntennaModule type.
                The bSide of this relationship is an instance of the Site type.
                The Site represents the physical location where the AntennaModule is installed.
                An AntennaModule instance can only be installed at one Site.
                A Site instance can have many installed AntennaModules.
                ";

            uses or-teiv-types:Top_Grp_Type;
            uses or-teiv-types:Origin_Relationship_Mapping_Grp;
            key id;

            leaf installed-at-site {
                description "Antenna Module installed at Site.";
                or-teiv-yext:aSide AntennaModule;
                type instance-identifier;
            }

            leaf-list installed-antennaModule {
                description "Site where Antenna Module is installed.";
                or-teiv-yext:bSide Site;
                type instance-identifier;
            }
        }
    }