Compute VPCタイプ OpenNW APIリファレンス

本マニュアルでは、 Cloudn Compute(VPCタイプ OpenNW)のAPIご利用方法に関してご説明いたします。

右上の “索引” や、右のバーにある検索にて検索が可能です。

1. Cloudn APIについて

Cloudn では、各プロダクトごとにAPIを提供しております。
APIを使用することで、コントロールパネルを介さずにお客様のプログラムから直接リソースを操作することが可能です。

1.1. API共通情報

ご利用にあたっては下記の通りの情報/前提知識が必要となります。

API共通情報

以下、3つの情報がAPIを利用するにあたり必要となります。

  • アクセスキーID
  • 秘密鍵
  • APIエンドポイント

以下の2つを Cloudn ポータルよりログインし、入手します。

  • アクセスキーID

    • APIへのアクセスにおいて、お客様個人のIDを識別するためのキーです。
    • お客様固有のものとなります
  • 秘密鍵

    • APIへのアクセスにおいて、電子署名に利用される鍵です。
    • お客様固有のものとなります

APIエンドポイントについては、各 Cloudn サービスごとに異なります。 下記を参照してください。

API情報 ( Cloudn Compute VPCタイプ OpenNW)

アクセスキーID・秘密鍵入手方法

Cloudn ポータルへログイン

下記URLより、パスワード/IDでログインをします。

https://portal.cloudn-service.com/comgi/login

画面下部”APIアクセスキー・秘密鍵管理”をクリック

画面下部に存在する”APIアクセスキー・秘密鍵管理”をクリックします。

ポータルから秘密鍵へのリンク

Cloudn ポータル最下段、アクセスキーID・秘密鍵管理画面へのリンク

Query API->アクセスキーID・秘密鍵をコピーして利用

アクセスキーID・秘密鍵をコピーして利用します。

アクセスキーID・秘密鍵管理画面キャプチャ

アクセスキーID・秘密鍵管理画面

1.2. API情報 ( Cloudn Compute VPCタイプ OpenNW)

本サービスにて提供しているAPI Server (End Point)のURIは下記となります。

  • Cloudstack API
https://vpcopennw-api.jp-e1.cloudn-service.com/client/api
  • AWS互換API
https://vpcopennw-apia.jp-e1.cloudn-service.com/awsapi

以下のテーブルは後述のAPI Requestにおいて用いる共通のパラメータを示しています。

Common Request Parameter
パラメータ名 説明 必須
apikey アクセスキーID (※1) Yes
command APIメソッドを指定する Yes
signature リクエストに対する電子署名情報を指定する Yes
response 値に、”json”を指定することで、responseをXMLからjson 形式に変更する No
expires APIリクエストの有効期限を指定する。指定方法は、strftime(3)の書式で、”%Y-%m-%dT%T%z”で指定(※1) No
signatureVersion “3”を指定する (※1) No

注釈

(※1). expires と signatureVersionを用いる場合は同時に指定する必要があります。

下記にAsynchronous(非同期)APIの共通レスポンス形式を示します。

Common Response (Asynchronous Methods)
Node名 説明 子Node
“非同期メソッド名”response レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、 ジョブとして登録された際に払い出されたjobid  

注釈

非同期メソッドを実行した際のレスポンスは、非同期メソッドにより、jobidを格納するコンテナの値が変わります。たとえば、”deployVirtuamMachine”メソッドを実行した場合、そのレスポンスコンテナは、”deployvirtualmachineresponse”となります。

[参考]前提知識

Cloudn Computeについて

Cloudn Computeの操作・機能については操作マニュアルを参照してください。

クラウド・エヌ インフォメーションポータル - マニュアル

Cloudn Computeで用いる各書式について
参考情報

目次

Time Zoneのフォーマット

各地域ごとに使用できるTime Zoneのフォーマットは以下の通りです。

Africa
都市名 TimeZone表記
Cairo Africa/Cairo
Casablanca Africa/Casablanca
Johannesburg Africa/Johannesburg
Nairobi Africa/Nairobi
America
都市名 TimeZone表記
Araguaina America/Araguaina
Argentina America/Argentina/Buenos_Aires
Asuncion America/Asuncion
Bogota America/Bogota
Caracas America/Caracas
Cayenne America/Cayenne
Chicago America/Chicago
Chihuahua America/Chihuahua
Costa_Rica America/Costa_Rica
Cuiaba America/Cuiaba
Godthab America/Godthab
Halifax America/Halifax
La_Paz America/La_Paz
Los_Angeles America/Los_Angeles
Mexico_City America/Mexico_City
Montevideo America/Montevideo
New_York America/New_York
Santiago America/Santiago
St_Johns America/St_Johns
Asia
都市名 TimeZone表記
Bangkok Asia/Bangkok
Beirut Asia/Beirut
Jerusalem Asia/Jerusalem
Karachi Asia/Karachi
Kolkata Asia/Kolkata
Kuala_Lumpur Asia/Kuala_Lumpur
Seoul Asia/Seoul
Shanghai Asia/Shanghai
Taipei Asia/Taipei
Tokyo Asia/Tokyo
Atlantic
都市名 TimeZone表記
Azores Atlantic/Azores
Cape_Verde Atlantic/Cape_Verde
Reykjavik Atlantic/Reykjavik
Adelaide Australia/Adelaide
Brisbane Australia/Brisbane
Canberra Australia/Canberra
Darwin Australia/Darwin
Perth Australia/Perth
Canada
都市名 TimeZone表記
Saskatchewan Canada/Saskatchewan
CET
都市名 TimeZone表記
CET CET
ETC
都市名 TimeZone表記
GMT+11 Etc/GMT+11
GMT+12 Etc/GMT+12
GMT+2 Etc/GMT+2
UTC Etc/UTC
Europe
都市名 TimeZone表記
Bucharest Europe/Bucharest
London Europe/London
Minsk Europe/Minsk
Moscow Europe/Moscow
Mexico
都市名 TimeZone表記
BajaNorte Mexico/BajaNorte
Pacific
都市名 TimeZone表記
Auckland Pacific/Auckland
Guam Pacific/Guam
Honolulu Pacific/Honolulu
Samoa Pacific/Samoa
US
都市名 TimeZone表記
Alaska US/Alaska
Arizona US/Arizona
Mountain US/Mountain
EventTypeのフォーマット

listEventsのtypeにて絞込に仕様できるEventType一覧です。

  • DISK

    • DISK.OFFERING.CREATE
    • DISK.OFFERING.DELETE
    • DISK.OFFERING.EDIT
-ISO
  • ISO.ATTACH
  • ISO.COPY
  • ISO.CREATE
  • ISO.DELETE
  • ISO.DETACH
  • ISO.EXTRACT
  • ISO.UPLOAD
  • NETWORK

    • NETWORK.CREATE
    • NETWORK.DELETE
    • NETWORK.OFFERING.CREATE
    • NETWORK.OFFERING.DELETE
    • NETWORK.OFFERING.EDIT
    • NETWORK.RESTART
  • ROUTER

    • ROUTER.CREATE
    • ROUTER.DESTROY
    • ROUTER.HA
    • ROUTER.REBOOT
    • ROUTER.START
    • ROUTER.STOP
  • SecurityGroup

    • SG.AUTH.INGRESS
    • SG.REVOKE.INGRESS
  • SNAPSHOT

    • SNAPSHOT.CREATE
    • SNAPSHOT.DELETE
  • SnapshotPolicy

    • SNAPSHOTPOLICY.CREATE
    • SNAPSHOTPOLICY.DELETE
    • SNAPSHOTPOLICY.UPDATE
  • Static NAT

    • STATICNAT.DISABLE
  • Template

    • TEMPLATE.CLEANUP
    • TEMPLATE.COPY
    • TEMPLATE.CREATE
    • TEMPLATE.DELETE
    • TEMPLATE.DOWNLOAD.FAILED
    • TEMPLATE.DOWNLOAD.START
    • TEMPLATE.DOWNLOAD.SUCCESS
    • TEMPLATE.EXTRACT
    • TEMPLATE.UPDATE
    • TEMPLATE.UPLOAD
  • Virtual Machine

    • VM.CREATE
    • VM.DESTROY
    • VM.REBOOT
    • VM.RESETPASSWORD
    • VM.START
    • VM.STOP
    • VM.UPGRADE
  • VOLUME

    • VOLUME.ATTACH
    • VOLUME.CREATE
    • VOLUME.DELETE
    • VOLUME.DETACH
    • VOLUME.UPLOAD
  • VPN

    • VPN.REMOTE.ACCESS.CREATE
    • VPN.USER.ADD
    • VPN.USER.REMOVE
CIDRのフォーマット

ネットワークのCIDRのフォーマットは以下の通りです。

0.0.0.0/0

APIの利用方法について

APIを利用するには、クライアントと呼ばれるツールを利用する方法、
もしくはお客様プログラム上において仕様にしたがってAPIを利用する方法が一般的です。

以下、APIクライアントを利用した利用例・プログラム上でAPIを利用するために必要なリクエストの作成例を示します。

注釈

APIのご利用にあたっては、ご利用前に、 Cloudn ポータルより サービスを「利用中」の状態にする必要があります。

1.3. APIクライアントの利用

警告

本章はWebサーバの設定など、サポート対象外の部分の記述を多く含みます。 必ずお客様ご自身で編集前設定のバックアップや設定項目の理解をされた上でのご実施をお願い致します。 また、本ソフトウェアに関しては、あくまで記載した環境での動作を確認したものを掲載しております。オープンソースソフトウェアに関する記載が含まれており、弊社では動作保証などをいたしかねますこと、予めご了承ください。

Cloudn Compute VPCタイプ OpenNWでは Apache Cloudstack (以下Cloudstack)を利用しており、 Cloudstackを操作するためのクライアントである、CloudMonkey [1] を利用することが可能です。

以下、例としてCloudMonkeyを利用するためのセットアップ方法を示します。
他のプラットフォームにおけるセットアップ方法や、トラブルシュート、その他詳細な使い方に関する情報は Cloudstack cloudmonkey CLI より参照してください。

紹介手順の前提条件

  • OS: CentOS6.5 オフィシャルテンプレート
の環境にて紹介いたします。
以下の手順で、cloudmonkeyのインストールが完了します。
# yum -y install python python-setuptools
# easy_install cloudmonkey

Cloudmonkeyのセットアップ

cloudmonkeyを起動し、必要な設定を実施します。

$ cloudmonkey
(これ以降はshellではなくcloudmonkey内でのコマンド実行)
> set url https://vpcopennw-api.jp-e1.cloudn-service.com/client/api
> set apikey ## APIアクセスキーIDを入力する
> set secretkey ## API秘密鍵を入力する
> sync
> exit

注釈

“set url”の引数にはエンドポイントを入力します

上記の例では”https://vpcopennw-api.jp-e1.cloudn-service.com/client/api“です。

注釈

“set apikey”ではAPIアクセスキーを、”set secretkey”ではAPI秘密鍵を入力します

注釈

“sync” APIリストを反映します。

上記がCloudMonkeyを利用するために最低限必要な設定となります。 CloudMonkeyの中でexitコマンドを実行することでshellへと抜けることができます。

CloudMonkeyの利用

“cloudmonkey”をシェルで入力し、Enterを実行して再度CloudMonkeyシェルに入ります。

#cloudmonkey
>

CloudMonkeyシェルに入った状態で、”API動詞 操作対象”のように入力することで、APIが利用可能です。

