go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/id/machineid/guid.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package machineid
     5  
     6  import (
     7  	"github.com/cockroachdb/errors"
     8  	"go.mondoo.com/cnquery/providers-sdk/v1/inventory"
     9  	"go.mondoo.com/cnquery/providers/os/connection/shared"
    10  	"go.mondoo.com/cnquery/providers/os/id/platformid"
    11  )
    12  
    13  func MachineId(conn shared.Connection, p *inventory.Platform) (string, error) {
    14  	uuidProvider, err := platformid.MachineIDProvider(conn, p)
    15  	if err != nil {
    16  		return "", errors.Wrap(err, "cannot determine platform uuid")
    17  	}
    18  
    19  	if uuidProvider == nil {
    20  		return "", errors.New("cannot determine platform uuid")
    21  	}
    22  
    23  	id, err := uuidProvider.ID()
    24  	if err != nil {
    25  		return "", errors.Wrap(err, "cannot determine platform uuid")
    26  	}
    27  
    28  	return id, nil
    29  }