Project

General

Profile

« Previous | Next » 

Revision dc38aad3

Added by Joseph Magen over 10 years ago

fixes #3017 - split APIv2 controllers from v1 parents

View differences:

app/controllers/api/v2/hostgroups_controller.rb
module Api
module V2
class HostgroupsController < V1::HostgroupsController
class HostgroupsController < V2::BaseController
include Api::Version2
include Api::TaxonomyScope
before_filter :find_resource, :only => %w{show update destroy}
api :GET, "/hostgroups/", "List all hostgroups."
param :search, String, :desc => "filter results"
param :order, String, :desc => "sort results"
param :page, String, :desc => "paginate results"
param :per_page, String, :desc => "number of entries per request"
def index
super
render :template => "api/v1/hostgroups/index"
@hostgroups = Hostgroup.includes(:hostgroup_classes, :group_parameters).
search_for(*search_options).paginate(paginate_options)
end
api :GET, "/hostgroups/:id/", "Show a hostgroup."
param :id, :identifier, :required => true
def show
super
render :template => "api/v1/hostgroups/show"
end
api :POST, "/hostgroups/", "Create an hostgroup."
param :hostgroup, Hash, :required => true do
param :name, String, :required => true
param :parent_id, :number
param :environment_id, :number
param :operatingsystem_id, :number
param :architecture_id, :number
param :medium_id, :number
param :ptable_id, :number
param :puppet_ca_proxy_id, :number
param :subnet_id, :number
param :domain_id, :number
param :puppet_proxy_id, :number
end
def create
@hostgroup = Hostgroup.new(params[:hostgroup])
process_response @hostgroup.save
end
api :PUT, "/hostgroups/:id/", "Update an hostgroup."
param :id, :identifier, :required => true
param :hostgroup, Hash, :required => true do
param :name, String
param :parent_id, :number
param :environment_id, :number
param :operatingsystem_id, :number
param :architecture_id, :number
param :medium_id, :number
param :ptable_id, :number
param :puppet_ca_proxy_id, :number
param :subnet_id, :number
param :domain_id, :number
param :puppet_proxy_id, :number
end
def update
process_response @hostgroup.update_attributes(params[:hostgroup])
end
api :DELETE, "/hostgroups/:id/", "Delete an hostgroup."
param :id, :identifier, :required => true
def destroy
process_response @hostgroup.destroy
end
end

Also available in: Unified diff