code: func (az *Cloud) GetNodeResourceGroup(nodeName string) (string, error) {
  	// Kubelet won't set az.nodeInformerSynced, always return configured resourceGroup.
  	if az.nodeInformerSynced == nil {
  		return az.ResourceGroup, nil
  	}
  
  	az.nodeCachesLock.Lock()
  	defer az.nodeCachesLock.Unlock()
  	if !az.nodeInformerSynced() {
  		return "", fmt.Errorf("node informer is not synced when trying to GetNodeResourceGroup")
  	}
  
  	// Return external resource group if it has been cached.
  	if cachedRG, ok := az.nodeResourceGroups[nodeName]; ok {
  		return cachedRG, nil
  	}
  
  	// Return resource group from cloud provider options.
  	return az.ResourceGroup, nil
  }
docs: // GetNodeResourceGroup gets resource group for given node.