github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/prompts/service/new.go (about)

     1  package servicePrompts
     2  
     3  import (
     4  	structureSpec "github.com/taubyte/go-specs/structure"
     5  	serviceLib "github.com/taubyte/tau-cli/lib/service"
     6  	"github.com/taubyte/tau-cli/prompts"
     7  	"github.com/urfave/cli/v2"
     8  )
     9  
    10  func New(ctx *cli.Context) (*structureSpec.Service, error) {
    11  	service := &structureSpec.Service{}
    12  
    13  	taken, err := serviceLib.List()
    14  	if err != nil {
    15  		return nil, err
    16  	}
    17  
    18  	service.Name = prompts.GetOrRequireAUniqueName(ctx, NamePrompt, taken)
    19  	service.Description = prompts.GetOrAskForADescription(ctx)
    20  	service.Tags = prompts.GetOrAskForTags(ctx)
    21  	service.Protocol = GetOrRequireAProtocol(ctx)
    22  
    23  	return service, nil
    24  }