ConoHa API Documantation

VM追加 - Compute API v2

Description

vmのrootパスワードについて
vmのrootパスワードは“adminPass”パラメータを利用します。
adminPassはOptionalですが、指定するimageによって動作が変わります。

  • Publicイメージを指定した場合、パスワードが入力されなかったらランダムなパスワードが設定されます。
  • Privateイメージ(自身のVPSの保存イメージ)を指定した場合、パスワードが入力されなかったら元イメージのパスワードが設定されます。(※レスポンスのadminPassには““と表示されます)
  • 文字種:半角英大文字と、半角英小文字と、半角数字または記号の組み合わせ以外はエラー。文字数:9文字以上~70文字以内
  • 使用可能の記号 ⇒ ! # $ % & ? ” ' = + - _ { } [ ] ^ ~ : ; ( ) . , / | \ * @

user-data(スタートアップスクリプト設定) について

  • 活用マニュアル
  • 内部仕様
    1. 弊社で指定している Cloud-Init スクリプトと、user-data で指定された Cloud-Init スクリプトの multipart 形式でVM作成時に実行されます。
  • 使用時の制限(バリデーション)
    1. user-data へ指定時に Cloud-Init を base64 encode する必要があります。
    2. 現在 windows OS では user-data を指定することはできません。
    3. user-data へ指定する Cloud-Init スクリプトのサイズは encode されていない状態で 16 KiB まで指定可能です。
    4. 使用できないヘッダーを指定された場合、VM作成ができません。
      1. 指定できるヘッダーは以下となります。それ以外が指定された場合、エラーが返却されます。
        1. '#!'
        2. '#include-once'
        3. '#include'
        4. '#cloud-config'
        5. '#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

  • 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"
            }
        ]
    }
}