Skip to content

Hardening_conductor_entry_points

Mo Morsi edited this page Jan 10, 2013 · 3 revisions

Hardening/Conductor entry points

Hardening home page - Hardening_the_app

Conductor Entry Points

api controller namespace ‘’’not’‘’ analyzed as it is being removed

|.Controller|.Method|.Authenticates User|.Authorizes User + Data|.Validates Data|.Securely invokes functionality|_.Other| | | | | | | | |user_sessions|new|no|||yes|| |user_sessions|create|no||uses :login, :password params to login|?|uses regex global variable when doing http basic auth validation| |user_sessions|edit|||||method does not exist| |user_sessions|show|||||method does not exist| |user_sessions|update|||||method does not exist| |user_sessions|destroy|yes|||yes|| |users|new|n/a|Privilege::CREATE on User class if user is logged in|n/a|yes| |users|create|n/a|Privilege::MODIFY on User class if user is logged in|params[:commit] tested against static string, params[:user] used to create new User instance|yes|Quota may be set twice, is this correct (?);| |users|edit|yes|Privilege::MODIFY on User class unless user being edited is current user|looks up user by ’id’ parameter|yes| |users|show|yes|Privilege::VIEW on User class unless user being viewed is current user|looks up user by ‘id’ parameter, uses ‘details_tab’, ‘details_pane’ to determine which view is rendered, |yes|| |users|update|yes|Privilege::MODIFY on User class unless user being updated is current user|looks up user by ‘id’ param, updates user instance w/ ‘user’ param, tests ‘commit’ param against static ‘Reset’ string to control workflow|yes|| |users|destroy|yes|Privilege::MODIFY on User class|looks up user by ‘id’ param|yes| |users|multi_destroy|yes|Privilege::MODIFY on User class|looks up users by ‘user_selected’ param|yes| |users|filter|no (change?)|no|uses :current_path, :users_preset_filter, and :users_search params to construct redirect_to location|yes| |users|index|yes|Privilege::VIEW on User class|makes ‘params’ array available to views (good idea?); uses :users_preset_filter, :users_search params to filter users, :sort_by to sort users |yes| (method needs to be optimized)| |permissions|load_headers|n/a|n/a|uses :sort_by parameter to specify ‘order’ to db users query|yes|| |permissions|set_permission_object|n/a|Privilege::PERM_SET on db entity specified by :permission_object_type,:permission_object_id|uses :permission_object_type,:permission_object_id params to lookup db entity; :path_prefix, :use_tabs, :polymorphic_path_extras params to construct url path|yes|| |permissions|index|yes|Privilege::PERM_VIEW on db entity specified by :permission_object_type,:permission_object_id|see permissions::set_permission_object and permissions::load_headers|yes| |permissions|list|yes|||| |permissions|multi_destroy|yes|Privilege::PERM_SET on db entity specified by :permission_object_type,:permission_object_id and Privilege::PERM_SET on permission_objects of permissions specified :permission_selected|see permissions::set_permission_object; uses :permission_selected param to find Permission entities to delete|yes| |permissions|multi_update|yes|Privilege::PERM_SET on db entity specified by :permission_object_type,:permission_object_id|see permissions::set_permission_object; uses:user_role_selected parameter for user_id/role_id inputs to new Permission entity|yes| |permissions|filter|yes|||yes|| |permissions|create|yes|Privilege::PERM_SET on db entity specified by :permission_object_type,:permission_object_id|see permissions::set_permission_object; uses:user_role_selected parameter for user_id/role_id inputs to new Permission entity|yes| |permissions|new|yes|Privilege::PERM_SET on db entity specified by :permission_object_type,:permission_object_id|see permissions::set_permission_object and permissions::load_headers|yes| |permissions|edit|||||method does not exist| |permissions|show|yes||||method does not exist| |permissions|update|yes||||method does not exist| |permissions|destroy|yes|Privilege::PERM_SET on db entity specified by :permission[:id]|uses :permission[:id] to find permission to destroy|yes|| |settings|self_service|yes|Privilege::MODIFY|n/a|yes|| |settings|general_settings|yes|Privilege::MODIFY|n/a|yes|| |settings|index|yes|no|n/a|yes|| |settings|create|||||method does not exist| |settings|new|||||method does not exist| |settings|edit|||||method does not exist| |settings|show|||||method does not exist| |settings|update|yes|no|if params[self_service_default_quota] is set, it is used to update_attributes of the self_service_default_quota_metadata object|no|this method should be locked down + simplified (especially given the KEYS array) or removed alltogether| |settings|destroy|||||method does not exist| |pools|hardware_profiles|||||method does not exist, route should be removed| |pools|realms|||||method does not exist, route should be removed| |pools|multi_destroy|yes|Privilege::MODIFY on pools specified by params[:pools_selected]|params[:pools_selected] used as an array of ids to find|yes|| |pools|filter|no (change?)|no|uses:pools_preset_filter and :pools_search params to construct redirect_to location|yes|| |pools|index|yes|retrieves list of pools for current user for which they have Privilege::Create on deployments|used :details_tab, :only_tab, :view params to construct view components; uses :pools_preset_filter, :pools_search, :instances_preset_filter, :instances_search, :deployments_preset_filter,:deployments_search to apply_filters to Pools, Instances, Deployments|yes|| |pools|create|yes|Privilege::CREATE on Pool|uses params[:pool] to create a new pool|yes|| |pools|new|yes|Privilege::CREATE on Pool|uses params[:pool_family_id] to lookup pool|yes|should there be an additional privilege check for the pool family?| |pools|edit|yes|Privilege::MODIFY on the pool specified by params[:id]|uses params[:id] to find pool|yes|| |pools|show|yes|Privilege::VIEW on the pools specified by params[:id]|uses :details_tab, to format view components, uses :deployments_preset_filter, :deployments_search to apply_filters to pool deployments|yes|| |pools|update|yes|Privilege::MODIFY on the pool specified by params[:id]|uses params[:id] to find pool; uses params[:pool] to update pool; uses params[:quota] and :unlimited_quota to set max_running_instances of pool’s quota|yes|| |pools|destroy|yes|Privilege::MODIFY on the pool(s) specified by :pools_selected/:id/:ids params|uses :pools_selected/:id/:ids params to find pools to destroy|yes|| |deployments|multi_stop|yes|retrieves pools which the current_user has Privilege::Create on deployments, requires Privilege::Use of deployments’ instances|uses :deployments_selected to find deployments, uses :deployments_preset_filter, :deployments_search params to apply_filters to Deployment, and :page param to paginate Deployments |yes|can functionality can be delegated to a lower method?| |deployments|multi_destroy|y|requires Privilege::Modify on deployments specified by :deployments_selected, retrieves pools which the current_user has Privilege::Create on deployments|uses :deployments_selected param to find deployment, uses :backlink param as redirect path, uses :deployments_preset_filter, :deployments_search params to apply_filters to Deployment, and :page param to paginate Deployments|yes| | |deployments|launch_new|y|requires Privilege::Create on deployments in the pool specified by the :pool_id param|uses :pool_id param to find Pool|yes| | |deployments|launch_time_params|y|requires Privileges::Create on deployments in the pool corresponding to that specified in the :deployment param|:deployable_id param is used to find the deployable, :deployment param is used to construct a new deployment|yes| | |deployments|overview|y|requires Privileges::Create on deployments in the pool corresponding to that specified in the :deployment param, retrieves deployables which the current_user has Privilege::USE on, retrieves pools which the current_user has Privilege::Create on deployments|:deployable_id param is used to find the deployable, :deployment param is used to construct a new deployment|yes|Does not enforce permission checks on deployable found by deployable_id or realms/hardwareprofiles retrieved (change?)| |deployments|check_name|y|n|uses :name param to find deployable by name, returns true/false|yes|remove race condition comment| |deployments|launch_from_catalog|y|requires Privilege::View on catalog specified by catalog_id|uses :catalog_id to find catalog, uses :page command to paginate catalog deployables|yes| | |deployments|filter|y|no|uses :deployments_preset_filter and :deployments_search params to construct redirect_to location|yes|| |deployments|index|y|retrieves pools which the current_user has Privilege::Create on deployments, retrieves deployments in those pools|uses :deployments_preset_filter and :deployments_search params to filter deployments and :page param to paginate|yes| | |deployments|create|y|requires Privileges::Create on deployments in the pool corresponding to that specified in the :deployment param, retrieves deployables which the current_user has Privilege::USE on, retrieves pools which the current_user has Privilege::Create on deployments|:deployable_id param is used to find the deployable, :launch_parameters_encoded param is used to populate params[:deployment][:launch_parameters], :deployment param is used to construct a new deployment, :commit param used to direct flow control|yes|method can be simplified? scope of respond_to should be reduced, seems to do some steps twice| |deployments|new|y| | | | | |deployments|edit|y|requires Privilege::Modify on deployment specified by :id|uses :id param to find deployment|yes|| |deployments|show|y|requires Privilege::VIEW on deployment found w/ :id param, retrieves deployables which the current_user has Privilege::USE on, retrieves pools which the current_user has Privilege::Create on deployments|uses :id param to find deployment, uses :instances_preset_filter, :instance_search params to apply_filters to Instance, uses :detail_tab param to render view components|y|should further permission checks be performed on instances?| |deployments|update|y|requires Privilege::Modify on deployment specified by :id|uses :id param to find deployment, uses :deployment param to update_attributes of deployment found|yes|| |deployments|destroy|y|requires Privilege::Modify on deployment specified by :id, retrieves pools which the current_user has Privilege::Create on deployments|uses :id param to find deployment, uses :deployment param to update_attributes of deployment found|yes| | |instances|index|yes|instances are loaded for pools which current_user has Privilege::CREATE on Instance|assigns params array to params member and uses :deployment_id, :instances_preset_filter, and :instances_search params to apply_filter and where clause of Instance queries, uses :deployments_preset_filter, :deployments_search params to apply_filters to Deployment, and :page param to paginate Deployments|yes|| |instances|create|yes||||empty method, remove?| |instances|new|yes||||emtpy method, remove?| |instances|edit|yes|Privilege::MODIFY and Privilege::USE on the instance specified with :id param|:id param is used to find the instance|yes|| |instances|show|yes|instances are loaded for pools which current_user has Privilege::CREATE on Instance and requires Privilege::USE on instances specified by :id param|uses :details_tab and :details pane params to format view components, :page param to paginate instance events|yes|| |instances|update|yes|Privilege::MODIFY on instance specified w/ :id param|uses params[:instance] to update_attributes of instance specified by :id param|yes|| |instances|destroy|yes|Privilege::MODIFY on instance(s) specified by :id or :ids params|:id and :ids params used to lookup instances|yes|| |instances|start|||||method not defined, remove?| |instances|multi_stop|yes|Privilege::USE,instance on instances specified with:instance_selected param|params[:instance_selected] used to find Instances, params[:backlink] used as the redirect_to path on success|yes|| |instances|multi_reboot|yes|Privilege::USE,instance on instances specified with:instance_selected param|params[:instance_selected] used to find Instances, params[:backlink] used as the redirect_to path on success|yes|| |instances|remove_failed|||||method not defined, remove?| |instances|export_events|yes|instances are loaded for pools which current_user has Privilege::CREATE on Instance|uses :deployment_id, :instances_preset_filter, and :instances_search params to apply_filter and where clause of Instance queries|yes|will export.csv be ovrerridden for each request? (will this result in a race condition on parallel requests?)| |instances|filter|yes|no|uses :instances_preset_filter and :instances_search params to construct redirect_to location|yes|| |instances|key|yes|Privilege::MODIFY on instance specified w/ :id param|uses :id to find instance|yes|| |instances|stop|yes|no!|:id is used to lookup instance|yes|| |instances|reboot|yes|no!|:id is used to lookup instance|yes|| |instance_parameters|index|||||controller does not exist, route placeholder added, never implemented| |instance_parameters|create|||||controller does not exist| |instance_parameters|new|||||controller does not exist| |instance_parameters|edit|||||controller does not exist| |instance_parameters|show|||||controller does not exist| |instance_parameters|update|||||controller does not exist| |instance_parameters|destroy|||||controller does not exist| |image_imports|index|||||controller does not exist, removed [https://github.com/aeolusproject/conductor/commit/32cbe3b1c69c14c18b35300ecb903c4e103aefa6], route should be removed| |image_imports|create|||||controller does not exist, removed| |image_imports|new|||||controller does not exist, removed| |image_imports|edit|||||controller does not exist, removed| |image_imports|show|||||controller does not exist, removed| |image_imports|update|||||controller does not exist, removed| |image_imports|destroy|||||controller does not exist, removed| |hardware_profiles|multi_destroy|yes|Privilege::MODIFY on hardware profiles specified by params[::hardware_profile_selected]|:hardware_profile_selected param used to find hardwareprofiles to destroy|yes|| |hardware_profiles|filter|yes|no (change?)|uses :hardware_profiles_preset_filter and :hardware_profiles_search params to construct redirect_to location|yes|| |hardware_profiles|index|yes|no|assigns params array to params member and uses params[:hardware_profile] subattributes to construct new hwp|yes|| |hardware_profiles|create|yes|Privilege::CREATE on HardwareProfile|params[:hardware_profile] used to create a new hwp and :commit param used to determine rendering/redirect flow control|yes|see note about matching_provider_hardware_profiles| |hardware_profiles|new|yes|Privilege::CREATE on HardwareProfile|n/a|yes| |hardware_profiles|edit|yes|Privilege::MODIFY on hardware_profile specified by :id param|:id param is used to find User|yes|see note about matching_provider_hardware_profiles| |hardware_profiles|show|yes|Privilege::VIEW on hardware_profile specified by :id param|uses :details_tab and :details pane params to format view components, :id param to lookup hwp|yes|| |hardware_profiles|update|yes|Privilege::MODIFY on hardware_profile specified by id; and Privilege::VIEW on HardwareProfile|params[:id] used to find hwp, params[:hardware_profile] used to construct hwp|yes|see note about matching_provider_hardware_profiles| |hardware_profiles|destroy|yes|Privilege::MODIFY on hardware_profile specified by :id param|:id param is used to find User|yes|| |provider_accounts|multi_destroy|yes|requires Privilege::Modify on provider_accounts specified by :accounts_selected param|uses provider_id param to find provider, uses :accounts_selected param to find provider_accounts to destroy|yes|require privilege::modify on provider?| |provider_accounts|set_selected_provider|yes|n/a|uses :provider_account[:provider_id] to find provider|yes|| |provider_accounts|index|yes|retrieves provider accounts the current_user has Privilege::VIEW on||yes|| |provider_accounts|create|yes|requires Privilege::Create on ProviderAccounts on provider specified by params[:provider_account][:provider_id]|uses :provider_account[:provider] param to find provider by name, uses :provider_account[:provider_id] param to find provider, uses :provider_account param to create new provider, uses :quota][:maximum_running_instances] to set_maximum_running_instance on provider account quota|yes|| |provider_accounts|new|yes|n/a|uses :provider_id to find provider|yes|| |provider_accounts|edit|yes|requires Privilege::Modify on provider_account specified by :id param|uses :id to find provider_account, uses :provider_id to find provider|yes|update method also requires user to have Privilege::Modify on provider, need to enforce that here by restricting which provider accounts are retrieved?| |provider_accounts|show|yes|retrieves provider accounts the current_user has Privilege::VIEW on, requires Privilege::VIEW on the provider_account specified by the :id param|uses :id param to find provider account, uses :provider_id to find provider, uses :details_tab param to render view components, uses :test_account param to direct flow control|yes|| |provider_accounts|update|yes|requires Privilege::Modify on provider_account specified by :id param, and provider_account.provider|uses :id param to find provider_account to update, uses :quota[:maximum_running_instances] to set_maximum_running_instances on provider account ,uses :provider_account param to update_attributes of provider_account |yes|| |provider_accounts|destroy|yes|requires Privilege::Modify on provider_account|uses :id param to find provider_account to destroy, uses :provider_id param to find provider|yes|| |providers|multi_destroy|||||method does not exist, remove| |providers|index|yes|retrieves list of providers current user has Privilege::View on|assigns params array to params member and uses session[:current_provider_id] to find provider|yes|| |providers|create|yes|retrieves list of providers current user has Privilege::View on and Privilege::CREATE on Provider|uses :provider param to create new provider and lookup provider type|yes|| |providers|new|yes|retrieves list of providers current user has Privilege::View on and requires Privilege::CREATE on Provider |n/a|yes|| |providers|edit|yes|retrieves list of providers current user has Privilege::View on, list of provider accounts current user has Privilege::View on, and requires Privilege::MODIFY & Privilege::VIEW on provider specified by :id|uses :id param to lookup provider, :test_provider param as flow control boolean, :details_tab to format view component|yes|| |providers|show|yes|retrieves list of providers current user has Privilege::View on and requires Privilege::VIEW on provider specified by :id|uses :id param to lookup provider, :test_provider param as flow control boolean, :details_tab and :details_pane parameters to format view components|yes|| |providers|update|yes|retrieves list of providers current user has Privilege::View on, list of provider accounts current user has Privilege::View on, and requires Privilege::MODIFY & Privilege::VIEW on provider specified by :id param|uses :id param to find provider, params[:provider] to update provider attributes, :details_tab to format view components,:provider_accounts_preset_filter and :provider_accounts_search to apply_filters to provider accounts|yes|| |providers|destroy|yes|retrieves list of providers current user has Privilege::View on and requires Privilege::MODIFY on provider specified by :id param|uses :id param to find provider to destroy|yes|| |config_servers|test|yes|no|uses :id param to find config server|yes|evaluated v0.9.0rc1 as 0.4.0 didn’t incorporate config_servers| |config_servers|index|yes||||method missing| |config_servers|new|yes|requires Privilege::Modify on provider_account specified by :provider_account_id param|uses :provider_account_id to find provider_account|yes|| |config_servers|create|yes|requires Privilege::Modify on provider_account specified by :provider_account_id param|uses :provider_account_id to find provider_account, uses :config_server to create new config_server|yes|calls strip! on each config_server param| |config_servers|edit|yes|requires Privilege::Modify on provider_account of config_server specified by :id|uses :id to find config_server|yes|| |config_servers|show|yes||||method missing| |config_servers|update|yes|requires Privilege::Modify on provider_account of config_server specified by :id param|uses :id to find config_server to update, uses :config_server to update_attributes of config_server found|yes|calls strip! on each config_server param| |config_servers|destroy|yes|requires Privilege::Modify on provider_account of config_server specified by :id param|uses :id to find config_server to destroy|yes|| |roles|multi_destroy|y|requires Privilege::PERM_SET|uses :role_selected param to find roles to destroy|yes|| |roles|index|y|no?|uses :order_field, :order_dir, :page to paginate / sort roles retrieved|yes|| |roles|create|y|requires Privilege::PERM_SET|n/a|yes| |roles|new|y|requires Privilege::PERM_SET|uses :role param to create new role|yes|note about roles scope needs to be flushed out| |roles|edit|y|requires Privilege::PERM_SET|uses :id param to find the role|yes|| |roles|show|y|requires Privilege::PERM_VIEW|uses :id param to find the role; uses :details_tab, :details_pane params to format view components|no|details tab param should be validated before being passed into render partial| |roles|update|y|requires Privilege::PERM_SET|uses :id param to find the role; uses :commit param to direct flow control, uses :role param to update role found|yes|| |roles|destroy|y|requires Privilege::PERM_SET|uses :id param to find the role|yes|| |pool_families|multi_destroy|y|requires Privilege::Modify on pool families specified by :pool_family_select param|uses :pool_family_select param to find pool families to destroy|yes|| |pool_families|add_provider_account|y|requires Privilege::Modify on pool family specified by :id, requires Privileges::Use on provider accounts specified by :accounts_selected param, retrieves provider accounts the current user has Privilege::User on|uses :id param to find pool family, uses :accounts_selected param to find provider accounts to add to pool family|yes|| |pool_families|remove_provider_accounts|y|requires Privilege::Modify on pool family specified by :id|uses :id param to find pool family, uses :accounts_selected param to find provider accounts to remove from pool family|yes|| |pool_families|index|y|retrieves PoolFamilies which the current_user has Privilege::View on Pool|uses :order_field, :order_dir params to sort pool families|yes|| |pool_families|create|y|requires Privilege::Create on PoolFamily|n/a|yes| |pool_families|new|y|requires Privilege::Create on PoolFamily|uses :pool_family param to create new pool family|yes|| |pool_families|edit|y|requires Privilege::Modify on pool family specified by :id|uses :id param to find pool family|yes|| |pool_families|show|y|requires Privilege::View on pool family specified by :id param, retrieves PoolFamilies which the current_user has Privilege::View on Pool|uses :id to find PoolFamily, uses :order_field, :order_dir params to sort pool families, uses details_tab param to render view components|yes|should restrict found images?| |pool_families|update|y|requires Privilege::Modify on pool family specified by :id|uses :id param to find pool family, uses :pool_family param to update_attributes of pool family|yes|| |pool_families|destroy|y|requires Privilege::Modify on pool family specified by :id|uses :id param to find pool family|yes|| |realms|multi_destroy|y|requires Privilege::MODIFY on Realm|uses :realm_selected param to find realms to destroy |yes|can be optimized to call require_privilege method once| |realms|index|y|no|uses :realms_preset_filter, :realms_search params to apply_filters to FrontendRealms retrieved|yes|| |realms|filter|y|no (change?)|uses :realms_preset_filter and :realms_search params to construct redirect_to location|yes|| |realms|new|y|requires Privilege::CREATE on Realm, retrieves privileges on which current_user has Privilege::VIEW|n/a|yes|| |realms|create|y|requires Privilege::CREATE on Realm, retrieves privileges on which current_user has Privilege::VIEW|uses :frontend_realm param to create new realm|yes|| |realms|edit|y|requires Privilege::MODIFY on Realm, retrieves privileges on which current_user has Privilege::VIEW|uses :id param to find FrontendRealm|yes|| |realms|show|y|no?|uses :id param to find FrontendRealm; uses :details_tab, :details_pane params to format view components|yes|| |realms|update|y|requires Privilege::MODIFY on Realm, retrieves privileges on which current_user has Privilege::VIEW|uses :id param to find FrontendRealm; uses :commit param to direct flow control, uses :frontend_realm param to update_attributes of realm found|yes|| |realms|destroy|y|requires Privilege::MODIFY on Realm|uses :id param to find FrontendRealm to destroy|yes|| |provider_realms|index|yes|n/a|uses :provider_realms_preset_filter, and :provider_realms_search to apply_filters params to realms|yes (?)|evaluated v0.9.0rc1 as 0.4.0 didn’t incorporate provider_realms, should restrict providers retrieved in any way?| |provider_realms|filter|yes|n/a|uses :provider_realms_preset_filter, and :provider_realms_search params to construct redirect_to location|yes|| |provider_realms|create|||||method does not exist| |provider_realms|new|||||method does not exist| |provider_realms|edit|||||method does not exist| |provider_realms|show|yes|n/a|uses :id param to find realm, uses :details_tab and :details pane params to format view components|yes|| |provider_realms|update|||||method does not exist| |provider_realms|destroy|||||method does not exist| |realm_mappings|new|yes|requires Privilege::Create on Realm, retrieves providers which the current_user has Privilege::View on|uses :frontend_realm_id, :realm_or_provider_type to construct placeholder RealmBackendTarget |yes (?)|if :realm_or_provider_type param == ‘Realm’, all realms are retrieved, want to limit this?| |realm_mappings|multi_destroy|yes|requires Privilege::Modify on Realm|uses :id param to find RealmBackendTarget to destroy, uses :frontend_realm_id param to construct redirect path|yes|| |realm_mappings|index|||||method does not exist| |realm_mappings|create|yes|requires Privilege::Create on Realm|uses :realm_backend_targets param to create new RealmBackendTarget|yes|| |realm_mappings|edit|||||method does not exist| |realm_mappings|show|||||method does not exist| |realm_mappings|update|||||method does not exist| |realm_mappings|destroy|||||method does not exist| |deployables|multi_destroy|y|requires Privilege::Modify on deployables found w/ :deployables_selected param|:deployables_selected param is used to find deployable, :catalog_id param is used to find catalog if present|no|Permission check should be enforced on catalog retrieved| |deployables|filter|y|no (change?)|uses :catalog_entries_preset_filter and :catalog_entries_search params to construct redirect_to location|yes|| |deployables|definition|y|requires Privilege::View on deployable found w/ :id param|:id param is used to find deployable|yes|| |deployables|build|y|requires Privilege::View on deployable found w/ :id param, requires Privilege::Modify on catalog found by :catalog_id param if present, retrieves provider accounts current_user has Privilege::VIEW on|:id param is used to find deployable, :catalog_id param is used to find catalog if present, uses :build_options to determine flow control |yes|| |deployables|index|y|retrieves all deployables which current_user has Privilege::VIEW on ‘’’only if’’’ catalog_id is not self, no permission check otherwise|uses :catalog_id to lookup catalog|no![](|should verify use has Privilege::VIEW on catalog if catalog_id is set| |deployables|new|y| requires Privilege::CREATE on Deployable, retrieves frontend hardware profiles which current_user has Privilege::VIEW on, retrieves catalogs which current_user has Privilege::Modify on|uses :deployable param to create new deployable, uses :create_from_image param to find warehouse image, assigned :catalog_id param to @selected_catalogs member variable and uses it to find Catalog, uses :from_url param to set @form_option param to one of two static values|no|should check user has access to catalog retrieved w/ catalog_id param| |deployables|create|y|requires Privilege::CREATE on Deployable, requires Privilege::VIEW on frontend hardware profile retreived via :hardware_profile param, requires Privilege::MODIFY on catalogs selected via :catalog_id param; retrieves catalogs which current_user has Privilege::Modify on|uses :cancel param to direct flow control, uses :catalog_id param to find Catalog, uses :deployable param to create new deployable, uses :deployable[:name] param to set deployable xml filename; uses :url param as basis of a http call to retrieve xml and to set xml filename ; uses :create_from_image parameter to find warehouse image; uses :hardware_profile param to find frontend hardware profile; uses :edit_xml param to direct flow control; uses :form_option param to set @form_option to one of two static values|no|the cyclomatic complexity of this method is rather large| |deployables|edit|y|requires Privilege::Modify on deployable found w/ :id param|:id param is used to find deployable, :catalog_id param is used to find catalog if present|no|Privilege::VIEW should be enforced on the catalog found| |deployables|show|y|requires Privilege::View on deployable found w/ :id param, retrieves catalogs which current_user has Privilege::View on and are associated /w found deployable, retrieves ProviderAccounts which current_user has Privilege::View on|:id param is used to find deployable, :catalog_id param is used to find catalog if present|no|Privilege::VIEW should be enforced on the catalog found; the cyclomatic complexity of this method is rather large, queries several backend deltacloud components for real-time updates| |deployables|update|y|requires Privilege::Modify on deployable found w/ :id param|:id param is used to find deployable, :catalog_id param is used to find catalog if present, :deployable param is used to update_attributes of found deployable; :edit_xml param is used to set :edit_xml view variable|no|Permission check should be enforced on catalog retrieved| |deployables|destroy|y|requires Privilege::Modify on deployable found w/ :id param|:id param is used to find deployable, :catalog_id param is used to find catalog if present|no|Permission check should be enforced on catalog retrieved| |catalogs|destroy|y|requires Privilege::Modify on catalog specified by :id param|uses :id param to find catalog to destroy|yes| |catalogs|filter|y|uses :catalogs_preset_filter and :catalogs_search params to construct redirect_to location|yes|evaluated v0.9.0rc1 as 0.4.0 didn't incorporate this method| |catalogs|index|y|retrieves Catalog which current user has Privilege::View on|n/a|yes|| |catalogs|new|y|requires Privilege::Create on Catalog, retrieves pools which the current_user has Privilege::Modify on|uses :catalog param to create temporary catalog|yes|follow through w/ comment, remove params from being used| |catalogs|create|y|requires Privilege::Create on Catalog, requires Privilege::Modify on pool which we are creating catalog for, retrieves pools which the current_user has Privilege::Modify on|uses :catalog param to create new catalog|yes|| |catalogs|edit|y|requires Privilege::Modify on catalog specified by :id param, retrieves pools which the current_user has Privilege::Modify on|uses :id param to find catalog|yes|| |catalogs|show|y|requires Privilege::View on Catalog specified by :id param|uses :id param to find catalog|yes|| |catalogs|update|y|requires Privilege::Modify on catalog specified by :id param and its pool|uses :id param to find catalog to update, uses :catalog param to update_attributes of catalog|yes|| |catalogs|multi_destroy|y|requires Privilege::Modify on catalogs specified by :catalogs_selected param|uses :catalogs_selected param to find catalogs to destroy|yes|| |catalog_entries|index|y|retrieves catalog_entries which the current_user has Privilege::View on|n/a|yes|| |catalog_entries|create|y|requires Privilege::Create on CatalogEntry|uses :cancel param to direct flow control, uses :catalog_entry param to create new catalog entry|yes|| |catalog_entries|new|y|requires Privilege::Create on CatalogEntry, retrieves catalogs which the current_user has Privilege::Modify on|uses :catalog_entry param to create new temporary catalog entry|yes|| |catalog_entries|update|y|requires Privilege::Modify on catalog entry specified by the :id param, retrieves catalogs which the current_user has Privilege::Modify on|uses :id param to find catalog_entry, uses :catalog_entry param to update_attributes of catalog entry|yes|| |catalog_entries|show|y|requires Privilege::View on the catalog entry specified by the :id param|uses :id param to find catalog|yes|| |catalog_entries|edit|y|requires Privilege::Modify on catalog entry specified by the :id param, retrieves catalogs which the current_user has Privilege::Modify on|uses :id param to find catalog_entry|yes|| |catalog_entries|destroy|y|requires Privilege::Modify on catalog_entry specified by the :id param|uses :id param to find catalog entry to destroy|yes|| |catalog_entries|multi_destroy|y|requires Privilege::Modify on catalog_entries specified by the :catalog_entries_selected param|uses :catalog_entries_selected param to find catalog entry to destroy|yes|| |images|rebuild_all|y|retrieves provides which current_user has Privilege::View on|uses :id param to find warehouse image|yes|| |images|push_all|y|||| |images|template|y||uses :id param to find warehouse image|yes|| |images|edit_xml|y|no|uses :environment param to find pool family, sets @name member var using :name param, :image_url param is used to issue rest call to retrieve xml, :image_file is used a file upload param containing xml, :edit param is used to direct flow control|yes|| |images|overview|y|no|uses :environment param to find pool family, sets @name member var using :name param, sets @xml using :image_xml param|yes|| |images|destroy|y|no|uses :id param to find image warehouse image to destroy|yes|| |images|import|y|no|uses :provider_account param to find provider account; uses :name command in image xml; uses :image_id param to lookup id via deltacloud driver|yes|| |images|index|y|no?|n/a|yes|| |images|create|y|no)|uses :environment param to find pool family, sets name member var using :name param, sets xml using :image_xml param; :back, :make_deployable params is used to direct flow control|yes|| |images|new|y|retrieves provider accounts which current_user has Privilege::Use on|uses :tab param to direct flow control, uses :enviornment param to find PoolFamilies|yes|| |images|edit|||||method does not exist and should be removed| |images|show|y|no!|uses :id param to find warehouse image, uses :build param to select build if present|yes|| |images|update|||||method does not exist and should be removed| |images|multi_destroy|y|no|uses :images_selected param to find image warehouse images to destroy|yes|| |target_images|index|||||method does not exist| |target_images|create|yes|requires Privilege::Use on pool_family of warehouse image specified by :image_id param|uses :image_id to find warehouse image, uses :image_id, :build_id, and :target params to create new image factory image; uses :image_id, :build_id params to construct redirect_path|no|should verify user has rights to warehouse image and build, should not use global exception variables, evaluated v0.9.0rc1 as 0.4.0 didn’t incorporate target_images| |target_images|new|||||method does not exist| |target_images|edit|||||method does not exist| |target_images|show|||||method does not exist| |target_images|update|||||method does not exist| |target_images|destroy|yes|requires Privilege::Use on pool_family of warehouse image specified by :image_id param|uses :image_id param to find warehouse image, uses :id param to find warehouse target image to destroy; uses :image_id param to construct redirect_path|yes (?)|should require additional restrictions to delete image, look into rescue nil bit| |provider_images|index|||||method does not exist| |provider_images|create|yes|requires Privilege::Use on pool_family of warehouse image specified by :image_id param|uses :image_id to find warehouse image, uses :account_id to find provider_account, uses :image_id, :build_id, :target_image_id params to create new image factory provider image; uses :image_id, :build_id to construct redirect_to path|no|should restrict provider account to ensure user has access; evaluated v0.9.0rc1 as 0.4.0 didn’t incorporate provider_images| |provider_images|new|||||method does not exist| |provider_images|edit|||||method does not exist| |provider_images|show|||||method does not exist| |provider_images|update|||||method does not exist| |provider_images|destroy|yes|requires Privilege::Use on pool_family of warehouse image specified by :image_id param|uses :image_id param to find warehouse image, uses :id param to find warehouse image to destroy; uses :image_id param to construct redirect_path|yes (?)|should require additional restrictions to delete image, look into rescue nil bit| |provider_images|index|||||method does not exist| |provider_types|index|yes||||yes|| |dashboard|dashboard|||||dashboard controller removed|

Clone this wiki locally