Private/Get-DiscoveryProtocolPayload.ps1
<#
.SYNOPSIS Generate JSON object to be used when submitting Jobs to the DiscoveryConfigService .DESCRIPTION .PARAMETER $Protocol String containing protocol .OUTPUTS PCCustomObject #> function Get-DiscoveryProtocolPayload($Protocol) { $WSManProtocolPayload = '{ "type":"WSMAN", "authType":"Basic", "modified":false, "credentials": { "username":"", "password":"", "caCheck":false, "cnCheck":false, "port":443, "retries":3, "timeout": 60 } }' | ConvertFrom-Json $RedfishProtocolPayload = '{ "type":"REDFISH", "authType":"Basic", "modified":false, "credentials": { "username":"", "password":"", "caCheck":false, "cnCheck":false, "port":443, "retries":3, "timeout": 60 } }' | ConvertFrom-Json $VMwareProtocolPayload = '{ "type":"VMWARE", "authType":"Basic", "modified":false, "credentials":{ "username":"", "password":"", "caCheck":false, "cnCheck":false, "port":443, "retries":3, "timeout":60, "isHttp":false, "keepAlive":false} }' | ConvertFrom-Json $SNMPProtocolPayload = '{ "type":"SNMP", "authType":"Basic", "modified":false, "credentials":{ "community":"public", "enableV1V2":true, "port":161, "retries":3, "timeout":3} }' | ConvertFrom-Json $IPMIProtocolPayload = '{ "type":"IPMI", "authType":"Basic", "modified":false, "credentials":{ "username":"", "password":"", "privilege":2, "retries":3, "timeout":59} }' | ConvertFrom-Json $SSHProtocolPayload = '{ "type":"SSH", "authType":"Basic", "modified":false, "credentials":{ "username":"", "isSudoUser":false, "password":"", "port":22, "useKey":false, "retries":1, "timeout":59, "checkKnownHosts":false} }' | ConvertFrom-Json $Payload = $null if ($Protocol -eq "WSMAN") { $Payload = $WSManProtocolPayload } elseif ($Protocol -eq "REDFISH") { $Payload = $RedfishProtocolPayload } elseif ($Protocol -eq "VMWARE") { $Payload = $VMwareProtocolPayload } elseif ($Protocol -eq "SNMP") { $Payload = $SNMPProtocolPayload } elseif ($Protocol -eq "IPMI") { $Payload = $IPMIProtocolPayload } elseif ($Protocol -eq "SSH") { $Payload = $SSHProtocolPayload } return $Payload } |