github.com/pluralsh/plural-cli@v0.9.5/cmd/plural/upgrade.go (about)

     1  package plural
     2  
     3  import (
     4  	"io"
     5  	"os"
     6  
     7  	"github.com/pluralsh/plural-cli/pkg/api"
     8  	"github.com/urfave/cli"
     9  )
    10  
    11  func (p *Plural) handleUpgrade(c *cli.Context) (err error) {
    12  	p.InitPluralClient()
    13  	queue, repo := c.Args().Get(0), c.Args().Get(1)
    14  	f := os.Stdin
    15  	fname := c.String("f")
    16  	if fname != "-" && fname != "" {
    17  		f, err = os.Open(fname)
    18  		if err != nil {
    19  			return
    20  		}
    21  		defer f.Close()
    22  	}
    23  
    24  	contents, err := io.ReadAll(f)
    25  	if err != nil {
    26  		return
    27  	}
    28  
    29  	attrs, err := api.ConstructUpgradeAttributes(contents)
    30  	if err != nil {
    31  		return
    32  	}
    33  
    34  	err = p.CreateUpgrade(queue, repo, attrs)
    35  	return api.GetErrorResponse(err, "CreateUpgrade")
    36  }