Class: Api::V2::JobTemplatesController

Inherits:
BaseController
  • Object
show all
Includes:
Api::Version2, Foreman::Controller::Parameters::JobTemplate, Foreman::Controller::ProvisioningTemplates, Foreman::Renderer
Defined in:
app/controllers/api/v2/job_templates_controller.rb

Instance Method Summary collapse

Instance Method Details

#cloneObject



110
111
112
113
114
115
# File 'app/controllers/api/v2/job_templates_controller.rb', line 110

def clone
  @job_template = @job_template.clone
  load_vars_from_template
  @job_template.name = job_template_params[:name]
  process_response @job_template.save
end

#createObject



76
77
78
79
# File 'app/controllers/api/v2/job_templates_controller.rb', line 76

def create
  @job_template = JobTemplate.new(job_template_params)
  process_response @job_template.save
end

#destroyObject



97
98
99
# File 'app/controllers/api/v2/job_templates_controller.rb', line 97

def destroy
  process_response @job_template.destroy
end

#exportObject



41
42
43
44
# File 'app/controllers/api/v2/job_templates_controller.rb', line 41

def export
  Foreman::Deprecation.api_deprecation_warning('Exporting template is provided by Foreman core, please use that endpoint instead')
  send_data @job_template.to_erb, :type => 'text/plain', :disposition => 'attachment', :filename => @job_template.filename
end

#importObject



29
30
31
32
33
34
35
36
37
# File 'app/controllers/api/v2/job_templates_controller.rb', line 29

def import
  options = params[:overwrite] ? { :update => true } : { :build_new => true }
  # the Template superclass expects hash indexed by symbols
  options = options.merge(params.permit(:options => {}).try(:[], :options).try(:to_h) || {}).with_indifferent_access

  @job_template = JobTemplate.import_raw(params[:template], options)
  @job_template ||= JobTemplate.new
  process_response @job_template.save
end

#indexObject



21
22
23
# File 'app/controllers/api/v2/job_templates_controller.rb', line 21

def index
  @job_templates = resource_scope_for_index
end

#resource_name(nested_resource = nil) ⇒ Object



117
118
119
# File 'app/controllers/api/v2/job_templates_controller.rb', line 117

def resource_name(nested_resource = nil)
  nested_resource || 'job_template'
end

#revisionObject



90
91
92
93
# File 'app/controllers/api/v2/job_templates_controller.rb', line 90

def revision
  audit = Audit.authorized(:view_audit_logs).find(params[:version])
  render :json => audit.revision.template
end

#showObject



48
49
# File 'app/controllers/api/v2/job_templates_controller.rb', line 48

def show
end

#updateObject



84
85
86
# File 'app/controllers/api/v2/job_templates_controller.rb', line 84

def update
  process_response @job_template.update(job_template_params)
end