Scripts/bootstrap.ps1

# Install AWS PowerShell module if not already installed
$awsToolsInstaller = "AWS.Tools.Installer"
$awsToolsInstallerMinVersion = "1.0.2.4"
$awsToolsInstallerMaxVersion = "1.9.9.9"

if (-not (Get-Module -Name $awsToolsInstaller -ListAvailable | Where-Object { $_.Version -ge $awsToolsInstallerMinVersion -and $_.Version -le $awsToolsInstallerMaxVersion })) {
    Write-Host "Installing AWS PowerShell module..."
    Install-Module -Name $awsToolsInstaller -MinimumVersion $awsToolsInstallerMinVersion -MaximumVersion $awsToolsInstallerMaxVersion -Force -Scope AllUsers
}

# Install AWS Identity Management and S3 Modules
$awsModulesToInstall = @( 'AWS.Tools.IdentityManagement', 'AWS.Tools.S3' )

# Install if not installed
foreach ($module in $awsModulesToInstall) {
    if (-not (Get-Module -Name $module -ListAvailable)) {
        Write-Host "Installing $($module)..."
        Install-Module -Name $module -Force -Scope AllUsers
    }
}