github.com/scaleway/scaleway-cli@v1.11.1/pkg/cli/cmd_tag.go (about)

     1  // Copyright (C) 2015 Scaleway. All rights reserved.
     2  // Use of this source code is governed by a MIT-style
     3  // license that can be found in the LICENSE.md file.
     4  
     5  package cli
     6  
     7  import "github.com/scaleway/scaleway-cli/pkg/commands"
     8  
     9  var cmdTag = &Command{
    10  	Exec:        runTag,
    11  	UsageLine:   "tag [OPTIONS] SNAPSHOT NAME",
    12  	Description: "Tag a snapshot into an image",
    13  	Help:        "Tag a snapshot into an image.",
    14  }
    15  
    16  func init() {
    17  	cmdTag.Flag.BoolVar(&tagHelp, []string{"h", "-help"}, false, "Print usage")
    18  	cmdTag.Flag.StringVar(&tagBootscript, []string{"-bootscript"}, "", "Assign bootscript")
    19  	cmdTag.Flag.StringVar(&tagArch, []string{"-arch"}, "arm", "Image architecture arm, x86_64")
    20  }
    21  
    22  // Flags
    23  var tagHelp bool         // -h, --help flag
    24  var tagBootscript string // --bootscript flag
    25  var tagArch string       // --arch flag
    26  
    27  func runTag(cmd *Command, rawArgs []string) error {
    28  	if tagHelp {
    29  		return cmd.PrintUsage()
    30  	}
    31  	if len(rawArgs) != 2 {
    32  		return cmd.PrintShortUsage()
    33  	}
    34  
    35  	args := commands.TagArgs{
    36  		Snapshot:   rawArgs[0],
    37  		Name:       rawArgs[1],
    38  		Bootscript: tagBootscript,
    39  		Arch:       tagArch,
    40  	}
    41  	ctx := cmd.GetContext(rawArgs)
    42  	return commands.RunTag(ctx, args)
    43  }