35 lines
1.1 KiB
PowerShell
35 lines
1.1 KiB
PowerShell
function Remove-PSIPAMAddress {
|
|
[CmdletBinding(DefaultParameterSetName="ByID")]
|
|
param (
|
|
[parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0,ParameterSetName="ByID")]
|
|
[ValidateScript({ $_ -match "^\d+$" })]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string]
|
|
$Id,
|
|
[parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0,ParameterSetName="ByIP")]
|
|
[ValidateScript({[ipaddress] $_ })]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string]
|
|
$IP,
|
|
[parameter(Mandatory=$true,ValueFromPipeline=$true,Position=1,ParameterSetName="ByIP")]
|
|
[ValidateScript({ $_ -match "^\d+$" })]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string]
|
|
$SubnetId
|
|
)
|
|
process {
|
|
$_params = @{
|
|
Controller = "addresses"
|
|
Method = "DELETE"
|
|
}
|
|
|
|
switch ($PSCmdlet.ParameterSetName) {
|
|
"ByID" { $_identifiers = @($Id) }
|
|
"ByIP" { $_identifiers = @($IP,$SubnetId) }
|
|
}
|
|
$_params.Add("Identifiers",$_identifiers)
|
|
|
|
Invoke-PSIPAMRequest @_params
|
|
}
|
|
}
|
|
Export-ModuleMember Remove-PSIPAMAddress |