Update Set-NetboxIPAMAddress

- Replace Interface parameter with Assigned_Object_Type and Assigned_Object_Id
- Add validation logic for Assigned_Object_ parameters
- Change Status parameter to string
This commit is contained in:
Ben Claussen 2020-11-13 12:19:46 -05:00
parent b4803a5697
commit cc52fdc844

View file

@ -23,7 +23,7 @@ function Set-NetboxIPAMAddress {
[string]$Address,
[object]$Status,
[string]$Status,
[uint16]$Tenant,
@ -35,7 +35,10 @@ function Set-NetboxIPAMAddress {
[hashtable]$Custom_Fields,
[uint16]$Interface,
[ValidateSet('dcim.interface', 'virtualization.vminterface', IgnoreCase = $true)]
[string]$Assigned_Object_Type,
[uint16]$Assigned_Object_Id,
[string]$Description,
@ -65,6 +68,12 @@ function Set-NetboxIPAMAddress {
process {
foreach ($IPId in $Id) {
if ((-not [string]::IsNullOrWhiteSpace($Assigned_Object_Id))-and [string]::IsNullOrWhiteSpace($Assigned_Object_Type)) {
throw "Assigned_Object_Type is required when specifying Assigned_Object_Id"
} elseif ((-not [string]::IsNullOrWhiteSpace($Assigned_Object_Type)) -and [string]::IsNullOrWhiteSpace($Assigned_Object_Id)) {
throw "Assigned_Object_Id is required when specifying Assigned_Object_Type"
}
$Segments = [System.Collections.ArrayList]::new(@('ipam', 'ip-addresses', $IPId))
Write-Verbose "Obtaining IP from ID $IPId"