MENU
VM追加 - Compute API v2
Description
vmのrootパスワードについて
vmのrootパスワードは“adminPass”パラメータを利用します。
adminPassはOptionalですが、指定するimageによって動作が変わります。
- Publicイメージを指定した場合、パスワードが入力されなかったらランダムなパスワードが設定されます。
- Privateイメージ(自身のVPSの保存イメージ)を指定した場合、パスワードが入力されなかったら元イメージのパスワードが設定されます。(※レスポンスのadminPassには““と表示されます)
- 文字種:半角英大文字と、半角英小文字と、半角数字または記号の組み合わせ以外はエラー。文字数:9文字以上~70文字以内
- 使用可能の記号 ⇒ ! # $ % & ? ” ' = + - _ { } [ ] ^ ~ : ; ( ) . , / | \ * @
user-data(スタートアップスクリプト設定) について
- 活用マニュアル
- 内部仕様
- 弊社で指定している Cloud-Init スクリプトと、user-data で指定された Cloud-Init スクリプトの multipart 形式でVM作成時に実行されます。
- 使用時の制限(バリデーション)
- user-data へ指定時に Cloud-Init を base64 encode する必要があります。
- 現在 windows OS では user-data を指定することはできません。
- RDS SAL ライセンスを必要とする Winodws OS を、公開APIより利用することはできません。コントロールパネルからのVM追加をお願い致します。
- user-data へ指定する Cloud-Init スクリプトのサイズは encode されていない状態で 16 KiB まで指定可能です。
- 使用できないヘッダーを指定された場合、VM作成ができません。
- 指定できるヘッダーは以下となります。それ以外が指定された場合、エラーが返却されます。
- '#!'
- '#include-once'
- '#include'
- '#cloud-config'
- '#cloud-boothook'
Request URL
Compute API v2.0 POST /v2/{tenant_id}/servers
Request Paramters
Parameter | Value | Style | Description |
---|---|---|---|
X-Auth-Token | Userトークン | header | トークンID |
tenant_id | URI | テナントID | |
imageRef | plain | image 参照先。対象 image の UUID を指定 | |
flavorRef | plain | VMプラン(flavor) の UUID を指定 | |
adminPass (Optional) | plain | VMのrootパスワード 詳細は vmのrootパスワードについて を参照 | |
key_name (Optional) | ssh key name | plain | SSHキーを利用する場合に指定する |
security_groups (Optional) | security_groupオブジェクト | plain | keyに”name“を、valueにセキュリティグループ名を指定する(以下のRequestJson参照) |
metadata (Optional) | plain | metadata の key:value ペア。 | |
instance_name_tag (Optional) | Default:VMに紐づくGlobalIPアドレス | plain | ネームタグを入れる際に利用する。文字種:半角英数字、「 - 」、「 _ 」のみを許可。文字数:255文字以下 |
block_device_mapping (Optional) | Array | deviceは1つのみマッピングできる | |
volume_id (Optional) | plain | アタッチしたいVolumeのIDを指定する | |
vncKeymap (Optional) | plain | keymap 設定 <en-us or ja> | |
user_data (Optional) | base64 encode された スタートアップスクリプト | plain | base64 encoded Cloud-Init script |
Request Json (最低指定時)
{ "server": { "imageRef": "1f7bcc63-4a18-4371-85b1-bcdd4301ff31", "flavorRef": "b60acd11-3fd5-46e1-9387-aae4737d49aa", "adminPass":"72LY2hf38Kf84vCy4sUr" } }
Request Json (SSHキー指定時)
{ "server": { "imageRef": "1f7bcc63-4a18-4371-85b1-bcdd4301ff31", "flavorRef": "b60acd11-3fd5-46e1-9387-aae4737d49aa", "adminPass":"72LY2hf38Kf84vCy4sUr", "key_name": "mikumo-conoha-key-01" } }
Request Json(metadata指定時)
{ "server": { "imageRef": "1f7bcc63-4a18-4371-85b1-bcdd4301ff31", "flavorRef": "b60acd11-3fd5-46e1-9387-aae4737d49aa", "adminPass":"72LY2hf38Kf84vCy4sUr", "metadata": { "instance_name_tag": "testtest" } } }
Request Json(追加ディスク指定時)
{ "server": { "imageRef": "1f7bcc63-4a18-4371-85b1-bcdd4301ff31", "flavorRef": "b60acd11-3fd5-46e1-9387-aae4737d49aa", "adminPass":"72LY2hf38Kf84vCy4sUr", "block_device_mapping": [ { "volume_id": "fa90d521-7918-4b13-ad71-7aeb8667887a" } ] } }
Request Json(セキュリティグループ指定時)
{ "server": { "imageRef": "1f7bcc63-4a18-4371-85b1-bcdd4301ff31", "flavorRef": "b60acd11-3fd5-46e1-9387-aae4737d49aa", "adminPass":"72LY2hf38Kf84vCy4sUr", "security_groups": [ { "name": "default" }, { "name": "another-secgroup-name" } ] } }
Request Json (user-data 指定時)
{ "server": { "imageRef": "1f7bcc63-4a18-4371-85b1-bcdd4301ff31", "flavorRef": "b60acd11-3fd5-46e1-9387-aae4737d49aa", "adminPass":"72LY2hf38Kf84vCy4sUr", "user_data":"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIGVjaG8gIkNvbm9IYSBTdGFydFVwIFNjcmlwdCIgPj4gL3Zhci90bXAvdGVzdC50eHQK" } }
Normal response codes
202
Example
※エンドポイントURLにつきましては、お客様環境によって異なりますので、コントロールパネルにてご確認の上ご利用ください。
※現プランの場合、512MBプランはディスク容量が30GB、1GB以上のプランはディスク容量が100GBになります。
旧プランの場合、512MBプランはディスク容量が20GB、1GB以上のプランはディスク容量が50GBになります。
なお、Windowsサーバーのプランは旧プランのみで提供しております。
- REQ
curl -i -X POST \ -H "Accept: application/json" \ -H "X-Auth-Token: 35941e7df872405d84e5b026dba8323c" \ -d '{"server": {"adminPass": "7AwxbUP6M4,R","imageRef": "e2b62c96-abbc-41ae-a5f2-b0fe514b755c","flavorRef": "294639c7-72ba-43a5-8ff2-513c8995b869"}}' \ https://compute.tyo1.conoha.io/v2/1864e71d2deb46f6b47526b69c65a45d/servers
- RES
HTTP/1.1 202 Accepted Date: Mon, 02 Feb 2015 08:55:18 GMT Server: Apache Content-Length: 422 Content-Type: application/json { "server": { "OS-DCF:diskConfig": "MANUAL", "adminPass": "7AwxbUP6M4,R", "id": "967fee34-e6dc-4237-9e39-134783c90516", "links": [ { "href": "https://compute.tyo1.conoha.io/v2/1864e71d2deb46f6b47526b69c65a45d/servers/967fee34-e6dc-4237-9e39-134783c90516", "rel": "self" }, { "href": "https://compute.tyo1.conoha.io/1864e71d2deb46f6b47526b69c65a45d/servers/967fee34-e6dc-4237-9e39-134783c90516", "rel": "bookmark" } ], "security_groups": [ { "name": "default" } ] } }