Project

General

Profile

Download (7.67 KB) Statistics
| Branch: | Tag: | Revision:
require 'api_constraints'

Foreman::Application.routes.draw do
#ENC requests goes here
match "node/:name" => 'hosts#externalNodes', :constraints => { :name => /[^\.][\w\.-]+/ }
post "reports/create"
post "fact_values/create"

resources :reports, :only => [:index, :show, :destroy, :create] do
collection do
get 'auto_complete_search'
end
end

match '(:controller)/help', :action => 'welcome', :as => "help"
constraints(:id => /[^\/]+/) do
resources :hosts do
member do
get 'clone'
get 'storeconfig_klasses'
get 'externalNodes'
get 'setBuild'
get 'cancelBuild'
get 'puppetrun'
get 'pxe_config'
put 'toggle_manage'
post 'environment_selected'
put 'power'
get 'console'
end
collection do
get 'show_search'
get 'multiple_actions'
get 'multiple_parameters'
post 'update_multiple_parameters'
get 'select_multiple_hostgroup'
post 'update_multiple_hostgroup'
get 'select_multiple_environment'
post 'update_multiple_environment'
get 'multiple_puppetrun'
post 'update_multiple_puppetrun'
get 'multiple_destroy'
post 'submit_multiple_destroy'
get 'multiple_build'
post 'submit_multiple_build'
get 'reset_multiple'
get 'multiple_disable'
post 'submit_multiple_disable'
get 'multiple_enable'
post 'submit_multiple_enable'
get 'auto_complete_search'
get 'template_used'
get 'active'
get 'pending'
get 'out_of_sync'
get 'errors'
get 'disabled'
get 'current_parameters'
get 'puppetclass_parameters'
post 'process_hostgroup'
post 'process_taxonomy'
post 'hostgroup_or_environment_selected'
post 'architecture_selected'
post 'os_selected'
post 'domain_selected'
post 'use_image_selected'
post 'compute_resource_selected'
post 'medium_selected'
end

constraints(:host_id => /[^\/]+/) do
resources :reports ,:only => [:index, :show]
resources :audits ,:only => :index
resources :facts ,:only => :index, :controller => :fact_values
resources :puppetclasses ,:only => :index
resources :lookup_keys ,:only => :show
end
end


resources :bookmarks, :except => [:show]
resources :lookup_keys, :except => [:new, :create] do
resources :lookup_values, :only => [:index, :create, :update, :destroy]
collection do
get 'auto_complete_search'
end
end

resources :facts, :only => [:index, :show] do
constraints(:id => /[^\/]+/) do
resources :values, :only => :index, :controller => :fact_values, :as => "host_fact_values"
end
end

end

resources :settings, :only => [:index, :update] do
collection do
get 'auto_complete_search'
end
end
resources :common_parameters do
collection do
get 'auto_complete_search'
end
end
resources :environments do
collection do
get 'import_environments'
post 'obsolete_and_new'
get 'auto_complete_search'
end
end
resources :trends do
collection do
post 'count'
end
end

resources :hostgroups do
member do
get 'nest'
get 'clone'
end
collection do
get 'auto_complete_search'
post 'environment_selected'
post 'architecture_selected'
post 'os_selected'
post 'domain_selected'
post 'use_image_selected'
post 'medium_selected'
end
end

resources :puppetclasses do
collection do
get 'import_environments'
post 'obsolete_and_new'
get 'auto_complete_search'
end
member do
get 'parameters'
end
constraints(:id => /[^\/]+/) do
resources :hosts
resources :lookup_keys, :except => [:show, :new, :create]
end
end


resources :smart_proxies, :except => [:show] do
constraints(:id => /[^\/]+/) do
resources :puppetca, :controller => "SmartProxies::Puppetca", :only => [:index, :update, :destroy]
resources :autosign, :controller => "SmartProxies::Autosign", :only => [:index, :new, :create, :destroy]
end
end

resources :fact_values, :only => [:index] do
collection do
get 'auto_complete_search'
end
end

resources :notices, :only => :destroy
resources :audits do
collection do
get 'auto_complete_search'
end
end

if SETTINGS[:login]
resources :usergroups
resources :users do
collection do
get 'login'
post 'login'
get 'logout'
get 'auth_source_selected'
get 'auto_complete_search'
end
end
resources :roles do
collection do
get 'report'
post 'report'
get 'auto_complete_search'
end
end

resources :auth_source_ldaps
end

if SETTINGS[:unattended]
constraints(:id => /[^\/]+/) do
resources :domains do
collection do
get 'auto_complete_search'
end
end
resources :config_templates do
collection do
get 'auto_complete_search'
get 'build_pxe_default'
get 'revision'
end
end
end

resources :operatingsystems do
member do
get 'bootfiles'
end
collection do
get 'auto_complete_search'
end
end
resources :media do
collection do
get 'auto_complete_search'
end
end

resources :models do
collection do
get 'auto_complete_search'
end
end

resources :architectures do
collection do
get 'auto_complete_search'
end
end

resources :ptables do
collection do
get 'auto_complete_search'
end
end

constraints(:id => /[^\/]+/) do
resources :compute_resources do
member do
post 'hardware_profile_selected'
post 'cluster_selected'
end
constraints(:id => /[^\/]+/) do
resources :vms, :controller => "compute_resources_vms" do
member do
put 'power'
get 'console'
end
end
end
collection do
get 'auto_complete_search'
post 'provider_selected'
put 'test_connection'
end
resources :images
end
end

resources :subnets, :except => [:show] do
collection do
get 'auto_complete_search'
get 'import'
post 'create_multiple'
post 'freeip'
end
end

match 'unattended/template/:id/:hostgroup', :to => "unattended#template"
end

root :to => 'dashboard#index'
match 'dashboard', :to => 'dashboard#index', :as => "dashboard"
match 'dashboard/auto_complete_search', :to => 'hosts#auto_complete_search', :as => "auto_complete_search_dashboards"
match 'statistics', :to => 'statistics#index', :as => "statistics"
match 'status', :to => 'home#status', :as => "status"

# match for all unattended scripts
match 'unattended/(:action/(:id(.format)))', :controller => 'unattended'

resources :tasks, :only => [:show]

if SETTINGS[:locations_enabled]
resources :locations do
member do
get 'select'
get 'clone'
end
collection do
get 'auto_complete_search'
get 'clear', :action => 'select'
end
end
end

if SETTINGS[:organizations_enabled]
resources :organizations do
member do
get 'select'
get 'clone'
end
collection do
get 'auto_complete_search'
get 'clear', :action => 'select'
end
end
end

#Keep this line the last route
match '*a', :to => 'errors#routing'
end
(8-8/10)