#cloudmonkey
> list virtualmachines
    {
      "count": 23,
      "virtualmachine": [
        {
          "account": "cln*******",
          "cpunumber": 1,
          "cpuspeed": 400,
          "created": "2014-07-10T14:23:44+0900",
          "displayname": "***************",
          "domain": "cln**************",
          "domainid": "*******-*****-*****-9de8-9df1f82721bb",
          "guestosid": "144",
          "haenable": true,
          "hypervisor": "KVM",
          "id": "*******-ab7e-42b3-9fac-************",
          "memory": 512,
          "name": "******-ab7e-42b3-9fac-************",
          "nic": [
            {
              "id": "******-ab7e-42b3-9fac-************",
              "isdefault": true,
              "networkid": "******-ab7e-42b3-9fac-************",
              "traffictype": "Guest",
              "type": "Shared"
            }
          ],
          "passwordenabled": true,
          "rootdeviceid": 0,
          "rootdevicetype": "Not created",
          "securitygroup": [
            {
              "description": "Default Security Group",
              "id": "******-ab7e-42b3-9fac-************",
              "name": "default"
            }
          ],
          "serviceofferingid": "200c****-8ae9-4718-9b25-b8c4f6c1dfc8",
          "serviceofferingname": "t1.micro",
          "state": "Stopped",
          "tags": [],
          "templatedisplaytext": "CentOS 6.3 64 bit",
          "templateid": "3324****-6d8c-4b3a-a28e-b8cbe25b0e12",
          "templatename": "CentOS 6.3 64 bit",
          "zoneid": "1b02****-6c21-4aa3-b96c-51042de8fccd",
          "zonename": "jp-e1a"
        }
    }

また、”api”というコマンドを利用することで、本APIリファレンスに記載されたAPIをそのまま利用することが可能です。

#cloudmonkey
> api listVirtualMachines
    {
      "count": 23,
      "virtualmachine": [
        {
          "account": "cln*******",
          "cpunumber": 1,
          "cpuspeed": 400,
          "created": "2014-07-10T14:23:44+0900",
          "displayname": "***************",
          "domain": "cln**************",
          "domainid": "*******-*****-*****-9de8-9df1f82721bb",
          "guestosid": "144",
          "haenable": true,
          "hypervisor": "KVM",
          "id": "*******-ab7e-42b3-9fac-************",
          "memory": 512,
          "name": "******-ab7e-42b3-9fac-************",
          "nic": [
            {
              "id": "******-ab7e-42b3-9fac-************",
              "isdefault": true,
              "networkid": "******-ab7e-42b3-9fac-************",
              "traffictype": "Guest",
              "type": "Shared"
            }
          ],
          "passwordenabled": true,
          "rootdeviceid": 0,
          "rootdevicetype": "Not created",
          "securitygroup": [
            {
              "description": "Default Security Group",
              "id": "******-ab7e-42b3-9fac-************",
              "name": "default"
            }
          ],
          "serviceofferingid": "200c****-8ae9-4718-9b25-b8c4f6c1dfc8",
          "serviceofferingname": "t1.micro",
          "state": "Stopped",
          "tags": [],
          "templatedisplaytext": "CentOS 6.3 64 bit",
          "templateid": "3324****-6d8c-4b3a-a28e-b8cbe25b0e12",
          "templatename": "CentOS 6.3 64 bit",
          "zoneid": "1b02****-6c21-4aa3-b96c-51042de8fccd",
          "zonename": "jp-e1a"
        }
    }

上記の様に、クライアントを利用することでAPIの実行に必要な署名・リクエストの作成といった作業が簡略化されます。 詳細な利用方法については、 Cloudstack cloudmonkey CLI を参照してください。

脚注

[1]Pythonで記述されたCLIからCloudStack APIを利用するためのツール。CloudMonkeyはApacheライセンスのもとオープンソースソフトウェアとして公開されており、Python 2.5以降が利用可能な環境で動作します。また、商用非商用を問わずに利用可能となっています。
[2]URLにて使用できない文字を別の文字に変換することです。(ex.) “/” -> “%2F” “+” -> “%2B” “=” -> “%3D”

1.4. リクエストの作成方法

APIクライアントなどを使用せずにAPIリスクエストを利用する方法を示します。

APIリクエスト形式

APIリクエストは次のような形式となっています。
以下では、東日本リージョンでPlan VQの仮想サーバーを作成するコマンド「deployVirtualMachine」の例を記載します。
https://vpcopennw-api.jp-e1.cloudn-service.com/client/api?command=deployVirtualMachine&serviceofferingid=38&templateid=241&zoneid=1&apikey=APIKEYSAMPLE&signature=8vjVFWLtIruwxdxNvG1CLs1mGVw%3D

上記のリクエストは、下記の要素群により構成されています。

エンドポイント
エンドポイントです。
リージョン・NWタイプにより異なりますのでご注意ください。
https://vpcopennw-api.jp-e1.cloudn-service.com/client/api?
コマンド

APIコマンドです。

command=deployVirtualMachine
コマンドオプション
上記コマンドのオプションです。
APIにより異なりますのでAPIリファレンスをご参照ください。
&serviceofferingid=38
&templateid=241
&zoneid=1
APIアクセスキー

APIアクセスキーです。

&apikey=APIKEYSAMPLE
電子署名

アカウントごとの署名です。 署名の作成方法については後述します。

&signature=8vjVFWLtIruwxdxNvG1CLs1mGVw%3D

署名の作成方法

署名は、ユーザーの秘密鍵とHMAC-SHA-1ハッシュアルゴリズムを組み合わせて生成します。
署名を作成するには、APIコマンドとオプション、APIアクセスキー(公開鍵) を用意します。
command=deployVirtualMachine
serviceofferingid=38
templateid=241
zoneid=1
apikey=APIKEYSAMPLE
それぞれの値の部分(”=”の右側)をURLエンコード [1] します。

次に、大文字を小文字に変換します。

command=deployvirtualmachine
serviceofferingid=38
templateid=241
zoneid=1
apikey=apikeysample

続いて、要素をアルファベット順(昇順)でソートします。

apikey=apikeysample
command=deployvirtualmachine
serviceofferingid=38
templateid=241
zoneid=1

“&”でつなげます。

apikey=apikeysample&command=deployvirtualmachine&serviceofferingid=38&templateid=241&zoneid=1
秘密鍵を使用し HMAC SHA-1でハッシュをかけます。
ハッシュにはopensslコマンドを利用し、ハッシュ結果はBASE64で文字列化します。
#echo -n 'apikey=apikeysample&command=deployvirtualmachine&serviceofferingid=38&templateid=241&zoneid=1' | openssl sha1 -binary -hmac 'SECRETKEYSAMPLE' | openssl base64

8vjVFWLtIruwxdxNvG1CLs1mGVw=

ハッシュした結果をURLエンコードします。 このエンコード後の値が署名となります。

8vjVFWLtIruwxdxNvG1CLs1mGVw%3D

なお、上記の署名はプログラムの検証にお使いいただけます。 APIキー、秘密鍵、およびコマンド引数を全く同じ状態にしたうえで上記署名と同じとなるかを確認することで 署名作成プログラムの動作を検証可能です。

脚注

[1]URLにて使用できない文字を別の文字に変換することです。(ex.) “/” -> “%2F” “+” -> “%2B” “=” -> “%3D”

参考情報

目次

Time Zoneのフォーマット

各地域ごとに使用できるTime Zoneのフォーマットは以下の通りです。

Africa
都市名 TimeZone表記
Cairo Africa/Cairo
Casablanca Africa/Casablanca
Johannesburg Africa/Johannesburg
Nairobi Africa/Nairobi
America
都市名 TimeZone表記
Araguaina America/Araguaina
Argentina America/Argentina/Buenos_Aires
Asuncion America/Asuncion
Bogota America/Bogota
Caracas America/Caracas
Cayenne America/Cayenne
Chicago America/Chicago
Chihuahua America/Chihuahua
Costa_Rica America/Costa_Rica
Cuiaba America/Cuiaba
Godthab America/Godthab
Halifax America/Halifax
La_Paz America/La_Paz
Los_Angeles America/Los_Angeles
Mexico_City America/Mexico_City
Montevideo America/Montevideo
New_York America/New_York
Santiago America/Santiago
St_Johns America/St_Johns
Asia
都市名 TimeZone表記
Bangkok Asia/Bangkok
Beirut Asia/Beirut
Jerusalem Asia/Jerusalem
Karachi Asia/Karachi
Kolkata Asia/Kolkata
Kuala_Lumpur Asia/Kuala_Lumpur
Seoul Asia/Seoul
Shanghai Asia/Shanghai
Taipei Asia/Taipei
Tokyo Asia/Tokyo
Atlantic
都市名 TimeZone表記
Azores Atlantic/Azores
Cape_Verde Atlantic/Cape_Verde
Reykjavik Atlantic/Reykjavik
Adelaide Australia/Adelaide
Brisbane Australia/Brisbane
Canberra Australia/Canberra
Darwin Australia/Darwin
Perth Australia/Perth
Canada
都市名 TimeZone表記
Saskatchewan Canada/Saskatchewan
CET
都市名 TimeZone表記
CET CET
ETC
都市名 TimeZone表記
GMT+11 Etc/GMT+11
GMT+12 Etc/GMT+12
GMT+2 Etc/GMT+2
UTC Etc/UTC
Europe
都市名 TimeZone表記
Bucharest Europe/Bucharest
London Europe/London
Minsk Europe/Minsk
Moscow Europe/Moscow
Mexico
都市名 TimeZone表記
BajaNorte Mexico/BajaNorte
Pacific
都市名 TimeZone表記
Auckland Pacific/Auckland
Guam Pacific/Guam
Honolulu Pacific/Honolulu
Samoa Pacific/Samoa
US
都市名 TimeZone表記
Alaska US/Alaska
Arizona US/Arizona
Mountain US/Mountain

EventTypeのフォーマット

listEventsのtypeにて絞込に仕様できるEventType一覧です。

  • DISK

    • DISK.OFFERING.CREATE
    • DISK.OFFERING.DELETE
    • DISK.OFFERING.EDIT
-ISO
  • ISO.ATTACH
  • ISO.COPY
  • ISO.CREATE
  • ISO.DELETE
  • ISO.DETACH
  • ISO.EXTRACT
  • ISO.UPLOAD
  • NETWORK

    • NETWORK.CREATE
    • NETWORK.DELETE
    • NETWORK.OFFERING.CREATE
    • NETWORK.OFFERING.DELETE
    • NETWORK.OFFERING.EDIT
    • NETWORK.RESTART
  • ROUTER

    • ROUTER.CREATE
    • ROUTER.DESTROY
    • ROUTER.HA
    • ROUTER.REBOOT
    • ROUTER.START
    • ROUTER.STOP
  • SecurityGroup

    • SG.AUTH.INGRESS
    • SG.REVOKE.INGRESS
  • SNAPSHOT

    • SNAPSHOT.CREATE
    • SNAPSHOT.DELETE
  • SnapshotPolicy

    • SNAPSHOTPOLICY.CREATE
    • SNAPSHOTPOLICY.DELETE
    • SNAPSHOTPOLICY.UPDATE
  • Static NAT

    • STATICNAT.DISABLE
  • Template

    • TEMPLATE.CLEANUP
    • TEMPLATE.COPY
    • TEMPLATE.CREATE
    • TEMPLATE.DELETE
    • TEMPLATE.DOWNLOAD.FAILED
    • TEMPLATE.DOWNLOAD.START
    • TEMPLATE.DOWNLOAD.SUCCESS
    • TEMPLATE.EXTRACT
    • TEMPLATE.UPDATE
    • TEMPLATE.UPLOAD
  • Virtual Machine

    • VM.CREATE
    • VM.DESTROY
    • VM.REBOOT
    • VM.RESETPASSWORD
    • VM.START
    • VM.STOP
    • VM.UPGRADE
  • VOLUME

    • VOLUME.ATTACH
    • VOLUME.CREATE
    • VOLUME.DELETE
    • VOLUME.DETACH
    • VOLUME.UPLOAD
  • VPN

    • VPN.REMOTE.ACCESS.CREATE
    • VPN.USER.ADD
    • VPN.USER.REMOVE

CIDRのフォーマット

ネットワークのCIDRのフォーマットは以下の通りです。

0.0.0.0/0

2. Compute VPCタイプ OpenNW API( Cloudn Compute独自形式)

Cloudn Compute独自形式(Apache Cloudstack準拠)のAPI一覧は以下の通りです。

2.1. 仮想サーバー管理 (VirtualMachine)

仮想サーバを管理するAPIです。

listVirtualMachines - 仮想サーバー一覧表示

概要

仮想サーバー情報の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account domainidと共に使用して、任意のアカウントを指定する No
details 詳細情報を取得する。指定出来る値は、all, group, nics, stats, secgrp, tmpl, servoff, iso, volume及びmin また、複数指定する場合は、カンマ(,) で区切り指定する No
domainid domainid を指定する No
groupid VM Group のIDを指定する No
id 仮想サーバーのIDを指定する No
isoid 仮想サーバーをisoidにより指定する No
isrecursive サブドメインを検索対象に含める No
keyword 仮想サーバーをキーワードにより指定する No
listall true/ falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
name 仮想サーバーを名前により指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する.(default: 500) No
state 仮想サーバーの状態(Running, Stopped等)により、仮想マシンを指定する No
tags タグ情報(key, value)による検索条件を指定する。 No
templateid 仮想サーバーをテンプレートIDにより指定する No
vpcid VPCを指定し仮想サーバーを指定する No
zoneid 仮想サーバーをZone idにより指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名   説明 子Node
listvirtualmachinesresponse   レスポンスコンテナ count, virtualmachine
count   レスポンスに含まれる仮想サーバーオブジェクトの個数  
virtualmachine   仮想サーバーを格納するコンテナ  
id   仮想サーバーのID  
account   当該仮想サーバーを所有するアカウント  
cpunumber   当該仮想サーバーのCPUの  
cpuspeed   CPUのスピード  
cpuused   CPU仕様率  
created   当該仮想サーバーの作成日時  
displayname   当該仮想サーバーの表示名  
domain   ドメイン名  
domainid   ドメインID  
group      
groupid      
guestosid   OS のID  
haenable   高可用性機能の有効・無効(true / false )  
hypervisor   常にKVM  
isodisplaytext      
isoid      
isoname      
memory   仮想サーバーに搭載されたメモリサイズ  
name   仮想サーバーの名前  
networkkbsread   ネットワークトラフィック量: incomming (KB)  
networkkbswrite   ネットワークトラフィック量: outgoing (KB)  
password   パスワード(パスワードリセットを実施時)  
passwordenabled   パスワードリセット機能が有効か否か(true/ alse)  
rootdevicetype      
serviceofferingid   Service Offering(仮想サーバーのスペック)のID  
serviceofferingname   Service Offering(仮想サーバーのスペック)名  
state   仮想サーバーの状態  
templatedisplaytext   テンプレート表示名  
templateid   仮想サーバー作成時のテンプレートまたはISOのID  
templatename   仮想サーバー作成時のテンプレートまたはISOの名前  
zoneid   仮想サーバーが存在するzoneのID  
zonename   仮想サーバーが存在するzone の名前  
nic   Network Interface Card(NIC)の情報を格納するコンテナ  
id NICのID  
networkid NetworkのID  
netmask NICにアサインされたIPアドレスのnetmask  
Gateway Default GatewayのIPアドレス  
ipaddress NICにアサインされたIPアドレス  
traffictype “Guest”  
type “Shared”  
isdefault 通常使うNICか否か(常にtrue)  
macaddress MAC アドレス  
tags   タグ情報のコンテナ  
key タグのキー情報  
value タグの値  
サンプルレスポンス
{
  "listvirtualmachinesresponse": {
    "count": 1,
    "virtualmachine": [
      {
        "id": "**:**:**:****:**:**:**7fa59dfc",
        "name": "*******",
        "displayname": "*******",
        "account": "cln*********",
        "domainid": "**:**:**:****:**:**:**f82721bb",
        "domain": "cln*********",
        "created": "2014-07-20T21:32:22+0900",
        "state": "Running",
        "haenable": true,
        "zoneid": "**:**:**:****:**:**:**ed875e76",
        "zonename": "jp-e1b",
        "templateid": "**:**:**:****:**:**:**8dc90864",
        "templatename": "**************",
        "templatedisplaytext": "**************",
        "passwordenabled": true,
        "serviceofferingid": "**:**:**:****:**:**:**58275276",
        "serviceofferingname": "m1.small",
        "cpunumber": 1,
        "cpuspeed": 1600,
        "memory": 2048,
        "cpuused": "0.28%",
        "networkkbsread": 1289976,
        "networkkbswrite": 650,
        "guestosid": "160",
        "rootdeviceid": 0,
        "rootdevicetype": "NetworkFilesystem",
        "securitygroup": [
          {
            "id": "**:**:**:****:**:**:**5a4dd38a",
            "name": "windows2012",
            "description": ""
          }
        ],
        "nic": [
          {
            "id": "**:**:**:****:**:**:**24bf6d0a",
            "networkid": "**:**:**:****:**:**:**56267647",
            "netmask": "***.***.***.***",
            "gateway": "***.***.***.***",
            "ipaddress": "***.***.***.***",
            "traffictype": "Guest",
            "type": "Shared",
            "isdefault": true,
            "macaddress": "**:**:**:**"
          }
        ],
        "hypervisor": "KVM",
        "tags": []
      }
    ]
  }
}

deployVirtualMachine (A) - 仮想サーバー作成

概要
仮想サーバーを作成する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
serviceofferingid 仮想サーバーのスペックを確定するために、serviceOfferingIdを指定する Yes
templateid 仮想サーバーを作成する際に利用するテンプレートのID、またはISO ImageのIDを指定する Yes
zoneid 仮想サーバーを作成するゾーンを指定する Yes
networkids VPCのNetworkのIDを指定する Yes
ipaddress 仮想サーバーのIPアドレス No
hypervisor 常に”kvm” Yes
account domainidと共に使用して、任意のアカウントを指定する No
diskofferingid diskofferingidを指定する。templateidがISO imageのIDの場合は、 指定したdiskofferingidをもつDISKはroot DISKに. templateidで指定したIDがテンプレートであれば、Data DISKとして作成される No
displayname 仮想サーバーの任意の表示名 No
domainid domainid を指定する。accountと同時に指定する No
group 仮想サーバーに任意のグループを設定する No
keyboard 仮想サーバーのキーボードタイプを指定する。 指定出来る値は、de,de-ch,es,fi,fr,fr-be,fr-ch,is,it,jp,nl-be,no,pt,uk及びusのいずれか。 No
keypair log-in時に利用するsshのkeypairの名前を指定する No
name 仮想サーバーに任意の名前を設定する。 No
userdata 任意のデータをbase64でエンコードして指定する(base64 encode後 2KBまで) No

注釈

本コマンド例における「deployVirtualMachine」を利用される場合の各パラメータ値については以下をご参照ください。

  • serviceofferingid: 生成時の仮想サーバープランになります

listServiceOfferings - サービスオファリング一覧表示

  • templateid: 生成時に利用するテンプレートIDになります。

listTemplates - テンプレート一覧表示

  • zoneid: 生成する先のzone IDになります。

listZones - ゾーン情報一覧

  • networkid: 作成先VPC Networkになります。

listNetworks - Network一覧表示

注釈

VPCタイプ OpenNWでは、deployVirtualMachineをcallする際にdiskofferingidを指定すると、 仮想サーバーの作成に失敗することがまれにあることが確認されております。 その場合、VMの作成とDATADISKの作成を分けて行っていただきますよう、お願い申し上げます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deployvirtualmachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”deployvirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
virtualmachine listVirtulaMachineのResponseを参照。 statusには、Running、ならびに、passwordに初期パスワードが含まれる jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  

destroyVirtualMachine (A) - 仮想サーバー削除

概要

仮想サーバーを削除する。 ※非同期API

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
destroyvirtualmachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”deployvirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
command=destroyVirtualMachine&id=*******-****-****-b254-5824a301d5ac
{ "destroyvirtualmachineresponse" : {"jobid":"cec21bc5-ed33-4bb9-b3c3-****-****"} }
レスポンス(非同期job終了時)
レスポンス(Body)
Response(Body)
Node名 説明 子Node
virtualmachine listVirtulaMachineのResponseを参照。 statusには、destoryedが含まれる jobid
サンプルレスポンス
command=queryAsyncJobResult&jobid=*******-****-****-b254-5824a301d5ac
{
  "accountid": "8474434f-63ac-4529-ade1-480a3d63270e",
  "cmd": "org.apache.cloudstack.api.command.user.vm.DestroyVMCmd",
  "created": "2014-07-25T10:33:55+0900",
  "jobid": "cec21bc5-ed33-4bb9-b3c3-5070bbdcc123",
  "jobprocstatus": 0,
  "jobresult": {
    "virtualmachine": {
      "account": "cln100064247",
      "affinitygroup": [],
      "cpunumber": 1,
      "cpuspeed": 1600,
      "cpuused": "0.34%",
      "created": "2014-07-07T11:52:05+0900",
      "diskioread": 10661,
      "diskiowrite": 107061,
      "diskkbsread": 389866,
      "diskkbswrite": 651046,
      "displayvm": true,
      "domain": "cln100064247",
      "domainid": "e500411b-0462-47fd-9b1f-66a67c3ae51a",
      "guestosid": "ba674db0-bbf9-11e2-b4d0-d89d6715cc90",
      "haenable": true,
      "hypervisor": "KVM",
      "id": "c2997f4b-4bb9-4dd6-b254-5824a301d5ac",
      "isdynamicallyscalable": false,
      "jobid": "cec21bc5-ed33-4bb9-b3c3-5070bbdcc123",
      "jobstatus": 0,
      "memory": 2048,
      "name": "c2997f4b-4bb9-4dd6-b254-5824a301d5ac",
      "networkkbsread": 102,
      "networkkbswrite": 992,
      "nic": [
        {
          "gateway": "192.168.0.1",
          "id": "10495dee-000a-4c8a-b1eb-a037cd4367d6",
          "ipaddress": "192.168.0.37",
          "isdefault": true,
          "macaddress": "02:00:34:5e:00:01",
          "netmask": "255.255.255.0",
          "networkid": "d641bf12-c0fc-476c-9f0a-bf036d116389",
          "networkname": "newsubnet",
          "traffictype": "Guest",
          "type": "Isolated"
        }
      ],
      "passwordenabled": true,
      "rootdeviceid": 0,
      "rootdevicetype": "ROOT",
      "securitygroup": [],
      "serviceofferingid": "c6b72b0d-8541-474f-b617-e0051a9b6325",
      "serviceofferingname": "m1.small",
      "state": "Destroyed",
      "tags": [],
      "templatedisplaytext": "http://153.149.17.93/template/b058a6aa-6adc-480e-ad25-bce4ba6efff0.qcow2",
      "templateid": "89e81e40-2e2f-4f9f-8226-a37f4ebe0600",
      "templatename": "windows2012-jpdc-0707-a",
      "zoneid": "80827400-840e-4e14-a0f3-54a998abff82",
      "zonename": "jp-e1a"
    }
  },
  "jobresultcode": 0,
  "jobresulttype": "object",
  "jobstatus": 1,
  "userid": "547c9f15-e245-4cf0-a24b-00c13f143fe8"
}

rebootVirtualMachine (A) - 仮想サーバー再起動

概要

仮想サーバーを再起動する。 ※非同期API

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listVirtualMachines - 仮想サーバー一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
rebootvirtualmachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”rebootvirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)
Response(Body)
Node名 説明 子Node
virtualmachine listVirtulaMachineのResponseを参照。 statusには、Runningが含まれる jobid

startVirtualMachine (A) - 仮想サーバー起動

概要
仮想サーバーを起動する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
startvirtualmachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”startvirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
virtualmachine listVirtulaMachinesのResponseを参照。 statusには、Runningが含まれる jobid

stopVirtualMachine (A) - 仮想サーバー停止

概要

仮想サーバーを停止する。 ※非同期API

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listVirtualMachines - 仮想サーバー一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
stopvirtualmachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”stopvirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
virtualmachine listVirtulaMachineのResponseを参照。 statusには、Stoppedが含まれる jobid

resetPasswordForVirtualMachine - 仮想サーバーパスワードリセット

概要
仮想サーバーに設定された初期アカウントのパスワードをリセットする。
このコマンドを実行するためには、仮想サーバーを停止させる必要がある。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listVirtualMachines - 仮想サーバー一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
resetpasswordforvirtualmachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”resetpasswordforvirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)
Response(Body)
Node名 説明 子Node
virtualmachine listVirtulaMachineのResponseを参照。 statusには、Stoppedが含まれる。 また、passwordには新規パスワードが含まれる。 jobid

changeServiceForVirtualMachine - 仮想サーバープラン変更

概要

仮想サーバーのサービスオファリング(プラン)を変更する。 このコマンドを実行するためには、仮想サーバーを停止させる必要がある。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes
serviceofferingid サービスオファーリングIDを指定する Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
changeserviceforvirtualmachineresponse レスポンスコンテナ virtualmachine
virtualmachine listVirtulaMachineのResponseを参照。 statusには、Stoppedが返される。 また、serviiceofferingidや、cpunumber, memory, cpuspeedが変更される  

updateVirtualMachine - 仮想サーバープロパティ変更

概要

仮想サーバーのプロパティを変更する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes
displayname 仮想サーバーの表示名 No
group グループを変更する。グループを名前(string)で指定する No
haenable 仮想サーバーの高可用性機能を有効・無効にする(true / false で指定) No
ostypeid 仮想サーバーのOS Typeを変更する(IDで指定する) No
userdata 任意のデータをbase64でエンコードして指定する(base64 encode後 2KBまで) No Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listVirtualMachines - 仮想サーバー一覧表示

警告

HAenableをfalseにした場合、仮想サーバーのホストが障害時にHA機能 (仮想サーバーが自動的に別ホストへマイグレーションされる)が動作しなくなります。

レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
updatevirtualmachineresponse レスポンスコンテナ virtualmachine
virtualmachine listVirtulaMachineのResponseを参照。 リクエストで指定した値が変更され、返される。  

recoverVirtualMachine - 仮想サーバー復元

概要

削除した仮想サーバーを復元する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 仮想サーバーのidを指定する Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
recovervirtualmachineresponse レスポンスコンテナ virtualmachine
virtualmachine listVirtulaMachineのResponseを参照。  

警告

仮想サーバーの状態が”Destroyed”のものを復旧します。 “Expunging”の状態を経て、完全に削除された状態の仮想サーバーは復旧出来ません。

restoreVirtualMachine (A) - 仮想サーバー修復

概要
テンプレート/ISOから仮想サーバーを修復する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
virtualmachineid 仮想サーバーのidを指定する Yes
templateid テンプレートのidを指定する。ISOから仮想サーバー作成した場合、ISOのidを指定する。 No

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
restorevmresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”restorevmresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
virtualmachine listVirtulaMachinesのResponseを参照。 statusには、Runningが含まれる jobid

addNicToVirtualMachine (A) - 仮想サーバーNIC追加

概要
仮想サーバーへNICを追加する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
networkid NetworkのID Yes
virtualmachineid 仮想サーバーのID Yes
ipaddress 新しいNetworkのIPアドレスを指定する No

参考

仮想サーバー情報/NIC情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
addnictovirtualmachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”addnictovirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
nictovirtualmachine listVirtulaMachineのResponseを参照 statusには、addedが含まれる jobid

removeNicFromVirtualMachine (A) - 仮想サーバーNIC削除

概要
仮想サーバーよりNICを削除する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
nicid NICのID Yes
virtualmachineid 仮想サーバーID Yes

参考

仮想サーバー情報/NIC情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
removeNicFromVirtualMachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”removeNicFromVirtualMachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
NicFRomVirtualMachine listVirtulaMachineのResponseを参照 statusには、removedが含まれる jobid

updateDefaultNicForVirtualMachine (A) - 仮想サーバーデフォルトNIC変更

概要
仮想サーバーのデフォルトNICを変更する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
nicid NICのID Yes
virtualmachineid 仮想サーバーID Yes

参考

仮想サーバー情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
updateDefaultNicForVirtualMachineresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”updatedefaultnicforvirtualmachineresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
defaultnicforvirtualmachine listVirtulaMachineのResponseを参照 statusには、updatepedが含まれる jobid

(A): Async,非同期APIを表します

2.2. テンプレート管理 (Template)

テンプレートを管理するAPIです。

listTemplates - テンプレート一覧表示

概要

