Compute > Image > API v2ガイド

APIを使用するには、APIエンドポイントとトークンなどが必要です。 API使用準備を参照してAPIを使用するために必要な情報を準備します。

イメージAPIは、imageタイプエンドポイントを利用します。正確なエンドポイントはトークン発行レスポンスのserviceCatalogを参照します。

タイプ リージョン エンドポイント
image 韓国(パンギョ)リージョン
韓国(坪村)リージョン
日本リージョン
https://kr1-api-image.infrastructure.cloud.toast.com
https://kr2-api-image.infrastructure.cloud.toast.com
https://jp1-api-image.infrastructure.cloud.toast.com

APIレスポンスにガイドに明示されていないフィールドが表示される場合があります。それらのフィールドは、NHN Cloud内部用途で使用され、事前に告知せずに変更する場合があるため使用しないでください。

イメージ

イメージリスト照会

GET /v2/images
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
tokenId Header String O トークンID
limit Query Integer - 返すイメージの個数。(基本値は20)
marker Query UUID - 照会するイメージリストの最初のイメージID
ソート方式に従ってmarkerに指定されたイメージからlimit分のイメージリストを照会
name Query String - 照会するイメージ名
visibility Query Enum - 照会するイメージの表示プロパティ
public, privatesharedの中から1つの値のみ選択可能
省略するとすべての種類のイメージリストを返す
owner Query String - 照会するイメージが属しているテナントID
status Query Enum - 照会するイメージの状態
queued:イメージをコンバーティング中
saving:イメージをアップロード中
active:正常
killed:システムによってイメージ削除
deleted:削除されたイメージ
pending_delete:イメージ削除待機中
size_min Query Integer - 照会するイメージの最小サイズ(Byte)
size_max Query Integer - 照会するイメージの最大サイズ(Byte)
sort_key Query String - イメージリストをソートする時に使用するプロパティ
イメージのすべてのプロパティを指定可能。基本値はcreated_at
sort_dir Query Enum - イメージリストのソート方向
asc (昇順)、desc (降順)のうち、1つの値のみ選択可能。基本値は降順

レスポンス

名前 種類 形式 説明
images Body Array イメージリストオブジェクト
images.status Body String イメージの状態
queuedsavingactivekilleddeletedpending_deleteのいずれか1つ。
images.name Body String イメージの名前
images.tag Body String イメージタグ
_AVAILABLE_タグを削除すると、コンソールでは照会できないため、タグを削除しないでください。
images.container_format Body String イメージコンテナフォーマット
images.created_at Body Datetime 作成時刻
images.disk_format Body String イメージディスクフォーマット
images.updated_at Body Datetime 修正時刻
images.min_disk Body Integer イメージの最小ディスク要求量(GB)
min_diskの値より大きいボリュームでのみ使用できる。
images.protected Body Boolean イメージの保護有無
protected=trueの場合、修正および削除不可
images.id Body UUID イメージID
images.min_ram Body Integer イメージ最小メモリ要求量(MB)
min_diskの値より大きいインスタンスでのみ使用できる
images.checksum Body String イメージ内容ハッシュ値
内部的にイメージの有効性を検証するために使用
images.owner Body String イメージが属しているテナントID
images.visibility Body Enum イメージの可視性
publicprivatesharedのいずれか1つ。
images.virtual_size Body Integer イメージの仮想サイズ
images.size Body Integer イメージの実際のサイズ(Byte)
images.properties Body Object イメージプロパティオブジェクト
イメージごとにユーザー指定プロパティをキーと値のペアで記述
images.self Body URI イメージのパス
images.file Body String イメージファイルのパス
images.schema Body URI イメージスキーマのパス
schema Body URI イメージリストスキーマのパス
first Body URI イメージリストの最初のページに該当するパス
next Body URI イメージリストの次のページに該当するパス

