mirror of
https://github.com/benclaussen/NetboxPS.git
synced 2025-12-15 18:55:46 +00:00
Updated BuildNewURI to be compatible with new version of netbox
The way the parameters are done for the API has changed. `Get-NetboxIPAMAddress -Status 'dhcp' -Query 'dns_name__ic=example.org'` Used to return `/api/ipam/ip-addresses/?q=dns_name__ic=example.org&status=dhcp` Now it returns `/api/ipam/ip-addresses/?dns_name__ic=bel082224&status=dhcp`
This commit is contained in:
parent
7275591ac8
commit
00cdedbbab
1 changed files with 56 additions and 47 deletions
|
|
@ -271,7 +271,7 @@ function Add-NetboxVirtualMachineInterface {
|
|||
|
||||
|
||||
function BuildNewURI {
|
||||
<#
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Create a new URI for Netbox
|
||||
|
||||
|
|
@ -301,7 +301,7 @@ function BuildNewURI {
|
|||
|
||||
.NOTES
|
||||
Additional information about the function.
|
||||
#>
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
[OutputType([System.UriBuilder])]
|
||||
|
|
@ -333,16 +333,25 @@ function BuildNewURI {
|
|||
|
||||
Write-Verbose " URIPath: $($uriBuilder.Path)"
|
||||
|
||||
if ($parameters) {
|
||||
if ($Parameters) {
|
||||
# Loop through the parameters and use the HttpUtility to create a Query string
|
||||
[System.Collections.Specialized.NameValueCollection]$URIParams = [System.Web.HttpUtility]::ParseQueryString([String]::Empty)
|
||||
[System.Collections.Specialized.NameValueCollection]$URIParams = [System.Web.HttpUtility]::ParseQueryString($uriBuilder.Query)
|
||||
|
||||
foreach ($param in $Parameters.GetEnumerator()) {
|
||||
Write-Verbose " Adding URI parameter $($param.Key):$($param.Value)"
|
||||
if ($param.Key -eq 'q') {
|
||||
# Append the query string directly
|
||||
$uriBuilder.Query = $uriBuilder.Query.TrimStart('?') + '&' + $param.Value
|
||||
}
|
||||
else {
|
||||
$URIParams[$param.Key] = $param.Value
|
||||
}
|
||||
}
|
||||
|
||||
$uriBuilder.Query = $URIParams.ToString()
|
||||
# Combine the existing query with new parameters
|
||||
$existingQuery = $uriBuilder.Query.TrimStart('?')
|
||||
$newQuery = $URIParams.ToString()
|
||||
$uriBuilder.Query = ($existingQuery + '&' + $newQuery).Trim('&')
|
||||
}
|
||||
|
||||
Write-Verbose " Completed building URIBuilder"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue