profile

package
v0.21.0-alpha.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ProfileAddCmd = &cobra.Command{
	Use:     "add",
	Short:   "Add profile",
	Args:    cobra.NoArgs,
	Aliases: []string{"new"},
	Run: func(cmd *cobra.Command, args []string) {
		c, err := config.GetConfig()
		if err != nil {
			if !config.IsNotExist(err) {
				log.Fatal(err)
			}

			c = &config.Config{
				DefaultIdeId: config.DefaultIdeId,
				Profiles:     []config.Profile{},
			}

			if err := c.Save(); err != nil {
				log.Fatal(err)
			}
		}

		profileAddView := profile.ProfileAddView{
			ProfileName: profileNameFlag,
			ApiUrl:      apiUrlFlag,
			ApiKey:      apiKeyFlag,
		}

		if profileAddView.ProfileName != "" && profileAddView.ApiUrl != "" && profileAddView.ApiKey != "" {
			_, err = addProfile(profileAddView, c, true)
		} else {
			_, err = CreateProfile(c, &profileAddView, true)
		}

		if err != nil {
			log.Fatal(err)
		}
	},
}
View Source
var ProfileCmd = &cobra.Command{
	Use:   "profile",
	Short: "Manage profiles",
	Args:  cobra.NoArgs,
	Run: func(cmd *cobra.Command, args []string) {
		c, err := config.GetConfig()
		if err != nil {
			log.Fatal(err)
		}

		profilesList := c.Profiles

		if len(profilesList) == 0 {
			views.RenderInfoMessage("Add a profile by running `daytona profile add`")
			return
		}

		if len(profilesList) == 1 {
			views.RenderInfoMessage(fmt.Sprintf("You are using profile %s. Add a new profile by running `daytona profile add`", profilesList[0].Name))
			return
		}

		chosenProfile, err := profile.GetProfileFromPrompt(profilesList, c.ActiveProfileId, true)
		if err != nil {
			log.Fatal(err)
		}

		if chosenProfile.Id == profile.NewProfileId {
			_, err = CreateProfile(c, nil, true)
			if err != nil {
				log.Fatal(err)
			}
			return
		}

		if chosenProfile.Id == "" {
			return
		}

		profile, err := c.GetProfile(chosenProfile.Id)
		if err != nil {
			log.Fatal(err)
		}

		c.ActiveProfileId = profile.Id

		err = c.Save()
		if err != nil {
			log.Fatal(err)
		}

		views.RenderInfoMessage(fmt.Sprintf("Active profile set to: %s", profile.Name))
	},
}
View Source
var ProfileUseCmd = &cobra.Command{
	Use:   "use",
	Short: "Set the active profile",
	Args:  cobra.ExactArgs(1),
	Run: func(cmd *cobra.Command, args []string) {
		c, err := config.GetConfig()
		if err != nil {
			log.Fatal(err)
		}

		if len(args) == 0 {
			log.Fatal("Please provide the profile name")
		}

		profileArg := args[0]

		var chosenProfile config.Profile

		for _, profile := range c.Profiles {
			if profile.Name == profileArg || profile.Id == profileArg {
				chosenProfile = profile
				break
			}
		}

		if chosenProfile == (config.Profile{}) {
			log.Fatal("Profile does not exist: ", profileArg)
		}

		c.ActiveProfileId = chosenProfile.Id

		err = c.Save()
		if err != nil {
			log.Fatal(err)
		}

		if output.FormatFlag != "" {
			output.Output = chosenProfile.Id
			return
		}

		views.RenderInfoMessage(fmt.Sprintf("Active profile set to %s", chosenProfile.Name))
	},
}

Functions

func CreateProfile

func CreateProfile(c *config.Config, profileAddView *profile.ProfileAddView, notify bool) (string, error)

func EditProfile

func EditProfile(c *config.Config, notify bool, profileToEdit *config.Profile) error

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL