func oAuthTokenRun()

in cobra/controller/oAuthToken.go [78:134]


func oAuthTokenRun(cmd *cobra.Command, args []string) error {

	token := dao.GetOrganizationToken(profile)
	client := aid.GetTFEClient(token)

	fArg := args[0]
	switch fArg {
	case "list":
		organization := dao.GetOrganization(profile)
		list, err := oAuthTokenList(client, organization)
		if err == nil {
			aid.PrintOAuthTokenList(list)
		} else {
			return fmt.Errorf("no o-auth-tokens was found")
		}
	case "read":
		id, err := cmd.Flags().GetString("id")
		if err != nil {
			return fmt.Errorf("unable to get flag id\n%v", err)
		}

		oAuthToken, err := oAuthTokenRead(client, id)
		if err == nil {
			fmt.Println(aid.ToJSON(oAuthToken))
		} else {
			return fmt.Errorf("o-auth-token %s not found\n%v", id, err)
		}
	case "update":
		id, err := cmd.Flags().GetString("id")
		if err != nil {
			return fmt.Errorf("unable to get flag id\n%v", err)
		}

		options := aid.GetOAuthTokenUpdateOptions(cmd)
		oAuthToken, err := oAuthTokenUpdate(client, id, options)

		if err == nil && oAuthToken.ID != "" {
			fmt.Println(aid.ToJSON(oAuthToken))
		} else {
			return fmt.Errorf("unable to create o-auth-token\n%v", err)
		}
	case "delete":
		id, err := cmd.Flags().GetString("id")
		if err != nil {
			return fmt.Errorf("unable to get flag id\n%v", err)
		}

		err = oAuthTokenDelete(client, id)
		if err == nil {
			fmt.Printf("o-auth-token %s deleted successfully\n", id)
		} else {
			return fmt.Errorf("unable to delete o-auth-token %s\n%v", id, err)
		}
	}

	return nil
}