サーバーを提供しているconohaでAPIを利用しようと試みておりますが躓いております。
やりたいことはAPIを利用したサーバーの追加です。調べたところ下の手順で作るものだと思われます。

  1. トークン発行 https://www.conoha.jp/docs/identity-post_tokens.html
  2. VM追加 https://www.conoha.jp/docs/compute-create_vm.html

はじめにトークンの発行ですがPOSTでJSONの送り方を調べこのサイトを参考にして下のようなコードを書きました。

headers={'Content-type':'application/json'}の意味は分かりませんがとりあえず実行したところ、以下のエラーが出ました。

dict object has no attribute encode

encode('utf-8')を消してみると以下のエラーが出ます。

Can't concat bytes to str

初心者なので何か基本的なことが間違えているかもしれないです。
また、トークン発行した後どのような作業をして2のVM追加に至るのか少しでいいので道筋を教えていただけると幸いです。

import requests
import urllib.parse
import urllib.request

url="https://identity.tyo1.conoha.io/v2.0"
method="POST"
headers={
'Content-type':'application/json'
}

json_str={"auth": {
"passwordcredentials": {
"username": "aaa",
"password": "bbb"
},
"tenantid": "ccc"
}
}

req = urllib.request.Request(url=url,headers=headers, data=json_str.encode('utf-8'))
f = urllib.request.urlopen(req)
print(f.read().decode('utf-8'))