Description

VMを作成します。

VMの管理者パスワードについて

VMの管理者パスワードは「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

POST /v2/{tenant_id}/servers

Request Json

・最低指定時

{
    "server": {
        "imageRef": "イメージID",
        "flavorRef": "フレーバーID",
        "adminPass":"管理者パスワード"
    }
}

・SSHキー指定時

{
    "server": {
        "imageRef": "イメージID",
        "flavorRef": "フレーバーID",
        "adminPass":"管理者パスワード",
        "key_name": "SSHキー名"
    }
}

・metadata指定時

{
    "server": {
        "imageRef": "イメージID",
        "flavorRef": "フレーバーID",
        "adminPass":"管理者パスワード",
        "metadata": {
            "instance_name_tag": "ネームタグ"
        }
    }
}

・追加ディスク指定時

{
    "server": {
        "imageRef": "イメージID",
        "flavorRef": "フレーバーID",
        "adminPass":"管理者パスワード",
        "block_device_mapping": [
            {
                "volume_id": "ボリュームID"
            }
        ]
    }
}

・セキュリティグループ指定時

{
    "server": {
        "imageRef": "イメージID",
        "flavorRef": "フレーバーID",
        "adminPass":"管理者パスワード",
        "security_groups": [
            {
                "name": "セキュリティグループ名"
            },
            {
                "name": "セキュリティグループ名"
            }
        ]
    }
}

・user-data 指定時

{
    "server": {
        "imageRef": "イメージID",
        "flavorRef": "フレーバーID",
        "adminPass":"管理者パスワード",
        "user_data":"base64 encode"
    }
}

Request Parameters

Parameter Value Style Description
X-Auth-Token トークンID header トークンIDを指定します。
tenant_id テナントID path テナントIDを指定します。
flavorRef フレーバーID body フレーバーIDを指定します。
imageRef イメージID body イメージIDを指定します。
adminPass
(Optional)
管理者パスワード body サーバーの管理者パスワードを指定します。
key_name
(Optional)
SSHキー名 body SSHキー名を指定します。
security_groups
(Optional)
セキュリティグループ名 body セキュリティグループ名を指定します。
instance_name_tag
(Optional)
ネームタグ body ネームタグを指定します。
文字種:半角英数字、「 – 」、「 _ 」のみを許可。
文字数:255文字以下
volume_id
(Optional)
ボリュームID body アタッチさせる追加SSDのボリュームIDを指定します。
vncKeymap
(Optional)
en-us
ja
body キーマップを指定します。
user_data
(Optional)
base64 encode body base64 encodeされたスタートアップスクリプトを指定します。

Response Code

Success

202

Example

Request

curl -i -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: トークンID" \
-d '{"server": {"adminPass": "管理者パスワード","imageRef": "イメージID","flavorRef": "フレーバーID"}}' \
https://compute.tyo1.conoha.io/v2/テナントID/servers

Response

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

ConoHaにて提供しておりますAPIにつきましては、クラウド基盤として採用しておりますOpenStackの機能にて実装しておりますので、詳細な情報や使い方はOpenStackのドキュメントにてご確認ください。