From ae47c3a8cdb9d16352d62a931d2e275e310f58cc Mon Sep 17 00:00:00 2001 From: Mathijs de Ruiter <33999622+EUCTechTopics@users.noreply.github.com> Date: Wed, 12 Mar 2025 11:25:57 +0100 Subject: [PATCH] DTAP --- Documentation/Connect-IDNW.md | 18 +++++++++++- PSIdentityNow/Private/Get-IDNWEnvironment.ps1 | 28 +++++++------------ PSIdentityNow/Public/Connect-IDNW.ps1 | 26 +++++++++-------- 3 files changed, 42 insertions(+), 30 deletions(-) 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