Получите доступ к марионеточной переменной класса динамично

Конечно, это не лучший подход, но ищите осиротевший DC в AD Сайтах и Сервисах. Если Вы находите, что это там затем удаляет, это - компонент Настроек NTDS, то удалите сервер, то удалите Сайт и Подсеть для осиротевшего домена (если сайт и подсеть не допустимы для остающегося родительского домена), то удалите домен из AD Доменов и Трестов. Вы будете волновать с некоторой очисткой DNS, чтобы сделать более, чем вероятный и, возможно, должны сделать некоторую очистку с ADSIEdit также.

1
задан 6 January 2013 в 07:37
1 ответ

Я нашел неприятное решение. Я надеюсь, что кто-то может предложить мне лучшую альтернативу.

Используя inline_template с scope.lookupvar , вы можете ссылаться на динамическую переменную:

inline_template("<%= scope.lookupvar('$namespace::hello::${dynamic}') %>")

Обновление

Из-за сложность решения, я просто сделал хак поверх этого хака. Я создал специальную функцию, которая выполняет эту функцию одним лайнером:

module Puppet::Parser::Functions
  newfunction(:config, :type => :rvalue) do |arguments|

    if arguments.size != 2
      raise(Puppet::ParseError, "config(): 2 args required)")
    end

    env = arguments[0]
    var = arguments[1]

    lookupvar("::company::env::#{env}::#{var}")
  end
end

И в вашем .pp :

$dns_server = config("production", "dns_server")
2
ответ дан 3 December 2019 в 21:38

Теги

Похожие вопросы