Core/Settings/TestSettings.ps1
Set-StrictMode -Version Latest class TestSettings{ [string] $SubscriptionId = [string]::Empty [string] $CommonStorageAcctName = [string]::Empty [string] $CommonStorageAcctId = [string]::Empty [string] $StorageAlertName = [string]::Empty [string] $StorageAlertId = [string]::Empty [string] $CommonKeyVaultUrl = [string]::Empty [string] $ResourceGroupName = [string]::Empty [string[]] $EmailAccounts = @() [string] $SecurityPOCEmail = [string]::Empty [string] $SecurityPhoneNo = [string]::Empty [string] $AlertName = [string]::Empty [string] $OMSWorkspaceId = [string]::Empty [string] $OMSSharedKey = [string]::Empty [string] $AzSKResourceGroupName = [string]::Empty [string] $CAAutomationAccountName = [string]::Empty [string] $CAStorageContainerName = [string]::Empty [string] $CAConnectionName = [string]::Empty [string] $OrgPolicyURL = [string]::Empty [string] $AzSKAppFolderPath = [string]::Empty TestSettings([string] $subId){ [string] $path = [CommonHelper]::GetRootPath() +"\TestSettings.json" $this.SubscriptionId = $subId try{ $testSettings = Get-Content -Path $path | ConvertFrom-Json if($null -ne $testSettings){ $this.ResourceGroupName = $testSettings.ResourceGroupName $this.CommonStorageAcctName = $testSettings.CommonStorageAcctName $this.CommonStorageAcctId = "/subscriptions/" +$this.SubscriptionId + "/resourceGroups/" + $this.ResourceGroupName + "/providers/Microsoft.Storage/storageAccounts/" + $this.CommonStorageAcctName $this.StorageAlertName = $testSettings.StorageAlertName $this.StorageAlertId = "/subscriptions/" +$this.SubscriptionId + "/resourceGroups/" + $this.ResourceGroupName + "/providers/microsoft.insights/alertrules/" + $this.StorageAlertName if($testSettings.EmailAccounts.Contains(",")){ $this.EmailAccounts = $testSettings.EmailAccounts.Split(",").Trim() } else{ $this.EmailAccounts = $testSettings.EmailAccounts } $this.CommonKeyVaultUrl = "/subscriptions/" +$this.SubscriptionId + "/resourceGroups/" + $this.ResourceGroupName + "/providers/Microsoft.KeyVault/vaults/" + $testSettings.CommonKeyVaultName $this.SecurityPOCEmail = $testSettings.SecurityPOCEmail $this.AlertName = $testSettings.AlertName $this.OMSWorkspaceId = $testSettings.OMSWorkspaceId $this.OMSSharedKey = $testSettings.OMSSharedKey $this.SecurityPhoneNo = $testSettings.SecurityPhoneNo $this.CAAutomationAccountName = $testSettings.CAAutomationAccountName $this.CAStorageContainerName = $testSettings.CAStorageContainerName $this.AzSKResourceGroupName = $testSettings.AzSKResourceGroupName $this.CAConnectionName = $testSettings.CAConnectionName $this.OrgPolicyURL = $testSettings.OrgPolicyURL $this.AzSKAppFolderPath = $testSettings.AzSKAppFolderPath } } catch{ [CommonHelper]::Log("Error while fetching the Test Settings", [MessageType]::Error) [CommonHelper]::Log($_, [MessageType]::Error) } } TestSettings([string]$subId, [PSObject] $settings){ #[string] $path = [CommonHelper]::GetRootPath() +"\TestSettings.json" $this.SubscriptionId = $subId try{ #$testSettings = Get-Content -Path $path | ConvertFrom-Json $testSettings=$settings if($null -ne $testSettings){ $this.ResourceGroupName = $testSettings.ResourceGroupName $this.CommonStorageAcctName = $testSettings.CommonStorageAcctName $this.CommonStorageAcctId = "/subscriptions/" +$this.SubscriptionId + "/resourceGroups/" + $this.ResourceGroupName + "/providers/Microsoft.Storage/storageAccounts/" + $this.CommonStorageAcctName $this.StorageAlertName = $testSettings.StorageAlertName $this.StorageAlertId = "/subscriptions/" +$this.SubscriptionId + "/resourceGroups/" + $this.ResourceGroupName + "/providers/microsoft.insights/alertrules/" + $this.StorageAlertName if($testSettings.EmailAccounts.Contains(",")){ $this.EmailAccounts = $testSettings.EmailAccounts.Split(",").Trim() } else{ $this.EmailAccounts = $testSettings.EmailAccounts } $this.CommonKeyVaultUrl = "/subscriptions/" +$this.SubscriptionId + "/resourceGroups/" + $this.ResourceGroupName + "/providers/Microsoft.KeyVault/vaults/" + $testSettings.CommonKeyVaultName $this.SecurityPOCEmail = $testSettings.SecurityPOCEmail $this.AlertName = $testSettings.AlertName $this.OMSWorkspaceId = $testSettings.OMSWorkspaceId $this.OMSSharedKey = $testSettings.OMSSharedKey $this.SecurityPhoneNo = $testSettings.SecurityPhoneNo $this.CAAutomationAccountName = $testSettings.CAAutomationAccountName $this.CAStorageContainerName = $testSettings.CAStorageContainerName $this.AzSKResourceGroupName = $testSettings.AzSKResourceGroupName $this.CAConnectionName = $testSettings.CAConnectionName $this.OrgPolicyURL = $testSettings.OrgPolicyURL $this.AzSKAppFolderPath = $testSettings.AzSKAppFolderPath } } catch{ [CommonHelper]::Log("Error while fetching the Test Settings", [MessageType]::Error) [CommonHelper]::Log($_, [MessageType]::Error) } } } |