You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: reset.go
    path of file: ./repos/cds/cli/cdsctl
    
    the code of the file until where you have to start completion: package main

import (
	"fmt"
	"os"

	"github.com/ovh/cds/cli"
	"github.com/ovh/cds/sdk"
	"github.com/ovh/cds/sdk/cdsclient"
	"github.com/spf13/cobra"
)

func reset() *cobra.Command {
	return cli.NewCommand(resetCmd, resetFunc, cli.SubCommands{resetConfirm()}, cli.CommandWithoutExtraFlags)
}

var resetCmd = cli.Command{
	Name:  "reset-password",
	Short: "Reset CDS user password",
	Flags: []cli.Flag{
		{
			Name: "email",
		},
		{
			Name:      "api-url",
			ShortHand: "H",
			Usage:     "Url to your CDS api.",
		},
	},
}

func resetFunc(v cli.Values) error {
	noInteractive := v.GetBool("no-interactive")

	apiURL, err := getAPIURL(v)
	if err != nil {
		return err
	}

	// Load all drivers from given CDS instance
	client := cdsclient.New(cdsclient.Config{
		Host:                  apiURL,
		Verbose:               os.Getenv("CDS_VERBOSE") == "true" || v.GetBool("verbose"),
		InsecureSkipVerifyTLS: os.Getenv("CDS_INSECURE") == "true" || v.GetBool("insecure"),
	})
	drivers, err := client.AuthDriverList()
	if err != nil {
		return cli.WrapError(err, "Cannot list auth drivers")
	}
	if len(drivers.Drivers) == 0 {
		return cli.NewError("No auth
    
func resetFunc(v cli.Values) error {
	noInteractive := v.GetBool("no-interactive")

	apiURL, err := getAPIURL(v)
	if err != nil {
		return err
	}

	// Load all drivers from given CDS instance
	client := cdsclient.New(cdsclient.Config{
		Host:                  apiURL,
		Verbose:               os.Getenv("CDS_VERBOSE") == "true" || v.GetBool("verbose"),
		InsecureSkipVerifyTLS: os.Getenv("CDS_INSECURE") == "true" || v.GetBool("insecure"),
	})
	drivers, err := client.AuthDriverList()
	if err != nil {
		return cli.WrapError(err, "Cannot list auth drivers")
	}
	if len(drivers.Drivers) == 0 {
		return cli.NewError("No authentication driver configured")
	}

	var localConsumerDriverEnable bool
	for _, d := range drivers.Drivers {
		if d.Type == sdk.ConsumerLocal {
			localConsumerDriverEnable = true
			break
		}
	}

	if !localConsumerDriverEnable {
		return cli.NewError("No authentication driver configured")
	}

	email := v.GetString("email")
	if email == "" && !noInteractive {
		email = cli.AskValue("Email")
	}

	req := sdk.AuthConsumerSigninRequest{
		"email": email,
	}
	if err := client.AuthConsumerLocalAskResetPassword(req); err != nil {
		return err
	}

	fmt.Println("Reset successful. Instructions have been sent to your email address.")
	return nil
}