Вы можете импортировать другие модули в свои собственные модули, используя оператор import
. Это описано как в RFC 7950 для YANG 1.1, так и в RFC 6020 для YANG 1.0. В YANG 1.1 вы можете импортировать две разные версии одного и того же модуля. В остальном оператор import
работает одинаково в обеих версиях.
На практике базовый импорт выглядит так:
module acme-system {
namespace "http://acme.example.com/system";
prefix "acme";
import ietf-yang-types {
prefix "yang";
revision-date 2013-07-15;
}
leaf acme-ip-address {
type yang:dotted-quad;
}
}
Если вы опустите необязательный оператор revision-date
, будет импортирована неопределенная версия модуля. Так что, в целом, это хорошая практика, чтобы использовать его.
Обязательный оператор prefix
позволяет вам ссылаться на вещи в импортированном модуле. В примере префикс импортированного модуля ietf-yang-types
равен yang
, и благодаря этому ясно, что yang:dotted-quad
относится к типу из этого модуля. В вашем случае вы установили префикс ospf
, поэтому у вас должно быть ospf:area-id-type
для ссылки на определение типа из этого модуля. Если вы импортируете несколько модулей, вам необходимо убедиться, что их префиксы уникальны.
Кроме того, вы импортируете самую старую доступную версию модуля ietf-ospf
. Я просто надеюсь, что это то, что вы действительно хотите сделать.
В любом случае, после импорта модуля вы можете:
используйте любые grouping
и typedef
, определенные на верхнем уровне импортированного модуля или его подмодулей.
используйте любые extension
, feature
и identity
, определенные в импортированном модуле или его подмодулях.
использовать любой узел в дереве схемы импортированного модуля в операторах must
, path
и when
или в качестве целевого узла в операторах augment
и deviation
.
В приведенном выше примере typedef dotted-quad
из ietf-yang-types
используется в модуле acme-system
.
person
Piotr Babij
schedule
03.12.2016
What do I need to change?
Вам не хватает точки с запятой (;
) в оператореrevision-date
. Синтаксический анализатор инструмента, который вы используете, немного запутался из-за этого, выдавая вам эти не описательные сообщения об ошибках. Кроме того, вы все еще используете неправильныйprefix
для ссылки на тип из импортированного модуля. - person predi   schedule 05.12.2016