Cloudn Computeサービスで提供しているテンプレートや、自作テンプレート等の一覧を取得する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
templatefilter 以下のいずれかを指定する。 - featured : Cloudn Computeサービスで提供しているテンプレート一覧を取得するためのフィルター - self : 自作または持ち込みテンプレート一覧を取得するためのフィルター - self-executable : 自作、持ち込みテンプレートで、新しいVMを作成するのに利用できるテンプレート一覧を取得するフィルター - executable : 新しいVMを作成するのに利用できるテンプレート一覧を取得するフィルター Yes
account 指定したアカウントに属する情報に絞り込む。domainidと同時に利用する No
domainid ドメインIDを指定する。指定することにより、指定したドメイン以下の情報に絞り込む No
hypervisor Hypervisor を指定。 No
id テンプレートのIDを指定 No
isrecursive サブドメインが保有するテンプレートも検索対象とする No
keyword キーワードによる検索を実施する No
listall true/ falseで指定する(default:false). zoneidとisrecursive=trueと設定した場合に等しい No
name テンプレート名を指定して、検索を実施する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する.(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 タグ情報は、 - tags[N].key=“sample_key” - tags[N].value=“sample_value”(N=0, 1, 2, 3, ….) の形で指定する

No

No

zoneid テンプレートの存在するゾーンを指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
listtemplatesresponse レスポンスコンテナ count, template  
count レスポンスに含まれるtemplateオブジェクトの個数  
template templateオブジェクトを格納するコンテナ id, name, displaytext, ispublic, created, isready, passwordenabled, format, isfeatured, crosszones, ostypeid, account, zoneid, zonename, status, size, type, hypervisor, tags, domainid, domain, isextractable, checksum, sshkeyenabled, sourcetemplateid
id テンプレートのid  
name テンプレート名  
displaytext テンプレートの表示名  
ispublic public テンプレートかどうか(true|false)  
created テンプレートの作成日時が返る  
isready 利用可能か否か(true|false)  
passwordenabled パスワードリセット機能の有無  
format テンプレートのフォーマット  
isfeatured Cloudn Computeサービスで提供しているテンプレートか 否か(true|false)  
crosszones zoneを跨いで管理されているか否か(true|false)  
ostypeid テンプレートのOS Type ID  
ostypename テンプレートのOS Type 名  
account テンプレートを保有するアカウント名  
zoneid テンプレートが管理されているzoneのid  
zonename テンプレートが管理されているzoneの名前  
status テンプレートのステータス  
size テンプレートのサイズ  
templatetype テンプレートタイプ  
Hypervisor ハイパーバイザーの種類  
domain テンプレートを保有するドメインの名前  
domainid テンプレートを保有するドメインのid  
isextractable 展開が可能か否か(true/false)  
checksum テンプレートのチェックサム値  
tags タグ情報  
sshkeyenabled ssh-key機能が利用出来るか否か  
sourcetemplateid 当該テンプレートのもとになったテンプレートのID  
サンプルレスポンス
command=listTemplates templatefilter="featured"
{
  "listtemplatesresponse": {
    "count": 1,
    "template": [
      {
        "id": "04905f2f-11a7-4e85-b287-**:**:**:**",
        "name": "CentOS 6.3 64bit",
        "displaytext": "CentOS 6.3 64bit",
        "ispublic": true,
        "created": "2013-11-19T21:25:03+0900",
        "isready": true,
        "passwordenabled": true,
        "format": "QCOW2",
        "isfeatured": true,
        "crossZones": true,
        "ostypeid": "ba68a354-bbf9-11e2-b4d0-**:**:**:**",
        "ostypename": "CentOS 6.3 (64-bit)",
        "account": "admin",
        "zoneid": "80827400-840e-4e14-a0f3-**:**:**:**",
        "zonename": "jp-e1a",
        "status": "Download Complete",
        "size": 16106127360,
        "templatetype": "USER",
        "hypervisor": "KVM",
        "domain": "ROOT",
        "domainid": "ba4fc820-bbf9-11e2-b4d0-**:**:**:**",
        "isextractable": true,
        "checksum": "**:**:**:****:**:**:**f6f4d6e1",
        "tags": [],
        "sshkeyenabled": false,
        "isdynamicallyscalable": false
      }
    ]
  }
}

createTemplate (A) - テンプレート作成

概要
テンプレートを作成する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
displaytext テンプレートの表示名を指定する Yes
name テンプレート名を指定する Yes
ostypeid テンプレートのOSタイプを指定する Yes
bits 32もしくは64bitを指定する No
details テンプレートの詳細を指定する。 (key/value形式) No
ispublic public テンプレートかどうかを指定する (“false”のみ有効) No
passwordenabled パスワード変更の可否を指定する No
snapshotid 生成元のSnapshot IDを指定する Yes [1]
templatetag テンプレートタグを指定する No
volumeid 生成元のRootディスクのボリュームIDを指定する Yes [1]

注釈

本コマンド例における「createTemplate」を利用される場合の各パラメータ値については以下をご参照ください。

脚注

[1](1, 2) snapshotidと、volumeidのどちらかは必須です。また、同時に指定することは出来ません。
レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
createTemplateresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”createTemplateresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
template listTemplatesのResponseを参照。 statusには、Running、ならびに、passwordに初期パスワードが含まれる jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  

updateTemplate - テンプレートプロパティ変更

概要

テンプレートのプロパティを変更する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id テンプレートのidを指定する Yes
displaytext テンプレートの表示名 No
format テンプレートイメージのフォーマット No
name テンプレートイメージの名前 No
passwordenabled パスワードリセット機能が有効か。 テンプレートにパスワードエージェントが インストールされている時のみtrueとする No
sortkey テンプレートをソートするキー。整数での指定をする。 No
ostypeid 仮想サーバーのOS Typeを変更する(IDで指定する) No

参考

テンプレート情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
updatetemplateresponse レスポンスコンテナ Template
template listTemplates - テンプレート一覧表示 のResponseを参照。 リクエストで指定した値が変更され、返される。  

copyTemplate (A) - Templateのコピー

概要
Templateを異なるゾーンへコピーをする。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id TemplateイメージのID Yes
destzoneid コピー先ZoneのID Yes
sourcezoneid コピー元ZoneのID Yes

参考

Template・ゾーン情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 - listTemplates - テンプレート一覧表示 - listZones - ゾーン情報一覧

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
copytemplateresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”copytemplateresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "copytemplateresponse": {
    "jobid": "**:**:**:****:**:**:**b818a8f6"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
template template Objectを格納するコンテナ。詳細は listTemplates - テンプレート一覧表示 を参照。  

deleteTemplate (A) - テンプレート削除

概要
テンプレートを削除する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id テンプレートのidを指定する Yes
zoneid ゾーンのIDを指定する No

参考

テンプレート情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listTemplates - テンプレート一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deletetemplateresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”deletetemplateresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deletetemplate listIsosのResponseを参照  
サンプルレスポンス
 > delete template id=********-****-****-************
{
  "accountid": "********-****-****-************",
  "cmd": "com.cloud.api.commands.DeleteTemplateCmd",
  "created": "2014-07-23T15:34:00+0900",
  "jobid": "be6aebbd-cd2e-4277-98f2-d115103b0cb9",
  "jobprocstatus": 0,
  "jobresult": {
    "success": true
  },
  "jobresultcode": 0,
  "jobresulttype": "object",
  "jobstatus": 1,
  "userid": "********-****-****-************"
}

extractTemplate (A) - テンプレートの展開

概要
Templateを展開(ダウンロードURLの発行)をする。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Templateのidを指定する Yes
mode “HTTP_DOWNLOAD” あるいは “FTP_UPLOAD”のいずれかを指定する Yes
zoneid Templateが存在するzoneidを指定する Yes
url Templateが展開されるURLを指定する No

参考

Template情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listTemplates - テンプレート一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
extracttemplateresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”extracttemplateresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
template Template Objectを格納するコンテナ id, name, extractId, accountid, state, zoneid, zonename, extractMode, url, created, status, uploadpercentage
id 展開されたTemplateのid  
accountid 展開したTemplateを保有するアカウントのID  
created 展開されたTemplate オブジェクトが作成された日時  
extractId 展開ずみobjectのID  
extractMode 展開時のモード (HTTP_DOWNLOAD / FTP_UPLOAD)  
name 展開されたオブジェクト(Template)の名前  
state 展開されたオブジェクトの状態  
status ステータス  
uploadpercentage アップロードの進捗  
zoneid 展開元のTemplate objectが存在したzoneのid  
zonename 展開元のTemplate objectが存在したzoneの名前  
url modeに“HTTP_DOWNLOAD”を指定した場合は、 展開したオブジェクトをダウンロードするためのURLが “HTTP_UPLOAD”を指定した場合は、オブジェクトがアップロードされるURL  
サンプルレスポンス
>api extractTemplate id=********-****-****-************ mode=HTTP_DOWNLOAD zoneid=********-****-****-************
   {
  "accountid": "********-****-****-************",
  "cmd": "com.cloud.api.commands.ExtractTemplateCmd",
  "created": "2014-07-23T15:30:01+0900",
  "jobid": "********-****-****-************",
  "jobprocstatus": 0,
  "jobresult": {
    "template": {
      "accountid": "********-****-****-************",
      "extractId": "1032",
      "extractMode": "HTTP_DOWNLOAD",
      "id": "********-****-****-************",
      "name": "Test",
      "state": "DOWNLOAD_URL_CREATED",
      "url": "https://153-128-28-208.realhostip.com/userdata/*******.qcow2",
      "zoneid": "********-****-****-************",
      "zonename": "jp-e1b"
    }
  },
  "jobresultcode": 0,
  "jobresulttype": "object",
  "jobstatus": 1,
  "userid": "********-****-****-************"
}

2.3. Volume管理 (Volume)

Volime(仮想ディスク)を管理するAPIです。

listVolumes - Volume一覧

概要

Volume(仮想ディスク)一覧を表示する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account 指定したアカウントに属する情報に絞り込む。 domainidと同時に利用する No
details 取得する情報にフィルターを設定する。 指定出来る値は、all, vm, account, storage_type, disk_offering及びmin. 複数指定する場合は、カンマ(,)区切りで指定する。 No
domainid ドメインIDを指定する。 指定することにより、指定したドメイン以下の情報に絞り込む No
id テンプレートのIDを指定 No
isrecursive サブドメインが保有するDisk Voluneも検索対象とする No
keyword キーワードによる検索を実施する No
listall true/falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
name Volume名を指定して、検索を実施する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。 pageと同時にしていする.(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 タグ情報は、 - tags[N].key=“sample_key” - tags[N].value=“sample_value” (N=0, 1, 2, 3, ….)の形で指定する No
type Disk Volumeのタイプを指定する。(ROOT/DATADISK) No
virtualmachineid 仮想サーバーのidによる検索条件を付与する No
zoneid zoneidによる検索条件を付与する No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listvolumesresponse レスポンスコンテナ count, volume
count レスポンスに含まれるtemplateオブジェクトの個数  
volume Volumeオブジェクトを格納するコンテナ id, name, zoneid, zonename, type, deviceid, virtualmachineid, vmname, vmdisplayname, vmstate, size, created, state, account, domainid, domain, storagetype, storage, attached, destroyed, serviceofferingid, serviceofferingname, serviceofferingdisplaytext, isextractable, tags, diskofferingid, diskofferingname, diskofferingdisplaytext
id Volumeのid  
name Volume名  
zoneid Volumeが管理されているzoneのid  
zonename Volumeが管理されているzoneの名前  
type VolumeのType (ROOT / DATADISK)  
deviceid デバイスのID  
virtualmachineid 仮想サーバーのID  
vmname 仮想サーバーの名前  
vmdisplayname 仮想サーバーの表示名  
vmstate 仮想サーバーの状態  
size Volumeのサイズ  
created Volumeの作成日時  
state Volumeの状態  
account Volumeを保有するアカウントの名前  
domainid Volumeを保有するドメインのID  
domain Volumeを保有するドメインの名前  
storagetype ストレージのタイプ  
storage ストレージの名前  
attached Volumeが仮想サーバーにアタッチされた日時  
destroyed 破棄されたか否か(true / false)  
serviceofferingid 仮想サーバーのServiceOffering ID (TypeがROOTの場合)  
serviceofferingname 仮想サーバーのServiceOffering 名 (TypeがROOTの場合)  
serviceofferingdisplaytext 仮想サーバーのServiceOffering の表示名 (TypeがROOTの場合)  
isextractable ダウンロード可能か否か  
tags タグ情報  
diskofferingid 仮想サーバーのDisk Offering ID (TypeがDATADISKの場合)  
diskofferingname 仮想サーバーのDisk Offering 名 (TypeがDATADISKの場合)  
diskofferingdisplaytext 仮想サーバーのDisk Offering の表示名 (TypeがDATADISKの場合)  

attachVolume (A) - Disk Volumeのアタッチ

概要

Disk Volume(仮想ディスク)を仮想サーバーへアタッチする。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Volumeのidを指定する Yes
virtualmachineid Targetとする仮想サーバーのidを指定する Yes

注釈

下記のAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
attachvolumeresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”attachvolumeresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
Volume listVolumesのResponseを参照。 jobid

detachVolume (A) - Volumeのデタッチ

概要

Volume(仮想ディスク)を仮想サーバーからデタッチする。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Volumeのidを指定する Yes(※)
virtualmachineid Targetとする仮想サーバーのidを指定する Yes(※)
deviceid 仮想マシン上のdeviceidを指定する Yes(※)

注釈

“id” または、”deviceid”, “virtualmachineid” (deviceidとvirtualmachineidを同時に指定)は必須

参考

下記APIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
detachhvolumeresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”detachvolumeresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
Volume listVolumesのResponseを参照。 jobid

createVolume (A) - Volumeの作成

概要

Volume(仮想ディスク)を作成する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
name Volumeの名前を指定する Yes
diskofferingid Disk Offering IDを指定する Yes(※)
snapshotid Snapshot IDを指定する Yes(※)
zoneid zoneidを指定する Yes
account domainidと共に使用して、任意のアカウントを指定する No
domainid domainid を指定する。accountと同時に指定する No

注釈

diskofferingid, snapshotidのどちらかが必須です。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
createvolumeresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”createvolumeresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
Volume listVolumesのResponseを参照。 jobid

deleteVolume - Volumeの削除

概要

Volume(仮想ディスク)を削除する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Volumeのidを指定する Yes

参考

Volume情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deletevolumeresponse レスポンスコンテナ jobid
success 成功時にはtrue, 失敗時にはfalseが返される。  

extractVolume (A) - Volumeの展開

概要

Volume(仮想ディスク)を展開(ダウンロードURLの発行)をする。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Volumeのidを指定する Yes
mode “HTTP_DOWNLOAD” あるいは “FTP_UPLOAD”のいずれかを指定する Yes
zoneid Volumeが存在するZone idを指定する Yes
url Volumeが展開されるURLを指定する No

注釈

下記APIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
extractvolumeresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”extractvolumeresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
volume Volume Objectを格納するコンテナ id, name, extractId, accountid, state, zoneid, zonename, extractMode, url, created, status, storagetype, uploadpercentage
id 展開されたVolumeのid  
accountid 展開したVolumeを保有するアカウントのID  
created 展開されたvolume オブジェクトが作成された日時  
extractId 展開ずみobjectのID  
extractMode 展開時のモード (HTTP_DOWNLOAD / FTP_UPLOAD)  
name 展開されたオブジェクト(Volume)の名前  
state 展開されたオブジェクトの状態  
status ステータス  
storagetype ストレージの種類  
uploadpercentage アップロードの進捗  
zoneid 展開元のvolume objectが存在したzoneのid  
zonename 展開元のvolume objectが存在したzoneの名前  
url modeに“HTTP_DOWNLOAD”を指定した場合は、 展開したオブジェクトをダウンロードするためのURLが “HTTP_UPLOAD”を指定した場合は、オブジェクトがアップロードされるURL  

(A): Async,非同期APIを表します

2.4. 仮想ルーターIPAddress管理 (IPAddress)

IPAddress(仮想ルーターのPublicIP)を管理するAPIです。

listPublicIpAddresses - PublicIP情報一覧

概要

PublicIP情報の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
allocatedonly アロケート済みIPアドレスのみ表示する(true|false) No
associatednetworkid 指定されたnetworkidに関連するIPアドレスをすべて表示する No
forvirtualnetwork Network(サブネット)に使用されているIPアドレスを表示する No
id IPアドレスのIDを指定する No
ipaddress IPアドレスを指定する No
issourcenat ソースNATで使用されているIPアドレスのみを表示する No
isstaticnat static NATで使用されているIPアドレスのみ表示する No
keyword 検索キーワードを指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 No
vpcid VPCのIDを指定する No
zoneid zoneidを指定する No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listPublicIpAddresssresponse レスポンスコンテナ count, publicipaddress
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
publicipaddress PublicIpAddressオブジェクトを格納するコンテナ id, name, displaytext, cpunmber, cpuspeed, memory, created, storagetype, offerha, limitcpuuse, tags, domainid, domain, hosttag, issytem, defaultuse
account    
allocated    
created Service Offeringとして登録された日付  
id PublicIpAddressのid  
domainid 管理ドメインのID  
domain 管理ドメイン名  
forvirtualnetwork IPアドレスがNetwork(サブネットに割り当てられたものか)  
ipaddress PublicIPアドレス  
isportable Publicアドレスが他のゾーンでも使用可能なものか(true|false)  
issourcenat ソースNATで使用されているIPアドレスか  
isstaticnat スタティックNATで使用されているIPアドレスか  
issystem 常にfalse  
networkid IPアドレスが所属するNetworkのID  
physicalnetworkid IPアドレスが所属する物理NetworkのID  
state IPアドレスの状態  
tags タグ情報のキー、値のセット  
vpcid IPアドレスが所属するVPCのID  
zoneid IPアドレスが所属するゾーンId  
zonename IPアドレスが所属するゾーン名  
サンプルレスポンス
{
  "count": 2,
  "publicipaddress": [
    {
      "account": "cln*********",
      "allocated": "2014-07-07T11:21:55+0900",
      "domain": "cln*********",
      "domainid": "********-****-****-************",
      "forvirtualnetwork": true,
      "id": "********-****-****-************",
      "ipaddress": "***.***.***.***",
      "isportable": false,
      "issourcenat": true,
      "isstaticnat": false,
      "issystem": false,
      "networkid": "********-****-****-************",
      "physicalnetworkid": "********-****-****-************",
      "state": "Allocated",
      "tags": [],
      "vpcid": "********-****-****-************",
      "zoneid": "********-****-****-************",
      "zonename": "jp-e1a"
    },
    {
      "account": "cln*********",
      "allocated": "2014-06-10T18:12:54+0900",
      "domain": "cln*********",
      "domainid": "********-****-****-************",
      "forvirtualnetwork": true,
      "id": "********-****-****-************",
      "ipaddress": "***.***.***.***",
      "isportable": false,
      "issourcenat": true,
      "isstaticnat": false,
      "issystem": false,
      "networkid": "********-****-****-************",
      "physicalnetworkid": "********-****-****-************",
      "state": "Allocated",
      "tags": [],
      "vpcid": "********-****-****-************",
      "zoneid": "********-****-****-************",
      "zonename": "jp-e1b"
    }
  ]
}

associateIpAddress (A) - PublicIPアドレス取得

概要
PublicIPアドレスを取得する
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
networkid IPアドレスを関連付けるNetworkのID No
vpcid IPアドレスを関連付けるVPCのID Yes
zoneid IPアドレスを取得したいゾーンのID Yes

注釈

本コマンド例における「associateIpAddress」を利用される場合の各パラメータ値については以下をご参照ください。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
associateipaddressresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”associateipaddressresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
ipaddress listPublicIpAddressesのResponseを参照。 jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  

disassociateIpAddresses (A) - PublicIPアドレス開放

概要
PublicIPアドレスを開放する
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 開放するIPアドレスのID Yes

注釈

本コマンド例における各パラメータ値については以下をご参照ください。

  • id : 開放するIPアドレスのIDです

listPublicIpAddresses - PublicIP情報一覧

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
disassociateipaddressresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”disassociateipaddressresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
ipaddress listPublicIpAddressesのResponseを参照。 jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  
displaytext 失敗の際にメッセージが入る  
success 成功すればtrue  

(A): Async,非同期APIを表します

2.5. Network(サブネット)管理 (Network)

Network(サブネット)を管理するAPIです。

listNetworks - Network一覧表示

概要

Network(サブネット)一覧を取得する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account domainidと共に使用して、任意のアカウントを指定する No
acltype ACLの種類(Account|Domain)で指定をする。 No
canusefordeploy 仮想サーバー作成に使用できるものか否かを(true|false)で指定をする。 No
domainid domainid を指定する No
forvpc VPCのネットワークかどうかを(true|false)で指定する No
id NetworkのIDを指定する No
issystem true の場合システムのNetwork、falseの場合他を表示する No
isrecursive サブドメインを検索対象に含める No
keyword Networkをキーワードにより指定する No
listall true/ falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 タグ情報は、 - tags[N].key=“sample_key” - tags[N].value=“sample_value” (N=0, 1, 2, 3, ….)の形で指定する No
type Networkのタイプ(Isolated|Shared)で指定をする。 No
vpcid VPCを指定し仮想ルーターを指定する No
zoneid 仮想ルーターをZone idにより指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
listnetworksresponse レスポンスコンテナ count, router
count レスポンスに含まれるNetworkオブジェクトの個数  
id NetworkのID  
account 当該Networkを所有するアカウント  
aclid VPCnetworkに紐付いたACLのID  
acltype ACLの種類  
broadcastdomaintype ブロードキャストドメインの種類  
canusefordeploy deployvirtualmachine で使用可能かを示す  
cidr NetworkのCIDRブロック  
displaynetwork  
displaytext Networkの表示名  
dns1 NetworkのプライマリDNS  
dns2 NetworkのセカンダリDNS  
domain Networkの所属しているdomain  
domainid Networkの所属しているdomainid  
gateway Networkのgateway  
id NetworkのID  
ispersistent Networkが恒久的なものかを表す  
issystem NetworkがComputeのシステム系のものかを表す  
name Networkの名前  
netmask NetworkのNetmask  
networkdomain Networkのドメイン  
networkofferingavailability Networkofferingの使用可能か  
networkofferingconservemode  
networkofferingdisplaytext Networkofferingの表示名  
networkofferingid NetworkofferingのID  
networkofferingname networkofferingの名前  
physicalnetworkid PhysicalNetworkのID  
related 他の関連Network  
restartrequired Network再起動が必要かを表す  
service service情報を格納するコンテナ。 下記”Service”テーブルを参照のこと  
tags Networkのtag情報を格納するコンテナ。 下記”tags”テーブルを参照のこと  
Service
Node名   説明 子Node
name   Serviceの名前  
capability canchooseservicecapability name value Capabilityのリスト Serviceがenabled/disabledで表される Capabilityの名前 Capabilityの値  
tags
Node名 説明
account タグと関連づけられたアカウント
customer タグと関連づけられたcustomer
domain タグと関連づけられたドメイン名
domainid タグと関連づけられたドメインID
key tag key名
project タグが所属しているプロジェクト
projectid タグが所属しているプロジェクトid
resourceid リソースのID
resourcetype resourceの種類
value tagの値
サンプルレスポンス
{
  "count": 1,
  "network": [
    {
      "account": "cln*********",
      "aclid": "********-******-********-******",
      "acltype": "Account",
      "broadcastdomaintype": "Vlan",
      "canusefordeploy": true,
      "cidr": "***.***.***.***/24",
      "displaynetwork": true,
      "displaytext": "newsubnet",
      "dns1": "***.***.***.***",
      "dns2": "***.***.***.***",
      "domain": "cln*********",
      "domainid": "********-******-********-******",
      "gateway": "***.***.***.***",
      "id": "********-******-********-******",
      "ispersistent": false,
      "issystem": false,
      "name": "newsubnet",
      "netmask": "***.***.***.***",
      "networkdomain": "cs186cloud.internal",
      "networkofferingavailability": "Optional",
      "networkofferingconservemode": false,
      "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
      "networkofferingid": "********-******-********-******",
      "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
      "physicalnetworkid": "********-******-********-******",
      "related": "********-******-********-******",
      "restartrequired": false,
      "service": [
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedProtocols",
              "value": "tcp,udp,icmp"
            }
          ],
          "name": "NetworkACL"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "AllowDnsSuffixModification",
              "value": "true"
            }
          ],
          "name": "Dns"
        },
        {
          "name": "PortForwarding"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "DhcpAccrossMultipleSubnets",
              "value": "true"
            }
          ],
          "name": "Dhcp"
        },
        {
          "name": "UserData"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedSourceNatTypes",
              "value": "peraccount"
            },
            {
              "canchooseservicecapability": false,
              "name": "RedundantRouter",
              "value": "false"
            }
          ],
          "name": "SourceNat"
        },
        {
          "name": "StaticNat"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedVpnTypes",
              "value": "pptp,l2tp,ipsec"
            },
            {
              "canchooseservicecapability": false,
              "name": "VpnTypes",
              "value": "s2svpn"
            }
          ],
          "name": "Vpn"
        }
      ],
      "specifyipranges": false,
      "state": "Implemented",
      "tags": [],
      "traffictype": "Guest",
      "type": "Isolated",
      "vpcid": "********-******-********-******",
      "zoneid": "********-******-********-******",
      "zonename": "jp-e1a"
    },
    {
      "account": "cln*********",
      "aclid": "********-******-********-******",
      "acltype": "Account",
      "broadcastdomaintype": "Vlan",
      "canusefordeploy": false,
      "cidr": "***.***.***.***/30",
      "displaynetwork": true,
      "displaytext": "new3",
      "dns1": "***.***.***.***",
      "dns2": "***.***.***.***",
      "domain": "cln*********",
      "domainid": "********-****-****-****-************",
      "gateway": "***.***.***.***",
      "id": "********-****-****-****-************",
      "ispersistent": false,
      "issystem": false,
      "name": "new3",
      "netmask": "***.***.***.***",
      "networkdomain": "cs186cloud.internal",
      "networkofferingavailability": "Optional",
      "networkofferingconservemode": false,
      "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
      "networkofferingid": "********-****-****-****-************",
      "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
      "physicalnetworkid": "********-****-****-****-************",
      "related": "********-****-****-****-************",
      "restartrequired": false,
      "service": [
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedProtocols",
              "value": "tcp,udp,icmp"
            }
          ],
          "name": "NetworkACL"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "AllowDnsSuffixModification",
              "value": "true"
            }
          ],
          "name": "Dns"
        },
        {
          "name": "PortForwarding"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "DhcpAccrossMultipleSubnets",
              "value": "true"
            }
          ],
          "name": "Dhcp"
        },
        {
          "name": "UserData"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedSourceNatTypes",
              "value": "peraccount"
            },
            {
              "canchooseservicecapability": false,
              "name": "RedundantRouter",
              "value": "false"
            }
          ],
          "name": "SourceNat"
        },
        {
          "name": "StaticNat"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedVpnTypes",
              "value": "pptp,l2tp,ipsec"
            },
            {
              "canchooseservicecapability": false,
              "name": "VpnTypes",
              "value": "s2svpn"
            }
          ],
          "name": "Vpn"
        }
      ],
      "specifyipranges": false,
      "state": "Implemented",
      "tags": [],
      "traffictype": "Guest",
      "type": "Isolated",
      "vpcid": "********-****-****-****-************",
      "zoneid": "********-****-****-****-************",
      "zonename": "jp-e1b"
    },
    {
      "account": "cln*********",
      "aclid": "********-****-****-****-************",
      "acltype": "Account",
      "broadcastdomaintype": "Vlan",
      "canusefordeploy": true,
      "cidr": "***.***.***.***/30",
      "displaynetwork": true,
      "displaytext": "new2",
      "dns1": "***.***.***.***",
      "dns2": "***.***.***.***",
      "domain": "cln*********",
      "domainid": "********-****-****-****-************",
      "gateway": "***.***.***.***",
      "id": "********-****-****-****-************",
      "ispersistent": false,
      "issystem": false,
      "name": "new2",
      "netmask": "***.***.***.***",
      "networkdomain": "cs186cloud.internal",
      "networkofferingavailability": "Optional",
      "networkofferingconservemode": false,
      "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
      "networkofferingid": "********-****-****-****-************",
      "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
      "physicalnetworkid": "********-****-****-****-************",
      "related": "********-****-****-****-************",
      "restartrequired": false,
      "service": [
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedProtocols",
              "value": "tcp,udp,icmp"
            }
          ],
          "name": "NetworkACL"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "AllowDnsSuffixModification",
              "value": "true"
            }
          ],
          "name": "Dns"
        },
        {
          "name": "PortForwarding"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "DhcpAccrossMultipleSubnets",
              "value": "true"
            }
          ],
          "name": "Dhcp"
        },
        {
          "name": "UserData"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedSourceNatTypes",
              "value": "peraccount"
            },
            {
              "canchooseservicecapability": false,
              "name": "RedundantRouter",
              "value": "false"
            }
          ],
          "name": "SourceNat"
        },
        {
          "name": "StaticNat"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedVpnTypes",
              "value": "pptp,l2tp,ipsec"
            },
            {
              "canchooseservicecapability": false,
              "name": "VpnTypes",
              "value": "s2svpn"
            }
          ],
          "name": "Vpn"
        }
      ],
      "specifyipranges": false,
      "state": "Allocated",
      "tags": [],
      "traffictype": "Guest",
      "type": "Isolated",
      "vpcid": "********-****-****-****-************",
      "zoneid": "********-****-****-****-************",
      "zonename": "jp-e1b"
    },
    {
      "account": "cln*********",
      "aclid": "********-****-****-****-************",
      "acltype": "Account",
      "broadcastdomaintype": "Vlan",
      "canusefordeploy": true,
      "cidr": "***.***.***.***/30",
      "displaynetwork": true,
      "displaytext": "new",
      "dns1": "***.***.***.***",
      "dns2": "***.***.***.***",
      "domain": "cln*********",
      "domainid": "********-****-****-****-************",
      "gateway": "***.***.***.***",
      "id": "********-****-****-****-************",
      "ispersistent": false,
      "issystem": false,
      "name": "new",
      "netmask": "***.***.***.***",
      "networkdomain": "cs186cloud.internal",
      "networkofferingavailability": "Optional",
      "networkofferingconservemode": false,
      "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
      "networkofferingid": "********-****-****-****-************",
      "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
      "physicalnetworkid": "********-****-****-****-************",
      "related": "********-****-****-****-************",
      "restartrequired": false,
      "service": [
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedProtocols",
              "value": "tcp,udp,icmp"
            }
          ],
          "name": "NetworkACL"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "AllowDnsSuffixModification",
              "value": "true"
            }
          ],
          "name": "Dns"
        },
        {
          "name": "PortForwarding"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "DhcpAccrossMultipleSubnets",
              "value": "true"
            }
          ],
          "name": "Dhcp"
        },
        {
          "name": "UserData"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedSourceNatTypes",
              "value": "peraccount"
            },
            {
              "canchooseservicecapability": false,
              "name": "RedundantRouter",
              "value": "false"
            }
          ],
          "name": "SourceNat"
        },
        {
          "name": "StaticNat"
        },
        {
          "capability": [
            {
              "canchooseservicecapability": false,
              "name": "SupportedVpnTypes",
              "value": "pptp,l2tp,ipsec"
            },
            {
              "canchooseservicecapability": false,
              "name": "VpnTypes",
              "value": "s2svpn"
            }
          ],
          "name": "Vpn"
        }
      ],
      "specifyipranges": false,
      "state": "Allocated",
      "tags": [],
      "traffictype": "Guest",
      "type": "Isolated",
      "vpcid": "********-****-****-****-************",
      "zoneid": "********-****-****-****-************",
      "zonename": "jp-e1b"
    }
  ]
}

