Model/FTPConfig.ps1
# # SMServer V6 # Syncplify Server! REST API # Version: 1.0.0 # Generated by OpenAPI Generator: https://openapi-generator.tech # <# .SYNOPSIS No summary available. .DESCRIPTION No description available. .PARAMETER Certificates id for TLS certificates to be used for FTPS and FTPES. Required if TLS is enabled .PARAMETER TlsMode No description available. .PARAMETER ModeZ No description available. .PARAMETER GreetBanner No description available. .PARAMETER GreetLogin No description available. .PARAMETER GreetLoginFail No description available. .PARAMETER GreetLogout No description available. .PARAMETER SameIpOnPasv No description available. .PARAMETER SameIpOnPort No description available. .PARAMETER EnablePort enable active FTP .PARAMETER EnableHash No description available. .PARAMETER EnableComb No description available. .PARAMETER EnableStat No description available. .PARAMETER EnableSyst No description available. .PARAMETER EnableSite No description available. .PARAMETER EnableMlsd No description available. .PARAMETER EnableMlst No description available. .PARAMETER EnableMfmt No description available. .PARAMETER MinTlsVersion No description available. .PARAMETER MaxTlsVersion No description available. .PARAMETER AllowedCipherSuites required if TLS is enabled .PARAMETER ExtPasvIp No description available. .PARAMETER ExtPasvIpForTls No description available. .PARAMETER ExtPasvLans No description available. .OUTPUTS FTPConfig<PSCustomObject> #> function Initialize-SS6FTPConfig { [CmdletBinding()] Param ( [Parameter(Position = 0, ValueFromPipelineByPropertyName = $true)] [String[]] ${Certificates}, [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${TlsMode}, [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${ModeZ}, [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true)] [String] ${GreetBanner}, [Parameter(Position = 4, ValueFromPipelineByPropertyName = $true)] [String] ${GreetLogin}, [Parameter(Position = 5, ValueFromPipelineByPropertyName = $true)] [String] ${GreetLoginFail}, [Parameter(Position = 6, ValueFromPipelineByPropertyName = $true)] [String] ${GreetLogout}, [Parameter(Position = 7, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${SameIpOnPasv}, [Parameter(Position = 8, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${SameIpOnPort}, [Parameter(Position = 9, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnablePort}, [Parameter(Position = 10, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableHash}, [Parameter(Position = 11, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableComb}, [Parameter(Position = 12, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableStat}, [Parameter(Position = 13, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableSyst}, [Parameter(Position = 14, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableSite}, [Parameter(Position = 15, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableMlsd}, [Parameter(Position = 16, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableMlst}, [Parameter(Position = 17, ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${EnableMfmt}, [Parameter(Position = 18, ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${MinTlsVersion}, [Parameter(Position = 19, ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${MaxTlsVersion}, [Parameter(Position = 20, ValueFromPipelineByPropertyName = $true)] [PSCustomObject[]] ${AllowedCipherSuites}, [Parameter(Position = 21, ValueFromPipelineByPropertyName = $true)] [String] ${ExtPasvIp}, [Parameter(Position = 22, ValueFromPipelineByPropertyName = $true)] [String] ${ExtPasvIpForTls}, [Parameter(Position = 23, ValueFromPipelineByPropertyName = $true)] [String[]] ${ExtPasvLans} ) Process { 'Creating PSCustomObject: SS6AdminModule => SS6FTPConfig' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $PSO = [PSCustomObject]@{ "certificates" = ${Certificates} "tlsMode" = ${TlsMode} "modeZ" = ${ModeZ} "greetBanner" = ${GreetBanner} "greetLogin" = ${GreetLogin} "greetLoginFail" = ${GreetLoginFail} "greetLogout" = ${GreetLogout} "sameIpOnPasv" = ${SameIpOnPasv} "sameIpOnPort" = ${SameIpOnPort} "enablePort" = ${EnablePort} "enableHash" = ${EnableHash} "enableComb" = ${EnableComb} "enableStat" = ${EnableStat} "enableSyst" = ${EnableSyst} "enableSite" = ${EnableSite} "enableMlsd" = ${EnableMlsd} "enableMlst" = ${EnableMlst} "enableMfmt" = ${EnableMfmt} "minTlsVersion" = ${MinTlsVersion} "maxTlsVersion" = ${MaxTlsVersion} "allowedCipherSuites" = ${AllowedCipherSuites} "extPasvIp" = ${ExtPasvIp} "extPasvIpForTls" = ${ExtPasvIpForTls} "extPasvLans" = ${ExtPasvLans} } return $PSO } } <# .SYNOPSIS Convert from JSON to FTPConfig<PSCustomObject> .DESCRIPTION Convert from JSON to FTPConfig<PSCustomObject> .PARAMETER Json Json object .OUTPUTS FTPConfig<PSCustomObject> #> function ConvertFrom-SS6JsonToFTPConfig { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: SS6AdminModule => SS6FTPConfig' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in SS6FTPConfig $AllProperties = ("certificates", "tlsMode", "modeZ", "greetBanner", "greetLogin", "greetLoginFail", "greetLogout", "sameIpOnPasv", "sameIpOnPort", "enablePort", "enableHash", "enableComb", "enableStat", "enableSyst", "enableSite", "enableMlsd", "enableMlst", "enableMfmt", "minTlsVersion", "maxTlsVersion", "allowedCipherSuites", "extPasvIp", "extPasvIpForTls", "extPasvLans") foreach ($name in $JsonParameters.PsObject.Properties.Name) { if (!($AllProperties.Contains($name))) { throw "Error! JSON key '$name' not found in the properties: $($AllProperties)" } } if (!([bool]($JsonParameters.PSobject.Properties.name -match "certificates"))) { #optional property not found $Certificates = $null } else { $Certificates = $JsonParameters.PSobject.Properties["certificates"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "tlsMode"))) { #optional property not found $TlsMode = $null } else { $TlsMode = $JsonParameters.PSobject.Properties["tlsMode"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "modeZ"))) { #optional property not found $ModeZ = $null } else { $ModeZ = $JsonParameters.PSobject.Properties["modeZ"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "greetBanner"))) { #optional property not found $GreetBanner = $null } else { $GreetBanner = $JsonParameters.PSobject.Properties["greetBanner"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "greetLogin"))) { #optional property not found $GreetLogin = $null } else { $GreetLogin = $JsonParameters.PSobject.Properties["greetLogin"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "greetLoginFail"))) { #optional property not found $GreetLoginFail = $null } else { $GreetLoginFail = $JsonParameters.PSobject.Properties["greetLoginFail"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "greetLogout"))) { #optional property not found $GreetLogout = $null } else { $GreetLogout = $JsonParameters.PSobject.Properties["greetLogout"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "sameIpOnPasv"))) { #optional property not found $SameIpOnPasv = $null } else { $SameIpOnPasv = $JsonParameters.PSobject.Properties["sameIpOnPasv"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "sameIpOnPort"))) { #optional property not found $SameIpOnPort = $null } else { $SameIpOnPort = $JsonParameters.PSobject.Properties["sameIpOnPort"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enablePort"))) { #optional property not found $EnablePort = $null } else { $EnablePort = $JsonParameters.PSobject.Properties["enablePort"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableHash"))) { #optional property not found $EnableHash = $null } else { $EnableHash = $JsonParameters.PSobject.Properties["enableHash"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableComb"))) { #optional property not found $EnableComb = $null } else { $EnableComb = $JsonParameters.PSobject.Properties["enableComb"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableStat"))) { #optional property not found $EnableStat = $null } else { $EnableStat = $JsonParameters.PSobject.Properties["enableStat"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableSyst"))) { #optional property not found $EnableSyst = $null } else { $EnableSyst = $JsonParameters.PSobject.Properties["enableSyst"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableSite"))) { #optional property not found $EnableSite = $null } else { $EnableSite = $JsonParameters.PSobject.Properties["enableSite"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableMlsd"))) { #optional property not found $EnableMlsd = $null } else { $EnableMlsd = $JsonParameters.PSobject.Properties["enableMlsd"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableMlst"))) { #optional property not found $EnableMlst = $null } else { $EnableMlst = $JsonParameters.PSobject.Properties["enableMlst"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "enableMfmt"))) { #optional property not found $EnableMfmt = $null } else { $EnableMfmt = $JsonParameters.PSobject.Properties["enableMfmt"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "minTlsVersion"))) { #optional property not found $MinTlsVersion = $null } else { $MinTlsVersion = $JsonParameters.PSobject.Properties["minTlsVersion"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "maxTlsVersion"))) { #optional property not found $MaxTlsVersion = $null } else { $MaxTlsVersion = $JsonParameters.PSobject.Properties["maxTlsVersion"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "allowedCipherSuites"))) { #optional property not found $AllowedCipherSuites = $null } else { $AllowedCipherSuites = $JsonParameters.PSobject.Properties["allowedCipherSuites"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "extPasvIp"))) { #optional property not found $ExtPasvIp = $null } else { $ExtPasvIp = $JsonParameters.PSobject.Properties["extPasvIp"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "extPasvIpForTls"))) { #optional property not found $ExtPasvIpForTls = $null } else { $ExtPasvIpForTls = $JsonParameters.PSobject.Properties["extPasvIpForTls"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "extPasvLans"))) { #optional property not found $ExtPasvLans = $null } else { $ExtPasvLans = $JsonParameters.PSobject.Properties["extPasvLans"].value } $PSO = [PSCustomObject]@{ "certificates" = ${Certificates} "tlsMode" = ${TlsMode} "modeZ" = ${ModeZ} "greetBanner" = ${GreetBanner} "greetLogin" = ${GreetLogin} "greetLoginFail" = ${GreetLoginFail} "greetLogout" = ${GreetLogout} "sameIpOnPasv" = ${SameIpOnPasv} "sameIpOnPort" = ${SameIpOnPort} "enablePort" = ${EnablePort} "enableHash" = ${EnableHash} "enableComb" = ${EnableComb} "enableStat" = ${EnableStat} "enableSyst" = ${EnableSyst} "enableSite" = ${EnableSite} "enableMlsd" = ${EnableMlsd} "enableMlst" = ${EnableMlst} "enableMfmt" = ${EnableMfmt} "minTlsVersion" = ${MinTlsVersion} "maxTlsVersion" = ${MaxTlsVersion} "allowedCipherSuites" = ${AllowedCipherSuites} "extPasvIp" = ${ExtPasvIp} "extPasvIpForTls" = ${ExtPasvIpForTls} "extPasvLans" = ${ExtPasvLans} } return $PSO } } |