From ae9371e8833ecb305ab3f5c67d05d1c57cd83a8f Mon Sep 17 00:00:00 2001 From: Ben Claussen Date: Fri, 13 Nov 2020 12:20:15 -0500 Subject: [PATCH] Add Get-ModelDefinition function --- Functions/Helpers/Get-ModelDefinition.ps1 | 64 +++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Functions/Helpers/Get-ModelDefinition.ps1 diff --git a/Functions/Helpers/Get-ModelDefinition.ps1 b/Functions/Helpers/Get-ModelDefinition.ps1 new file mode 100644 index 0000000..bf389fa --- /dev/null +++ b/Functions/Helpers/Get-ModelDefinition.ps1 @@ -0,0 +1,64 @@ +<# + .NOTES + =========================================================================== + Created with: SAPIEN Technologies, Inc., PowerShell Studio 2020 v5.7.181 + Created on: 2020-11-04 14:23 + Created by: Claussen + Organization: NEOnet + Filename: Get-ModelDefinition.ps1 + =========================================================================== + .DESCRIPTION + A description of the file. +#> + + + +function Get-ModelDefinition { + [CmdletBinding(DefaultParameterSetName = 'ByName')] + param + ( + [Parameter(ParameterSetName = 'ByName', + Mandatory = $true)] + [string]$ModelName, + + [Parameter(ParameterSetName = 'ByPath', + Mandatory = $true)] + [string]$URIPath, + + [Parameter(ParameterSetName = 'ByPath')] + [string]$Method = "post" + ) + + switch ($PsCmdlet.ParameterSetName) { + 'ByName' { + $script:NetboxConfig.APIDefinition.definitions.$ModelName + break + } + + 'ByPath' { + switch ($Method) { + "get" { + + break + } + + "post" { + if (-not $URIPath.StartsWith('/')) { + $URIPath = "/$URIPath" + } + + if (-not $URIPath.EndsWith('/')) { + $URIPath = "$URIPath/" + } + + $ModelName = $script:NetboxConfig.APIDefinition.paths.$URIPath.post.parameters.schema.'$ref'.split('/')[-1] + $script:NetboxConfig.APIDefinition.definitions.$ModelName + break + } + } + + break + } + } + +}