Public/artifacts/New-Artifact.ps1
function New-Artifact { <# .SYNOPSIS Create one or more artifacts .DESCRIPTION Additional information is available with the -Help parameter .PARAMETER HELP Output dynamic help information #> [CmdletBinding(DefaultParameterSetName = 'PutV2Artifact')] [OutputType()] param( [Parameter( ParameterSetName = 'DynamicHelp', Mandatory = $true)] [switch] $Help ) DynamicParam { # Endpoint(s) used by function $Endpoints = @('PutV2Artifact', 'PutV2ArtifactBulk') # Create runtime dictionary return (Get-Dictionary $Endpoints -OutVariable Dynamic) } process { if ($Help) { # Output dynamic help Get-DynamicHelp $MyInvocation.MyCommand.Name } else { # Evaluate dynamic input $Param = Get-Param $PSCmdlet.ParameterSetName $Dynamic # Make request Invoke-Endpoint @Param } } } |