X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/df5f366f4bd87ee90cf39248542435b1b924b58a..efeca068c2c25ee075ee8907a1937a5d4119775c:/services/api/lib/enable_jobs_api.rb diff --git a/services/api/lib/enable_jobs_api.rb b/services/api/lib/enable_jobs_api.rb index 63543ab3ad..cef76f08a5 100644 --- a/services/api/lib/enable_jobs_api.rb +++ b/services/api/lib/enable_jobs_api.rb @@ -2,38 +2,52 @@ # # SPDX-License-Identifier: AGPL-3.0 -Disable_jobs_api_method_list = ["jobs.create", - "pipeline_instances.create", - "pipeline_templates.create", - "jobs.get", - "pipeline_instances.get", - "pipeline_templates.get", - "jobs.list", - "pipeline_instances.list", - "pipeline_templates.list", - "jobs.index", - "pipeline_instances.index", - "pipeline_templates.index", - "jobs.update", - "pipeline_instances.update", - "pipeline_templates.update", - "jobs.queue", - "jobs.queue_size", - "job_tasks.create", - "job_tasks.get", - "job_tasks.list", - "job_tasks.index", - "job_tasks.update", - "jobs.show", - "pipeline_instances.show", - "pipeline_templates.show", - "jobs.show", - "job_tasks.show"] +Disable_update_jobs_api_method_list = ConfigLoader.to_OrderedOptions({ + "jobs.create"=>{}, + "pipeline_instances.create"=>{}, + "pipeline_templates.create"=>{}, + "jobs.update"=>{}, + "pipeline_instances.update"=>{}, + "pipeline_templates.update"=>{}, + "job_tasks.create"=>{}, + "job_tasks.update"=>{} + }) + +Disable_jobs_api_method_list = ConfigLoader.to_OrderedOptions({ + "jobs.create"=>{}, + "pipeline_instances.create"=>{}, + "pipeline_templates.create"=>{}, + "jobs.get"=>{}, + "pipeline_instances.get"=>{}, + "pipeline_templates.get"=>{}, + "jobs.list"=>{}, + "pipeline_instances.list"=>{}, + "pipeline_templates.list"=>{}, + "jobs.index"=>{}, + "pipeline_instances.index"=>{}, + "pipeline_templates.index"=>{}, + "jobs.update"=>{}, + "pipeline_instances.update"=>{}, + "pipeline_templates.update"=>{}, + "jobs.queue"=>{}, + "jobs.queue_size"=>{}, + "job_tasks.create"=>{}, + "job_tasks.get"=>{}, + "job_tasks.list"=>{}, + "job_tasks.index"=>{}, + "job_tasks.update"=>{}, + "jobs.show"=>{}, + "pipeline_instances.show"=>{}, + "pipeline_templates.show"=>{}, + "job_tasks.show"=>{}}) def check_enable_legacy_jobs_api - if Rails.configuration.enable_legacy_jobs_api == false || - (Rails.configuration.enable_legacy_jobs_api == "auto" && + # Create/update is permanently disabled (legacy functionality has been removed) + Rails.configuration.API.DisabledAPIs.merge! Disable_update_jobs_api_method_list + + if Rails.configuration.Containers.JobsAPI.Enable == "false" || + (Rails.configuration.Containers.JobsAPI.Enable == "auto" && Job.count == 0) - Rails.configuration.disable_api_methods += Disable_jobs_api_method_list + Rails.configuration.API.DisabledAPIs.merge! Disable_jobs_api_method_list end end