code: func machinedRegister() bool {
  	// machined has a D-Bus interface following versioning guidelines, see:
  	// http://www.freedesktop.org/wiki/Software/systemd/machined/
  	// Therefore we can just check if the D-Bus method we need exists and we
  	// don't need to check the signature.
  	var found int
  
  	conn, err := dbus.SystemBus()
  	if err != nil {
  		return false
  	}
  	node, err := introspect.Call(conn.Object("org.freedesktop.machine1", "/org/freedesktop/machine1"))
  	if err != nil {
  		return false
  	}
  	for _, iface := range node.Interfaces {
  		if iface.Name != "org.freedesktop.machine1.Manager" {
  			continue
  		}
  		// machined v215 supports methods "RegisterMachine" and "CreateMachine" called by nspawn v215.
  		// machined v216+ (since commit 5aa4bb) additionally supports methods "CreateMachineWithNetwork"
  		// and "RegisterMachineWithNetwork", called by nspawn v216+.
  		for _, method := range iface.Methods {
  			if method.Name == "CreateMachineWithNetwork" || method.Name == "RegisterMachineWithNetwork" {
  				found++
  			}
  		}
  		break
  	}
  	return found == 2
  }
docs: // machinedRegister checks if nspawn should register the pod to machined