diff --git a/config-models/aether-2.2.x/files/yang/service-rule.yang b/config-models/aether-2.2.x/files/yang/service-rule.yang
new file mode 100755
index 0000000..5dce127
--- /dev/null
+++ b/config-models/aether-2.2.x/files/yang/service-rule.yang
@@ -0,0 +1,168 @@
+// SPDX-FileCopyrightText: 2021 Open Networking Foundation
+//
+// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+module service-rule {
+  namespace "http://opennetworking.org/aether/service-rule";
+  prefix sr;
+
+  organization "Open Networking Foundation.";
+  contact "Scott Baker";
+  description "To generate JSON from this use command
+    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
+    Copied from YangUIComponents project";
+
+  revision "2021-03-04" {
+    description "An Aether Service Rule";
+    reference "RFC 6087";
+  }
+
+  typedef service-rule-id {
+        type string {
+            length 1..32;
+        }
+  }
+
+  container service-rule {
+    description "The top level container";
+
+    list service-rule {
+      key "id";
+      description
+        "List of service rules";
+
+      leaf id {
+        type service-rule-id;
+        description "ID for this service.";
+      }
+
+      leaf display-name {
+        type string {
+            length 1..80;
+        }
+        description "display name to use in GUI or CLI";
+      }
+
+      leaf charging-rule-name {
+        type string {
+            length 1..80;
+        }
+        description "name of charging rule";
+      }
+
+      container qos {
+        leaf qci {
+          type uint32 {
+            range 0..85;
+          }
+          default 9;
+          description
+            "QoS Class Identifier";
+        }
+
+        container arp {
+          leaf priority {
+            type uint32 {
+              range 0..15;
+            }          
+            default 0;
+            description
+              "Priority";
+          }        
+          leaf preemption-capability {
+            type boolean;
+            default true;
+            description
+              "True if a bearer with lower priority should be dropped";
+          }
+          leaf preemption-vulnerability {
+            type boolean;
+            default true;
+            description
+              "This bearer may be dropped for a bearer with higher priority";
+          }
+          description "Evolved-ARP";
+        }
+
+        container maximum-requested-bandwidth {
+          leaf uplink {
+            type uint32 {
+              range 0..4294967295;
+            }
+            default 0;
+            units bps;
+            description
+              "Upstream maximum requested bandwidth";
+          }
+          leaf downlink {
+            type uint32 {
+              range 0..4294967295;
+            }
+            default 0;
+            units bps;
+            description
+              "Downstream maximum requested bandwidth";
+          }        
+        }
+
+        container guaranteed-bitrate {
+          leaf uplink {
+            type uint32 {
+              range 0..4294967295;
+            }
+            default 0;
+            units bps;
+            description
+              "Upstream guaranteed bitrate";
+          }
+          leaf downlink {
+            type uint32 {
+              range 0..4294967295;
+            }
+            default 0;
+            units bps;
+            description
+              "Downstream guaranteed bitrate";
+          }        
+        }
+
+        container aggregate-maximum-bitrate {
+          leaf uplink {
+            type uint32 {
+              range 0..4294967295;
+            }
+            default 0;
+            units bps;
+            description
+              "Upstream aggregate maximum bitrate";
+          }
+          leaf downlink {
+            type uint32 {
+              range 0..4294967295;
+            }
+            default 0;
+            units bps;
+            description
+              "Downstream aggregate maximum bitrate";
+          }        
+        }
+      }
+  
+      container flow {
+        leaf specification {
+          type string {
+            length 1..1024;
+          }
+          description "specification of this flow";
+        }
+      }
+
+      leaf description {
+        type string {
+          length 1..100;
+        }
+        description "description of this rule";
+      }      
+    }
+  } 
+}
