Src/Public/New-PromMetric.ps1
function New-PromMetric { [CmdletBinding()] param ( [Parameter(Mandatory=$true)] [PSTypeName('PrometheusMetricDesc')] $MetricDesc, [Parameter(Mandatory=$true)] [float] $Value, [string[]] $Labels ) begin{ if (-not($MetricDesc.Labels.count -eq $Labels.Count)){ throw "There are $($MetricDesc.Labels.count) labels set on New-PromMetricDescription but only $($Labels.Count) set here." } } process{ [PSCustomObject]@{ PSTypeName = 'PrometheusMetric' Description = $MetricDesc Type = $Value Labels = $Labels } } } |