-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Faster way to install all AWS modules #172
Comments
We have noticed this issue has not recieved attention in 1 year. We will close this issue for now. If you think this is in error, please feel free to comment and reopen the issue. |
Reopen please. Installing modules takes ages. |
Needs review with the team. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
AWS Tools for PowerShell - cross platform install script PowerShell script to install all AWS.Tools modules in PowerShell 7 on Linux, Mac, and Windows, or PowerShell 5 on Windows. Readme.md AWS.Tools.Install.ps1 Install directly from repo: Invoke-RestMethod -Uri "github.com/HP-85/atp/raw/main/AWS.Tools.Install.ps1" | Invoke-Expression |
I appreciate what you have tried to do by using the AWS.Tools.Installer module as an easy way to install and update modules (likely in an attempt to correct some of what is wrong with the PowerShellGet way of managing installed modules), and I also appreciate that you have taken your uber-module and broken it up into smaller modules that will provide faster load times; however, you seem to be missing an easy, (as) fast (as possible) way to install all of the existing AWS.Tools.* modules.
In the background right now I am running the following command to install all AWS.Tools.* modules:
This is dreadfully slow, likely in part because each individual AWS.Tools.* module has dependencies on the same modules, which means looking up those dependencies for each module installed this way, one at a time, resulting in a terrible installation performance. I must pull down the entire module bundle so that I simply have what I need on my system when I need it for automation purposes. I am not willing to simply go back to an installer again and again for bite-sized installation of modules. If I go back to install something that is missing, I'll update the entire thing.
Note that, because of some of the challenges that are left unresolved with PowerShellGet, some of us "upgrade" modules and clean up older versions simply by removing what is installed on a system via recursive file system removal, and then re-installing the modules that we have removed. This is how I upgrade module bundles (Az, Microsoft.Graph, and now AWS.Tools), so that I don't have extra bits that I don't need kicking around.
I went looking in AWS.Tools.Installer for a way to install the entire module in a smart and fast way, but there doesn't seem to be such an option. I also went looking for a AWS.Tools module that would simply act as the link between all AWS.Tools.* modules, so that you could install AWS.Tools using
Install-Module AWS.Tools
, and you would get the whole thing, in a manner smart enough to handle dependencies well, but there is no AWS.Tools module.Describe the Feature
I want an easy and fast way to install all modules in the AWS.Tools bundle. Ideally I would like it to be via PowerShellGet, rather than an AWS.Tools.Installer module, so that I have a consistent method to deal with module management.
Is your Feature Request related to a problem?
Yes. It is difficult to install AWS.Tools.* modules in a manner consistent with other module bundles, in a performant (or at least as fast as possible) way.
Proposed Solution
Create an AWS.Tools module that is nothing but a manifest module, with each of the AWS.Tools.* modules listed in that manifest in the RequiredModules section.
Describe alternatives you've considered
I considered using AWS.Tools.Installer, but that wants me to list each and every module in the bundle. While I could write a script to build the list of module names and then paste that array into the command to install the modules, that work should not be necessary. Also, I prefer consistency, especially given that PowerShellGet is currently in pre-release for version 3, which should give us all a better foundation for managing modules -- hopefully one that is easier to contribute to as open source.
Additional Context
I believe I have provided enough detail already.
Environment
No specific requirements: just easy, fast installation of the AWS module bundle on a system where a lot of automation is run.
This is a 🚀 Feature Request
The text was updated successfully, but these errors were encountered: