code: func resourceVSphereComputeClusterVMDependencyRuleFetchObjects(
  	meta interface{},
  	clusterID string,
  	key int32,
  ) (*object.ClusterComputeResource, int32, error) {
  	client, err := resourceVSphereComputeClusterVMDependencyRuleClient(meta)
  	if err != nil {
  		return nil, 0, err
  	}
  
  	cluster, err := clustercomputeresource.FromID(client, clusterID)
  	if err != nil {
  		return nil, 0, fmt.Errorf("cannot locate cluster: %s", err)
  	}
  
  	return cluster, key, nil
  }
docs: // resourceVSphereComputeClusterVMDependencyRuleFetchObjects fetches the "objects"
  // for a cluster rule. This is currently just the cluster object as the rule
  // key a static value and a pass-through - this is to keep its workflow
  // consistent with other cluster-dependent resources that derive from
  // ArrayUpdateSpec that have managed object as keys, such as VM and host
  // overrides.