listNetworkOfferings - NetworkOffering一覧表示

概要

Networkを作成する際に必要な、NetworkOfferingの一覧を取得する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
displaytext NetworkOfferingを表示名により指定する No
forvpc (true|false)でVPC用に使えるNetworkOfferingかどうかを指定する No
id NetworkOfferingのIDを指定する No
keyword キーワードを指定する No
name NetworkOfferingの名前を指定する No
networkid NetworkのIDを指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 タグ情報は、 - tags[N].key=”sample_key” - tags[N].value=”sample_value” (N=0, 1, 2, 3, ...)の形で指定する No
type NetworkOfferingのタイプ(Isolated|Shared)で指定をする。 No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
listNetworkOfferingsresponse レスポンスコンテナ count, router
count レスポンスに含まれるNetworkOfferingオブジェクトの個数  
id NetworkOfferingのID  
displaytext NetworkOfferingの表示名  
id NetworkOfferingのID  
name NetworkOfferingの名前  
guestiptype (Shared|Isolated)でゲストIPの種類を表す  
serviceooferingid ServiceOfferingのID  
service service情報を格納するコンテナ。 下記”Service”テーブルを参照のこと  
tags NetworkOfferingのtag情報を格納するコンテナ。 下記”tags”テーブルを参照のこと  
Service
Node名   説明 子Node
name   Serviceの名前  
capability canchooseservicecapability name value Capabilityのリスト Serviceがenabled/disabledで表される Capabilityの名前 Capabilityの値  
tags
Node名 説明
account タグと関連づけられたアカウント
customer タグと関連づけられたcustomer
domain タグと関連づけられたドメイン名
domainid タグと関連づけられたドメインID
key tag key名
project タグが所属しているプロジェクト
projectid タグが所属しているプロジェクトid
resourceid リソースのID
resourcetype resourceの種類
value tagの値
サンプルレスポンス
command=listNetworkOfferings
{
  "listnetworkofferingsresponse": {
    "count": 1,
    "networkoffering": [
      {
        "id": "44f6c0d1-6e7e-4ece-b5a4-**:**:**:**",
        "name": "DefaultSharedNetworkOfferingWithSGService",
        "displaytext": "Offering for Shared Security group enabled networks",
        "traffictype": "Guest",
        "isdefault": true,
        "specifyvlan": true,
        "conservemode": true,
        "specifyipranges": true,
        "availability": "Optional",
        "networkrate": -1,
        "state": "Enabled",
        "guestiptype": "Shared",
        "serviceofferingid": "2404fdfb-6809-4b56-939a-**:**:**:**",
        "service": [
          {
            "name": "Dhcp",
            "provider": [
              {
                "name": "VirtualRouter"
              }
            ]
          },
          {
            "name": "UserData",
            "provider": [
              {
                "name": "VirtualRouter"
              }
            ]
          },
          {
            "name": "SecurityGroup",
            "provider": [
              {
                "name": "SecurityGroupProvider"
              }
            ]
          },
          {
            "name": "Dns",
            "provider": [
              {
                "name": "VirtualRouter"
              }
            ]
          }
        ],
        "forvpc": false,
        "ispersistent": false,
        "egressdefaultpolicy": false
      }
    ]
  }
}

createNetwork - Network作成

概要
Networkを作成する。
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
displaytext Networkの表示名を指定する Yes
name Networkの名前を指定する Yes
networkofferingid Networkofferingidを指定する Yes
zoneid ゾーンIDを指定する Yes
account アカウントを指定する No
aclid ACLのIDを指定する No
endip NetworkIPレンジの終点を指定する No
gateway Networkのgateway No
netmask NetworkのNetmask No
startip NetworkIPレンジの始点を指定する No
vpcid VPCのIDを指定する No

注釈

下記のAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
createnetworkresponse レスポンスコンテナ。レスポンス内容の詳細は listNetworksのResponseを参照。 jobid

deleteNetwork (A) - Network削除

概要
Networkを削除する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Networkのidを指定する Yes  

参考

Network情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listNetworks - Network一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deletenetworkresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”deletenetworkresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)
Response(Body)
Node名 説明 子Node
Network listNetworksのResponseを参照。 statusには、destoryedが含まれる jobid

updateNetwork (A) - Networkプロパティを更新する

概要
Networkプロパティを更新する。
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id NetworkのID Yes
changecidr 変更後のCIDRを指定する  
name Networkの名前を指定する Yes
networkofferingid Networkofferingidを指定する Yes
zoneid ゾーンIDを指定する Yes
account アカウントを指定する No
aclid ACLのIDを指定する No
endip NetworkIPレンジの終点を指定する No
gateway Networkのgateway No
netmask NetworkのNetmask No
startip NetworkIPレンジの始点を指定する No
vpcid VPCのIDを指定する No

参考

Network情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listNetworks - Network一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
updatenetworkresponse レスポンスコンテナ。レスポンス内容の詳細は listNetworksのResponseを参照。 jobid

(A): Async,非同期APIを表します

2.6. NIC管理 (Nic)

NICを管理するAPIです。

listNics - NIC一覧表示

概要

NIC一覧を取得する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
virtualmachineid 仮想サーバーのID Yes
keyword 検索キーワード No
nicid NICのIDを指定します No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
listnicsresponse レスポンスコンテナ count, router
count レスポンスに含まれる仮想サーバーオブジェクトの個数  
router 仮想ルーター情報を格納するコンテナ  
id NICのID  
gateway NICのゲートウェイ  
broadcasturi NICのブロードキャストURI  
ipaddress NICにアサインされたIPアドレス  
isdefault 通常使うNICか否か(常にtrue)  
isolationuri NICのisolation URI  
macaddress MAC アドレス  
netmask NICにアサインされたIPアドレスのnetmask  
networkid NetworkのID  
networkname Networkの名前  
secondaryip NICにアサインされたセカンダリIPアドレス  
traffictype “Guest”  
type NICの種類  
レスポンスサンプル
command=listNics&virtualmachineid=******-****-****-****-************
{
  "listnicsresponse": {
    "count": 1,
    "nic": [
      {
        "id": "d036467d-644b-4bed-bd53-**:**:**:**",
        "networkid": "f763d004-66b9-4a3f-8898-**:**:**:**",
        "netmask": "***.***.***.***",
        "gateway": "***.***.***.***",
        "ipaddress": "***.***.***.***",
        "isdefault": true,
        "macaddress": "**:**:**:**"
      }
    ]
  }
}

addIpToNic (A) - NICにIPを追加する

概要
NICにIPを追加する
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
nicid IPを追加する対象のNICのIDを指定する Yes
ipaddress 追加するセカンダリIP No

参考

NIC情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listNics - NIC一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
addiptonicresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”addIpToNicresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
nic listNicsのResponseを参照。 statusには、Runningが含まれる jobid

removeIpFromNic - NICからセカンダリIPを削除する

概要

NICからセカンダリIPを削除する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id 削除するセカンダリIPのID Yes

参考

NIC情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listNics - NIC一覧表示

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
displaytext メッセージ  
success 成功の場合はtrue  

(A): Async,非同期APIを表します

2.7. スナップショット管理 (Snapshot)

スナップショットを管理するAPIです。

listSnapshots - Snapshot一覧

概要

