Public/New-CognitiveServiceInstance.ps1
# function to expose class instances and method overload definitions # outside the nested PowerShell module Function New-CognitiveServiceInstance { [Alias('cognsvc')] [cmdletbinding(SupportsShouldProcess=$false)] param( [Parameter(Mandatory)] #[ValidateSet('ComputerVision', 'Face', 'ContentModerator','TextAnalytics','Bing')] $Name [CognitiveService] $Name ) switch ($Name) { 'ComputerVision' {[ComputerVision]::new($env:API_SubscriptionKey_ComputerVision, $env:API_Location_ComputerVision)} 'Face' {[Face]::new($env:API_SubscriptionKey_Face, $env:API_Location_Face)} 'ContentModerator' {[ContentModerator]::new($env:API_SubscriptionKey_ContentModerator, $env:API_Location_ContentModerator)} 'TextAnalytics' {[TextAnalytics]::new($env:API_SubscriptionKey_TextAnalytics, $env:API_Location_TextAnalytics)} 'BingSearchV7' {[BingSearchV7]::new($env:API_SubscriptionKey_BingSearchV7)} 'BingEntitySearch' {[BingEntitySearch]::new($env:API_SubscriptionKey_BingEntitySearch)} 'BingImageSearch' {[BingImageSearch]::new($env:API_SubscriptionKey_BingImageSearch)} } } Export-ModuleMember -Function New-CognitiveServiceInstance -Alias CognSVC |