Skip to content

techthoughts2/pwshCloudCommands

Repository files navigation

pwshCloudCommands

Minimum Supported PowerShell Version PowerShell Gallery Cross Platform License Documentation Status

Branch Windows - PowerShell Windows - pwsh Linux MacOS
main Build status Windows PowerShell main Build Status Windows pwsh main Build Status Linux main Build Status MacOS main
Enhancements pwshCloudCommands-Windows pwshCloudCommands-Windows-pwsh pwshCloudCommands-Linux pwshCloudCommands-MacOS

Synopsis

Search, discover, and identify PowerShell cloud commands across multiple cloud providers.

Description

pwshCloudCommands is a PowerShell module that simplifies the search and analysis of cloud-specific PowerShell commands, without the need to install cloud modules locally. It provides a dual discovery method: querying cloud commands across AWS, Azure, and Oracle, and scanning local project files to identify which cloud commands and modules are being utilized.

Features

  • Fully cross-platform and can be run on Windows, Linux, and macOS
  • Module-Free Command Search: Discover PowerShell commands without the need for local module installations.
    • Exact Function Name Search: Find specific functions, like Write-S3Object.
    • Wildcard Search: Use patterns, such as New*VM*, to locate commands.
    • Free-Form Search: Enter natural language queries like 'I want to create a new compute instance' for intuitive searching.
  • Complete Cache Data Dump: Access a comprehensive dump containing all known PowerShell cloud commands for detailed analysis.
  • Project File Analysis: Scan files and folders in your projects to identify used cloud functions and modules, crucial for project setup, discovery, and CI/CD pipeline integration.

Getting Started

Documentation

Documentation for pwshCloudCommands is available at: https://pwshCloudCommands.readthedocs.io

Installation

# Install pwshCloudCommands from the PowerShell Gallery
Install-Module -Name 'pwshCloudCommands' -Scope CurrentUser

Quick start

#------------------------------------------------------------------------------------------------
# import the pwshCloudCommands module
Import-Module -Name "pwshCloudCommands"
#------------------------------------------------------------------------------------------------
# identify all PowerShell commands and modules used in the specified path
$psCloud = Get-CloudCommandFromFile -Path "$env:HOME\pathToEvaluate"
$psCloud
#------------------------------------------------------------------------------------------------
# identify all unique modules used in the specified path - useful for CI/CD bootstrapping
$psCloud = Get-CloudCommandFromFile -Path "$env:HOME\pathToEvaluate"
$psCloud.CloudCommands.ModuleName | Select-Object -Unique
#------------------------------------------------------------------------------------------------
# search for a specific cloud command on a specific cloud platform
Find-CloudCommand -Query Write-S3Object -Filter AWS
#------------------------------------------------------------------------------------------------
# search for a specific cloud command on any cloud platform
Find-CloudCommand -Query New-OCIComputeInstance
#------------------------------------------------------------------------------------------------
# wildcard search for a cloud command
Find-CloudCommand -Query New*VM* -Filter Azure
#------------------------------------------------------------------------------------------------
# free-form search for a cloud command
$commands = Find-CloudCommand -Query 'I want to create a new compute instance in Oracle Cloud'
$commands
#------------------------------------------------------------------------------------------------
# I want to get all cloud functions and modules that belong to a specific cloud platform
Get-AllCloudCommandInfo -Filter AWS
Get-AllCloudCommandInfo -Filter Azure
Get-AllCloudCommandInfo -Filter Oracle
#------------------------------------------------------------------------------------------------

Notes

This PowerShell project was created with Catesta.

Contributing

If you'd like to contribute to pwshCloudCommands, please see the contribution guidelines.

License

This project is licensed under the MIT License.