func virtualMachineIPsForTag(ctx context.Context, client *vSphereClient, id string) ([]string, error) {
	vms, err := virtualMachinesForTag(ctx, client, id)
	if err != nil {
		return nil, err
	}

	return ipAddrsForVirtualMachines(ctx, client, vms)
}
func virtualMachineIPsForTag(ctx context.Context, client *vSphereClient, id string) ([]string, error) {
	vms, err := virtualMachinesForTag(ctx, client, id)
	if err != nil {
		return nil, err
	}

	return ipAddrsForVirtualMachines(ctx, client, vms)
}
// virtualMachineIPsForTag is a higher-level wrapper that calls out to
// functions to fetch all of the virtual machines matching a certain tag ID,
// and then gets all of the IP addresses for those virtual machines.