本文整理汇总了Golang中github.com/spf13/cobra.Command.Println方法的典型用法代码示例。如果您正苦于以下问题:Golang Command.Println方法的具体用法?Golang Command.Println怎么用?Golang Command.Println使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/spf13/cobra.Command
的用法示例。
在下文中一共展示了Command.Println方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: tufStatus
func tufStatus(cmd *cobra.Command, args []string) {
if len(args) < 1 {
cmd.Usage()
fatalf("Must specify a GUN")
}
parseConfig()
gun := args[0]
nRepo, err := notaryclient.NewNotaryRepository(mainViper.GetString("trust_dir"), gun, getRemoteTrustServer(), nil, retriever)
if err != nil {
fatalf(err.Error())
}
cl, err := nRepo.GetChangelist()
if err != nil {
fatalf(err.Error())
}
if len(cl.List()) == 0 {
cmd.Printf("No unpublished changes for %s\n", gun)
return
}
cmd.Printf("Unpublished changes for %s:\n\n", gun)
cmd.Printf("%-10s%-10s%-12s%s\n", "action", "scope", "type", "path")
cmd.Println("----------------------------------------------------")
for _, ch := range cl.List() {
cmd.Printf("%-10s%-10s%-12s%s\n", ch.Action(), ch.Scope(), ch.Type(), ch.Path())
}
}
示例2: runExecute
// runExecute is the code that implements the execute command.
func runExecute(cmd *cobra.Command, args []string) error {
cmd.Printf("Executing View : Name[%s]\n", execute.viewName)
// Validate the input parameters.
if execute.viewName == "" || execute.itemKey == "" {
return fmt.Errorf("view name and item key must be specified")
}
// Ready the view parameters.
viewParams := wire.ViewParams{
ViewName: execute.viewName,
ItemKey: execute.itemKey,
ResultsCollection: execute.resultsCollection,
BufferLimit: execute.bufferLimit,
}
// Execute the view.
results, err := wire.Execute("", mgoDB, graphDB, &viewParams)
if err != nil {
return err
}
// Prepare the results for printing.
data, err := json.MarshalIndent(results, "", " ")
if err != nil {
return err
}
cmd.Printf("\n%s\n\n", string(data))
cmd.Println("\n", "Executing View : Executed")
return nil
}
示例3: runIndex
// runIndex issues the command talking to the web service.
func runIndex(cmd *cobra.Command, args []string) error {
cmd.Printf("Ensure Indexes : Name[%s]\n", index.name)
set, err := runGetSet(cmd, index.name)
if err != nil {
return err
}
verb := "PUT"
url := "/v1/index/" + index.name
data, err := json.Marshal(set)
if err != nil {
return err
}
cmd.Printf("\n%s\n\n", string(data))
if _, err := web.Request(cmd, verb, url, bytes.NewBuffer(data)); err != nil {
return err
}
cmd.Println("\n", "Ensure Indexes : Ensured")
return nil
}
示例4: tufPublish
func (t *tufCommander) tufPublish(cmd *cobra.Command, args []string) error {
if len(args) < 1 {
cmd.Usage()
return fmt.Errorf("Must specify a GUN")
}
config, err := t.configGetter()
if err != nil {
return err
}
gun := args[0]
cmd.Println("Pushing changes to", gun)
rt, err := getTransport(config, gun, false)
if err != nil {
return err
}
trustPin, err := getTrustPinning(config)
if err != nil {
return err
}
nRepo, err := notaryclient.NewNotaryRepository(
config.GetString("trust_dir"), gun, getRemoteTrustServer(config), rt, t.retriever, trustPin)
if err != nil {
return err
}
if err = nRepo.Publish(); err != nil {
return err
}
return nil
}
示例5: tufLookup
func (t *tufCommander) tufLookup(cmd *cobra.Command, args []string) error {
if len(args) < 2 {
cmd.Usage()
return fmt.Errorf("Must specify a GUN and target")
}
config, err := t.configGetter()
if err != nil {
return err
}
gun := args[0]
targetName := args[1]
rt, err := getTransport(config, gun, true)
if err != nil {
return err
}
nRepo, err := notaryclient.NewNotaryRepository(
config.GetString("trust_dir"), gun, getRemoteTrustServer(config), rt, t.retriever)
if err != nil {
return err
}
target, err := nRepo.GetTargetByName(targetName)
if err != nil {
return err
}
cmd.Println(target.Name, fmt.Sprintf("sha256:%x", target.Hashes["sha256"]), target.Length)
return nil
}
示例6: certList
func (c *certCommander) certList(cmd *cobra.Command, args []string) error {
if len(args) > 0 {
cmd.Usage()
return fmt.Errorf("")
}
config, err := c.configGetter()
if err != nil {
return err
}
trustDir := config.GetString("trust_dir")
certPath := filepath.Join(trustDir, notary.TrustedCertsDir)
// Load all individual (non-CA) certificates that aren't expired and don't use SHA1
certStore, err := trustmanager.NewX509FilteredFileStore(
certPath,
trustmanager.FilterCertsExpiredSha1,
)
if err != nil {
return fmt.Errorf("Failed to create a new truststore with directory: %s", trustDir)
}
trustedCerts := certStore.GetCertificates()
cmd.Println("")
prettyPrintCerts(trustedCerts, cmd.Out())
cmd.Println("")
return nil
}
示例7: maybeAutoPublish
func maybeAutoPublish(cmd *cobra.Command, doPublish bool, gun string, config *viper.Viper, passRetriever notary.PassRetriever) error {
if !doPublish {
return nil
}
// We need to set up a http RoundTripper when publishing
rt, err := getTransport(config, gun, readWrite)
if err != nil {
return err
}
trustPin, err := getTrustPinning(config)
if err != nil {
return err
}
nRepo, err := notaryclient.NewFileCachedNotaryRepository(
config.GetString("trust_dir"), gun, getRemoteTrustServer(config), rt, passRetriever, trustPin)
if err != nil {
return err
}
cmd.Println("Auto-publishing changes to", gun)
return publishAndPrintToCLI(cmd, nRepo, gun)
}
示例8: keyRemove
// keyRemove deletes a private key based on ID
func (k *keyCommander) keyRemove(cmd *cobra.Command, args []string) error {
if len(args) < 1 {
cmd.Usage()
return fmt.Errorf("must specify the key ID of the key to remove")
}
config, err := k.configGetter()
if err != nil {
return err
}
ks, err := k.getKeyStores(config, true, false)
if err != nil {
return err
}
keyID := args[0]
// This is an invalid ID
if len(keyID) != notary.SHA256HexSize {
return fmt.Errorf("invalid key ID provided: %s", keyID)
}
cmd.Println("")
err = removeKeyInteractively(ks, keyID, k.input, cmd.Out())
cmd.Println("")
return err
}
示例9: searchImages
func searchImages(ctx *cobra.Command, args []string) {
if len(args) < 1 {
ErrorExit(ctx, "Needs an argument <TERM> to search")
}
docker, err := client.NewDockerClient(configPath, hostName, ctx.Out())
if err != nil {
log.Fatal(err)
}
images, err := docker.SearchImages(args[0])
if err != nil {
log.Fatal(err)
}
if boolStar {
sort.Sort(sort.Reverse(api.SortImagesByStars{ImageSearchResults: images}))
} else {
sort.Sort(api.SortImagesByName{ImageSearchResults: images})
}
if boolQuiet {
for _, image := range images {
ctx.Println(image.Name)
}
return
}
if boolYAML || boolJSON {
if err := FormatPrint(ctx.Out(), images); err != nil {
log.Fatal(err)
}
return
}
var items [][]string
for _, image := range images {
out := []string{
image.Name,
image.Description,
FormatInt(int64(image.Stars)),
FormatBool(image.Official, "*", " "),
FormatBool(image.Automated, "*", " "),
}
items = append(items, out)
}
header := []string{
"Name",
"Description",
"Stars",
"Official",
"Automated",
}
PrintInTable(ctx.Out(), header, items, 50, tablewriter.ALIGN_DEFAULT)
}
示例10: composeContainers
func composeContainers(ctx *cobra.Command, args []string) {
if len(args) < 1 {
ErrorExit(ctx, "Needs an argument <PATH/TO/YAML> to compose containers")
}
path := filepath.Clean(args[0])
root := filepath.Dir(path)
var names []string
if len(args) > 1 {
names = args[1:]
}
data, err := ioutil.ReadFile(path)
if err != nil {
log.Fatal(err)
}
var composers map[string]Composer
if err := yaml.Unmarshal(data, &composers); err != nil {
log.Fatal(err)
}
var gotError = false
if len(names) == 0 {
for name, composer := range composers {
composer.Name = name
composer = mergeComposeFlags(ctx, composer)
if cid, err := composeContainer(ctx, root, composer); err != nil {
log.Error(err)
gotError = true
} else {
ctx.Println(cid)
}
}
}
for _, name := range names {
if composer, ok := composers[name]; ok {
composer.Name = name
composer = mergeComposeFlags(ctx, composer)
if cid, err := composeContainer(ctx, root, composer); err != nil {
log.Error(err)
gotError = true
} else {
ctx.Println(cid)
}
}
}
if gotError {
log.Fatal("Error: failed to compose one or more containers")
}
}
示例11: runDelete
// runDelete issues the command talking to the web service.
func runDelete(cmd *cobra.Command, args []string) error {
verb := "DELETE"
url := "/v1/script/" + get.name
if _, err := web.Request(cmd, verb, url, nil); err != nil {
return err
}
cmd.Println("Deleting Script : Deleted")
return nil
}
示例12: runDelete
// runDelete issues the command talking to the web service.
func runDelete(cmd *cobra.Command, args []string) error {
verb := "DELETE"
url := "/v1/item/" + delete.ID
if _, err := web.Request(cmd, verb, url, nil); err != nil {
return err
}
cmd.Println("Deleting Item : Deleted")
return nil
}
示例13: delegationRemove
// delegationRemove removes a public key from a specific role in a GUN
func (d *delegationCommander) delegationRemove(cmd *cobra.Command, args []string) error {
config, gun, role, keyIDs, err := delegationAddInput(d, cmd, args)
if err != nil {
return err
}
trustPin, err := getTrustPinning(config)
if err != nil {
return err
}
// no online operations are performed by add so the transport argument
// should be nil
nRepo, err := notaryclient.NewFileCachedNotaryRepository(
config.GetString("trust_dir"), gun, getRemoteTrustServer(config), nil, d.retriever, trustPin)
if err != nil {
return err
}
if d.removeAll {
cmd.Println("\nAre you sure you want to remove all data for this delegation? (yes/no)")
// Ask for confirmation before force removing delegation
if !d.forceYes {
confirmed := askConfirm(os.Stdin)
if !confirmed {
fatalf("Aborting action.")
}
} else {
cmd.Println("Confirmed `yes` from flag")
}
// Delete the entire delegation
err = nRepo.RemoveDelegationRole(role)
if err != nil {
return fmt.Errorf("failed to remove delegation: %v", err)
}
} else {
if d.allPaths {
err = nRepo.ClearDelegationPaths(role)
if err != nil {
return fmt.Errorf("failed to remove delegation: %v", err)
}
}
// Remove any keys or paths that we passed in
err = nRepo.RemoveDelegationKeysAndPaths(role, keyIDs, d.paths)
if err != nil {
return fmt.Errorf("failed to remove delegation: %v", err)
}
}
delegationRemoveOutput(cmd, d, gun, role, keyIDs)
return maybeAutoPublish(cmd, d.autoPublish, gun, config, d.retriever)
}
示例14: keysList
func keysList(cmd *cobra.Command, args []string) {
if len(args) > 0 {
cmd.Usage()
os.Exit(1)
}
parseConfig()
stores := getKeyStores(cmd, mainViper.GetString("trust_dir"), retriever, true)
cmd.Println("")
prettyPrintKeys(stores, cmd.Out())
cmd.Println("")
}
示例15: keyPassphraseChange
// keyPassphraseChange changes the passphrase for a root key's private key based on ID
func (k *keyCommander) keyPassphraseChange(cmd *cobra.Command, args []string) error {
if len(args) < 1 {
cmd.Usage()
return fmt.Errorf("must specify the key ID of the key to change the passphrase of")
}
config, err := k.configGetter()
if err != nil {
return err
}
ks, err := k.getKeyStores(config, true)
if err != nil {
return err
}
keyID := args[0]
// This is an invalid ID
if len(keyID) != notary.Sha256HexSize {
return fmt.Errorf("invalid key ID provided: %s", keyID)
}
// Find the key's GUN by ID, in case it is a non-root key
var keyGUN string
for _, store := range ks {
for keypath := range store.ListKeys() {
if filepath.Base(keypath) == keyID {
keyGUN = filepath.Dir(keypath)
}
}
}
cs := cryptoservice.NewCryptoService(keyGUN, ks...)
privKey, role, err := cs.GetPrivateKey(keyID)
if err != nil {
return fmt.Errorf("could not retrieve local key for key ID provided: %s", keyID)
}
// Must use a different passphrase retriever to avoid caching the
// unlocking passphrase and reusing that.
passChangeRetriever := k.getRetriever()
keyStore, err := trustmanager.NewKeyFileStore(config.GetString("trust_dir"), passChangeRetriever)
err = keyStore.AddKey(filepath.Join(keyGUN, keyID), role, privKey)
if err != nil {
return err
}
cmd.Println("")
cmd.Printf("Successfully updated passphrase for key ID: %s", keyID)
cmd.Println("")
return nil
}