func NewSSHCommandRunner()

in fast-build-update-tool/internal/tools/ssh_command_runner.go [28:43]


func NewSSHCommandRunner(logger *slog.Logger, localUpdateScriptPath string, sshPort int32, sshKey ssh.Signer, instance *gamelift.Instance) (*SSHCommandRunner, error) {
	updateScriptCommand, err := generateUpdateScriptCommand(localUpdateScriptPath, instance)
	if err != nil {
		return nil, err
	}

	return &SSHCommandRunner{
		logger:              logger.With("context", "SSHCommandRunner"),
		sshPort:             sshPort,
		instanceIpAddress:   instance.IpAddress,
		instanceId:          instance.InstanceId,
		sshKey:              sshKey,
		updateScriptCommand: updateScriptCommand,
		remoteUserName:      string(config.RemoteUserForOperatingSystem(instance.OperatingSystem)),
	}, nil
}