puppet_generator 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. data/.gitignore +17 -0
  2. data/.rdebugrc +7 -0
  3. data/.rspec +2 -0
  4. data/.simplecov +8 -0
  5. data/.travis.yml +6 -0
  6. data/.yardopts +5 -0
  7. data/CONTRIBUTING.md +8 -0
  8. data/Gemfile +34 -0
  9. data/LICENSE.md +22 -0
  10. data/README.DEVELOPER.md +11 -0
  11. data/README.md +477 -0
  12. data/Rakefile +3 -0
  13. data/TODO.md +2 -0
  14. data/bin/ppgen +16 -0
  15. data/cucumber.yml +2 -0
  16. data/features/generate_file_definition.feature +357 -0
  17. data/features/generate_module_directories.feature +36 -0
  18. data/features/generate_package_definition.feature +206 -0
  19. data/features/generate_role_definitions.feature +64 -0
  20. data/features/generate_user_definition.feature +193 -0
  21. data/features/list.feature +22 -0
  22. data/features/log_actions.feature +93 -0
  23. data/features/step_definitions.rb +3 -0
  24. data/features/support/env.rb +7 -0
  25. data/features/tasks.feature +25 -0
  26. data/gemfiles/Gemfile.default +34 -0
  27. data/gemfiles/Gemfile.travis +17 -0
  28. data/lib/puppet_generator/actions/copy_files_to_module_directory.rb +23 -0
  29. data/lib/puppet_generator/actions/null.rb +9 -0
  30. data/lib/puppet_generator/api.rb +108 -0
  31. data/lib/puppet_generator/definition.rb +10 -0
  32. data/lib/puppet_generator/entry_converters/file.rb +9 -0
  33. data/lib/puppet_generator/entry_converters/package.rb +9 -0
  34. data/lib/puppet_generator/entry_converters/role.rb +9 -0
  35. data/lib/puppet_generator/entry_converters/user.rb +9 -0
  36. data/lib/puppet_generator/exceptions.rb +104 -0
  37. data/lib/puppet_generator/export_filters/build_role_includes_for_directory.rb +35 -0
  38. data/lib/puppet_generator/export_filters/filesystem_attributes.rb +57 -0
  39. data/lib/puppet_generator/export_filters/null.rb +9 -0
  40. data/lib/puppet_generator/exporters/directory.rb +23 -0
  41. data/lib/puppet_generator/exporters/file.rb +17 -0
  42. data/lib/puppet_generator/exporters/stdout.rb +16 -0
  43. data/lib/puppet_generator/import_filters/null.rb +9 -0
  44. data/lib/puppet_generator/import_filters/passwd.rb +22 -0
  45. data/lib/puppet_generator/import_filters/yaml.rb +20 -0
  46. data/lib/puppet_generator/importers/directory.rb +21 -0
  47. data/lib/puppet_generator/importers/file.rb +17 -0
  48. data/lib/puppet_generator/importers/stdin.rb +16 -0
  49. data/lib/puppet_generator/logger.rb +62 -0
  50. data/lib/puppet_generator/main.rb +36 -0
  51. data/lib/puppet_generator/middleware/apply_export_filters.rb +33 -0
  52. data/lib/puppet_generator/middleware/check_for_empty_source.rb +16 -0
  53. data/lib/puppet_generator/middleware/configure_logging.rb +30 -0
  54. data/lib/puppet_generator/middleware/create_module_directories.rb +42 -0
  55. data/lib/puppet_generator/middleware/create_output.rb +46 -0
  56. data/lib/puppet_generator/middleware/create_puppet_object_from_entry.rb +24 -0
  57. data/lib/puppet_generator/middleware/enable_debugging_libraries.rb +15 -0
  58. data/lib/puppet_generator/middleware/execute_actions.rb +34 -0
  59. data/lib/puppet_generator/middleware/filter_imported_data.rb +22 -0
  60. data/lib/puppet_generator/middleware/handle_errors.rb +62 -0
  61. data/lib/puppet_generator/middleware/output_debug_information_for_models.rb +21 -0
  62. data/lib/puppet_generator/middleware/read_input.rb +27 -0
  63. data/lib/puppet_generator/models/action.rb +36 -0
  64. data/lib/puppet_generator/models/base.rb +115 -0
  65. data/lib/puppet_generator/models/class_based_model.rb +56 -0
  66. data/lib/puppet_generator/models/entry_converter.rb +39 -0
  67. data/lib/puppet_generator/models/error_message.rb +60 -0
  68. data/lib/puppet_generator/models/export_filter.rb +44 -0
  69. data/lib/puppet_generator/models/exporter.rb +51 -0
  70. data/lib/puppet_generator/models/filesystem_based_model.rb +63 -0
  71. data/lib/puppet_generator/models/import_filter.rb +44 -0
  72. data/lib/puppet_generator/models/importer.rb +52 -0
  73. data/lib/puppet_generator/models/logger.rb +11 -0
  74. data/lib/puppet_generator/models/template.rb +120 -0
  75. data/lib/puppet_generator/puppet_helper.rb +19 -0
  76. data/lib/puppet_generator/puppet_objects/file.rb +29 -0
  77. data/lib/puppet_generator/puppet_objects/package.rb +24 -0
  78. data/lib/puppet_generator/puppet_objects/role.rb +27 -0
  79. data/lib/puppet_generator/puppet_objects/user.rb +27 -0
  80. data/lib/puppet_generator/setup/bare.rb +25 -0
  81. data/lib/puppet_generator/setup/default_actions.rb +9 -0
  82. data/lib/puppet_generator/setup/default_entry_converter.rb +8 -0
  83. data/lib/puppet_generator/setup/default_error_messages.rb +10 -0
  84. data/lib/puppet_generator/setup/default_export_filter.rb +9 -0
  85. data/lib/puppet_generator/setup/default_exporter.rb +11 -0
  86. data/lib/puppet_generator/setup/default_import_filter.rb +10 -0
  87. data/lib/puppet_generator/setup/default_importer.rb +10 -0
  88. data/lib/puppet_generator/setup/file.rb +29 -0
  89. data/lib/puppet_generator/setup/module.rb +22 -0
  90. data/lib/puppet_generator/setup/package.rb +27 -0
  91. data/lib/puppet_generator/setup/role.rb +28 -0
  92. data/lib/puppet_generator/setup/user.rb +27 -0
  93. data/lib/puppet_generator/task.rb +39 -0
  94. data/lib/puppet_generator/ui/commandline_parser_helper.rb +31 -0
  95. data/lib/puppet_generator/ui/create.rb +59 -0
  96. data/lib/puppet_generator/ui/runner.rb +23 -0
  97. data/lib/puppet_generator/ui/tasks.rb +16 -0
  98. data/lib/puppet_generator/version.rb +4 -0
  99. data/lib/puppet_generator.rb +79 -0
  100. data/puppet_generator.gemspec +35 -0
  101. data/rakefiles/default.rake +3 -0
  102. data/rakefiles/travis.rake +3 -0
  103. data/script/console +8 -0
  104. data/script/terminal +16 -0
  105. data/spec/examples/actions/missing_method.rb +7 -0
  106. data/spec/examples/apply_export_filters/file.txt +0 -0
  107. data/spec/examples/entry_converters/missing_method.rb +7 -0
  108. data/spec/examples/execute_actions/file.txt +0 -0
  109. data/spec/examples/export_filter/invalid_filter_1.rb +8 -0
  110. data/spec/examples/export_filter/invalid_filter_2.rb +7 -0
  111. data/spec/examples/export_filter/missing_method.rb +7 -0
  112. data/spec/examples/exporter/missing_method.rb +7 -0
  113. data/spec/examples/exporter/test.d/.gitkeep +0 -0
  114. data/spec/examples/exporter/test_file.txt +1 -0
  115. data/spec/examples/import_filter/forbidden_keyword.rb +0 -0
  116. data/spec/examples/import_filter/invalid_filter_1.rb +8 -0
  117. data/spec/examples/import_filter/invalid_filter_2.rb +7 -0
  118. data/spec/examples/import_filter/missing_method.rb +7 -0
  119. data/spec/examples/importer/missing_method.rb +7 -0
  120. data/spec/examples/importer/test.d/.gitkeep +0 -0
  121. data/spec/examples/importer/test_file.txt +1 -0
  122. data/spec/examples/templates/invalid_template.pp.erb +1 -0
  123. data/spec/examples/templates/missing_method.rb +7 -0
  124. data/spec/export_filters/build_role_includes_for_directory_spec.rb +39 -0
  125. data/spec/middleware/apply_export_filters_spec.rb +45 -0
  126. data/spec/middleware/execute_actions_spec.rb +44 -0
  127. data/spec/middleware/handle_errors_spec.rb +12 -0
  128. data/spec/models/action_spec.rb +37 -0
  129. data/spec/models/entry_converter_spec.rb +59 -0
  130. data/spec/models/error_message_spec.rb +78 -0
  131. data/spec/models/export_filter_spec.rb +36 -0
  132. data/spec/models/exporter_spec.rb +71 -0
  133. data/spec/models/import_filter_spec.rb +33 -0
  134. data/spec/models/importer_spec.rb +66 -0
  135. data/spec/models/template_spec.rb +47 -0
  136. data/spec/puppet_generator_spec.rb +7 -0
  137. data/spec/setup/role_spec.rb +22 -0
  138. data/spec/spec_helper.rb +10 -0
  139. data/spec/support/filesystem_helper.rb +12 -0
  140. data/spec/support/libraries.rb +10 -0
  141. data/spec/support/rspec_configuration.rb +5 -0
  142. data/templates/puppet/many_per_file/file.pp.erb +16 -0
  143. data/templates/puppet/many_per_file/package.pp.erb +10 -0
  144. data/templates/puppet/many_per_file/role.pp.erb +7 -0
  145. data/templates/puppet/many_per_file/user.pp.erb +23 -0
  146. data/templates/puppet/one_per_file/file.pp.erb +14 -0
  147. data/templates/puppet/one_per_file/package.pp.erb +8 -0
  148. data/templates/puppet/one_per_file/role.pp.erb +5 -0
  149. data/templates/puppet/one_per_file/user.pp.erb +21 -0
  150. metadata +374 -0
