Functions/workflow-run-service/Get-vROWorkflowExecutionState.psm1
function Get-vROWorkflowExecutionState { <# .SYNOPSIS Get vRO Workflow Execution State .DESCRIPTION Get vRO Workflow Execution State .PARAMETER ExecutionStateRef vRO Workflow Execution Reference .INPUTS System.String .OUTPUTS System.Management.Automation.PSObject. .EXAMPLE Get-vROWorkflowExecutionState -ExecutionStateRef '/vco/api/workflows/565b2c35-3607-4ab9-ace7-9102c1391808/executions/402880244ae8e2a6014b045ea9290213' .EXAMPLE Get-vROWorkflowExecution -Id 3f92d2dc-a9fa-4323-900b-ef97196184ea | Select-Object -Last 1 | Get-vROWorkflowExecutionState #> [CmdletBinding()][OutputType('System.Management.Automation.PSObject')] Param ( [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelinebyPropertyName=$true)] [Alias("Execution")] [ValidateNotNullOrEmpty()] [String]$ExecutionStateRef ) begin { } process { try { foreach ($Reference in $ExecutionStateRef){ # --- Send REST call and process results $URI = $Reference + "state" $State = Invoke-vRORestMethod -Method GET -Uri $URI -WebRequest -Verbose:$VerbosePreference [pscustomobject]@{ ExecutionStateRef = $Reference StatusCode = $State.StatusCode StatusDescription = $State.StatusDescription Execution = ($State.Content | ConvertFrom-Json).Value } } } catch [Exception]{ throw } } end { } } |