Skip to content

InvokeNetboxRequest

Since

v1.0.4

SYNOPSIS

Invokes a REST API request to Netbox.

SYNTAX

InvokeNetboxRequest [-URI] <UriBuilder> [[-Headers] <Hashtable>] [[-Body] <Object>] [[-Timeout] <UInt16>]
 [[-Method] <String>] [-Raw] [-All] [[-PageSize] <Int32>] [[-MaxRetries] <Int32>] [[-RetryDelayMs] <Int32>]
 [[-Branch] <String>] [-ProgressAction <ActionPreference>] [<CommonParameters>]

DESCRIPTION

Core function for all Netbox API communication. Handles authentication, retry logic for transient failures, and comprehensive error handling. Cross-platform compatible (Windows, Linux, macOS).

Supports automatic pagination when -All is specified for GET requests.

EXAMPLES

EXAMPLE 1

$result = InvokeNetboxRequest -URI $uri -Method GET

EXAMPLE 2

$result = InvokeNetboxRequest -URI $uri -Method GET -All
Fetches all pages of results automatically.

EXAMPLE 3

$result = InvokeNetboxRequest -URI $uri -Method POST -Body $data -MaxRetries 5

PARAMETERS

-URI

The URI builder object containing the API endpoint.

Type: UriBuilder
Parameter Sets: (All)
Aliases:

Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Headers

Additional headers to include in the request.

Type: Hashtable
Parameter Sets: (All)
Aliases:

Required: False
Position: 2
Default value: @{}
Accept pipeline input: False
Accept wildcard characters: False

-Body

The request body for POST/PATCH/PUT requests.

Type: Object
Parameter Sets: (All)
Aliases:

Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Timeout

Request timeout in seconds. Defaults to module timeout setting.

Type: UInt16
Parameter Sets: (All)
Aliases:

Required: False
Position: 4
Default value: (Get-NBTimeout)
Accept pipeline input: False
Accept wildcard characters: False

-Method

HTTP method (GET, POST, PATCH, PUT, DELETE, OPTIONS).

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 5
Default value: GET
Accept pipeline input: False
Accept wildcard characters: False

-Raw

Return the raw API response instead of just the results array.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-All

Automatically fetch all pages of results for GET requests. Uses the 'next' field in API response to paginate.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-PageSize

Number of items per page when using -All. Default: 100. Range: 1-1000.

Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: 6
Default value: 100
Accept pipeline input: False
Accept wildcard characters: False

-MaxRetries

Maximum number of retry attempts for transient failures. Default: 3.

Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: 7
Default value: 3
Accept pipeline input: False
Accept wildcard characters: False

-RetryDelayMs

Initial delay between retries in milliseconds. Uses exponential backoff. Default: 1000.

Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: 8
Default value: 1000
Accept pipeline input: False
Accept wildcard characters: False

-Branch

{{ Fill Branch Description }}

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 9
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ProgressAction

{{ Fill ProgressAction Description }}

Type: ActionPreference
Parameter Sets: (All)
Aliases: proga

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

OUTPUTS

[PSCustomObject] The API response or results array.

NOTES

AddedInVersion: v1.0.4

Common parameters

common request params