private/FoundationaLLM-DataPipeline.ps1
|
function Resolve-PackageObjectIdReferences { param ( [hashtable]$Object, [string]$PropertyName ) foreach ($key in @($Object.Keys)) { $value = $Object[$key] if ($key -eq $PropertyName -and $value -is [hashtable] -and $value['name'] -and $value['type']) { $Object[$key] = Get-ObjectId -Name $value['name'] -Type $value['type'] } elseif ($value -is [hashtable]) { Resolve-PackageObjectIdReferences -Object $value -PropertyName $PropertyName } elseif ($value -is [System.Collections.IEnumerable] -and -not ($value -is [string])) { foreach ($item in $value) { if ($item -is [hashtable]) { Resolve-PackageObjectIdReferences -Object $item -PropertyName $PropertyName } } } } } function Merge-DataPipeline { param ( [hashtable]$DataPipeline ) Resolve-PackageObjectIdReferences -Object $DataPipeline -PropertyName 'plugin_object_id' Resolve-PackageObjectIdReferences -Object $DataPipeline -PropertyName 'data_source_object_id' Invoke-ManagementAPI ` -Method POST ` -RelativeUri "providers/FoundationaLLM.DataPipeline/dataPipelines/$($DataPipeline['name'])" ` -Body $DataPipeline } function Start-DataPipeline { param ( [string]$DataPipelineName, [hashtable]$TriggerParameters ) return Invoke-ManagementAPI ` -Method POST ` -RelativeUri "providers/FoundationaLLM.DataPipeline/dataPipelines/$($DataPipelineName)/trigger" ` -Body $TriggerParameters } |