go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/cli/components/assetlist.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package components
     5  
     6  import (
     7  	"strings"
     8  
     9  	"github.com/rs/zerolog/log"
    10  	"go.mondoo.com/cnquery/cli/theme"
    11  	"go.mondoo.com/cnquery/providers-sdk/v1/inventory"
    12  )
    13  
    14  func AssetList(theme *theme.Theme, assetList []*inventory.Asset) string {
    15  	b := strings.Builder{}
    16  
    17  	log.Info().Msgf("discovered %d asset(s)", len(assetList))
    18  
    19  	for i := range assetList {
    20  		assetObj := assetList[i]
    21  
    22  		b.WriteString(theme.Primary("name:\t\t"))
    23  		b.WriteString(assetObj.HumanName())
    24  		b.WriteRune('\n')
    25  
    26  		if len(assetObj.PlatformIds) > 0 {
    27  			b.WriteString(theme.Primary("platform-id:\t"))
    28  			for j := range assetObj.PlatformIds {
    29  				b.WriteString("  " + assetObj.PlatformIds[j])
    30  			}
    31  		}
    32  
    33  		b.WriteRune('\n')
    34  		b.WriteRune('\n')
    35  	}
    36  
    37  	return b.String()
    38  }