<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ivy-network-inventory-location-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Network Inventory Location">A YANG Data Model for Network Inventory Location</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-location-05"/>
    <author initials="B." surname="Wu" fullname="Bo Wu">
      <organization>Huawei</organization>
      <address>
        <email>lana.wubo@huawei.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="J.-F." surname="Bouquier" fullname="Jean-Francois Bouquier">
      <organization>Vodafone</organization>
      <address>
        <email>jeff.bouquier@vodafone.com</email>
      </address>
    </author>
    <author initials="F." surname="Peruzzini" fullname="Fabio Peruzzini">
      <organization>FiberCop</organization>
      <address>
        <email>fabio.peruzzini@fibercop.com</email>
      </address>
    </author>
    <author initials="P." surname="Bedard" fullname="Phil Bedard">
      <organization>Cisco</organization>
      <address>
        <email>phbedard@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="28"/>
    <area>Operations and Management</area>
    <workgroup>Network Inventory YANG</workgroup>
    <keyword>Automation</keyword>
    <keyword>Network Inventory</keyword>
    <keyword>Network Operation</keyword>
    <keyword>Topology</keyword>
    <abstract>
      <?line 60?>

<t>This document defines a YANG data model for Network Inventory
location (e.g., site, room, rack, geo-location data), which provides
location information with different granularity levels for
inventoried network elements.</t>
      <t>Accurate location information is useful for network planning,
