From: NjeriChelimo <martha.c.ch...@gmail.com> --- clients/cimi/lib/entities/machine_template.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/clients/cimi/lib/entities/machine_template.rb b/clients/cimi/lib/entities/machine_template.rb index ccc80a3..026d244 100644 --- a/clients/cimi/lib/entities/machine_template.rb +++ b/clients/cimi/lib/entities/machine_template.rb @@ -22,9 +22,33 @@ class CIMI::Frontend::MachineTemplate < CIMI::Frontend::Entity end get '/cimi/machine_templates' do + machine_image_xml = get_entity_collection('machine_images', credentials) + @machine_images = CIMI::Model::MachineImageCollection.from_xml(machine_image_xml) + machine_conf_xml = get_entity_collection('machine_configurations', credentials) + @machine_configurations = CIMI::Model::MachineConfigurationCollection.from_xml(machine_conf_xml) machine_template_xml = get_entity_collection('machine_templates', credentials) @machine_templates = CIMI::Model::MachineTemplateCollection.from_xml(machine_template_xml) haml :'machine_templates/index' end + post '/cimi/machine_templates' do + machine_template_xml = Nokogiri::XML::Builder.new do |xml| + xml.MachineTemplate(:xmlns => CIMI::Frontend::CMWG_NAMESPACE) { + xml.name params[:machine_template][:name] + xml.description params[:machine_template][:description] + xml.machineConfig( :href => params[:machine_template][:machine_configuration] ) + xml.machineImage( :href => params[:machine_template][:machine_image] ) + } + end.to_xml + begin + result = create_entity('machine_templates', machine_template_xml, credentials) + machine_template = CIMI::Model::MachineTemplateCollection.from_xml(result) + flash[:success] = "Machine Template was successfully created." + redirect "/cimi/machine_templates/#{machine_template.name}", 302 + rescue => e + flash[:error] = "Machine Template cannot be created: #{e.message}" + redirect :back + end + end + end -- 1.7.9.5