Skip to content

Commit 58efb7f

Browse files
committed
Add client secret and certificate credentials environment variables for docker
1 parent 1d9ad94 commit 58efb7f

File tree

1 file changed

+45
-10
lines changed

1 file changed

+45
-10
lines changed

core/init/New-O365Object.ps1

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -163,30 +163,59 @@ Function New-O365Object{
163163
#Check If username and password
164164
If ((Test-Path env:MONKEY_ENV_MONKEY_USER) -and (Test-Path env:MONKEY_ENV_MONKEY_PASSWORD)){
165165
try{
166-
[securestring]$cred = ConvertTo-SecureString $env:MONKEY_ENV_MONKEY_PASSWORD
167-
[pscredential]$InputObject = New-Object System.Management.Automation.PSCredential ($env:MONKEY_ENV_MONKEY_USER, $cred)
166+
[securestring]$cred = ConvertTo-SecureString $env:MONKEY_ENV_MONKEY_PASSWORD.Trim('"')
167+
[pscredential]$InputObject = New-Object System.Management.Automation.PSCredential ($env:MONKEY_ENV_MONKEY_USER.Trim('"'), $cred)
168168
$MyParams.UserCredentials = $InputObject
169169
}
170170
catch{
171171
Write-Error $_
172+
throw ("[ParameterError] {0}: {1}" -f "Unable to create Monkey365 object. Unable to retrieve user credentials from environment variables",$_.Exception.Message)
173+
}
174+
}
175+
#Check If clientId and client Secret
176+
ElseIf ((Test-Path env:MONKEY_ENV_CLIENT_ID) -and (Test-Path env:MONKEY_ENV_CLIENT_SECRET)){
177+
try{
178+
[securestring]$cred = ConvertTo-SecureString $env:MONKEY_ENV_CLIENT_SECRET.Trim('"')
179+
[pscredential]$InputObject = New-Object System.Management.Automation.PSCredential ($env:MONKEY_ENV_CLIENT_ID.Trim('"'), $cred)
180+
$MyParams.ClientCredentials = $InputObject
181+
}
182+
catch{
183+
Write-Error $_
184+
throw ("[ParameterError] {0}: {1}" -f "Unable to create Monkey365 object. Unable to retrieve client credentials from environment variables",$_.Exception.Message)
185+
}
186+
}
187+
#Check If clientId, certificate and certificate password
188+
ElseIf ((Test-Path env:MONKEY_ENV_CLIENT_ID) -and (Test-Path env:MONKEY_ENV_CERTIFICATE)){
189+
try{
190+
$MyParams.ClientId = $env:MONKEY_ENV_CLIENT_ID.Trim('"')
191+
$MyParams.Certificate = $env:MONKEY_ENV_CERTIFICATE.Trim('"')
192+
#Check If certificate password
193+
If (Test-Path env:MONKEY_ENV_CERTIFICATE_PASSWORD){
194+
[securestring]$cred = ConvertTo-SecureString $env:MONKEY_ENV_CERTIFICATE_PASSWORD.Trim('"')
195+
$MyParams.CertFilePassword = $cred
196+
}
197+
}
198+
catch{
199+
Write-Error $_
200+
throw ("[ParameterError] {0}: {1}" -f "Unable to create Monkey365 object. Unable to retrieve certificate credentials from environment variables",$_.Exception.Message)
172201
}
173202
}
174203
#Check If TenantID
175204
If (Test-Path env:MONKEY_ENV_TENANT_ID){
176-
$MyParams.TenantID = $env:MONKEY_ENV_TENANT_ID
205+
$MyParams.TenantID = $env:MONKEY_ENV_TENANT_ID.Trim('"')
177206
}
178207
#Check If AuthMode
179208
If (Test-Path env:MONKEY_ENV_AUTH_MODE){
180-
$MyParams.AuthMode = $env:MONKEY_ENV_AUTH_MODE
209+
$MyParams.AuthMode = $env:MONKEY_ENV_AUTH_MODE.Trim('"')
181210
}
182211
#Check If subscriptions
183212
If (Test-Path env:MONKEY_ENV_SUBSCRIPTIONS){
184-
$MyParams.Subscriptions = $env:MONKEY_ENV_SUBSCRIPTIONS
213+
$MyParams.Subscriptions = $env:MONKEY_ENV_SUBSCRIPTIONS.Trim('"')
185214
}
186215
#Check If collect
187216
If (Test-Path env:MONKEY_ENV_COLLECT){
188217
$collect = @()
189-
ForEach($element in $env:MONKEY_ENV_COLLECT.Split(',')){
218+
ForEach($element in $env:MONKEY_ENV_COLLECT.Trim('"').Split(',')){
190219
$collect+=$element
191220
}
192221
If('all' -in $collect){
@@ -201,7 +230,7 @@ Function New-O365Object{
201230
#Check If exportTo
202231
If (Test-Path env:MONKEY_ENV_EXPORT_TO){
203232
$exportTo = @()
204-
ForEach($element in $env:MONKEY_ENV_EXPORT_TO.Split(',')){
233+
ForEach($element in $env:MONKEY_ENV_EXPORT_TO.Trim('"').Split(',')){
205234
$exportTo+=$element
206235
}
207236
If($exportTo.Count -gt 0){
@@ -212,7 +241,9 @@ Function New-O365Object{
212241
#Check If writelog
213242
If (Test-Path env:MONKEY_ENV_WRITELOG){
214243
try{
215-
$MyParams.WriteLog = [System.Convert]::ToBoolean($env:MONKEY_ENV_WRITELOG)
244+
$out = $null;
245+
[void][bool]::TryParse($env:MONKEY_ENV_WRITELOG.Trim('"'), [ref]$out);
246+
$MyParams.WriteLog = $out
216247
}
217248
catch{
218249
$MyParams.WriteLog = $false
@@ -221,7 +252,9 @@ Function New-O365Object{
221252
#Check If Verbose
222253
If (Test-Path env:MONKEY_ENV_VERBOSE){
223254
try{
224-
$MyParams.Verbose = [System.Convert]::ToBoolean($env:MONKEY_ENV_VERBOSE)
255+
$out = $null;
256+
[void][bool]::TryParse($env:MONKEY_ENV_VERBOSE.Trim('"'), [ref]$out);
257+
$MyParams.Verbose = $out
225258
}
226259
catch{
227260
$MyParams.Verbose = $false
@@ -230,7 +263,9 @@ Function New-O365Object{
230263
#Check If Debug
231264
If (Test-Path env:MONKEY_ENV_DEBUG){
232265
try{
233-
$MyParams.Debug = [System.Convert]::ToBoolean($env:MONKEY_ENV_DEBUG)
266+
$out = $null;
267+
[void][bool]::TryParse($env:MONKEY_ENV_DEBUG.Trim('"'), [ref]$out);
268+
$MyParams.Debug = $out
234269
}
235270
catch{
236271
$MyParams.Debug = $false

0 commit comments

Comments
 (0)