Defined Type: mongodb::user

Defined in:
manifests/user.pp

Overview

Define: mongodb::user

Parameters:

  • password (Any)
  • roles (Any) (defaults to: '[]')
  • db_host (Any) (defaults to: '127.0.0.1')
  • db_port (Any) (defaults to: '27017')
  • db_name (Any) (defaults to: 'test')
  • cmd_options (Any) (defaults to: '')
  • js_dir (Any) (defaults to: '/root/puppet-mongodb')
  • ensure (Any) (defaults to: 'present')


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'manifests/user.pp', line 3

define mongodb::user (
  $password,
  $roles       = '[]',
  $db_host     = '127.0.0.1',
  $db_port     = '27017',
  $db_name     = 'test',
  $cmd_options = '',
  $js_dir      = '/root/puppet-mongodb',
  $ensure      = 'present'
  ) {

  include mongodb

  if (!defined(File[$js_dir])) {
    file {$js_dir:
      ensure => directory,
      path   => $js_dir,
      owner  => 'root',
      group  => 'root',
      mode   => '0700',
    }
  }

  $mongodb_script_user = "mongo_user-${name}_${db_name}.js"

  file { $mongodb_script_user:
      ensure  => present,
      mode    => '0600',
      owner   => 'root',
      group   => 'root',
      path    => "${js_dir}/${mongodb_script_user}",
      content => template('mongodb/user.js.erb'),
  }

  exec { "mongo_user-${name}-${db_name}":
      command     => "mongo ${cmd_options} ${db_host}:${db_port}/${db_name} ${js_dir}/${mongodb_script_user}",
      require     => Service['mongodb'],
      subscribe   => File[$mongodb_script_user],
      path        => [ '/usr/bin' , '/usr/sbin' ],
      refreshonly => true,
  }

}