foreman_puppet 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +619 -0
- data/README.md +38 -0
- data/Rakefile +31 -0
- data/app/assets/stylesheets/foreman_puppet.scss +117 -0
- data/app/controllers/concerns/foreman_puppet/api/import_puppetclasses_common_controller.rb +139 -0
- data/app/controllers/concerns/foreman_puppet/environments_import.rb +61 -0
- data/app/controllers/concerns/foreman_puppet/extensions/api_hostgroups_controller.rb +40 -0
- data/app/controllers/concerns/foreman_puppet/extensions/api_template_combinations_controller.rb +23 -0
- data/app/controllers/concerns/foreman_puppet/extensions/api_v2_hosts_controller.rb +48 -0
- data/app/controllers/concerns/foreman_puppet/extensions/hostgroups_controller_extensions.rb +58 -0
- data/app/controllers/concerns/foreman_puppet/extensions/hosts_controller_extensions.rb +228 -0
- data/app/controllers/concerns/foreman_puppet/extensions/operatingsystems_controller.rb +11 -0
- data/app/controllers/concerns/foreman_puppet/extensions/parameters_host.rb +75 -0
- data/app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb +70 -0
- data/app/controllers/concerns/foreman_puppet/extensions/parameters_template_combination.rb +21 -0
- data/app/controllers/concerns/foreman_puppet/parameters/config_group.rb +17 -0
- data/app/controllers/concerns/foreman_puppet/parameters/environment.rb +21 -0
- data/app/controllers/concerns/foreman_puppet/parameters/puppetclass.rb +24 -0
- data/app/controllers/concerns/foreman_puppet/parameters/puppetclass_lookup_key.rb +24 -0
- data/app/controllers/foreman_puppet/api/v2/base_controller.rb +26 -0
- data/app/controllers/foreman_puppet/api/v2/config_groups_controller.rb +57 -0
- data/app/controllers/foreman_puppet/api/v2/environments_controller.rb +91 -0
- data/app/controllers/foreman_puppet/api/v2/host_classes_controller.rb +59 -0
- data/app/controllers/foreman_puppet/api/v2/hostgroup_classes_controller.rb +46 -0
- data/app/controllers/foreman_puppet/api/v2/lookups_common_controller.rb +114 -0
- data/app/controllers/foreman_puppet/api/v2/override_values_controller.rb +99 -0
- data/app/controllers/foreman_puppet/api/v2/puppetclasses_controller.rb +99 -0
- data/app/controllers/foreman_puppet/api/v2/smart_class_parameters_controller.rb +76 -0
- data/app/controllers/foreman_puppet/config_groups_controller.rb +46 -0
- data/app/controllers/foreman_puppet/environments_controller.rb +51 -0
- data/app/controllers/foreman_puppet/puppet_smart_proxies_controller.rb +39 -0
- data/app/controllers/foreman_puppet/puppetclass_lookup_keys_controller.rb +33 -0
- data/app/controllers/foreman_puppet/puppetclasses_controller.rb +113 -0
- data/app/controllers/foreman_puppet/react_controller.rb +19 -0
- data/app/helpers/concerns/foreman_puppet/template_renderer_scope.rb +14 -0
- data/app/helpers/foreman_puppet/environments_helper.rb +17 -0
- data/app/helpers/foreman_puppet/hosts_and_hostgroups_helper.rb +96 -0
- data/app/helpers/foreman_puppet/hosts_helper.rb +32 -0
- data/app/helpers/foreman_puppet/puppet_smart_proxies_helper.rb +8 -0
- data/app/helpers/foreman_puppet/puppetclass_lookup_keys_helper.rb +135 -0
- data/app/helpers/foreman_puppet/puppetclasses_and_environments_helper.rb +55 -0
- data/app/helpers/foreman_puppet/puppetclasses_helper.rb +59 -0
- data/app/helpers/foreman_puppet/template_combinations_helper.rb +33 -0
- data/app/models/concerns/foreman_puppet/extensions/host.rb +88 -0
- data/app/models/concerns/foreman_puppet/extensions/hostgroup.rb +40 -0
- data/app/models/concerns/foreman_puppet/extensions/nic_managed.rb +11 -0
- data/app/models/concerns/foreman_puppet/extensions/operatingsystem.rb +11 -0
- data/app/models/concerns/foreman_puppet/extensions/provisioning_template.rb +64 -0
- data/app/models/concerns/foreman_puppet/extensions/report.rb +11 -0
- data/app/models/concerns/foreman_puppet/extensions/taxonomy.rb +19 -0
- data/app/models/concerns/foreman_puppet/extensions/template_combination.rb +23 -0
- data/app/models/concerns/foreman_puppet/extensions/user.rb +22 -0
- data/app/models/concerns/foreman_puppet/host_common.rb +90 -0
- data/app/models/concerns/foreman_puppet/puppet_lookup_value_extensions.rb +13 -0
- data/app/models/foreman_puppet/config_group.rb +45 -0
- data/app/models/foreman_puppet/config_group_class.rb +19 -0
- data/app/models/foreman_puppet/environment.rb +63 -0
- data/app/models/foreman_puppet/environment_class.rb +40 -0
- data/app/models/foreman_puppet/host_class.rb +23 -0
- data/app/models/foreman_puppet/host_config_group.rb +15 -0
- data/app/models/foreman_puppet/host_puppet_facet.rb +130 -0
- data/app/models/foreman_puppet/hostgroup_class.rb +23 -0
- data/app/models/foreman_puppet/hostgroup_puppet_facet.rb +98 -0
- data/app/models/foreman_puppet/puppetclass.rb +132 -0
- data/app/models/foreman_puppet/puppetclass_lookup_key.rb +58 -0
- data/app/services/foreman_puppet/host_info_providers/config_groups_info.rb +10 -0
- data/app/services/foreman_puppet/host_info_providers/puppet_info.rb +92 -0
- data/app/services/foreman_puppet/input_type/puppet_parameter_input.rb +35 -0
- data/app/services/foreman_puppet/proxy_status/puppet.rb +17 -0
- data/app/services/foreman_puppet/puppet_class_importer.rb +355 -0
- data/app/views/api/v2/template_combinations/base.json.erb +9 -0
- data/app/views/foreman_puppet/api/v2/config_groups/base.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/config_groups/create.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/config_groups/index.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/config_groups/main.json.rabl +8 -0
- data/app/views/foreman_puppet/api/v2/config_groups/show.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/config_groups/update.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/environments/base.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/environments/create.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/environments/index.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/environments/main.json.rabl +5 -0
- data/app/views/foreman_puppet/api/v2/environments/show.json.rabl +15 -0
- data/app/views/foreman_puppet/api/v2/environments/update.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/host_puppet_facets/base.json.rabl +1 -0
- data/app/views/foreman_puppet/api/v2/host_puppet_facets/host_single.json.rabl +17 -0
- data/app/views/foreman_puppet/api/v2/host_puppet_facets/show.json.rabl +11 -0
- data/app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/base.json.rabl +5 -0
- data/app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/hostgroup_single.json.rabl +16 -0
- data/app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/show.json.rabl +11 -0
- data/app/views/foreman_puppet/api/v2/import_puppetclasses/index.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/import_puppetclasses/show.json.rabl +36 -0
- data/app/views/foreman_puppet/api/v2/override_values/create.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/override_values/index.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/override_values/show.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/override_values/update.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/puppetclasses/base.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/puppetclasses/create.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/puppetclasses/index.json.rabl +4 -0
- data/app/views/foreman_puppet/api/v2/puppetclasses/list.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/puppetclasses/main.json.rabl +5 -0
- data/app/views/foreman_puppet/api/v2/puppetclasses/show.json.rabl +15 -0
- data/app/views/foreman_puppet/api/v2/puppetclasses/update.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/smart_class_parameters/base.json.rabl +4 -0
- data/app/views/foreman_puppet/api/v2/smart_class_parameters/create.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/smart_class_parameters/destroy.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/smart_class_parameters/index.json.rabl +3 -0
- data/app/views/foreman_puppet/api/v2/smart_class_parameters/main.json.rabl +23 -0
- data/app/views/foreman_puppet/api/v2/smart_class_parameters/show.json.rabl +19 -0
- data/app/views/foreman_puppet/api/v2/smart_class_parameters/update.json.rabl +3 -0
- data/app/views/foreman_puppet/config_groups/_config_group.html.erb +34 -0
- data/app/views/foreman_puppet/config_groups/_config_groups_selection.html.erb +36 -0
- data/app/views/foreman_puppet/config_groups/_form.html.erb +9 -0
- data/app/views/foreman_puppet/config_groups/edit.html.erb +3 -0
- data/app/views/foreman_puppet/config_groups/index.html.erb +31 -0
- data/app/views/foreman_puppet/config_groups/new.html.erb +3 -0
- data/app/views/foreman_puppet/config_groups/welcome.html.erb +12 -0
- data/app/views/foreman_puppet/environments/_form.html.erb +20 -0
- data/app/views/foreman_puppet/environments/edit.html.erb +8 -0
- data/app/views/foreman_puppet/environments/index.html.erb +32 -0
- data/app/views/foreman_puppet/environments/new.html.erb +7 -0
- data/app/views/foreman_puppet/environments/welcome.html.erb +16 -0
- data/app/views/foreman_puppet/layouts/application_react.html.erb +15 -0
- data/app/views/foreman_puppet/puppet_smart_proxies/_dashboard.html.erb +9 -0
- data/app/views/foreman_puppet/puppet_smart_proxies/_environments.html.erb +30 -0
- data/app/views/foreman_puppet/puppetclass_lookup_keys/edit.html.erb +3 -0
- data/app/views/foreman_puppet/puppetclass_lookup_keys/index.html.erb +22 -0
- data/app/views/foreman_puppet/puppetclass_lookup_keys/welcome.html.erb +9 -0
- data/app/views/foreman_puppet/puppetclasses/_class_parameters.html.erb +37 -0
- data/app/views/foreman_puppet/puppetclasses/_class_selection.html.erb +70 -0
- data/app/views/foreman_puppet/puppetclasses/_classes.html.erb +22 -0
- data/app/views/foreman_puppet/puppetclasses/_classes_in_groups.html.erb +5 -0
- data/app/views/foreman_puppet/puppetclasses/_classes_parameters.html.erb +16 -0
- data/app/views/foreman_puppet/puppetclasses/_form.html.erb +62 -0
- data/app/views/foreman_puppet/puppetclasses/_selected_classes.html.erb +4 -0
- data/app/views/foreman_puppet/puppetclasses/edit.html.erb +4 -0
- data/app/views/foreman_puppet/puppetclasses/index.html.erb +47 -0
- data/app/views/hosts/_form_puppet_enc_tab.html.erb +24 -0
- data/app/views/hosts/foreman_puppet/_form_main_tab_fields.html.erb +1 -0
- data/app/views/hosts/select_multiple_environment.html.erb +8 -0
- data/app/views/provisioning_templates/_combination.html.erb +5 -0
- data/app/views/provisioning_templates/_combinations.html.erb +6 -0
- data/app/views/smart_proxies/plugins/_puppet.html.erb +24 -0
- data/config/api_routes.rb +81 -0
- data/config/routes.rb +89 -0
- data/db/migrate/20101121140000_add_environment_to_template_combinations.foreman_puppet.rb +9 -0
- data/db/migrate/20200720123005_migrate_puppet_core_types.foreman_puppet.rb +19 -0
- data/db/migrate/20200722171017_create_host_puppet_facet.foreman_puppet.rb +10 -0
- data/db/migrate/20200803113531_create_hostgroup_puppet_facet.foreman_puppet.rb +10 -0
- data/db/migrate/20200803113803_migrate_environment_to_puppet_facet.foreman_puppet.rb +22 -0
- data/db/migrate/20200803113903_migrate_host_type_in_host_config_groups.foreman_puppet.rb +29 -0
- data/db/migrate/20201125113903_migrate_puppetclasses_to_facets.foreman_puppet.rb +47 -0
- data/db/migrate_foreman/20090722141107_create_environments.rb +17 -0
- data/db/migrate_foreman/20120905095532_create_environment_classes.rb +15 -0
- data/db/migrate_foreman/20140407161817_create_config_groups.rb +9 -0
- data/db/migrate_foreman/20140407162007_create_config_group_classes.rb +10 -0
- data/db/migrate_foreman/20140407162059_create_host_config_groups.rb +11 -0
- data/db/migrate_foreman/20161205142618_delete_orphaned_smart_class_parameters.rb +10 -0
- data/db/migrate_foreman/20170109115157_fix_lookup_key_auditable_type.rb +15 -0
- data/db/migrate_foreman/20180816134832_cast_lookup_key_values.rb +35 -0
- data/db/migrate_foreman/20181023112532_add_environment_puppetclass_id.rb +7 -0
- data/db/migrate_foreman/20181224174419_add_index_to_environment_class_by_lookup_key_and_puppetclass.rb +6 -0
- data/db/seeds.d/111_puppet_proxy_feature.rb +8 -0
- data/lib/foreman_puppet.rb +10 -0
- data/lib/foreman_puppet/engine.rb +82 -0
- data/lib/foreman_puppet/register.rb +218 -0
- data/lib/foreman_puppet/version.rb +3 -0
- data/lib/tasks/foreman_puppet_tasks.rake +31 -0
- data/locale/Makefile +60 -0
- data/locale/action_names.rb +5 -0
- data/locale/en/foreman_puppet.edit.po +911 -0
- data/locale/en/foreman_puppet.po +690 -0
- data/locale/en/foreman_puppet.po.time_stamp +0 -0
- data/locale/foreman_puppet.pot +1076 -0
- data/locale/gemspec.rb +2 -0
- data/test/controllers/foreman_puppet/api/v2/config_groups_controller_test.rb +28 -0
- data/test/controllers/foreman_puppet/api/v2/environments_controller_test.rb +346 -0
- data/test/controllers/foreman_puppet/api/v2/host_classes_controller_test.rb +48 -0
- data/test/controllers/foreman_puppet/api/v2/hostgroup_classes_controller_test.rb +41 -0
- data/test/controllers/foreman_puppet/api/v2/hostgroups_controller_test.rb +79 -0
- data/test/controllers/foreman_puppet/api/v2/hosts_controller_test.rb +101 -0
- data/test/controllers/foreman_puppet/api/v2/lookups_common_controller_test.rb +29 -0
- data/test/controllers/foreman_puppet/api/v2/override_values_controller_test.rb +169 -0
- data/test/controllers/foreman_puppet/api/v2/puppetclasses_controller_test.rb +144 -0
- data/test/controllers/foreman_puppet/api/v2/smart_class_parameters_controller_test.rb +557 -0
- data/test/controllers/foreman_puppet/api/v2/template_combinations_controller_test.rb +81 -0
- data/test/controllers/foreman_puppet/config_groups_controller_test.rb +47 -0
- data/test/controllers/foreman_puppet/environments_controller_test.rb +230 -0
- data/test/controllers/foreman_puppet/hostgroups_controller_test.rb +72 -0
- data/test/controllers/foreman_puppet/hosts_controller_test.rb +346 -0
- data/test/controllers/foreman_puppet/puppet_smart_proxies_controller_test.rb +29 -0
- data/test/controllers/foreman_puppet/puppetclass_lookup_keys_controller_test.rb +59 -0
- data/test/controllers/foreman_puppet/puppetclasses_controller_test.rb +235 -0
- data/test/controllers/provisioning_templates_controller_test.rb +70 -0
- data/test/factories/foreman_puppet_factories.rb +134 -0
- data/test/factories/host_puppet_enhancements.rb +61 -0
- data/test/factories/proxy_puppet_enhancements.rb +33 -0
- data/test/helpers/foreman_puppet/hosts_and_hostgroups_helper_test.rb +65 -0
- data/test/helpers/foreman_puppet/puppetclasses_helper_test.rb +33 -0
- data/test/integration/foreman_puppet/environment_js_test.rb +27 -0
- data/test/integration/foreman_puppet/host_js_test.rb +371 -0
- data/test/integration/foreman_puppet/hostgroup_js_test.rb +100 -0
- data/test/integration/foreman_puppet/puppetclass_js_test.rb +37 -0
- data/test/integration/foreman_puppet/smartclass_parameter_js_test.rb +84 -0
- data/test/models/foreman_puppet/config_group_class_test.rb +9 -0
- data/test/models/foreman_puppet/config_group_test.rb +8 -0
- data/test/models/foreman_puppet/environment_test.rb +92 -0
- data/test/models/foreman_puppet/host_config_group_test.rb +39 -0
- data/test/models/foreman_puppet/host_puppet_facet_test.rb +116 -0
- data/test/models/foreman_puppet/host_test.rb +288 -0
- data/test/models/foreman_puppet/hostgroup_puppet_facet_test.rb +200 -0
- data/test/models/foreman_puppet/hostgroup_test.rb +14 -0
- data/test/models/foreman_puppet/lookup_value_test.rb +69 -0
- data/test/models/foreman_puppet/provisioning_template_test.rb +124 -0
- data/test/models/foreman_puppet/puppetclass_lookup_key_test.rb +81 -0
- data/test/models/foreman_puppet/puppetclass_test.rb +144 -0
- data/test/models/foreman_puppet/smart_proxy_test.rb +28 -0
- data/test/qraphql/queries/host_puppet_query_test.rb +36 -0
- data/test/qraphql/queries/hostgroup_puppet_query_test.rb +36 -0
- data/test/services/foreman_puppet/host_info_providers/puppet_info_test.rb +791 -0
- data/test/services/foreman_puppet/input_type/puppet_parameter_input_test.rb +14 -0
- data/test/test_puppet_helper.rb +30 -0
- data/test/unit/foreman_puppet/access_permissions_test.rb +16 -0
- data/test/unit/foreman_puppet/puppet_class_importer_test.rb +247 -0
- data/test/unit/foreman_puppet/template_rendering_test.rb +20 -0
- data/test/unit/foreman_puppet_test.rb +11 -0
- data/webpack/__mocks__/foremanReact/common/I18n.js +7 -0
- data/webpack/__mocks__/foremanReact/components/Layout/LayoutActions.js +2 -0
- data/webpack/__mocks__/foremanReact/readme.md +11 -0
- data/webpack/__mocks__/foremanReact/redux/API/APISelectors.js +10 -0
- data/webpack/__mocks__/foremanReact/redux/API/index.js +10 -0
- data/webpack/__mocks__/foremanReact/redux/actions/toasts.js +8 -0
- data/webpack/__mocks__/foremanReact/redux/index.js +1 -0
- data/webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware.js +5 -0
- data/webpack/fills_index.js +30 -0
- data/webpack/index.js +18 -0
- data/webpack/src/ForemanPuppet.js +11 -0
- data/webpack/src/Router/__snapshots__/routes.test.js.snap +3 -0
- data/webpack/src/Router/index.js +14 -0
- data/webpack/src/Router/routes.js +3 -0
- data/webpack/src/Router/routes.test.js +16 -0
- data/webpack/src/foreman_class_edit.js +224 -0
- data/webpack/src/foreman_puppet_host_form.js +140 -0
- data/webpack/src/foreman_puppet_host_form.test.js +65 -0
- data/webpack/src/index.js +1 -0
- data/webpack/src/reducers.js +7 -0
- metadata +340 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
object @environment
|
2
|
+
|
3
|
+
extends 'foreman_puppet/api/v2/environments/main'
|
4
|
+
|
5
|
+
child :template_combinations do
|
6
|
+
extends 'api/v2/template_combinations/base'
|
7
|
+
end
|
8
|
+
|
9
|
+
child :puppetclasses do
|
10
|
+
extends 'foreman_puppet/api/v2/puppetclasses/base'
|
11
|
+
end
|
12
|
+
|
13
|
+
node do |environment|
|
14
|
+
partial('api/v2/taxonomies/children_nodes', object: environment)
|
15
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
attributes :environment_id, :environment_name
|
@@ -0,0 +1,17 @@
|
|
1
|
+
child puppet: :puppet do
|
2
|
+
extends 'foreman_puppet/api/v2/host_puppet_facets/show'
|
3
|
+
end
|
4
|
+
|
5
|
+
# backwards compatibility
|
6
|
+
|
7
|
+
child root_object.puppet.puppetclasses => :puppetclasses do
|
8
|
+
extends 'foreman_puppet/api/v2/puppetclasses/base'
|
9
|
+
end
|
10
|
+
|
11
|
+
node do |host|
|
12
|
+
{ all_puppetclasses: partial('foreman_puppet/api/v2/puppetclasses/base', object: host.puppet.all_puppetclasses) }
|
13
|
+
end
|
14
|
+
|
15
|
+
child root_object.puppet.config_groups => :config_groups do
|
16
|
+
extends 'foreman_puppet/api/v2/config_groups/main'
|
17
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
child :puppetclasses do
|
2
|
+
extends 'foreman_puppet/api/v2/puppetclasses/base'
|
3
|
+
end
|
4
|
+
|
5
|
+
node do |puppet_facet|
|
6
|
+
{ all_puppetclasses: partial('foreman_puppet/api/v2/puppetclasses/base', object: puppet_facet.all_puppetclasses) }
|
7
|
+
end
|
8
|
+
|
9
|
+
child :config_groups do
|
10
|
+
extends 'foreman_puppet/api/v2/config_groups/main'
|
11
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
child puppet: :puppet do
|
2
|
+
extends 'foreman_puppet/api/v2/hostgroup_puppet_facets/show'
|
3
|
+
end
|
4
|
+
|
5
|
+
# backwards compatibility
|
6
|
+
child root_object.puppet.puppetclasses => :puppetclasses do
|
7
|
+
extends 'foreman_puppet/api/v2/puppetclasses/base'
|
8
|
+
end
|
9
|
+
|
10
|
+
node do |hostgroup|
|
11
|
+
{ all_puppetclasses: partial('foreman_puppet/api/v2/puppetclasses/base', object: hostgroup.puppet.all_puppetclasses) }
|
12
|
+
end
|
13
|
+
|
14
|
+
child root_object.puppet.config_groups => :config_groups do
|
15
|
+
extends 'foreman_puppet/api/v2/config_groups/main'
|
16
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
child :puppetclasses do
|
2
|
+
extends 'foreman_puppet/api/v2/puppetclasses/base'
|
3
|
+
end
|
4
|
+
|
5
|
+
node do |hostgroup|
|
6
|
+
{ all_puppetclasses: partial('foreman_puppet/api/v2/puppetclasses/base', object: hostgroup.all_puppetclasses) }
|
7
|
+
end
|
8
|
+
|
9
|
+
child :config_groups do
|
10
|
+
extends 'foreman_puppet/api/v2/config_groups/main'
|
11
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
object @environment => nil
|
2
|
+
|
3
|
+
attributes :name
|
4
|
+
|
5
|
+
node(:actions) do |environment|
|
6
|
+
actions = []
|
7
|
+
actions << 'new' if @changed['new'][environment.name].present?
|
8
|
+
actions << 'updated' if @changed['updated'][environment.name].present?
|
9
|
+
actions << 'obsolete' if @changed['obsolete'][environment.name].present?
|
10
|
+
actions << 'ignored' if @changed['ignored'][environment.name].present?
|
11
|
+
actions.as_json
|
12
|
+
end
|
13
|
+
|
14
|
+
node(:new_puppetclasses, if: ->(environment) { @changed['new'][environment.name].present? }) do |environment|
|
15
|
+
JSON.parse(@changed['new'][environment.name]).keys
|
16
|
+
end
|
17
|
+
|
18
|
+
node(:updated_puppetclasses, if: ->(environment) { @changed['updated'][environment.name].present? }) do |environment|
|
19
|
+
JSON.parse(@changed['updated'][environment.name]).keys
|
20
|
+
end
|
21
|
+
|
22
|
+
node(:obsolete_puppetclasses, if: ->(environment) { @changed['obsolete'][environment.name].present? && @changed['obsolete'][environment.name].exclude?('_destroy_') }) do |environment|
|
23
|
+
JSON.parse(@changed['obsolete'][environment.name])
|
24
|
+
end
|
25
|
+
|
26
|
+
node(:ignored_puppetclasses, if: ->(environment) { @changed['ignored'][environment.name].present? && @changed['ignored'][environment.name].exclude?('_ignored_') }) do |environment|
|
27
|
+
JSON.parse(@changed['ignored'][environment.name])
|
28
|
+
end
|
29
|
+
|
30
|
+
node(:removed_environment, if: ->(environment) { @changed['obsolete'][environment.name].present? && @changed['obsolete'][environment.name].include?('_destroy_') }) do |environment|
|
31
|
+
environment.name
|
32
|
+
end
|
33
|
+
|
34
|
+
node(:ignored_environment, if: ->(environment) { @changed['ignored'][environment.name].present? && @changed['ignored'][environment.name].include?('_ignored_') }) do |environment|
|
35
|
+
environment.name
|
36
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
object @puppetclass
|
2
|
+
|
3
|
+
extends 'foreman_puppet/api/v2/puppetclasses/main'
|
4
|
+
|
5
|
+
child :environments do
|
6
|
+
extends 'foreman_puppet/api/v2/environments/base'
|
7
|
+
end
|
8
|
+
|
9
|
+
child all_hostgroups: :hostgroups do
|
10
|
+
extends 'api/v2/hostgroups/base'
|
11
|
+
end
|
12
|
+
|
13
|
+
node do |puppetclass|
|
14
|
+
{ smart_class_parameters: partial('api/v2/lookup_keys/base', object: puppetclass.class_params) }
|
15
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
object @smart_class_parameter
|
2
|
+
|
3
|
+
extends 'foreman_puppet/api/v2/smart_class_parameters/base'
|
4
|
+
|
5
|
+
node :puppetclass_id do |lk|
|
6
|
+
lk.param_class.id
|
7
|
+
end
|
8
|
+
|
9
|
+
node :override_values_count do |lk|
|
10
|
+
lk.lookup_values.count
|
11
|
+
end
|
12
|
+
|
13
|
+
attributes :description, :override, :parameter_type, :hidden_value?,
|
14
|
+
:omit, :required, :validator_type, :validator_rule, :merge_overrides,
|
15
|
+
:merge_default, :avoid_duplicates, :override_value_order, :created_at, :updated_at
|
16
|
+
|
17
|
+
node do
|
18
|
+
partial('api/v2/common/show_hidden', locals: { value: :default_value }, object: @object)
|
19
|
+
end
|
20
|
+
|
21
|
+
node :puppetclass_name do |lk|
|
22
|
+
lk.param_class.name
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
object @smart_class_parameter
|
2
|
+
|
3
|
+
extends 'foreman_puppet/api/v2/smart_class_parameters/main'
|
4
|
+
|
5
|
+
if params[:puppetclass_id].blank?
|
6
|
+
node do |smart_class_parameter|
|
7
|
+
{ puppetclass: partial('foreman_puppet/api/v2/puppetclasses/base', object: smart_class_parameter.param_class) }
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
if params[:environment_id].blank?
|
12
|
+
child :environments do
|
13
|
+
extends 'foreman_puppet/api/v2/environments/base'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
node do |smart_class_parameter|
|
18
|
+
{ override_values: partial('foreman_puppet/api/v2/override_values/index', object: smart_class_parameter.lookup_values) }
|
19
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<%= content_tag_for :li, config_group, (added ? :selected : nil), :id => "config_group_#{config_group.id}", :class => css_class.to_s do %>
|
2
|
+
<%= hidden_field_tag("#{type}[config_group_ids][]", config_group.id) if added == 'manually' %>
|
3
|
+
<span>
|
4
|
+
<%= link_to(icon_text('plus', config_group.name), '#', :rel=>'twipsy', :class => 'config_group_name',
|
5
|
+
:onclick => "tfm.classEditor.expandClassList(this, '#cgroup_#{config_group.id}')",
|
6
|
+
:data => {:puppetclass_ids => config_group.puppetclass_ids,
|
7
|
+
:'group-id' => config_group.id,
|
8
|
+
:id => config_group.id,
|
9
|
+
:type => type,
|
10
|
+
:'original-title' => (obj.parent_config_groups.include?(config_group) ? _('included already from parent') : '' )
|
11
|
+
}
|
12
|
+
) %>
|
13
|
+
</span>
|
14
|
+
<%= link_to(" #{added ? _('Remove') : _('Add')}", '#', :rel=>'twipsy', :class => "btn btn-default btn-sm glyphicon glyphicon-#{added ? 'minus' : 'plus'}-sign",
|
15
|
+
:onclick => (added ? 'tfm.classEditor.removeConfigGroup(this)' : 'tfm.classEditor.addConfigGroup(this)'),
|
16
|
+
:data => {:puppetclass_ids => config_group.puppetclass_ids,
|
17
|
+
:'group-id' => config_group.id,
|
18
|
+
:id => config_group.id,
|
19
|
+
:type => type
|
20
|
+
}
|
21
|
+
) unless obj.parent_config_groups.include?(config_group) %>
|
22
|
+
|
23
|
+
<ul class="hide" id="cgroup_<%= config_group.id %>">
|
24
|
+
<% config_group.puppetclasses.each do |cg_puppetclass|%>
|
25
|
+
<% css_class = puppetclass_in_environment?(obj.try(:environment), cg_puppetclass) ? '' : 'lightgray' %>
|
26
|
+
<% tip = css_class == 'lightgray' ? (_("%s is not in environment") % (cg_puppetclass.name)) : '' %>
|
27
|
+
<li>
|
28
|
+
<%= content_tag(:span, :class => css_class, :'data-original-title' => tip, :rel => "twipsy") do %>
|
29
|
+
<%= cg_puppetclass.name %>
|
30
|
+
<% end %>
|
31
|
+
</li>
|
32
|
+
<% end %>
|
33
|
+
</ul>
|
34
|
+
<% end %>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-4 classes">
|
3
|
+
<h3>
|
4
|
+
<%= _('Included Config Groups') %><br />
|
5
|
+
</h3>
|
6
|
+
<%= hidden_field_tag "#{resource_type}[config_group_ids][]" %>
|
7
|
+
<ul id="selected_config_groups">
|
8
|
+
<% (obj.config_groups - obj.parent_config_groups).each do |config_group| %>
|
9
|
+
<%= render 'foreman_puppet/config_groups/config_group', obj: obj, config_group: config_group, added: 'manually', css_class: '' %>
|
10
|
+
<% end %>
|
11
|
+
</ul>
|
12
|
+
<ul id="inherited_config_groups">
|
13
|
+
<% obj.parent_config_groups.each do |config_group| %>
|
14
|
+
<%= render 'foreman_puppet/config_groups/config_group', obj: obj, config_group: config_group, added: 'inherited', css_class: '' %>
|
15
|
+
<% end %>
|
16
|
+
</ul>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="col-md-8">
|
20
|
+
<h3>
|
21
|
+
<%= _('Available Config Groups') %>
|
22
|
+
</h3>
|
23
|
+
|
24
|
+
<div class="row">
|
25
|
+
<div class="col-md-6 classes">
|
26
|
+
<ul class="config_group_group">
|
27
|
+
<% (ForemanPuppet::ConfigGroup.includes(:puppetclasses).authorized(:view_config_groups) - obj.parent_config_groups).each do |config_group| %>
|
28
|
+
<% css_class = obj.config_groups.include?(config_group) ? 'hide' : '' %>
|
29
|
+
<%= render 'foreman_puppet/config_groups/config_group', obj: obj, config_group: config_group, added: false, css_class: css_class %>
|
30
|
+
<% end %>
|
31
|
+
</ul>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
|
36
|
+
</div>
|