Get-CosmosDatabase.ps1
function Get-CosmosDatabase { <# .SYNOPSIS Get a CosmosDB Database .DESCRIPTION Gets a specific or all Databases in a specific CosmosDB .PARAMETER DatabaseName Name of the Database, if a specific Database is requested .PARAMETER All This switch returns all the Databases in the CosmosDB .PARAMETER CosmosDBVariables This is the Script variable generated by Connect-CosmosDB - no need to supply this variable, unless you get really creative .EXAMPLE Get-CosmosDatabase -All Returns all Databases in your CosmosDB .EXAMPLE Get-CosmosDatabase -DatabaseName MyPrivateCosmos Returns the DAtabase MyPrivateCosmos from your CosmosDB .NOTES https://docs.microsoft.com/en-us/rest/api/documentdb/list-databases https://docs.microsoft.com/en-us/rest/api/documentdb/get-a-database #> [CmdletBinding(DefaultParameterSetName='Named')] param ( [Parameter(ParameterSetName='Named', Mandatory=$true, HelpMessage='Name of your database')] [string]$DatabaseName, [Parameter(ParameterSetName='All')] [switch]$All, [Parameter(Mandatory=$false, HelpMessage="Use Connect-CosmosDB to create this Variable collection")] [hashtable]$CosmosDBVariables=$Script:CosmosDBVariables ) begin { Test-CosmosDBVariable $CosmosDBVariables } process { if ($DatabaseName){ $Database = $Script:CosmosDBConnection[($DatabaseName + '_db')] if ($Database) { $Database } else { Write-Warning "$DatabaseName not found" continue } } if ($All){ $CosmosDBConnection.Keys | Where-Object {$_ -match '_db$'} | ForEach-Object {$CosmosDBConnection[$_]} } } end { } } |