ユーザーガイド/リファレンスガイド

Block Storage API v2

Description

リクエストに指定したメタデータですべてのメタデータを上書きします。

ボリュームの自動イメージ保存スケジュールの設定方法:

  • 各ボリュームにつき、3セットまで(backup_schedule1とbackup1_xxx~backup_schedule3とbackup3_xxx)を登録可能。
  • backup_schedule1: FalseまたはTrue
  • backup1_day: 曜日{“sun”,”mon”,”tue”,”wed”,”thu”,”fri”,”sat”} または日付{“1″~”31”} または毎日{“*”}(カンマ区切りで複数指定可能。ただし曜日と日付、日付と毎日、曜日と毎日を組み合わせることはできない。)
  • backup1_hour: “0”~”23″
  • backup1_rotate: “1”~”255″ または “0” “0”の場合はローテートしない。
  • backup1_name: 255バイトまでの文字列 大文字小文字英数字と、”_”と”-“が使用可能

Request URL

Block Storage API v2
PUT /v2/{tenant_id}/volumes/{volume_id}/metadata

Request Json

{
        “metadata”: {
            “backup_schedule1”: “true”,
            “backup1_day”: “取得日“,
            “backup1_hour”: “取得時間“,
            “backup1_rotate”: “最大保存数“,
            “backup1_name”: “ネームタグ
}

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
volume_id ボリュームID URI ボリュームID
metadata ボリュームメタデータ plain ボリュームメタデータ

Response

Normal response codes

200

Example

Request

curl -i -X PUT \
-H “Accept: application/json” \
-H “X-Auth-Token: トークンID” \
-H “Content-Type: application/json” \
-d ‘{
        “metadata”: {
            “backup_schedule1”: “true”,
            “backup1_day”: “取得日“,
            “backup1_hour”: “取得時間“,
            “backup1_rotate”: “最大保存数“,
            “backup1_name”: “ネームタグ
        }
    }’ \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID/metadata

Response

HTTP/1.1 200 OK
Date: Fri, 08 Jul 2016 08:53:20 GMT
Server: Apache
Content-Length: 3785
Content-Type: application/json

{
    “metadata”: {
        “backup_schedule1”: “True”,
        “backup1_day”: “取得日“,
        “backup1_hour”: “取得時間“,
        “readonly”: “False”,
        “backup1_rotate”: “最大保存数“,
        “backup1_name”: “ネームタグ
        “attached_mode”: “rw”
    }
}

 

Description

指定したキーのボリュームメタデータを削除します。

ボリュームの自動イメージ保存スケジュールの設定方法:

  • 各ボリュームにつき、3セットまで(backup_schedule1とbackup1_xxx~backup_schedule3とbackup3_xxx)を登録可能。
  • backup_schedule1: FalseまたはTrue
  • backup1_day: 曜日{“sun”,”mon”,”tue”,”wed”,”thu”,”fri”,”sat”} または日付{“1″~”31”} または毎日{“*”}(カンマ区切りで複数指定可能。ただし曜日と日付、日付と毎日、曜日と毎日を組み合わせることはできない。)
  • backup1_hour: “0”~”23″
  • backup1_rotate: “1”~”255″ または “0” “0”の場合はローテートしない。
  • backup1_name: 255バイトまでの文字列 大文字小文字英数字と、”_”と”-“が使用可能

Request URL

Block Storage API v2
DELETE /v2/{tenant_id}/volumes/{volume_id}/metadata/{key_name}

Request Json

This operation does not accept a request body.

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
volume_id ボリュームID URI ボリュームID
key_name {backup_schedule1,
backup1_day,
backup1_hour,
backup1_rotate,
backup1_name}
URI ボリュームメタデータ名

Response

Normal response codes

200

Example

Request

curl -i -X DELETE \
-H “Accept: application/json” \
-H “X-Auth-Token: トークンID” \
-H “Content-Type: application/json” \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID/metadata/ボリュームメタデータ名

Response

HTTP/1.1 200 OK
Date: Fri, 08 Jul 2016 08:53:20 GMT
Server: Apache
Content-Length: 3785
Content-Type: application/json

 

Description

キーに一致するメタデータのみ置き換えます。
リクエストに含まれていないメタデータは変更されません。

ボリュームの自動イメージ保存スケジュールの設定方法:

  • 各ボリュームにつき、3セットまで(backup_schedule1とbackup1_xxx~backup_schedule3とbackup3_xxx)を登録可能。
  • backup_schedule1: FalseまたはTrue
  • backup1_day: 曜日{“sun”,”mon”,”tue”,”wed”,”thu”,”fri”,”sat”} または日付{“1″~”31”} または毎日{“*”}(カンマ区切りで複数指定可能。ただし曜日と日付、日付と毎日、曜日と毎日を組み合わせることはできない。)
  • backup1_hour: “0”~”23″
  • backup1_rotate: “1”~”255″ または “0” “0”の場合はローテートしない。
  • backup1_name: 255バイトまでの文字列 大文字小文字英数字と、”_”と”-“が使用可能

Request URL

Block Storage API v2
POST /v2/{tenant_id}/volumes/{volume_id}/metadata

Request Json

{
        “metadata”: {
            “backup_schedule1”: “true”,
            “backup1_day”: “取得日“,
            “backup1_hour”: “取得時間“,
            “backup1_rotate”: “最大保存数“,
            “backup1_name”: “ネームタグ
        }
}

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
volume_id ボリュームID URI ボリュームID
metadata ボリュームメタデータ plain ボリュームメタデータ

 

Response

Normal response codes

202

Example

Request

curl -i -X POST \
-H “Content-Type: application/json” \
-H “X-Auth-Token: トークンID” \
-d ‘{
        “metadata”: {
            “backup_schedule1”: “true”,
            “backup1_day”: “取得日“,
            “backup1_hour”: “取得時間“,
            “backup1_rotate”: “最大保存数“,
            “backup1_name”: “ネームタグ
        }
    }’ \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID/metadata

Response

HTTP/1.1 202 Accepted
Date: Wed, 06 Jul 2016 08:41:43 GMT
Server: Apache
Content-Length: 778
Content-Type: application/json

{
    “metadata”: {
        “backup_schedule1”: “True”,
        “backup1_day”: “取得日“,
        “backup1_hour”: “取得時間“,
        “readonly”: “False”,
        “backup1_rotate”: “最大保存数“,
        “backup1_name”: “ネームタグ“,
        “attached_mode”: “rw”
    }
}

 

Description

ボリュームメタデータ情報を取得します。

ボリュームの自動イメージ保存スケジュールの設定方法:

  • 各ボリュームにつき、3セットまで(backup_schedule1とbackup1_xxx~backup_schedule3とbackup3_xxx)を登録可能。
  • backup_schedule1: FalseまたはTrue
  • backup1_day: 曜日{“sun”,”mon”,”tue”,”wed”,”thu”,”fri”,”sat”} または日付{“1″~”31”} または毎日{“*”}
    (カンマ区切りで複数指定可能。ただし曜日と日付、日付と毎日、曜日と毎日を組み合わせることはできない。)
  • backup1_hour: “0”~”23″
  • backup1_rotate: “1”~”255″ または “0” “0”の場合はローテートしない。
  • backup1_name: 255バイトまでの文字列 大文字小文字英数字と、”_”と”-“が使用可能
  • タイムゾーンはUTCとなります。

Request URL

Block Storage API v2
GET /v2/{tenant_id}/volumes/{volume_id}/metadata

Request Json

This operation does not accept a request body.

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
volume_id ボリュームID URI ボリュームID

Response

Normal response codes

200

Example

Request

curl -i -X GET \
-H “Accept: application/json” \
-H “X-Auth-Token: トークンID” \
-H “Content-Type: application/json” \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID/metadata

Response

HTTP/1.1 200 OK
Date: Fri, 08 Jul 2016 08:53:20 GMT
Server: Apache
Content-Length: 3785
Content-Type: application/json

{
    “metadata”: {
        “backup1_name”: “ネームタグ“,
        “backup1_day”: “取得日“,
        “backup1_hour”: “取得時間“,
        “readonly”: “False”,
        “backup1_rotate”: “最大保存数“,
        “backup_schedule1”: “True”,
        “attached_mode”: “rw”
    }
}

 

Description

tenant_id とアップロードするボリュームの volume_id を指定し Glance イメージとして保存します。

Request URL

Block Storage API v2
POST /v2/{tenant_id}/volumes/{volume_id}/action

Request Json

{
  “os-volume_upload_image”: {
    “image_name”: “イメージ名“,
    “disk_format”: “diskフォーマット“,
    “container_format”: “コンテナフォーマット
  }
}

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
volume_id ボリュームID URI ボリュームID
image_name イメージ名 plain イメージ名

Response

Normal response codes

202

Example

Request

curl -i -X POST \
-H “Accept: application/json” \
-H “Content-Type: application/json” \
-H “X-Auth-Token: トークンID” \
-d ‘{“os-volume_upload_image”: {“image_name”: “イメージ名“}}’ \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID/action

Response

HTTP/1.1 202 Accepted
Date: Fri, 08 Jul 2016 05:54:26 GMT
Server: Apache
Content-Length: 529
Content-Type: application/json

{
    “os-volume_upload_image”: {
        “container_format”: “コンテナフォーマット“,
         “disk_format”: “diskフォーマット“,
         “display_description”: null,
         “id”: “ボリュームID“,
         “image_id”: “イメージID“,
         “image_name”: “イメージ名“,
         “size”: ボリュームサイズ,
         “status”: “uploading”,
         “updated_at”: “2016-07-07T07:17:48.00000000”,
         “volume_type”: {
            “created_at”: “2016-06-24T06:35:10.00000000”,
             “deleted”: 0,
             “deleted_at”: null,
             “id”: “ボリュームタイプID“,
             “name”: “ボリューム名“,
             “qos_specs_id”: null,
             “updated_at”: null
        }
    }
}

 

Description

イメージ一覧を取得します。

Request URL

Image API v2

GET /v2/images

Request Json

This operation does not accept a request body.

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
limit
(Optinal)
  query イメージ表示数
marker
(Optional)
  query 表示される最後のUUID
name
(Optional)
  query イメージ名
visibility
(Optional)
  query 公開(public)または、非公開(private)を指定
member_status
(Optional)
  query イメージメンバーの状態でフィルター
owner
(Optional)
  query イメージ所有者(テナントID指定)
status
(Optional)
  query イメージの状態
size_min
(Optional)
  query イメージの最小サイズ。単位は bytes
size_max
(Optional)
  query イメージの最大サイズ。単位は bytes
sort_key
(Optional)
  query ソート対象となる項目。Deault:created_at
sort_dir
(Optional)
  query ソートする方向性 default:desc
tag
(Optional)
  query イメージタグでフィルター

Response

Normal response codes

200

Example

Request

curl -i -X GET \
-H “Accept: application/json” \
-H “Content-Type: application/json” \
-H “X-Auth-Token: トークンID” \
https://image-service.odc01.eva-clouds.com/v2/images

Response

HTTP/1.1 200 OK
Date: Wed, 06 Jul 2016 05:28:22 GMT
Server: Apache
Content-Type: application/json

{
    “images”: [
        {
            “container_format”: “ovf”,
            “min_ram”: 0,
            “updated_at”: “2016-06-30T10:09:59Z”,
            “file”: “/v2/images/イメージID/file”,
            “owner”: “テナントID“,
            “id”: “イメージID“,
            “size”: 2137980928,
            “dst”: “CentOS-7.2-100GB-64bit”,
            “disk_format”: “qcow2”,
            “display_order”: “400”,
            “direct_url”: “file:///var/lib/glance/images_02/テナントID/イメージID“,
            “schema”: “/v2/schemas/image”,
            “status”: “active”,
            “tags”: [],
            “hw_qemu_guest_agent”: “yes”,
            “visibility”: “public”,
            “locations”: [
                {
                    “url”: “file:///var/lib/glance/images_02/テナントID/イメージID“,
                    “metadata”: {
                        “mount_point”: “/var/lib/glance/images_02/”,
                        “type”: “nfs”,
                       “domain_id”: “default”,
                        “share_location”: “nfs://172.25.6.242/image_vol_02”
                    }
                }
            ],
            “min_disk”: 100,
            “name”: “vmi-centos-7.2-amd64”,
            “bootable”: “true”,
            “checksum”: “4aaa4cdb95d3ddc0d59f8c6533a79afc”,
            “created_at”: “2016-06-28T06:00:58Z”,
            “protected”: false,
            “os_type”: “lin”,
            “self”: “/v2/images/イメージID
        }
    ],
    “schema”: “/v2/schemas/images”,
    “first”: “/v2/images”
}

 

Description

tenant_id,volume_idを指定しボリュームを削除します。
アタッチ中のボリュームの削除はできません。

Request URL

Block Storage API v2
DELETE /v2/{tenant_id}/volumes/{volume_id}

Request Json

This operation does not accept a request body.

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
volume_id ボリュームID URI ボリュームID

Response

Normal response codes

202

Example

Request

curl -i -X DELETE \
-H “Accept: application/json” \
-H “Content-Type: application/json” \
-H “X-Auth-Token: トークンID” \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID

Response

HTTP/1.1 202 Accepted
Date: Thu, 07 Jul 2016 02:47:35 GMT
Server: Apache
Content-Length: 0
Content-Type: application/json

 

Description

tenant_id, volume_idを指定し、ボリュームを更新します。

Request URL

Block Storage API v2
PUT /v2/{tenant_id}/volumes/{volume_id}

Request Json

{
    “volume”: {
        “description”: “ボリューム概要“,
         “name”: “ボリューム名
    }
}

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
volume_id ボリュームID URI ボリュームID
name(Optional) ボリューム名 plain ボリューム名
description(Optional) ボリューム概要 plain ボリューム概要

Response

Normal response codes

200

Example

Request

curl -i -X PUT \
-H “Accept: application/json” \
-H “Content-Type: application/json” \
-H “X-Auth-Token: トークンID” \
-d ‘{“volume”:{“name”:”ボリューム名“,”description”:”ボリューム概要“}}’ \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID

Response

HTTP/1.1 200 OK
Date: Thu, 07 Jul 2016 08:59:41 GMT
Server: Apache
Content-Length: 835
Content-Type: application/json

{
    “volume”: {
        “status”: “available”,
        “user_id”: “fe9256e97cbc4b2c8c68743e85311b84”,
        “attachments”: [],
        “links”: [
            {
                “href”: “http://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID“,
                “rel”: “self”
            },
            {
                “href”: “http://block-storage.odc01.eva-clouds.com/テナントID/volumes/ボリュームID“,
                “rel”: “bookmark”
            }
        ],
        “availability_zone”: “nova”,
        “bootable”: “true”,
        “encrypted”: false,
        “created_at”: “2016-07-06T06:47:22.000000”,
        “description”: “ボリューム概要“,
        “volume_type”: “ボリュームタイプ名“,
        “name”: “ボリューム名“,
        “replication_status”: “disabled”,
        “consistencygroup_id”: null,
        “source_volid”: null,
        “snapshot_id”: null,
        “metadata”: {},
        “id”: “ボリュームID“,
        “size”: ボリュームサイズ
    }
}

 

Description

tenant_id を指定し json パラメータで指定した内容のボリュームを作成します。
boot用volume作成時はimageRefが必須です。
ボリューム複製時はsource_volidを指定します。
ボリュームサイズ「50」はボリュームタイプ名「sd1-iops-500」のみ作成できます。

Request URL

 Block Storage API v2
POST /v2/{tenant_id}/volumes

Request Json

{
  “volume”: {
    “name”: “ボリューム名“,
    “size”: “ボリュームサイズ“,
    “volume_type”: “ボリュームタイプ名“,
    “imageRef”: “イメージID
  }
}

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
name ボリューム名 plain ボリューム名
size ボリュームサイズ plain 容量
volume_type ボリュームタイプ名 plain ボリュームタイプ名
imageRef (Optional) イメージID plain ブート用のボリューム作成時は必須
description (Optional) ボリューム概要 plain ボリューム概要
source_volid (Optional) 複製元のボリュームID plain サイズの変更はできない

Response

Normal response codes

202

Example

Request

curl -i -X POST \
-H “Accept: application/json” \
-H “Content-Type: application/json” \
-H “X-Auth-Token: トークンID” \
-d ‘{“volume”:{“size”:ボリュームサイズ,”name”:”ボリューム名“,”volume_type”:”ボリュームタイプ名“,”imageRef”:”イメージID“}}’ \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes

Response

HTTP/1.1 202 Accepted
Date: Wed, 06 Jul 2016 08:41:43 GMT
Server: Apache
Content-Length: 778
Content-Type: application/json

{
    “volume”: {
        “status”: “creating”,
        “user_id”: “fe9256e97cbc4b2c8c68743e85311b84”,
        “attachments”: [],
        “links”: [
            {
                “href”: “http://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID“,
                “rel”: “self”
            },
            {
                “href”: “http://block-storage.odc01.eva-clouds.com/テナントID/volumes/ボリュームID“,
                “rel”: “bookmark”
            }
        ],
        “availability_zone”: “nova”,
        “bootable”: “false”,
        “encrypted”: false,
        “created_at”: “2016-07-06T06:47:22.497317”,
        “description”: null,
        “volume_type”: “ボリュームタイプ名“,
        “name”: “ボリューム名“,
        “replication_status”: “disabled”,
        “consistencygroup_id”: null,
        “source_volid”: null,
        “snapshot_id”: null,
        “metadata”: [],
        “id”: “ボリュームID“,
        “size”: ボリュームサイズ
    }
}

Description

tenant_id,volume_idを指定してボリューム詳細を取得します。

Request URL

Block Storage API v2
GET /v2/{tenant_id}/volumes/{volume_id}

Request Json

This operation does not accept a request body.

Request Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id Tenant ID URI テナントID
volume_id ボリュームID URI ボリュームID

Response

Normal response codes

200

Example

Request

curl -i -X GET \
-H “Accept: application/json” \
-H “X-Auth-Token: トークンID” \
https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID

Response

HTTP/1.1 200 OK
Date: Thu, 07 Jul 2016 01:14:42 GMT
Server: Apache
Content-Length: 1377
Content-Type: application/json

{
    “volume”: {
        “attachments”: [],
         “availability_zone”: “nova”,
         “bootable”: “true”,
         “consistencygroup_id”: null,
         “created_at”: “2016-07-06T06:47:22.000000”,
         “description”: null,
         “encrypted”: false,
         “id”: “ボリュームID“,
         “links”: [
           {
                “href”: “https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID“,
                 “rel”: “self”
            },
             {
                “href”: “https://block-storage.odc01.eva-clouds.com/v2/テナントID/volumes/ボリュームID“,
                 “rel”: “bookmark”
            }
        ],
         “metadata”: {},
         “name”: “ボリューム名“,
         “os-vol-tenant-attr:tenant_id”: “テナントID“,
         “os-volume-replication:driver_data”: null,
         “os-volume-replication:extended_status”: null,
         “replication_status”: “disabled”,
         “size”: ボリュームサイズ,
         “snapshot_id”: null,
         “source_volid”: null,
         “status”: “available”,
         “user_id”: “fe9256e97cbc4b2c8c68743e85311b84”,
         “volume_image_metadata”: {
            “bootable”: “true”,
             “checksum”: “4aaa4cdb95d3ddc0d59f8c6533a79afc”,
             “container_format”: “ovf”,
             “disk_format”: “qcow2”,
             “display_order”: “400”,
             “dst”: “CentOS-7.2-100GB-64bit”,
             “hw_qemu_guest_agent”: “yes”,
             “image_id”: “イメージID“,
             “image_name”: “vmi-centos-7.2-amd64”,
             “min_disk”: “100”,
             “min_ram”: “0”,
             “os_type”: “lin”,
             “size”: “2137980928”
        },
         “volume_type”: “ボリュームタイプ名
    }
}