diff --git a/config-models/aether-2.0.x/files/yang/onf-site.yang b/config-models/aether-2.0.x/files/yang/onf-site.yang
new file mode 100755
index 0000000..b5f22c4
--- /dev/null
+++ b/config-models/aether-2.0.x/files/yang/onf-site.yang
@@ -0,0 +1,172 @@
+// SPDX-FileCopyrightText: 2021 Open Networking Foundation
+//
+// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+module onf-site {
+  namespace "http://opennetworking.org/aether/site";
+  prefix st;
+
+  import ietf-inet-types { prefix inet; }
+  import ietf-yang-types{ prefix yg; }
+  import onf-aether-types{ prefix at; }
+  import onf-enterprise{ prefix ent; }
+
+  organization "Open Networking Foundation.";
+  contact "Scott Baker";
+  description
+    "An Aether site is a location where resources are deployed.";
+
+  revision "2021-09-10" {
+    description "An Aether Site.";
+    reference "RFC 6087";
+  }
+
+  typedef site-id {
+        type yg:yang-identifier {
+            length 1..32;
+        }
+    description "The typedef for site-id";
+  }
+
+  container site {
+    description "The top level container";
+
+    list site {
+      key "id";
+      description
+        "List of site";
+
+      leaf id {
+        type site-id;
+        description "ID for this site.";
+      }
+
+      leaf display-name {
+        type string {
+            length 1..80;
+        }
+        description "display name to use in GUI or CLI";
+      }
+
+      list small-cell {
+        key "small-cell-id";
+        leaf small-cell-id {
+          type yg:yang-identifier;
+          description
+            "Id of small cell";
+        }
+        leaf address {
+          type inet:host;
+          description
+            "Address of small cell";
+        }
+        leaf tac {
+          type at:tac;
+          mandatory true;
+          description
+              "Type Allocation Code";
+        }
+        leaf enable {
+          type boolean;
+          default true;
+          description
+            "Enable this small cell";
+        }
+        leaf display-name {
+          type string {
+              length 1..80;
+          }
+          description "display name to use in GUI or CLI";
+        }
+        description
+          "List of small cell addresses";
+      }
+
+      container monitoring {
+        leaf edge-cluster-prometheus-url {
+          type inet:uri;
+          description
+            "URL of edge cluster prometheus";
+        }
+        leaf edge-monitoring-prometheus-url {
+          type inet:uri;
+          description
+            "URL of monitoring prometheus";
+        }
+        list edge-device {
+          key "edge-device-id";
+          leaf edge-device-id {
+            type yg:yang-identifier;
+            description
+              "Id of edge monitoring device";
+          }
+          leaf display-name {
+            type string {
+                length 1..80;
+            }
+            description "display name to use in GUI or CLI";
+          }
+          leaf description {
+            type at:description;
+            description "description of this site";
+          }
+          description
+            "List of edge monitoring devices";
+        }
+        description
+            "container for monitoring";
+      }
+
+      leaf enterprise {
+        type leafref {
+          path "/ent:enterprise/ent:enterprise/ent:id";
+        }
+        mandatory true;
+        description
+          "Link to enterprise that owns this site";
+      }
+
+      container imsi-definition {
+        leaf mcc {
+          type at:mcc;
+          mandatory true;
+          description "mobile country code";
+        }
+        leaf mnc {
+          type at:mnc;
+          mandatory true;
+          description "mobile network code";
+        }
+        leaf enterprise {
+          type at:ent;
+          mandatory true;
+          description "enterprise-specific identifier";
+        }
+        leaf format {
+          type string {
+            length 15;
+          }
+          mandatory true;
+          description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
+          // Format specifiers:
+          //   C = MCC
+          //   N = MNC
+          //   E = Enterprise
+          //   0 = Forced Zero
+          //   S = Subscriber ID
+          // default is
+          //   3 digit MCC
+          //   3 digit MNC
+          //   3 digit enterprise ID
+          //   5 digit subscriber ID
+        }
+        description "container for imsi-defination";
+      }
+
+      leaf description {
+        type at:description;
+        description "description of this site";
+      }
+    }
+  }
+}
