diff --git a/functions/public/Assign-Tag.ps1 b/functions/public/Assign-Tag.ps1
index 7b609ab..4b256b1 100644
--- a/functions/public/Assign-Tag.ps1
+++ b/functions/public/Assign-Tag.ps1
@@ -1,11 +1,27 @@
function Assign-Tag {
+ <#
+ .SYNOPSIS
+
+ Assign tag to address.
+
+ .PARAMETER Tag
+ Tag object to assign.
+ #>
[CmdletBinding()]
param (
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0)]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0
+ )]
[ValidateNotNullOrEmpty()]
[PS.IPAM.Address]
$AddressObject,
- [parameter(Mandatory=$true,Position=1)]
+ [parameter(
+ Mandatory=$true,
+ Position=1
+ )]
[ValidateNotNullOrEmpty()]
[PS.IPAM.Tag]
$Tag
diff --git a/functions/public/Get-Address.ps1 b/functions/public/Get-Address.ps1
index ecaf22e..8d48e9c 100644
--- a/functions/public/Get-Address.ps1
+++ b/functions/public/Get-Address.ps1
@@ -2,28 +2,70 @@ function Get-Address {
[CmdletBinding(DefaultParameterSetName="ByID")]
[OutputType([PS.IPAM.address])]
param (
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByID")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0,
+ ParameterSetName="ByID"
+ )]
[ValidateNotNullOrEmpty()]
[int]
$Id,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByIP")]
- [parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=1,ParameterSetName="BySubnetId")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0,
+ ParameterSetName="ByIP"
+ )]
+ [parameter(
+ Mandatory=$false,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=1,
+ ParameterSetName="BySubnetId"
+ )]
[ValidateNotNullOrEmpty()]
[ipaddress]
$IP,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByHostName")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0,
+ ParameterSetName="ByHostName"
+ )]
[ValidateNotNullOrEmpty()]
[string]
$HostName,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByTag")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0,
+ ParameterSetName="ByTag"
+ )]
[ValidateNotNullOrEmpty()]
[int]
$TagId,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="BySubnetId")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0,
+ ParameterSetName="BySubnetId"
+ )]
[ValidateNotNullOrEmpty()]
[int]
$SubnetId,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="BySubnetCIDR")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0,
+ ParameterSetName="BySubnetCIDR"
+ )]
[ValidateScript({[ipaddress] $_.Split("/")[0] -and $_.Split("/")[1] -match "\d{1,2}"})]
[ValidateNotNullOrEmpty()]
[string]
diff --git a/functions/public/Get-Nameserver.ps1 b/functions/public/Get-Nameserver.ps1
index 06fe325..dcbc7ed 100644
--- a/functions/public/Get-Nameserver.ps1
+++ b/functions/public/Get-Nameserver.ps1
@@ -7,9 +7,6 @@ function Get-Nameserver {
$Id
)
process {
- [string[]]$visiblePropertiesList = @('Id','Name','Address','Description')
- $visibleProperties = [System.Management.Automation.PSPropertySet]::new('DefaultDisplayPropertySet',$visiblePropertiesList)
-
$_params = @{
Controller = [PS.IPAM.controllers]::tools
SubController = [PS.IPAM.subcontrollers]::nameservers
@@ -21,8 +18,7 @@ function Get-Nameserver {
$_identifiers = @($_nameserverId)
$_params.Add("Identifiers",$_identifiers)
- Invoke-Request @_params | Select-Object @{n="address";e={$_.namesrv1}},* | Select-Object -ExcludeProperty namesrv1 | `
- Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $visibleProperties -PassThru
+ Invoke-Request @_params
}
}
Export-ModuleMember -Function Get-Nameserver
\ No newline at end of file
diff --git a/functions/public/Get-Tag.ps1 b/functions/public/Get-Tag.ps1
index 31fa28f..8fdd5b5 100644
--- a/functions/public/Get-Tag.ps1
+++ b/functions/public/Get-Tag.ps1
@@ -1,4 +1,13 @@
function Get-Tag {
+ <#
+ .SYNOPSIS
+
+ Return address tag.
+
+ .DESCRIPTION
+
+ Return address tag by id, address object or subnetwork object. Or leave it empty at take all tags at once.
+ #>
[CmdletBinding(DefaultParameterSetName="NoParams")]
[OutputType([PS.IPAM.Tag])]
param (
diff --git a/functions/public/Get-Vlan.ps1 b/functions/public/Get-Vlan.ps1
index a6aa22f..154a28e 100644
--- a/functions/public/Get-Vlan.ps1
+++ b/functions/public/Get-Vlan.ps1
@@ -1,8 +1,20 @@
function Get-Vlan {
- [CmdletBinding(DefaultParameterSetName="ByID")]
+ <#
+ .SYNOPSIS
+
+ Return vlan object.
+
+ .DESCRIPTION
+
+ Return vlan object by vlanId, vlan number, l2domainId (return all vlans in domain), subnet object or l2domain object
+
+ .PARAMETER Number
+ Vlan tag
+ #>
+ [CmdletBinding(DefaultParameterSetName="NoParams")]
[OutputType([PS.IPAM.Vlan])]
param (
- [parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByID")]
+ [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByID")]
[ValidateNotNullOrEmpty()]
[int]
$Id,
diff --git a/functions/public/New-Session.ps1 b/functions/public/New-Session.ps1
index 73fb82b..0c3d068 100644
--- a/functions/public/New-Session.ps1
+++ b/functions/public/New-Session.ps1
@@ -1,20 +1,72 @@
function New-Session {
+ <#
+ .SYNOPSIS
+
+ Creates new session to phpIPAM instance.
+
+ .DESCRIPTION
+
+ Creates new session to phpIPAM instance by provided credentials or token.
+
+ .PARAMETER URL
+ Base URL of phpIPAM instance.
+ Example - http://ipam.example.com
+
+ .PARAMETER AppID
+ API id (specified in phpIPAM api settings)
+
+ .PARAMETER Token
+ User token foor authorization
+
+ .PARAMETER IgnoreSSL
+ Ignore SSL errors
+
+ .OUTPUTS
+ None. New-Session does not generate any output.
+ #>
[CmdletBinding(DefaultParameterSetName="Credentials")]
param (
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0)]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=0
+ )]
[ValidateNotNullOrEmpty()]
[validatescript({$_.startswith("http")})]
[string]$URL,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=1)]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=1
+ )]
[ValidateNotNullOrEmpty()]
[string]$AppID,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=2,ParameterSetName="Credentials")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=2,
+ ParameterSetName="Credentials"
+ )]
[ValidateNotNullOrEmpty()]
[pscredential]$Credentials,
- [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=2,ParameterSetName="Token")]
+ [parameter(
+ Mandatory=$true,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=2,
+ ParameterSetName="Token"
+ )]
[ValidateNotNullOrEmpty()]
[string]$Token,
- [parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=3)]
+ [parameter(
+ Mandatory=$false,
+ ValueFromPipeline=$true,
+ ValueFromPipelineByPropertyName=$true,
+ Position=3
+ )]
[switch]$IgnoreSSL = $false
)
switch ($PSCmdlet.ParameterSetName) {
diff --git a/functions/public/New-Subnet.ps1 b/functions/public/New-Subnet.ps1
index 3987f74..115d703 100644
--- a/functions/public/New-Subnet.ps1
+++ b/functions/public/New-Subnet.ps1
@@ -1,12 +1,7 @@
function New-Subnet {
[CmdletBinding()]
param (
- [parameter(
- Mandatory=$true,
- ValueFromPipeline=$true,
- ValueFromPipelineByPropertyName=$true,
- HelpMessage="CIDR of subnet in dotted format (e.g 10.10.10.0/24)",
- Position=0)]
+ [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,HelpMessage="CIDR of subnet in dotted format (e.g 10.10.10.0/24)",Position=0)]
[ValidateScript({[ipaddress] $_.Split("/")[0] -and $_.Split("/")[1] -match "\d{1,2}"})]
[ValidateNotNullOrEmpty()]
[string]
diff --git a/types/types.ps1xml b/types/types.ps1xml
index affe0bf..7acac0f 100644
--- a/types/types.ps1xml
+++ b/types/types.ps1xml
@@ -154,9 +154,10 @@
DefaultDisplayPropertySet
Id
- Name
- DomainId
- Number
+ Subnet
+ Mask
+ SectionId
+ Description