Updating images
PATCH /v2/images/{image_id}
Change image name, OS distribution, minimal disk size, placement, and shared status of an image with the specified ID.
Use the media type application/openstack-images-v2.1-json-patch
.
The OS distribution parameter os_distro
can be one of the following:
-
Linux distributions:
genericlinux
—Generic Linuxcentos8
—CentOS 8centos7
—CentOS 7centos6
—CentOS 6rhel9
—Red Hat Enterprise Linux 9rhel8
—Red Hat Enterprise Linux 8rhel7
—Red Hat Enterprise Linux 7ubuntu22.04
—Ubuntu 22.04ubuntu20.04
—Ubuntu 20.04ubuntu18.04
—Ubuntu 18.04ubuntu16.04
—Ubuntu 16.04debian10
—Debian 10debian9
—Debian 9rockylinux9
—Rocky Linux 9rockylinux8
—Rocky Linux 8almalinux9
—AlmaLinux 9almalinux8
—AlmaLinux 8
-
Windows distributions:
genericwindows
—Generic Windowswin2k22
—Windows Server 2022win2k19
—Windows Server 2019win2k16
—Windows Server 2016win2k12r2
—Windows Server 2012 R2win2k12
—Windows Server 2012win2k8r2
—Windows Server 2008 R2win10
—Windows 10win81
—Windows 8.1win7
—Windows 7
Source: https://docs.openstack.org/api-ref/image/v2/index.html?expanded=update-image-detail#update-image
Request
Parameters
Name | In | Type | Description |
---|---|---|---|
Content-Type
|
header | string | The media type descriptor for the request body. Use
application/openstack-images-v2.1-json-patch . (You can also use
application/openstack-images-v2.0-json-patch , but keep in mind that
it’s deprecated.) |
image_id
|
path | string | The UUID of the image. |
Example
# curl -ks -X PATCH -H 'Content-Type: application/openstack-images-v2.1-json-patch' -H 'X-Auth-Token: gAAAAA<...>' -d ' [ { "op": "replace", "path": "/name", "value": "cirros2" }, { "op": "replace", "path": "/os_distro", "value": "centos8" }, { "op": "replace", "path": "/min_disk", "value": 3 }, { "op": "replace", "path": "/visibility", "value": "public" }, { "op": "add", "path": "/trait:CUSTOM_HCI_122E856B9E9C4D80A0F8C21591B5AFCB", "value": "required" } ]' https://<node_IP_addr>:9292/v2/images/c92d820c-50dc-4fd1-a0bc-2f1071487b67
Response
Parameters
Name | In | Type | Description |
---|---|---|---|
checksum
|
body | string | Hash that is used over the image data. The Image
service uses this value for verification. The value might be
null (JSON null data type). |
container_format
|
body | enum |
Format of the image container. Values may vary based on the configuration available in a particular OpenStack cloud. Example formats are: The value might be |
created_at
|
body | string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm For example, The |
disk_format
|
body | enum |
The format of the disk. Values may vary based on the configuration available in a particular OpenStack cloud. See the Image Schema response from the cloud itself for the valid values available. Example formats are: The value might be |
file
|
body | string | The URL for the virtual machine image file. |
id
|
body | string |
A unique, user-defined image UUID, in the format: nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn Where n is a hexadecimal digit from 0 to f, or F. For example: b2173dd3-7ad6-4362-baa6-a68bce3565cb If you omit this value, the API generates a UUID for the image. |
min_disk
|
body | integer | Amount of disk space in GB that is required to boot the image.
The value might be null (JSON null data type). |
min_ram
|
body | integer | Amount of RAM in MB that is required to boot the image.
The value might be null (JSON null data type). |
name
|
body | string | The name of the image. Value might be null (JSON null data type). |
os_hash_algo
|
body | string |
The algorithm used to compute a secure hash of the image data for this
image. The result of the computation is displayed as the value of the
New in version 2.7 |
os_hash_value
|
body | string |
The hexdigest of the secure hash of the image data computed using the
algorithm whose name is the value of the New in version 2.7 |
os_hidden
|
body | boolean |
This field controls whether an image is displayed in the default image-list response. A “hidden” image is out of date somehow (for example, it may not have the latest updates applied) and hence should not be a user’s first choice, but it’s not deleted because it may be needed for server rebuilds. By hiding it from the default image list, it’s easier for end users to find and use a more up-to-date version of this image. New in version 2.7 |
owner
|
body | string | An identifier for the owner of the image, usually the project (also
called the “tenant”) ID.
The value might be null (JSON null data type). |
protected
|
body | boolean | A boolean value that must be false or the image cannot be deleted. |
schema
|
body | string | The URL for the schema describing a virtual machine image. |
self
|
body | string | The URL for the virtual machine image. |
size
|
body | integer | The size of the image data, in bytes. The value
might be null (JSON null data type). |
status
|
body | string | The image status. |
tags
|
body | array | List of tags for this image, possibly an empty list. |
updated_at
|
body | string |
The date and time when the resource was updated. If the resource has
not been updated, this field will be The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm For example, The |
virtual_size
|
body | integer | The virtual size of the image. The value might
be null (JSON null data type). |
visibility
|
body | string | Image visibility, that is, the access permission for the image. |
direct_url (Optional) |
body | string |
The URL to access the image file kept in external store. It is present
only if the As it presents a security risk, this option is disabled by default. |
locations (Optional) |
body | array |
A list of objects, each of which describes an image location. Each object
contains a As it presents a security risk, this option is disabled by default. |
Status codes
Success
Code | Reason |
---|---|
200 - OK
|
Request was successful. |
Error
Code | Reason |
---|---|
400 - Bad Request
|
Some content in the request was invalid. |
401 - Unauthorized
|
User must authenticate before making a request. |
403 - Forbidden
|
Policy does not allow current user to do this operation. |
404 - Not Found
|
The requested resource could not be found. |
409 - Conflict
|
This operation conflicted with another operation on this resource. |
413 - Request Entity Too Large
|
The request is larger than the server is willing or able to process. |
415 - Unsupported Media Type
|
The request entity has a media type which the server or resource does not support. |
Example
{ "image_validated": "yes", "container_format": "bare", "min_ram": 0, "updated_at": "2020-02-11T11:52:02Z", "file": "/v2/images/c92d820c-50dc-4fd1-a0bc-2f1071487b67/file", "owner": "f5d834d636c642c7bfe8af86139c6f26", "id": "c92d820c-50dc-4fd1-a0bc-2f1071487b67", "size": 12716032, "os_distro": "centos8", "self": "/v2/images/c92d820c-50dc-4fd1-a0bc-2f1071487b67", "disk_format": "qcow2", "os_hash_algo": "sha512", "direct_url": "file:///mnt/vstorage/vols/datastores/glance/c92d820c-50dc-4fd1-a0bc-2f1071487b67", "hw_disk_bus": "virtio", "schema": "/v2/schemas/image", "status": "active", "tags": [], "trait:CUSTOM_HCI_122E856B9E9C4D80A0F8C21591B5AFCB": "required", "visibility": "public", "min_disk": 3, "virtual_size": null, "name": "cirros2", "checksum": "443b7623e27ecf03dc9e01ee93f67afe", "created_at": "2020-01-28T12:58:17Z", "os_hidden": false, "protected": false, "os_hash_value": "6513f21e44aa3da349f248188a<...>", "os_type": "linux" }