|
@@ -535,6 +535,76 @@ test
|
|
|
```
|
|
|
|
|
|
|
|
|
+### Настройка `DefaultKeys`
|
|
|
+
|
|
|
+По стандарту YANG все ключи списка являются обязательными. Значения
|
|
|
+по умолчанию (директива `default`) для ключей игнорируются. Однако, если у списка
|
|
|
+много ключей, то может быть удобно некоторые из них опускать при вводе. Чтобы
|
|
|
+использовать такое поведение, нужно указать настройку `DefaultKeys = y`. Эта
|
|
|
+настройка действует совместно с YANG-расширением `klish:default`, определенным в
|
|
|
+файле `klish.yang`. Если в YANG файле с помощью расширения `klish:default`
|
|
|
+указано значение по умолчанию для ключа, то в случае, если администратор не ввел
|
|
|
+значение этого ключа явно, то ключу сопоставляется значение по умолчанию.
|
|
|
+
|
|
|
+Обратите внимание, что расширение не нарушает стандарт YANG, относительно того,
|
|
|
+что обязательно должны быть введены все ключи. Так как значения по умолчанию
|
|
|
+используются только на этапе формирования запроса, внутри плугина. YANG запрос
|
|
|
+содержит все ключи.
|
|
|
+
|
|
|
+> Если используется настройка `FirstKeyWithStatement = n`, и при этом первый
|
|
|
+> ключ имеет значение по умолчанию, то настройка перестает работать и ключ
|
|
|
+> должен быть введен с указанием имени ключа, как и все последующие ключи.
|
|
|
+
|
|
|
+> Настройка `DefaultKeys` игнорируется в случае, если `KeysWithStatements = n`.
|
|
|
+
|
|
|
+Пример YANG файла с использованием ключей по умолчанию:
|
|
|
+
|
|
|
+```
|
|
|
+...
|
|
|
+import klish { prefix "klish"; }
|
|
|
+...
|
|
|
+list list {
|
|
|
+ key "key1 key2 key3";
|
|
|
+ leaf key1 {
|
|
|
+ description "First key";
|
|
|
+ type string;
|
|
|
+ klish:default "def1";
|
|
|
+ }
|
|
|
+ leaf key2 {
|
|
|
+ description "Second key";
|
|
|
+ type string;
|
|
|
+ klish:default "def2";
|
|
|
+ }
|
|
|
+ leaf key3 {
|
|
|
+ description "Third key";
|
|
|
+ type string;
|
|
|
+ }
|
|
|
+ leaf el1 {
|
|
|
+ description "First el";
|
|
|
+ type string;
|
|
|
+ default "el1-def";
|
|
|
+ }
|
|
|
+ leaf el2 {
|
|
|
+ description "Second el";
|
|
|
+ type string;
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+Администратор может ввести следующую команду, опустив ключи `key1` и `key2`,
|
|
|
+т.к. они имеют значения по умолчанию:
|
|
|
+
|
|
|
+```
|
|
|
+# set list key3 nnn el1 mmm
|
|
|
+# show
|
|
|
+...
|
|
|
+list key1 def1 key2 def2 key3 nnn {
|
|
|
+ el1 mmm
|
|
|
+}
|
|
|
+...
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
### Настройка `HidePasswords`
|
|
|
|
|
|
Если в конфигурации хранятся пароли или хэши паролей, то такую информацию
|