functions/Add-ArmVariable.ps1
<# .SYNOPSIS Add new variable to the ARM template .DESCRIPTION Adds or overwrites an ARM template variable by the name provided, and allows you to specify the value Notes: It is considered as an internal function, and should not be used directly. .PARAMETER InputObject The ARM object that you want to work against It has to be a object of the type [ArmTemplate] for it to work properly .PARAMETER Name Name of the variable that you want to work against If the variable exists, the value gets overrided otherwise a new variable is added to the list of variables .PARAMETER Value The value, that you want to assign to the ARM template variable .EXAMPLE PS C:\> Add-ArmVariable -InputObject $armObj -Name "logicAppName" -Value "TestLogicApp" Creates / updates the logicAppName ARM template variable Sets the value to: TestLogicApp .NOTES Author: Mötz Jensen (@Splaxi) This is considered as an internal function, and should not be used directly. #> function Add-ArmVariable { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [object] $InputObject, [Alias('VariableName')] [Parameter(Mandatory = $true)] [string] $Name, [Parameter(Mandatory = $true)] [object] $Value ) if ($InputObject.variables.$Name) { $InputObject.variables.$Name = $($Value) } else { $InputObject.variables | Add-Member -MemberType NoteProperty -Name $Name -Value $($Value) } $InputObject } |