psd1 manifest - RequiredModules inefficient?

I have created a module (one cmdlet) for my colleagues to easily process Migrations from Azure Classic to Resource Manager:

This cmdlet is dependent on the installation of AzureRM & Azure PSGallery modules. In scripts which depend on modules, I would check for modules like so:

"Azure","AzureRM" | % {
    if (!(Get-Module $_))
        "Installing $_ module" ; Install-Module -Name $_ -Repository PSGallery

However, I thought I’d use a manifest, which you can find a copy of here:

When creating the input for RequiredModules, I found that you had to specify either ‘RequiredVersion’ or ‘ModuleVersion’.

Now, every time I install-module, it will attempt to download the dependency modules, and when it does, it takes quite a while due to the sub-modules linked to the AzureRM & Azure modules.

I’d ideally like to specify that you can use any version of the AzureRM & Azure modules, or any version above, for example, 1.5.0. Otherwise, as the Azure modules are updated, and they are updated on my colleagues’ machines, the module will download a legacy version of the Azure & AzureRM modules.

I may be making a mistake with how I’m writing my manifest file, so any advice is much appreciated!

If I’m understanding that you’re doing and what you’re asking, then “no.” Right now, the versioning doesn’t understand anything but exact numbers - there’s no “minimum level” or anything. I can see where that’d be useful, and you might consider suggesting it in PowerShell’s UserVoice. Or possibly instead look into scripting Update-Module, which has some “grab the latest version or don’t do anything” intelligence.