Functions/Get-DeployPropertiesJson.ps1
Function Get-DeployPropertiesJson{ [CmdletBinding()] param( [string] $action, [string] $TargetServerName, [string] $TargetDatabaseName, [string] $TargetUser, [securestring] $TargetPasswordSecure, [string] $TargetIntegratedSecurity, [string] $ServiceObjective, [string] $PublishFile, [string[]] $Variables, [string] $TargetTimeout, [string] $dacpacfile ) $EnvironmentValues = @{} Get-ChildItem Env: | Where-Object Name -ne "Path" | ForEach-Object { $EnvironmentValues.($_.Name) = $_.Value } $ParamValues = @{action = $action TargetServerName = $TargetServerName TargetDatabaseName = $TargetDatabaseName TargetUser = $TargetUser TargetPasswordSecure = $TargetPasswordSecure TargetIntegratedSecurity = $TargetIntegratedSecurity ServiceObjective = $ServiceObjective PublishFile = $PublishFile Variables = $Variables TargetTimeout = $TargetTimeout dacpacfile = $dacpacfile }; $Settings = @{Parameters = $ParamValues; EnvironmentValues = $EnvironmentValues} return (ConvertTo-Json $Settings -Compress).Replace('"', '@@') -replace "([a-z])\\\\""", "`$1\\\\`"" -replace "\[","&^" -replace "\]","~$" } |