Updated on 2024-04-17 GMT+08:00

Updating Image Information (Native OpenStack API)

Function

This API is used to modify image information.

Constraints

Only customized attributes, image name, and image description can be modified.

URI

PATCH /v2/images/{image_id}

Table 1 lists the parameters in the URI.

Table 1 Parameter description

Parameter

Mandatory

Type

Description

image_id

Yes

String

Specifies the image ID.

For details about how to obtain the image ID, see Querying Images.

Request

  • Request parameters

    Glance has two methods of updating image information. The method is specified by Content-Type in the HTTP header. application/openstack-images-v2.0-json-patch and application/openstack-images-v2.1-json-patch are supported. Content types differ only in the format of the request message body.

    Table 2 v2.1 request message body

    Parameter

    Mandatory

    Type

    Description

    [Array]

    Yes

    Array of objects

    For details, see Table 3.

    Table 3 Data structure description of the [Array] field

    Parameter

    Type

    Mandatory

    Description

    op

    String

    Yes

    Indicates the type of the update operation, including replacing, adding, and deleting an attribute.

    The value can be replace, add, or remove.

    path

    String

    Yes

    Indicates the name of the target attribute.

    For replace and remove, the value can only be an existing attribute of the image. For add, the value can be an existing or a new attribute. If the value is an existing attribute, add takes the same effect as replace. If the value is a new attribute, the add operation is performed. Add a slash (/) before the attribute name.

    value

    String

    No

    Indicates the value of the attribute to be updated or added.

    Mandatory for replace and add, and not for remove

    Table 4 v2.0 request message body

    Parameter

    Mandatory

    Type

    Description

    [Array]

    Yes

    Array of objects

    For details, see Table 5.

    Table 5 Data structure description of the [Array] field

    Parameter

    Type

    Mandatory

    Description

    replace

    String

    Mandatory for any of the three values

    Indicates that an image attribute will be replaced. The value is the attribute to be replaced and a slash (/) must be added in front of the attribute name.

    add

    String

    Indicates that an image attribute will be added. The value is the attribute to be added and a slash (/) must be added in front of the attribute name.

    remove

    String

    Indicates that an image attribute will be deleted. The value is the attribute to be deleted and a slash (/) must be added in front of the attribute name.

    value

    String

    Mandatory for replace and add, and not for remove

    Indicates the value of the attribute to be updated or added. For detailed description, see Image Attributes.

Example Request

  • Changing the name of an image to ims_test01 (V2.1 request)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    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"
         }
    ]
    
  • Changing the name of an image to ims_test01 (V2.0 request)
    1
    2
    3
    4
    5
    6
    7
    8
    PATCH https://{Endpoint}/v2/images/33ad552d-1149-471c-8190-ff6776174a00
    "Content-Type:application/openstack-images-v2.0-json-patch"
    [
         {
             "replace": "/name",
             "value": "test01"       
         }
    ]     
    

