[CmdletBinding(SupportsShouldProcess)]param( [ArgumentCompleter({ param ( $commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters ) [DockerComposeDirs]::_GetValidValues($wordToComplete,$true) })] [string[]]$ProjectPath, [switch]$Recurse, [int]$Depth=1, [switch]$Force, [switch]$OneLine, [Parameter(Position = 0, ValueFromRemainingArguments = $true)] [array]$CliParams=@('&','up','-d') ) $local:passParams = [ordered]@{ Depth = $Depth Force = $Force OneLine = $OneLine CliParams = $CliParams } if( -not $ProjectPath -and -not $Recurse ) { $Recurse = $true } if( $ProjectPath ) { $passParams.ProjectPath = $ProjectPath } if( $Recurse ) { $passParams.Recurse = $Recurse } Invoke-DockerCompose @passParams