@@ -0,0 +1,78 @@
1
+ require 'spec_helper'
2
+
3
+ describe Models::ErrorMessage do
4
+
5
+ before(:each) {
6
+ Models::ErrorMessage.reset
7
+ }
8
+
9
+ it "supports equality" do
10
+ m1 = Models::ErrorMessage.new(:name1, 1, 'Text')
11
+ m2 = Models::ErrorMessage.new(:name1, 1, 'text233')
12
+
13
+ expect(m1).to eq(m2)
14
+ end
15
+
16
+ it "supports not equality" do
17
+ m1 = Models::ErrorMessage.new(:name1, 1, 'Text')
18
+ m2 = Models::ErrorMessage.new(:name2, 2, 'text233')
19
+
20
+ expect(m1).not_to eq(m2)
21
+ end
22
+
23
+ it "is possible to find a message" do
24
+ m1 = Models::ErrorMessage.new(:name1, 1, 'Text')
25
+ Models::ErrorMessage.register m1
26
+
27
+ m_found = Models::ErrorMessage.find(:name1)
28
+ expect(m_found).to eq(m1)
29
+ end
30
+
31
+ it "returns nil if message can not be found" do
32
+ m_found = Models::ErrorMessage.find(:unknown)
33
+ expect(m_found).to eq(nil)
34
+ end
35
+
36
+ it "is possible to define a preambel for all error messages" do
37
+ Models::ErrorMessage.preambel = "test\n\n"
38
+ m1 = Models::ErrorMessage.create(:name1, 1, 'Text')
39
+ expect(m1.text).to eq("test\n\nText")
40
+ end
41
+
42
+ it "is possible to define a preambel for a single error messages" do
43
+ m1 = Models::ErrorMessage.create(:name1, 1, 'Text')
44
+ m1.preambel = "test123\n\n"
45
+
46
+ expect(m1.text).to eq("test123\n\nText")
47
+ end
48
+
49
+ it "returns only the instance preambel if both are defined" do
50
+ m1 = Models::ErrorMessage.create(:name1, 1, 'Text')
51
+ Models::ErrorMessage.preambel = "from class\n\n"
52
+
53
+ m1.preambel = "from instance\n\n"
54
+
55
+ expect(m1.text).to eq("from instance\n\nText")
56
+ end
57
+
58
+ it "is possible to define a postscript for all error messages" do
59
+ Models::ErrorMessage.postscript = "\n\npostscript"
60
+ m1 = Models::ErrorMessage.create(:name1, 1, 'Text')
61
+ expect(m1.text).to eq("Text\n\npostscript")
62
+ end
63
+
64
+ it "is possible to define a postscript for a single error messages" do
65
+ m1 = Models::ErrorMessage.create(:name1, 1, 'Text')
66
+ m1.postscript = "\n\npostscript"
67
+ expect(m1.text).to eq("Text\n\npostscript")
68
+ end
69
+
70
+ it "returns only the instance postscript if both are defined" do
71
+ m1 = Models::ErrorMessage.create(:name1, 1, 'Text')
72
+ Models::ErrorMessage.postscript = "\n\npostscript from class"
73
+ m1.postscript = "\n\npostscript from instance"
74
+
75
+ expect(m1.text).to eq("Text\n\npostscript from instance")
76
+ end
77
+
78
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+ describe Models::ExportFilter do
4
+
5
+ it "finds all available filter" do
6
+ Models::ExportFilter.init
7
+ filter = Models::ExportFilter.find(:null)
8
+ expect(filter.name).to eq(:null)
9
+ end
10
+
11
+ it "raises an error if an export filter is invalid: missing method \"convert\"" do
12
+ test_class = Class.new( Models::ExportFilter ) do
13
+
14
+ def self.library_name
15
+ "PuppetGenerator"
16
+ end
17
+
18
+ def self.model_name
19
+ "ExportFilter"
20
+ end
21
+
22
+ def self.path_to_instances
23
+ File.join( examples_dir, 'export_filter', 'missing_method.rb' )
24
+ end
25
+
26
+ def self.require_path(name)
27
+ File.join( examples_dir, 'export_filter', 'missing_method' )
28
+ end
29
+ end
30
+
31
+ expect {
32
+ test_class.init
33
+ }.to raise_error Exceptions::InvalidExportFilter
34
+ end
35
+
36
+ end
@@ -0,0 +1,71 @@
1
+ require 'spec_helper'
2
+
3
+ describe Models::Exporter do
4
+ before(:each) do
5
+ Models::Exporter.clear
6
+ end
7
+
8
+ it "finds all available exporters" do
9
+ Models::Exporter.init
10
+ filter = Models::Exporter.find(:file)
11
+ expect(filter.name).to eq(:file)
12
+ end
13
+
14
+ it "finds all default exporters" do
15
+ Models::Exporter.init
16
+ Setup::DefaultExporter.use
17
+
18
+ filters = Models::Exporter.find_all(enabled: true)
19
+ expect(filters.size).to eq(3)
20
+ end
21
+
22
+ it "raises an error if an exporter is invalid: missing method \"write\"" do
23
+ test_class = Class.new( Models::Exporter ) do
24
+
25
+ def self.library_name
26
+ "PuppetGenerator"
27
+ end
28
+
29
+ def self.model_name
30
+ "Exporter"
31
+ end
32
+
33
+ def self.path_to_instances
34
+ File.join( examples_dir, 'exporter', 'missing_method.rb' )
35
+ end
36
+
37
+ def self.require_path(name)
38
+ File.join( examples_dir, 'exporter', 'missing_method' )
39
+ end
40
+ end
41
+
42
+ expect {
43
+ test_class.init
44
+ }.to raise_error Exceptions::InvalidExporter
45
+ end
46
+
47
+ it "finds an exporter for a file" do
48
+ Models::Exporter.init
49
+
50
+ expected_result = Models::Exporter.find( :file )
51
+ result = Models::Exporter.find( writes_to: 'file:' + File.join(examples_dir, 'exporter', 'test_file.txt' ) )
52
+ expect(result).to eq(expected_result)
53
+ end
54
+
55
+ it "finds an exporter for a directory" do
56
+ Models::Exporter.init
57
+
58
+ expected_result = Models::Exporter.find( :directory )
59
+ result = Models::Exporter.find( writes_to: 'dir:' + File.join(examples_dir, 'exporter', 'test.d' ) )
60
+ expect(result).to eq(expected_result)
61
+ end
62
+
63
+ it "finds an exporter for stdout" do
64
+ Models::Exporter.init
65
+
66
+ expected_result = Models::Exporter.find( :stdout )
67
+ result = Models::Exporter.find( writes_to: 'stdout' )
68
+ expect(result).to eq(expected_result)
69
+ end
70
+
71
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe Models::ImportFilter do
4
+ before(:each) do
5
+ Models::ImportFilter.clear
6
+ end
7
+
8
+ it "raises an error if an import filter is invalid: missing method \"convert\"" do
9
+ test_class = Class.new( Models::ImportFilter ) do
10
+
11
+ def self.library_name
12
+ "PuppetGenerator"
13
+ end
14
+
15
+ def self.model_name
16
+ "ImportFilter"
17
+ end
18
+
19
+ def self.path_to_instances
20
+ File.join( examples_dir, 'import_filter', 'missing_method.rb' )
21
+ end
22
+
23
+ def self.require_path(name)
24
+ File.join( examples_dir, 'import_filter', 'missing_method' )
25
+ end
26
+ end
27
+
28
+ expect {
29
+ test_class.init
30
+ }.to raise_error Exceptions::InvalidImportFilter
31
+ end
32
+
33
+ end
@@ -0,0 +1,66 @@
1
+ require 'spec_helper'
2
+
3
+ describe Models::Importer do
4
+ before(:each) do
5
+ Models::Importer.clear
6
+ end
7
+
8
+ it "raises an error if an importer is invalid: missing method \"read\"" do
9
+ test_class = Class.new( Models::Importer ) do
10
+
11
+ def self.library_name
12
+ "PuppetGenerator"
13
+ end
14
+
15
+ def self.model_name
16
+ "Importer"
17
+ end
18
+
19
+ def self.path_to_instances
20
+ File.join( examples_dir, 'importer', 'missing_method.rb' )
21
+ end
22
+
23
+ def self.require_path(name)
24
+ File.join( examples_dir, 'importer', 'missing_method' )
25
+ end
26
+ end
27
+
28
+ expect {
29
+ test_class.init
30
+ }.to raise_error Exceptions::InvalidImporter
31
+ end
32
+
33
+ it "finds an importer for a file" do
34
+ Models::Importer.init
35
+
36
+ expected_result = Models::Importer.find( :file )
37
+ result = Models::Importer.find( reads_from: File.join(examples_dir, 'importer', 'test_file.txt' ) )
38
+ expect(result).to eq(expected_result)
39
+ end
40
+
41
+ it "finds an importer for a directory" do
42
+ Models::Importer.init
43
+
44
+ expected_result = Models::Importer.find( :directory )
45
+ result = Models::Importer.find( reads_from: File.join(examples_dir, 'importer', 'test.d' ) )
46
+ expect(result).to eq(expected_result)
47
+ end
48
+
49
+ it "finds an importer for stdin" do
50
+ Models::Importer.init
51
+
52
+ expected_result = Models::Importer.find( :stdin )
53
+ result = Models::Importer.find( reads_from: 'stdin' )
54
+ expect(result).to eq(expected_result)
55
+ end
56
+
57
+ it "reads from file" do
58
+ Models::Importer.init
59
+
60
+ importer = Models::Importer.find( :file )
61
+ result = importer.read(File.join(examples_dir, 'importer', 'test_file.txt' ))
62
+ expect(result).to eq([ 'asdf' ] )
63
+ end
64
+
65
+ end
66
+
@@ -0,0 +1,47 @@
1
+
2
+ require 'spec_helper'
3
+
4
+ describe Models::Template do
5
+
6
+ before(:each) {
7
+ Models::Template.clear
8
+ }
9
+
10
+ it "loads all available templates on init" do
11
+ Models::Template.init
12
+ result = Models::Template.find( name: :package, is_suitable_for: :directory )
13
+ expect(result.name).to eq(:package)
14
+
15
+ result = Models::Template.find( name: :package, is_suitable_for: :file )
16
+ expect(result.name).to eq(:package)
17
+ end
18
+
19
+ it "raises an error if a template is invalid: missing method \"render\"" do
20
+ test_class = Class.new( Models::Template ) do
21
+
22
+ def self.library_name
23
+ "PuppetGenerator"
24
+ end
25
+
26
+ def self.model_name
27
+ "Template"
28
+ end
29
+
30
+ def self.create_tags(path)
31
+ [ :many_per_file ]
32
+ end
33
+
34
+ def self.path_to_instances
35
+ File.join( examples_dir, 'templates', 'invalid_template.pp.erb' )
36
+ end
37
+
38
+ end
39
+
40
+ test_class.init
41
+
42
+ expect {
43
+ test_class.first.render( [ :asdf ] )
44
+ }.to raise_error Exceptions::InvalidTemplate
45
+ end
46
+
47
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe PuppetGenerator do
4
+ it "has a gem load path" do
5
+ expect(PuppetGenerator.gem_load_path).to eq('puppet_generator')
6
+ end
7
+ end
@@ -0,0 +1,22 @@
1
+ describe Setup::Role do
2
+ before(:each) do
3
+ Models::ImportFilter.clear
4
+ Models::Template.clear
5
+ Models::Action.clear
6
+ Models::Importer.clear
7
+ Models::ExportFilter.clear
8
+ end
9
+
10
+ it "enables default values" do
11
+
12
+ s = Setup::Role.new( HashWithIndifferentAccess.new )
13
+ s.setup_environment
14
+
15
+ expect(Models::ImportFilter.find_all(enabled: true).size).to eq(2)
16
+ expect(Models::Template.find_all(enabled: true).size).to eq(2)
17
+ expect(Models::Action.find_all(enabled: true).size).to eq(1)
18
+ expect(Models::Importer.find_all(enabled: true).size).to eq(3)
19
+ expect(Models::ExportFilter.find_all(enabled: true).size).to eq(2)
20
+
21
+ end
22
+ end
@@ -0,0 +1,10 @@
1
+ #encoding: utf-8
2
+ $LOAD_PATH << File.expand_path( '../../lib', __FILE__ )
3
+
4
+ Dir.glob( File.expand_path( '../support/*.rb', __FILE__ ) ).each { |f| require f }
5
+
6
+ require 'puppet_generator'
7
+ include PuppetGenerator
8
+
9
+ #FeduxOrg::Stdlib.logger.mode = :debug
10
+
@@ -0,0 +1,12 @@
1
+ def examples_dir
2
+ File.expand_path( '../../examples', __FILE__ )
3
+ end
4
+
5
+ require 'fedux_org/stdlib/filesystem'
6
+ include FeduxOrg::Stdlib::Filesystem
7
+
8
+ def root_directory
9
+ File.expand_path( '../../../', __FILE__ )
10
+ end
11
+
12
+ create_working_directory
@@ -0,0 +1,10 @@
1
+ unless ENV['TRAVIS_CI'] == 'true'
2
+ require 'pry'
3
+ require 'debugger'
4
+ require 'ap'
5
+ require 'benchmark'
6
+
7
+ require 'simplecov'
8
+ SimpleCov.start
9
+ SimpleCov.command_name 'rspec'
10
+ end
@@ -0,0 +1,5 @@
1
+ RSpec.configure do |c|
2
+ c.treat_symbols_as_metadata_keys_with_true_values = true
3
+ c.filter_run :focus => true
4
+ c.run_all_when_everything_filtered = true
5
+ end
@@ -0,0 +1,16 @@
1
+ class <%= @items.first.module_name %>::<%= @items.first.class_name %> {
2
+ <% @items.each do |item| %>
3
+ file {'<%= item.path %>':
4
+ ensure => <%= item.type %>,
5
+ <% if item.source %>
6
+ source => '<%= item.source %>',
7
+ <% end %>
8
+ <% if item.owner %>
9
+ owner => '<%= item.owner %>',
10
+ <% end %>
11
+ <% if item.mode %>
12
+ mode => '<%= item.mode %>',
13
+ <% end %>
14
+ }
15
+ <% end %>
16
+ }
@@ -0,0 +1,10 @@
1
+ class <%= @items.first.module_name %>::<%= @items.first.class_name %> {
2
+ <% @items.each do |item| %>
3
+ package {'<%= item.name %>':
4
+ ensure => <%= item.version %>,
5
+ <% if item.provider %>
6
+ provider => <%= item.provider %>,
7
+ <% end %>
8
+ }
9
+ <% end %>
10
+ }
@@ -0,0 +1,7 @@
1
+ <% @items.each do |item| %>
2
+ class <%= item.name %> {
3
+ <% item.includes.each do |i| %>
4
+ include <%= item.name %>::<%= i %>
5
+ <% end %>
6
+ }
7
+ <% end %>
@@ -0,0 +1,23 @@
1
+ class <%= @items.first.module_name %>::<%= @items.first.class_name %> {
2
+ <% @items.each do |item| %>
3
+ user {'<%= item.name %>':
4
+ ensure => present,
5
+ managehome => true,
6
+ <% if item.provider %>
7
+ provider => '<%= item.provider %>',
8
+ <% end %>
9
+ <% if item.userid %>
10
+ uid => '<%= item.userid %>',
11
+ <% end %>
12
+ <% if item.groupid %>
13
+ gid => '<%= item.groupid %>',
14
+ <% end %>
15
+ <% if item.homedir %>
16
+ home => '<%= item.homedir %>',
17
+ <% end %>
18
+ <% if item.shell %>
19
+ shell => '<%= item.shell %>',
20
+ <% end %>
21
+ }
22
+ <% end %>
23
+ }
@@ -0,0 +1,14 @@
1
+ class <%= @item.module_name %>::<%= @item.name %> {
2
+ file {'<%= @item.path %>':
3
+ ensure => <%= @item.type %>,
4
+ <% if @item.source %>
5
+ source => '<%= @item.source %>',
6
+ <% end %>
7
+ <% if @item.owner %>
8
+ owner => '<%= @item.owner %>',
9
+ <% end %>
10
+ <% if @item.mode %>
11
+ mode => '<%= @item.mode %>',
12
+ <% end %>
13
+ }
14
+ }
@@ -0,0 +1,8 @@
1
+ class <%= @item.module_name %>::<%= @item.name %> {
2
+ package {'<%= @item.name %>':
3
+ ensure => <%= @item.version %>,
4
+ <% if @item.provider %>
5
+ provider => <%= @item.provider %>,
6
+ <% end %>
7
+ }
8
+ }
@@ -0,0 +1,5 @@
1
+ class <%= @item.name %> {
2
+ <% @item.includes.each do |i| %>
3
+ include <%= @item.name %>::<%= i %>
4
+ <% end %>
5
+ }
@@ -0,0 +1,21 @@
1
+ class <%= @item.module_name %>::<%= @item.name %> {
2
+ user {'<%= @item.name %>':
3
+ ensure => present,
4
+ managehome => true,
5
+ <% if @item.provider %>
6
+ provider => '<%= @item.provider %>',
7
+ <% end %>
8
+ <% if @item.userid %>
9
+ uid => '<%= @item.userid %>',
10
+ <% end %>
11
+ <% if @item.groupid %>
12
+ gid => '<%= @item.groupid %>',
13
+ <% end %>
14
+ <% if @item.homedir %>
15
+ home => '<%= @item.homedir %>',
16
+ <% end %>
17
+ <% if @item.shell %>
18
+ shell => '<%= @item.shell %>',
19
+ <% end %>
20
+ }
21
+ }