Metadata/Metadata.psm1

function ConvertTo-MetadataJson {
    param (
        [Parameter(Mandatory)]
        [string]$Endpoint,

        [Parameter(Mandatory)]
        [string]$CodeSigningAccountName,

        [Parameter(Mandatory)]
        [string]$CertificateProfileName,

        [Parameter()]
        [AllowEmptyString()]
        [string]$CorrelationId
    )

    $metadata = [ordered]@{
        Endpoint = $Endpoint
        CodeSigningAccountName = $CodeSigningAccountName
        CertificateProfileName = $CertificateProfileName
    }

    if ($CorrelationId) {
        $metadata["CorrelationId"] = $CorrelationId
    }

    return $metadata | ConvertTo-Json
}