Public/DataSources/Add-R1DataSourceSchemaLink.ps1
|
# .ExternalHelp psRadiantOne-help.xml function Add-R1DataSourceSchemaLink { [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Medium', DefaultParameterSetName = 'Single')] [OutputType('System.String')] param( [parameter( Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Single' )] [ValidateNotNullOrEmpty()] [string]$name, [parameter( Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Single' )] [ValidateNotNullOrEmpty()] [string]$schemaName, [parameter( Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'Bulk' )] [ValidateNotNullOrEmpty()] [string[]]$schemaNames ) Begin { Assert-R1Session -RequireToken }#begin Process { if ($PSCmdlet.ParameterSetName -eq 'Bulk') { $URI = Resolve-R1ServiceUrl -Service Catalog -Path 'data_sources/link_schemas' $Body = ConvertTo-R1JsonBody -Body @($schemaNames) $Target = "$($schemaNames.Count) schema(s)" } else { $Query = @{ schemaName = $schemaName } | ConvertTo-QueryString $URI = Resolve-R1ServiceUrl -Service Catalog -Path "data_sources/$($name | Get-EscapedString)/link_schema`?$Query" $Body = $null $Target = $name } if ($PSCmdlet.ShouldProcess($Target, 'Link Schema')) { $Result = Invoke-R1RestMethod -Uri $URI -Method PUT -Body $Body if ($null -ne $Result) { $Result } } }#process End { }#end } |