Addition of common model.

Change-Id: If5fd6bae01a59ebf9d27f8369ac3403c83f70fad
diff --git a/models/common/src/main/yang/ietf-complex-types@2011-03-15.yang b/models/common/src/main/yang/ietf-complex-types@2011-03-15.yang
new file mode 100644
index 0000000..dd967ba
--- /dev/null
+++ b/models/common/src/main/yang/ietf-complex-types@2011-03-15.yang
@@ -0,0 +1,91 @@
+module ietf-complex-types {
+
+   namespace "urn:ietf:params:xml:ns:yang:ietf-complex-types";
+   prefix "ct";
+
+   organization
+     "NETMOD WG";
+
+   contact
+     "Editor:  Bernd Linowski
+               <bernd.linowski.ext@nsn.com>
+      Editor:  Mehmet Ersue
+               <mehmet.ersue@nsn.com>
+      Editor:  Siarhei Kuryla
+               <s.kuryla@gmail.com>";
+
+   description
+      "YANG extensions for complex types and typed instance
+      identifiers.
+
+      Copyright (c) 2011 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 Simplified BSD License
+      set forth in Section 4.c of the IETF Trust's Legal Provisions
+      Relating to IETF Documents
+      (http://trustee.ietf.org/license-info).
+
+      This version of this YANG module is part of RFC 6095; see
+      the RFC itself for full legal notices.";
+
+       revision 2011-03-15 {
+           description "Initial revision.";
+       }
+
+        extension complex-type {
+            description "Defines a complex-type.";
+            reference "Section 2.2, complex-type Extension Statement";
+            argument type-identifier {
+                yin-element true;
+            }
+        }
+
+        extension extends {
+            description "Defines the base type of a complex-type.";
+            reference "Section 2.5, extends Extension Statement";
+            argument base-type-identifier {
+                yin-element true;
+            }
+        }
+        extension abstract {
+            description "Makes the complex-type abstract.";
+            reference "Section 2.6, abstract Extension Statement";
+            argument status;
+        }
+
+        extension instance {
+            description "Declares an instance of the given
+                 complex type.";
+            reference "Section 2.3, instance Extension Statement";
+            argument ct-instance-identifier {
+                yin-element true;
+            }
+        }
+
+        extension instance-list {
+            description "Declares a list of instances of the given
+                 complex type";
+            reference "Section 2.4, instance-list Extension Statement";
+            argument ct-instance-identifier {
+                yin-element true;
+            }
+        }
+
+        extension instance-type {
+            description "Tells to which type instance the instance
+                         identifier refers.";
+            reference "Section 3.2, instance-type Extension Statement";
+            argument target-type-identifier {
+                yin-element true;
+            }
+        }
+
+        feature complex-types {
+            description "Indicates that the server supports
+                         complex types and instance identifiers.";
+        }
+
+   }