New address in subnet by subnet object

This commit is contained in:
2022-12-30 14:43:46 +03:00
parent 31b56c75e1
commit 7f856b1d09

View File

@@ -47,16 +47,28 @@ function New-Address {
Port. Port.
#> #>
[OutputType([PS.IPAM.address])] [OutputType([PS.IPAM.address])]
[CmdletBinding()] [CmdletBinding(DefaultParameterSetName="BySubnetId")]
param ( param (
[parameter( [parameter(
Mandatory=$true, Mandatory=$true,
ValueFromPipeline=$true, ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true, ValueFromPipelineByPropertyName=$true,
Position=0)] Position=0,
ParameterSetName="BySubnetId"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[int] [int]
$SubnetId, $SubnetId,
[Parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,
ParameterSetName="BySubnetObject"
)]
[ValidateNotNullOrEmpty()]
[ps.ipam.subnetwork]
$SubnetObject,
[parameter( [parameter(
Mandatory=$true, Mandatory=$true,
ValueFromPipeline=$true, ValueFromPipeline=$true,
@@ -175,8 +187,19 @@ function New-Address {
Method = "POST" Method = "POST"
} }
switch ($PSCmdlet.ParameterSetName) {
"BySubnetId" {
$_subnetId = $SubnetId
break
}
"BySubnetObject" {
$_subnetId = $SubnetObject.id
break
}
}
$_body = @{ $_body = @{
subnetId = $SubnetId subnetId = $_subnetId
ip = $Ip ip = $Ip
} }
if ($Gateway) { $_body.Add("is_gateway", "1") } if ($Gateway) { $_body.Add("is_gateway", "1") }