華為云計算 云知識 更新鏡像信息(OpenStack原生)GlanceUpdateImage
更新鏡像信息(OpenStack原生)GlanceUpdateImage

 

功能介紹

修改 鏡像 信息。

約束與限制

更新鏡像目前只能更新用戶自定義屬性,或者鏡像的名稱和描述信息,其他屬性不允許用戶更新。

調(diào)試

您可以在API Explorer中調(diào)試該接口。

URI

PATCH /v2/images/{image_id}

參數(shù)說明請參見表1。

表1 參數(shù)說明

參數(shù)

是否必選

參數(shù)類型

描述

image_id

String

鏡像ID。

如何獲取鏡像ID,請參見查詢鏡像列表。

請求消息

  • 請求參數(shù)

    Glance有兩種方式的更新操作,通過http header里的Content-Type指定,當(dāng)前支持“application/openstack-images-v2.0-json-patch”、“application/openstack-images-v2.1-json-patch”兩種Content-Type。不同的Content-Type區(qū)別只是請求消息體格式不同。

    表2 v2.1版本請求消息體

    參數(shù)

    是否必選

    參數(shù)類型

    描述

    [數(shù)組]

    Array of objects

    詳情請參見表3。

    表3 [數(shù)組]字段說明

    參數(shù)

    參數(shù)類型

    是否必選

    描述

    op

    String

    所需進行的更新操作的類型:替換、添加、刪除。

    取值范圍:replace、add、remove

    path

    String

    所要操作的屬性名稱。

    replace和remove操作取值只能是鏡像當(dāng)前已有的屬性;add操作取值可以為當(dāng)前已有屬性和不存在的屬性,如果為已有屬性則執(zhí)行效果同replace,如果是不存在的屬性則執(zhí)行add,需要在屬性名稱前加“/”。

    value

    String

    所需更新/添加屬性的值。

    根據(jù)op的value決定,replace、add需要指定,remove不需要

    表4 v2.0版本請求消息體

    參數(shù)

    是否必選

    參數(shù)類型

    描述

    [數(shù)組]

    Array of objects

    詳情請參見表5。

    表5 [數(shù)組]字段說明

    參數(shù)

    參數(shù)類型

    是否必選

    描述

    replace

    String

    取值三選一

    key為replace表示替換鏡像的相關(guān)屬性,值為所要替換的屬性需要在屬性名稱前加“/”

    add

    String

    key為add表示添加鏡像屬性,值為所要添加的屬性名稱,需要在屬性名稱前加“/”

    remove

    String

    key為remove表示刪除鏡像屬性,值為所要刪除的屬性名稱需要在屬性名稱前加“/”

    value

    String

    根據(jù)前面的key決定,replace和add需要指定,remove不需要。

    所需更新/添加的屬性的值。參數(shù)說明請參考鏡像屬性。

請求示例

  • 通過V2.1版本更新鏡像名稱為ims_test01。
    PATCH https://{Endpoint}/v2/images/33ad552d-1149-471c-8190-ff6776174a00
    
    "Content-Type:application/openstack-images-v2.1-json-patch"   
    [
         {
             "op": "replace",
             "path": "/name",
             "value": "test01"
         }
    ]
    
  • 通過V2.0版本更新鏡像名稱為ims_test01。
    PATCH https://{Endpoint}/v2/images/33ad552d-1149-471c-8190-ff6776174a00
    
    "Content-Type:application/openstack-images-v2.0-json-patch"
    [
         {
             "replace": "/name",
             "value": "test01"       
         }
    ]     
    

