さくらのクラウドAPI「ディスクの修正」でUserIPAddress指定時にはUserSubnet.NetworkMaskLenの同時指定が必須
さくらのクラウド API を使ってディスクの修正を実施しようとしたら、正しくパラメータを指定しているはずなのに「不適切な要求です。パラメータの指定誤り、入力規則違反です。入力内容をご確認ください。」という Bad Request が返ってきてしまう。
渡しているパラメータを1つずつ消して調べるとどうも UserIPAddress を渡すとエラーになることが分かった。
UserIPAddress: '192.168.1.10'
ドキュメントを見ると UserIPAddress の型は ipaddr となっていて、もしかして文字列で渡してはいけないのか?とも思ったのだが ipaddr 型についての記述はどこにもなく、最終的にさくらのクラウドのコンソールの手動でディスクを修正できるこのフォームを見て、
もしかしてネットマスクを同時に指定しないといけない…?と思い、
UserSubnet: { NetworkMaskLen: 24 }
も同時に渡してあげたら、成功した・・・。ドキュメントには「eth0のネットワークマスク長(UserIPAddressと同時指定時のみ有効)」としか書かれてなかったのでハマった。
コメントを残す