diff options
Diffstat (limited to 'lib/api/project_repository_storage_moves.rb')
-rw-r--r-- | lib/api/project_repository_storage_moves.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/api/project_repository_storage_moves.rb b/lib/api/project_repository_storage_moves.rb index fe6de3ea385..196b7d88500 100644 --- a/lib/api/project_repository_storage_moves.rb +++ b/lib/api/project_repository_storage_moves.rb @@ -34,6 +34,22 @@ module API present storage_move, with: Entities::ProjectRepositoryStorageMove, current_user: current_user end + + desc 'Schedule bulk project repository storage moves' do + detail 'This feature was introduced in GitLab 13.7.' + end + params do + requires :source_storage_name, type: String, desc: 'The source storage shard', values: -> { Gitlab.config.repositories.storages.keys } + optional :destination_storage_name, type: String, desc: 'The destination storage shard', values: -> { Gitlab.config.repositories.storages.keys } + end + post do + ::Projects::ScheduleBulkRepositoryShardMovesService.enqueue( + declared_params[:source_storage_name], + declared_params[:destination_storage_name] + ) + + accepted! + end end params do |