響應(yīng)消息

  • 響應(yīng)參數(shù)

    參數(shù)

    參數(shù)類型

    描述

    file

    String

    鏡像文件下載和上傳鏈接。

    owner

    String

    鏡像屬于哪個租戶。

    id

    String

    鏡像ID。

    size

    Long

    目前暫時不使用。

    self

    String

    鏡像鏈接信息。

    schema

    String

    鏡像視圖。

    status

    String

    鏡像狀態(tài)。取值如下:

    • queued:表示鏡像元數(shù)據(jù)已經(jīng)創(chuàng)建成功,等待上傳鏡像文件。
    • saving:表示鏡像正在上傳文件到后端存儲。
    • deleted:表示鏡像已經(jīng)刪除。
    • killed:表示鏡像上傳錯誤。
    • active:表示鏡像可以正常使用。

    tags

    Array of strings

    鏡像標(biāo)簽列表,提供用戶可以自定義管理私有鏡像的能力。用戶可以通過鏡像標(biāo)簽接口為每個鏡像增加不同的標(biāo)簽,在查詢接口中可以根據(jù)標(biāo)簽進行過濾。

    visibility

    String

    是否被其他租戶可見。取值如下:

    • private:私有鏡像
    • public:公共鏡像
    • shared:共享鏡像

    name

    String

    鏡像名稱。name參數(shù)說明請參考鏡像屬性。

    checksum

    String

    目前暫時不使用。

    protected

    Boolean

    是否是受保護的,受保護的鏡像不允許刪除。取值為true或false。

    container_format

    String

    容器類型。

    min_ram

    Integer

    鏡像運行需要的最小內(nèi)存,單位為MB。參數(shù)取值依據(jù) 云服務(wù)器 的規(guī)格限制,默認設(shè)置為0。

    云服務(wù)器的規(guī)格限制,請參見規(guī)格清單

    max_ram

    String

    鏡像支持的最大內(nèi)存,單位為MB。參數(shù)取值可以參考云服務(wù)器的規(guī)格限制,默認不設(shè)置。

    云服務(wù)器的規(guī)格限制,請參見規(guī)格清單

    updated_at

    String

    更新時間。格式為UTC時間。

    __os_bit

    String

    操作系統(tǒng)位數(shù),一般取值為“32”或者“64”。

    __os_version

    String

    操作系統(tǒng)具體版本。

    __description

    String

    鏡像描述信息。_description參數(shù)說明請參考鏡像屬性。

    disk_format

    String

    鏡像格式,目前支持zvhd2、vhd、zvhd、raw、qcow2、iso。非iso格式時默認值是zvhd2。

    __isregistered

    String

    是否是注冊過的鏡像,取值為“true”或者“false”。

    __platform

    String

    鏡像平臺分類,取值為Windows、Ubuntu、Red Hat、SUSE、CentOS、Debian、OpenSUSE、Oracle Linux、Fedora、Other、CoreOS和EulerOS。

    __os_type

    String

    操作系統(tǒng)類型,目前取值Linux、Windows、Other。

    __system__cmkid

    String

    加密鏡像所使用的密鑰ID。

    min_disk

    Integer

    鏡像運行需要的最小磁盤容量,單位為GB 。取值為40~1024GB。

    virtual_env_type

    String

    鏡像使用環(huán)境類型:FusionCompute、Ironic、DataImage、IsoImage。

    • 如果是云服務(wù)器鏡像(即系統(tǒng)盤鏡像),則取值為FusionCompute。
    • 如果是數(shù)據(jù)盤鏡像,則取值是DataImage。
    • 如果是 裸金屬服務(wù)器 鏡像,則取值是Ironic。
    • 如果是ISO鏡像,則取值是IsoImage。

    __image_source_type

    String

    鏡像后端存儲類型,目前只支持uds。

    __imagetype

    String

    鏡像類型,目前支持:

    • 公共鏡像(gold)
    • 私有鏡像(private)
    • 共享鏡像(shared)
    • 市場鏡像(market)

    created_at

    String

    創(chuàng)建時間。格式為UTC時間。

    virtual_size

    Integer

    目前暫時不使用。

    __originalimagename

    String

    父鏡像ID。

    公共鏡像或通過文件創(chuàng)建的私有鏡像,取值為空。

    __backup_id

    String

    備份ID。如果是備份創(chuàng)建的鏡像,則填寫為備份的ID,否則無此參數(shù)。

    __productcode

    String

    市場鏡像的產(chǎn)品ID。

    __image_size

    String

    鏡像文件的大小,單位為字節(jié)。必須大于0。

    __data_origin

    String

    鏡像來源。

    公共鏡像為空。

    __root_origin

    String

    表示當(dāng)前鏡像來源是從外部導(dǎo)入。取值:file。

    __lazyloading

    String

    鏡像是否支持延遲加載。取值為true、false、True或False。

    active_at

    String

    鏡像狀態(tài)變?yōu)檎5臅r間。

    __os_feature_list

    String

    鏡像附加屬性。該屬性采用JSON格式來標(biāo)識鏡像支持的高級特性清單。

    __account_code

    String

    收費鏡像標(biāo)識。

    hw_firmware_type

    String

    云服務(wù)器的啟動方式。目前支持:

    • bios:表示bios引導(dǎo)啟動。如果無此參數(shù),表示bios啟動方式。
    • uefi:表示uefi引導(dǎo)啟動。
    說明:

    當(dāng)鏡像的架構(gòu)類型為ARM時,啟動方式只支持uefi。

    hw_vif_multiqueue_enabled

    String

    鏡像是否支持網(wǎng)卡多隊列。取值為“true”或者“false”。

    __support_kvm

    String

    如果鏡像支持KVM,取值為true,否則無需增加該屬性。

    __support_xen

    String

    如果鏡像支持XEN,取值為true,否則無需增加該屬性。

    __support_largememory

    String

    表示該鏡像是否支持超大內(nèi)存特性。如果鏡像支持超大內(nèi)存,取值為true,否則無此屬性。

    鏡像操作系統(tǒng)類型請參考“彈性云服務(wù)器類型與支持的操作系統(tǒng)版本”。

    __support_diskintensive

    String

    表示該鏡像是否支持密集存儲性特性。如果鏡像支持密集存儲性能,則值為true,否則無此屬性。

    __support_highperformance

    String

    表示該鏡像是否支持高計算性能的特性。如果鏡像支持高計算性能,則值為true,否則無此屬性。

    __support_xen_gpu_type

    String

    表示該鏡像是支持XEN虛擬化平臺下的GPU類型,取值參考表2。如果不支持,則無此屬性。該屬性與“__support_xen”和“__support_kvm”屬性不共存。

    __support_kvm_gpu_type

    String

    表示該鏡像是支持KVM虛擬化平臺下的GPU類型,取值參考表3。

    如果不支持,則無此屬性。該屬性與“__support_xen”和“__support_kvm”屬性不共存。

    __support_xen_hana

    String

    如果鏡像支持XEN虛擬化下HANA類型,取值為true。否則,無此屬性。

    該屬性與“__support_xen”和“__support_kvm”屬性不共存。

    __support_kvm_infiniband

    String

    如果鏡像支持KVM虛擬化下Infiniband網(wǎng)卡類型,取值為true。否則,無此屬性。

    該屬性與“__support_xen”屬性不共存。

    __is_offshelved

    String

    表示當(dāng)前市場鏡像是否下架。

    • true:已下架
    • false:未下架

    enterprise_project_id

    String

    表示當(dāng)前鏡像所屬的企業(yè)項目。

    • 取值為0或無該值,表示屬于default企業(yè)項目。
    • 取值為UUID,表示屬于該UUID對應(yīng)的企業(yè)項目。

      關(guān)于企業(yè)項目特性的詳細信息,請參考“企業(yè)中心總覽”。

    __sequence_num

    String

    表示當(dāng)前鏡像對應(yīng)云服務(wù)器的系統(tǒng)盤插槽位置。

    目前暫不使用。

    __support_fc_inject

    String

    表示當(dāng)前鏡像支持Cloud-Init密碼/密鑰注入方式。

    如果取值為“true”,表示該鏡像不支持Cloud-Init注入密碼/密鑰,其他取值時表示支持Cloud-Init注入密鑰/密碼。

    說明:

    該特性參數(shù)只對ECS系統(tǒng)盤鏡像生效,其他類型鏡像不生效。

    __support_arm

    String

    是否為ARM架構(gòu)類型的鏡像。取值為“true”或者“false”。

    __image_location

    String

    鏡像的存儲位置。

    __is_config_init

    String

    是否完成了初始化配置。取值為“true”或者“false”。

    __support_amd

    String

    是否是AMD架構(gòu)類型的鏡像。取值為“true”或者“false”。

    __support_agent_list

    String

    鏡像是否支持 企業(yè)主機安全 或主機監(jiān)控。

    • hss:企業(yè) 主機安全

      企業(yè)主機安全(Host Security Service, HSS )是提升服務(wù)器整體安全性的服務(wù),通過主機管理、風(fēng)險防御、入侵檢測、安全運營、網(wǎng)頁防篡改功能,可全面識別并管理云服務(wù)器中的信息資產(chǎn),實時監(jiān)測云服務(wù)器中的風(fēng)險,降低服務(wù)器被入侵的風(fēng)險。

    • ces:主機監(jiān)控

      監(jiān)控是保持彈性云服務(wù)器可靠性、可用性和性能的重要部分,通過監(jiān)控,用戶可以觀察彈性云服務(wù)器資源。為使用戶更好地掌握自己的彈性云服務(wù)器運行狀態(tài),云服務(wù)平臺提供了 云監(jiān)控 。您可以使用該服務(wù)監(jiān)控您的彈性云服務(wù)器,執(zhí)行自動實時監(jiān)控、告警和通知操作,幫助您更好地了解彈性云服務(wù)器的各項性能指標(biāo)。

    取值樣例:

    "__support_agent_list": "hss,ces"

    說明:

    如果查詢結(jié)果無此字段,表示鏡像不支持企業(yè)主機安全或主機監(jiān)控。

  • 響應(yīng)樣例
    STATUS CODE 200
    {  
        "file": "/v2/images/33ad552d-1149-471c-8190-ff6776174a00/file",  
        "owner": "0b1e494e2660441a957313163095fe5c",  
        "id": "33ad552d-1149-471c-8190-ff6776174a00",  
        "size": 2,  
        "self": "/v2/images/33ad552d-1149-471c-8190-ff6776174a00",  
        "schema": "/v2/schemas/image",  
        "status": "active",  
        "tags": [],  
        "visibility": "private",  
        "name": "ims_test",  
        "checksum": "99914b932bd37a50b983c5e7c90ae93b",  
        "protected": false,  
        "container_format": "bare",  
        "min_ram": 0,  
        "updated_at": "2015-12-08T02:30:49Z",  
        "__os_bit": "64",  
        "__os_version": "Ubuntu 14.04 server 64bit",  
        "__description": "ims test",  
        "disk_format": "vhd",  
        "__isregistered": "true",  
        "__platform": "Ubuntu",  
        "__os_type": "Linux",  
        "min_disk": 40,  
        "virtual_env_type": "FusionCompute",  
        "__image_source_type": "uds",  
        "__imagetype": "private",  
        "created_at": "2015-12-04T09:45:33Z",  
        "virtual_size": 0,  
        "__originalimagename": "33ad552d-1149-471c-8190-ff6776174a00",  
        "__backup_id": "",  
        "__productcode": "",  
        "__image_size": "449261568",  
        "__data_origin": null,
        "hw_firmware_type":"bios"
    }
    

返回值

  • 正常

    200

  • 異常

    返回值

    說明

    400 Bad Request

    請求錯誤,具體返回錯誤碼請參錯誤碼。

    401 Unauthorized

    鑒權(quán)失敗。

    403 Forbidden

    沒有操作權(quán)限。

    404 Not Found

    找不到資源。

    500 Internal Server Error

    服務(wù)內(nèi)部錯誤。

    503 Service Unavailable

    服務(wù)不可用。