mirror of
https://git.vectorsigma.ru/public/atlantis.git
synced 2026-07-30 05:48:45 +00:00
* feat: atlantis import * feat: atlantis import * regenerate mock comment builder * remove duplicate err check * instrumented import command runner/builder * atlantis import subcommand accept args before hyphen * fix link checker * docs: review feedback * fix atlantis import options order * Update runatlantis.io/docs/using-atlantis.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/using-atlantis.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/using-atlantis.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/using-atlantis.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/using-atlantis.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update server/events/comment_parser.go Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update server/events/comment_parser.go Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/server-side-repo-config.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update runatlantis.io/docs/command-requirements.md Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update server/events/command_requirement_handler.go Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * Update server/events/command_requirement_handler_test.go Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com> * fix test import usage * fix e2e expected txt * fix doc link * docs: workflow import stage/step * docs fixup Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
45 lines
1.2 KiB
Go
45 lines
1.2 KiB
Go
package events
|
|
|
|
import (
|
|
"github.com/runatlantis/atlantis/server/events/command"
|
|
)
|
|
|
|
func NewImportCommandRunner(
|
|
pullUpdater *PullUpdater,
|
|
prjCmdBuilder ProjectImportCommandBuilder,
|
|
prjCmdRunner ProjectImportCommandRunner,
|
|
) *ImportCommandRunner {
|
|
return &ImportCommandRunner{
|
|
pullUpdater: pullUpdater,
|
|
prjCmdBuilder: prjCmdBuilder,
|
|
prjCmdRunner: prjCmdRunner,
|
|
}
|
|
}
|
|
|
|
type ImportCommandRunner struct {
|
|
pullUpdater *PullUpdater
|
|
prjCmdBuilder ProjectImportCommandBuilder
|
|
prjCmdRunner ProjectImportCommandRunner
|
|
}
|
|
|
|
func (v *ImportCommandRunner) Run(ctx *command.Context, cmd *CommentCommand) {
|
|
var err error
|
|
var projectCmds []command.ProjectContext
|
|
projectCmds, err = v.prjCmdBuilder.BuildImportCommands(ctx, cmd)
|
|
if err != nil {
|
|
ctx.Log.Warn("Error %s", err)
|
|
}
|
|
|
|
var result command.Result
|
|
if len(projectCmds) > 1 {
|
|
// There is no usecase to kick terraform import into multiple projects.
|
|
// To avoid incorrect import, suppress to execute terraform import in multiple projects.
|
|
result = command.Result{
|
|
Failure: "import cannot run on multiple projects. please specify one project.",
|
|
}
|
|
} else {
|
|
result = runProjectCmds(projectCmds, v.prjCmdRunner.Import)
|
|
}
|
|
v.pullUpdater.updatePull(ctx, cmd, result)
|
|
}
|