привязать файл зоны внутри cfengine

У меня есть несколько файлов зон, которые используют специфичную для привязки директиву $GENERATE, подобную этой

$GENERATE 50-100 srv-${-50,3,d}  A 10.34.38.$

Теперь, когда я добавляю это в cfengine, он пытается расширить ${...} и выдает ошибку. Я могу экранировать этот ${ с помощью \${, и это проходит cfengine, но тогда я не могу использовать named-checkzone (директива cfengine LITERAL также приведет к сбою named-checkzone, поскольку она добавляет @@LITERAL в файл зоны). Одним из вариантов было бы расширить $GENERATE до отдельных строк. Есть ли у меня другой вариант?


person j4v4m4n    schedule 28.07.2011    source источник


Ответы (1)


Это CFEngine 2 или CFEngine 3?

Если это CFEngine 3, поможет ли вам использовать для этого встроенную переменную const.dollar?

Рассмотрим следующий пример:

body common control {
    bundlesequence => { "test"};
}

bundle agent test {
    reports:
        linux::
            "$GENERATE 50-100 srv-$(const.dollar){-50,3,d}  A 10.34.38.$";
}

Это выводит cf-agent следующее:

# /var/cfengine/bin/cf-agent -K -f /tmp/test.cf 
R: $GENERATE 50-100 srv-${-50,3,d}  A 10.34.38.$

Вы пытаетесь достичь чего-то подобного?

person jonhenrik    schedule 10.08.2011