Response

  • Response parameters

    Parameter

    Type

    Description

    file

    String

    Specifies the URL for uploading and downloading the image file.

    owner

    String

    Specifies the tenant to which the image belongs.

    id

    String

    Specifies the image ID.

    size

    Long

    This parameter is unavailable currently.

    self

    String

    Specifies the image URL.

    schema

    String

    Specifies the image schema.

    status

    String

    Specifies the image status. The value can be:

    • queued: indicates that the image metadata has already been created, and it is ready for the image file to upload.
    • saving: indicates that the image file is being uploaded to the backend storage.
    • deleted: indicates that the image has been deleted.
    • killed: indicates that an error occurs on the image uploading.
    • active: indicates that the image is available for use.

    tags

    Array of strings

    Specifies tags of the image, through which you can manage private images in your own way. You can use the image tag API to add different tags to each image and filter images by tag.

    visibility

    String

    Specifies whether the image is available to other tenants. The value can be:

    • private: private image
    • public: public image
    • shared: shared image

    name

    String

    Specifies the image name. For detailed description, see Image Attributes.

    checksum

    String

    This parameter is unavailable currently.

    protected

    Boolean

    Specifies whether the image is protected. A protected image cannot be deleted. The value can be true or false.

    container_format

    String

    Specifies the container type.

    min_ram

    Integer

    Specifies the minimum memory size (MB) required for running the image. The parameter value depends on the ECS specifications. The default value is 0.

    max_ram

    String

    Specifies the maximum memory (MB) of the image. The parameter value depends on the ECS specifications and is not configured by default.

    updated_at

    String

    Specifies the time when the image was updated. The value is in UTC format.

    __os_bit

    String

    Specifies the OS architecture, 32 bit or 64 bit.

    __os_version

    String

    Specifies the OS version.

    __description

    String

    Provides supplementary information about the image. For detailed description, see Image Attributes.

    disk_format

    String

    Specifies the image format. The value can be zvhd2, vhd, zvhd, raw, iso, or qcow2. The default value is zvhd2 for a non-ISO image.

    __isregistered

    String

    Specifies whether the image has been registered. The value can be true or false.

    __platform

    String

    Specifies the image platform type. The value can be Windows, Ubuntu, Red Hat, SUSE, CentOS, Debian, OpenSUSE, Oracle Linux, Fedora, Other, CoreOS, or EulerOS.

    __os_type

    String

    Specifies the OS type. The value can be Linux, Windows, or Other.

    __system__cmkid

    String

    Specifies the ID of the key used to encrypt the image.

    min_disk

    Integer

    Specifies the minimum disk space (GB) required for running the image. The value ranges from 40 GB to 255 GB.

    virtual_env_type

    String

    Specifies the environment where the image is used. The value can be FusionCompute, Ironic, DataImage, or IsoImage.

    • For an ECS image (system disk image), the value is FusionCompute.
    • For a data disk image, the value is DataImage.
    • For a BMS image, the value is Ironic.
    • For an ISO image, the value is IsoImage.

    __image_source_type

    String

    Specifies the backend storage of the image. Only UDS is supported currently.

    __imagetype

    String

    Specifies the image type. The following types are supported:

    • Public image: The value is gold.
    • Private image: The value is private.
    • Shared image: The value is shared.

    created_at

    String

    Specifies the time when the image was created. The value is in UTC format.

    virtual_size

    Integer

    This parameter is unavailable currently.

    __originalimagename

    String

    Specifies the parent image ID.

    If the image is a public image or created from an image file, the value is left empty.

    __backup_id

    String

    Specifies the backup ID. If the image is created from a backup, set the value to the backup ID. Otherwise, this parameter is not required.

    __image_size

    String

    Specifies the size (bytes) of the image file. The value must be greater than 0.

    __data_origin

    String

    Specifies the image source.

    If the image is a public image, the value is left empty.

    __root_origin

    String

    Specifies that the image is created from an external image file. Value: file

    __lazyloading

    String

    Specifies whether the image supports lazy loading. The value can be true, false, True, or False.

    active_at

    String

    Specifies the time when the image status became active.

    __os_feature_list

    String

    Specifies additional attributes of the image. The value is a list (in JSON format) of advanced features supported by the image.

    __account_code

    String

    Specifies the charging identifier for the image.

    hw_firmware_type

    String

    Specifies the ECS boot mode. The value can be:

    • bios indicates the BIOS boot mode. This value will be used by fault if this parameter does not exist in the response.
    • uefi indicates the UEFI boot mode.

    hw_vif_multiqueue_enabled

    String

    Specifies whether the image supports NIC multi-queue. The value can be true or false.

    __support_kvm

    String

    Specifies whether the image supports KVM. If yes, the value is true. Otherwise, this parameter is not required.

    __support_xen

    String

    Specifies whether the image supports Xen. If yes, the value is true. Otherwise, this parameter is not required.

    __support_largememory

    String

    Specifies whether the image can be used to create large-memory ECSs. If the image supports large-memory ECSs, the value is true. Otherwise, this parameter is not required.

    For the supported OSs, see Table 4.

    __support_diskintensive

    String

    Specifies whether the image can be used to create disk-intensive ECSs. If the image supports disk-intensive ECSs, the value is true. Otherwise, this parameter is not required.

    __support_highperformance

    String

    Specifies whether the image can be used to create high-performance ECSs. If the image supports high-performance ECSs, the value is true. Otherwise, this parameter is not required.

    __support_xen_gpu_type

    String

    Specifies whether the image supports GPU-accelerated ECSs on the Xen platform. See Table 2 for its value. If the image does not support GPU-accelerated ECSs on the Xen platform, this parameter is not required. This parameter cannot co-exist with __support_xen and __support_kvm.

    __support_kvm_gpu_type

    String

    Specifies whether the image supports GPU-accelerated ECSs on the KVM platform. See Table 3 for its value.

    If the image does not support GPU-accelerated ECSs on the KVM platform, this parameter is not required. This parameter cannot co-exist with __support_xen and __support_kvm.

    __support_xen_hana

    String

    Specifies whether the image supports HANA ECSs on the Xen platform. If yes, the value is true. Otherwise, this parameter is not required.

    This parameter cannot co-exist with __support_xen and __support_kvm.

    __support_kvm_infiniband

    String

    Specifies whether the image supports ECSs with InfiniBand NICs on the KVM platform. If yes, the value is true. Otherwise, this parameter is not required.

    This parameter cannot co-exist with __support_xen.

    enterprise_project_id

    String

    Specifies the enterprise project that the image belongs to.

    • If the value is 0 or left blank, the image belongs to the default enterprise project.
    • If the value is a UUID, the image belongs to the enterprise project corresponding to the UUID.

      For more information about enterprise projects, see Enterprise Management User Guide.

    __sequence_num

    String

    Specifies the ECS system disk slot number of the image.

    This parameter is unavailable currently.

    __support_fc_inject

    String

    Specifies whether the image supports password/private key injection using Cloud-Init.

    If the value is set to true, password/private key injection using Cloud-Init is not supported.

    NOTE:

    This parameter is valid only for ECS system disk images.

    __image_location

    String

    Specifies the location where the image is stored.

    __is_config_init

    String

    Specifies whether initial configuration is complete. The value can be true or false.

    __support_amd

    String

    Specifies whether the image uses AMD's x86 architecture. The value can be true or false.

    __support_agent_list

    String

    Specifies the agents configured for the image.

    • hss: The Host Security Service (HSS) agent is configured for the image.

      Host Security Service (HSS) is designed to improve the overall security for ECSs. It helps you identify and manage the information on your ECSs, eliminate risks, and defend against intrusions and web page tampering.

    • ces: The host monitoring agent is configured for the image.

      Monitoring is key for ensuring ECS performance, reliability, and availability. Using monitored data, you can determine ECS resource utilization. The cloud platform provides Cloud Eye to help you obtain the running statuses of your ECSs. You can use Cloud Eye to automatically monitor ECSs in real time and manage alarms and notifications to keep track of ECS performance metrics.

    Example:

    "__support_agent_list": "hss,ces"

    NOTE:

    If the response does not contain this field, the HSS and host monitoring agents are not configured for the image.

  • Example response
    STATUS CODE 200
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    {  
        "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"
    }
    

Returned Values

  • Normal

    200

  • Abnormal

    Returned Value

    Description

    400 Bad Request

    Request error. For details, see Error Codes.

    401 Unauthorized

    Authentication failed.

    403 Forbidden

    You do not have the rights to perform the operation.

    404 Not Found

    The requested resource was not found.

    500 Internal Server Error

    Internal service error.

    503 Service Unavailable

    The service is unavailable.