华为云用户手册

  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 attachments Array of Attachment objects 是否挂载信息。 availability_zone String 云硬盘所属AZ。 bootable String 是否为可启动云硬盘。 created_at String 创建云硬盘的时间。 id String 云硬盘ID。 links Array of Link objects 云硬盘uri自描述信息 metadata VolumeMetadata object 云硬盘的元数据。 multiattach Boolean 是否为可共享云硬盘。 name String 云硬盘名称 os-vol-host-attr:host String 预留属性。 os-vol-tenant-attr:tenant_id String 云硬盘所属的项目ID。 shareable String 是否为共享云硬盘。 size Integer 云硬盘大小。 snapshot_id String 快照ID。 source_volid String 预留字段。 status String 云硬盘状态。 volume_image_metadata Object 云硬盘镜像的元数据。 说明: 关于“volume_image_metadata”字段的详细说明,具体请参见:"查询镜像详情"。 volume_type String 云硬盘类型。 description String 云硬盘描述。 os-volume-replication:extended_status String 预留属性。 表6 Attachment 参数 参数类型 描述 attached_at String 挂载的时间信息。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX attachment_id String 挂载信息对应的ID。 device String 挂载点。 host_name String 云硬盘挂载到的云服务器对应的物理主机的名称。 id String 挂载的资源ID。 server_id String 云硬盘挂载到的云服务器的 ID。 volume_id String 云硬盘ID。 表7 Link 参数 参数类型 描述 href String 对应的快捷链接。 rel String 快捷链接标记名称。 表8 VolumeMetadata 参数 参数类型 描述 __system__cmkid String metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 请求获取密钥ID的方法请参考:"查询密钥列表"。 __system__encrypted String metadata中的表示加密功能的字段,0代表不加密,1代表加密。 不指定该字段时,云硬盘的加密属性与数据源保持一致,如果不是从数据源创建的场景,则默认不加密。 full_clone String 从快照创建云硬盘时的创建方式。 0表示使用链接克隆方式。 1表示使用全量克隆方式。 hw:passthrough String true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。 false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。 该字段不存在时,云硬盘默认为VBD类型。 orderID String metadata中的表示云硬盘计费类型的字段。 当该字段有值时,表示该云硬盘的计费类型为包周期计费,否则计费类型为按需计费。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 表10 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 响应示例 状态码: 200 OK { "transfer" : { "id" : "cac5c677-73a9-4288-bb9c-b2ebfb547377", "created_at" : "2015-02-25T03:56:53.081642", "name" : "first volume transfer", "volume_id" : "894623a6-e901-4312-aa06-4275e6321cce", "links" : [ { "href" : "https://localhost/v2/firstproject/os-volume-transfer/1", "rel" : "self" }, { "href" : "https://localhost/firstproject/os-volume-transfer/1", "rel" : "bookmark" } ] } } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 transfer VolumeTransfer object 云硬盘过户记录详情。 表4 VolumeTransfer 参数 参数类型 描述 created_at String 云硬盘过户记录的创建时间。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX id String 云硬盘过户记录的ID。 links Array of Link objects 云硬盘过户记录的链接。 name String 云硬盘过户记录的名称。 volume_id String 云硬盘ID。 表5 Link 参数 参数类型 描述 href String 对应的快捷链接。 rel String 快捷链接标记名称。 缺省值:next 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表7 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 os-attach 是 CinderAttachVolumeOption object 标记挂载云硬盘操作 表4 CinderAttachVolumeOption 参数 是否必选 参数类型 描述 host_name 否 String 挂载的主机名。最大支持64个字符。 instance_uuid 是 String 挂载的主机uuid。 mode 否 String 挂载模式,只支持可读可写rw模式和只读ro模式。 mountpoint 是 String 挂载点。
  • 响应示例 状态码: 200 OK { "quota_set" : { "gigabytes_SAS" : { "reserved" : 0, "limit" : -1, "in_use" : 21 }, "volumes_SATA" : { "reserved" : 0, "limit" : -1, "in_use" : 8 }, "gigabytes" : { "reserved" : 0, "limit" : 42790, "in_use" : 2792 }, "backup_gigabytes" : { "reserved" : 0, "limit" : 5120, "in_use" : 51 }, "snapshots_SAS" : { "reserved" : 0, "limit" : -1, "in_use" : 0 }, "volumes_SSD" : { "reserved" : 0, "limit" : -1, "in_use" : 28 }, "snapshots" : { "reserved" : 0, "limit" : 10, "in_use" : 6 }, "id" : "cd631140887d4b6e9c786b67a6dd4c02", "volumes_SAS" : { "reserved" : 0, "limit" : -1, "in_use" : 2 }, "snapshots_SSD" : { "reserved" : 0, "limit" : -1, "in_use" : 0 }, "volumes" : { "reserved" : 0, "limit" : -1, "in_use" : 108 }, "gigabytes_SATA" : { "reserved" : 0, "limit" : -1, "in_use" : 168 }, "backups" : { "reserved" : 0, "limit" : 100, "in_use" : 10 }, "gigabytes_SSD" : { "reserved" : 0, "limit" : -1, "in_use" : 1085 }, "snapshots_SATA" : { "reserved" : 0, "limit" : -1, "in_use" : 0 } } } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 quota_set QuotaList object 查询请求返回的配额信息。 表5 QuotaList 参数 参数类型 描述 backup_gigabytes QuotaDetailBackupGigabytes object 备份容量,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 backups QuotaDetailBackups object 备份个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 gigabytes QuotaDetailGigabytes object 总容量,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 id String 项目ID。 snapshots QuotaDetailSnapshots object 快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 volumes QuotaDetailVolumes object 云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 gigabytes_SATA QuotaDetailGigabytesSATA object SATA云硬盘类型预留的容量大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 snapshots_SATA QuotaDetailSnapshotsSATA object SATA云硬盘类型预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 volumes_SATA QuotaDetailVolumesSATA object SATA云硬盘类型预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 gigabytes_SAS QuotaDetailGigabytesSAS object SAS类型云硬盘预留的size大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 snapshots_SAS QuotaDetailSnapshotsSAS object SAS类型云硬盘预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 volumes_SAS QuotaDetailVolumesSAS object SAS类型云硬盘预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 gigabytes_SSD QuotaDetailGigabytesSSD object SSD类型云硬盘预留的size大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 snapshots_SSD QuotaDetailSnapshotsSSD object SSD类型云硬盘预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 volumes_SSD QuotaDetailVolumesSSD object SSD类型云硬盘预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 gigabytes_GPSSD QuotaDetailGigabytesGPSSD object GPSSD类型云硬盘预留的size大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 snapshots_GPSSD QuotaDetailSnapshotsGPSSD object GPSSD类型云硬盘预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 volumes_GPSSD QuotaDetailVolumesGPSSD object GPSSD类型云硬盘预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 per_volume_gigabytes QuotaDetailPerVolumeGigabytes object 每个云硬盘的容量配额限制。键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。 表6 QuotaDetailBackupGigabytes 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表7 QuotaDetailBackups 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表8 QuotaDetailGigabytes 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表9 QuotaDetailSnapshots 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表10 QuotaDetailVolumes 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表11 QuotaDetailGigabytesSATA 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表12 QuotaDetailSnapshotsSATA 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表13 QuotaDetailVolumesSATA 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表14 QuotaDetailGigabytesSAS 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表15 QuotaDetailSnapshotsSAS 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表16 QuotaDetailVolumesSAS 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表17 QuotaDetailGigabytesSSD 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表18 QuotaDetailSnapshotsSSD 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表19 QuotaDetailVolumesSSD 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表20 QuotaDetailGigabytesGPSSD 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表21 QuotaDetailSnapshotsGPSSD 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表22 QuotaDetailVolumesGPSSD 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 表23 QuotaDetailPerVolumeGigabytes 参数 参数类型 描述 in_use Integer 已使用的数量。 limit Integer 最大的数量。 reserved Integer 预留属性。 状态码: 400 表24 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表25 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • URI GET /v2/{project_id}/os-quota-sets/{target_project_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 target_project_id 是 String 目标的项目ID。与project_id保持一致即可。 表2 Query参数 参数 是否必选 参数类型 描述 usage 是 String 是否查询配额详细信息。当前只支持传True。 枚举值: True
  • 响应参数 状态码: 202 表5 响应Body参数 参数 参数类型 描述 job_id String 正常返回时返回的任务ID。 说明: 如果需要查询job的状态,请参考查询job的状态。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 表7 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 qos_modify 是 ModifyVolumeQoSOption object 标记修改云硬盘QoS操作。 表4 ModifyVolumeQoSOption 参数 是否必选 参数类型 描述 iops 是 Integer 修改后的云硬盘iops,只支持GPSSD2、ESSD2类型的云硬盘。 说明: 了解GPSSD2、ESSD2类型的iops大小范围,请参见 云硬盘类型及性能介绍里面的云硬盘性能数据表。 throughput 否 Integer 修改后的云硬盘吞吐量,单位是MiB/s,GPSSD2类型云盘必须填写,其他类型不能填写。 说明: 了解GPSSD2类型的吞吐量大小范围,请参见 云硬盘类型及性能介绍里面的云硬盘性能数据表。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 volumes Array of VolumeBody objects 查询请求返回的云硬盘列表。 volumes_links Array of Link objects 云硬盘列表查询位置标记。如果本次查询只返回部分列表信息时,会返回查询到的当前云硬盘mark标记的url,可以继续使用这个url查询剩余列表信息。 表5 VolumeBody 参数 参数类型 描述 id String 云硬盘ID。 links Array of Link objects 云硬盘URI自描述信息。 name String 云硬盘名称。 表6 Link 参数 参数类型 描述 href String 对应的快捷链接。 rel String 快捷链接标记名称。 缺省值:next 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表8 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 响应示例 状态码: 200 OK { "volumes" : [ { "id" : "6b604cef-9bd8-4f5a-ae56-45839e6e1f0a", "links" : [ { "href" : "https://volume.localdomain.com:8776/v2/dd14c6ac581f40059e27f5320b60bf2f/volumes/6b604cef-9bd8-4f5a-ae56-45839e6e1f0a", "rel" : "self" }, { "href" : "https://volume.localdomain.com:8776/dd14c6ac581f40059e27f5320b60bf2f/volumes/6b604cef-9bd8-4f5a-ae56-45839e6e1f0a", "rel" : "bookmark" } ], "name" : "zjb_u25_test" }, { "id" : "2bce4552-9a7d-48fa-8484-abbbf64b206e", "links" : [ { "href" : "https://volume.localdomain.com:8776/v2/dd14c6ac581f40059e27f5320b60bf2f/volumes/2bce4552-9a7d-48fa-8484-abbbf64b206e", "rel" : "self" }, { "href" : "https://volume.localdomain.com:8776/dd14c6ac581f40059e27f5320b60bf2f/volumes/2bce4552-9a7d-48fa-8484-abbbf64b206e", "rel" : "bookmark" } ], "name" : "zjb_u25_test" }, { "id" : "3f1b98ec-a8b5-4e92-a727-88def62d5ad3", "links" : [ { "href" : "https://volume.localdomain.com:8776/v2/dd14c6ac581f40059e27f5320b60bf2f/volumes/3f1b98ec-a8b5-4e92-a727-88def62d5ad3", "rel" : "self" }, { "href" : "https://volume.localdomain.com:8776/dd14c6ac581f40059e27f5320b60bf2f/volumes/3f1b98ec-a8b5-4e92-a727-88def62d5ad3", "rel" : "bookmark" } ], "name" : "zjb_u25_test" } ], "volumes_links" : [ { "href" : "https://volume.localdomain.com:8776/v2/dd14c6ac581f40059e27f5320b60bf2f/volumes?limit=3&marker=3f1b98ec-a8b5-4e92-a727-88def62d5ad3", "rel" : "next" } ] } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • URI GET /v2/{project_id}/volumes 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参见"获取项目ID"。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 分页查询的起始资源id,取值为上一页最后一条查询记录的资源id。 name 否 String 云硬盘名称。最大支持64个字符。 limit 否 Integer 返回结果个数限制。 最小值1,最大值1000,默认为1000。返回的结果中记录数不超过limit值。 当租户所有的云硬盘数量大于50个时,为了提升您的查询效率,建议查询的时候使用limit参数,并且参数值最大设置为50。查询示例: GET /v2/xxx/volumes?limit=50,表示查询第1~50个云硬盘。GET /v2/xxx/volumes?offset=50&limit=50,表示查询第51~100个云硬盘。 sort_dir 否 String 返回结果按照降序或升序排列,默认为“desc”。 降序:desc 升序:asc sort_key 否 String 返回结果按该关键字排序,支持id,status,size,created_at等关键字,默认为“created_at”。 offset 否 Integer 偏移量 偏移量为一个大于0小于磁盘总个数的整数,表示查询该偏移量后面的所有的云硬盘。 status 否 String 云硬盘状态,具体请参见云硬盘状态。 metadata 否 String 云硬盘元数据。 availability_zone 否 String AZ信息。
  • 响应示例 状态码: 200 OK { "status" : "RUNNING", "entities" : { "volume_id" : "bdf1bb37-f20f-4266-9a04-f43e0a127376" }, "job_id" : "4010a32d535527910153552b492c0002", "job_type" : "createVolume", "begin_time" : "2016-03-08T07:40:13.219Z", "end_time" : "" } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String job的状态。SUCCESS:成功。RUNNING:运行中。FAIL:失败。INIT:正在初始化。WAITING_EXECUTE:等待执行。 枚举值: SUCCESS RUNNING FAIL INIT WAITING_EXECUTE entities JobEntities object job的响应信息。 job_id String job的ID。 job_type String job的类型。 createVolume:创建单个云硬盘。 batchCreateVolume:批量创建云硬盘。 deleteVolume:删除单个云硬盘。 extendVolume:扩容云硬盘。 bulkDeleteVolume:批量删除云硬盘。 deleteSingleVolume:批量删除时逐个删除单个云硬盘。 retypeVolume:对云硬盘做硬盘类型变更。 begin_time String 开始时间。 end_time String 结束时间。 error_code String job执行失败时的错误码。 fail_reason String job执行失败时的错误原因。 表4 JobEntities 参数 参数类型 描述 volume_type String 云硬盘的类型。 size Integer 云硬盘的容量,单位为GiB。 volume_id String 云硬盘的ID。 name String 云硬盘的名称。 sub_jobs Array of SubJob objects 子Job的信息。当存在子Job信息时,entities中的其他字段将不会返回。 表5 SubJob 参数 参数类型 描述 status String 子job的状态。SUCCESS:成功。RUNNING:运行中。FAIL:失败。INIT:正在初始化。 枚举值: SUCCESS RUNNING FAIL INIT entities SubJobEntities object 子job的响应信息。 job_id String 子job的ID。 job_type String 子job的类型。 createVolume:创建单个云硬盘。 batchCreateVolume:批量创建云硬盘。 deleteVolume:删除单个云硬盘。 extendVolume:扩容云硬盘。 bulkDeleteVolume:批量删除云硬盘。 deleteSingleVolume:批量删除时逐个删除单个云硬盘。 retypeVolume:对云硬盘做硬盘类型变更。 begin_time String 开始时间。 end_time String 结束时间。 error_code String 子job执行失败时的错误码。 fail_reason String 子job执行失败时的错误原因。 表6 SubJobEntities 参数 参数类型 描述 volume_type String 云硬盘的类型。 size Integer 云硬盘的容量,单位为GiB。 volume_id String 云硬盘的ID。 name String 云硬盘的名称。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 表8 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 os-set_bootable 是 CinderUpdateVolumeBootableOption object 标记设置云硬盘启动盘操作 表4 CinderUpdateVolumeBootableOption 参数 是否必选 参数类型 描述 bootable 是 Boolean 是否启动盘标识。false:不启动true:启动 缺省值:true
  • 请求示例 创建一个云硬盘:使用镜像在DSS存储池中创建一个非共享云硬盘,云硬盘的类型为普通IO,磁盘模式为SCSI,云硬盘的大小为40GiB。 POST https://{endpoint}/v2/{project_id}/volumes { "volume" : { "name" : "openapi_vol01", "imageRef" : "027cf713-45a6-45f0-ac1b-0ccc57ac12e2", "availability_zone" : "xxx", "description" : "create for api test", "volume_type" : "SATA", "metadata" : { "hw:passthrough" : "true" }, "consistencygroup_id" : null, "source_volid" : null, "snapshot_id" : null, "multiattach" : false, "source_replica" : null, "size" : 40 }, "OS-SCH-HNT:scheduler_hints" : { "dedicated_storage_id" : "eddc1a3e-4145-45be-98d7-bf6f65af9767" } }
  • 响应示例 状态码: 202 Accepted { "volume" : { "attachments" : [ ], "availability_zone" : "xxx", "bootable" : "false", "created_at" : "2016-05-25T02:38:40.392463", "description" : "create for api test", "encrypted" : false, "id" : "8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "links" : [ { "href" : "https://volume.localdomain.com:8776/v2/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "rel" : "self" }, { "href" : "https://volume.localdomain.com:8776/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "rel" : "bookmark" } ], "metadata" : { "__system__encrypted" : 0 }, "name" : "openapi_vol01", "replication_status" : "disabled", "multiattach" : false, "size" : 40, "status" : "creating", "user_id" : "39f6696ae23740708d0f358a253c2637", "volume_type" : "SATA" } } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应参数 状态码: 202 表7 响应Body参数 参数 参数类型 描述 volume CreateVolumeDetail object 待创建的云硬盘信息。 表8 CreateVolumeDetail 参数 参数类型 描述 id String 云硬盘ID。 links Array of Link objects 云硬盘URI自描述信息。 name String 云硬盘名称。 status String 云硬盘状态,具体请参见云硬盘状态。 attachments Array of VolumeAttachment objects 挂载信息。 availability_zone String 云硬盘所属AZ。 bootable String 是否为启动云硬盘。 true:表示为启动云硬盘。 false:表示为非启动云硬盘。 encrypted Boolean 当前云硬盘服务不支持该字段。 created_at String 创建云硬盘的时间。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX description String 云硬盘描述。 volume_type String 云硬盘类型。 目前支持"SATA", "SAS", "GPSSD, "SSD","ESSD","GPSSD2","ESSD2"七种 “SATA”为普通IO云硬盘 “SAS”为高IO云硬盘 "GPSSD"为通用型SSD云硬盘 “SSD”为超高IO云硬盘 “ESSD”为极速IO云硬盘 "GPSSD2"为通用型SSD V2云硬盘 "ESSD2"为极速型SSD V2云硬盘 当指定的云硬盘类型在availability_zone内不存在时,则创建云硬盘失败。 replication_status String 预留属性。 consistencygroup_id String 所属一致性组ID。 source_volid String 源云硬盘ID。 当前云硬盘服务不支持该字段。 snapshot_id String 快照ID。 metadata VolumeMetadata object 元数据。 size Integer 云硬盘大小,单位为GiB。 user_id String 使用云硬盘用户ID。 updated_at String 云硬盘更新时间。 shareable Boolean 是否为可共享云硬盘。 说明: 该字段已经废弃,请使用multiattach。 multiattach Boolean 是否为共享云硬盘。 true:表示为共享云硬盘。 false:表示为非共享云硬盘。 storage_cluster_id String 预留属性。 表9 Link 参数 参数类型 描述 href String 对应的快捷链接。 rel String 快捷链接标记名称。 缺省值:next 表10 VolumeAttachment 参数 参数类型 描述 attached_at String 挂载的时间信息。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX attachment_id String 挂载信息对应的ID。 device String 挂载点 host_name String 云硬盘挂载到的云服务器云主机对应 的物理主机的名称。 id String 挂载的资源ID server_id String 云硬盘挂载到的云服务器云主机的 ID。 volume_id String 云硬盘ID 表11 VolumeMetadata 参数 参数类型 描述 __system__cmkid String metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 说明: 请参考 查询密钥列表,通过HTTPS请求获取密钥ID。 __system__encrypted String metadata中的表示加密功能的字段,0代表不加密,1代表加密。 该字段不存在时,云硬盘默认为不加密。 full_clone String 从快照创建云硬盘时,如需使用link克隆方式,请指定该字段的值为0。 hw:passthrough String true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。 false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。 该字段不存在时,云硬盘默认为VBD类型。 状态码: 400 表12 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表13 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 volume 是 CinderCreateVolumeOption object 待创建的云硬盘信息 说明: 不支持同时使用“source_volid”、“snapshot_id”和“imageRef”这三个字段中的任意两个。 OS-SCH-HNT:scheduler_hints 否 CinderCreateVolumeSchedulerHints object 调度参数。调度参数,当前支持dedicated_storage_id字段,表明将云硬盘创建在DSS存储池中。 表4 CinderCreateVolumeOption 参数 是否必选 参数类型 描述 availability_zone 是 String 指定要创建云硬盘的AZ。 若指定的AZ不存在或指定的AZ和备份所在的AZ不同,则创云硬盘失败。 consistencygroup_id 否 String 一致性组ID,该参数表示此云硬盘属 于该一致性组,当前云硬盘服务不支 持该功能 description 否 String 云硬盘的描述。最大支持85个字符。 imageRef 否 String 镜像ID,指定该参数表示创建云硬盘方式为从镜像创建。 说明: 不支持通过BMS的镜像创建BMS系统盘。 获取镜像ID的方法:请参见查询镜像列表。 metadata 否 VolumeMetadata object 云硬盘的metadata数据,metadata中的key和value长度不大于255个字节。 “metadata”字段信息中列举了部分字段,您还可以根据创建云硬盘的要求输入其他字段。 说明: metadata里面不能有value为null的键值对。 multiattach 否 Boolean 创建共享云硬盘的信息。默认值为false。 true:表示为共享云硬盘。 false:表示为非共享云硬盘。 请参见 共享云硬盘及使用方法了解更多信息。 name 否 String 云硬盘名称。最大支持64个字符。 size 否 Integer 云硬盘大小,单位为GiB,其限制如下: 系统盘:1GiB-1024GiB 数据盘:10GiB-32768GiB 创建空白云硬盘,size为必选,请在范围内根据需求自定义。 从快照创建云硬盘时,size为必选,且云硬盘大小不能小于快照大小。 从镜像创建云硬盘时,size为必选,且云硬盘大小不小于镜像属性中min_disk要求的最小云硬盘容量。 snapshot_id 否 String 快照ID,指定该参数表示创建云硬盘方式为从快照创建云硬盘 source_replica 否 String 该参数表示从云硬盘的克隆来创建云硬 盘,当前云硬盘服务不支持该功能 source_volid 否 String 源云硬盘ID,指定该参数表示创建云 硬盘方式为从源云硬盘克隆。当前云 硬盘服务不支持该功能。 volume_type 是 String 云硬盘类型。 目前支持"SATA", "SAS", "GPSSD, "SSD","ESSD","GPSSD2","ESSD2"七种 “SATA”为普通IO云硬盘 “SAS”为高IO云硬盘 "GPSSD"为通用型SSD云硬盘 “SSD”为超高IO云硬盘 “ESSD”为极速IO云硬盘 "GPSSD2"为通用型SSD V2云硬盘 "ESSD2"为极速型SSD V2云硬盘 当指定的云硬盘类型在availability_zone内不存在时,则创建云硬盘失败。 说明: 从快照创建云硬盘时,volume_type字段必须和快照源云硬盘保持一致。 了解不同云硬盘类型的详细信息,请参见 云硬盘类型及性能介绍。 枚举值: ESSD2 GPSSD2 ESSD SSD GPSSD SAS SATA iops 否 Integer 给云硬盘配置iops,购买GPSSD2、ESSD2类型的云硬盘时必填,其他类型不能设置。 说明: 了解GPSSD2、ESSD2类型的iops大小范围,请参见云硬盘类型及性能介绍里面的云硬盘性能数据表。 只支持按需计费。 throughput 否 Integer 给云硬盘配置吞吐量,单位是MiB/s,购买GPSSD2类型云盘时必填,其他类型不能设置。 说明: -了解GPSSD2类型的吞吐量大小范围,请参见云硬盘类型及性能介绍里面的云硬盘性能数据表。 只支持按需计费。 表5 VolumeMetadata 参数 是否必选 参数类型 描述 __system__cmkid 否 String metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 说明: 请参考 查询密钥列表,通过HTTPS请求获取密钥ID。 __system__encrypted 否 String metadata中的表示加密功能的字段,0代表不加密,1代表加密。 该字段不存在时,云硬盘默认为不加密。 full_clone 否 String 从快照创建云硬盘时,如需使用link克隆方式,请指定该字段的值为0。 hw:passthrough 否 String true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。 false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。 该字段不存在时,云硬盘默认为VBD类型。 表6 CinderCreateVolumeSchedulerHints 参数 是否必选 参数类型 描述 dedicated_storage_id 否 String 专属分布式存储池id。
  • 响应示例 状态码: 200 可用分区的信息。 { "availabilityZoneInfo" : [ { "zoneState" : { "available" : true }, "zoneName" : "az-dc-1" } ] } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 availabilityZoneInfo Array of AzInfo objects 查询请求返回的可用分区列表。 表4 AzInfo 参数 参数类型 描述 zoneName String 可用分区的名字。 zoneState ZoneState object 可用分区的状态。 表5 ZoneState 参数 参数类型 描述 available Boolean 可用分区是否可用。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表7 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • API概览 云硬盘所提供的接口分为EVS自定义API与OpenStack Cinder API。 自定义API不依赖于OpenStack,OpenStack Cinder API依赖于OpenStack。两套接口配合使用,可以帮助您完整的使用云硬盘的所有功能。此外,部分扩展接口提供了基于企业项目的授权功能,具体在该接口的功能介绍中有描述,如果您需要使用企业项目授权功能,建议您调用这部分接口。 表1 接口说明 类型 子类型 说明 API 云硬盘 该部分API提供云硬盘的创建、删除、云硬盘详情查询等操作。 云硬盘快照 云硬盘快照指的是云硬盘数据在某个时刻的完整拷贝或镜像。 该部分API提供回滚快照数据至云硬盘的操作。 云硬盘标签 标签用于标识云资源,可通过标签实现对云资源的分类和搜索。 该部分API提供云硬盘标签的添加、删除、查询等操作。 OpenStack Cinder API 云硬盘 该部分API提供云硬盘的创建、更新、云硬盘列表查询、镜像列表查询、租户配额查询等操作。 云硬盘Action 该部分API提供云硬盘的扩容、保留、导出镜像、设置启动盘表示等操作。 云硬盘快照 云硬盘快照指的是云硬盘数据在某个时刻的完整拷贝或镜像。 该部分API提供云硬盘快照的创建、快照列表查询、快照元数据更新、快照元数据查询等操作。 云硬盘过户 通过云硬盘过户功能把一个租户的云硬盘过户给另一个租户,过户成功后,该云硬盘就属于接受过户的租户。 该部分API提供云硬盘过户的创建、接受、删除、过户记录查询等操作。
  • 响应示例 状态码: 200 OK { "count" : 1, "volumes" : [ { "attachments" : [ ], "availability_zone" : "xxx", "bootable" : "false", "created_at" : "2016-05-25T02:42:10.856332", "encrypted" : false, "id" : "b104b8db-170d-441b-897a-3c8ba9c5a214", "links" : [ { "href" : "https://volume.localdomain.com:8776/v3/dd14c6ac581f40059e27f5320b60bf2f/volumes/b104b8db-170d-441b-897a-3c8ba9c5a214", "rel" : "self" }, { "href" : "https://volume.localdomain.com:8776/dd14c6ac581f40059e27f5320b60bf2f/volumes/b104b8db-170d-441b-897a-3c8ba9c5a214", "rel" : "bookmark" } ], "metadata" : { "__openstack_region_name" : "pod01.xxx", "quantityGB" : "1", "volInfoUrl" : "fusionstorage://172.30.64.10/0/FEFEEB07D3924CDEA93C612D4E16882D" }, "name" : "zjb_u25_test", "os-vol-host-attr:host" : "pod01.xxx#SATA", "volume_image_metadata" : { }, "os-vol-tenant-attr:tenant_id" : "dd14c6ac581f40059e27f5320b60bf2f", "replication_status" : "disabled", "multiattach" : false, "size" : 1, "status" : "available", "updated_at" : "2016-05-25T02:42:22.341984", "user_id" : "b0524e8342084ef5b74f158f78fc3049", "volume_type" : "SATA", "service_type" : "EVS", "wwn" : " 688860300000d136fa16f48f05992360" } ], "volumes_links" : [ { "href" : "https://volume.localdomain.com:8776/v3/dd14c6ac581f40059e27f5320b60bf2f/volumes/detail?limit=1&marker=b104b8db-170d-441b-897a-3c8ba9c5a214", "rel" : "next" } ] } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • URI GET /v3/{project_id}/os-vendor-volumes/detail 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见"获取项目ID"。 表2 Query参数 参数 是否必选 参数类型 描述 availability_zone 否 String 云硬盘所属的AZ信息。 dedicated_storage_id 否 String 专属存储池ID,可过滤出该专属存储池下的所有云硬盘,必须精确匹配。 dedicated_storage_name 否 String 专属存储池的名字,可过滤出该专属存储池下的所有云硬盘,支持模糊匹配。 id 否 String 云硬盘ID。 ids 否 Array 云硬盘id列表,格式为ids=['id1','id2',...,'idx'],返回“ids”中有效id的云硬盘详情,无效的id会被忽略。 支持查询最多60个id对应的云硬盘详情。 如果“id”和“ids”查询参数同时存在,“id”会被忽略。 limit 否 Integer 返回结果个数限制。 最小值1,最大值1000,默认为1000。返回的结果中记录数不超过limit值。 marker 否 String 分页查询的起始资源id,取值为上一页最后一条查询记录的资源id。 metadata 否 String 云硬盘元数据。 multiattach 否 String 是否为共享云硬盘。 true:表示为共享云硬盘。 false:表示为非共享云硬盘。 name 否 String 云硬盘名称。最大支持64个字符。 offset 否 Integer 偏移量(偏移量为一个大于0小于磁盘总个数的整数,表示查询该偏移量后面的所有的磁盘)。 service_type 否 String 服务类型,仅支持EVS、DSS、DESS。 sort_dir 否 String 降序或升序,默认为“desc”。 desc表示降序。 asc表示升序。 sort_key 否 String 返回结果按该关键字排序(支持id,status,size,created_at等关键字,默认为“created_at”)。 status 否 String 云硬盘状态,具体请参见 云硬盘状态。 volume_type_id 否 String 云硬盘类型ID。通过 查询云硬盘类型列表 可以查到,即volume_types参数说明表格中的“id”。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作标识,当前支持的取值如下: 添加标签:create 缺省值:create 枚举值: create tags 是 Array of Tag objects 标签列表。 表4 Tag 参数 是否必选 参数类型 描述 key 是 String 标签键。同一资源的key值不能重复。 最大长度36个字符。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 value 是 String 标签值。 最大长度43个字符。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
  • 请求示例 添加两个标签给一个指定的云硬盘,一个标签key为key1,value为value1,另一个标签key为key2,value为value3。 POST https://{endpoint}/v2/{project_id}/cloudvolumes/{volume_id}/tags/action { "action" : "create", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value3" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 job_id String 正常返回时返回的任务ID。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 表5 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 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 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
共100000条