Private/Invoke-DuneDeploymentStage.ps1

function Invoke-DuneDeploymentStage {
    [CmdletBinding(DefaultParameterSetName = "Deployment")]
    param (
        [Parameter(ParameterSetName = "Deployment", ValueFromPipeline)]
        [DuneDeployment]$Deployment,

        [Parameter(ParameterSetName = "DeploymentId")]
        [string]$DeploymentId
    )

    begin {
        Write-Debug "$($MyInvocation.MyCommand)|begin"
    }

    process {
        Write-Debug "$($MyInvocation.MyCommand)|process|$($PSCmdlet.ParameterSetName)"
        if ($PSCmdlet.ParameterSetName -eq 'Deployment') { $DeploymentId = $Deployment.Id }
        Invoke-DuneApiRequest -Uri "deployments/$($DeploymentId)/stage" -Method POST
    }

    end {
        Write-Debug "$($MyInvocation.MyCommand)|end"
    }
}