Skip to content

New-NBDCIMDevice

Since

v1.0.4

SYNOPSIS

Creates one or more devices in Netbox DCIM module.

SYNTAX

Single (Default)

New-NBDCIMDevice -Name <String> -Role <Object> -Device_Type <Object> -Site <UInt64> [-Status <String>]
 [-Platform <UInt64>] [-Tenant <UInt64>] [-Cluster <UInt64>] [-Rack <UInt64>] [-Position <Double>]
 [-Face <String>] [-Serial <String>] [-Asset_Tag <String>] [-Virtual_Chassis <UInt64>] [-VC_Priority <UInt64>]
 [-VC_Position <UInt64>] [-Primary_IP4 <UInt64>] [-Primary_IP6 <UInt64>] [-Comments <String>]
 [-Description <String>] [-Custom_Fields <Hashtable>] [-Owner <UInt64>] [-Location <UInt64>]
 [-Airflow <String>] [-OOB_IP <UInt64>] [-Latitude <Double>] [-Longitude <Double>] [-Config_Template <UInt64>]
 [-Local_Context_Data <Object>] [-Tags <Object[]>] [-Raw] [-ProgressAction <ActionPreference>] [-WhatIf]
 [-Confirm] [<CommonParameters>]

Bulk

New-NBDCIMDevice -InputObject <PSObject> [-BatchSize <Int32>] [-Force] [-Tags <Object[]>] [-Raw]
 [-ProgressAction <ActionPreference>] [-WhatIf] [-Confirm] [<CommonParameters>]

DESCRIPTION

Creates a new device in Netbox DCIM module. Supports both single device creation with individual parameters and bulk creation via pipeline input.

For bulk operations, use the -BatchSize parameter to control how many devices are sent per API request. This significantly improves performance when creating many devices.

EXAMPLES

EXAMPLE 1

New-NBDCIMDevice -Name "server01" -Role 1 -Device_Type 1 -Site 1

Creates a single device named "server01".

EXAMPLE 2

$devices = @(
    [PSCustomObject]@{Name="srv01"; Role=1; Device_Type=1; Site=1}
    [PSCustomObject]@{Name="srv02"; Role=1; Device_Type=1; Site=1}
)
$devices | New-NBDCIMDevice -BatchSize 50

Creates multiple devices using bulk API operations.

EXAMPLE 3

1..100 | ForEach-Object {
    [PSCustomObject]@{Name="srv$_"; Role=1; Device_Type=1; Site=1}
} | New-NBDCIMDevice -BatchSize 50 -Force

Creates 100 devices in 2 bulk API calls, skipping confirmation.

PARAMETERS

-Name

The name of the device. Required for single device creation.

Type: String
Parameter Sets: Single
Aliases:

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

-Role

The device role ID or name. Required for single device creation. Alias: Device_Role (backwards compatibility with Netbox 3.x)

Type: Object
Parameter Sets: Single
Aliases: Device_Role

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

-Device_Type

The device type ID. Required for single device creation.

Type: Object
Parameter Sets: Single
Aliases:

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

-Site

The site ID. Required for single device creation.

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Status

Operational status.

Type: String
Parameter Sets: Single
Aliases:

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

-Platform

Platform assigned to this object (database ID).

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Tenant

Tenant assigned to this object (database ID).

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Cluster

Cluster assigned to this object (database ID).

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Rack

Rack assigned to this object (database ID).

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Position

Position (e.g. rack unit or bay identifier).

Type: Double
Parameter Sets: Single
Aliases:

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

-Face

Face.

Type: String
Parameter Sets: Single
Aliases:

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

-Serial

Serial number assigned by the manufacturer.

Type: String
Parameter Sets: Single
Aliases:

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

-Asset_Tag

Unique asset tag.

Type: String
Parameter Sets: Single
Aliases:

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

-Virtual_Chassis

Virtual Chassis.

Type: UInt64
Parameter Sets: Single
Aliases:

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

-VC_Priority

Virtual chassis master election priority

Type: UInt64
Parameter Sets: Single
Aliases:

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

-VC_Position

VC Position.

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Primary_IP4

Primary IPv4 address assigned to this object (database ID).

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Primary_IP6

Primary IPv6 address assigned to this object (database ID).

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Comments

Detailed comments (Markdown is supported).

Type: String
Parameter Sets: Single
Aliases:

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

-Description

Short description of the device (optional).

Type: String
Parameter Sets: Single
Aliases:

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

-Custom_Fields

Hashtable of custom field values to set (cf_\<name>).

Type: Hashtable
Parameter Sets: Single
Aliases:

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

-Owner

The owner ID for object ownership (Netbox 4.5+ only).

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Location

The location ID within the site.

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Airflow

Airflow direction. One of: front-to-rear, rear-to-front, left-to-right, right-to-left, side-to-rear, rear-to-side, bottom-to-top, top-to-bottom, passive, mixed.

Type: String
Parameter Sets: Single
Aliases:

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

-OOB_IP

Out-of-band IP address ID.

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Latitude

GPS latitude in decimal degrees (-90 to 90).

Type: Double
Parameter Sets: Single
Aliases:

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

-Longitude

GPS longitude in decimal degrees (-180 to 180).

Type: Double
Parameter Sets: Single
Aliases:

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

-Config_Template

Config template ID assigned to the device.

Type: UInt64
Parameter Sets: Single
Aliases:

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

-Local_Context_Data

Local config context data (free-form JSON; hashtable or object). Takes precedence over source contexts in the rendered config context.

Type: Object
Parameter Sets: Single
Aliases:

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

-InputObject

Pipeline input for bulk operations. Each object should contain the required properties: Name, Role, Device_Type, Site.

Type: PSObject
Parameter Sets: Bulk
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-BatchSize

Number of devices to create per API request in bulk mode. Default: 0 (no batching - backwards compatible single-item mode) Range: 1-1000

Type: Int32
Parameter Sets: Bulk
Aliases:

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

-Force

Skip confirmation prompts for bulk operations.

Type: SwitchParameter
Parameter Sets: Bulk
Aliases:

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

-Tags

One or more tags to assign to this object (tag names or IDs).

Type: Object[]
Parameter Sets: (All)
Aliases:

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

-Raw

Return the raw API response instead of the results array.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

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

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
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 created device object(s).

[BulkOperationResult] When using -BatchSize, returns bulk operation result.

NOTES

AddedInVersion: v1.0.4

Common parameters

common request params
common bulk params

https://netbox.readthedocs.io/en/stable/rest-api/overview/