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

Используйте марионетку для управления набором файлов в разных подкаталогах

Поэтому мне нужно создать дерево файлов для определенных пользователей Windows.

Мне нужно предоставить список пользователей, желательно на основе внешнего факта, и иметь марионетку, чтобы убедиться, что набор файлов находится в каталоге (но разрешает разные неуправляемые файлы), и этот каталог называется так: C: \ VaultWorkspace \ username \Свод

Таким образом, у меня будет столько каталогов с именами пользователей, сколько указано пользователей. Мне нужен каталог с именем пользователя и файлы, принадлежащие пользователю с именем пользователя ... Мое предположение приведено ниже, но это не работает.

Я видел: Можно ли использовать Puppet для обеспечения наличия нескольких файлов в каталоге, не определяя их все? где это выглядит как «Конечно, с длинными путями к« / my / dir »или большим количеством файлов это будет немного громоздко, поэтому в этом случае вам лучше создать определение, которое включает путь к каталогу, и просто передайте ему массив имен файлов ". это то, что я хочу сделать, но этот пост не объясняет определения ...

class inventor {
    case $kernel {
            'linux': {

            }

            'windows': {
  @file {'VaultWorkspace':
  path => "C:/VaultWorkspace/${user}/Vault",
  source => "puppet:///modules/inventor/Vault",
  recurse => true,
  owner => "${user}",
  group => 'Users',
  mode => 0755,
  ensure => present,
  }

  realize File["$inventorusers"]
            }
    }
}

$inventorusers = ['username1','username2','usernamen']

Определенный тип выполнит свою работу:

define userworkspace {
  file { "VaultWorkspace-${title}":
    path    => "C:/VaultWorkspace/${title}/Vault",
    source  => "puppet:///modules/inventor/Vault",
    recurse => true,
    owner   => $title,
    group   => 'Users',
    mode    => 0755,
    ensure  => present,
  }
}

$inventorusers = ['username1','username2','usernamen']

userworkspace { $inventorusers: }