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-usja | 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のドキュメントにてご確認ください。