Snapshot一覧を表示する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account 指定したアカウントに属する情報に絞り込む。 domainidと同時に利用する No
domainid ドメインIDを指定する。 指定することにより、指定したドメイン以下の情報に絞り込む No
id スナップショットのIDを指定 No
isrecursive サブドメインが保有するスナップショットも検索対象とする No
keyword キーワードによる検索を実施する No
listall true/falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
name Snapshot名を指定して、検索を実施する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。 pageと同時にしていする.(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 タグ情報は、 - tags[N].key=“sample_key” - tags[N].value=“sample_value” (N=0, 1, 2, 3, ….)の形で指定する No
volumeid Disk VolumeのIDを指定する No
zoneid zoneidによる検索条件を付与する No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名   説明 子Node
listsnapshotsresponse   レスポンスコンテナ count, Snapshot
count   レスポンスに含まれるtemplateオブジェクトの個数  
snapshot   snapshotオブジェクトを格納するコンテナ id, name, zoneid, zonename, type, deviceid, virtualmachineid, vmname, vmdisplayname, vmstate, size, created, state, account, domainid, domain, storagetype, storage, attached, destroyed, serviceofferingid, serviceofferingname, serviceofferingdisplaytext, isextractable, tags, diskofferingid, diskofferingname, diskofferingdisplaytext
id   Snapshotのid  
account   Snapshotを保有するアカウントの名前  
created   Snapshotの作成日時  
domain   Snapshotを保有するドメインの名前  
domainid   Snapshotを保有するドメインのID  
name   Snapshot名  
account   Snapshotに紐付いたアカウント  
state   Snapshotの状態。BackedUPであれば利用可能を意味する。  
volumeid   Disk VolumeのID  
volumename   Disk Volumeの名前  
volumetype   Disk Volumeの種別(Root/Data)  
zoneid   snapshotが管理されているzoneのid  
tags   タグ情報  
account tagが紐付けられたアカウント  
customer tagが紐付けられた顧客名  
domain tagが紐付けられたdomain  
domainid tagが紐付けられたdomainid  
key tag keyの名前  
project タグが所属するプロジェクト名  
projectid タグが所属するプロジェクトID  
resourceid リソースのID  
resourcetype リソースの種類  
value タグの値  

listSnapshotPolicies - Snapshotポリシー一覧

概要

SnapshotPolicy(スナップショットを定期作成するポリシー)の一覧を表示する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
volumeid Snapshot対象Disk VolumeのID Yes
keyword 検索キーワード No
page pagesizeと同時に指定して、ページ番号を指定する No No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No

注釈

下記APIで必要なパラメータ情報を確認することができます。

レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
id SnapshotPolicyのID  
intervaltype SnapshotPolicyの取得間隔タイプ  
maxsnaps スナップショットの最大世代数  
schedule スナップショットを取得する時間  
timezone SnapshotPolicyのタイムゾーン  
volumeid disk volumeのID  

参考

タイムゾーンの情報は以下を参考にして下さい。

createSnapshot (A) - Snapshotの作成

概要
Snapshotを作成する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
volumeid ディスクのID Yes
account スナップショットを取得するアカウント。 “domainid”と一緒に指定する必要がある。 No
domainid スナップショットの”domainid”。”account”と一緒に指定する必要がある。 No
policyid スナップショットのpolicyid。空白である場合には”MANUAL_POLICY”が使用される。 No

注釈

以下のAPIにより必要な情報を修得可能です。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
createsnapshotresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”createsnapshotresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
snapshot listSnapshotsのResponseを参照。 jobid

deleteSnapshot - Snapshotの削除

概要

Snapshotを削除する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Snapshotのidを指定する Yes

参考

Snapshot情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listSnapshots - Snapshot一覧

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deleteSnapshotresponse レスポンスコンテナ jobid
success 成功時にはtrue, 失敗時にはfalseが返される。  

createSnapshotPolicy - SnapshotPolicyの作成

概要
SnapshotPolicy(スナップショットを定期作成するポリシー)の作成。
定期スナップショットの作成ルールとなります。

注釈

操作マニュアルにある通り、仮想サーバーが動作した状態でのスナップショット取得はサポートされません。

stopVirtualMachine (A) - 仮想サーバー停止 、および startVirtualMachine (A) - 仮想サーバー起動 などとの組み合わせにより、仮想サーバーを停止/起動するAPI実行を対象サーバー以外のサーバーなどから cronなどでスケジュール化してください。

また、スナップショットの取得時間は仮想サーバー内部の実使用データ量に比例し、時間がかかります。 事前に十分な検証を行った上でご設定ください。

警告

仮想サーバーが動作した状態でのスナップショットのリスクは以下の通りです

  • 作成したスナップショットにデータの不整合が発生し、仮想サーバーの復元が正常に出来ない可能性があります
  • スナップショット取得時、対象の仮想サーバーの負荷が増大、もしくはレスポンスが一時的に遅延する場合があります
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
intervaltype
SnapshotPolicyの取得間隔タイプを指定します。
“WEEKLY”, および “MONTHLY” が使用可能です。”HOURLY”, “DAILY”はサポートされません。
Yes
maxsnaps 保存するスナップショットの世代数。1以上を入力してください。 Yes
schedule
スナップショット取得のスケジュールを指定します。
フォーマットは下記の通り:
時 * ,
分 MM* ,
日時の場合 MM:HH*,
週次実施の場合 MM:HH:DD (1-7)*
月次の場合 MM:HH:DD (1-28)
Yes
timezone Timezoneを指定します。 Yes
volumeid DiskVolumeのID Yes

注釈

“HOURLY”, “DAILY”を入力した場合は以下のようなエラーが返されます。 操作マニュアルにある通り、Daily、Hourlyでのスナップショットはサポートされません。

errorcode = 431
errortext = maxSnaps exceeds limit: 0
レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
id SnapshotPolicyのID  
intervaltype SnapshotPolicyの取得間隔タイプ  
maxsnaps maximum number of snapshots retained  
schedule time the snapshot is scheduled to be taken.  
timezone SnapshotPolicyのタイムゾーン  
volumeid disk volumeのID  

deleteSnapshotPolicies - スナップショット取得ポリシーの削除

概要

スナップショット取得ポリシーを削除する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id snapshotpolicyidを指定する No
ids snapshotpolicyidを”,”(コンマ)で複数指定可能 No

参考

SnapshotPolicies情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 listSnapshotPolicies - Snapshotポリシー一覧

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deleteSnapshotPoliciesresponse レスポンスコンテナ jobid
success 成功時にはtrue, 失敗時にはfalseが返される。  

2.8. ISO管理 (Iso)

ISOを管理するAPIです。

listIsos - ISO一覧表示

概要

ISOの一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
bootable 起動可能なISOであるか(true|false) No
id ISOのIDを指定する  
isofilter 以下のいずれかを指定する。 - self : 自作または持ち込みISO一覧を取得するためのフィルター - self-executable : 自作、持ち込みISOで、新しいVMを作成するのに利用できるISO一覧を取得するフィルター - executable : 新しいVMを作成するのに利用できるISO一覧を取得するフィルター No
isready 使用準備が完了しているISOのみ表示する (true|false) No
keyword キーワードを指定する No
name ISOの名前を指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 タグ情報は、 - tags[N].key=“sample_key” - tags[N].value=“sample_value”(N=0, 1, 2, 3, ….) の形で指定する

No

No

zoneid Zone IDを指定する No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listisosresponse レスポンスコンテナ count, Iso
count レスポンスに含まれるIsoオブジェクトの個数  
iso Isoオブジェクトを格納するコンテナ id, name, displaytext, cpunmber, cpuspeed, memory, created, storagetype, offerha, limitcpuuse, tags, domainid, domain, hosttag, issytem, defaultuse
id ISOのid  
bootable 起動可能なISOであるか  
checksum ISOのMD5ハッシュ値  
created ISOの作成日時  
displaytext ISOの表示名  
crossZones 常にfalse  
domain ISOの登録されたドメイン名  
domainid ISOの登録されたドメインID  
id ISOのID  
isextractable ダウンロードの可否  
isfeatured 常にfalse  
ispublic 常にfalse, trueであれば他のユーザからも閲覧・使用可能  
isready trueであれば使用可能  
name ISOの名前  
ostypeid ISOより仮想サーバーを作成する際のOSのID  
ostypename ISOより仮想サーバーを作成する際のOS種別  
size ISOのサイズ  
status ISOの状態  
tags tagsテーブルを参照 account, customer, domain, domainid, key, project, projectid, resourceid, resourcetype, value
zoneid ISOの登録されたzoneのID  
zonename ISOの登録されたzoneの名前  
tags
Node名 説明 子Node
key tag key名  
value tag 値  
サンプルレスポンス
{
  "listisosresponse": {
    "count": 6,
    "iso": [
      {
        "id": "**:**:**:****:**:**:**54d8755d",
        "name": "centos6.5",
        "displaytext": "centos6.5",
        "ispublic": false,
        "created": "2014-06-09T23:04:48+0900",
        "isready": true,
        "bootable": true,
        "isfeatured": false,
        "crossZones": false,
        "ostypeid": "144",
        "ostypename": "CentOS 6.0 (64-bit)",
        "account": "cln*********",
        "zoneid": "**:**:**:****:**:**:**ed875e76",
        "zonename": "jp-e1b",
        "status": "Successfully Installed",
        "size": 4467982336,
        "domain": "cln*********",
        "domainid": "**:**:**:****:**:**:**f82721bb",
        "isextractable": true,
        "checksum": "**:**:**:****:**:**:**60787838",
        "tags": []
      }
    ]
  }
}

attachIso (A) - ISOのアタッチ

概要
ISOをアタッチをする。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id ISOイメージのID Yes
virtualmachineid アタッチ先の仮想サーバーのID Yes

注釈

本APIで必要なISO情報・仮想サーバー情報は以下のAPIで取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
attachIsoresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”attachisoresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "attachisoresponse": {
    "jobid": "**:**:**:****:**:**:**b818a8f6"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名   説明 子Node
iso   レスポンスコンテナ count, virtualmachine
count   レスポンスに含まれる仮想サーバーオブジェクトの個数  
virtualmachine   仮想サーバーを格納するコンテナ  
id   ISOをアタッチした仮想サーバーのID  
account   当該仮想サーバーを所有するアカウント  
cpunumber   当該仮想サーバーのCPUの  
cpuspeed   CPUのスピード  
cpuused   CPU仕様率  
created   当該仮想サーバーの作成日時  
displayname   当該仮想サーバーの表示名  
domain   ドメイン名  
domainid   ドメインID  
group      
groupid      
guestosid   OS のID  
haenable   高可用性機能の有効・無効(true / false )  
hypervisor   常にKVM  
isodisplaytext      
isoid      
isoname      
memory   仮想サーバーに搭載されたメモリサイズ  
name   仮想サーバーの名前  
networkkbsread   ネットワークトラフィック量: incomming (KB)  
networkkbswrite   ネットワークトラフィック量: outgoing (KB)  
password   パスワード(パスワードリセットを実施時)  
passwordenabled   パスワードリセット機能が有効か否か(true/ alse)  
rootdevicetype      
serviceofferingid   Service Offering(仮想サーバーのスペック)のID  
serviceofferingname   Service Offering(仮想サーバーのスペック)名  
state   仮想サーバーの状態  
templatedisplaytext   テンプレート表示名  
templateid   仮想サーバー作成時のテンプレートまたはISOのID  
templatename   仮想サーバー作成時のテンプレートまたはISOの名前  
zoneid   仮想サーバーが存在するzoneのID  
zonename   仮想サーバーが存在するzone の名前  
nic   Network Interface Card(NIC)の情報を格納するコンテナ  
id NICのID  
networkid NetworkのID  
netmask NICにアサインされたIPアドレスのnetmask  
Gateway Default GatewayのIPアドレス  
ipaddress NICにアサインされたIPアドレス  
traffictype “Guest”  
type “Shared”  
isdefault 通常使うNICか否か(常にtrue)  
macaddress MAC アドレス  
tags   タグ情報のコンテナ  
key タグのキー情報  
value タグの値  

detachIso (A) - ISOのデタッチ

概要
ISOを展開(ダウンロードURLの発行)をする。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
virtualmachineid デタッチ元の仮想サーバーのID Yes

参考

仮想サーバー一覧を表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
detachisoresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”detachisoresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "detachisoresponse": {
    "jobid": "**:**:**:****:**:**:**b818a8f6"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
iso レスポンスコンテナ count, virtualmachine
count レスポンスに含まれる仮想サーバーオブジェクトの個数 詳細は listVirtualMachines - 仮想サーバー一覧表示 を参照  

updateIso - ISOプロパティ変更

概要

ISOのプロパティを変更する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id ISOのidを指定する Yes
bootable Boot可能ISOか(true/false) No
displaytext ISOの表示名 No
name ISOイメージの名前 No
sortkey ISOをソートするキー。整数での指定をする。 No

参考

テンプレート情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
updateisoresponse レスポンスコンテナ iso
iso listIsos - ISO一覧表示 のResponseを参照。 リクエストで指定した値が変更され、返される。  
サンプルレスポンス
{
  "updateisoresponse": {
    "iso": {
      "id": "**:**:**:****:**:**:**54d8755d",
      "name": "centos6.5",
      "displaytext": "centos6.5",
      "ispublic": false,
      "created": "2014-06-09T23:04:48+0900",
      "isready": false,
      "format": "ISO",
      "bootable": true,
      "isfeatured": false,
      "crossZones": false,
      "ostypeid": "144",
      "ostypename": "CentOS 6.0 (64-bit)",
      "account": "cln*********",
      "domain": "cln*********",
      "domainid": "**:**:**:****:**:**:**f82721bb",
      "tags": []
    }
  }
}

copyIso (A) - ISOのコピー

概要
ISOを異なるゾーンへコピーをする。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id ISOイメージのID Yes
destzoneid コピー先ZoneのID Yes
sourcezoneid コピー元ZoneのID Yes

参考

ISO・ゾーン情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。 - listIsos - ISO一覧表示 - listZones - ゾーン情報一覧

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
copyisoresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”copyisoresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "copyisoresponse": {
    "jobid": "**:**:**:****:**:**:**b818a8f6"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
Iso Iso Objectを格納するコンテナ。詳細は listIsos - ISO一覧表示 を参照。  

deleteIso (A) - ISOイメージ削除

概要
ISOイメージを削除する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id ISOイメージのidを指定する Yes
zoneid ゾーンのIDを指定する No

参考

ISOイメージ情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deleteisoresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”deleteisoresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deleteiso listIsosのResponseを参照  
サンプルレスポンス
{
  "accountid": "********-****-****-************",
  "cmd": "com.cloud.api.commands.DeleteIsoCmd",
  "created": "2014-07-23T15:34:00+0900",
  "jobid": "be6aebbd-cd2e-4277-98f2-d115103b0cb9",
  "jobprocstatus": 0,
  "jobresult": {
    "success": true
  },
  "jobresultcode": 0,
  "jobresulttype": "object",
  "jobstatus": 1,
  "userid": "********-****-****-************"
}

extractIso (A) - ISOの展開

概要
ISOを展開(ダウンロードURLの発行)をする。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id ISOのidを指定する Yes
mode “HTTP_DOWNLOAD” あるいは “FTP_UPLOAD”のいずれかを指定する Yes
zoneid Isoが存在するzoneidを指定する No
url Isoが展開されるURLを指定する No

参考

ISO情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
extractIsoresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”extractIsoresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "extractisoresponse": {
    "jobid": "**:**:**:****:**:**:**b818a8f6"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
Iso Iso Objectを格納するコンテナ id, name, extractId, accountid, state, zoneid, zonename, extractMode, url, created, status, uploadpercentage
id 展開されたIsoのid  
accountid 展開したIsoを保有するアカウントのID  
created 展開されたIso オブジェクトが作成された日時  
extractId 展開ずみobjectのID  
extractMode 展開時のモード (HTTP_DOWNLOAD / FTP_UPLOAD)  
name 展開されたオブジェクト(Iso)の名前  
state 展開されたオブジェクトの状態  
status ステータス  
uploadpercentage アップロードの進捗  
zoneid 展開元のIso objectが存在したzoneのid  
zonename 展開元のIso objectが存在したzoneの名前  
url modeに“HTTP_DOWNLOAD”を指定した場合は、 展開したオブジェクトをダウンロードするためのURLが “HTTP_UPLOAD”を指定した場合は、オブジェクトがアップロードされるURL  
サンプルレスポンス
{
  "listasyncjobsresponse": {
    "count": 1,
    "asyncjobs": {
      "accountid": "**:**:**:****:**:**:**21ee72a4",
      "userid": "**:**:**:****:**:**:**84a98eb6",
      "cmd": "com.cloud.api.commands.ExtractTemplateCmd",
      "jobstatus": 1,
      "jobprocstatus": 0,
      "jobresultcode": 0,
      "jobresulttype": "object",
      "jobresult": {
        "template": {
          "id": "**:**:**:****:**:**:**dba679fd",
          "name": "************",
          "extractId": "1032",
          "accountid": "**:**:**:****:**:**:**21ee72a4",
          "state": "DOWNLOAD_URL_CREATED",
          "zoneid": "**:**:**:****:**:**:**ed875e76",
          "zonename": "jp-e1b",
          "extractMode": "HTTP_DOWNLOAD",
          "url": "https://153-128-28-208.realhostip.com/userdata/**:**:**:****:**:**:**0b912748.qcow2"
      }
    }
}

registerIso - ISOの登録

概要
ISOをウェブ上のURLからComputeへ登録し、利用出来るようにする。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
displaytext ISOの表示名を入力する。 Yes
name ISOの名前を入力する。 Yes
url ISOのアップロードされているURLを入力する。 Yes
zoneid ISOを登録するzoneidを入力する。 Yes
bootable ブータブルISOとして登録する場合は”true”を与える。デフォルトは”false”。 No
checksum 登録するISOのMD5値を入力する。入力することで、登録後に正しく登録されたかを確認可能となる。 No
isextractable ダウンロード可能にする場合は”trueを与える。デフォルトは”false”。 No
ostypeid OSタイプを入力する。bootable=”false”の際には必須。 No

参考

下記APIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
registerisoresponse レスポンスコンテナ count, iso
count isoのレスポンスの個数  
iso コンテナ id, account, bootable, checksum, displaytext, domain, domainid, isextractable, isready, name, ostypeid, ostypename, status, zoneid, zonename
id ISOのID  
account ISOが登録されたアカウント  
bootable 起動可能なISOであれば”true”  
crossZones 常に”false”  
displaytext ISOの表示名  
domain ISOの登録されたドメイン名  
domainid ISOの登録されたドメインID  
isextractable “true”であればダウンロード可能  
isready “true”であれば登録完了  
name ISOの名前  
ostypeid OSタイプのID ( listOsTypes - OSタイプ一覧表示 で確認可能)  
ostypename OSタイプの名前  
status ISOの登録状態  
zoneid ISOの登録されたゾーンID  
zonename ISOの登録されたゾーン名  
サンプルレスポンス
{
    "registerisoresponse": {
        "count": 1,
        "iso": [
            {
                "account": "cln100000001",
                "bootable": false,
                "created": "2014-09-03T10:06:30+0900",
                "crossZones": false,
                "displaytext": "test1",
                "domain": "cln100000001",
                "domainid": "00000000-0000-0000-0000-00000000000",
                "id": "00000000-0000-0000-0000-00000000000",
                "isextractable": false,
                "isfeatured": false,
                "ispublic": false,
                "isready": false,
                "name": "test1",
                "ostypeid": "138",
                "ostypename": "None",
                "status": "",
                "tags": [],
                "zoneid": "1b02e74c-6c21-4aa3-b96c-51042de8fccd",
                "zonename": "jp-e1a"
            }
        ]
    }
}

(A): Async,非同期APIを表します

2.9. VPC管理 (Vpc)

VPCを管理するAPIです。

listVPCs - VPC一覧表示

概要
VPC一覧を取得する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account domainidと共に使用して、任意のアカウントを指定する No
cidr CIDRブロックを指定する No
displaytext VPCを表示名により指定する No
domainid domainid を指定する No
id VPCのIDを指定する No
isrecursive サブドメインを検索対象に含める No
keyword VPCをキーワードにより指定する No
listall true/ falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
name VPCを名前により指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する.(default: 500) No
state VPCの状態(Enabled,Inactive等)により、VPCを指定する No
tags タグ情報(key, value)による検索条件を指定する。 No
zoneid VPCをZone idにより指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名   説明 子Node
listvpcresponse   レスポンスコンテナ count, vpc
count   レスポンスに含まれるVPCオブジェクトの個数  
vpc   VPCを格納するコンテナ  
id   VPCのID  
account   当該VPCを所有するアカウント  
cidr   VPCのCIDRブロック  
created   当該VPCの作成日時  
displayname   当該VPCの表示名  
domain   ドメイン名  
domainid   ドメインID  
name   VPCの名前  
state   VPCの状態  
zoneid   VPCが存在するzoneのID  
zonename   VPCが存在するzone の名前  
tags   タグ情報のコンテナ  
key タグのキー情報  
value タグの値  
サンプルレスポンス
{
  "count": 2
  "vpc": [
    {
      "account": "cln*********",
      "cidr": "***.***.***.***/24",
      "displaytext": "testvpc2",
      "domain": "cln*********",
      "domainid": "********-****-****-****-*************",
      "id": "********-****-****-****-*************",
      "name": "testvpc2",
      "network": [
        {
          "account": "cln*********",
          "aclid": "********-****-****-****-*************",
          "acltype": "Account",
          "broadcastdomaintype": "Vlan",
          "canusefordeploy": true,
          "cidr": "***.***.***.***/24",
          "displaynetwork": true,
          "displaytext": "newsubnet",
          "dns1": "***.***.***.***",
          "dns2": "***.***.***.***",
          "domain": "cln*********",
          "domainid": "********-****-****-****-*************",
          "gateway": "***.***.***.***",
          "id": "********-****-****-****-*************",
          "ispersistent": false,
          "issystem": false,
          "name": "newsubnet",
          "netmask": "***.***.***.***",
          "networkdomain": "cs186cloud.internal",
          "networkofferingavailability": "Optional",
          "networkofferingconservemode": false,
          "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
          "networkofferingid": "********-****-****-****-*************",
          "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
          "physicalnetworkid": "********-****-****-****-*************",
          "related": "********-****-****-****-*************",
          "restartrequired": false,
          "service": [
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedProtocols",
                  "value": "tcp,udp,icmp"
                }
              ],
              "name": "NetworkACL"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "DhcpAccrossMultipleSubnets",
                  "value": "true"
                }
              ],
              "name": "Dhcp"
            },
            {
              "name": "PortForwarding"
            },
            {
              "name": "UserData"
            },
            {
              "name": "StaticNat"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "VpnTypes",
                  "value": "s2svpn"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedVpnTypes",
                  "value": "pptp,l2tp,ipsec"
                }
              ],
              "name": "Vpn"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "AllowDnsSuffixModification",
                  "value": "true"
                }
              ],
              "name": "Dns"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "RedundantRouter",
                  "value": "false"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedSourceNatTypes",
                  "value": "peraccount"
                }
              ],
              "name": "SourceNat"
            }
          ],
          "specifyipranges": false,
          "state": "Implemented",
          "tags": [],
          "traffictype": "Guest",
          "type": "Isolated",
          "vpcid": "********-****-****-****-*************",
          "zoneid": "********-****-****-****-*************",
          "zonename": "jp-e1a"
        }
      ],
      "networkdomain": "cs186cloud.internal",
      "restartrequired": false,
      "service": [
        {
          "name": "NetworkACL",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Dhcp",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "PortForwarding",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "UserData",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Lb",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "StaticNat",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Vpn",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Dns",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "SourceNat",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        }
      ],
      "state": "Enabled",
      "tags": [],
      "vpcofferingid": "********-****-****-****-*************",
      "zoneid": "********-****-****-****-*************",
      "zonename": "jp-e1a"
    },
    {
      "account": "cln*********",
      "cidr": "***.***.***.***/16",
      "displaytext": "testvpc",
      "domain": "cln*********",
      "domainid": "********-****-****-****-*************",
      "id": "********-****-****-****-*************",
      "name": "testvpc",
      "network": [
        {
          "account": "cln*********",
          "aclid": "********-****-****-****-*************",
          "acltype": "Account",
          "broadcastdomaintype": "Vlan",
          "canusefordeploy": true,
          "cidr": "***.***.***.***/30",
          "displaynetwork": true,
          "displaytext": "new",
          "dns1": "***.***.***.***",
          "dns2": "***.***.***.***",
          "domain": "cln*********",
          "domainid": "********-****-****-****-*************",
          "gateway": "***.***.***.***",
          "id": "********-****-****-****-*************",
          "ispersistent": false,
          "issystem": false,
          "name": "new",
          "netmask": "***.***.***.***",
          "networkdomain": "cs186cloud.internal",
          "networkofferingavailability": "Optional",
          "networkofferingconservemode": false,
          "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
          "networkofferingid": "********-****-****-****-*************",
          "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
          "physicalnetworkid": "********-****-****-****-*************",
          "related": "********-****-****-****-*************",
          "restartrequired": false,
          "service": [
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedProtocols",
                  "value": "tcp,udp,icmp"
                }
              ],
              "name": "NetworkACL"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "DhcpAccrossMultipleSubnets",
                  "value": "true"
                }
              ],
              "name": "Dhcp"
            },
            {
              "name": "PortForwarding"
            },
            {
              "name": "UserData"
            },
            {
              "name": "StaticNat"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "VpnTypes",
                  "value": "s2svpn"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedVpnTypes",
                  "value": "pptp,l2tp,ipsec"
                }
              ],
              "name": "Vpn"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "AllowDnsSuffixModification",
                  "value": "true"
                }
              ],
              "name": "Dns"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "RedundantRouter",
                  "value": "false"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedSourceNatTypes",
                  "value": "peraccount"
                }
              ],
              "name": "SourceNat"
            }
          ],
          "specifyipranges": false,
          "state": "Allocated",
          "tags": [],
          "traffictype": "Guest",
          "type": "Isolated",
          "vpcid": "********-****-****-****-*************",
          "zoneid": "********-****-****-****-*************",
          "zonename": "jp-e1b"
        },
        {
          "account": "cln*********",
          "aclid": "********-****-****-****-*************",
          "acltype": "Account",
          "broadcastdomaintype": "Vlan",
          "canusefordeploy": true,
          "cidr": "***.***.***.***/30",
          "displaynetwork": true,
          "displaytext": "new2",
          "dns1": "***.***.***.***",
          "dns2": "***.***.***.***",
          "domain": "cln*********",
          "domainid": "********-****-****-****-*************",
          "gateway": "***.***.***.***",
          "id": "********-****-****-****-*************",
          "ispersistent": false,
          "issystem": false,
          "name": "new2",
          "netmask": "***.***.***.***",
          "networkdomain": "cs186cloud.internal",
          "networkofferingavailability": "Optional",
          "networkofferingconservemode": false,
          "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
          "networkofferingid": "********-****-****-****-*************",
          "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
          "physicalnetworkid": "********-****-****-****-*************",
          "related": "********-****-****-****-*************",
          "restartrequired": false,
          "service": [
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedProtocols",
                  "value": "tcp,udp,icmp"
                }
              ],
              "name": "NetworkACL"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "DhcpAccrossMultipleSubnets",
                  "value": "true"
                }
              ],
              "name": "Dhcp"
            },
            {
              "name": "PortForwarding"
            },
            {
              "name": "UserData"
            },
            {
              "name": "StaticNat"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "VpnTypes",
                  "value": "s2svpn"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedVpnTypes",
                  "value": "pptp,l2tp,ipsec"
                }
              ],
              "name": "Vpn"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "AllowDnsSuffixModification",
                  "value": "true"
                }
              ],
              "name": "Dns"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "RedundantRouter",
                  "value": "false"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedSourceNatTypes",
                  "value": "peraccount"
                }
              ],
              "name": "SourceNat"
            }
          ],
          "specifyipranges": false,
          "state": "Allocated",
          "tags": [],
          "traffictype": "Guest",
          "type": "Isolated",
          "vpcid": "********-****-****-****-*************",
          "zoneid": "********-****-****-****-*************",
          "zonename": "jp-e1b"
        },
        {
          "account": "cln*********",
          "aclid": "********-****-****-****-*************",
          "acltype": "Account",
          "broadcastdomaintype": "Vlan",
          "canusefordeploy": false,
          "cidr": "***.***.***.***/30",
          "displaynetwork": true,
          "displaytext": "new3",
          "dns1": "***.***.***.***",
          "dns2": "***.***.***.***",
          "domain": "cln*********",
          "domainid": "********-****-****-****-*************",
          "gateway": "***.***.***.***",
          "id": "********-****-****-****-*************",
          "ispersistent": false,
          "issystem": false,
          "name": "new3",
          "netmask": "***.***.***.***",
          "networkdomain": "cs186cloud.internal",
          "networkofferingavailability": "Optional",
          "networkofferingconservemode": false,
          "networkofferingdisplaytext": "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled",
          "networkofferingid": "********-****-****-****-*************",
          "networkofferingname": "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB",
          "physicalnetworkid": "********-****-****-****-*************",
          "related": "********-****-****-****-*************",
          "restartrequired": false,
          "service": [
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedProtocols",
                  "value": "tcp,udp,icmp"
                }
              ],
              "name": "NetworkACL"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "DhcpAccrossMultipleSubnets",
                  "value": "true"
                }
              ],
              "name": "Dhcp"
            },
            {
              "name": "PortForwarding"
            },
            {
              "name": "UserData"
            },
            {
              "name": "StaticNat"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "VpnTypes",
                  "value": "s2svpn"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedVpnTypes",
                  "value": "pptp,l2tp,ipsec"
                }
              ],
              "name": "Vpn"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "AllowDnsSuffixModification",
                  "value": "true"
                }
              ],
              "name": "Dns"
            },
            {
              "capability": [
                {
                  "canchooseservicecapability": false,
                  "name": "RedundantRouter",
                  "value": "false"
                },
                {
                  "canchooseservicecapability": false,
                  "name": "SupportedSourceNatTypes",
                  "value": "peraccount"
                }
              ],
              "name": "SourceNat"
            }
          ],
          "specifyipranges": false,
          "state": "Implemented",
          "tags": [],
          "traffictype": "Guest",
          "type": "Isolated",
          "vpcid": "********-****-****-****-*************",
          "zoneid": "********-****-****-****-*************",
          "zonename": "jp-e1b"
        }
      ],
      "networkdomain": "cs186cloud.internal",
      "restartrequired": false,
      "service": [
        {
          "name": "NetworkACL",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Dhcp",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "PortForwarding",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "UserData",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Lb",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "StaticNat",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Vpn",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "Dns",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        },
        {
          "name": "SourceNat",
          "provider": [
            {
              "name": "VpcVirtualRouter"
            }
          ]
        }
      ],
      "state": "Enabled",
      "tags": [],
      "vpcofferingid": "********-****-****-****-*************",
      "zoneid": "********-****-****-****-*************",
      "zonename": "jp-e1b"
    }
  ]
}

