first working types

This commit is contained in:
2022-12-06 17:20:45 +03:00
parent a1b03b81c0
commit 7d0d1b53ae
14 changed files with 129 additions and 75 deletions

View File

@@ -1,6 +1,6 @@
function Get-Address {
[CmdletBinding(DefaultParameterSetName="ByID")]
[OutputType({[types]::address})]
[OutputType([PS.IPAM.address])]
param (
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByID")]
[ValidateScript({ $_ -match "^\d+$" })]
@@ -35,29 +35,29 @@ function Get-Address {
)
process {
$_params = @{
Controller = [controllers]::addresses
Method = [methods]::GET
Type = [types]::address
Controller = [PS.IPAM.controllers]::addresses
Method = [PS.IPAM.methods]::GET
Type = [PS.IPAM.types]::address
}
switch ($PSCmdlet.ParameterSetName) {
"ByID" { $_identifiers = @($id) }
"ByIP" { $_identifiers = ("search",$IP) }
"ByHostName" { $_identifiers = ("search_hostname",$HostName) }
"ByTag" { $_identifiers = ("tags",$TagId,[controllers]::addresses) }
"ByTag" { $_identifiers = ("tags",$TagId,[PS.IPAM.controllers]::addresses) }
"BySubnetId" {
if ($IP) {
$_identifiers = ($IP,$SubnetId)
} else {
$_params.Item("Controller") = [controllers]::subnets
$_identifiers = ($SubnetId,[controllers]::addresses)
$_params.Item("Controller") = [PS.IPAM.controllers]::subnets
$_identifiers = ($SubnetId,[PS.IPAM.controllers]::addresses)
}
}
"BySubnetCIDR" {
$_params.Item("Controller") = [controllers]::subnets
$_params.Item("Controller") = [PS.IPAM.controllers]::subnets
$_subnetId = (Get-Subnet -CIDR $SubnetCIDR).id
if (!$_subnetId) { throw "Cannot find subnet!" }
$_identifiers = ($_subnetId,[controllers]::addresses)
$_identifiers = ($_subnetId,[PS.IPAM.controllers]::addresses)
}
}
$_params.Add("Identifiers",$_identifiers)