Project

General

Profile

Download (12 KB) Statistics
| Branch: | Tag: | Revision:
# config/routes/api/v2.rb
Foreman::Application.routes.draw do

namespace :api, :defaults => {:format => 'json'} do

# new v2 routes that point to v2
scope "(:apiv)", :module => :v2, :defaults => {:apiv => 'v2'}, :apiv => /v1|v2/, :constraints => ApiConstraints.new(:version => 2) do

resources :architectures, :except => [:new, :edit]

resources :audits, :only => [:index, :show]

resources :auth_source_ldaps, :except => [:new, :edit]

resources :bookmarks, :except => [:new, :edit]

resources :common_parameters, :except => [:new, :edit]

resources :config_templates, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
collection do
get 'build_pxe_default'
get 'revision'
end
resources :template_combinations, :only => [:index, :create]
end

resources :dashboard, :only => [:index]

resources :environments, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
resources :smart_proxies, :only => [] do
post :import_puppetclasses, :on => :member
end
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
resources :puppetclasses, :except => [:new, :edit] do
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
end
end

resources :fact_values, :only => [:index]

resources :hostgroups, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
resources :parameters, :except => [:new, :edit] do
collection do
delete '/', :to => :reset
end
end
resources :smart_variables, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
resources :puppetclasses, :except => [:new, :edit]
resources :hostgroup_classes, :path => :puppetclass_ids, :only => [:index, :create, :destroy]
end

resources :media, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
end

resources :models, :except => [:new, :edit]

resources :operatingsystems, :except => [:new, :edit] do
get :bootfiles, :on => :member
resources :parameters, :except => [:new, :edit] do
collection do
delete '/', :to => :reset
end
end
resources :os_default_templates, :except => [:new, :edit]
end

resources :puppetclasses, :except => [:new, :edit] do
resources :smart_variables, :except => [:new, :edit] do
resources :override_values, :except => [:new, :edit]
end
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
resources :environments, :only => [] do
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
end
resources :hostgroups, :only => [:index]
end

resources :ptables, :except => [:new, :edit]

resources :reports, :only => [:index, :show, :destroy] do
get :last, :on => :collection
end

resources :roles, :except => [:new, :edit] do
resources :filters, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
end
end
resources :permissions, :only => [:index, :show]

resources :filters, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
end

resources :settings, :only => [:index, :show, :update]

resources :smart_variables, :except => [:new, :edit] do
resources :override_values, :except => [:new, :edit]
end

resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end

resources :override_values, :only => [:update, :destroy]

resources :statistics, :only => [:index]

match '/', :to => 'home#index'
match 'status', :to => 'home#status', :as => "status"

resources :reports, :only => [:create]

resources :subnets, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
end

resources :usergroups, :except => [:new, :edit]

resources :users, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
end

resources :template_kinds, :only => [:index]

resources :template_combinations, :only => [:show, :destroy]

# add "constraint" that unconstrained and allows :id to have dot notation ex. sat.redhat.com
constraints(:id => /[^\/]+/) do
resources :compute_resources, :except => [:new, :edit] do
resources :images, :except => [:new, :edit]
get :available_images, :on => :member
get :available_clusters, :on => :member
get :available_storage_domains, :on => :member
get 'available_clusters/(:cluster_id)/available_networks', :to => 'compute_resources#available_networks', :on => :member
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
end
resources :domains, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
resources :parameters, :except => [:new, :edit] do
collection do
delete '/', :to => :reset
end
end
end
resources :smart_proxies, :except => [:new, :edit] do
(resources :locations, :only => [:index, :show]) if SETTINGS[:locations_enabled]
(resources :organizations, :only => [:index, :show]) if SETTINGS[:organizations_enabled]
put :refresh, :on => :member
post :import_puppetclasses, :on => :member
resources :environments, :only => [] do
post :import_puppetclasses, :on => :member
end
resources :autosign, :only => [:index]
end
resources :hosts, :except => [:new, :edit] do
get :status, :on => :member
put :puppetrun, :on => :member
put :boot, :on => :member
put :power, :on => :member
post :facts, :on => :collection
resources :audits ,:only => :index
resources :facts ,:only => :index, :controller => :fact_values
resources :host_classes, :path => :puppetclass_ids, :only => [:index, :create, :destroy]
resources :interfaces, :except => [:new, :edit]
resources :parameters, :except => [:new, :edit] do
collection do
delete '/', :to => :reset
end
end
resources :puppetclasses, :except => [:new, :edit]
resources :reports, :only => [:index, :show] do
get :last, :on => :collection
end
resources :smart_variables, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
end
end
end

if SETTINGS[:locations_enabled]
resources :locations, :except => [:new, :edit] do

# scoped by location
resources :domains, :only => [:index, :show]
resources :subnets, :only => [:index, :show]
resources :hostgroups, :only => [:index, :show]
resources :environments, :only => [:index, :show]
resources :users, :only => [:index, :show]
resources :config_templates, :only => [:index, :show]
resources :compute_resources, :only => [:index, :show]
resources :media, :only => [:index, :show]
resources :smart_proxies, :only => [:index, :show]
resources :filters, :only => [:index, :show]

resources :parameters, :except => [:new, :edit] do
collection do
delete '/', :to => :reset
end
end

# scoped by location AND organization
resources :organizations, :except => [:new, :edit] do
resources :domains, :only => [:index, :show]
resources :subnets, :only => [:index, :show]
resources :hostgroups, :only => [:index, :show]
resources :environments, :only => [:index, :show]
resources :users, :only => [:index, :show]
resources :config_templates, :only => [:index, :show]
resources :compute_resources, :only => [:index, :show]
resources :media, :only => [:index, :show]
resources :smart_proxies, :only => [:index, :show]
resources :filters, :only => [:index, :show]
end

end
end

if SETTINGS[:organizations_enabled]
resources :organizations, :except => [:new, :edit] do

# scoped by organization
resources :domains, :only => [:index, :show]
resources :subnets, :only => [:index, :show]
resources :hostgroups, :only => [:index, :show]
resources :environments, :only => [:index, :show]
resources :users, :only => [:index, :show]
resources :config_templates, :only => [:index, :show]
resources :compute_resources, :only => [:index, :show]
resources :media, :only => [:index, :show]
resources :smart_proxies, :only => [:index, :show]
resources :filters, :only => [:index, :show]

resources :parameters, :except => [:new, :edit] do
collection do
delete '/', :to => :reset
end
end

# scoped by location AND organization
resources :locations, :except => [:new, :edit] do
resources :domains, :only => [:index, :show]
resources :subnets, :only => [:index, :show]
resources :hostgroups, :only => [:index, :show]
resources :environments, :only => [:index, :show]
resources :users, :only => [:index, :show]
resources :config_templates, :only => [:index, :show]
resources :compute_resources, :only => [:index, :show]
resources :media, :only => [:index, :show]
resources :smart_proxies, :only => [:index, :show]
resources :filters, :only => [:index, :show]
end

end
end
get 'orchestration/(:id)/tasks', :to => 'tasks#index'
resources :plugins, :only => [:index]
end
end
end
(3-3/3)