Project

General

Profile

« Previous | Next » 

Revision acfbc458

Added by Marek Hulán about 10 years ago

fixes #812 - new permissions model, user group role and nest support, role filters for better granularity

Contributions from:

View differences:

app/controllers/api/v1/statistics_controller.rb
api :GET, "/statistics/", "Get statistics"
def index
@os_count = Host.my_hosts.count_distribution :operatingsystem
@arch_count = Host.my_hosts.count_distribution :architecture
@env_count = Host.my_hosts.count_distribution :environment
@klass_count = Host.my_hosts.count_habtm "puppetclass"
@cpu_count = FactValue.my_facts.count_each "processorcount"
@model_count = FactValue.my_facts.count_each "manufacturer"
@mem_size = FactValue.my_facts.mem_average "memorysize"
@mem_free = FactValue.my_facts.mem_average "memoryfree"
@swap_size = FactValue.my_facts.mem_average "swapsize"
@swap_free = FactValue.my_facts.mem_average "swapfree"
@mem_totsize = FactValue.my_facts.mem_sum "memorysize"
@mem_totfree = FactValue.my_facts.mem_sum "memoryfree"
render :json => { :statistics => { :os_count => @os_count, :arch_count => @arch_count,
:env_count => @env_count, :klass_count => @klass_count, :cpu_count => @cpu_count,
:model_count => @model_count, :mem_size => @mem_size, :mem_free => @mem_free, :swap_size => @swap_size,
:swap_free => @swap_free, :mem_totsize => @mem_totsize, :mem_totfree => @mem_totfree } }
@os_count = Host.authorized(:view_hosts).count_distribution :operatingsystem
@arch_count = Host.authorized(:view_hosts).count_distribution :architecture
@env_count = Host.authorized(:view_hosts).count_distribution :environment
@klass_count = Host.authorized(:view_hosts).count_habtm "puppetclass"
@cpu_count = FactValue.authorized(:view_facts).my_facts.count_each "processorcount"
@model_count = FactValue.authorized(:view_facts).my_facts.count_each "manufacturer"
@mem_size = FactValue.authorized(:view_facts).my_facts.mem_average "memorysize"
@mem_free = FactValue.authorized(:view_facts).my_facts.mem_average "memoryfree"
@swap_size = FactValue.authorized(:view_facts).my_facts.mem_average "swapsize"
@swap_free = FactValue.authorized(:view_facts).my_facts.mem_average "swapfree"
@mem_totsize = FactValue.authorized(:view_facts).my_facts.mem_sum "memorysize"
@mem_totfree = FactValue.authorized(:view_facts).my_facts.mem_sum "memoryfree"
render :json => { :os_count => @os_count, :arch_count => @arch_count, :swap_size => @swap_size,
:env_count => @env_count, :klass_count => @klass_count, :cpu_count => @cpu_count,
:model_count => @model_count, :mem_size => @mem_size, :mem_free => @mem_free,
:swap_free => @swap_free, :mem_totsize => @mem_totsize, :mem_totfree => @mem_totfree }
end
end

Also available in: Unified diff