25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'app/controllers/concerns/foreman_puppet/extensions/api_smart_proxies_controller.rb', line 25
def import_puppetclasses
return unless changed_environments
if params[:except].present?
kinds = params[:except].split(',')
kinds.each do |kind|
@changed[kind] = {} if PuppetClassImporter::CHANGE_KINDS.include?(kind)
end
end
rabl_template = @environment ? 'show' : 'index'
if params.key?('dryrun') && ['false', false].exclude?(params['dryrun'])
render("foreman_puppet/api/v#{api_version}/import_puppetclasses/#{rabl_template}", layout: 'api/layouts/import_puppetclasses_layout')
return
end
if (errors = PuppetClassImporter.new.obsolete_and_new(@changed)).empty?
render("foreman_puppet/api/v#{api_version}/import_puppetclasses/#{rabl_template}", layout: 'api/layouts/import_puppetclasses_layout')
else
render json: {
message: _('Failed to update the environments and Puppet classes from the on-disk puppet installation: %s') % errors.join(', '),
}, status: :internal_server_error
end
end
|