deployment, and maintenance. However, such information cannot be
obtained or verified from the Network Elements themselves. This
document defines a location model for network inventory that extends
the base inventory with comprehensive location data.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Network Inventory YANG Working Group mailing list (inventory-yang@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/inventory-yang/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ietf-ivy-wg/network-inventory-location"/>.</t>
    </note>
  </front>
  <middle>
    <?line 73?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>NEs can be grouped by location to provide more information for
network planning, deployment, and maintenance (e.g., easily locate
problematic NEs, optimize network resources, or help planning
forecasts). The location can reflect outdoor or indoor information.
An indoor location may be represented as a building, room, or other
similar organizational structures. Outdoor locations can be walls,
poles, or other mount places.</t>
      <t>The information about sites, equipment rooms, and other more precise
locations is critical, but it cannot be automatically populated and
retrieved from network elements (NEs). Instead, it is usually
configured manually.</t>
      <t>The Network Inventory location model is to record physical locations,
such as sites, building, equipment rooms, racks, and so on.
Additionally, it includes provisions for physical addresses or geo-
location data (geographic coordinates). The location model augments the base network inventory <xref target="I-D.ietf-ivy-network-inventory-yang"/> to enrich NEs with location information.</t>
      <t>The Network Inventory location model is classified as a network model (Section 3.5.1 of <xref target="I-D.ietf-netmod-rfc8407bis"/>).</t>
      <t>The YANG data model in this document conforms to the Network
Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      <t>Note: The NMDA design needs to be revisited once the module is stable per (Section 4.23.2 of <xref target="I-D.ietf-netmod-rfc8407bis"/>).</t>
      <section anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
        <t>This document contains placeholder values that need to be replaced with finalized values at the time of publication. This note summarizes all of the substitutions that are needed.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this document</t>
          </li>
          <li>
            <t>AAAA --&gt; the assigned RFC number for <xref target="I-D.ietf-ivy-network-inventory-yang"/></t>
          </li>
        </ul>
      </section>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>The following terms are defined in <xref target="RFC7950"/> and are not
redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>client</t>
          </li>
          <li>
            <t>server</t>
          </li>
          <li>
            <t>augment</t>
          </li>
          <li>
            <t>data model</t>
          </li>
          <li>
            <t>data node
The following terms are defined in <xref target="RFC6241"/> and are not redefined
here:</t>
          </li>
          <li>
            <t>configuration data</t>
          </li>
          <li>
            <t>state data
The tree diagram used in this document follows the notation defined
in <xref target="RFC8340"/>.</t>
          </li>
        </ul>
        <t>Also, this document uses terms defined in <xref target="I-D.ietf-ivy-network-inventory-yang"/>.</t>
      </section>
    </section>
    <section anchor="hierarchical-locations-of-network-inventory">
      <name>Hierarchical Locations of Network Inventory</name>
      <t>The "location" list is generalized to support a variety of geographic
location, such as sites, rooms, buildings.</t>
      <t>A site represents a general geographic location to group a set of NEs
and corresponding inventory components. NEs, racks, equipment rooms,
and buildings can be grouped within a site.</t>
      <t>A room is a facility, a space for network elements and other
equipment (such as servers, storage) with power supply systems, air
conditioning system, etc.</t>
      <t>Locations can be nested to form a hierarchy. For example, buildings
may be within a site, and a room may be within a building.</t>
      <t>The "location-type" is defined as a YANG identity to identify the
type of an inventory location, which may be site, equipment room,
building, etc.</t>
      <figure anchor="fig-ni-location-tree">
        <name>YANG Subtree of Location</name>
        <artwork type="ascii-art"><![CDATA[
+--ro locations
   +--ro location* [id]
   |  +--ro id                   string
   |  +--ro uuid?                yang:uuid
   |  +--ro name?                string
   |  +--ro alias?               string
   |  +--ro description?         string
   |  +--ro type?                string
   |  +--ro parent?              -> ../../location/id
   |  +--ro timestamp?           yang:date-and-time
   |  +--ro valid-until?         yang:date-and-time
   |  +--ro physical-address
   |  |     ...
   |  +--ro geo-location
   |  |     ...
   |  +--ro contained-chassis* [chassis-id]
   |        ...
]]></artwork>
      </figure>
    </section>
    <section anchor="rack">
      <name>Rack</name>
      <t>"racks" represent physical equipment racks in which NEs can be
installed, which facilitate device maintenance. Through "rack-
location", each rack can be assigned to a site or a specific location
within a site, such as an equipment room.</t>
      <t>Each rack is assigned a unique ID and a name in the context of a
facility, e.g. a site. A rack may have some specific attributes,
such as appearance-related attributes and electricity-related
attributes. The height, depth and width are described by Figure 2
(please consider that the door of the rack is facing the user).</t>
      <t>Note: Further discussion is needed to decide whether to separate
"racks" from the list of "location".</t>
      <figure anchor="fig-rack">
        <name>Height, Width and Depth of Rack</name>
        <artwork type="ascii-art" align="center"><![CDATA[
                          ----------------      ---
                          /|              /|      |
                         / |             / |      |
                        /  |            /  |      |
                       ----|-----------|   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |    height
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   | Door    Q |   |      |
                       |   |         Q |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   /-----------|----     ---
                       |  /            |   /      /
                       | /             |  /      depth
                       |/              | /      /
                       -----------------      ---
                       |______width____|
                       |               |
]]></artwork>
      </figure>
      <t>The rack attributes include:</t>
      <figure anchor="tree">
        <name>YANG Subtree of Rack</name>
        <artwork type="ascii-art" align="center"><![CDATA[
 +--ro racks
    +--ro rack* [id]
       +--ro id                     string
       +--ro uuid?                  yang:uuid
       +--ro name?                  string
       +--ro alias?                 string
       +--ro description?           string
       +--ro rack-location
       |     ...
       +--ro height?                uint16
       +--ro width?                 uint16
       +--ro depth?                 uint16
       +--ro max-voltage?           uint16
       +--ro max-allocated-power?   uint16
       +--ro contained-chassis* [relative-position]
       |     ...
       +--ro timestamp?             yang:date-and-time
       +--ro valid-until?           yang:date-and-time
]]></artwork>
      </figure>
      <t>Max-voltage: the maximum voltage supported by the rack.</t>
    </section>
    <section anchor="sec-module">
      <name>Network Inventory Location Tree</name>
      <t><xref target="full-tree"/> provides an overview of the data model for "ietf-ni-location" module.</t>
      <figure anchor="full-tree">
        <name>Network Inventory Location Tree Structure</name>
        <artwork align="center"><![CDATA[
module: ietf-ni-location

  augment /nwi:network-inventory:
    +--ro locations
       +--ro location* [id]
       |  +--ro id                   string
       |  +--ro uuid?                yang:uuid
       |  +--ro name?                string
       |  +--ro alias?               string
       |  +--ro description?         string
       |  +--ro type?                string
       |  +--ro parent?              -> ../../location/id
       |  +--ro timestamp?           yang:date-and-time
       |  +--ro valid-until?         yang:date-and-time
       |  +--ro physical-address
       |  |  +--ro address?        string
       |  |  +--ro postal-code?    string
       |  |  +--ro state?          string
       |  |  +--ro city?           string
       |  |  +--ro country-code?   string
       |  +--ro geo-location
       |  |  +--ro reference-frame
       |  |  |  +--ro alternate-system?    string
       |  |  |  |       {alternate-systems}?
       |  |  |  +--ro astronomical-body?   string
       |  |  |  +--ro geodetic-system
       |  |  |     +--ro geodetic-datum?    string
       |  |  |     +--ro coord-accuracy?    decimal64
       |  |  |     +--ro height-accuracy?   decimal64
       |  |  +--ro (location)?
       |  |  |  +--:(ellipsoid)
       |  |  |  |  +--ro latitude?    decimal64
       |  |  |  |  +--ro longitude?   decimal64
       |  |  |  |  +--ro height?      decimal64
       |  |  |  +--:(cartesian)
       |  |  |     +--ro x?           decimal64
       |  |  |     +--ro y?           decimal64
       |  |  |     +--ro z?           decimal64
       |  |  +--ro velocity
       |  |  |  +--ro v-north?   decimal64
       |  |  |  +--ro v-east?    decimal64
       |  |  |  +--ro v-up?      decimal64
       |  |  +--ro timestamp?         yang:date-and-time
       |  |  +--ro valid-until?       yang:date-and-time
       |  +--ro contained-chassis* [chassis-id]
       |     +--ro chassis-id       uint32
       |     +--ro ne-ref?          leafref
       |     +--ro component-ref?   leafref
       +--ro racks
          +--ro rack* [id]
             +--ro id                     string
             +--ro uuid?                  yang:uuid
             +--ro name?                  string
             +--ro alias?                 string
             +--ro description?           string
             +--ro rack-location
             |  +--ro location-ref?    ni-location-ref
             |  +--ro row-number?      uint32
             |  +--ro column-number?   uint32
             +--ro height?                uint16
             +--ro width?                 uint16
             +--ro depth?                 uint16
             +--ro max-voltage?           uint16
             +--ro max-allocated-power?   uint16
             +--ro contained-chassis* [relative-position]
             |  +--ro relative-position    uint8
             |  +--ro ne-ref?              leafref
             |  +--ro component-ref?       leafref
             +--ro timestamp?             yang:date-and-time
             +--ro valid-until?           yang:date-and-time

]]></artwork>
      </figure>
    </section>
    <section anchor="yang-data-model-for-network-inventory-location">
      <name>YANG Data model for Network Inventory Location</name>
      <t>The "ietf-ni-location" module uses types defined in <xref target="RFC9179"/>, <xref target="I-D.ietf-ivy-network-inventory-yang"/>.</t>
      <sourcecode type="yang" markers="true" name="ietf-ni-location@2026-02-28.yang"><![CDATA[
module ietf-ni-location {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ni-location";
  prefix nil;

  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-network-inventory {
    prefix nwi;
    reference
      "RFCAAAA: A YANG Data Model for Network Inventory";
  }
  import ietf-geo-location {
    prefix geo;
    reference
      "RFC 9179: A YANG Grouping for Geographic Locations";
  }

  organization
    "IETF Network Inventory YANG (ivy) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/ivy>
     WG List:  <mailto:inventory-yang@ietf.org>

     Editor: Bo Wu
          <lana.wubo@huawei.com>
     Editor: Sergio Belotti
          <sergio.belotti@nokia.com>
     Editor: Jean-Francois Bouquier
          <jeff.bouquier@vodafone.com>
     Editor: Fabio Peruzzini
          <fabio.peruzzini@telecomitalia.it>
     Editor: Phil Bedard
          <phbedard@cisco.com>";
  description
    "This YANG module defines a model for Network Inventory
     location.

     Copyright (c) 2026 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 Revised 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; see
     the RFC itself for full legal notices.";

  revision 2026-02-28 {
    description
      "Initial version";
    reference
      "RFC XXXX: A YANG Data Model for Network Inventory location.";
    //RFC Editor: Please replace XXXX with actual RFC number,
    //update date information and remove this note
  }

  /* Identities */
  /* Typedef */

  typedef ni-location-ref {
    type leafref {
      path "/nwi:network-inventory/nil:locations/nil:location"
         + "/nil:id";
    }
    description
      "This type is used by data models that need to reference
       network inventory location.";
  }

  /* Grouping */

  grouping physical-address {
    description
      "Grouping for physical address information.";
    container physical-address {
      description
        "Top-level container for the physical address.";
      leaf address {
        type string;
        description
          "Specifies an address (number and street).";
      }
      leaf postal-code {
        type string;
        description
          "Specifies a postal code.";
      }
      leaf state {
        type string;
        description
          "Specifies a state. This leaf can also be
           used to describe a region for a country that
           does not have states.";
      }
      leaf city {
        type string;
        description
          "Specifies a city.";
      }
      leaf country-code {
        type string {
          pattern '[A-Z]{2}';
        }
        description
          "Specifies a country.
           Expressed as ISO ALPHA-2 code.";
      }
    }
  }

  grouping locations {
    description
      "Grouping for locations.";
    container locations {
      config false;
      description
        "Container for the location information.";
      list location {
        key "id";
        description
          "List of locations within the network.";
        leaf id {
          type string;
          description
            "An identifier of the location.";
        }
        uses nwi:basic-common-entity-attributes;
        leaf type {
          type string;
          description
            "The type of network inventory location, e.g.
             equipment room, building, or site.
             This allows operators to flexibly define custom location
             types (e.g., 'pole', 'roof', 'floor') based on their
             specific network scenarios without requiring model
             extensions. String-based types enable dynamic adaptation
             to heterogeneous organizational naming conventions.";
        }
        leaf parent {
          type leafref {
            path "../../location/id";
          }
          description
            "The identifier of the location that physically contains
             this location.";
        }
        leaf timestamp {
          type yang:date-and-time;
          description
            "Timestamp when the location was recorded.";
        }
        leaf valid-until {
          type yang:date-and-time;
          description
            "The timestamp for which this location is valid until.
             If unspecified, the location has no specific
             expiration time.";
        }
        uses physical-address;
        uses geo:geo-location;
        list contained-chassis {
          key "chassis-id";
          description
            "Chassis directly deployed in this location without rack.
             Also used for distributed chassis components that are
             logically part of a network element but physically
             located.";
          leaf chassis-id {
            type uint32;
            description
              "Unique identifier for this chassis instance in the
               location.";
          }
          leaf ne-ref {
            type leafref {
              path "/nwi:network-inventory/nwi:network-elements"
                 + "/nwi:network-element/nwi:ne-id";
            }
            description
              "Reference to the network element this chassis
               belongs to. Multiple chassis entries may reference
               the same ne-ref for distributed systems.";
          }
          leaf component-ref {
            type leafref {
              path
                "/nwi:network-inventory/nwi:network-elements"
              + "/nwi:network-element[nwi:ne-id=current()/../ne-ref]"
              + "/nwi:components/nwi:component/nwi:component-id";
            }
            description
              "Reference to the specific chassis within the
               network element.";
          }
        }
      }
      uses racks;
    }
  }

  grouping racks {
    description
      "Grouping for rack attributes.";
    container racks {
      description
        "Top-level container for the list of racks.";
      list rack {
        key "id";
        description
          "List of racks within the inventory (e.g., in an
           equipment room).";
        leaf id {
          type string;
          description
            "An identifier that uniquely identifies the rack.";
        }
        uses nwi:basic-common-entity-attributes;
        container rack-location {
          description
            "The location information of the rack, which comprises
             the location reference, row number, and column number.";
          leaf location-ref {
            type ni-location-ref;
            description
              "Reference to the location where this rack is placed.";
          }
          leaf row-number {
            type uint32;
            description
              "Identifies the row within the location where
               the rack is located.";
          }
          leaf column-number {
            type uint32;
            description
              "Identifies the column within the location where
               the rack is located.";
          }
        }
        leaf height {
          type uint16;
          units "millimeter";
          description
            "Rack height.";
        }
        leaf width {
          type uint16;
          units "millimeter";
          description
            "Rack width.";
        }
        leaf depth {
          type uint16;
          units "millimeter";
          description
            "Rack depth.";
        }
        leaf max-voltage {
          type uint16;
          units "volt";
          description
            "The maximum voltage supported by the rack.";
        }
        leaf max-allocated-power {
          type uint16;
          units "watts";
          description
            "The maximum allocated power for the rack.";
        }
        list contained-chassis {
          key "relative-position";
          description
            "The list of chassis within a rack.";
          leaf relative-position {
            type uint8;
            description
              "Relative position (e.g., U-slot) of chassis within
               the rack.";
          }
          leaf ne-ref {
            type leafref {
              path "/nwi:network-inventory/nwi:network-elements"
                 + "/nwi:network-element/nwi:ne-id";
            }
            description
              "Reference to the network element containing
               the chassis component.";
          }
          leaf component-ref {
            type leafref {
              path "/nwi:network-inventory/nwi:network-elements"
                 + "/nwi:network-element[nwi:ne-id=current()/.."
                 + "/ne-ref]/nwi:components/nwi:component"
                 + "/nwi:component-id";
            }
            description
              "The reference to the chassis component within
               the network element and contained by the rack.";
          }
        }
        leaf timestamp {
          type yang:date-and-time;
          description
            "Timestamp when the rack information was recorded.";
        }
        leaf valid-until {
          type yang:date-and-time;
          description
            "The timestamp for which this rack is valid until.
             If unspecified, the rack has no specific
             expiration time.";
        }
      }
    }
  }

  augment "/nwi:network-inventory" {
    description
      "Provides location information for network inventory.";
    uses locations;
  }
}

]]></sourcecode>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>This model serves as a complement to the base inventory, providing
 a read-only perspective of network inventory location information
 known to the controller. It reports the physical locations of network
 elements and components installed in the network, enabling queries
 for site, rack, and other location-related information associated
 with network elements and components.</t>
      <t>When used in brownfield scenarios, it is worth noting that existing
 deployments are based on proprietary inventory OSS solutions, and
 the migration path is highly dependent on the specific proprietary
 implementation.</t>
      <t>The model is designed based on the controller maintaining authoritative
 location data through automated tooling, while OSS systems consume
 this data as read-only operational state. Sources of controller location
 data may include RFID tooling, geolocation services, as well as manual
 entry via controller interfaces.</t>
      <t>As this data is read-only, the controller does not support OSS modification
 of controller location records.</t>
      <t>OSS systems and other management applications obtain location information
 via standard YANG retrieval operations (NETCONF, RESTCONF), such as
 querying network elements associated with a specific site or rack.</t>
      <t>In large-scale inventories containing numerous network elements and
 components, querying location associations can impose a load on the
 server. To optimize retrieval and avoid overwhelming the server, mechanisms
 such as RESTCONF or NETCONF pagination should be utilized for queries
 involving large result sets.</t>
      <t>Data quality is indicated through timestamps recording the last update
 time, as well as an optional expiration time for location validity.</t>
      <t>Before using a location for field dispatch or planning, verification
 is required to ensure at least one of physical-address or geo-location
 is present, and that the valid-until leaf is either not present or indicates
 a future time. Once the valid-until time has passed, the location MUST be
 considered stale and MUST NOT be used for operational purposes.</t>
      <t>A parallel "location-planning" container (read-write) may be introduced
 in future revisions to support intent-based configuration, where OSS provides
 planning-level location targets. This is outside the scope of the current document.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section uses the template described in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <t>The "ietf-ni-location" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>. These protocols have to
