کاربر جدید SNMP v3 از طریق Redfish API ایجاد کنید



من سعی می کنم بفهمم چگونه می توان یک کاربر جدید SNMP v3 در رابط های iLO خود از طریق redfish API ایجاد کرد. این مرجع github redfish به نظر نمی رسد مثالی از نحوه انجام این کار ارائه کند. فکر می کنم این چیزی است که باید انجام دهم:

function nextID() { IDs=$(curl –silent –insecure –header “X-Auth-Token: ${iLOAuth}” — request GET ${iLOSSO}/redfish/v1/Managers/1/snmpservice/ snmpusers | jq -r ‘.اعضا[]’ | grep ‘odata.id’ | tr -d ‘”‘ | cut -d/ -f8) برای i در {1..8}؛ اگر [[ ${IDs} =~ “${i}” ]]؛ سپس “${i} در حال استفاده است” را بازگو کنید وگرنه j=${i} شکستن فی انجام شد } SECNAME=’newname’ AuthTp=’SHA’ PrivTp=’AES’ AuthP=’thissecuritypassphrase’ PrivP=’someothersecuritypassphrase’ DATA=’ {“SecurityName”:”${SECNAME}”،”AuthProtocol”:””${AuthTp}”، “AuthPassphrase”:”${AuthP}”، “PrivacyProtocol”:”‘${PrivP} ‘,”PrivacyPassphrase”:”${PrivP}'”,”UserEngineID”:null}’ SERVER=myserver.com # HARDW روی فایلی از تمام سخت افزارهای استخراج شده از OneView UUID=$(jq -r ‘ تنظیم شده است. اعضا[] | select(.serverName==”‘${SERVER}'”) | “\(.uuid)”‘ ${HARDW}) iLOSSO iLOAuth را خواند <<< $(curl --silent --insecure --header "X-API-Version: ${currentVersion}" --header "auth: $ {sessionID}" --درخواست دریافت ${OneView}/rest/server-hardware/${UUID}/remoteConsoleUrl | jq -r '.remoteConsoleUrl' | sed -e 's|hplocons|https|' -e 's| addr=||' -e 's|^\(.*\)&sessionkey=\(.*\)$|\1 \2|') nextID curl --silent --insecure --header "X-API- رمز: ${iLOAuth}" --header "content-type: application/json" --data "${DATA}" -- request PATCH ${iLOSSO}/redfish/v1/Managers/v1/snmpservice/snmpusers/$ {j}

اما این پس می دهد:

{ “error”: { “code”: “iLO.0.10.ExtendedInfo”, “message”: “برای اطلاعات بیشتر به @Message.ExtendedInfo مراجعه کنید.”, “@Message.ExtendedInfo”: [
{
“MessageArgs”: [
“Invalid URI”
]، } ]} }

بنابراین، کاملا درست نیست. آیا کسی نحو/روش صحیح برای ایجاد یک کاربر جدید SNMP v3 را می داند؟




منبع: https://community.hpe.com/t5/proliant-servers-ml-dl-sl/create-new-snmp-v3-user-via-redfish-api/m-p/7178162#M179832