Class: Api::V2::JobTemplatesController
- Inherits:
-
BaseController
- Object
- BaseController
- Api::V2::JobTemplatesController
- 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
- #clone ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #export ⇒ Object
- #import ⇒ Object
- #index ⇒ Object
- #resource_name(nested_resource = nil) ⇒ Object
- #revision ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#clone ⇒ Object
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 |
#create ⇒ Object
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 |
#destroy ⇒ Object
97 98 99 |
# File 'app/controllers/api/v2/job_templates_controller.rb', line 97 def destroy process_response @job_template.destroy end |
#export ⇒ Object
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 |
#import ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'app/controllers/api/v2/job_templates_controller.rb', line 29 def import = params[:overwrite] ? { :update => true } : { :build_new => true } # the Template superclass expects hash indexed by symbols = .merge(params.permit(:options => {}).try(:[], :options).try(:to_h) || {}).with_indifferent_access @job_template = JobTemplate.import_raw(params[:template], ) @job_template ||= JobTemplate.new process_response @job_template.save end |
#index ⇒ Object
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 |
#revision ⇒ Object
90 91 92 93 |
# File 'app/controllers/api/v2/job_templates_controller.rb', line 90 def revision audit = Audit.(:view_audit_logs).find(params[:version]) render :json => audit.revision.template end |
#show ⇒ Object
48 49 |
# File 'app/controllers/api/v2/job_templates_controller.rb', line 48 def show end |
#update ⇒ Object
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 |