createVPC (A) - VPC作成

概要
VPCを作成する。
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
cidr VPCのCIDRブロックを指定する Yes
displaytext VPCの表示名を指定する Yes
name VPCの名前を指定する Yes
vpcofferingid VPCofferingidを指定する Yes
zoneid ゾーンIDを指定する Yes
start falseに設定するとVPCが起動しない状態で作成されます(default:true) No

注釈

下記APIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
createvpcresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”createvpcresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
vpc listVPCsのResponseを参照。 statusには、Runningが含まれる jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  

deleteVPC (A) - VPC削除

概要
VPCを削除する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id VPCのIDを指定する Yes

参考

VPC情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deletevpcresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”deletevpcresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
vpc listVPCsのResponseを参照。 statusには、Runningが含まれる jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  

restartVPC (A) - VPCの再起動

概要
VPCを再起動する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id VPCのidを指定する Yes

注釈

VPC情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
restartvpcresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobid  

注釈

(※)非同期メソッドのため、”restartvpcresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
レスポンス(非同期job終了時)
レスポンス(Body)
Response(Body)
Node名 説明 子Node
VPC listRoutersのResponseを参照。 stateには、Runningが含まれる jobid

updateVPC (A) - VPCプロパティ変更

概要
VPCのプロパティを変更する。
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id VPCのidを指定する Yes
name VPCの名前を指定する Yes
displayname VPCの表示名を指定する No

注釈

VPC情報を一覧表示するAPIで必要なパラメータ情報を取得出来ます。

レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
updatevpcresponse レスポンスコンテナ VPC
vpc listVPCsのResponseを参照。 リクエストで指定した値が変更され、返される。  

listVPCOfferings - VPCOfferingの一覧表示

概要

VPCOffering一覧を取得する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
displaytext VPC Offering表示名を指定します No
id VPC offeringをIDで指定します No
isdefault “true”を指定するとデフォルトのVPCOfferingが表示されます (default:false) No
keyword キーワードを指定します No
name VPCoffering名を指定します No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
state (Enabled|Disabled) No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
count レスポンスの個数  
vpcoffering レスポンスコンテナ  
id VPC offeringのID  
displaytext VPC offeringの表示名  
isdefault デフォルトで使用されるものか(True|False)  
name the name of the vpc offering  
state state of the vpc offering. Can be Disabled/Enabled  
サンプルレスポンス
command=listVPCOfferings
{
  "listvpcofferingsresponse": {
    "count": 2,
    "vpcoffering": [
      {
        "id": "96d16dea-d6f6-47d6-a67f-**:**:**:**",
        "name": "Default VPC offering",
        "displaytext": "Default VPC offering",
        "isdefault": true,
        "state": "Enabled",
        "service": [
          {
            "name": "Lb",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "Dns",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "StaticNat",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "Vpn",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "NetworkACL",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "UserData",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "SourceNat",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "PortForwarding",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "Dhcp",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          }
        ]
      },
      {
        "id": "9834fbc4-9f24-430d-b765-**:**:**:**",
        "name": "Default VPC  offering with Netscaler",
        "displaytext": "Default VPC  offering with Netscaler",
        "isdefault": false,
        "state": "Enabled",
        "service": [
          {
            "name": "Lb",
            "provider": [
              {
                "name": "Netscaler"
              }
            ]
          },
          {
            "name": "Dns",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "StaticNat",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "Vpn",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "NetworkACL",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "UserData",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "SourceNat",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "PortForwarding",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          },
          {
            "name": "Dhcp",
            "provider": [
              {
                "name": "VpcVirtualRouter"
              }
            ]
          }
        ]
      }
    ]
  }
}

(A): Async,非同期APIを表します

2.10. NAT管理 (Nat)

NATを管理するAPIです。

enableStaticNat - スタティックNATを有効にする

概要

スタティックNATを有効にする

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
ipaddressid スタティックNATを有効にするパブリックIPのID Yes
virtualmachineid スタティックNATを有効にする仮想サーバーのID Yes
networkid スタティックNATを有効にするNetworkのID 必須ではないが、パブリックIPがゲストネットワークに関連付けられていない時に限って必須 No
vmguestip ポートフォワーディングルールの仮想サーバーのゲストNICのセカンダリIP No

注釈

パブリックIP情報、仮想サーバー情報、ネットワーク情報を取得するAPIを用いることで必要なパラメーターを取得可能です。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
displaytext メッセージ  
success 成功の場合はtrue  

disableStaticNat (A) - スタティックNATを無効にする

概要
PublicIPアドレスに設定されたスタティックNATを無効にする
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
ipaddressid スタティックNATを無効にするIPアドレスのID Yes

注釈

