public/release/Add-PSTSReleaseDefinitionProcessParameterInput.ps1
function Add-PSTSReleaseDefinitionProcessParameterInput { param( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string] $type, [Parameter(ParameterSetName="connectedService:AzureRM",ValueFromPipelineByPropertyName = $true)][string] $serviceConnectionId, [Parameter(ParameterSetName="pickList",ValueFromPipelineByPropertyName = $true)][string] $webappName, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][object] $releaseDefinition ) process { $input = [ProcessParameterInput]::new() switch ( $type ) { "connectedService:AzureRM" { $input.type = $type $input.defaultValue = $serviceConnectionId $input.aliases = @() $input.label = "Azure subscription" $input.name = "ConnectedServiceName" $input.Required = $true $input.helpMarkDown = "Select the Azure Resource Manager subscription for the deployment." } "pickList" { $props = New-Object -TypeName "PSCustomObject" $props | Add-Member -MemberType NoteProperty -Name "EditableOptions" -Value $true $input.Properties=$props $input.type = $type $input.defaultValue = $webappName $input.aliases = @() $input.label = "App service name" $input.name = "WebAppName" $input.Required = $true $input.helpMarkDown = "Enter or select the name of an existing Azure App Service." } } $releaseDefinition.environments.processParameters.inputs+=$input return $releaseDefinition } } |