Send-NBBulkRequest
Since
v4.4.10.0
SYNOPSIS
Sends bulk requests to the Netbox API.
SYNTAX
Send-NBBulkRequest [-URI] <UriBuilder> [-Items] <Array> [-Method] <String> [[-BatchSize] <Int32>]
[[-MaxItems] <Int32>] [-ShowProgress] [[-ActivityName] <String>] [-ProgressAction <ActionPreference>]
[<CommonParameters>]
DESCRIPTION
Helper function for bulk API operations. Handles batching, progress reporting, and partial failure handling for POST, PATCH, and DELETE operations.
If a batch fails with a 500 Internal Server Error (which can occur due to Redis cache inconsistency when referencing newly created objects), the function automatically falls back to sequential single-item requests for that batch.
EXAMPLES
EXAMPLE 1
$result = Send-NBBulkRequest -URI $uri -Items $devices -Method POST -BatchSize 50
PARAMETERS
-URI
The base URI for the API endpoint.
Type: UriBuilder
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Items
Array of items to process in bulk.
Type: Array
Parameter Sets: (All)
Aliases:
Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Method
HTTP method (POST, PATCH, DELETE).
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-BatchSize
Maximum number of items per API request. Default: 100, Max: 1000.
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Default value: 100
Accept pipeline input: False
Accept wildcard characters: False
-MaxItems
MaxItems.
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: 5
Default value: 10000
Accept pipeline input: False
Accept wildcard characters: False
-ShowProgress
Show progress bar during bulk operations.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-ActivityName
Name to display in the progress bar.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 6
Default value: Bulk operation
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
[BulkOperationResult] Object containing succeeded and failed items.
NOTES
AddedInVersion: v4.4.10.0