diff --git a/Documentation/Connect-IDNW.md b/Documentation/Connect-IDNW.md index 156572a..9a41ee3 100644 --- a/Documentation/Connect-IDNW.md +++ b/Documentation/Connect-IDNW.md @@ -14,7 +14,23 @@ This function connects to IdentityNow and sets the environment variables for the ## EXAMPLES ```powershell -------------------------- EXAMPLE 1 -------------------------- -Connect-IDNW -Instance "Sandbox" +Connect-IDNW -Instance "DEV" -APIVersion "beta" +Connects to the DEV instance using the beta API version. + + +-------------------------- EXAMPLE 2 -------------------------- +Connect-IDNW -Instance "TST" -APIVersion "v3" +Connects to the TST instance using the v3 API version. + + +-------------------------- EXAMPLE 3 -------------------------- +Connect-IDNW -Instance "ACC" -APIVersion "v3" +Connects to the ACC instance using the v3 API version. + + +-------------------------- EXAMPLE 4 -------------------------- +Connect-IDNW -Instance "PRD" -APIVersion "v3" -UseSecretManagement +Connects to the PRD instance using the v3 API version and retrieves secrets using Microsoft.PowerShell.SecretManagement. ``` diff --git a/PSIdentityNow/Private/Get-IDNWEnvironment.ps1 b/PSIdentityNow/Private/Get-IDNWEnvironment.ps1 index 3603007..c4e584d 100644 --- a/PSIdentityNow/Private/Get-IDNWEnvironment.ps1 +++ b/PSIdentityNow/Private/Get-IDNWEnvironment.ps1 @@ -6,7 +6,7 @@ This function gets the environment details for the specified IdentityNow instance. The function will return the base URL, the base API URL, the session token data, the session token, and the API version. .EXAMPLE - Get-IDNWEnvironment -Instance "Sandbox" + Get-IDNWEnvironment .PARAMETER Instance The IdentityNow instance to get the environment details for. @@ -28,7 +28,7 @@ function Get-IDNWEnvironment { param ( [Parameter(Mandatory = $false)] [Alias("Environment")] - [ValidateSet("Sandbox", "ACC", "PRD")] + [ValidateSet("DEV", "TST", "ACC", "PRD")] [String] $Instance, @@ -55,22 +55,14 @@ function Get-IDNWEnvironment { } # Determine correct set of secrets for session - switch ($Instance.ToLower()) { - { "sandbox", "acc" -contains $_ } { - $sail_base_url = Get-IDNWSecret -Name 'IDNW-ACC-BASE-URL' -AsPlainText -UseSecretManagement:$UseSecretManagement - $sail_client_id = Get-IDNWSecret -Name 'IDNW-ACC-CLIENT-ID' -AsPlainText -UseSecretManagement:$UseSecretManagement - $sail_client_secret = Get-IDNWSecret -Name 'IDNW-ACC-CLIENT-SECRET'-UseSecretManagement:$UseSecretManagement - } - "prd" { - $sail_base_url = Get-IDNWSecret -Name 'IDNW-PRD-BASE-URL' -AsPlainText -UseSecretManagement:$UseSecretManagement - $sail_client_id = Get-IDNWSecret -Name 'IDNW-PRD-CLIENT-ID' -AsPlainText -UseSecretManagement:$UseSecretManagement - $sail_client_secret = Get-IDNWSecret -Name 'IDNW-PRD-CLIENT-SECRET'-UseSecretManagement:$UseSecretManagement - } - default { - $sail_base_url = Get-IDNWSecret -Name 'IDNW-BASE-URL' -AsPlainText -UseSecretManagement:$UseSecretManagement - $sail_client_id = Get-IDNWSecret -Name 'IDNW-CLIENT-ID' -AsPlainText -UseSecretManagement:$UseSecretManagement - $sail_client_secret = Get-IDNWSecret -Name 'IDNW-CLIENT-SECRET'-UseSecretManagement:$UseSecretManagement - } + if($Instance) { + $sail_base_url = Get-IDNWSecret -Name "IDNW-$($Instance.ToUpper())-BASE-URL" -AsPlainText -UseSecretManagement:$UseSecretManagement + $sail_client_id = Get-IDNWSecret -Name "IDNW-$($Instance.ToUpper())-CLIENT-ID" -AsPlainText -UseSecretManagement:$UseSecretManagement + $sail_client_secret = Get-IDNWSecret -Name "IDNW-$($Instance.ToUpper())-CLIENT-SECRET" -UseSecretManagement:$UseSecretManagement + } else { + $sail_base_url = Get-IDNWSecret -Name 'IDNW-BASE-URL' -AsPlainText -UseSecretManagement:$UseSecretManagement + $sail_client_id = Get-IDNWSecret -Name 'IDNW-CLIENT-ID' -AsPlainText -UseSecretManagement:$UseSecretManagement + $sail_client_secret = Get-IDNWSecret -Name 'IDNW-CLIENT-SECRET' -UseSecretManagement:$UseSecretManagement } $sessiontokendata = @{ diff --git a/PSIdentityNow/Public/Connect-IDNW.ps1 b/PSIdentityNow/Public/Connect-IDNW.ps1 index 1230e43..12d01de 100644 --- a/PSIdentityNow/Public/Connect-IDNW.ps1 +++ b/PSIdentityNow/Public/Connect-IDNW.ps1 @@ -6,7 +6,20 @@ This function connects to IdentityNow and sets the environment variables for the specified instance. .EXAMPLE - Connect-IDNW -Instance "Sandbox" + Connect-IDNW -Instance "DEV" -APIVersion "beta" + Connects to the DEV instance using the beta API version. + + .EXAMPLE + Connect-IDNW -Instance "TST" -APIVersion "v3" + Connects to the TST instance using the v3 API version. + + .EXAMPLE + Connect-IDNW -Instance "ACC" -APIVersion "v3" + Connects to the ACC instance using the v3 API version. + + .EXAMPLE + Connect-IDNW -Instance "PRD" -APIVersion "v3" -UseSecretManagement + Connects to the PRD instance using the v3 API version and retrieves secrets using Microsoft.PowerShell.SecretManagement. .PARAMETER Instance The IdentityNow instance to connect to. @@ -35,7 +48,7 @@ function Connect-IDNW { param ( [Parameter(Mandatory = $false)] [Alias("Environment")] - [ValidateSet("Sandbox", "ACC", "PRD")] + [ValidateSet("DEV", "TST", "ACC", "PRD")] [String] $Instance, @@ -49,15 +62,6 @@ function Connect-IDNW { $UseSecretManagement = $false ) - switch ($Instance.ToLower()) { - { "sandbox" } { - $Instance = "Sandbox" - } - { "prd", "acc" -contains $_ } { - $Instance = $_.ToUpper() - } - } - $Parameters = @{ APIVersion = $APIVersion UseSecretManagement = $UseSecretManagement