// Reference returns the reference of a node. The special value "self" for a node // reference is mapped to the current node, hence the node ID is retrieved using // the `/info` endpoint. func Reference(ctx context.Context, client apiclient.APIClient, ref string) (string, error) { if ref == "self" { info, err := client.Info(ctx) if err != nil { return "", err } return info.Swarm.NodeID, nil } return ref, nil }