{
  "images": [
    {
      "container_format": "bare",
      "min_ram": 0,
      "updated_at": "2018-12-11T01:01:35Z",
      "login_username": "centos",
      "file": "/v2/images/1c868787-6207-4ff2-a1e7-ae1331d6829b/file",
      "owner": "c289b99209ca4e189095cdecebbd092d",
      "id": "1c868787-6207-4ff2-a1e7-ae1331d6829b",
      "size": 1778843648,
      "os_distro": "CentOS",
      "self": "/v2/images/1c868787-6207-4ff2-a1e7-ae1331d6829b",
      "disk_format": "qcow2",
      "os_version": "6.10",
      "schema": "/v2/schemas/image",
      "status": "active",
      "description": "CentOS 6.10 (2018.10.23)",
      "tags": [],
      "visibility": "public",
      "os_architecture": "amd64",
      "min_disk": 20,
      "virtual_size": null,
      "name": "CentOS 6.10 (2018.10.23)",
      "hypervisor_type": "qemu",
      "created_at": "2018-10-23T02:17:43Z",
      "protected": true,
      "checksum": "f803c5c15bcf9a75935980a900a04584",
      "os_type": "linux"
    }
  ],
  "schema": "/v2/schemas/images",
  "first": "/v2/images",
  "next": "/v2/images?marker=057f9a69-4e4c-4025-8a69-fa248cd9db94"
}


イメージ表示

GET /v2/images/{imageId}
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
imageId URL UUID O 照会するイメージID
tokenId Header String O トークンID

レスポンス

名前 種類 形式 説明
image.status Body String イメージの状態
image.name Body String イメージの名前
image.tag Body String イメージタグ
_AVAILABLE_タグを削除すると、コンソールでは照会されないため、タグを削除しないでください。
image.container_format Body String イメージコンテナフォーマット
image.created_at Body Datetime 作成時刻
image.disk_format Body String イメージディスクフォーマット
image.updated_at Body Datetime 修正時刻
image.min_disk Body Integer イメージ最小ディスク要求量(GB)
min_diskの値より大きいボリュームでのみ使用できる
image.protected Body boolean イメージ保護有無
protected=trueの場合、修正および削除不可
image.id Body UUID イメージID
image.min_ram Body Integer イメージ最小メモリ要求量(MB)
min_diskの値より大きいインスタンスでのみ使用できる
image.checksum Body String イメージ内容のハッシュ値
内部的にイメージの有効性を検証するために使用
image.owner Body String イメージが属しているテナントID
image.visibility Body Enum イメージの可視性
publicprivatesharedのいずれか1つ。
image.virtual_size Body Integer イメージの仮想サイズ
image.size Body Integer イメージの実際のサイズ(Byte)
image.properties Body Object イメージプロパティオブジェクト
イメージごとにユーザー指定プロパティをキーと値のペアで記述
image.self Body URI イメージのパス
image.file Body String イメージファイルのパス
image.schema Body URI イメージスキーマのパス

{
  "container_format": "bare",
  "min_ram": 0,
  "updated_at": "2018-12-11T01:01:35Z",
  "login_username": "centos",
  "file": "/v2/images/1c868787-6207-4ff2-a1e7-ae1331d6829b/file",
  "owner": "c289b99209ca4e189095cdecebbd092d",
  "id": "1c868787-6207-4ff2-a1e7-ae1331d6829b",
  "size": 1778843648,
  "os_distro": "CentOS",
  "self": "/v2/images/1c868787-6207-4ff2-a1e7-ae1331d6829b",
  "disk_format": "qcow2",
  "os_version": "6.10",
  "schema": "/v2/schemas/image",
  "status": "active",
  "description": "CentOS 6.10 (2018.10.23)",
  "tags": [],
  "visibility": "public",
  "os_architecture": "amd64",
  "min_disk": 20,
  "virtual_size": null,
  "name": "CentOS 6.10 (2018.10.23)",
  "hypervisor_type": "qemu",
  "created_at": "2018-10-23T02:17:43Z",
  "protected": true,
  "checksum": "f803c5c15bcf9a75935980a900a04584",
  "os_type": "linux"
}