use a secure transport layer (e.g., SSH <xref target="RFC6242"/>, TLS <xref target="RFC8446"/>, and
QUIC <xref target="RFC9000"/>) and have to use mutual authentication.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in this YANG module that are
writable/creatable/deletable (i.e., config true, which is the
default). All writable data nodes are likely to be reasonably sensitive or vulnerable
in some network environments. Write operations (e.g., edit-config)
and delete operations to these data nodes without proper protection
or authentication can have a negative effect on network operations.
The following subtrees and data nodes have particular
sensitivities/vulnerabilities:</t>
      <t>'locations': The list may be used to track the set of network elements.</t>
      <t>Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or
notification) to these data nodes. Specifically, the following
subtrees and data nodes have particular sensitivities/vulnerabilities:</t>
      <t>Since this module identifies locations, authors using this module
SHOULD consider any privacy issues that may arise when the data
is readable (e.g., customer device locations, etc).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns" subregistry within
the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
URI:  urn:ietf:params:xml:ns:yang:ietf-ni-location
Registrant Contact:  The IESG.
XML:  N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG module in the "YANG Module
Names" subregistry <xref target="RFC6020"/> within the "YANG Parameters" registry.</t>
      <artwork><![CDATA[
Name:  ietf-ni-location
Maintained by IANA?  N
Namespace:  urn:ietf:params:xml:ns:yang:ietf-ni-location
Prefix:  nil
Reference:  RFC XXXX
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-ivy-network-inventory-yang">
          <front>
            <title>A Base YANG Data Model for Network Inventory</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Phil Bedard" initials="P." surname="Bedard">
              <organization>Cisco</organization>
            </author>
            <date day="5" month="February" year="2026"/>
            <abstract>
              <t>   This document defines a base YANG data model for reporting network
   inventory.  The scope of this base model is set to be application-
   and technology-agnostic.  The base data model can be augmented with
   application- and technology-specific details.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-yang-14"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC9179">
          <front>
            <title>A YANG Grouping for Geographic Locations</title>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document defines a generic geographical location YANG grouping. The geographical location grouping is intended to be used in YANG data models for specifying a location on or in reference to Earth or any other astronomical object.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9179"/>
          <seriesInfo name="DOI" value="10.17487/RFC9179"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="5" month="June" year="2025"/>
            <abstract>
              <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF Protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-network-inventory-yang">
          <front>
            <title>A YANG Data Model for Network Hardware Inventory</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>TIM</organization>
            </author>
            <author fullname="Phil Bedard" initials="P." surname="Bedard">
              <organization>Cisco</organization>
            </author>
            <date day="9" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a YANG data model for network hardware
   inventory data information.

   The YANG data model presented in this document is intended to be used
   as the basis toward a generic YANG data model for network hardware
   inventory data information which can be augmented, when required,
   with technology-specific (e.g., optical) inventory data, to be
   defined either in a future version of this document or in another
   document.

   The YANG data model defined in this document conforms to the Network
   Management Datastore Architecture (NMDA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-network-inventory-yang-02"/>
        </reference>
      </references>
    </references>
    <?line 773?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section provides example usages of the Network Inventory Location
 model for two common deployment scenarios: a non-rack-mounted Access Point
 and a distributed multi-chassis network element.</t>
      <section anchor="non-rack-deployment-access-point">
        <name>Non-Rack Deployment: Access Point</name>
        <t>This example illustrates a typical edge deployment scenario where a Wi-Fi
 Access Point (AP) is mounted directly to a ceiling without a rack enclosure.</t>
        <t>The location hierarchy is as follows:</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="112" width="432" viewBox="0 0 432 112" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <g class="text">
                <text x="24" y="36">Site:</text>
                <text x="136" y="36">Foo-Enterprise-Campus</text>
                <text x="16" y="52">└──</text>
                <text x="72" y="52">Building:</text>
                <text x="156" y="52">Building-A</text>
                <text x="48" y="68">└──</text>
                <text x="92" y="68">Floor:</text>
                <text x="152" y="68">Floor-2</text>
                <text x="80" y="84">└──</text>
                <text x="120" y="84">Room:</text>
                <text x="200" y="84">Corridor-East</text>
                <text x="296" y="84">(corridor</text>
                <text x="360" y="84">area)</text>
                <text x="112" y="100">└──</text>
                <text x="140" y="100">AP</text>
                <text x="188" y="100">directly</text>
                <text x="288" y="100">ceiling-mounted</text>
                <text x="368" y="100">(no</text>
                <text x="408" y="100">rack)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
Site: Foo-Enterprise-Campus
└── Building: Building-A
    └── Floor: Floor-2
        └── Room: Corridor-East (corridor area)
            └── AP directly ceiling-mounted (no rack)
]]></artwork>
        </artset>
        <t>The following shows the location data instance:</t>
        <artwork type="ascii-art"><![CDATA[
{
  "ietf-ni-location:locations": {
    "location": [
      {
        "id": "Foo-Enterprise-Campus",
        "uuid": "550e8400-e29b-41d4-a716-446655440000",
        "name": "Foo Enterprise Campus",
        "type": "site",
        "timestamp": "2026-01-15T08:30:00Z"
      },
      {
        "id": "Building-A",
        "uuid": "550e8400-e29b-41d4-a716-446655440001",
        "name": "Building A",
        "type": "building",
        "parent": "Foo-Enterprise-Campus",
        "timestamp": "2026-01-15T08:30:00Z"
      },
      {
        "id": "Floor-2",
        "uuid": "550e8400-e29b-41d4-a716-446655440002",
        "name": "Floor 2",
        "type": "floor",
        "parent": "Building-A",
        "timestamp": "2026-01-15T08:30:00Z"
      },
      {
        "id": "Corridor-East",
        "uuid": "550e8400-e29b-41d4-a716-446655440003",
        "name": "East Corridor",
        "alias": "Corridor-2F-East",
        "description": "East corridor on Floor 2, AP deployment area",
        "type": "corridor",
        "parent": "Floor-2",
        "timestamp": "2026-01-15T08:30:00Z",
        "valid-until": "2030-12-31T23:59:59Z",
        "physical-address": {
          "address": "123 Foo Street, Floor 2 East Corridor",
          "postal-code": "12345",
          "state": "Foo-State",
          "city": "Foo-City",
          "country-code": "ZZ"
        },
        "geo-location": {
          "reference-frame": {
            "astronomical-body": "earth",
            "geodetic-system": {
              "geodetic-datum": "WGS-84",
              "coord-accuracy": 5.0,
              "height-accuracy": 10.0
            }
          },
          "ellipsoid": {
            "latitude": 40.7128,
            "longitude": -74.0060,
            "height": 15.0
          },
          "velocity": {
            "v-north": 0.0,
            "v-east": 0.0,
            "v-up": 0.0
          },
          "timestamp": "2026-01-15T08:30:00Z",
          "valid-until": "2030-12-31T23:59:59Z"
        },
        "contained-chassis": [
          {
            "chassis-id": 1,
            "ne-ref": "AP-Corridor-East-01",
            "component-ref": "chassis-1"
          }
        ]
      }
    ],
    "racks": []
  }
}
]]></artwork>
      </section>
      <section anchor="distributed-multi-chassis-network-element">
        <name>Distributed Multi-Chassis Network Element</name>
        <t>This example illustrates a distributed deployment where a single
 logical network element (NE-1, a stack switch) spans multiple
 physical locations. The three chassis of the stack switch
 are located in separate telecommunications rooms on different
 floors, interconnected via stacking cables.
The location hierarchy is as follows:</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="408" viewBox="0 0 408 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <g class="text">
                <text x="24" y="36">Site:</text>
                <text x="76" y="36">Foo-DC</text>
                <text x="16" y="52">├──</text>
                <text x="72" y="52">Location:</text>
                <text x="148" y="52">Room-101</text>
                <text x="212" y="52">(First</text>
                <text x="264" y="52">Floor</text>
                <text x="320" y="52">Telecom</text>
                <text x="376" y="52">Room)</text>
                <text x="8" y="68">│</text>
                <text x="48" y="68">└──</text>
                <text x="88" y="68">Rack:</text>
                <text x="156" y="68">Rack-101-A</text>
                <text x="8" y="84">│</text>
                <text x="80" y="84">└──</text>
                <text x="116" y="84">U10:</text>
                <text x="156" y="84">NE-1</text>
                <text x="216" y="84">chassis-1</text>
                <text x="288" y="84">(Master</text>
                <text x="352" y="84">switch)</text>
                <text x="8" y="100">│</text>
                <text x="16" y="116">├──</text>
                <text x="72" y="116">Location:</text>
                <text x="148" y="116">Room-201</text>
                <text x="216" y="116">(Second</text>
                <text x="272" y="116">Floor</text>
                <text x="328" y="116">Telecom</text>
                <text x="384" y="116">Room)</text>
                <text x="8" y="132">│</text>
                <text x="48" y="132">└──</text>
                <text x="88" y="132">Rack:</text>
                <text x="156" y="132">Rack-201-B</text>
                <text x="8" y="148">│</text>
                <text x="80" y="148">└──</text>
                <text x="116" y="148">U15:</text>
                <text x="156" y="148">NE-1</text>
                <text x="216" y="148">chassis-2</text>
                <text x="284" y="148">(Stack</text>
                <text x="344" y="148">member)</text>
                <text x="8" y="164">│</text>
                <text x="16" y="180">└──</text>
                <text x="72" y="180">Location:</text>
                <text x="148" y="180">Room-301</text>
                <text x="212" y="180">(Third</text>
                <text x="264" y="180">Floor</text>
                <text x="320" y="180">Telecom</text>
                <text x="376" y="180">Room)</text>
                <text x="48" y="196">└──</text>
                <text x="88" y="196">Rack:</text>
                <text x="156" y="196">Rack-301-C</text>
                <text x="80" y="212">└──</text>
                <text x="116" y="212">U20:</text>
                <text x="156" y="212">NE-1</text>
                <text x="216" y="212">chassis-3</text>
                <text x="284" y="212">(Stack</text>
                <text x="344" y="212">member)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
Site: Foo-DC
├── Location: Room-101 (First Floor Telecom Room)
│   └── Rack: Rack-101-A
│       └── U10: NE-1 chassis-1 (Master switch)
│
├── Location: Room-201 (Second Floor Telecom Room)
│   └── Rack: Rack-201-B
│       └── U15: NE-1 chassis-2 (Stack member)
│
└── Location: Room-301 (Third Floor Telecom Room)
    └── Rack: Rack-301-C
        └── U20: NE-1 chassis-3 (Stack member)
]]></artwork>
        </artset>
        <t>The following shows the location data instance:</t>
        <artwork type="ascii-art"><![CDATA[
{
  "ietf-ni-location:locations": {
    "location": [
      {
        "id": "Foo-DC",
        "name": "Foo Data Center",
        "type": "site",
        "timestamp": "2026-01-15T08:00:00Z"
      },
      {
        "id": "Room-101",
        "name": "First Floor Telecom Room",
        "type": "room",
        "parent": "Foo-DC",
        "timestamp": "2026-01-15T08:00:00Z",
        "contained-chassis": []
      },
      {
        "id": "Room-201",
        "name": "Second Floor Telecom Room",
        "type": "room",
        "parent": "Foo-DC",
        "timestamp": "2026-01-15T08:00:00Z",
        "contained-chassis": []
      },
      {
        "id": "Room-301",
        "name": "Third Floor Telecom Room",
        "type": "room",
        "parent": "Foo-DC",
        "timestamp": "2026-01-15T08:00:00Z",
        "contained-chassis": []
      }
    ],
    "racks": {
      "rack": [
        {
          "id": "Rack-101-A",
          "uuid": "660e8400-e29b-41d4-a716-446655440010",
          "name": "Rack A Room 101",
          "rack-location": {
            "location-ref": "Room-101",
            "row-number": 1,
            "column-number": 1
          },
          "height": 2200,
          "width": 600,
          "depth": 1200,
          "max-voltage": 240,
          "max-allocated-power": 8000,
          "contained-chassis": [
            {
              "relative-position": 10,
              "ne-ref": "NE-1",
              "component-ref": "chassis-1"
            }
          ],
          "timestamp": "2026-01-15T10:00:00Z",
          "valid-until": "2028-01-15T10:00:00Z"
        },
        {
          "id": "Rack-201-B",
          "uuid": "660e8400-e29b-41d4-a716-446655440011",
          "name": "Rack B Room 201",
          "rack-location": {
            "location-ref": "Room-201",
            "row-number": 2,
            "column-number": 1
          },
          "height": 2200,
          "width": 600,
          "depth": 1200,
          "max-voltage": 240,
          "max-allocated-power": 8000,
          "contained-chassis": [
            {
              "relative-position": 15,
              "ne-ref": "NE-1",
              "component-ref": "chassis-2"
            }
          ],
          "timestamp": "2026-01-15T10:00:00Z",
          "valid-until": "2028-01-15T10:00:00Z"
        },
        {
          "id": "Rack-301-C",
          "uuid": "660e8400-e29b-41d4-a716-446655440012",
          "name": "Rack C Room 301",
          "rack-location": {
            "location-ref": "Room-301",
            "row-number": 3,
            "column-number": 1
          },
          "height": 2200,
          "width": 600,
          "depth": 1200,
          "max-voltage": 240,
          "max-allocated-power": 8000,
          "contained-chassis": [
            {
              "relative-position": 20,
              "ne-ref": "NE-1",
              "component-ref": "chassis-3"
            }
          ],
          "timestamp": "2026-01-15T10:00:00Z",
          "valid-until": "2028-01-15T10:00:00Z"
        }
      ]
    }
  }
}

]]></artwork>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the authors and contributors of
<xref target="I-D.ietf-ccamp-network-inventory-yang"/> to trigger this work.
During the discussion of base Network Inventory (NI) model, it is agreed
that the definition of the equipment room and rack can be a separate
location model and support manual configuration, while the NI model
aggregates the inventory data of the Network Elements (NEs) on the
network. Usually the information about sites or equipment rooms is
not detectable by network controller and configured manually.</t>
      <t>The authors wish to thank Mohamed Boucadair and many others for their helpful comments and suggestions.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Chaode Yu">
        <organization>Huawei</organization>
        <address>
          <email>yuchaode@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
