summaryrefslogtreecommitdiff
path: root/lib/api/admin/plan_limits.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/admin/plan_limits.rb')
-rw-r--r--lib/api/admin/plan_limits.rb28
1 files changed, 23 insertions, 5 deletions
diff --git a/lib/api/admin/plan_limits.rb b/lib/api/admin/plan_limits.rb
index 7ce70d85d46..49b41b44a18 100644
--- a/lib/api/admin/plan_limits.rb
+++ b/lib/api/admin/plan_limits.rb
@@ -5,6 +5,8 @@ module API
class PlanLimits < ::API::Base
before { authenticated_as_admin! }
+ PLAN_LIMITS_TAGS = %w[plan_limits].freeze
+
feature_category :not_owned # rubocop:todo Gitlab/AvoidFeatureCategoryNotOwned
helpers do
@@ -17,10 +19,17 @@ module API
end
desc 'Get current plan limits' do
+ detail 'List the current limits of a plan on the GitLab instance.'
success Entities::PlanLimit
+ failure [
+ { code: 401, message: 'Unauthorized' },
+ { code: 403, message: 'Forbidden' }
+ ]
+ tags PLAN_LIMITS_TAGS
end
params do
- optional :plan_name, type: String, values: Plan.all_plans, default: Plan::DEFAULT, desc: 'Name of the plan'
+ optional :plan_name, type: String, values: Plan.all_plans, default: Plan::DEFAULT,
+ desc: 'Name of the plan to get the limits from. Default: default.'
end
get "application/plan_limits" do
params = declared_params(include_missing: false)
@@ -29,16 +38,24 @@ module API
present plan.actual_limits, with: Entities::PlanLimit
end
- desc 'Modify plan limits' do
+ desc 'Change plan limits' do
+ detail 'Modify the limits of a plan on the GitLab instance.'
success Entities::PlanLimit
+ failure [
+ { code: 400, message: 'Bad request' },
+ { code: 401, message: 'Unauthorized' },
+ { code: 403, message: 'Forbidden' }
+ ]
+ tags PLAN_LIMITS_TAGS
end
params do
- requires :plan_name, type: String, values: Plan.all_plans, desc: 'Name of the plan'
+ requires :plan_name, type: String, values: Plan.all_plans, desc: 'Name of the plan to update'
optional :ci_pipeline_size, type: Integer, desc: 'Maximum number of jobs in a single pipeline'
optional :ci_active_jobs, type: Integer, desc: 'Total number of jobs in currently active pipelines'
optional :ci_active_pipelines, type: Integer, desc: 'Maximum number of active pipelines per project'
- optional :ci_project_subscriptions, type: Integer, desc: 'Maximum number of pipeline subscriptions to and from a project'
+ optional :ci_project_subscriptions, type: Integer,
+ desc: 'Maximum number of pipeline subscriptions to and from a project'
optional :ci_pipeline_schedules, type: Integer, desc: 'Maximum number of pipeline schedules'
optional :ci_needs_size_limit, type: Integer, desc: 'Maximum number of DAG dependencies that a job can have'
optional :ci_registered_group_runners, type: Integer, desc: 'Maximum number of runners registered per group'
@@ -50,7 +67,8 @@ module API
optional :npm_max_file_size, type: Integer, desc: 'Maximum NPM package file size in bytes'
optional :nuget_max_file_size, type: Integer, desc: 'Maximum NuGet package file size in bytes'
optional :pypi_max_file_size, type: Integer, desc: 'Maximum PyPI package file size in bytes'
- optional :terraform_module_max_file_size, type: Integer, desc: 'Maximum Terraform Module package file size in bytes'
+ optional :terraform_module_max_file_size, type: Integer,
+ desc: 'Maximum Terraform Module package file size in bytes'
optional :storage_size_limit, type: Integer, desc: 'Maximum storage size for the root namespace in megabytes'
end
put "application/plan_limits" do