func NewFleetUpdater()

in fast-build-update-tool/internal/runner/fleet_updater.go [32:50]


func NewFleetUpdater(ctx context.Context, logger *config.ApplicationLogger, args config.CLIArgs) (*FleetUpdater, error) {
	slogger := logger.Logger.With("fleetId", args.FleetId)

	gameLift, err := gamelift.NewGameLiftClient(ctx, logger.AwsLogger)
	if err != nil {
		return nil, err
	}

	return &FleetUpdater{
		args:                   args,
		gameLiftClient:         gameLift,
		logger:                 slogger,
		updateScriptGenerator:  tools.NewInstanceUpdateScriptGenerator(args.GetUpdateOperation(), args.BuildZipPath, args.LockName),
		sshConfigManager:       tools.NewSSHConfigManager(slogger, args.PrivateKeyPath, args.SSHPort),
		zipValidator:           tools.NewZipValidator(args.BuildZipPath),
		instanceUpdaterFactory: NewInstanceUpdaterFactory(ctx, slogger, gameLift, args),
		reportWriter:           NewFleetUpdateReportWriter(args.FleetId, args.Verbose),
	}, nil
}