Public/Metaverse/Get-JIMGeneratedValue.ps1
|
# Copyright (c) Tetron Limited. All rights reserved. # Licensed under the Tetron Commercial License. See LICENSE file in the project root. function Get-JIMGeneratedValue { <# .SYNOPSIS Lists the generated values a Metaverse Object holds. .DESCRIPTION Returns the committed Unique Value Generation assignments a Metaverse Object holds, one per generated attribute: the value, which uniqueness token produced it, the Synchronisation Rule and mapping responsible, and its state. Empty when the object holds no generated values. .PARAMETER MetaverseObjectId The ID of the Metaverse Object. A Metaverse Object piped from Get-JIMMetaverseObject or Search-JIMMetaverseObject binds here through its Id. .OUTPUTS One object per generated value the Metaverse Object holds; nothing when it holds none. .EXAMPLE Get-JIMGeneratedValue -MetaverseObjectId 8f1c2d3e-4a5b-6c7d-8e9f-0a1b2c3d4e5f Lists every generated value this Metaverse Object holds. .EXAMPLE Get-JIMMetaverseObject -ObjectTypeName "person" -Search "j.smith" | Get-JIMGeneratedValue Pipes a Metaverse Object straight in to see what JIM generated for it. .LINK Get-JIMGeneratedValueSequence Restart-JIMGeneratedValues Get-JIMMetaverseObject Get-JIMSyncRuleMapping #> [CmdletBinding()] [OutputType('JIM.GeneratedValueAssignmentHeaderDto')] param( # Aliased to Id so a Metaverse Object can be piped straight in (Get-JIMMetaverseObject exposes Id, # not MetaverseObjectId). This cmdlet has no other -Id parameter, so the alias carries no ambiguity; # see the parameter alias rules in src/JIM.PowerShell/CLAUDE.md before copying this pattern elsewhere. [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [Alias('Id')] [guid]$MetaverseObjectId ) process { if (-not $script:JIMConnection) { Write-Error "You are not connected to JIM. Run Connect-JIM -Url <your JIM URL> to authenticate, then try again." return } Write-Verbose "Getting generated values for Metaverse Object: $MetaverseObjectId" $response = Invoke-JIMApi -Endpoint "/api/v1/metaverse/objects/$MetaverseObjectId/generated-values" foreach ($item in $response) { $item } } } |