イメージ削除

可視性がpublicのイメージは削除できません。

DELETE /v2/images/{imageId}
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
imageId URL String O 削除するイメージID
tokenId Header String O トークンID

レスポンス

このAPIはレスポンス本文を返しません。


イメージタグ

タグを追加する

指定したイメージにタグを追加します。

PUT /v2/images/{imageId}/tags/{tag}
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
imageId URL UUID O タグを追加するイメージID
tag URL String O 追加するタグ名(英字基準最大255文字)
(注意) _で始まるタグは使用できません。
tokenId Header String O トークンID

レスポンス

このAPIはレスポンス本文を返しません。


タグを削除する

指定したイメージからタグを削除します。

DELETE /v2/images/{imageId}/tags/{tag}
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
imageId URL UUID O タグを削除するイメージID
tag URL String O 削除するタグ名
tokenId Header String O トークンID

レスポンス

このAPIはレスポンス本文を返しません。


イメージ共有

イメージ共有を通して、自分のテナントに属しているイメージを他のテナントに共有できます。次の2段階によりイメージを共有します。

  1. イメージの可視性をsharedに変更
  2. 共有を受けるテナントをイメージのメンバーに登録

共有したイメージは共有されたテナントですぐに使用できますが、イメージリスト照会では表示されません。共有されたテナントでメンバーの状態をactiveに変更すると、共有されたイメージが照会されます。

可視性の変更

PATCH /v2/images/{imageId}
X-Auth-Token: {tokenId}
Content-Type: application/openstack-images-v2.1-json-patch

リクエスト

名前 種類 形式 必須 説明
imageId URL UUID O 共有するイメージID
tokenId Header String O トークンID
op Body String O replaceに指定
path Body String O /visibilityに指定
value Body String O 変更する可視性の値。 privateまたはshared

[
    {
        "op" : "replace",
        "path" : "/visibility",
        "value" : "shared"
    }
]

レスポンス

イメージ表示と同じレスポンスを返します。


メンバー追加

共有を受けるテナントを、指定したイメージのメンバーに登録します。

POST /v2/images/{imageId}/members
X-Auth-Token: {tokenId}

1つのイメージの最大メンバー数は127に制限されます。

リクエスト

名前 種類 形式 必須 説明
imageId URL UUID O 共有するイメージID
tokenId Header String O トークンID
member Body String O 共有を受けるテナントID

{
    "member": "8989447062e04a818baf9e073fd04fa7"
}

レスポンス

名前 種類 形式 説明
created_at Body Datetime メンバー作成日時
YYYY-MM-DDThh:mm:ssZの形式
image_id Body UUID 共有したイメージID
member_id Body String イメージを共有されたテナントID
schema Body URI イメージメンバーのスキーマパス
status Body Enum イメージメンバーの状態
pendingacceptedのいずれか

{
    "created_at": "2013-09-20T19:22:19Z",
    "image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6",
    "member_id": "8989447062e04a818baf9e073fd04fa7",
    "schema": "/v2/schemas/member",
    "status": "pending",
    "updated_at": "2013-09-20T19:25:31Z"
}


メンバーリスト表示

指定したイメージを共有されたテナントリストを照会します。必ず該当イメージが属しているテナントや共有されたテナントのトークンでリクエストします。

GET /v2/images/{imageId}/members
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
imageId URL UUID O イメージID
tokenId Header String O トークンID

レスポンス

名前 種類 形式 説明
members Body Object メンバーオブジェクトリスト
members.created_at Body Datetime メンバー作成日時YYYY-MM-DDThh:mm:ssZの形式
members.image_id Body UUID 共有したイメージID
members.member_id Body String イメージを共有されたテナントID
members.schema Body URI イメージメンバースキーマのパス
members.status Body Enum イメージメンバーの状態。 pendingacceptedのいずれか。
schema Body URI イメージメンバーリストのスキーマパス

