Adding OpenConfig YANG models.

Change-Id: I0a2fdd5826e80933cf4b9ae939ff3051acec02aa
diff --git a/models/openconfig/src/main/yang/isis/openconfig-isis-policy.yang b/models/openconfig/src/main/yang/isis/openconfig-isis-policy.yang
new file mode 100644
index 0000000..3d5de82
--- /dev/null
+++ b/models/openconfig/src/main/yang/isis/openconfig-isis-policy.yang
@@ -0,0 +1,180 @@
+module openconfig-isis-policy {
+
+  yang-version "1";
+
+  // namespace
+  namespace "http://openconfig.net/yang/openconfig-isis-policy";
+
+  prefix "oc-isis-pol";
+
+  // import some basic types
+  import openconfig-routing-policy {prefix rpol; }
+  import openconfig-extensions { prefix oc-ext; }
+  import openconfig-isis-types { prefix isis-types; }
+
+
+  // meta
+  organization
+    "OpenConfig working group";
+
+  contact
+    "OpenConfig working group
+    www.openconfig.net ";
+
+  description
+    "This module contains data definitions for ISIS routing policy.
+    It augments the base routing-policy module with BGP-specific
+    options for conditions and actions.";
+
+  oc-ext:openconfig-version "0.3.2";
+
+  revision "2017-07-26" {
+    description
+      "Update LSDB and fix bugs.";
+    reference "0.3.2";
+  }
+
+  revision "2017-05-15" {
+    description
+      "Refactor LSDB.";
+    reference "0.3.0";
+  }
+
+  revision "2017-01-13" {
+    description
+      "Remove top-level /isis container";
+    reference "0.2.1";
+  }
+
+  revision "2016-12-15" {
+    description
+      "Add segment routing to IS-IS module";
+    reference "0.2.0";
+  }
+
+  revision "2016-10-18" {
+    description
+      "Initial revision of IS-IS models.";
+    reference "0.1.0";
+  }
+
+  // extension statements
+
+  // feature statements
+
+  // identity statements
+
+  // typedef statements
+
+  // grouping statements
+
+   grouping isis-match-conditions {
+    description
+      "Criteria used to match IS-IS routes within the policy";
+
+    container isis-conditions {
+      description
+        "Match conditions relating to the IS-IS protocol";
+
+      container config {
+        description
+          "Configuration parameters relating to IS-IS match
+          conditions";
+
+        uses isis-match-conditions-config;
+      }
+
+      container state {
+        config false;
+        description
+          "Operational state parameters relating to IS-IS match
+          conditions";
+        uses isis-match-conditions-config;
+      }
+    }
+  }
+
+  grouping isis-match-conditions-config {
+    description
+      "Match conditions for IS-IS";
+
+    leaf level-eq {
+      type isis-types:level-number;
+      description
+        "Match the level that the IS-IS prefix is within. This can
+        be used in the case that import or export policies refer
+        to an IS-IS instance that has multiple levels configured
+        within it";
+    }
+  }
+
+  grouping isis-actions {
+    description
+      "Actions supplied by the IS-IS protocol to be set on a
+      route within the policy";
+
+    container isis-actions {
+      description
+        "Actions that can be performed by IS-IS within a policy";
+
+      container config {
+        description
+          "Configuration parameters relating to IS-IS actions";
+
+        uses isis-actions-config;
+      }
+
+      container state {
+        config false;
+        description
+          "Operational state associated with IS-IS actions";
+
+        uses isis-actions-config;
+      }
+    }
+  }
+
+  grouping isis-actions-config {
+    description
+      "Actions for IS-IS";
+
+    leaf set-level {
+      type isis-types:level-number;
+      description
+        "Set the level that a prefix is to be imported into.";
+    }
+
+    leaf set-metric-type {
+      type isis-types:level-number;
+      description
+        "Set the type of metric that is to be specified when the
+        set metric leaf is specified";
+    }
+
+    leaf set-metric {
+      type isis-types:wide-metric;
+      description
+        "Set the metric of the IS-IS prefix";
+    }
+  }
+
+  // augment statements
+ augment "/rpol:routing-policy/rpol:policy-definitions/" +
+    "rpol:policy-definition/rpol:statements/rpol:statement/" +
+    "rpol:actions" {
+    description "This augments igp-actions with ISIS conditions";
+    uses isis-actions;
+
+  }
+
+  augment "/rpol:routing-policy/rpol:policy-definitions/" +
+    "rpol:policy-definition/rpol:statements/rpol:statement/" +
+    "rpol:conditions" {
+    description "This augments igp-conditions with ISIS conditions";
+    uses isis-match-conditions;
+  }
+
+  // rpc statements
+
+  // notification statements
+}