Public/New-DuneCollection.ps1
|
function New-DuneCollection { [CmdletBinding( SupportsShouldProcess, ConfirmImpact = 'None' )] param ( [Parameter(Mandatory)] [string]$Name, [Parameter()] [string]$DisplayName, [Parameter()] [string]$Description, [Parameter()] [hashtable[]]$Variables, [Parameter()] [hashtable[]]$Tags ) begin {} process { Write-Debug "$($MyInvocation.MyCommand)|process" $Body = @{ DisplayName = $DisplayName Name = $Name Description = $Description Tags = $Tags } if ($PSBoundParameters.ContainsKey('Variables')) { $Variables | ForEach-Object { $_.Value = ConvertTo-Json -InputObject $Variables } $Body.Variables = $Variables } if ($PSCmdlet.ShouldProcess($($Body | ConvertTo-Json -Depth 16 -Compress))) { $Return = Invoke-DuneApiRequest -Uri "Collections" -Method POST -Body $Body $ReturnObject = if ($Return.Content) { $Return.Content | ConvertFrom-Json | ConvertTo-DuneClassObject -Class DuneCollection } return $ReturnObject } } end {} } |