diff --git a/Functions/Circuits/Circuits/Get-NetboxCircuit.ps1 b/Functions/Circuits/Circuits/Get-NetboxCircuit.ps1
index 6664395..e33c53e 100644
--- a/Functions/Circuits/Circuits/Get-NetboxCircuit.ps1
+++ b/Functions/Circuits/Circuits/Get-NetboxCircuit.ps1
@@ -23,16 +23,16 @@ function Get-NetboxCircuit {
A raw search query... As if you were searching the web site
.PARAMETER Provider
- The name or ID of the provider. Provide either [string] or [int]. String will search provider names, integer will search database IDs
+ The name or ID of the provider. Provide either [string] or [uint64]. String will search provider names, integer will search database IDs
.PARAMETER Type
- Type of circuit. Provide either [string] or [int]. String will search provider type names, integer will search database IDs
+ Type of circuit. Provide either [string] or [uint64]. String will search provider type names, integer will search database IDs
.PARAMETER Site
- Location/site of circuit. Provide either [string] or [int]. String will search site names, integer will search database IDs
+ Location/site of circuit. Provide either [string] or [uint64]. String will search site names, integer will search database IDs
.PARAMETER Tenant
- Tenant assigned to circuit. Provide either [string] or [int]. String will search tenant names, integer will search database IDs
+ Tenant assigned to circuit. Provide either [string] or [uint64]. String will search tenant names, integer will search database IDs
.PARAMETER Limit
A description of the Limit parameter.
@@ -57,7 +57,7 @@ function Get-NetboxCircuit {
param
(
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$CID,
@@ -66,7 +66,7 @@ function Get-NetboxCircuit {
[datetime]$InstallDate,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$CommitRate,
+ [uint64]$CommitRate,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
diff --git a/Functions/Circuits/Circuits/New-NetboxCircuit.ps1 b/Functions/Circuits/Circuits/New-NetboxCircuit.ps1
index 8198749..1e1d639 100644
--- a/Functions/Circuits/Circuits/New-NetboxCircuit.ps1
+++ b/Functions/Circuits/Circuits/New-NetboxCircuit.ps1
@@ -10,17 +10,17 @@ function New-NetboxCircuit {
[string]$CID,
[Parameter(Mandatory = $true)]
- [uint32]$Provider,
+ [uint64]$Provider,
[Parameter(Mandatory = $true)]
- [uint32]$Type,
+ [uint64]$Type,
#[ValidateSet('Active', 'Planned', 'Provisioning', 'Offline', 'Deprovisioning', 'Decommissioned ')]
[uint16]$Status = 'Active',
[string]$Description,
- [uint32]$Tenant,
+ [uint64]$Tenant,
[string]$Termination_A,
@@ -29,7 +29,7 @@ function New-NetboxCircuit {
[string]$Termination_Z,
[ValidateRange(0, 2147483647)]
- [uint32]$Commit_Rate,
+ [uint64]$Commit_Rate,
[string]$Comments,
diff --git a/Functions/Circuits/Providers/Get-NetboxCircuitProvider.ps1 b/Functions/Circuits/Providers/Get-NetboxCircuitProvider.ps1
index 8942e44..ce09f1b 100644
--- a/Functions/Circuits/Providers/Get-NetboxCircuitProvider.ps1
+++ b/Functions/Circuits/Providers/Get-NetboxCircuitProvider.ps1
@@ -5,7 +5,7 @@ function Get-NetboxCircuitProvider {
(
[Parameter(ParameterSetName = 'ById',
Mandatory = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query',
Mandatory = $false)]
diff --git a/Functions/Circuits/Terminations/Get-NetboxCircuitTermination.ps1 b/Functions/Circuits/Terminations/Get-NetboxCircuitTermination.ps1
index c8d46ba..0a5bb79 100644
--- a/Functions/Circuits/Terminations/Get-NetboxCircuitTermination.ps1
+++ b/Functions/Circuits/Terminations/Get-NetboxCircuitTermination.ps1
@@ -5,7 +5,7 @@ function Get-NetboxCircuitTermination {
(
[Parameter(ParameterSetName = 'ById',
ValueFromPipelineByPropertyName = $true)]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Circuit_ID,
@@ -14,7 +14,7 @@ function Get-NetboxCircuitTermination {
[string]$Term_Side,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Port_Speed,
+ [uint64]$Port_Speed,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
diff --git a/Functions/Circuits/Types/Get-NetboxCircuitType.ps1 b/Functions/Circuits/Types/Get-NetboxCircuitType.ps1
index 4296cc7..8df5c3e 100644
--- a/Functions/Circuits/Types/Get-NetboxCircuitType.ps1
+++ b/Functions/Circuits/Types/Get-NetboxCircuitType.ps1
@@ -4,7 +4,7 @@ function Get-NetboxCircuitType {
param
(
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Name,
diff --git a/Functions/DCIM/Cable Terminations/Get-NetboxDCIMCableTermination.ps1 b/Functions/DCIM/Cable Terminations/Get-NetboxDCIMCableTermination.ps1
index 0052a47..b52eedb 100644
--- a/Functions/DCIM/Cable Terminations/Get-NetboxDCIMCableTermination.ps1
+++ b/Functions/DCIM/Cable Terminations/Get-NetboxDCIMCableTermination.ps1
@@ -8,15 +8,15 @@
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
- [uint16]$Cable,
+ [uint64]$Cable,
[string]$Cable_End,
[string]$Termination_Type,
- [uint16]$Termination_ID,
+ [uint64]$Termination_ID,
[switch]$Raw
)
diff --git a/Functions/DCIM/Cables/Get-NetboxDCIMCable.ps1 b/Functions/DCIM/Cables/Get-NetboxDCIMCable.ps1
index b62fc87..153df21 100644
--- a/Functions/DCIM/Cables/Get-NetboxDCIMCable.ps1
+++ b/Functions/DCIM/Cables/Get-NetboxDCIMCable.ps1
@@ -8,17 +8,17 @@
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Label,
[string]$Termination_A_Type,
- [uint16]$Termination_A_ID,
+ [uint64]$Termination_A_ID,
[string]$Termination_B_Type,
- [UInt16]$Termination_B_ID,
+ [uint64]$Termination_B_ID,
[string]$Type,
@@ -26,15 +26,15 @@
[string]$Color,
- [UInt16]$Device_ID,
+ [uint64]$Device_ID,
[string]$Device,
- [uint16]$Rack_Id,
+ [uint64]$Rack_Id,
[string]$Rack,
- [uint16]$Location_ID,
+ [uint64]$Location_ID,
[string]$Location,
diff --git a/Functions/DCIM/Devices/Get-NetboxDCIMDevice.ps1 b/Functions/DCIM/Devices/Get-NetboxDCIMDevice.ps1
index aa61dd0..51b0cc6 100644
--- a/Functions/DCIM/Devices/Get-NetboxDCIMDevice.ps1
+++ b/Functions/DCIM/Devices/Get-NetboxDCIMDevice.ps1
@@ -9,43 +9,43 @@ function Get-NetboxDCIMDevice {
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Query,
[string]$Name,
- [uint16]$Manufacturer_Id,
+ [uint64]$Manufacturer_Id,
[string]$Manufacturer,
- [uint16]$Device_Type_Id,
+ [uint64]$Device_Type_Id,
- [uint16]$Role_Id,
+ [uint64]$Role_Id,
[string]$Role,
- [uint16]$Tenant_Id,
+ [uint64]$Tenant_Id,
[string]$Tenant,
- [uint16]$Platform_Id,
+ [uint64]$Platform_Id,
[string]$Platform,
[string]$Asset_Tag,
- [uint16]$Site_Id,
+ [uint64]$Site_Id,
[string]$Site,
- [uint16]$Rack_Group_Id,
+ [uint64]$Rack_Group_Id,
- [uint16]$Rack_Id,
+ [uint64]$Rack_Id,
- [uint16]$Cluster_Id,
+ [uint64]$Cluster_Id,
- [uint16]$Model,
+ [uint64]$Model,
[object]$Status,
@@ -61,7 +61,7 @@ function Get-NetboxDCIMDevice {
[bool]$Has_Primary_IP,
- [uint16]$Virtual_Chassis_Id,
+ [uint64]$Virtual_Chassis_Id,
[uint16]$Position,
diff --git a/Functions/DCIM/Devices/Get-NetboxDCIMDeviceRole.ps1 b/Functions/DCIM/Devices/Get-NetboxDCIMDeviceRole.ps1
index a07f306..10b637a 100644
--- a/Functions/DCIM/Devices/Get-NetboxDCIMDeviceRole.ps1
+++ b/Functions/DCIM/Devices/Get-NetboxDCIMDeviceRole.ps1
@@ -8,7 +8,7 @@ function Get-NetboxDCIMDeviceRole {
[uint16]$Offset,
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
diff --git a/Functions/DCIM/Devices/Get-NetboxDCIMDeviceType.ps1 b/Functions/DCIM/Devices/Get-NetboxDCIMDeviceType.ps1
index ee74128..5a295d9 100644
--- a/Functions/DCIM/Devices/Get-NetboxDCIMDeviceType.ps1
+++ b/Functions/DCIM/Devices/Get-NetboxDCIMDeviceType.ps1
@@ -8,7 +8,7 @@ function Get-NetboxDCIMDeviceType {
[uint16]$Limit,
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Query,
@@ -16,7 +16,7 @@ function Get-NetboxDCIMDeviceType {
[string]$Manufacturer,
- [uint16]$Manufacturer_Id,
+ [uint64]$Manufacturer_Id,
[string]$Model,
diff --git a/Functions/DCIM/Devices/New-NetboxDCIMDevice.ps1 b/Functions/DCIM/Devices/New-NetboxDCIMDevice.ps1
index 86ddbdd..d9bd90e 100644
--- a/Functions/DCIM/Devices/New-NetboxDCIMDevice.ps1
+++ b/Functions/DCIM/Devices/New-NetboxDCIMDevice.ps1
@@ -16,17 +16,17 @@ function New-NetboxDCIMDevice {
[object]$Device_Type,
[Parameter(Mandatory = $true)]
- [uint16]$Site,
+ [uint64]$Site,
[object]$Status = 'Active',
- [uint16]$Platform,
+ [uint64]$Platform,
- [uint16]$Tenant,
+ [uint64]$Tenant,
- [uint16]$Cluster,
+ [uint64]$Cluster,
- [uint16]$Rack,
+ [uint64]$Rack,
[uint16]$Position,
@@ -36,15 +36,15 @@ function New-NetboxDCIMDevice {
[string]$Asset_Tag,
- [uint16]$Virtual_Chassis,
+ [uint64]$Virtual_Chassis,
- [uint16]$VC_Priority,
+ [uint64]$VC_Priority,
- [uint16]$VC_Position,
+ [uint64]$VC_Position,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[string]$Comments,
diff --git a/Functions/DCIM/Devices/Remove-NetboxDCIMDevice.ps1 b/Functions/DCIM/Devices/Remove-NetboxDCIMDevice.ps1
index a2af469..e1f3e68 100644
--- a/Functions/DCIM/Devices/Remove-NetboxDCIMDevice.ps1
+++ b/Functions/DCIM/Devices/Remove-NetboxDCIMDevice.ps1
@@ -26,7 +26,7 @@ function Remove-NetboxDCIMDevice {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
diff --git a/Functions/DCIM/Devices/Set-NetboxDCIMDevice.ps1 b/Functions/DCIM/Devices/Set-NetboxDCIMDevice.ps1
index 84e9ac0..2929b99 100644
--- a/Functions/DCIM/Devices/Set-NetboxDCIMDevice.ps1
+++ b/Functions/DCIM/Devices/Set-NetboxDCIMDevice.ps1
@@ -5,7 +5,7 @@ function Set-NetboxDCIMDevice {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
@@ -13,17 +13,17 @@ function Set-NetboxDCIMDevice {
[object]$Device_Type,
- [uint16]$Site,
+ [uint64]$Site,
[object]$Status,
- [uint16]$Platform,
+ [uint64]$Platform,
- [uint16]$Tenant,
+ [uint64]$Tenant,
- [uint16]$Cluster,
+ [uint64]$Cluster,
- [uint16]$Rack,
+ [uint64]$Rack,
[uint16]$Position,
@@ -33,15 +33,15 @@ function Set-NetboxDCIMDevice {
[string]$Asset_Tag,
- [uint16]$Virtual_Chassis,
+ [uint64]$Virtual_Chassis,
- [uint16]$VC_Priority,
+ [uint64]$VC_Priority,
- [uint16]$VC_Position,
+ [uint64]$VC_Position,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[string]$Comments,
diff --git a/Functions/DCIM/FrontPorts/Add-NetboxDCIMFrontPort.ps1 b/Functions/DCIM/FrontPorts/Add-NetboxDCIMFrontPort.ps1
index 27515e8..316ff05 100644
--- a/Functions/DCIM/FrontPorts/Add-NetboxDCIMFrontPort.ps1
+++ b/Functions/DCIM/FrontPorts/Add-NetboxDCIMFrontPort.ps1
@@ -4,9 +4,9 @@
param
(
[Parameter(Mandatory = $true)]
- [uint16]$Device,
+ [uint64]$Device,
- [uint16]$Module,
+ [uint64]$Module,
[Parameter(Mandatory = $true)]
[string]$Name,
@@ -20,9 +20,9 @@
[string]$Color,
[Parameter(Mandatory = $true)]
- [uint16]$Rear_Port,
+ [uint64]$Rear_Port,
- [uint16]$Rear_Port_Position,
+ [uint64]$Rear_Port_Position,
[string]$Description,
diff --git a/Functions/DCIM/FrontPorts/Get-NetboxDCIMFrontPort.ps1 b/Functions/DCIM/FrontPorts/Get-NetboxDCIMFrontPort.ps1
index 7066d70..a9e3118 100644
--- a/Functions/DCIM/FrontPorts/Get-NetboxDCIMFrontPort.ps1
+++ b/Functions/DCIM/FrontPorts/Get-NetboxDCIMFrontPort.ps1
@@ -8,13 +8,13 @@
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
[string]$Device,
- [uint16]$Device_Id,
+ [uint64]$Device_Id,
[string]$Type,
diff --git a/Functions/DCIM/FrontPorts/Remove-NetboxDCIMFrontPort.ps1 b/Functions/DCIM/FrontPorts/Remove-NetboxDCIMFrontPort.ps1
index 53a68f7..578e314 100644
--- a/Functions/DCIM/FrontPorts/Remove-NetboxDCIMFrontPort.ps1
+++ b/Functions/DCIM/FrontPorts/Remove-NetboxDCIMFrontPort.ps1
@@ -6,7 +6,7 @@
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
diff --git a/Functions/DCIM/FrontPorts/Set-NetboxDCIMFrontPort.ps1 b/Functions/DCIM/FrontPorts/Set-NetboxDCIMFrontPort.ps1
index c9812f8..e715787 100644
--- a/Functions/DCIM/FrontPorts/Set-NetboxDCIMFrontPort.ps1
+++ b/Functions/DCIM/FrontPorts/Set-NetboxDCIMFrontPort.ps1
@@ -6,7 +6,7 @@
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[uint16]$Device,
@@ -21,7 +21,7 @@
[ValidatePattern('^[0-9a-f]{6}$')]
[string]$Color,
- [uint16]$Rear_Port,
+ [uint64]$Rear_Port,
[uint16]$Rear_Port_Position,
@@ -29,7 +29,7 @@
[bool]$Mark_Connected,
- [uint16[]]$Tags,
+ [uint64[]]$Tags,
[switch]$Force
)
diff --git a/Functions/DCIM/Get-NetboxDCIMPlatform.ps1 b/Functions/DCIM/Get-NetboxDCIMPlatform.ps1
index d6fe85f..8b60a9d 100644
--- a/Functions/DCIM/Get-NetboxDCIMPlatform.ps1
+++ b/Functions/DCIM/Get-NetboxDCIMPlatform.ps1
@@ -9,13 +9,13 @@ function Get-NetboxDCIMPlatform {
[uint16]$Offset,
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
[string]$Slug,
- [uint16]$Manufacturer_Id,
+ [uint64]$Manufacturer_Id,
[string]$Manufacturer,
diff --git a/Functions/DCIM/Interfaces/Add-NetboxDCIMInterface.ps1 b/Functions/DCIM/Interfaces/Add-NetboxDCIMInterface.ps1
index 4fa4f79..e1806e6 100644
--- a/Functions/DCIM/Interfaces/Add-NetboxDCIMInterface.ps1
+++ b/Functions/DCIM/Interfaces/Add-NetboxDCIMInterface.ps1
@@ -5,7 +5,7 @@ function Add-NetboxDCIMInterface {
param
(
[Parameter(Mandatory = $true)]
- [uint16]$Device,
+ [uint64]$Device,
[Parameter(Mandatory = $true)]
[string]$Name,
@@ -23,7 +23,7 @@ function Add-NetboxDCIMInterface {
[bool]$MGMT_Only,
- [uint16]$LAG,
+ [uint64]$LAG,
[string]$Description,
diff --git a/Functions/DCIM/Interfaces/Add-NetboxDCIMInterfaceConnection.ps1 b/Functions/DCIM/Interfaces/Add-NetboxDCIMInterfaceConnection.ps1
index a0c141d..1376727 100644
--- a/Functions/DCIM/Interfaces/Add-NetboxDCIMInterfaceConnection.ps1
+++ b/Functions/DCIM/Interfaces/Add-NetboxDCIMInterfaceConnection.ps1
@@ -30,10 +30,10 @@ function Add-NetboxDCIMInterfaceConnection {
[object]$Connection_Status,
[Parameter(Mandatory = $true)]
- [uint16]$Interface_A,
+ [uint64]$Interface_A,
[Parameter(Mandatory = $true)]
- [uint16]$Interface_B
+ [uint64]$Interface_B
)
# Verify if both Interfaces exist
diff --git a/Functions/DCIM/Interfaces/Get-NetboxDCIMInterface.ps1 b/Functions/DCIM/Interfaces/Get-NetboxDCIMInterface.ps1
index de7de00..5db3996 100644
--- a/Functions/DCIM/Interfaces/Get-NetboxDCIMInterface.ps1
+++ b/Functions/DCIM/Interfaces/Get-NetboxDCIMInterface.ps1
@@ -8,9 +8,9 @@
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
- [uint16]$Name,
+ [uint64]$Name,
[object]$Form_Factor,
@@ -22,12 +22,12 @@
[string]$Device,
- [uint16]$Device_Id,
+ [uint64]$Device_Id,
[ValidateSet('virtual', 'bridge', 'lag', '100base-tx', '1000base-t', '2.5gbase-t', '5gbase-t', '10gbase-t', '10gbase-cx4', '1000base-x-gbic', '1000base-x-sfp', '10gbase-x-sfpp', '10gbase-x-xfp', '10gbase-x-xenpak', '10gbase-x-x2', '25gbase-x-sfp28', '50gbase-x-sfp56', '40gbase-x-qsfpp', '50gbase-x-sfp28', '100gbase-x-cfp', '100gbase-x-cfp2', '200gbase-x-cfp2', '100gbase-x-cfp4', '100gbase-x-cpak', '100gbase-x-qsfp28', '200gbase-x-qsfp56', '400gbase-x-qsfpdd', '400gbase-x-osfp', '1000base-kx', '10gbase-kr', '10gbase-kx4', '25gbase-kr', '40gbase-kr4', '50gbase-kr', '100gbase-kp4', '100gbase-kr2', '100gbase-kr4', 'ieee802.11a', 'ieee802.11g', 'ieee802.11n', 'ieee802.11ac', 'ieee802.11ad', 'ieee802.11ax', 'ieee802.11ay', 'ieee802.15.1', 'other-wireless', 'gsm', 'cdma', 'lte', 'sonet-oc3', 'sonet-oc12', 'sonet-oc48', 'sonet-oc192', 'sonet-oc768', 'sonet-oc1920', 'sonet-oc3840', '1gfc-sfp', '2gfc-sfp', '4gfc-sfp', '8gfc-sfpp', '16gfc-sfpp', '32gfc-sfp28', '64gfc-qsfpp', '128gfc-qsfp28', 'infiniband-sdr', 'infiniband-ddr', 'infiniband-qdr', 'infiniband-fdr10', 'infiniband-fdr', 'infiniband-edr', 'infiniband-hdr', 'infiniband-ndr', 'infiniband-xdr', 't1', 'e1', 't3', 'e3', 'xdsl', 'docsis', 'gpon', 'xg-pon', 'xgs-pon', 'ng-pon2', 'epon', '10g-epon', 'cisco-stackwise', 'cisco-stackwise-plus', 'cisco-flexstack', 'cisco-flexstack-plus', 'cisco-stackwise-80', 'cisco-stackwise-160', 'cisco-stackwise-320', 'cisco-stackwise-480', 'juniper-vcp', 'extreme-summitstack', 'extreme-summitstack-128', 'extreme-summitstack-256', 'extreme-summitstack-512', 'other', IgnoreCase = $true)]
[string]$Type,
- [uint16]$LAG_Id,
+ [uint64]$LAG_Id,
[string]$MAC_Address,
diff --git a/Functions/DCIM/Interfaces/Get-NetboxDCIMInterfaceConnection.ps1 b/Functions/DCIM/Interfaces/Get-NetboxDCIMInterfaceConnection.ps1
index 71513e0..cf34394 100644
--- a/Functions/DCIM/Interfaces/Get-NetboxDCIMInterfaceConnection.ps1
+++ b/Functions/DCIM/Interfaces/Get-NetboxDCIMInterfaceConnection.ps1
@@ -8,13 +8,13 @@ function Get-NetboxDCIMInterfaceConnection {
[uint16]$Offset,
- [uint16]$Id,
+ [uint64]$Id,
[object]$Connection_Status,
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$Device,
+ [uint64]$Device,
[switch]$Raw
)
diff --git a/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterface.ps1 b/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterface.ps1
index 1eff61d..c550be0 100644
--- a/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterface.ps1
+++ b/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterface.ps1
@@ -25,7 +25,7 @@
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
diff --git a/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterfaceConnection.ps1 b/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterfaceConnection.ps1
index 0d5eb5b..b094686 100644
--- a/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterfaceConnection.ps1
+++ b/Functions/DCIM/Interfaces/Remove-NetboxDCIMInterfaceConnection.ps1
@@ -7,7 +7,7 @@ function Remove-NetboxDCIMInterfaceConnection {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
diff --git a/Functions/DCIM/Interfaces/Set-NetboxDCIMInterface.ps1 b/Functions/DCIM/Interfaces/Set-NetboxDCIMInterface.ps1
index 8d7c4c1..055a926 100644
--- a/Functions/DCIM/Interfaces/Set-NetboxDCIMInterface.ps1
+++ b/Functions/DCIM/Interfaces/Set-NetboxDCIMInterface.ps1
@@ -6,9 +6,9 @@
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
- [uint16]$Device,
+ [uint64]$Device,
[string]$Name,
@@ -25,7 +25,7 @@
[bool]$MGMT_Only,
- [uint16]$LAG,
+ [uint64]$LAG,
[string]$Description,
diff --git a/Functions/DCIM/Interfaces/Set-NetboxDCIMInterfaceConnection.ps1 b/Functions/DCIM/Interfaces/Set-NetboxDCIMInterfaceConnection.ps1
index d333560..1b713e3 100644
--- a/Functions/DCIM/Interfaces/Set-NetboxDCIMInterfaceConnection.ps1
+++ b/Functions/DCIM/Interfaces/Set-NetboxDCIMInterfaceConnection.ps1
@@ -35,13 +35,13 @@ function Set-NetboxDCIMInterfaceConnection {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[object]$Connection_Status,
- [uint16]$Interface_A,
+ [uint64]$Interface_A,
- [uint16]$Interface_B,
+ [uint64]$Interface_B,
[switch]$Force
)
diff --git a/Functions/DCIM/RearPorts/Add-NetboxDCIMRearPort.ps1 b/Functions/DCIM/RearPorts/Add-NetboxDCIMRearPort.ps1
index aed9896..e5b7b75 100644
--- a/Functions/DCIM/RearPorts/Add-NetboxDCIMRearPort.ps1
+++ b/Functions/DCIM/RearPorts/Add-NetboxDCIMRearPort.ps1
@@ -4,9 +4,9 @@
param
(
[Parameter(Mandatory = $true)]
- [uint16]$Device,
+ [uint64]$Device,
- [uint16]$Module,
+ [uint64]$Module,
[Parameter(Mandatory = $true)]
[string]$Name,
diff --git a/Functions/DCIM/RearPorts/Get-NetboxDCIMRearPort.ps1 b/Functions/DCIM/RearPorts/Get-NetboxDCIMRearPort.ps1
index b6ee23b..29769ee 100644
--- a/Functions/DCIM/RearPorts/Get-NetboxDCIMRearPort.ps1
+++ b/Functions/DCIM/RearPorts/Get-NetboxDCIMRearPort.ps1
@@ -8,13 +8,13 @@
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
[string]$Device,
- [uint16]$Device_Id,
+ [uint64]$Device_Id,
[string]$Type,
diff --git a/Functions/DCIM/RearPorts/Remove-NetboxDCIMRearPort.ps1 b/Functions/DCIM/RearPorts/Remove-NetboxDCIMRearPort.ps1
index 7a301ec..64cbb15 100644
--- a/Functions/DCIM/RearPorts/Remove-NetboxDCIMRearPort.ps1
+++ b/Functions/DCIM/RearPorts/Remove-NetboxDCIMRearPort.ps1
@@ -6,7 +6,7 @@
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
diff --git a/Functions/DCIM/RearPorts/Set-NetboxDCIMRearPort.ps1 b/Functions/DCIM/RearPorts/Set-NetboxDCIMRearPort.ps1
index a206943..f6b75e4 100644
--- a/Functions/DCIM/RearPorts/Set-NetboxDCIMRearPort.ps1
+++ b/Functions/DCIM/RearPorts/Set-NetboxDCIMRearPort.ps1
@@ -7,11 +7,11 @@ function Set-NetboxDCIMRearPort {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
- [uint16]$Device,
+ [uint64]$Device,
- [uint16]$Module,
+ [uint64]$Module,
[string]$Name,
diff --git a/Functions/DCIM/Sites/Get-NetboxDCIMSite.ps1 b/Functions/DCIM/Sites/Get-NetboxDCIMSite.ps1
index 932644c..97d199a 100644
--- a/Functions/DCIM/Sites/Get-NetboxDCIMSite.ps1
+++ b/Functions/DCIM/Sites/Get-NetboxDCIMSite.ps1
@@ -5,7 +5,7 @@ function Get-NetboxDCIMSite {
param
(
[Parameter(ParameterSetName = 'ByID', ValueFromPipelineByPropertyName = $true)]
- [uint32]$Id,
+ [uint64]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Name,
@@ -20,7 +20,7 @@ function Get-NetboxDCIMSite {
[string]$Facility,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$ASN,
+ [uint64]$ASN,
[Parameter(ParameterSetName = 'Query')]
[decimal]$Latitude,
@@ -38,13 +38,13 @@ function Get-NetboxDCIMSite {
[string]$Contact_Email,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Group_ID,
+ [uint64]$Tenant_Group_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant_Group,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_ID,
+ [uint64]$Tenant_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant,
@@ -53,7 +53,7 @@ function Get-NetboxDCIMSite {
[string]$Status,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Region_ID,
+ [uint64]$Region_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Region,
diff --git a/Functions/DCIM/Sites/New-NetboxDCIMSite.ps1 b/Functions/DCIM/Sites/New-NetboxDCIMSite.ps1
index 38e5ac3..59c45fa 100644
--- a/Functions/DCIM/Sites/New-NetboxDCIMSite.ps1
+++ b/Functions/DCIM/Sites/New-NetboxDCIMSite.ps1
@@ -40,7 +40,7 @@ function New-NetboxDCIMSite {
[string]$Facility,
- [uint32]$ASN,
+ [uint64]$ASN,
[decimal]$Latitude,
@@ -52,13 +52,13 @@ function New-NetboxDCIMSite {
[string]$Contact_Email,
- [int]$Tenant_Group,
+ [uint64]$Tenant_Group,
- [int]$Tenant,
+ [uint64]$Tenant,
[string]$Status,
- [uint32]$Region,
+ [uint64]$Region,
[string]$Description,
diff --git a/Functions/Extras/Get-NetboxTag.ps1 b/Functions/Extras/Get-NetboxTag.ps1
index 5ea4225..fa4067f 100644
--- a/Functions/Extras/Get-NetboxTag.ps1
+++ b/Functions/Extras/Get-NetboxTag.ps1
@@ -4,17 +4,17 @@ function Get-NetboxTag {
[OutputType([pscustomobject])]
param
(
- [uint16]$Limit,
-
- [uint16]$Offset,
-
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
[string]$Slug,
+ [uint16]$Limit,
+
+ [uint16]$Offset,
+
[switch]$Raw
)
diff --git a/Functions/IPAM/Address/Get-NetboxIPAMAddress.ps1 b/Functions/IPAM/Address/Get-NetboxIPAMAddress.ps1
index fbc9994..eb3d6c8 100644
--- a/Functions/IPAM/Address/Get-NetboxIPAMAddress.ps1
+++ b/Functions/IPAM/Address/Get-NetboxIPAMAddress.ps1
@@ -7,7 +7,7 @@
[string]$Address,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -25,28 +25,28 @@
[string]$VRF,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$VRF_Id,
+ [uint64]$VRF_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Id,
+ [uint64]$Tenant_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Device,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Device_ID,
+ [uint64]$Device_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Virtual_Machine,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Virtual_Machine_Id,
+ [uint64]$Virtual_Machine_Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Interface_Id,
+ [uint64]$Interface_Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Status,
diff --git a/Functions/IPAM/Address/Get-NetboxIPAMAvailableIP.ps1 b/Functions/IPAM/Address/Get-NetboxIPAMAvailableIP.ps1
index d0699cb..db03995 100644
--- a/Functions/IPAM/Address/Get-NetboxIPAMAvailableIP.ps1
+++ b/Functions/IPAM/Address/Get-NetboxIPAMAvailableIP.ps1
@@ -40,10 +40,10 @@ function Get-NetboxIPAMAvailableIP {
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
[Alias('Id')]
- [int]$Prefix_ID,
+ [uint64]$Prefix_ID,
[Alias('NumberOfIPs')]
- [int]$Limit,
+ [uint64]$Limit,
[switch]$Raw
)
diff --git a/Functions/IPAM/Address/New-NetboxIPAMAddress.ps1 b/Functions/IPAM/Address/New-NetboxIPAMAddress.ps1
index bffe7ad..015eb03 100644
--- a/Functions/IPAM/Address/New-NetboxIPAMAddress.ps1
+++ b/Functions/IPAM/Address/New-NetboxIPAMAddress.ps1
@@ -66,17 +66,17 @@ function New-NetboxIPAMAddress {
[object]$Status = 'Active',
- [int]$Tenant,
+ [uint64]$Tenant,
- [int]$VRF,
+ [uint64]$VRF,
[object]$Role,
- [int]$NAT_Inside,
+ [uint64]$NAT_Inside,
[hashtable]$Custom_Fields,
- [int]$Interface,
+ [uint64]$Interface,
[string]$Description,
@@ -85,7 +85,7 @@ function New-NetboxIPAMAddress {
[ValidateSet('dcim.interface', 'virtualization.vminterface', IgnoreCase = $true)]
[string]$Assigned_Object_Type,
- [int]$Assigned_Object_Id,
+ [uint64]$Assigned_Object_Id,
[switch]$Raw
)
diff --git a/Functions/IPAM/Address/Remove-NetboxIPAMAddress.ps1 b/Functions/IPAM/Address/Remove-NetboxIPAMAddress.ps1
index 0ae5e42..30af892 100644
--- a/Functions/IPAM/Address/Remove-NetboxIPAMAddress.ps1
+++ b/Functions/IPAM/Address/Remove-NetboxIPAMAddress.ps1
@@ -26,7 +26,7 @@ function Remove-NetboxIPAMAddress {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [int[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
diff --git a/Functions/IPAM/Address/Set-NetboxIPAMAddress.ps1 b/Functions/IPAM/Address/Set-NetboxIPAMAddress.ps1
index 7718a84..8c83b9f 100644
--- a/Functions/IPAM/Address/Set-NetboxIPAMAddress.ps1
+++ b/Functions/IPAM/Address/Set-NetboxIPAMAddress.ps1
@@ -6,26 +6,26 @@ function Set-NetboxIPAMAddress {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [int[]]$Id,
+ [uint64[]]$Id,
[string]$Address,
[string]$Status,
- [int]$Tenant,
+ [uint64]$Tenant,
- [int]$VRF,
+ [uint64]$VRF,
[object]$Role,
- [int]$NAT_Inside,
+ [uint64]$NAT_Inside,
[hashtable]$Custom_Fields,
[ValidateSet('dcim.interface', 'virtualization.vminterface', IgnoreCase = $true)]
[string]$Assigned_Object_Type,
- [uint16]$Assigned_Object_Id,
+ [uint64]$Assigned_Object_Id,
[string]$Description,
diff --git a/Functions/IPAM/Aggregate/Get-NetboxIPAMAggregate.ps1 b/Functions/IPAM/Aggregate/Get-NetboxIPAMAggregate.ps1
index 0e99585..aea62cd 100644
--- a/Functions/IPAM/Aggregate/Get-NetboxIPAMAggregate.ps1
+++ b/Functions/IPAM/Aggregate/Get-NetboxIPAMAggregate.ps1
@@ -7,7 +7,7 @@ function Get-NetboxIPAMAggregate {
[string]$Query,
[Parameter(ParameterSetName = 'ByID')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Prefix,
@@ -16,7 +16,7 @@ function Get-NetboxIPAMAggregate {
[object]$Family,
[Parameter(ParameterSetName = 'Query')]
- [uint16]$RIR_Id,
+ [uint64]$RIR_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$RIR,
diff --git a/Functions/IPAM/Prefix/Get-NetboxIPAMPrefix.ps1 b/Functions/IPAM/Prefix/Get-NetboxIPAMPrefix.ps1
index a680369..4c6ddef 100644
--- a/Functions/IPAM/Prefix/Get-NetboxIPAMPrefix.ps1
+++ b/Functions/IPAM/Prefix/Get-NetboxIPAMPrefix.ps1
@@ -91,7 +91,7 @@ function Get-NetboxIPAMPrefix {
[string]$Query,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Family,
@@ -116,25 +116,25 @@ function Get-NetboxIPAMPrefix {
[string]$VRF,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$VRF_Id,
+ [uint64]$VRF_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Id,
+ [uint64]$Tenant_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Site,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Site_Id,
+ [uint64]$Site_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Vlan_VId,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Vlan_Id,
+ [uint64]$Vlan_Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Status,
@@ -143,7 +143,7 @@ function Get-NetboxIPAMPrefix {
[string]$Role,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Role_Id,
+ [uint64]$Role_Id,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
diff --git a/Functions/IPAM/Prefix/New-NetboxIPAMPrefix.ps1 b/Functions/IPAM/Prefix/New-NetboxIPAMPrefix.ps1
index 979cbdc..3097a2c 100644
--- a/Functions/IPAM/Prefix/New-NetboxIPAMPrefix.ps1
+++ b/Functions/IPAM/Prefix/New-NetboxIPAMPrefix.ps1
@@ -10,7 +10,7 @@ function New-NetboxIPAMPrefix {
[object]$Status = 'Active',
- [uint16]$Tenant,
+ [uint64]$Tenant,
[object]$Role,
@@ -18,11 +18,11 @@ function New-NetboxIPAMPrefix {
[string]$Description,
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$VRF,
+ [uint64]$VRF,
- [uint16]$VLAN,
+ [uint64]$VLAN,
[hashtable]$Custom_Fields,
diff --git a/Functions/IPAM/Prefix/Set-NetboxIPAMPrefix.ps1 b/Functions/IPAM/Prefix/Set-NetboxIPAMPrefix.ps1
index 025fdda..645f7d5 100644
--- a/Functions/IPAM/Prefix/Set-NetboxIPAMPrefix.ps1
+++ b/Functions/IPAM/Prefix/Set-NetboxIPAMPrefix.ps1
@@ -6,19 +6,19 @@ function Set-NetboxIPAMPrefix {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Prefix,
[string]$Status,
- [uint16]$Tenant,
+ [uint64]$Tenant,
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$VRF,
+ [uint64]$VRF,
- [uint16]$VLAN,
+ [uint64]$VLAN,
[object]$Role,
diff --git a/Functions/IPAM/Range/Get-NetboxIPAMAddressRange.ps1 b/Functions/IPAM/Range/Get-NetboxIPAMAddressRange.ps1
new file mode 100644
index 0000000..e512a19
--- /dev/null
+++ b/Functions/IPAM/Range/Get-NetboxIPAMAddressRange.ps1
@@ -0,0 +1,73 @@
+
+function Get-NetboxIPAMAddressRange {
+ [CmdletBinding(DefaultParameterSetName = 'Query')]
+ param
+ (
+ [Parameter(ParameterSetName = 'Query',
+ Position = 0)]
+ [string]$Range,
+
+ [Parameter(ParameterSetName = 'ByID')]
+ [uint64[]]$Id,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [string]$Query,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [object]$Family,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [string]$VRF,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint32]$VRF_Id,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [string]$Tenant,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint32]$Tenant_Id,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [object]$Status,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [object]$Role,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint16]$Limit,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint16]$Offset,
+
+ [switch]$Raw
+ )
+
+ switch ($PSCmdlet.ParameterSetName) {
+ 'ById' {
+ foreach ($Range_ID in $Id) {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges', $Range_ID))
+
+ $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id'
+
+ $uri = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
+
+ InvokeNetboxRequest -URI $uri -Raw:$Raw
+ }
+
+ break
+ }
+
+ default {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges'))
+
+ $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters
+
+ $uri = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
+
+ InvokeNetboxRequest -URI $uri -Raw:$Raw
+
+ break
+ }
+ }
+}
\ No newline at end of file
diff --git a/Functions/IPAM/Range/New-NetboxIPAMAddressRange.ps1 b/Functions/IPAM/Range/New-NetboxIPAMAddressRange.ps1
new file mode 100644
index 0000000..dec9a81
--- /dev/null
+++ b/Functions/IPAM/Range/New-NetboxIPAMAddressRange.ps1
@@ -0,0 +1,106 @@
+
+
+function New-NetboxIPAMAddressRange {
+<#
+ .SYNOPSIS
+ Create a new IP address range to Netbox
+
+ .DESCRIPTION
+ Create a new IP address range to Netbox with a status of Active by default. The maximum supported
+ size of an IP range is 2^32 - 1.
+
+ .PARAMETER Start_Address
+ Starting IPv4 or IPv6 address (with mask). The maximum supported size of an IP range is 2^32 - 1.
+
+ .PARAMETER End_Address
+ Ending IPv4 or IPv6 address (with mask). The maximum supported size of an IP range is 2^32 - 1.
+
+ .PARAMETER Status
+ Operational status of this range. Defaults to Active
+
+ .PARAMETER Tenant
+ Tenant ID
+
+ .PARAMETER VRF
+ VRF ID
+
+ .PARAMETER Role
+ Role such as backup, customer, development, etc... Defaults to nothing
+
+ .PARAMETER Custom_Fields
+ Custom field hash table. Will be validated by the API service
+
+ .PARAMETER Description
+ Description of IP address range
+
+ .PARAMETER Comments
+ Extra comments (markdown supported).
+
+ .PARAMETER Tags
+ One or more tags.
+
+ .PARAMETER Mark_Utilized
+ Treat as 100% utilized
+
+ .PARAMETER Raw
+ Return raw results from API service
+
+ .EXAMPLE
+ New-NetboxIPAMAddressRange -Start_Address 192.0.2.20/24 -End_Address 192.0.2.20/24
+
+ Add new IP Address range from 192.0.2.20/24 to 192.0.2.20/24 with status active
+
+ .NOTES
+ https://netbox.neonet.org/static/docs/models/ipam/iprange/
+#>
+
+ [CmdletBinding(ConfirmImpact = 'Low',
+ SupportsShouldProcess = $true)]
+ [OutputType([pscustomobject])]
+ param
+ (
+ [Parameter(Mandatory = $true)]
+ [string]$Start_Address,
+
+ [Parameter(Mandatory = $true)]
+ [string]$End_Address,
+
+ [object]$Status = 'Active',
+
+ [uint64]$Tenant,
+
+ [uint64]$VRF,
+
+ [object]$Role,
+
+ [hashtable]$Custom_Fields,
+
+ [string]$Description,
+
+ [string]$Comments,
+
+ [object[]]$Tags,
+
+ [switch]$Mark_Utilized,
+
+ [switch]$Raw
+ )
+
+ process {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges'))
+ $Method = 'POST'
+
+ $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters
+
+ $URI = BuildNewURI -Segments $URIComponents.Segments
+
+ if ($PSCmdlet.ShouldProcess($Start_Address, 'Create new IP address range')) {
+ InvokeNetboxRequest -URI $URI -Method $Method -Body $URIComponents.Parameters -Raw:$Raw
+ }
+ }
+}
+
+
+
+
+
diff --git a/Functions/IPAM/Range/Remove-NetboxIPAMAddressRange.ps1 b/Functions/IPAM/Range/Remove-NetboxIPAMAddressRange.ps1
new file mode 100644
index 0000000..5161a37
--- /dev/null
+++ b/Functions/IPAM/Range/Remove-NetboxIPAMAddressRange.ps1
@@ -0,0 +1,47 @@
+
+function Remove-NetboxIPAMAddressRange {
+ <#
+ .SYNOPSIS
+ Remove an IP address range from Netbox
+
+ .DESCRIPTION
+ Removes/deletes an IP address range from Netbox by ID
+
+ .PARAMETER Id
+ Database ID of the IP address range object.
+
+ .PARAMETER Force
+ Do not confirm.
+
+ .EXAMPLE
+ PS C:\> Remove-NetboxIPAMAddressRange -Id 1234
+
+ .NOTES
+ Additional information about the function.
+#>
+
+ [CmdletBinding(ConfirmImpact = 'High',
+ SupportsShouldProcess = $true)]
+ param
+ (
+ [Parameter(Mandatory = $true,
+ ValueFromPipelineByPropertyName = $true)]
+ [uint64[]]$Id,
+
+ [switch]$Force
+ )
+
+ process {
+ foreach ($Range_Id in $Id) {
+ $CurrentRange = Get-NetboxIPAMAddressRange -Id $Range_Id -ErrorAction Stop
+
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges', $Range_Id))
+
+ if ($Force -or $pscmdlet.ShouldProcess($CurrentRange.start_address, "Delete")) {
+ $URI = BuildNewURI -Segments $Segments
+
+ InvokeNetboxRequest -URI $URI -Method DELETE
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Functions/IPAM/Range/Set-NetboxIPAMAddressRange.ps1 b/Functions/IPAM/Range/Set-NetboxIPAMAddressRange.ps1
new file mode 100644
index 0000000..d74d0b3
--- /dev/null
+++ b/Functions/IPAM/Range/Set-NetboxIPAMAddressRange.ps1
@@ -0,0 +1,58 @@
+
+function Set-NetboxIPAMAddressRange {
+ [CmdletBinding(ConfirmImpact = 'Medium',
+ SupportsShouldProcess = $true)]
+ param
+ (
+ [Parameter(Mandatory = $true,
+ ValueFromPipelineByPropertyName = $true)]
+ [uint64[]]$Id,
+
+ [string]$Start_Address,
+
+ [string]$End_Address,
+
+ [object]$Status,
+
+ [uint64]$Tenant,
+
+ [uint64]$VRF,
+
+ [object]$Role,
+
+ [hashtable]$Custom_Fields,
+
+ [string]$Description,
+
+ [string]$Comments,
+
+ [object[]]$Tags,
+
+ [switch]$Mark_Utilized,
+
+ [switch]$Force,
+
+ [switch]$Raw
+ )
+
+ begin {
+ $Method = 'PATCH'
+ }
+
+ process {
+ foreach ($RangeID in $Id) {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges', $RangeID))
+
+ Write-Verbose "Obtaining IP range from ID $RangeID"
+ $CurrentRange = Get-NetboxIPAMAddressRange -Id $RangeID -ErrorAction Stop
+
+ if ($Force -or $PSCmdlet.ShouldProcess("$($CurrentRange.Start_Address) - $($CurrentRange.End_Address)", 'Set')) {
+ $URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id', 'Force'
+
+ $URI = BuildNewURI -Segments $URIComponents.Segments
+
+ InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method $Method
+ }
+ }
+ }
+}
diff --git a/Functions/IPAM/Role/Get-NetboxIPAMRole.ps1 b/Functions/IPAM/Role/Get-NetboxIPAMRole.ps1
index 13a0861..e87cb0c 100644
--- a/Functions/IPAM/Role/Get-NetboxIPAMRole.ps1
+++ b/Functions/IPAM/Role/Get-NetboxIPAMRole.ps1
@@ -49,7 +49,7 @@ function Get-NetboxIPAMRole {
[string]$Query,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Slug,
diff --git a/Functions/IPAM/VLAN/Get-NetboxIPAMVLAN.ps1 b/Functions/IPAM/VLAN/Get-NetboxIPAMVLAN.ps1
index b384e3b..3c6e110 100644
--- a/Functions/IPAM/VLAN/Get-NetboxIPAMVLAN.ps1
+++ b/Functions/IPAM/VLAN/Get-NetboxIPAMVLAN.ps1
@@ -9,7 +9,7 @@ function Get-NetboxIPAMVLAN {
[uint16]$VID,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -21,13 +21,13 @@ function Get-NetboxIPAMVLAN {
[string]$Tenant,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Id,
+ [uint64]$Tenant_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$TenantGroup,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$TenantGroup_Id,
+ [uint64]$TenantGroup_Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Status,
@@ -39,19 +39,19 @@ function Get-NetboxIPAMVLAN {
[string]$Site,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Site_Id,
+ [uint64]$Site_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Group,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Group_Id,
+ [uint64]$Group_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Role,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Role_Id,
+ [uint64]$Role_Id,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
diff --git a/Functions/IPAM/VLAN/New-NetboxIPAMVLAN.ps1 b/Functions/IPAM/VLAN/New-NetboxIPAMVLAN.ps1
index 0af0499..9ab3ea4 100644
--- a/Functions/IPAM/VLAN/New-NetboxIPAMVLAN.ps1
+++ b/Functions/IPAM/VLAN/New-NetboxIPAMVLAN.ps1
@@ -53,7 +53,7 @@
[object]$Status = 'Active',
- [uint16]$Tenant,
+ [uint64]$Tenant,
[object]$Role,
diff --git a/Functions/Setup/Support/Get-NetboxContentType.ps1 b/Functions/Setup/Support/Get-NetboxContentType.ps1
index 57f7951..84859fb 100644
--- a/Functions/Setup/Support/Get-NetboxContentType.ps1
+++ b/Functions/Setup/Support/Get-NetboxContentType.ps1
@@ -42,7 +42,7 @@
[string]$Model,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$App_Label,
diff --git a/Functions/Tenancy/ContactAssignment/Get-NetboxContactAssignment.ps1 b/Functions/Tenancy/ContactAssignment/Get-NetboxContactAssignment.ps1
index e1f28c9..c6f25e6 100644
--- a/Functions/Tenancy/ContactAssignment/Get-NetboxContactAssignment.ps1
+++ b/Functions/Tenancy/ContactAssignment/Get-NetboxContactAssignment.ps1
@@ -52,22 +52,22 @@ function Get-NetboxContactAssignment {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Content_Type_Id,
+ [uint64]$Content_Type_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Content_Type,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Object_Id,
+ [uint64]$Object_Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Contact_Id,
+ [uint64]$Contact_Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Role_Id,
+ [uint64]$Role_Id,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
diff --git a/Functions/Tenancy/ContactAssignment/New-NetboxContactAssignment.ps1 b/Functions/Tenancy/ContactAssignment/New-NetboxContactAssignment.ps1
index 28932c9..6e683b4 100644
--- a/Functions/Tenancy/ContactAssignment/New-NetboxContactAssignment.ps1
+++ b/Functions/Tenancy/ContactAssignment/New-NetboxContactAssignment.ps1
@@ -42,13 +42,13 @@ function New-NetboxContactRole {
[object]$Content_Type,
[Parameter(Mandatory = $true)]
- [uint32]$Object_Id,
+ [uint64]$Object_Id,
[Parameter(Mandatory = $true)]
- [uint32]$Contact,
+ [uint64]$Contact,
[Parameter(Mandatory = $true)]
- [uint32]$Role,
+ [uint64]$Role,
[ValidateSet('primary', 'secondary', 'tertiary', 'inactive', IgnoreCase = $true)]
[string]$Priority,
diff --git a/Functions/Tenancy/ContactRoles/Get-NetboxContactRole.ps1 b/Functions/Tenancy/ContactRoles/Get-NetboxContactRole.ps1
index bfe72aa..249c211 100644
--- a/Functions/Tenancy/ContactRoles/Get-NetboxContactRole.ps1
+++ b/Functions/Tenancy/ContactRoles/Get-NetboxContactRole.ps1
@@ -40,7 +40,7 @@ function Get-NetboxContactRole {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
diff --git a/Functions/Tenancy/Contacts/Get-NetboxContact.ps1 b/Functions/Tenancy/Contacts/Get-NetboxContact.ps1
index c650a10..f005852 100644
--- a/Functions/Tenancy/Contacts/Get-NetboxContact.ps1
+++ b/Functions/Tenancy/Contacts/Get-NetboxContact.ps1
@@ -58,7 +58,7 @@ function Get-NetboxContact {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -79,7 +79,7 @@ function Get-NetboxContact {
[string]$Group,
[Parameter(ParameterSetName = 'Query')]
- [uint16]$GroupID,
+ [uint64]$GroupID,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
diff --git a/Functions/Tenancy/Contacts/Set-NetboxContact.ps1 b/Functions/Tenancy/Contacts/Set-NetboxContact.ps1
index cc7d285..b1d91b0 100644
--- a/Functions/Tenancy/Contacts/Set-NetboxContact.ps1
+++ b/Functions/Tenancy/Contacts/Set-NetboxContact.ps1
@@ -60,7 +60,7 @@ function Set-NetboxContact {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[ValidateLength(1, 100)]
[string]$Name,
@@ -68,7 +68,7 @@ function Set-NetboxContact {
[ValidateLength(0, 254)]
[string]$Email,
- [uint32]$Group,
+ [uint64]$Group,
[ValidateLength(0, 100)]
[string]$Title,
diff --git a/Functions/Tenancy/Tenants/Get-NetboxTenant.ps1 b/Functions/Tenancy/Tenants/Get-NetboxTenant.ps1
index af5250e..4fc4ca5 100644
--- a/Functions/Tenancy/Tenants/Get-NetboxTenant.ps1
+++ b/Functions/Tenancy/Tenants/Get-NetboxTenant.ps1
@@ -52,7 +52,7 @@ function Get-NetboxTenant {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -64,7 +64,7 @@ function Get-NetboxTenant {
[string]$Group,
[Parameter(ParameterSetName = 'Query')]
- [uint16]$GroupID,
+ [uint64]$GroupID,
[Parameter(ParameterSetName = 'Query')]
[hashtable]$CustomFields,
diff --git a/Functions/Virtualization/VirtualMachine/Get-NetboxVirtualMachine.ps1 b/Functions/Virtualization/VirtualMachine/Get-NetboxVirtualMachine.ps1
index 742b535..60ba589 100644
--- a/Functions/Virtualization/VirtualMachine/Get-NetboxVirtualMachine.ps1
+++ b/Functions/Virtualization/VirtualMachine/Get-NetboxVirtualMachine.ps1
@@ -91,35 +91,35 @@ function Get-NetboxVirtualMachine {
[string]$Name,
- [uint16[]]$Id,
+ [uint64[]]$Id,
[object]$Status,
[string]$Tenant,
- [uint16]$Tenant_ID,
+ [uint64]$Tenant_ID,
[string]$Platform,
- [uint16]$Platform_ID,
+ [uint64]$Platform_ID,
[string]$Cluster_Group,
- [uint16]$Cluster_Group_Id,
+ [uint64]$Cluster_Group_Id,
[string]$Cluster_Type,
- [uint16]$Cluster_Type_Id,
+ [uint64]$Cluster_Type_Id,
- [uint16]$Cluster_Id,
+ [uint64]$Cluster_Id,
[string]$Site,
- [uint16]$Site_Id,
+ [uint64]$Site_Id,
[string]$Role,
- [uint16]$Role_Id,
+ [uint64]$Role_Id,
[uint16]$Limit,
diff --git a/Functions/Virtualization/VirtualMachine/New-NetboxVirtualMachine.ps1 b/Functions/Virtualization/VirtualMachine/New-NetboxVirtualMachine.ps1
index 98d2038..f5eaebf 100644
--- a/Functions/Virtualization/VirtualMachine/New-NetboxVirtualMachine.ps1
+++ b/Functions/Virtualization/VirtualMachine/New-NetboxVirtualMachine.ps1
@@ -9,27 +9,27 @@ function New-NetboxVirtualMachine {
[string]$Name,
[Parameter(Mandatory = $true)]
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$Cluster,
+ [uint64]$Cluster,
- [uint16]$Tenant,
+ [uint64]$Tenant,
[object]$Status = 'Active',
- [uint16]$Role,
+ [uint64]$Role,
- [uint16]$Platform,
+ [uint64]$Platform,
[uint16]$vCPUs,
- [uint16]$Memory,
+ [uint64]$Memory,
- [uint16]$Disk,
+ [uint64]$Disk,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[hashtable]$Custom_Fields,
diff --git a/Functions/Virtualization/VirtualMachine/Remove-NetboxVirtualMachine.ps1 b/Functions/Virtualization/VirtualMachine/Remove-NetboxVirtualMachine.ps1
index ebb733a..b3a5ed5 100644
--- a/Functions/Virtualization/VirtualMachine/Remove-NetboxVirtualMachine.ps1
+++ b/Functions/Virtualization/VirtualMachine/Remove-NetboxVirtualMachine.ps1
@@ -26,7 +26,7 @@ function Remove-NetboxVirtualMachine {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
diff --git a/Functions/Virtualization/VirtualMachine/Set-NetboxVirtualMachine.ps1 b/Functions/Virtualization/VirtualMachine/Set-NetboxVirtualMachine.ps1
index 8c8ae0e..3b722b4 100644
--- a/Functions/Virtualization/VirtualMachine/Set-NetboxVirtualMachine.ps1
+++ b/Functions/Virtualization/VirtualMachine/Set-NetboxVirtualMachine.ps1
@@ -6,29 +6,29 @@ function Set-NetboxVirtualMachine {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
- [uint16]$Role,
+ [uint64]$Role,
- [uint16]$Cluster,
+ [uint64]$Cluster,
[object]$Status,
- [uint16]$Platform,
+ [uint64]$Platform,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[byte]$VCPUs,
- [uint16]$Memory,
+ [uint64]$Memory,
- [uint16]$Disk,
+ [uint64]$Disk,
- [uint16]$Tenant,
+ [uint64]$Tenant,
[string]$Comments,
diff --git a/Functions/Virtualization/VirtualMachineInterface/Add-NetboxVirtualMachineInterface.ps1 b/Functions/Virtualization/VirtualMachineInterface/Add-NetboxVirtualMachineInterface.ps1
index 47a04a9..9463703 100644
--- a/Functions/Virtualization/VirtualMachineInterface/Add-NetboxVirtualMachineInterface.ps1
+++ b/Functions/Virtualization/VirtualMachineInterface/Add-NetboxVirtualMachineInterface.ps1
@@ -7,7 +7,7 @@ function Add-NetboxVirtualMachineInterface {
[string]$Name,
[Parameter(Mandatory = $true)]
- [uint16]$Virtual_Machine,
+ [uint64]$Virtual_Machine,
[boolean]$Enabled = $true,
diff --git a/Functions/Virtualization/VirtualMachineInterface/Get-NetboxVirtualMachineInterface.ps1 b/Functions/Virtualization/VirtualMachineInterface/Get-NetboxVirtualMachineInterface.ps1
index d20d019..1a17dad 100644
--- a/Functions/Virtualization/VirtualMachineInterface/Get-NetboxVirtualMachineInterface.ps1
+++ b/Functions/Virtualization/VirtualMachineInterface/Get-NetboxVirtualMachineInterface.ps1
@@ -48,7 +48,7 @@ function Get-NetboxVirtualMachineInterface {
param
(
[Parameter(ValueFromPipeline = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
@@ -58,7 +58,7 @@ function Get-NetboxVirtualMachineInterface {
[uint16]$MTU,
- [uint16]$Virtual_Machine_Id,
+ [uint64]$Virtual_Machine_Id,
[string]$Virtual_Machine,
diff --git a/Functions/Virtualization/VirtualMachineInterface/Set-NetboxVirtualMachineInterface.ps1 b/Functions/Virtualization/VirtualMachineInterface/Set-NetboxVirtualMachineInterface.ps1
index 03604ed..4075cbd 100644
--- a/Functions/Virtualization/VirtualMachineInterface/Set-NetboxVirtualMachineInterface.ps1
+++ b/Functions/Virtualization/VirtualMachineInterface/Set-NetboxVirtualMachineInterface.ps1
@@ -7,7 +7,7 @@ function Set-NetboxVirtualMachineInterface {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
@@ -19,7 +19,7 @@ function Set-NetboxVirtualMachineInterface {
[boolean]$Enabled,
- [uint16]$Virtual_Machine,
+ [uint64]$Virtual_Machine,
[switch]$Force
)
diff --git a/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationCluster.ps1 b/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationCluster.ps1
index b151e62..3dc69af 100644
--- a/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationCluster.ps1
+++ b/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationCluster.ps1
@@ -58,19 +58,19 @@ function Get-NetboxVirtualizationCluster {
[Alias('q')]
[string]$Query,
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Group,
- [uint16]$Group_Id,
+ [uint64]$Group_Id,
[string]$Type,
- [uint16]$Type_Id,
+ [uint64]$Type_Id,
[string]$Site,
- [uint16]$Site_Id,
+ [uint64]$Site_Id,
[uint16]$Limit,
diff --git a/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationClusterGroup.ps1 b/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationClusterGroup.ps1
index 71813f7..2ba695d 100644
--- a/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationClusterGroup.ps1
+++ b/Functions/Virtualization/VirtualizationCluster/Get-NetboxVirtualizationClusterGroup.ps1
@@ -11,7 +11,7 @@ function Get-NetboxVirtualizationClusterGroup {
[string]$Query,
- [uint32[]]$Id,
+ [uint64[]]$Id,
[uint16]$Limit,
diff --git a/NetboxPS.psd1 b/NetboxPS.psd1
index b9c80d4..5f32e50 100644
--- a/NetboxPS.psd1
+++ b/NetboxPS.psd1
@@ -3,7 +3,7 @@
#
# Generated by: Ben Claussen
#
-# Generated on: 2023-03-17
+# Generated on: 2023-11-07
#
@{
@@ -12,7 +12,7 @@
RootModule = 'NetboxPS.psm1'
# Version number of this module.
-ModuleVersion = '1.8.0'
+ModuleVersion = '1.8.4'
# Supported PSEditions
# CompatiblePSEditions = @()
@@ -85,26 +85,28 @@ FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
'Get-NetboxDCIMRearPort', 'Get-NetboxDCIMSite', 'Get-NetboxHostname',
'Get-NetboxHostPort', 'Get-NetboxHostScheme',
'Get-NetboxInvokeParams', 'Get-NetboxIPAMAddress',
- 'Get-NetboxIPAMAggregate', 'Get-NetboxIPAMAvailableIP',
- 'Get-NetboxIPAMPrefix', 'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN',
- 'Get-NetboxTag', 'Get-NetboxTenant', 'Get-NetboxTimeout',
- 'Get-NetboxVersion', 'Get-NetboxVirtualizationCluster',
+ 'Get-NetboxIPAMAddressRange', 'Get-NetboxIPAMAggregate',
+ 'Get-NetboxIPAMAvailableIP', 'Get-NetboxIPAMPrefix',
+ 'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN', 'Get-NetboxTag',
+ 'Get-NetboxTenant', 'Get-NetboxTimeout', 'Get-NetboxVersion',
+ 'Get-NetboxVirtualizationCluster',
'Get-NetboxVirtualizationClusterGroup', 'Get-NetboxVirtualMachine',
'Get-NetboxVirtualMachineInterface', 'New-NetboxCircuit',
'New-NetboxContact', 'New-NetboxContactAssignment',
'New-NetboxContactRole', 'New-NetboxDCIMDevice', 'New-NetboxDCIMSite',
- 'New-NetboxIPAMAddress', 'New-NetboxIPAMPrefix', 'New-NetboxIPAMVLAN',
- 'New-NetboxTenant', 'New-NetboxVirtualMachine',
- 'Remove-NetboxDCIMDevice', 'Remove-NetboxDCIMFrontPort',
- 'Remove-NetboxDCIMInterface',
+ 'New-NetboxIPAMAddress', 'New-NetboxIPAMAddressRange',
+ 'New-NetboxIPAMPrefix', 'New-NetboxIPAMVLAN', 'New-NetboxTenant',
+ 'New-NetboxVirtualMachine', 'Remove-NetboxDCIMDevice',
+ 'Remove-NetboxDCIMFrontPort', 'Remove-NetboxDCIMInterface',
'Remove-NetboxDCIMInterfaceConnection', 'Remove-NetboxDCIMRearPort',
'Remove-NetboxDCIMSite', 'Remove-NetboxIPAMAddress',
- 'Remove-NetboxVirtualMachine', 'Set-NetboxCipherSSL',
- 'Set-NetboxContact', 'Set-NetboxCredential', 'Set-NetboxDCIMDevice',
- 'Set-NetboxDCIMFrontPort', 'Set-NetboxDCIMInterface',
- 'Set-NetboxDCIMInterfaceConnection', 'Set-NetboxDCIMRearPort',
- 'Set-NetboxHostName', 'Set-NetboxHostPort', 'Set-NetboxHostScheme',
- 'Set-NetboxInvokeParams', 'Set-NetboxIPAMAddress',
+ 'Remove-NetboxIPAMAddressRange', 'Remove-NetboxVirtualMachine',
+ 'Set-NetboxCipherSSL', 'Set-NetboxContact', 'Set-NetboxCredential',
+ 'Set-NetboxDCIMDevice', 'Set-NetboxDCIMFrontPort',
+ 'Set-NetboxDCIMInterface', 'Set-NetboxDCIMInterfaceConnection',
+ 'Set-NetboxDCIMRearPort', 'Set-NetboxHostName', 'Set-NetboxHostPort',
+ 'Set-NetboxHostScheme', 'Set-NetboxInvokeParams',
+ 'Set-NetboxIPAMAddress', 'Set-NetboxIPAMAddressRange',
'Set-NetboxIPAMPrefix', 'Set-NetboxTimeout',
'Set-NetboxUnstrustedSSL', 'Set-NetboxVirtualMachine',
'Set-NetboxVirtualMachineInterface', 'Test-NetboxAPIConnected'
diff --git a/NetboxPS.psproj b/NetboxPS.psproj
index 6d988d1..2e7e6c3 100644
--- a/NetboxPS.psproj
+++ b/NetboxPS.psproj
@@ -38,6 +38,8 @@
Functions\DCIM\Cables
Functions\DCIM\FrontPorts
Functions\DCIM\RearPorts
+ Functions\Extras
+ Functions\IPAM\Range
NetboxPS.psd1
@@ -146,6 +148,11 @@
Functions\DCIM\RearPorts\Set-NetboxDCIMRearPort.ps1
Functions\DCIM\Sites\New-NetboxDCIMSite.ps1
Functions\DCIM\Sites\Remove-NetboxDCIMSite.ps1
+ Functions\Extras\Get-NetboxTag.ps1
+ Functions\Setup\Clear-NetboxCredential.ps1
+ Functions\IPAM\Range\Get-NetboxIPAMAddressRange.ps1
+ Functions\IPAM\Range\New-NetboxIPAMAddressRange.ps1
+ Functions\IPAM\Range\Remove-NetboxIPAMAddressRange.ps1
R:\Netbox\NetboxPS\Test-Module.ps1
\ No newline at end of file
diff --git a/NetboxPS/NetboxPS.psd1 b/NetboxPS/NetboxPS.psd1
index b9c80d4..5f32e50 100644
--- a/NetboxPS/NetboxPS.psd1
+++ b/NetboxPS/NetboxPS.psd1
@@ -3,7 +3,7 @@
#
# Generated by: Ben Claussen
#
-# Generated on: 2023-03-17
+# Generated on: 2023-11-07
#
@{
@@ -12,7 +12,7 @@
RootModule = 'NetboxPS.psm1'
# Version number of this module.
-ModuleVersion = '1.8.0'
+ModuleVersion = '1.8.4'
# Supported PSEditions
# CompatiblePSEditions = @()
@@ -85,26 +85,28 @@ FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
'Get-NetboxDCIMRearPort', 'Get-NetboxDCIMSite', 'Get-NetboxHostname',
'Get-NetboxHostPort', 'Get-NetboxHostScheme',
'Get-NetboxInvokeParams', 'Get-NetboxIPAMAddress',
- 'Get-NetboxIPAMAggregate', 'Get-NetboxIPAMAvailableIP',
- 'Get-NetboxIPAMPrefix', 'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN',
- 'Get-NetboxTag', 'Get-NetboxTenant', 'Get-NetboxTimeout',
- 'Get-NetboxVersion', 'Get-NetboxVirtualizationCluster',
+ 'Get-NetboxIPAMAddressRange', 'Get-NetboxIPAMAggregate',
+ 'Get-NetboxIPAMAvailableIP', 'Get-NetboxIPAMPrefix',
+ 'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN', 'Get-NetboxTag',
+ 'Get-NetboxTenant', 'Get-NetboxTimeout', 'Get-NetboxVersion',
+ 'Get-NetboxVirtualizationCluster',
'Get-NetboxVirtualizationClusterGroup', 'Get-NetboxVirtualMachine',
'Get-NetboxVirtualMachineInterface', 'New-NetboxCircuit',
'New-NetboxContact', 'New-NetboxContactAssignment',
'New-NetboxContactRole', 'New-NetboxDCIMDevice', 'New-NetboxDCIMSite',
- 'New-NetboxIPAMAddress', 'New-NetboxIPAMPrefix', 'New-NetboxIPAMVLAN',
- 'New-NetboxTenant', 'New-NetboxVirtualMachine',
- 'Remove-NetboxDCIMDevice', 'Remove-NetboxDCIMFrontPort',
- 'Remove-NetboxDCIMInterface',
+ 'New-NetboxIPAMAddress', 'New-NetboxIPAMAddressRange',
+ 'New-NetboxIPAMPrefix', 'New-NetboxIPAMVLAN', 'New-NetboxTenant',
+ 'New-NetboxVirtualMachine', 'Remove-NetboxDCIMDevice',
+ 'Remove-NetboxDCIMFrontPort', 'Remove-NetboxDCIMInterface',
'Remove-NetboxDCIMInterfaceConnection', 'Remove-NetboxDCIMRearPort',
'Remove-NetboxDCIMSite', 'Remove-NetboxIPAMAddress',
- 'Remove-NetboxVirtualMachine', 'Set-NetboxCipherSSL',
- 'Set-NetboxContact', 'Set-NetboxCredential', 'Set-NetboxDCIMDevice',
- 'Set-NetboxDCIMFrontPort', 'Set-NetboxDCIMInterface',
- 'Set-NetboxDCIMInterfaceConnection', 'Set-NetboxDCIMRearPort',
- 'Set-NetboxHostName', 'Set-NetboxHostPort', 'Set-NetboxHostScheme',
- 'Set-NetboxInvokeParams', 'Set-NetboxIPAMAddress',
+ 'Remove-NetboxIPAMAddressRange', 'Remove-NetboxVirtualMachine',
+ 'Set-NetboxCipherSSL', 'Set-NetboxContact', 'Set-NetboxCredential',
+ 'Set-NetboxDCIMDevice', 'Set-NetboxDCIMFrontPort',
+ 'Set-NetboxDCIMInterface', 'Set-NetboxDCIMInterfaceConnection',
+ 'Set-NetboxDCIMRearPort', 'Set-NetboxHostName', 'Set-NetboxHostPort',
+ 'Set-NetboxHostScheme', 'Set-NetboxInvokeParams',
+ 'Set-NetboxIPAMAddress', 'Set-NetboxIPAMAddressRange',
'Set-NetboxIPAMPrefix', 'Set-NetboxTimeout',
'Set-NetboxUnstrustedSSL', 'Set-NetboxVirtualMachine',
'Set-NetboxVirtualMachineInterface', 'Test-NetboxAPIConnected'
diff --git a/NetboxPS/NetboxPS.psm1 b/NetboxPS/NetboxPS.psm1
index 87e5c9f..52d14cf 100644
--- a/NetboxPS/NetboxPS.psm1
+++ b/NetboxPS/NetboxPS.psm1
@@ -8,9 +8,9 @@ function Add-NetboxDCIMFrontPort {
param
(
[Parameter(Mandatory = $true)]
- [uint16]$Device,
+ [uint64]$Device,
- [uint16]$Module,
+ [uint64]$Module,
[Parameter(Mandatory = $true)]
[string]$Name,
@@ -24,9 +24,9 @@ function Add-NetboxDCIMFrontPort {
[string]$Color,
[Parameter(Mandatory = $true)]
- [uint16]$Rear_Port,
+ [uint64]$Rear_Port,
- [uint16]$Rear_Port_Position,
+ [uint64]$Rear_Port_Position,
[string]$Description,
@@ -56,7 +56,7 @@ function Add-NetboxDCIMInterface {
param
(
[Parameter(Mandatory = $true)]
- [uint16]$Device,
+ [uint64]$Device,
[Parameter(Mandatory = $true)]
[string]$Name,
@@ -74,7 +74,7 @@ function Add-NetboxDCIMInterface {
[bool]$MGMT_Only,
- [uint16]$LAG,
+ [uint64]$LAG,
[string]$Description,
@@ -156,10 +156,10 @@ function Add-NetboxDCIMInterfaceConnection {
[object]$Connection_Status,
[Parameter(Mandatory = $true)]
- [uint16]$Interface_A,
+ [uint64]$Interface_A,
[Parameter(Mandatory = $true)]
- [uint16]$Interface_B
+ [uint64]$Interface_B
)
# Verify if both Interfaces exist
@@ -185,9 +185,9 @@ function Add-NetboxDCIMRearPort {
param
(
[Parameter(Mandatory = $true)]
- [uint16]$Device,
+ [uint64]$Device,
- [uint16]$Module,
+ [uint64]$Module,
[Parameter(Mandatory = $true)]
[string]$Name,
@@ -241,7 +241,7 @@ function Add-NetboxVirtualMachineInterface {
[string]$Name,
[Parameter(Mandatory = $true)]
- [uint16]$Virtual_Machine,
+ [uint64]$Virtual_Machine,
[boolean]$Enabled = $true,
@@ -778,16 +778,16 @@ function Get-NetboxCircuit {
A raw search query... As if you were searching the web site
.PARAMETER Provider
- The name or ID of the provider. Provide either [string] or [int]. String will search provider names, integer will search database IDs
+ The name or ID of the provider. Provide either [string] or [uint64]. String will search provider names, integer will search database IDs
.PARAMETER Type
- Type of circuit. Provide either [string] or [int]. String will search provider type names, integer will search database IDs
+ Type of circuit. Provide either [string] or [uint64]. String will search provider type names, integer will search database IDs
.PARAMETER Site
- Location/site of circuit. Provide either [string] or [int]. String will search site names, integer will search database IDs
+ Location/site of circuit. Provide either [string] or [uint64]. String will search site names, integer will search database IDs
.PARAMETER Tenant
- Tenant assigned to circuit. Provide either [string] or [int]. String will search tenant names, integer will search database IDs
+ Tenant assigned to circuit. Provide either [string] or [uint64]. String will search tenant names, integer will search database IDs
.PARAMETER Limit
A description of the Limit parameter.
@@ -812,7 +812,7 @@ function Get-NetboxCircuit {
param
(
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$CID,
@@ -821,7 +821,7 @@ function Get-NetboxCircuit {
[datetime]$InstallDate,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$CommitRate,
+ [uint64]$CommitRate,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -885,7 +885,7 @@ function Get-NetboxCircuitProvider {
(
[Parameter(ParameterSetName = 'ById',
Mandatory = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query',
Mandatory = $false)]
@@ -948,7 +948,7 @@ function Get-NetboxCircuitTermination {
(
[Parameter(ParameterSetName = 'ById',
ValueFromPipelineByPropertyName = $true)]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Circuit_ID,
@@ -957,7 +957,7 @@ function Get-NetboxCircuitTermination {
[string]$Term_Side,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Port_Speed,
+ [uint64]$Port_Speed,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -1017,7 +1017,7 @@ function Get-NetboxCircuitType {
param
(
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Name,
@@ -1134,7 +1134,7 @@ function Get-NetboxContact {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -1155,7 +1155,7 @@ function Get-NetboxContact {
[string]$Group,
[Parameter(ParameterSetName = 'Query')]
- [uint16]$GroupID,
+ [uint64]$GroupID,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
@@ -1253,22 +1253,22 @@ function Get-NetboxContactAssignment {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Content_Type_Id,
+ [uint64]$Content_Type_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Content_Type,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Object_Id,
+ [uint64]$Object_Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Contact_Id,
+ [uint64]$Contact_Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Role_Id,
+ [uint64]$Role_Id,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
@@ -1354,7 +1354,7 @@ function Get-NetboxContactRole {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -1451,7 +1451,7 @@ function Get-NetboxContentType {
[string]$Model,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$App_Label,
@@ -1527,17 +1527,17 @@ function Get-NetboxDCIMCable {
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Label,
[string]$Termination_A_Type,
- [uint16]$Termination_A_ID,
+ [uint64]$Termination_A_ID,
[string]$Termination_B_Type,
- [UInt16]$Termination_B_ID,
+ [uint64]$Termination_B_ID,
[string]$Type,
@@ -1545,15 +1545,15 @@ function Get-NetboxDCIMCable {
[string]$Color,
- [UInt16]$Device_ID,
+ [uint64]$Device_ID,
[string]$Device,
- [uint16]$Rack_Id,
+ [uint64]$Rack_Id,
[string]$Rack,
- [uint16]$Location_ID,
+ [uint64]$Location_ID,
[string]$Location,
@@ -1587,15 +1587,15 @@ function Get-NetboxDCIMCableTermination {
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
- [uint16]$Cable,
+ [uint64]$Cable,
[string]$Cable_End,
[string]$Termination_Type,
- [uint16]$Termination_ID,
+ [uint64]$Termination_ID,
[switch]$Raw
)
@@ -1628,43 +1628,43 @@ function Get-NetboxDCIMDevice {
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Query,
[string]$Name,
- [uint16]$Manufacturer_Id,
+ [uint64]$Manufacturer_Id,
[string]$Manufacturer,
- [uint16]$Device_Type_Id,
+ [uint64]$Device_Type_Id,
- [uint16]$Role_Id,
+ [uint64]$Role_Id,
[string]$Role,
- [uint16]$Tenant_Id,
+ [uint64]$Tenant_Id,
[string]$Tenant,
- [uint16]$Platform_Id,
+ [uint64]$Platform_Id,
[string]$Platform,
[string]$Asset_Tag,
- [uint16]$Site_Id,
+ [uint64]$Site_Id,
[string]$Site,
- [uint16]$Rack_Group_Id,
+ [uint64]$Rack_Group_Id,
- [uint16]$Rack_Id,
+ [uint64]$Rack_Id,
- [uint16]$Cluster_Id,
+ [uint64]$Cluster_Id,
- [uint16]$Model,
+ [uint64]$Model,
[object]$Status,
@@ -1680,7 +1680,7 @@ function Get-NetboxDCIMDevice {
[bool]$Has_Primary_IP,
- [uint16]$Virtual_Chassis_Id,
+ [uint64]$Virtual_Chassis_Id,
[uint16]$Position,
@@ -1716,7 +1716,7 @@ function Get-NetboxDCIMDeviceRole {
[uint16]$Offset,
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
@@ -1770,7 +1770,7 @@ function Get-NetboxDCIMDeviceType {
[uint16]$Limit,
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Query,
@@ -1778,7 +1778,7 @@ function Get-NetboxDCIMDeviceType {
[string]$Manufacturer,
- [uint16]$Manufacturer_Id,
+ [uint64]$Manufacturer_Id,
[string]$Model,
@@ -1823,13 +1823,13 @@ function Get-NetboxDCIMFrontPort {
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
[string]$Device,
- [uint16]$Device_Id,
+ [uint64]$Device_Id,
[string]$Type,
@@ -1862,9 +1862,9 @@ function Get-NetboxDCIMInterface {
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
- [uint16]$Name,
+ [uint64]$Name,
[object]$Form_Factor,
@@ -1876,12 +1876,12 @@ function Get-NetboxDCIMInterface {
[string]$Device,
- [uint16]$Device_Id,
+ [uint64]$Device_Id,
[ValidateSet('virtual', 'bridge', 'lag', '100base-tx', '1000base-t', '2.5gbase-t', '5gbase-t', '10gbase-t', '10gbase-cx4', '1000base-x-gbic', '1000base-x-sfp', '10gbase-x-sfpp', '10gbase-x-xfp', '10gbase-x-xenpak', '10gbase-x-x2', '25gbase-x-sfp28', '50gbase-x-sfp56', '40gbase-x-qsfpp', '50gbase-x-sfp28', '100gbase-x-cfp', '100gbase-x-cfp2', '200gbase-x-cfp2', '100gbase-x-cfp4', '100gbase-x-cpak', '100gbase-x-qsfp28', '200gbase-x-qsfp56', '400gbase-x-qsfpdd', '400gbase-x-osfp', '1000base-kx', '10gbase-kr', '10gbase-kx4', '25gbase-kr', '40gbase-kr4', '50gbase-kr', '100gbase-kp4', '100gbase-kr2', '100gbase-kr4', 'ieee802.11a', 'ieee802.11g', 'ieee802.11n', 'ieee802.11ac', 'ieee802.11ad', 'ieee802.11ax', 'ieee802.11ay', 'ieee802.15.1', 'other-wireless', 'gsm', 'cdma', 'lte', 'sonet-oc3', 'sonet-oc12', 'sonet-oc48', 'sonet-oc192', 'sonet-oc768', 'sonet-oc1920', 'sonet-oc3840', '1gfc-sfp', '2gfc-sfp', '4gfc-sfp', '8gfc-sfpp', '16gfc-sfpp', '32gfc-sfp28', '64gfc-qsfpp', '128gfc-qsfp28', 'infiniband-sdr', 'infiniband-ddr', 'infiniband-qdr', 'infiniband-fdr10', 'infiniband-fdr', 'infiniband-edr', 'infiniband-hdr', 'infiniband-ndr', 'infiniband-xdr', 't1', 'e1', 't3', 'e3', 'xdsl', 'docsis', 'gpon', 'xg-pon', 'xgs-pon', 'ng-pon2', 'epon', '10g-epon', 'cisco-stackwise', 'cisco-stackwise-plus', 'cisco-flexstack', 'cisco-flexstack-plus', 'cisco-stackwise-80', 'cisco-stackwise-160', 'cisco-stackwise-320', 'cisco-stackwise-480', 'juniper-vcp', 'extreme-summitstack', 'extreme-summitstack-128', 'extreme-summitstack-256', 'extreme-summitstack-512', 'other', IgnoreCase = $true)]
[string]$Type,
- [uint16]$LAG_Id,
+ [uint64]$LAG_Id,
[string]$MAC_Address,
@@ -1913,13 +1913,13 @@ function Get-NetboxDCIMInterfaceConnection {
[uint16]$Offset,
- [uint16]$Id,
+ [uint64]$Id,
[object]$Connection_Status,
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$Device,
+ [uint64]$Device,
[switch]$Raw
)
@@ -1948,13 +1948,13 @@ function Get-NetboxDCIMPlatform {
[uint16]$Offset,
[Parameter(ParameterSetName = 'ById')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
[string]$Slug,
- [uint16]$Manufacturer_Id,
+ [uint64]$Manufacturer_Id,
[string]$Manufacturer,
@@ -2002,13 +2002,13 @@ function Get-NetboxDCIMRearPort {
[uint16]$Offset,
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
[string]$Device,
- [uint16]$Device_Id,
+ [uint64]$Device_Id,
[string]$Type,
@@ -2038,7 +2038,7 @@ function Get-NetboxDCIMSite {
param
(
[Parameter(ParameterSetName = 'ByID', ValueFromPipelineByPropertyName = $true)]
- [uint32]$Id,
+ [uint64]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Name,
@@ -2053,7 +2053,7 @@ function Get-NetboxDCIMSite {
[string]$Facility,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$ASN,
+ [uint64]$ASN,
[Parameter(ParameterSetName = 'Query')]
[decimal]$Latitude,
@@ -2071,13 +2071,13 @@ function Get-NetboxDCIMSite {
[string]$Contact_Email,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Group_ID,
+ [uint64]$Tenant_Group_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant_Group,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_ID,
+ [uint64]$Tenant_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant,
@@ -2086,7 +2086,7 @@ function Get-NetboxDCIMSite {
[string]$Status,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Region_ID,
+ [uint64]$Region_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Region,
@@ -2204,7 +2204,7 @@ function Get-NetboxIPAMAddress {
[string]$Address,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -2222,28 +2222,28 @@ function Get-NetboxIPAMAddress {
[string]$VRF,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$VRF_Id,
+ [uint64]$VRF_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Id,
+ [uint64]$Tenant_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Device,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Device_ID,
+ [uint64]$Device_ID,
[Parameter(ParameterSetName = 'Query')]
[string]$Virtual_Machine,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Virtual_Machine_Id,
+ [uint64]$Virtual_Machine_Id,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Interface_Id,
+ [uint64]$Interface_Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Status,
@@ -2291,6 +2291,84 @@ function Get-NetboxIPAMAddress {
#endregion
+#region File Get-NetboxIPAMAddressRange.ps1
+
+
+function Get-NetboxIPAMAddressRange {
+ [CmdletBinding(DefaultParameterSetName = 'Query')]
+ param
+ (
+ [Parameter(ParameterSetName = 'Query',
+ Position = 0)]
+ [string]$Range,
+
+ [Parameter(ParameterSetName = 'ByID')]
+ [uint64[]]$Id,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [string]$Query,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [object]$Family,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [string]$VRF,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint32]$VRF_Id,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [string]$Tenant,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint32]$Tenant_Id,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [object]$Status,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [object]$Role,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint16]$Limit,
+
+ [Parameter(ParameterSetName = 'Query')]
+ [uint16]$Offset,
+
+ [switch]$Raw
+ )
+
+ switch ($PSCmdlet.ParameterSetName) {
+ 'ById' {
+ foreach ($Range_ID in $Id) {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges', $Range_ID))
+
+ $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id'
+
+ $uri = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
+
+ InvokeNetboxRequest -URI $uri -Raw:$Raw
+ }
+
+ break
+ }
+
+ default {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges'))
+
+ $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters
+
+ $uri = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
+
+ InvokeNetboxRequest -URI $uri -Raw:$Raw
+
+ break
+ }
+ }
+}
+
+#endregion
+
#region File Get-NetboxIPAMAggregate.ps1
@@ -2302,7 +2380,7 @@ function Get-NetboxIPAMAggregate {
[string]$Query,
[Parameter(ParameterSetName = 'ByID')]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Prefix,
@@ -2311,7 +2389,7 @@ function Get-NetboxIPAMAggregate {
[object]$Family,
[Parameter(ParameterSetName = 'Query')]
- [uint16]$RIR_Id,
+ [uint64]$RIR_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$RIR,
@@ -2406,10 +2484,10 @@ function Get-NetboxIPAMAvailableIP {
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
[Alias('Id')]
- [int]$Prefix_ID,
+ [uint64]$Prefix_ID,
[Alias('NumberOfIPs')]
- [int]$Limit,
+ [uint64]$Limit,
[switch]$Raw
)
@@ -2522,7 +2600,7 @@ function Get-NetboxIPAMPrefix {
[string]$Query,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Family,
@@ -2547,25 +2625,25 @@ function Get-NetboxIPAMPrefix {
[string]$VRF,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$VRF_Id,
+ [uint64]$VRF_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Tenant,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Id,
+ [uint64]$Tenant_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Site,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Site_Id,
+ [uint64]$Site_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Vlan_VId,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Vlan_Id,
+ [uint64]$Vlan_Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Status,
@@ -2574,7 +2652,7 @@ function Get-NetboxIPAMPrefix {
[string]$Role,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Role_Id,
+ [uint64]$Role_Id,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
@@ -2677,7 +2755,7 @@ function Get-NetboxIPAMRole {
[string]$Query,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Slug,
@@ -2738,7 +2816,7 @@ function Get-NetboxIPAMVLAN {
[uint16]$VID,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -2750,13 +2828,13 @@ function Get-NetboxIPAMVLAN {
[string]$Tenant,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Tenant_Id,
+ [uint64]$Tenant_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$TenantGroup,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$TenantGroup_Id,
+ [uint64]$TenantGroup_Id,
[Parameter(ParameterSetName = 'Query')]
[object]$Status,
@@ -2768,19 +2846,19 @@ function Get-NetboxIPAMVLAN {
[string]$Site,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Site_Id,
+ [uint64]$Site_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Group,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Group_Id,
+ [uint64]$Group_Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Role,
[Parameter(ParameterSetName = 'Query')]
- [uint32]$Role_Id,
+ [uint64]$Role_Id,
[Parameter(ParameterSetName = 'Query')]
[uint16]$Limit,
@@ -2834,17 +2912,17 @@ function Get-NetboxTag {
[OutputType([pscustomobject])]
param
(
- [uint16]$Limit,
-
- [uint16]$Offset,
-
[Parameter(ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
[string]$Slug,
+ [uint16]$Limit,
+
+ [uint16]$Offset,
+
[switch]$Raw
)
@@ -2918,7 +2996,7 @@ function Get-NetboxTenant {
[string]$Name,
[Parameter(ParameterSetName = 'ByID')]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[Parameter(ParameterSetName = 'Query')]
[string]$Query,
@@ -2930,7 +3008,7 @@ function Get-NetboxTenant {
[string]$Group,
[Parameter(ParameterSetName = 'Query')]
- [uint16]$GroupID,
+ [uint64]$GroupID,
[Parameter(ParameterSetName = 'Query')]
[hashtable]$CustomFields,
@@ -3075,19 +3153,19 @@ function Get-NetboxVirtualizationCluster {
[Alias('q')]
[string]$Query,
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Group,
- [uint16]$Group_Id,
+ [uint64]$Group_Id,
[string]$Type,
- [uint16]$Type_Id,
+ [uint64]$Type_Id,
[string]$Site,
- [uint16]$Site_Id,
+ [uint64]$Site_Id,
[uint16]$Limit,
@@ -3122,7 +3200,7 @@ function Get-NetboxVirtualizationClusterGroup {
[string]$Query,
- [uint32[]]$Id,
+ [uint64[]]$Id,
[uint16]$Limit,
@@ -3237,35 +3315,35 @@ function Get-NetboxVirtualMachine {
[string]$Name,
- [uint16[]]$Id,
+ [uint64[]]$Id,
[object]$Status,
[string]$Tenant,
- [uint16]$Tenant_ID,
+ [uint64]$Tenant_ID,
[string]$Platform,
- [uint16]$Platform_ID,
+ [uint64]$Platform_ID,
[string]$Cluster_Group,
- [uint16]$Cluster_Group_Id,
+ [uint64]$Cluster_Group_Id,
[string]$Cluster_Type,
- [uint16]$Cluster_Type_Id,
+ [uint64]$Cluster_Type_Id,
- [uint16]$Cluster_Id,
+ [uint64]$Cluster_Id,
[string]$Site,
- [uint16]$Site_Id,
+ [uint64]$Site_Id,
[string]$Role,
- [uint16]$Role_Id,
+ [uint64]$Role_Id,
[uint16]$Limit,
@@ -3343,7 +3421,7 @@ function Get-NetboxVirtualMachineInterface {
param
(
[Parameter(ValueFromPipeline = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
@@ -3353,7 +3431,7 @@ function Get-NetboxVirtualMachineInterface {
[uint16]$MTU,
- [uint16]$Virtual_Machine_Id,
+ [uint64]$Virtual_Machine_Id,
[string]$Virtual_Machine,
@@ -3492,17 +3570,17 @@ function New-NetboxCircuit {
[string]$CID,
[Parameter(Mandatory = $true)]
- [uint32]$Provider,
+ [uint64]$Provider,
[Parameter(Mandatory = $true)]
- [uint32]$Type,
+ [uint64]$Type,
#[ValidateSet('Active', 'Planned', 'Provisioning', 'Offline', 'Deprovisioning', 'Decommissioned ')]
[uint16]$Status = 'Active',
[string]$Description,
- [uint32]$Tenant,
+ [uint64]$Tenant,
[string]$Termination_A,
@@ -3511,7 +3589,7 @@ function New-NetboxCircuit {
[string]$Termination_Z,
[ValidateRange(0, 2147483647)]
- [uint32]$Commit_Rate,
+ [uint64]$Commit_Rate,
[string]$Comments,
@@ -3688,13 +3766,13 @@ function New-NetboxContactRole {
[object]$Content_Type,
[Parameter(Mandatory = $true)]
- [uint32]$Object_Id,
+ [uint64]$Object_Id,
[Parameter(Mandatory = $true)]
- [uint32]$Contact,
+ [uint64]$Contact,
[Parameter(Mandatory = $true)]
- [uint32]$Role,
+ [uint64]$Role,
[ValidateSet('primary', 'secondary', 'tertiary', 'inactive', IgnoreCase = $true)]
[string]$Priority,
@@ -3851,17 +3929,17 @@ function New-NetboxDCIMDevice {
[object]$Device_Type,
[Parameter(Mandatory = $true)]
- [uint16]$Site,
+ [uint64]$Site,
[object]$Status = 'Active',
- [uint16]$Platform,
+ [uint64]$Platform,
- [uint16]$Tenant,
+ [uint64]$Tenant,
- [uint16]$Cluster,
+ [uint64]$Cluster,
- [uint16]$Rack,
+ [uint64]$Rack,
[uint16]$Position,
@@ -3871,15 +3949,15 @@ function New-NetboxDCIMDevice {
[string]$Asset_Tag,
- [uint16]$Virtual_Chassis,
+ [uint64]$Virtual_Chassis,
- [uint16]$VC_Priority,
+ [uint64]$VC_Priority,
- [uint16]$VC_Position,
+ [uint64]$VC_Position,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[string]$Comments,
@@ -3944,7 +4022,7 @@ function New-NetboxDCIMSite {
[string]$Facility,
- [uint32]$ASN,
+ [uint64]$ASN,
[decimal]$Latitude,
@@ -3956,13 +4034,13 @@ function New-NetboxDCIMSite {
[string]$Contact_Email,
- [int]$Tenant_Group,
+ [uint64]$Tenant_Group,
- [int]$Tenant,
+ [uint64]$Tenant,
[string]$Status,
- [uint32]$Region,
+ [uint64]$Region,
[string]$Description,
@@ -4061,17 +4139,17 @@ function New-NetboxIPAMAddress {
[object]$Status = 'Active',
- [int]$Tenant,
+ [uint64]$Tenant,
- [int]$VRF,
+ [uint64]$VRF,
[object]$Role,
- [int]$NAT_Inside,
+ [uint64]$NAT_Inside,
[hashtable]$Custom_Fields,
- [int]$Interface,
+ [uint64]$Interface,
[string]$Description,
@@ -4080,7 +4158,7 @@ function New-NetboxIPAMAddress {
[ValidateSet('dcim.interface', 'virtualization.vminterface', IgnoreCase = $true)]
[string]$Assigned_Object_Type,
- [int]$Assigned_Object_Id,
+ [uint64]$Assigned_Object_Id,
[switch]$Raw
)
@@ -4104,6 +4182,117 @@ function New-NetboxIPAMAddress {
+#endregion
+
+#region File New-NetboxIPAMAddressRange.ps1
+
+
+
+function New-NetboxIPAMAddressRange {
+<#
+ .SYNOPSIS
+ Create a new IP address range to Netbox
+
+ .DESCRIPTION
+ Create a new IP address range to Netbox with a status of Active by default. The maximum supported
+ size of an IP range is 2^32 - 1.
+
+ .PARAMETER Start_Address
+ Starting IPv4 or IPv6 address (with mask). The maximum supported size of an IP range is 2^32 - 1.
+
+ .PARAMETER End_Address
+ Ending IPv4 or IPv6 address (with mask). The maximum supported size of an IP range is 2^32 - 1.
+
+ .PARAMETER Status
+ Operational status of this range. Defaults to Active
+
+ .PARAMETER Tenant
+ Tenant ID
+
+ .PARAMETER VRF
+ VRF ID
+
+ .PARAMETER Role
+ Role such as backup, customer, development, etc... Defaults to nothing
+
+ .PARAMETER Custom_Fields
+ Custom field hash table. Will be validated by the API service
+
+ .PARAMETER Description
+ Description of IP address range
+
+ .PARAMETER Comments
+ Extra comments (markdown supported).
+
+ .PARAMETER Tags
+ One or more tags.
+
+ .PARAMETER Mark_Utilized
+ Treat as 100% utilized
+
+ .PARAMETER Raw
+ Return raw results from API service
+
+ .EXAMPLE
+ New-NetboxIPAMAddressRange -Start_Address 192.0.2.20/24 -End_Address 192.0.2.20/24
+
+ Add new IP Address range from 192.0.2.20/24 to 192.0.2.20/24 with status active
+
+ .NOTES
+ https://netbox.neonet.org/static/docs/models/ipam/iprange/
+#>
+
+ [CmdletBinding(ConfirmImpact = 'Low',
+ SupportsShouldProcess = $true)]
+ [OutputType([pscustomobject])]
+ param
+ (
+ [Parameter(Mandatory = $true)]
+ [string]$Start_Address,
+
+ [Parameter(Mandatory = $true)]
+ [string]$End_Address,
+
+ [object]$Status = 'Active',
+
+ [uint64]$Tenant,
+
+ [uint64]$VRF,
+
+ [object]$Role,
+
+ [hashtable]$Custom_Fields,
+
+ [string]$Description,
+
+ [string]$Comments,
+
+ [object[]]$Tags,
+
+ [switch]$Mark_Utilized,
+
+ [switch]$Raw
+ )
+
+ process {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges'))
+ $Method = 'POST'
+
+ $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters
+
+ $URI = BuildNewURI -Segments $URIComponents.Segments
+
+ if ($PSCmdlet.ShouldProcess($Start_Address, 'Create new IP address range')) {
+ InvokeNetboxRequest -URI $URI -Method $Method -Body $URIComponents.Parameters -Raw:$Raw
+ }
+ }
+}
+
+
+
+
+
+
#endregion
#region File New-NetboxIPAMPrefix.ps1
@@ -4120,7 +4309,7 @@ function New-NetboxIPAMPrefix {
[object]$Status = 'Active',
- [uint16]$Tenant,
+ [uint64]$Tenant,
[object]$Role,
@@ -4128,11 +4317,11 @@ function New-NetboxIPAMPrefix {
[string]$Description,
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$VRF,
+ [uint64]$VRF,
- [uint16]$VLAN,
+ [uint64]$VLAN,
[hashtable]$Custom_Fields,
@@ -4218,7 +4407,7 @@ function New-NetboxIPAMVLAN {
[object]$Status = 'Active',
- [uint16]$Tenant,
+ [uint64]$Tenant,
[object]$Role,
@@ -4337,27 +4526,27 @@ function New-NetboxVirtualMachine {
[string]$Name,
[Parameter(Mandatory = $true)]
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$Cluster,
+ [uint64]$Cluster,
- [uint16]$Tenant,
+ [uint64]$Tenant,
[object]$Status = 'Active',
- [uint16]$Role,
+ [uint64]$Role,
- [uint16]$Platform,
+ [uint64]$Platform,
[uint16]$vCPUs,
- [uint16]$Memory,
+ [uint64]$Memory,
- [uint16]$Disk,
+ [uint64]$Disk,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[hashtable]$Custom_Fields,
@@ -4424,7 +4613,7 @@ function Remove-NetboxDCIMDevice {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
@@ -4464,7 +4653,7 @@ function Remove-NetboxDCIMFrontPort {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
@@ -4523,7 +4712,7 @@ function Remove-NetboxDCIMInterface {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
@@ -4564,7 +4753,7 @@ function Remove-NetboxDCIMInterfaceConnection {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
@@ -4606,7 +4795,7 @@ function Remove-NetboxDCIMRearPort {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
@@ -4735,7 +4924,7 @@ function Remove-NetboxIPAMAddress {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [int[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
@@ -4757,6 +4946,58 @@ function Remove-NetboxIPAMAddress {
#endregion
+#region File Remove-NetboxIPAMAddressRange.ps1
+
+
+function Remove-NetboxIPAMAddressRange {
+ <#
+ .SYNOPSIS
+ Remove an IP address range from Netbox
+
+ .DESCRIPTION
+ Removes/deletes an IP address range from Netbox by ID
+
+ .PARAMETER Id
+ Database ID of the IP address range object.
+
+ .PARAMETER Force
+ Do not confirm.
+
+ .EXAMPLE
+ PS C:\> Remove-NetboxIPAMAddressRange -Id 1234
+
+ .NOTES
+ Additional information about the function.
+#>
+
+ [CmdletBinding(ConfirmImpact = 'High',
+ SupportsShouldProcess = $true)]
+ param
+ (
+ [Parameter(Mandatory = $true,
+ ValueFromPipelineByPropertyName = $true)]
+ [uint64[]]$Id,
+
+ [switch]$Force
+ )
+
+ process {
+ foreach ($Range_Id in $Id) {
+ $CurrentRange = Get-NetboxIPAMAddressRange -Id $Range_Id -ErrorAction Stop
+
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges', $Range_Id))
+
+ if ($Force -or $pscmdlet.ShouldProcess($CurrentRange.start_address, "Delete")) {
+ $URI = BuildNewURI -Segments $Segments
+
+ InvokeNetboxRequest -URI $URI -Method DELETE
+ }
+ }
+ }
+}
+
+#endregion
+
#region File Remove-NetboxVirtualMachine.ps1
@@ -4787,7 +5028,7 @@ function Remove-NetboxVirtualMachine {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[switch]$Force
)
@@ -4894,7 +5135,7 @@ function Set-NetboxContact {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint32[]]$Id,
+ [uint64[]]$Id,
[ValidateLength(1, 100)]
[string]$Name,
@@ -4902,7 +5143,7 @@ function Set-NetboxContact {
[ValidateLength(0, 254)]
[string]$Email,
- [uint32]$Group,
+ [uint64]$Group,
[ValidateLength(0, 100)]
[string]$Title,
@@ -5001,7 +5242,7 @@ function Set-NetboxDCIMDevice {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
@@ -5009,17 +5250,17 @@ function Set-NetboxDCIMDevice {
[object]$Device_Type,
- [uint16]$Site,
+ [uint64]$Site,
[object]$Status,
- [uint16]$Platform,
+ [uint64]$Platform,
- [uint16]$Tenant,
+ [uint64]$Tenant,
- [uint16]$Cluster,
+ [uint64]$Cluster,
- [uint16]$Rack,
+ [uint64]$Rack,
[uint16]$Position,
@@ -5029,15 +5270,15 @@ function Set-NetboxDCIMDevice {
[string]$Asset_Tag,
- [uint16]$Virtual_Chassis,
+ [uint64]$Virtual_Chassis,
- [uint16]$VC_Priority,
+ [uint64]$VC_Priority,
- [uint16]$VC_Position,
+ [uint64]$VC_Position,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[string]$Comments,
@@ -5083,7 +5324,7 @@ function Set-NetboxDCIMFrontPort {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[uint16]$Device,
@@ -5098,7 +5339,7 @@ function Set-NetboxDCIMFrontPort {
[ValidatePattern('^[0-9a-f]{6}$')]
[string]$Color,
- [uint16]$Rear_Port,
+ [uint64]$Rear_Port,
[uint16]$Rear_Port_Position,
@@ -5106,7 +5347,7 @@ function Set-NetboxDCIMFrontPort {
[bool]$Mark_Connected,
- [uint16[]]$Tags,
+ [uint64[]]$Tags,
[switch]$Force
)
@@ -5148,9 +5389,9 @@ function Set-NetboxDCIMInterface {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
- [uint16]$Device,
+ [uint64]$Device,
[string]$Name,
@@ -5167,7 +5408,7 @@ function Set-NetboxDCIMInterface {
[bool]$MGMT_Only,
- [uint16]$LAG,
+ [uint64]$LAG,
[string]$Description,
@@ -5270,13 +5511,13 @@ function Set-NetboxDCIMInterfaceConnection {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[object]$Connection_Status,
- [uint16]$Interface_A,
+ [uint64]$Interface_A,
- [uint16]$Interface_B,
+ [uint64]$Interface_B,
[switch]$Force
)
@@ -5322,11 +5563,11 @@ function Set-NetboxDCIMRearPort {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
- [uint16]$Device,
+ [uint64]$Device,
- [uint16]$Module,
+ [uint64]$Module,
[string]$Name,
@@ -5469,26 +5710,26 @@ function Set-NetboxIPAMAddress {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [int[]]$Id,
+ [uint64[]]$Id,
[string]$Address,
[string]$Status,
- [int]$Tenant,
+ [uint64]$Tenant,
- [int]$VRF,
+ [uint64]$VRF,
[object]$Role,
- [int]$NAT_Inside,
+ [uint64]$NAT_Inside,
[hashtable]$Custom_Fields,
[ValidateSet('dcim.interface', 'virtualization.vminterface', IgnoreCase = $true)]
[string]$Assigned_Object_Type,
- [uint16]$Assigned_Object_Id,
+ [uint64]$Assigned_Object_Id,
[string]$Description,
@@ -5547,6 +5788,69 @@ function Set-NetboxIPAMAddress {
#endregion
+#region File Set-NetboxIPAMAddressRange.ps1
+
+
+function Set-NetboxIPAMAddressRange {
+ [CmdletBinding(ConfirmImpact = 'Medium',
+ SupportsShouldProcess = $true)]
+ param
+ (
+ [Parameter(Mandatory = $true,
+ ValueFromPipelineByPropertyName = $true)]
+ [uint64[]]$Id,
+
+ [string]$Start_Address,
+
+ [string]$End_Address,
+
+ [object]$Status,
+
+ [uint64]$Tenant,
+
+ [uint64]$VRF,
+
+ [object]$Role,
+
+ [hashtable]$Custom_Fields,
+
+ [string]$Description,
+
+ [string]$Comments,
+
+ [object[]]$Tags,
+
+ [switch]$Mark_Utilized,
+
+ [switch]$Force,
+
+ [switch]$Raw
+ )
+
+ begin {
+ $Method = 'PATCH'
+ }
+
+ process {
+ foreach ($RangeID in $Id) {
+ $Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-ranges', $RangeID))
+
+ Write-Verbose "Obtaining IP range from ID $RangeID"
+ $CurrentRange = Get-NetboxIPAMAddressRange -Id $RangeID -ErrorAction Stop
+
+ if ($Force -or $PSCmdlet.ShouldProcess("$($CurrentRange.Start_Address) - $($CurrentRange.End_Address)", 'Set')) {
+ $URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id', 'Force'
+
+ $URI = BuildNewURI -Segments $URIComponents.Segments
+
+ InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method $Method
+ }
+ }
+ }
+}
+
+#endregion
+
#region File Set-NetboxIPAMPrefix.ps1
@@ -5557,19 +5861,19 @@ function Set-NetboxIPAMPrefix {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Prefix,
[string]$Status,
- [uint16]$Tenant,
+ [uint64]$Tenant,
- [uint16]$Site,
+ [uint64]$Site,
- [uint16]$VRF,
+ [uint64]$VRF,
- [uint16]$VLAN,
+ [uint64]$VLAN,
[object]$Role,
@@ -5687,29 +5991,29 @@ function Set-NetboxVirtualMachine {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16]$Id,
+ [uint64]$Id,
[string]$Name,
- [uint16]$Role,
+ [uint64]$Role,
- [uint16]$Cluster,
+ [uint64]$Cluster,
[object]$Status,
- [uint16]$Platform,
+ [uint64]$Platform,
- [uint16]$Primary_IP4,
+ [uint64]$Primary_IP4,
- [uint16]$Primary_IP6,
+ [uint64]$Primary_IP6,
[byte]$VCPUs,
- [uint16]$Memory,
+ [uint64]$Memory,
- [uint16]$Disk,
+ [uint64]$Disk,
- [uint16]$Tenant,
+ [uint64]$Tenant,
[string]$Comments,
@@ -5754,7 +6058,7 @@ function Set-NetboxVirtualMachineInterface {
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true)]
- [uint16[]]$Id,
+ [uint64[]]$Id,
[string]$Name,
@@ -5766,7 +6070,7 @@ function Set-NetboxVirtualMachineInterface {
[boolean]$Enabled,
- [uint16]$Virtual_Machine,
+ [uint64]$Virtual_Machine,
[switch]$Force
)