以下のAPIにて必要なパラメーターを確認することが可能です。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
disableipaddressresponse レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”disableipaddressresponse”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "disablestaticnatresponse": {
    "jobid": "**:**:**:****:**:**:**cecd360b"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
ipaddress listPublicIpAddresses - PublicIP情報一覧 のResponseを参照。 jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  
displaytext 失敗の際にメッセージが入る  
success 成功すればtrue  

listPortForwardingRules - PortFowardingルール一覧

概要

PortFowardingルールの一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account アカウント No
id PortForwardingRuleをIDで指定する No
ipaddressid ipアドレスのIDを指定する No
keyword 検索キーワードを指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listportforwardingrulesresponse レスポンスコンテナ count, portforwardingrule
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
PortForwardingRule PortForwardingRuleオブジェクトを格納するコンテナ id, cidrlist, ipaddress, ipaddressid, privateendport, privateport, protocol, publicendport, publicport, state, virtualmachinedisplayname, virtualmachineid, virtualmachinename, vmguestip, tags
id PortForwardingRuleのID  
cidrlist 転送元CIDR  
ipaddress PortForwardingRuleのIPアドレス  
ipaddressid PortForwardingRuleのIPアドレスID  
privateendport プライベートIP側ポートレンジの終了ポート番号  
privateport プライベートIP側ポートレンジの開始ポート番号  
protocol プロトコル  
publicendport パブリックIP側ポートレンジの終了ポート番号  
publicport パブリックIP側ポートレンジの開始ポート番号  
state PortForwardingRuleのstate  
virtualmachinedisplayname PortForward対象の仮想サーバーの表示名  
virtualmachineid PortForward対象の仮想サーバーのID  
virtualmachinename PortForward対象の仮想サーバーの名前  
vmguestip PortForward対象の仮想サーバーのIP  
tags    
サンプルレスポンス
"listportforwardingrulesresponse": {
  "count": 2,
  "PortForwardingRule": [
    {
      "account": "cln*********",
      "allocated": "2014-07-07T11:21:55+0900",
      "domain": "cln*********",
      "domainid": "********-****-****-************",
      "forvirtualnetwork": true,
      "id": "********-****-****-************",
      "ipaddress": "***.***.***.***",
      "isportable": No,
      "issourcenat": true,
      "isstaticnat": No,
      "issystem": No,
      "networkid": "********-****-****-************",
      "physicalnetworkid": "********-****-****-************",
      "state": "Allocated",
      "tags": [],
      "vpcid": "********-****-****-************",
      "zoneid": "********-****-****-************",
      "zonename": "jp-e1a"
    },
    {
      "account": "cln*********",
      "allocated": "2014-06-10T18:12:54+0900",
      "domain": "cln*********",
      "domainid": "********-****-****-************",
      "forvirtualnetwork": true,
      "id": "********-****-****-************",
      "ipaddress": "***.***.***.***",
      "isportable": No,
      "issourcenat": true,
      "isstaticnat": No,
      "issystem": No,
      "networkid": "********-****-****-************",
      "physicalnetworkid": "********-****-****-************",
      "state": "Allocated",
      "tags": [],
      "vpcid": "********-****-****-************",
      "zoneid": "********-****-****-************",
      "zonename": "jp-e1b"
    }
  ]
}

createPortForwardingRule (A) - PortForwardingRuleを設定する

概要
PortForwardingRuleを設定する
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
ipaddressid PortForwardingRuleを設定するIPアドレスのID Yes
privateport プライベートIP側ポートレンジ Yes
protocol プロトコル (TCP|UDP) Yes
publicport パブリック側ポートレンジの開始ポート番号 Yes
publicendport パブリックIP側ポートレンジの終了ポート番号 Yes
virtualmachineid PortForward対象の仮想サーバーのID Yes
cidrlist 転送元CIDR No
networkid PortForwardingRuleの設定対象ネットワークID No
privateport プライベートIP側ポートレンジの開始ポート番号 Yes
privateendport プライベートIP側ポートレンジの終了ポート番号 Yes
vmguestip PortForward対象の仮想サーバーのIP No
レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
createportforwardingrule レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”createportforwardingrule”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "createportforwardingruleresponse": {
    "jobid": "**:**:**:****:**:**:**cecd360b"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
portforwardingrule listPortForwardingRules - PortFowardingルール一覧 のResponseを参照。 jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  
displaytext 失敗の際にメッセージが入る  
success 成功すればtrue  
サンプルレスポンス
{
  "listasyncjobsresponse": {
    "count": 1,
    "asyncjobs": [
      {
        "accountid": "8474434f-63ac-4529-ade1-**:**:**:**",
        "userid": "547c9f15-e245-4cf0-a24b-**:**:**:**",
        "cmd": "org.apache.cloudstack.api.command.user.firewall.CreatePortForwardingRuleCmd",
        "jobstatus": 1,
        "jobprocstatus": 0,
        "jobresultcode": 0,
        "jobresulttype": "object",
        "jobresult": {
          "portforwardingrule": {
            "id": "c03174a2-d861-4f85-9b76-**:**:**:**",
            "privateport": "22",
            "privateendport": "22",
            "protocol": "tcp",
            "publicport": "22",
            "publicendport": "22",
            "virtualmachineid": "c2997f4b-4bb9-4dd6-b254-**:**:**:**",
            "virtualmachinename": "c2997f4b-4bb9-4dd6-b254-**:**:**:**",
            "virtualmachinedisplayname": "c2997f4b-4bb9-4dd6-b254-**:**:**:**",
            "ipaddressid": "b5117792-3c81-4760-be7c-**:**:**:**",
            "ipaddress": "***.***.***.***",
            "state": "Active",
            "cidrlist": "",
            "tags": [],
            "vmguestip": "***.***.***.***"
          }
        },
        "created": "2014-07-24T19:28:59+0900",
        "jobid": "2d7ceae1-9abc-47b2-bc4e-**:**:**:**"
      }
}

deletePortForwardingRule (A) - PortForwardingRuleを設定する

概要
PortForwardingRuleを削除する
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id PortForwardingRuleのID Yes

注釈

以下のAPIにて必要なパラメーターを確認することが可能です。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deleteportforwardingrule レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”deleteportforwardingrule”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "deleteportforwardingruleresponse": {
    "jobid": "**:**:**:****:**:**:**cecd360b"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
portforwardingrule listPortForwardingRules - PortFowardingルール一覧 のResponseを参照。 jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  
displaytext 失敗の際にメッセージが入る  
success 成功すればtrue  
サンプルレスポンス
{
  "listasyncjobsresponse": {
    "count": 1,
    "asyncjobs": [
    {
        "accountid": "8474434f-63ac-4529-ade1-**:**:**:**",
        "userid": "547c9f15-e245-4cf0-a24b-**:**:**:**",
        "cmd": "org.apache.cloudstack.api.command.user.firewall.DeletePortForwardingRuleCmd",
        "jobstatus": 1,
        "jobprocstatus": 0,
        "jobresultcode": 0,
        "jobresulttype": "object",
        "jobresult": {
          "success": true
    },
        "created": "2014-07-24T20:14:45+0900",
        "jobid": "cf1b1512-2c9f-4f25-88f2-**:**:**:**"
    ]

updatePortForwardingRule (A) - PortForwardingRuleを更新する

概要
PortForwardingRuleを更新する
※非同期API
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
ipaddressid PortForwardingRuleを設定するIPアドレスのID Yes
privateport プライベートIP側ポートレンジ Yes
protocol プロトコル (TCP|UDP) Yes
publicport パブリック側ポートレンジの開始ポート番号 Yes
publicendport パブリックIP側ポートレンジの終了ポート番号 Yes
virtualmachineid PortForward対象の仮想サーバーのID No
privateport プライベートIP側ポートレンジの開始ポート番号 Yes
privateendport プライベートIP側ポートレンジの終了ポート番号 Yes
virtualmachineid PortForward対象の仮想サーバーのIP No

注釈

パブリックIP情報、仮想サーバー情報、ネットワーク情報を取得するAPIを用いることで必要なパラメーターを取得可能です。

レスポンス(API実行時)
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
updateportforwardingrule レスポンスコンテナ jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に 払い出されたjobiid  

注釈

(※)非同期メソッドのため、”updateportforwardingrule”コンテナには、jobidのみが返されます。
queryAsyncJobResult - 非同期APIの状態確認 を実行して、結果を確認する必要があります。
サンプルレスポンス
{
  "updateportforwardingruleresponse": {
    "jobid": "**:**:**:****:**:**:**cecd360b"
  }
}
レスポンス(非同期job終了時)
レスポンス(Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
portforwardingrule listPortForwardingRules - PortFowardingルール一覧 のResponseを参照。 jobid
jobid 非同期メソッドをコールし、ジョブとして登録された際に払い出されたjobiid  
displaytext 失敗の際にメッセージが入る  
success 成功すればtrue  
サンプルレスポンス
{
  "listasyncjobsresponse": {
    "count": 1,
    "asyncjobs": [
      {
        "accountid": "8474434f-63ac-4529-ade1-**:**:**:**",
        "userid": "547c9f15-e245-4cf0-a24b-**:**:**:**",
        "cmd": "org.apache.cloudstack.api.command.user.firewall.updatePortForwardingRuleCmd",
        "jobstatus": 1,
        "jobprocstatus": 0,
        "jobresultcode": 0,
        "jobresulttype": "object",
        "jobresult": {
          "portforwardingrule": {
            "id": "c03174a2-d861-4f85-9b76-**:**:**:**",
            "privateport": "22",
            "privateendport": "22",
            "protocol": "tcp",
            "publicport": "22",
            "publicendport": "22",
            "virtualmachineid": "c2997f4b-4bb9-4dd6-b254-**:**:**:**",
            "virtualmachinename": "c2997f4b-4bb9-4dd6-b254-**:**:**:**",
            "virtualmachinedisplayname": "c2997f4b-4bb9-4dd6-b254-**:**:**:**",
            "ipaddressid": "b5117792-3c81-4760-be7c-**:**:**:**",
            "ipaddress": "***.***.***.***",
            "state": "Active",
            "cidrlist": "",
            "tags": [],
            "vmguestip": "***.***.***.***"
          }
        },
        "updated": "2014-07-24T19:28:59+0900",
        "jobid": "2d7ceae1-9abc-47b2-bc4e-**:**:**:**"
      }
}

(A): Async,非同期APIを表します

2.11. NetworkACL管理 (NetworkACL)

NetworkACLを管理するAPIです。

listNetworkACLs - NetworkACL一覧表示

概要
Network ACL一覧を取得する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
acltype ACLの種類(Account|Domain)で指定をする。 No
canusefordeploy 仮想サーバー作成に使用できるか否かを(true|false)で指定をする。 No
domainid domainid を指定する No
id ACLのIDを指定する No
keyword 仮想ルーターをキーワードにより指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
tags タグ情報(key, value)による検索条件を指定する。 タグ情報は、 - tags[N].key=“sample_key” - tags[N].value=“sample_value” (N=0, 1, 2, 3, ….)の形で指定する No
type Networkのタイプ(Isolated|Shared)で指定をする。 No
vpcid VPCを指定し仮想ルーターを指定する No
zoneid 仮想ルーターをZone idにより指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
listNetworkACLssresponse レスポンスコンテナ count, router
count レスポンスに含まれるNetworkオブジェクトの個数  
id NetworkのID  
account 当該Networkを所有するアカウント  
aclid VPCnetworkに紐付いたACLのID  
acltype ACLの種類  
broadcastdomaintype ブロードキャストドメインの種類  
canusefordeploy deployvirtualmachine で使用可能かを示す  
cidr NetworkのCIDRブロック  
displaynetwork  
displaytext Networkの表示名  
dns1 NetworkのプライマリDNS  
dns2 NetworkのセカンダリDNS  
domain Networkの所属しているdomain  
domainid Networkの所属しているdomainid  
gateway Networkのgateway  
id NetworkのID  
ispersistent Networkが恒久的なものかを表す  
issystem NetworkがComputeのシステム系のものかを表す  
name Networkの名前  
netmask NetworkのNetmask  
networkdomain Networkのドメイン  
networkofferingavailability Networkofferingの使用可能か  
networkofferingconservemode  
networkofferingdisplaytext Networkofferingの表示名  
networkofferingid NetworkofferingのID  
networkofferingname networkofferingの名前  
physicalnetworkid PhysicalNetworkのID  
related 他の関連Network  
restartrequired Network再起動が必要かを表す  
service service情報を格納するコンテナ。 下記”Service”テーブルを参照のこと  
tags Networkのtag情報を格納するコンテナ。 下記”tags”テーブルを参照のこと  
Service
Node名   説明 子Node
name   Serviceの名前  
capability canchooseservicecapability name value Capabilityのリスト Serviceがenabled/disabledで表される Capabilityの名前 Capabilityの値  
tags
Node名 説明
account タグと関連づけられたアカウント
customer タグと関連づけられたcustomer
domain タグと関連づけられたドメイン名
domainid タグと関連づけられたドメインID
key tag key名
project タグが所属しているプロジェクト
projectid タグが所属しているプロジェクトid
resourceid リソースのID
resourcetype resourceの種類
value tagの値

createNetworkACL(A) - NetworkACLのルールを作成

概要
Network ACLのルールを作成する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
protocol プロトコルを指定する。TCP/UDP/ICMP/ALLまたはプロトコル番号の形で指定する。 Yes
aclid ACLのIDを指定する。 No
action actionをallow/denyで指定する。 No
cidrlist 通信を許可するcidrlistを指定する。 No
endport ACLの終了ポートを指定する。 No
icmpcode ICMPのコードを指定する。 No
icmptype ICMPの種類を指定する。 No
networkid ネットワークIDを指定する。 No
number ルール番号 No
startport ACLの開始ポートを指定する。 No
traffictype トラフィックの種類を指定する。Ingress(入力トラフィック)|Egress(出力トラフィック)で指定をする。 No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
id ID  
aclid ACLのID  
action action(Allow|Deny)  
cidrlist CIDRリスト  
endport 終了ポート  
icmpcode ICMPコード  
icmptype ICMP種類  
number ルール番号  
protocol ACLのプロトコル  
startport 開始ポート  
state 状態  
traffictype ACLのトラフィック種類  
tags Networkのtag情報を格納するコンテナ。 下記”tags”テーブルを参照のこと  
tags
Node名 説明
account タグと関連づけられたアカウント
customer タグと関連づけられたcustomer
domain タグと関連づけられたドメイン名
domainid タグと関連づけられたドメインID
key tag key名
project タグが所属しているプロジェクト
projectid タグが所属しているプロジェクトid
resourceid リソースのID
resourcetype resourceの種類
value tagの値

deleteNetworkACL(A) - NetworkACLの削除

概要
Network ACLを削除する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Network ACLのID Yes
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
displaytext Networkの表示名  
success 実行が成功した場合Trueを返す  

listNetworkACLLists - NetworkACLList一覧を表示

概要
Network ACLList一覧を表示する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id NetworkACLListのIDを指定する No
keyword キーワードを指定する No
name NetworkACLListの名前を指定する No
networkid NetworkのIDを指定する No
page   No
pagesize   No
vpcid VPCのIDを指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
id ACLのID  
description description  
name NetworkACLListの名前  
vpcid VPCのID  

createNetworkACLList(A) - NetworkACLListを作成

概要
Network ACLListを作成する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
name NetworkACLListの名前を指定する Yes
vpcid VPCのIDを指定する Yes
description description No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
id ACLのID  
description description  
name NetworkACLListの名前  
vpcid VPCのID  

deleteNetworkACLList(A) - NetworkACLListを削除する

概要
Network ACLListを削除する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id NetworkACLListのIDを指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
displaytext 成功か失敗に関するテキスト  
success 実行が成功した場合Trueを返す  
サンプルレスポンス

replaceNetworkACLList(A) - NetworkACLListを変更

概要
Network ACLListを変更する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
aclid NetworkACLListのIDを指定する Yes
gatewayid プライベートGWのIDを指定する No
networkid NetworkのIDを指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
displaytext 成功か失敗に関するテキスト  
success 実行が成功した場合Trueを返す  

updateNetworkACLItem(A) - NetworkACLItemの更新

概要
Network ACLItemを更新する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Network ACLItemのID Yes
action actionをallow/denyで指定する。 No
cidrlist 通信を許可するcidrlistを指定する。 No
endport ACLの終了ポートを指定する。 No
icmpcode ICMPのコードを指定する。 No
icmptype ICMPの種類を指定する。 No
number ルール番号 No
protocol プロトコルを指定する。TCP/UDP/ICMP/ALLまたはプロトコル番号の形で指定する。 No
startport ACLの開始ポートを指定する。 No
traffictype トラフィックの種類を指定する。Ingress(入力トラフィック)|Egress(出力トラフィック)で指定をする。 No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明 子Node
id ID  
aclid ACLのID  
action action(Allow|Deny)  
cidrlist CIDRリスト  
endport 終了ポート  
icmpcode ICMPコード  
icmptype ICMP種類  
number ACL番号  
protocol ACLのプロトコル  
startport 開始ポート  
state 状態  
traffictype ACLのトラフィック種類  
tags Networkのtag情報を格納するコンテナ。 下記”tags”テーブルを参照のこと  
tags
Node名 説明
account タグと関連づけられたアカウント
customer タグと関連づけられたcustomer
domain タグと関連づけられたドメイン名
domainid タグと関連づけられたドメインID
key tag key名
project タグが所属しているプロジェクト
projectid タグが所属しているプロジェクトid
resourceid リソースのID
resourcetype resourceの種類
value tagの値

(A): Async,非同期APIを表します

2.12. VPN管理 (Vpn)

VPNを管理するAPIです。

listVpnGateways - VPNゲートウェイ一覧を表示

概要
VPNゲートウェイ一覧を表示する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account domainidと共に使用して、任意のアカウントを指定する No
domainid domainid を指定する No
id カスタマゲートウェイのIDを指定する No
isrecursive サブドメインを検索対象に含める No
keyword キーワード No
listall true/ falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数 を指定する。pageと同時に指定する.(default: 500) No
vpcid VPCID No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
id VPNコネクションのID
account 当該VPNを所有するアカウント
domain ドメイン名
domainid ドメインID
project プロジェクト名
projectid プロジェクトID
publicip パブリックIP
removed 削除時間
vpcid VPNゲートウェイが存在するVPCID

createVpnGateway - VPNゲートウェイを作成

概要
VPNゲートウェイを作成する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
vpcid VPNゲートウェイのパブリックIPアドレスID Yes
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
id VPNコネクションのID
account 当該VPNを所有するアカウント
domain ドメイン名
domainid ドメインID
project プロジェクト名
projectid プロジェクトID
publicip パブリックIP
removed 削除時間
vpcid VPNゲートウェイが存在するVPCID

deleteVpnGataway - VPNゲートウェイを削除

概要
VPNゲートウェイを削除する
リクエストパラメータ一覧

パラメータ名 説明 必須
id カスタマゲートウェイのIDを指定する Yes
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
displaytext 成功か失敗に関連するテキスト
success 実行が成功した場合Trueを返す

listVpncustomerGateways - カスタマゲートウェイ一覧表示

概要
カスタマゲートウェイ一覧を表示する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
account domainidと共に使用して、任意のアカウントを指定する No
domainid domainid を指定する No
id カスタマゲートウェイのIDを指定する No
isrecursive サブドメインを検索対象に含める No
keyword キーワード No
listall true/ falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数 を指定する。pageと同時に指定する.(default: 500) No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
id VPNコネクションのID
account 当該VPNを所有するアカウント
cidrlist カスタマゲートウェイのCIDR
created 当該VPNコネクションの作成日時
domain ドメイン名
domainid ドメインID
dpd 停止ピアを検出するか否か
esplifetime ESP有効期間
esppolicy ESP暗号化方法
gateway 接続先パブリックIP
ikelifetime IKE有効期間
ikepolicy IKE暗号化方法
ipsecpsk 事前共通鍵
project プロジェクト名
projectid プロジェクトID
publicip パブリックIP
removed 削除時間

createVpncustomerGateways - カスタマゲートウェイを作成

概要
カスタマゲートウェイを作成する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
cidrlist カスタマゲートウェイのゲストCIDR Yes
esppolicy ESP暗号化方法 Yes
gateway 接続先パブリックIP Yes
ikepolicy IKE暗号化方法 Yes
ipsecpsk 事前共通鍵 Yes
account domainidと共に使用して、任意のアカウントを指定する No
domainid domainid を指定する No
dpd 停止ピアを検出するか否か No
esplifetime ESP有効期間 No
ikelifetime IKE有効期間 No
name カスタマゲートウェイの名前 No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
id VPNコネクションのID
account 当該VPNを所有するアカウント
cidrlist カスタマゲートウェイのCIDR
created 当該VPNコネクションの作成日時
domain ドメイン名
domainid ドメインID
dpd 停止ピアを検出するか否か
esplifetime ESP有効期間
esppolicy ESP暗号化方法
gateway 接続先パブリックIP
ikelifetime IKE有効期間
ikepolicy IKE暗号化方法
ipsecpsk 事前共通鍵
project プロジェクト名
projectid プロジェクトID
publicip パブリックIP
removed 削除時間

deleteVpnCustomerGateway - カスタマゲートウェイを削除

概要
カスタマゲートウェイを削除する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id カスタマゲートウェイのIDを指定する Yes
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
displaytext 成功か失敗に関連するテキスト
success 実行が成功した場合Trueを返す

listVpnConnections - VPNコネクション一覧表示

概要
VPNコネクション一覧を取得する
リクエストパラメータ一覧

パラメータ名 説明 必須
account domainidと共に使用して、任意のアカウントを指定する No
domainid domainid を指定する No
id VPNコネクションのIDを指定する No
isrecursive サブドメインを検索対象に含める No
keyword キーワード No
listall true/ falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数 を指定する。pageと同時に指定する.(default: 500) No
vpcid VPCのIDを指定する No
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
id VPNコネクションのID
account 当該VPNを所有するアカウント
cidrlist カスタマゲートウェイのCIDR
created 当該VPNコネクションの作成日時
domain ドメイン名
domainid ドメインID
dpd 停止ピアを検出するか否か
esplifetime ESP有効期間
esppolicy ESP暗号化方法
gateway 接続先パブリックIP
ikelifetime IKE有効期間
ikepolicy IKE暗号化方法
ipsecpsk 事前共通鍵
project プロジェクト名
projectid プロジェクトID
publicip パブリックIP
removed 削除時間
s2scustomergatewayid カスタマゲートウェイID
s2svpngatewayid VPNゲートウェイID
state VPNコネクションの状態

createVpnConnection - VPNコネクションを作成

概要
VPNコネクションを作成する
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
s2scustomergatewayid カスタマゲートウェイID Yes
s2svpngatewayid VPNゲートウェイID Yes
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
id VPNコネクションのID
account 当該VPNを所有するアカウント
cidrlist カスタマゲートウェイのCIDR
created 当該VPNコネクションの作成日時
domain ドメイン名
domainid ドメインID
dpd 停止ピアを検出するか否か
esplifetime ESP有効期間
esppolicy ESP暗号化方法
gateway 接続先パブリックIP
ikelifetime IKE有効期間
ikepolicy IKE暗号化方法
ipsecpsk 事前共通鍵
project プロジェクト名
projectid プロジェクトID
publicip パブリックIP
removed 削除時間
s2scustomergatewayid カスタマゲートウェイID
s2svpngatewayid VPNゲートウェイID
state VPNコネクションの状態

deleteVpnConnection - VPNコネクションを削除

概要
VPNコネクションを削除する
リクエストパラメータ一覧

パラメータ名 説明 必須
id VPNコネクションのIDを指定する Yes
レスポンス
レスポンス (Body)
Response(Body)
Node名 説明
displaytext 成功か失敗に関連するテキスト
success 実行が成功した場合Trueを返す

(A): Async,非同期APIを表します

2.13. イベント管理 (Event)

イベント情報管理を取得するAPIです。

listEvents - イベント情報一覧

概要

イベント情報の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id EventのIdを指定する No
enddate 取得するイベントの終末点を指定する。 フォーマットは、 - “yyyy-MM-dd” もしくは - “yyyy-MM-dd HH:mm:ss” No
entrytime イベントが登録された時間を指定する。フォーマットは同上。 No
keyword 検索キーワードを指定する No
level イベントレベルを指定する (INFO|WARN|ERROR) No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
startdate 取得するイベントの終点を指定する。フォーマットは同上。 No
type EventTypeのフォーマット を参照 No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listeventsresponse レスポンスコンテナ count, event
count レスポンスに含まれるeventオブジェクトの個数  
event eventオブジェクトを格納するコンテナ id, account, created, description, domain, domainid, level, parentid, state, type
id イベントのID  
account イベントを起こしたアカウント  
created イベントが発生した日時  
description イベントの説明  
domain イベントのドメイン  
domainid イベントのドメインID  
level イベントレベル (INFO|WARN|ERROR)  
parentid 親イベントID  
state イベントの状態  
type EventTypeのフォーマット を参照  
サンプルレスポンス
{
  "listeventsresponse": {
    "count": 1,
    "event": [
      {
        "id": "cb1b08c6-0025-4773-a68a-**:**:**:**",
        "username": "cln*********",
        "type": "NET.RULEDELETE",
        "level": "INFO",
        "description": "revoking forwarding rule. Rule Id: 1925",
        "account": "cln*********",
        "domainid": "e500411b-0462-47fd-9b1f-**:**:**:**",
        "domain": "cln********",
        "created": "2014-07-24T20:14:46+0900",
        "state": "Started",
        "parentid": "975492ef-83c4-44ae-8ffc-**:**:**:**"
      }
    ]
  }
}

deleteEvents - イベント情報削除

概要
イベント情報を削除する。
リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
ids EventのIdを指定する。カンマで複数指定可能 No
enddate 削除するイベントの終末点を指定する。 フォーマットは、 - “yyyy-MM-dd” もしくは - “yyyy-MM-dd HH:mm:ss” No
startdate 削除するイベントの終点を指定する。フォーマットは同上。 No
type イベントタイプを指定して削除する。 EventTypeのフォーマット を参照 No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
deleteeventsresponse レスポンスコンテナ count, event
count レスポンスに含まれるeventオブジェクトの個数  
displaytext エラーであればメッセージを返す  
success trueであれば成功  
サンプルレスポンス
command=deleteEvent&type="USER.UPDATE"
{
  "listeventsresponse": {
    "count": 1,
    "event": [
      {
        "id": "a2123429-337a-4b19-8ea8-**:**:**:**",
        "username": "portal",
        "type": "USER.UPDATE",
        "level": "INFO",
        "description": "Successfully completed updating User. UserId: 391",
        "account": "cln*********",
        "domainid": "e500411b-0462-47fd-9b1f-**:**:**:**",
        "domain": "cln*********",
        "created": "2014-05-28T16:45:40+0900",
        "state": "Completed"
      }
    ]
  }
}

2.14. サービスオファリング情報 (ServiceOffering)

サービスオファリング情報(仮想サーバプラン情報)を取得するAPIです。

listServiceOfferings - サービスオファリング一覧表示

概要

サービスオファリング(仮想サーバーのプラン)の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Service OfferingのIdを指定する No
keyword 任意キーワードによる検索条件の付与 No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
name Service Offering名 No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listserviceofferingsresponse レスポンスコンテナ count, serviceoffering
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
serviceoffering ServiceOfferingオブジェクトを格納するコンテナ id, name, displaytext, cpunmber, cpuspeed, memory, created, storagetype, offerha, limitcpuuse, tags, domainid, domain, hosttag, issytem, defaultuse
id Service Offeringのid  
name Service Offering名  
displaytext Service Offeringの表示名  
cpunumber 仮想サーバーのCPUの数  
cpuspeed 仮想サーバーのCPUのclock speed (MHz)  
memory 仮想サーバーに搭載されたメモリ  
created Service Offeringとして登録された日付  
storagetype “Shared”  
offerha 高可用性機能をサポートしているか否か  
limitcpuuse 常に”true”  
tags タグ情報  
domainid 管理ドメインのID  
domain 管理ドメイン名  
hosttags タグ情報  
issystem FALSE  
defaultuse FALSE  
サンプルレスポンス
{
  "listserviceofferingsresponse": {
    "count": 1,
    "serviceoffering": [
      {
        "id": "**:**:**:****:**:**:**f6c1dfc8",
        "name": "t1.micro",
        "displaytext": "Plan vQ (0.25CPU / 0.5GB RAM)",
        "cpunumber": 1,
        "cpuspeed": 400,
        "memory": 512,
        "created": "2013-03-21T10:26:09+0900",
        "storagetype": "shared",
        "offerha": true,
        "limitcpuuse": true,
        "tags": "pattern-S1",
        "domainid": "**:**:**:****:**:**:**a6b3fa1e",
        "domain": "ComRetail",
        "hosttags": "pattern-H1",
        "issystem": false,
        "defaultuse": false
      }
    ]
  }
}

2.15. ディスクオファリング情報 (DiskOffering)

ディスクオファリング情報(仮想ディスクプラン情報)を取得するAPIです。

listDiskOfferings - ディスクオファリング一覧表示

概要

ディスクオファリング(仮想ディスクのプラン)の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id Disk OfferingのIdを指定する No
keyword 任意キーワードによる検索条件の付与 No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する.(default: 500) No
name Disk offering名 No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listdiskofferingsresponse レスポンスコンテナ count, diskoffering
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
diskoffering DiskOfferingオブジェクトを格納するコンテナ id, name, displaytext, disksize, created, storagetype, tags, domainid, domain, iscustomized
id Disk Offering のid  
name Disk Offering名  
displaytext Disk Offeringの表示名  
disksize Diskのサイズ(GB)  
created Disk Offeringとして登録された日付  
storagetype “Shared”  
tags タグ情報  
domainid 管理ドメインのID  
domain 管理ドメイン名  
iscustomized custom sizeに対応しているか否か  

2.16. ゾーン情報 (Zone)

ゾーン情報を取得するAPIです。

listZones - ゾーン情報一覧

概要

ゾーン情報の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id ZoneのIdを指定する No
keyword 任意キーワードによる検索条件の付与 No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する.(default: 500) No
name Disk offering名 No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listzonesresponse レスポンスコンテナ count, serviceoffering
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
zone zoneオブジェクトを格納するコンテナ id, name, displaytext, cpunmber, cpuspeed, memory, created, storagetype, offerha, limitcpuuse, tags, domainid, domain, hosttag, issytem, defaultuse
id zoneのid  
name zone名  
created Service Offeringとして登録された日付  
domainid 管理ドメインのID  
domain 管理ドメイン名  
domainname 管理ドメイン名  
networktype “Basic”  
securitygroupsenabled セキュリティグループ機能が有効か否か  
allocationstate クラスタの割当状況  
zonetoken Zone token  
localstorageenabled ローカルストレージの利用可否  
サンプルレスポンス
{
  "listzonesresponse": {
    "count": 2,
    "zone": [
      {
        "id": "**:**:**:****:**:**:**2de8fccd",
        "name": "jp-e1a",
        "domain": "e1a.internal",
        "domainid": 6,
        "domainname": "ComRetail",
        "networktype": "Basic",
        "securitygroupsenabled": true,
        "allocationstate": "Enabled",
        "zonetoken": "**:**:**:****:**:**:**85784908",
        "dhcpprovider": "VirtualRouter",
        "localstorageenabled": false
      },
      {
        "id": "**:**:**:****:**:**:**ed875e76",
        "name": "jp-e1b",
        "domain": "e1b.internal",
        "domainid": 6,
        "domainname": "ComRetail",
        "networktype": "Basic",
        "securitygroupsenabled": true,
        "allocationstate": "Enabled",
        "zonetoken": "**:**:**:****:**:**:**78c9786e",
        "dhcpprovider": "VirtualRouter",
        "localstorageenabled": false
      }
    ]
  }
}

2.17. OS情報 (Os)

仮想サーバーで利用可能なOS情報を取得するAPIです。

listOsCategories - OSカテゴリ一覧表示

概要

OSカテゴリ (OSタイプのカテゴリ) の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
id OSカテゴリのIDを指定します No
keyword キーワードを指定します No
name OSカテゴリの名前を指定します No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listostypesresponse レスポンスコンテナ count, oscategories
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
oscategories レスポンスコンテナ id, oscategoryid, description
OsType
Node名 説明 子Node
id OSカテゴリのID  
name OSカテゴリの名前  
サンプルレスポンス
{
  "listoscategoriesresponse": {
    "count": 10,
    "oscategory": [
      {
        "id": "1",
        "name": "CentOS"
      },
      {
        "id": "2",
        "name": "Debian"
      },
      {
        "id": "3",
        "name": "Oracle"
      },
      {
        "id": "4",
        "name": "RedHat"
      },
      {
        "id": "5",
        "name": "SUSE"
      },
      {
        "id": "6",
        "name": "Windows"
      },
      {
        "id": "7",
        "name": "Other"
      },
      {
        "id": "8",
        "name": "Novel"
      },
      {
        "id": "9",
        "name": "Unix"
      },
      {
        "id": "10",
        "name": "Ubuntu"
      }
    ]
  }
}

listOsTypes - OSタイプ一覧表示

概要

OSタイプ (仮想サーバー作成時に使用可能なOSタイプ) の一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
description OSタイプの説明を指定する No
id OSタイプのID指定する No
keyword キーワードを指定する No
oscategoryid カテゴリIDで指定する No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時に指定する。(default: 500) No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listostypesresponse レスポンスコンテナ count, ostype
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
ostype レスポンスコンテナ id, oscategoryid, description
OsType
Node名 説明 子Node
id OSタイプのID  
description OSタイプの説明  
oscategoryid OSカテゴリのID  
サンプルレスポンス
{
  "listostypesresponse": {
    "count": 1,
    "ostype": [
      {
        "id": "69",
        "oscategoryid": "7",
        "description": "Asianux 3(32-bit)"
      }
    ]
  }
}

2.18. API情報 (Api)

APIに関する情報を取得するためのAPIです。

listApis - API一覧表示

概要

使用可能なAPIの一覧を取得する。

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
name API名を指定する No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listapisresponse レスポンスコンテナ count, Api
count レスポンスに含まれるServiceOfferingオブジェクトの個数  
api apiオブジェクトを格納するコンテナ description, isasync, name, related, since, type, params
description description of the api  
isasync true if api is asynchronous  
name the name of the api command  
related comma separated related apis  
since version of CloudStack the api was introduced in  
type response field type  
params APIが受け付けるパラメータ一覧。paramsテーブルを参照 description, length, name, related, required, since, type
response APIのレスポンス。responseテーブルを参照 description, name, response, type
params
Node名 説明
description APIパラメーターの説明
length パラメーターのlength
name APIパラメーターの名前
related コンマで関連APIを指定します
required 必須であるパラメーターであればtrueを返します
type パラメーターの種類
response
Node名 説明
description APIレスポンスフィールドの説明
name APIレスポンスフィールドの名前
response APIレスポンスフィールド
type APIレスポンスフィールドの種類

2.19. 非同期API処理 (AsyncJob)

非同期API処理を行うAPIです。

queryAsyncJobResult - 非同期APIの状態確認

概要

非同期APIの実行状態および結果を追跡・確認する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
jobid 非同期APIメソッドを実行した際に、返り値として渡されるjobiidを指定する Yes
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
queryasyncjobresultresponse レスポンスコンテナ accountid, userid, cmd, jobstatus, jobporcstatus, jobresultcode, jobresulttype, jobresult, created, jobid
accountid 当該非同期APIのクエストを実行したアカウントのID  
userid 当該非同期APIのクエストを実行したユーザのID  
cmd 実行したコマンド(メソッド)  
jobstatus jobのステータス  
jobprocstatus jobの進捗に関するステータス  
jobresultcode 当該ジョブの実行結果コード  
jobresulttype 実行結果の形式  
jobresult 実行したジョブ、呼び出した非同期メソッドにより異なる  
created ジョブとして登録された日時  
jobid 非同期APIメソッドを実行した際に、 返り値として渡されるjobiid  
サンプルレスポンス
{
  "queryasyncjobresultresponse": {
    "accountid": "**:**:**:****:**:**:**21ee72a4",
    "userid": "**:**:**:****:**:**:**84a98eb6",
    "cmd": "com.cloud.api.commands.DeleteTemplateCmd",
    "jobstatus": 1,
    "jobprocstatus": 0,
    "jobresultcode": 0,
    "jobresulttype": "object",
    "jobresult": {
      "success": true
    },
    "created": "2014-07-23T15:34:00+0900",
    "jobid": "**:**:**:****:**:**:**103b0cb9"
  }
}

listAsyncJobs - 非同期job一覧

概要

非同期APIが実行されている、処理中のリクエストの一覧を取得する

リクエストパラメータ一覧

リクエストパラメータ一覧
パラメータ名 説明 必須
domainid ドメインIDを指定する。指定することにより、指定したドメイン以下の情報に絞り込む No
account 指定したアカウントに属する情報に絞り込む。domainidと同時に利用する No
isrecursive true/ falseで指定する(default false)。 trueを指定した場合、sub domainの情報も検索の対象に含める No
keyword キーワードを指定し、キーワードによる検索を実施する No
listall true/ falseで指定する(default false). zoneidとisrecursive=trueと設定した場合に等しい No
page pagesizeと同時に指定して、ページ番号を指定する No
pagesize 一度のリクエストに含めるレスポンス(非同期ジョブ)の個数を指定する。pageと同時にしていする.(default: 500) No
startdate 非同期ジョブの実行開始日時を指定する。 No
レスポンス
レスポンス (Body)

形式:XMLまたはjson

Response(Body)
Node名 説明 子Node
listasyncjobsresponse レスポンスコンテナ count, asyncjobs
count レスポンスに含まれる非同期jobオブジェクトの個数  
asyncjobs 当該非同期jobを格納するコンテナ accountid, userid, cmd, jobstatus, jobporcstatus, jobresultcode, jobresulttype, jobresult, created, jjobid
accountid 当該非同期APIのクエストを実行したアカウントのID  
userid 当該非同期APIのクエストを実行したユーザのID  
cmd 実行したコマンド(メソッド)  
jobstatus jobのステータス  
jobprocstatus jobの進捗に関するステータス  
jobresultcode 当該ジョブの実行結果コード  
jobresulttype 実行結果の形式  
jobresult 実行したジョブ/呼び出した非同期メソッドにより異なる  
created ジョブとして登録された日時  
jobid 非同期APIメソッドを実行した際に、 返り値として渡されるjobid  
サンプルレスポンス
{
  "listasyncjobsresponse": {
    "count": 1,
    "asyncjobs": [
      {
        "accountid": "**:**:**:****:**:**:**21ee72a4",
        "userid": "**:**:**:****:**:**:**84a98eb6",
        "cmd": "com.cloud.api.commands.DestroyVMCmd",
        "jobstatus": 1,
        "jobprocstatus": 0,
        "jobresultcode": 0,
        "jobresulttype": "object",
        "jobresult": {
          "virtualmachine": {
            "id": "**:**:**:****:**:**:**c6644b79",
            "name": "**:**:**:****:**:**:**c6644b79",
            "displayname": "**:**:**:****:**:**:**c6644b79",
            "account": "cln*********",
            "domainid": "**:**:**:****:**:**:**f82721bb",
            "domain": "cln*********",
            "created": "2014-07-10T14:23:44+0900",
            "state": "Destroyed",
            "haenable": true,
            "zoneid": "**:**:**:****:**:**:**2de8fccd",
            "zonename": "jp-e1a",
            "templateid": "**:**:**:****:**:**:**e25b0e12",
            "templatename": "CentOS 6.3 64 bit",
            "templatedisplaytext": "CentOS 6.3 64 bit",
            "passwordenabled": true,
            "serviceofferingid": "**:**:**:****:**:**:**f6c1dfc8",
            "serviceofferingname": "t1.micro",
            "cpunumber": 1,
            "cpuspeed": 400,
            "memory": 512,
            "guestosid": "144",
            "rootdeviceid": 0,
            "rootdevicetype": "Not created",
            "securitygroup": [
              {
                "id": "**:**:**:****:**:**:**d596adf4",
                "name": "default",
                "description": "Default Security Group"
              }
            ],
            "nic": [
              {
                "id": "**:**:**:****:**:**:**22cf92ba",
                "networkid": "**:**:**:****:**:**:**ba92f5e2",
                "traffictype": "Guest",
                "type": "Shared",
                "isdefault": true
              }
            ],
            "hypervisor": "KVM",
            "tags": []
          }
        },
        "created": "2014-07-20T21:29:46+0900",
        "jobid": "**:**:**:****:**:**:**8238885f"
      }
    ]
  }
}

3. AmazonWebService EC2互換API

AmazonWebService EC2互換のAPIについて説明します。

3.1. AWS SDK for Java を利用する

Cloudn Compute VPCタイプ OpenNWではAmazon Web Services EC2互換APIを提供しています。 以下では、例としてAWS SDK for Java を利用し、仮想サーバーの情報を表示するコマンド「ec2-describe-images」を実行し、 イメージファイルを取得する手順について説明します。

環境の準備

AWS SDK for Java を実行するために必要なパッケージをインストールします。 主なパッケージは下記の 4 つです。

  • Git

    • AWS SDK for Java のダウンロード、バージョンの管理をするために利用します
  • Java(Java 6 以上)

    • AWS SDK for Java の実行するために利用します
  • Maven

    • AWS SDK for Java のソースコードをパッケージングするために利用します
  • Ant

    • 作成した Java ファイルのライブラリ依存を簡単にするために利用します

上記のうちまず Maven 以外をインストールします。

  • RedHat、CentOS
# yum install git java-1.6.0-openjdk java-1.6.0-openjdk-devel ant
  • Debian、Ubuntu
# apt-get install openjdk-6-jdk unzip ant

Maven をダウンロードし、ホームディレクトリの temporary ディレクトリ以下に置きます。

$ mkdir ~/temporary
$ cd ~/temporary
$ wget http://ftp.jaist.ac.jp/pub/apache/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.zip
$ unzip apache-maven-3.2.2-bin.zip

“Not found” など apache-maven-3.2.2-bin.zip が存在しないというエラーが表示された場合、 Maven の HP からダウンロードしてください。

AWS SDK for Java の準備

AWS SDK for Java のソースコードを git を使いダウンロードします。

$ git clone https://github.com/aws/aws-sdk-java
aws-sdk-java のバージョンを 1.8.3 にし、また Cloudn で使えるようにソースコードを(sed を使い)編集します。
git checkout を実行した際に警告文が出ますが、問題はありません。
(古いバージョンを用いているために発生するメッセージです)
$ cd aws-sdk-java
$ git checkout 1.8.3
$ sed -i -e "s/\"2014-05-01\"/\"2012-08-15\"/g" ./src/main/java/com/amazonaws/services/ec2/model/transform/*.java

次に Maven を使って、 AWS SDK for Java のコンパイル・パッケージングを行います。

$ ~/temporary/maven/bin/mvn package

成功すれば、~/temporary/aws-sdk-java/target/ にパッケージファイル(aws-java-sdk-1.8.3.jar)が作成されます。

AWS SDK for Java に必要なライブラリのダウンロード

AWS SDK for Java はサードパーティ製のライブラリを使用するため、 そのライブラリを準備する必要があります。 自前で必要なライブラリを準備しても構いませんが、 簡単のため、AWS SDK for Java に付随しているライブラリを使います。

まず、AWS SDK for Java のパッケージを Amazon Web Services の HP からダウンロードし、zip ファイルを展開します。

$ cd ~/temporary
$ wget http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip
$ unzip ./aws-java-sdk.zip –d ./aws-temp

必要なライブラリは ~/temporary/aws-temp/third-party のディレクトリ配下に存在するため、次の節でライブラリを移動します。

AWS SDK for Java の実行

以上の作業により、AWS SDK for Java を動かす準備が出来ました。 ここから実際にAWS SDK for Javaを実行します。

作業用ディレクトリの準備

まず、AWS SDK を動かすソースコードを配置する作業用のディレクトリを作ります。 場所はどこでも問題ありませんが、 このリファレンスではホームディレクトリ配下に my-aws-sdk-java という名のディレクトリを作り、 そのディレクトリ内で必要なライブラリなどを完結するようにします。 これから作るディレクトリ構造を簡単に示します。

~/
└── my-aws-sdk-java
     ├── lib                    <<== ライブラリ(xxx.jar)用を配置するディレクトリ
     ├── src                    <<== 自分で準備したソースコード群を配置するディレクトリ
     │   └── TrialOfApi        <<== 実際にソースコードを置くディレクトリ
     └── bin                    <<== コンパイルしたファイルを配置するディレクトリ(基本的には触らない)

上記のディレクトリに従いディレクトリをつくります。

$ cd
$ mkdir my-aws-sdk-java
$ cd my-aws-sdk-java
$ mkdir lib src bin src/TrialOfApi

前の節までで準備したライブラリ(xxx.jar)を作業用のディレクトリにコピーします。

$ cp ~/temporary/aws-temp/third-party/*/*.jar ./lib/
$ cp ~/temporary/aws-sdk-java/target/aws-java-sdk-1.8.3.jar ./lib
ソースコードの作成

続いて、API を実行するプログラムのソースコードを準備します。 以下のソースコードをディレクトリ TrialOfApi に配置します。

[~/my-aws-sdk-java/src/TrialOfApi/MySession.java]
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import com.amazonaws.ClientConfiguration;
import com.amazonaws.Protocol;
import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2Client;

public class MySession {
    AmazonEC2      ec2;
    final static String CREDENTIAL_PATH = "credentials";
    final static String URL_PATH = "URL.properties";

    public MySession() {
        InputStream inStream = null;

        try{

            // Read Credensial File
            File crefile = new File(CREDENTIAL_PATH);
            PropertiesCredentials pc = new PropertiesCredentials(crefile);


            ClientConfiguration clientconf = new ClientConfiguration();
            clientconf.setProtocol(Protocol.HTTPS);

            // Create AmazonEC2Client
            ec2 = new AmazonEC2Client(pc, clientconf);

            // Set URL to API Server
            inStream = new FileInputStream(new File(URL_PATH));
            Properties prop = new Properties();
            prop.load(inStream);
            String apiEndPoint = prop.getProperty("COM_URL");
            System.out.println("URL =[" + apiEndPoint + "]");

            ec2.setEndpoint(apiEndPoint);

        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            try{
                inStream.close();
            } catch (IOException ioe) {
                System.out.println("InputStream Close Error");
                ioe.printStackTrace();
            }
        }
    }
}
[~/my-aws-sdk-java/src/TrialOfApi/FirstTrial.java]
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.model.DescribeImagesRequest;
import com.amazonaws.services.ec2.model.DescribeImagesResult;

public class FirstTrial {

    public static void main(String[] args) throws Exception {

        System.out.println("Start Trial of describeImages!");

        // make a object for session into cloudn
        AmazonEC2 ec2 = new MySession().ec2;

        try {

            DescribeImagesRequest imagesRequest = new DescribeImagesRequest();

            // Execute describeImage
            // The result is stored in imageResult
            DescribeImagesResult imageResult = ec2.describeImages(imagesRequest);

            // Output the result
            System.out.println("Result is as follows");
            System.out.println(imageResult.toString());

        } catch (AmazonServiceException ase) {
            // Write out any exceptions that may have occurred.
            System.out.println("Caught Exception!");
            System.out.println("Message: " + ase.getMessage());
            System.out.println("Status Code: " + ase.getStatusCode());
            System.out.println("Error Code: " + ase.getErrorCode());
            System.out.println("Request ID: " + ase.getRequestId());
        }
    }
}
[~/my-aws-sdk-java/src/TrialOfApi/URL.properties]
# East Japan DC
COM_URL = https://comp-apia.jp-e1.cloudn-service.com/awsapi
[~/my-aws-sdk-java/src/TrialOfApi/credentials]
accessKey = ppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
secretKey = sssssssssssssssssssssssssssssssssssssssssssssssssssssssss
ソースコードのコンパイル・実行

以上でソースコードの準備は完了です。 コンパイルと実行を行います。

ライブラリなどの設定を簡単に行うために、事前にインストールした ant を使います。 ant は(特に設定を入れなければ)build.xml ファイルに書きこまれた設定に従い、 ソースコードのコンパイルや Java プログラムの実行などを行います。

ですので、先ほど作成したソースコードに合わせてディレクトリ TrialOfApi に build.xml を作ります。

[~/my-aws-sdk-java/src/TrialOfApi/build.xml]
<project name="TrialOfApi" default="FirstTrial" basedir=".">
<!--    Setting of library files    -->
    <path id="aws.java.sdk.classpath">
        <fileset dir="../../lib" includes="*.jar"/>
            <pathelement location="."/>
    </path>
<!--    Compile source codes    -->
    <target name="build">
        <javac includeantruntime="false" srcdir="." destdir="." classpathref="aws.java.sdk.classpath"/>
    </target>
<!--    Execute a program    -->
    <target name="FirstTrial" depends="build">
        <java classname="FirstTrial" classpathref="aws.java.sdk.classpath" fork="true"/>
    </target>
</project>

そして、ant を使ってビルド・実行を行います。

$ ant build
(中略)
BUILD SUCCESSFUL
Total time: ** seconds

$ ant FirstTrial
(中略、実行結果が表示される)
BUILD SUCCESSFUL
Total time: ** seconds

上記で HyperVisor、Tags・・・などの文字列が表示されていれば、API リクエストの実行が成功しています。

注釈

~/temporary ディレクトリを消去して頂いても問題はありません。 また、maven がダウンロードしたパッケージ群がディレクトリ ~/.m2 配下にありますので、このフォルダを消去しても問題ありません。

注釈

引数付の API を実行したい場合、例えば以下のソースコードのように xxxxRequest オブジェクトに メソッド withXxxx または setXxxx を呼び出します。

DescribeImagesRequest imagesRequest = new DescribeImagesRequest()
    .withImageIds("xxxxxxxxxxxxxxxxxxxxxxxxxx") // String of an id
    .withOwners("admin");                       // String of user

3.2. AmazonWebService EC2互換API一覧

本サービスにて提供しているAPIは下記となります。

仮想サーバー操作

Instances
説明 API 必須パラメータ
仮想サーバーの一覧表示 describeInstances
仮想サーバーの情報表示 describeInstanceAttribute Attribute, InstanceId
仮想サーバーの作成 runInstances ImageId, MaxCount, MinCount
仮想サーバーの再起動 rebootInstances InstanceIds
仮想サーバーの起動 startInstances InstanceIds
仮想サーバーの停止 stopInstances InstanceIds
仮想サーバーの削除 terminateInstances

テンプレート (Image) 操作

Template(Image)
説明 API 必須パラメータ
テンプレートの一覧表示 describeImages
テンプレートの情報表示 describeImageAttribute
テンプレートの作成 createImage
テンプレートの登録 registerImage ImageLocation
テンプレートの削除 deregisterImage ImageId
テンプレートの公開範囲の変更 modifyImageAttribute
変更を行ったテンプレートをリセットする resetImageAttribute

スナップショット操作

Snapshots
説明 API 必須パラメータ
スナップショットの作成 createSnapshot VolumeId
スナップショットの削除 deleteSnapshot SnapshotId
スナップショットの一覧表示 describeSnapshots

ディスク操作

Volumes
説明 API 必須パラメータ
ディスクのアタッチ attachVolume Device, InstanceId (and, or) VolumeId
ディスクの削除 deleteVolume VolumeId
ディスクの一覧表示 describeVolumes
ディスクのデタッチ detachVolume InstanceId (or) VolumeId

Tag操作

Tags
説明 API 必須パラメータ
Tagの一覧 describeTags
Tagの追加 createTags Resoueces, Tags
Tagの削除 deleteTags

キーペア操作

KeyPair
説明 API 必須パラメータ
登録されているキーペアの一覧を表示する describeKeyPairs
キーペアを作成する createKeyPair Keyname
キーペアをインポートする importKeyPair KeyName, PublicKeyMaterial
キーペアを削除する deleteKeyPair KeyName