{
    "members": [
        {
            "created_at": "2013-10-07T17:58:03Z",
            "image_id": "dbc999e3-c52f-4200-bedd-3b18fe7f87fe",
            "member_id": "123456789",
            "schema": "/v2/schemas/member",
            "status": "pending",
            "updated_at": "2013-10-07T17:58:03Z"
        },
        {
            "created_at": "2013-10-07T17:58:55Z",
            "image_id": "dbc999e3-c52f-4200-bedd-3b18fe7f87fe",
            "member_id": "987654321",
            "schema": "/v2/schemas/member",
            "status": "accepted",
            "updated_at": "2013-10-08T12:08:55Z"
        }
    ],
    "schema": "/v2/schemas/members"
}


メンバー詳細表示

指定したイメージの特定メンバーについての詳細情報を返します。必ず該当イメージが属しているテナントや、共有を受けたテナントのトークンでリクエストします。

GET /v2/images/{imageId}/members/{memberId}
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
imageId URL UUID O イメージID
memberId URL String O メンバーID
tokenId Header String O トークンID

レスポンス

名前 種類 形式 説明
created_at Body Datetime メンバー作成日時YYYY-MM-DDThh:mm:ssZの形式
image_id Body UUID 共有したイメージID
member_id Body String イメージを共有されたテナントID
schema Body URI イメージメンバースキーマのパス
status Body Enum イメージメンバーの状態。 pendingacceptedのいずれか。

{
    "status": "pending",
    "created_at": "2013-11-26T07:21:21Z",
    "updated_at": "2013-11-26T07:21:21Z",
    "image_id": "0ae74cc5-5147-4239-9ce2-b0c580f7067e",
    "member_id": "8989447062e04a818baf9e073fd04fa7",
    "schema": "/v2/schemas/member"
}


メンバーの状態変更

共有を受けたテナントで、共有されたイメージを承認します。イメージの共有を承認すると、イメージリスト照会でも該当イメージが照会されます。必ず共有を受けたテナントのトークンでリクエストします。

PUT /v2/images/{imageId}/members/{memberId}
X-Auth-Token: {tokenId}

リクエスト

名前 種類 形式 必須 説明
imageId URL UUID O イメージID
memberId URL String O メンバーID
tokenId Header String O トークンID
status Body Enum O accepted, pendingrejectedのいずれか。

{
    "status": "accepted"
}

レスポンス

名前 種類 タイプ 説明
created_at Body Datetime メンバー作成日時
YYYY-MM-DDThh:mm:ssZ形式
image_id Body UUID 共有したイメージID
member_id Body String イメージの共有を受けたテナントID
schema Body URI イメージメンバースキーマのパス
status Body Enum イメージメンバーの状態
accpetedpendingrejectedのうち、いずれか1つ。
updated_at Body Datetime メンバー状態の修正日時
YYYY-MM-DDThh:mm:ssZ形式

{
    "created_at": "2013-09-20T19:22:19Z",
    "image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6",
    "member_id": "8989447062e04a818baf9e073fd04fa7",
    "schema": "/v2/schemas/member",
    "status": "accepted",
    "updated_at": "2013-09-20T20:15:31Z"
}


メンバーの削除

指定したイメージのメンバーを削除します。共有をキャンセルする時に使用します。必ず指定したイメージが属しているテナントのトークンでリクエストする必要があります。

DELETE /v2/images/{imageId}/members/{memberId}
X-Auth-Token: {tokenId}

リクエスト

このAPIはリクエスト本文を要求しません。

名前 種類 形式 必須 説明
imageId URL UUID O イメージID
memberId URL String O メンバーID
tokenId Header String O トークンID

レスポンス

このAPIはレスポンス本文を返しません。

TOP