Назад | Перейти на главную страницу

Можно ли объявить экспортированные ресурсы как атрибут вместо типа в марионетке?

Избегайте добавления хоста вручную в качестве атрибута

class::define { 'title':
  attribute3 => [
    'stone',
    'wood'
  ],
  hosts         => [
    'host1.domain',
    'host2.domain'
  ]
}

class::define { 'title2':
  attribute3 => [
    'fire',
    'water'
  ],
  hosts         => [
    'host3.domaintwo',
    'host4.domaintwo'
  ]
}

с использованием экспортированных ресурсов:

if $fqdn =~ /^.*\.domain$/ {
  @@class::define { 'title':
    attribute3 => [
      'stone',
      'wood'
    ],
    hosts      => $fqdn
    tag => 'test3'
  }
}

if $fqdn =~ /^.*\.domaintwo$/ {
  @@class::define { 'title2':
    attribute3 => [
      'fire',
      'water'
    ],
    hosts      => $fqdn
    tag => 'test4'
  }
}

но это не сработает

Вопрос

Как объявить экспортируемые ресурсы как атрибут?