Update an image
PATCH /v2/images/{image_id}
Normal response codes: 200
リクエストヘッダーのContent-Typeには、application/openstack-images-v2.1-json-patchを指定する必要があります。
e7db3b45-8db7-47ad-8109-3fb55c2c24fd as an example:
[
{"op": "replace", "path": "/name", "value": "Fedora 17"},
{"op": "replace", "path": "/tags", "value": ["fedora", "beefy"]}
]
レスポンスボディ部には、更新後のイメージエンティティが表示されます。以下はその一例です。
{
"id": "e7db3b45-8db7-47ad-8109-3fb55c2c24fd",
"name": "Fedora 17",
"status": "queued",
"visibility": "private",
"tags": ["fedora", "beefy"],
"created_at": "2012-08-11T17:15:52Z",
"updated_at": "2012-08-11T17:15:52Z",
"self": "/v2/images/e7db3b45-8db7-47ad-8109-3fb55c2c24fd",
"file": "/v2/images/e7db3b45-8db7-47ad-8109-3fb55c2c24fd/file",
"schema": "/v2/schemas/image"
}
PATCHメソッドを利用してイメージプロパティの追加や削除を行うこともできる。"login-user"などユーザー定義のカスタムプロパティをイメージに追加するには、以下の例のようなリクエストを使用する。
[
{"op": "add", "path": "/login-user", "value": "kvothe"}
]
同様に、"login-user"などのプロパティをイメージから削除するには、以下の例のようなリクエストを使用する。
[
{"op": "remove", "path": "/login-user"}
]
メディア形式の"application/openstack-images-v2.1-json-patch"の詳細については、付録Bを参照。
プロパティ保護
Images APIバージョン2.2では、クラウドプロバイダーはプロパティ保護機能を利用することができます。プロパティによって、管理者以外のユーザーが更新や削除できないものがあります。