The mount type should autorequire a File resource for its mountpoint.
mount { '/usr/local/foo':
ensure => mounted,
...
}
file { '/usr/local/foo':
ensure => directory,
}
This will try to mount /usr/local/foo before creating it.
I've got a mountpoint being created in one component and the nfs share being mounted from another component. So my profile has to know the details of the components to know that it has to create the ordering relationship. This should be automatic.