Public/Get-DuneDeploymentSequence.ps1
|
function Get-DuneDeploymentSequence { [CmdletBinding(DefaultParameterSetName = "Default")] param ( [Parameter(Mandatory, ParameterSetName = "Id")] [guid]$Id, [Parameter(Mandatory, ParameterSetName = "Deployment", ValueFromPipeline)] [DuneDeployment]$Deployment, [Parameter()] [SequenceUsage]$Usage, [Parameter()] [switch]$Raw ) begin { Write-Debug "$($MyInvocation.MyCommand)|begin" $ReturnObjects = @() $BaseUri = 'deployments/{0}/sequences' $Method = 'GET' } process { Write-Debug "$($MyInvocation.MyCommand)|process|$($PSCmdlet.ParameterSetName)" if ($PSCmdlet.ParameterSetName -eq 'Deployment') { $Id = $Deployment.Id } # Build Uri $Uri = $BaseUri -f $Id $ResultItems = Invoke-DuneApiRequest -Method $Method -Uri $Uri -ExtractItems $ReturnObjects += $ResultItems | ForEach-Object { if ($Raw) { $_ } else { ConvertTo-DuneClassObject -Class DuneSequence -InputObject $_ } } # Filter for Usage if ($Usage) { $ReturnObjects = $ReturnObjects | Where-Object Usage -eq $Usage } } end { Write-Debug "$($MyInvocation.MyCommand)|end" return $ReturnObjects } } |