华为云用户手册

  • 请求消息头 附加请求头字段,如指定的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
  • 响应示例 状态码: 200 OK { "count" : 3, "snapshots_links" : [ { "href" : "https://{endpoint}/v2/20a68d6b7a124ae2b6b8a22046ee5966/cloudsnapshots/detail?limit=1&marker=fc05d5d7-7e99-42fb-b6f2-9ddd1b990e67", "rel" : "next" } ], "snapshots" : [ { "status" : "available", "updated_at" : "2018-06-06T10:58:47.349051", "volume_id" : "f687bd70-37b3-4f00-a900-0ba1cfaa5196", "id" : "fc05d5d7-7e99-42fb-b6f2-9ddd1b990e67", "size" : 1, "os-extended-snapshot-attributes:progress" : "100%", "name" : "test03", "os-extended-snapshot-attributes:project_id" : "20a68d6b7a124ae2b6b8a22046ee5966", "service_type" : "EVS", "created_at" : "2018-05-30T03:14:44.457975", "metadata" : { } } ] } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • URI GET /v2/{project_id}/cloudsnapshots/detail 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参见"获取项目ID"。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量。 说明:分页查询快照时使用,与limit配合使用。假如共有30个快照,设置offset为11,limit为10,即为从第12个快照开始查询,一次最多可读取10个快照。 limit 否 Integer 返回结果个数限制,值为大于0的整数。默认值为1000。 name 否 String 云硬盘快照名称。最大支持64个字符。 status 否 String 云硬盘快照状态,具体请参见云硬盘快照状态。 volume_id 否 String 快照所属云硬盘的ID。 availability_zone 否 String 快照所属云硬盘的可用区。 id 否 String 指定快照id进行过滤。可以传入多个id过滤查询,格式:id=id1&id=id2&id=id3 dedicated_storage_name 否 String 专属存储的名称。 dedicated_storage_id 否 String 专属存储ID。 service_type 否 String 服务类型。仅支持EVS、DSS、DESS。 enterprise_project_id 否 String 指定企业项目id进行过滤。 传入“all_granted_eps”,代表查询权限范围内的所有企业项目下的云硬盘。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参考:"企业管理用户指南"。
  • 请求示例 查询快照id为c311bb8d-17f1-4e99-aaf9-e132c0391a73和c7691083-15fa-4045-956c-2bcbfe1b9976的快照详情,从第1条记录开始查询,返回结果中的记录数不超过100个。 GET https://{endpoint}/v2/{project_id}/cloudsnapshots/detail?id=c311bb8d-17f1-4e99-aaf9-e132c0391a73&id=c7691083-15fa-4045-956c-2bcbfe1b9976&offset=0&limit=100 查询id为f8c7cce6-ec47-43ca-9297-b5604668b08f的云硬盘的所有快照详情。 GET https://{endpoint}/v2/{project_id}/cloudsnapshots/detail?volume_id=f8c7cce6-ec47-43ca-9297-b5604668b08f&service_type=EVS
  • 操作步骤 从快照创建云硬盘,请先查询云硬盘快照列表,获取快照信息。 API:查询云硬盘快照详情列表 请求样例 GET https://{endpoint}/v2/ba546eb46e7247c9aadb566ed7a1d31f/cloudsnapshots/detail 响应样例 { "count": 1, "snapshots": [ { "status": "available", "description": null, "metadata": {}, "size": 40, "id": "0b126d3b-f2af-404d-8d39-a42fce70065a", "name": "snapshot-test", "created_at": "2019-06-18T12:47:33.700070", "updated_at": "2019-06-18T12:47:38.234689", "volume_id": "037cf89a-8cea-4d63-ac57-345c0ffccfc2", "os-extended-snapshot-attributes:project_id": "ba546eb46e7247c9aadb566ed7a1d31f", "os-extended-snapshot-attributes:progress": "100%", "service_type": "EVS" } ] } 回显中的“id”即为快照的ID。 通过快照ID创建云硬盘。 API:创建云硬盘 请求样例 POST https://{endpoint}/v2.1/ba546eb46e7247c9aadb566ed7a1d31f/cloudvolumes { "volume": { "count": 1, "availability_zone": "az-dc-1", "description": "test_volume_1", "size": 120, "snapshot_id": "0b126d3b-f2af-404d-8d39-a42fce70065a", "name": "test_volume_1", "volume_type": "SATA" } } 响应样例 { "job_id": "ff8080816b512df7016b6ab8982b496b" }
  • URI GET /v2/{project_id}/snapshots/detail 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参见"获取项目ID"。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 分页查询的起始资源id,取值为上一页最后一条查询记录的资源id。 volume_id 否 String 云硬盘快照对应的云硬盘ID。 availability_zone 否 String 云硬盘快照对应的云硬盘所在的可用区。 limit 否 Integer 返回结果个数限制。 最小值1,最大值1000,默认为1000。返回的结果中记录数不超过limit值。 当租户所有的快照数量大于50个时,为了提升您的查询效率,建议查询的时候使用limit参数,并且参数值最大设置为50。查询示例: GET /v2/xxx/snapshots/detail?limit=50,表示查询第1~50个快照。GET /v2/xxx/snapshots/detail?offset=50&limit=50,表示查询第51~100个快照。 name 否 String 云硬盘快照名称。最大支持255个字符。 offset 否 Integer 偏移量。 说明: 分页查询快照时使用,与limit配合使用。假如共有30个快照, 设置offset为11,limit为10,即为从第12个快照开始查询, 一次最多可读取10个快照。 status 否 String 云硬盘快照状态,具体请参见云硬盘快照状态。
  • 响应示例 状态码: 200 OK { "snapshots": [ { "status": "available", "os-extended-snapshot-attributes:progress": "100%", "description": null, "created_at": "2013-06-19T07:15:29.000000", "metadata": {}, "volume_id": "ae11e59c-bd56-434a-a00c-04757e1c066d", "os-extended-snapshot-attributes:project_id": "d6c277ba8820452e83df36f33c9fa561", "size": 5, "id": "6cd26877-3ca3-4f4e-ae2a-38cc3d6183fa", "name": "name_xx2-snap", "updated_at": null, }, { "status": "available", "os-extended-snapshot-attributes:progress": "100%", "description": null, "created_at": "2013-06-19T09:08:08.000000", "metadata": {}, "volume_id": "ae11e59c-bd56-434a-a00c-04757e1c066d", "os-extended-snapshot-attributes:project_id": "d6c277ba8820452e83df36f33c9fa561", "size": 5, "id": "b3253e26-5c37-48dd-8bf2-8795dd1e848f", "name": "name_xx2-snap", "updated_at": null, } ] } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中的资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间的资源进行分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 父主题: 使用前必读
  • 云硬盘标签 本章节仅列出了云硬盘v2接口的授权信息。对于v3接口,如果提供的功能与v2接口一样,则授权信息也一致。 例如:创建云硬盘时,v2接口为POST /v2/{project_id}/cloudvolumes,对应的v3接口为POST /v3/{project_id}/cloudvolumes,两个接口支持的授权信息一致。 授权项列表中,“√”表示支持,“×”表示暂不支持。 权限 对应API接口 授权项(Action) IAM项目 (Project) 企业项目 (Enterprise Project) 获取云硬盘资源的所有标签 GET /v2/{project_id}/cloudvolumes/tags 云硬盘:evs:volumeTags:list 备份:evs:backupTags:list √ × 为指定云硬盘批量添加标签 POST /v2/{project_id}/cloudvolumes/{volume_id}/tags/action evs:volumeTags:create √ × 为指定云硬盘批量删除标签 POST /v2/{project_id}/cloudvolumes/{volume_id}/tags/action evs:volumeTags:delete √ × 查询云硬盘标签 GET /v2/{project_id}/cloudvolumes/{volume_id}/tags evs:volumeTags:getById √ × 通过标签查询云硬盘资源实例详情 POST /v2/{project_id}/cloudvolumes/resource_instances/action evs:volumeTags:get √ × 父主题: 权限和授权项
  • 响应示例 状态码: 200 OK { "volumes" : [ { "attachments" : [ ], "availability_zone" : "az-dc-1", "bootable" : "false", "consistencygroup_id" : null, "created_at" : "2016-05-25T02:42:10.856332", "description" : null, "encrypted" : false, "id" : "b104b8db-170d-441b-897a-3c8ba9c5a214", "links" : [ { "href" : "https://volume.localdomain.com:8776/v2/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" : { }, "name" : "zjb_u25_test", "os-vol-host-attr:host" : "pod01.xxx#SATA", "volume_image_metadata" : { }, "os-vol-mig-status-attr:migstat" : null, "os-vol-mig-status-attr:name_id" : null, "os-vol-tenant-attr:tenant_id" : "dd14c6ac581f40059e27f5320b60bf2f", "os-volume-replication:extended_status" : null, "replication_status" : "disabled", "multiattach" : false, "size" : 1, "snapshot_id" : null, "source_volid" : null, "status" : "available", "updated_at" : "2016-05-25T02:42:22.341984", "user_id" : "b0524e8342084ef5b74f158f78fc3049", "volume_type" : "SATA" } ], "volumes_links" : [ { "href" : "https://volume.localdomain.com:8776/v2/dd14c6ac581f40059e27f5320b60bf2f/volumes/detail?limit=1&marker=b104b8db-170d-441b-897a-3c8ba9c5a214", "rel" : "next" } ] } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 volumes Array of VolumeDetail objects 查询请求返回的云硬盘列表。 volumes_links Array of Link objects 云硬盘列表查询位置标记。如果本次查询只返回部分列表信息时,会返回查询到的当前云硬盘mark标记的url,可以继续使用这个url查询剩余列表信息。 表5 VolumeDetail 参数 参数类型 描述 id String 云硬盘ID。 links Array of Link objects 云硬盘uri自描述信息。 name String 云硬盘名称。 status String 云硬盘状态。 云硬盘状态,具体请参见云硬盘状态。 attachments Array of VolumeAttachment objects 是否挂载信息。 availability_zone String 云硬盘所属AZ。 source_volid String 源云硬盘ID,如果是从源云硬盘创建,则有值。 当前云硬盘服务不支持该字段。 snapshot_id String 快照ID,如果是从快照创建,则有值。 description String 云硬盘描述。 bootable String 是否为启动云硬盘。 true:表示为启动云硬盘。 false:表示为非启动云硬盘。 encrypted Boolean 当前云硬盘服务不支持该字段。 created_at String 云硬盘创建时间。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX 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云硬盘 replication_status String 预留属性。 consistencygroup_id String 预留属性。 metadata VolumeMetadata object 云硬盘的元数据。 如果元数据中不包含hw:passthrough字段,云硬盘默认为VBD类型。 如果元数据中不包含__system__encrypted字段,云硬盘默认为不加密。 size Integer 云硬盘大小,单位为GiB。 user_id String 预留属性。 updated_at String 云硬盘更新时间。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX shareable Boolean 是否为可共享云硬盘。 说明: 该字段已经废弃,请使用multiattach。 multiattach Boolean 是否为可共享云硬盘。 os-vol-tenant-attr:tenant_id String 云硬盘所属的租户ID。租户ID就是项目ID。 volume_image_metadata Object 云硬盘镜像的元数据。 关于“volume_image_metadata”字段的详细说明,具体请参见:"查询镜像详情"。 os-vol-host-attr:host String 预留属性。 os-volume-replication:extended_status String 预留属性。 os-vol-mig-status-attr:migstat String 预留属性。 os-vol-mig-status-attr:name_id String 预留属性。 iops iops object 云硬盘的iops信息,云硬盘类型是ESSD2、GPSSD2才返回。 throughput throughput object 云硬盘的吞吐量信息,云硬盘类型是GPSSD2才返回。 表6 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 表7 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类型。 表8 iops 参数 参数类型 描述 frozened Boolean 冻结标签。 缺省值:false id String 云硬盘iops标识。 total_val Integer iops大小。 volume_id String 云硬盘ID。 表9 throughput 参数 参数类型 描述 frozened Boolean 冻结标签。 缺省值:false id String 云硬盘吞吐量标识。 total_val Integer 吞吐量大小。 volume_id String 云盘ID。 表10 Link 参数 参数类型 描述 href String 对应的快捷链接。 rel String 快捷链接标记名称。 缺省值:next 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表12 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • URI GET /v3/{project_id}/volumes/detail 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参见"获取项目ID"。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 取值为上一页数据的最后一条记录的id,返回值为该项后面的项 name 否 String 云硬盘名称。最大支持64个字符。 limit 否 Integer 返回结果个数限制。 最小值1,最大值1000,默认为1000。返回的结果中记录数不超过limit值。 当租户所有的云硬盘数量大于50个时,为了提升您的查询效率,建议查询的时候使用limit参数,并且参数值最大设置为50。查询示例: GET /v2/xxx/volumes/detail?limit=50,表示查询第1~50个云硬盘。GET /v2/xxx/volumes/detail?offset=50&limit=50,表示查询第51~100个云硬盘。 sort_key 否 String 返回结果按该关键字排序,支持id,status,size,created_at等关键字,默认为“created_at”。 sort_dir 否 String 返回结果按照降序或升序排列,默认为“desc”。 降序:desc 升序:asc offset 否 Integer 偏移量 偏移量为一个大于0小于磁盘总个数的整数,表示查询该偏移量后面的所有的云硬盘。 status 否 String 云硬盘状态 metadata 否 String 云硬盘元数据。该参数通过Json格式进行传参,如:GET /v3/{project_id}/volumes/detail?metadata={"hw:passthrough": "true"} availability_zone 否 String AZ信息
  • 响应示例 状态码: 200 OK { "snapshot": { "status": "available", "os-extended-snapshot-attributes:progress": "100%", "description": "daily backup", "created_at": "2013-02-25t04:13:17.000000", "metadata": {}, "volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "os-extended-snapshot-attributes:project_id": "0c2eba2c5af04d3f9e9d0d410b371fde", "size": 1, "id": "2bb856e1-b3d8-4432-a858-09e4ce939389", "name": "snap-001", "updated_at": null, } } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应示例 状态码: 202 Accepted { "snapshot" : { "status" : "creating", "description" : "Daily backup", "created_at" : "2013-02-25T03:56:53.081642", "metadata" : { }, "volume_id" : "5aa119a8-d25b-45a7-8d1b-88e127885635", "size" : 1, "id" : "ffa9bc5e-1172-4021-acaf-cdcd78a9584d", "name" : "snap-001", "updated_at" : "2013-02-25T03:56:53.081642" } } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 请求示例 创建一个云硬盘快照,当源云硬盘处于挂载状态时,不能强制创建快照。 POST https://{endpoint}/v2/{project_id}/snapshots { "snapshot" : { "name" : "snap-001", "description" : "Daily backup", "volume_id" : "5aa119a8-d25b-45a7-8d1b-88e127885635", "force" : false, "metadata" : { } } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 表3 请求Body参数 参数 是否必选 参数类型 描述 os-extend 是 ResizeDiskOption object 标记扩容云硬盘操作 表4 ResizeDiskOption 参数 是否必选 参数类型 描述 new_size 是 Integer 扩容后的云硬盘容量,单位为GiB。扩容后的容量不能小于原有云硬盘容量,且不能大于云硬盘最大容量。 云硬盘最大容量: 数据盘:32768GiB 系统盘:1024GiB
  • 响应参数 状态码: 200 表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参数 参数 是否必选 参数类型 描述 metadata 是 Metadata object 需要更新的元数据信息,请参见metadata参数说明。 metadata中的key和value长度不大于255个字节。 表4 Metadata 参数 是否必选 参数类型 描述 __system__encrypted 否 String metadata中的表示加密功能的字段。 0代表不加密。 1代表加密。 该字段不存在时,云硬盘默认为不加密 __system__cmkid 否 String metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 hw:passthrough 否 String metadata中的表示云硬盘设备类型的字段。 true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。 false表示云硬盘的设备类型为VBD类型,即为默认类型,VBD只能支持简单的SCSI读写命令。 该字段不存在时,云硬盘默认为VBD类型 full_clone 否 String 从快照创建云硬盘时,字段的值为0表示使用link克隆方式
  • 请求示例 POST https://{endpoint}/v3/{project_id}/volumes/{volume_id}/action { "os-volume_upload_image" : { "image_name" : "sxmatch2", "force" : true, "container_format" : "bare", "disk_format" : "vhd", "__os_type" : "linux" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 os-volume_upload_image 是 CinderExportToImageOption object 标记将云硬盘导出为镜像的操作。 表4 CinderExportToImageOption 参数 是否必选 参数类型 描述 container_format 否 String 云硬盘导出镜像的容器类型。 目前支持ami、ari、aki、ovf、bare。默认是bare。 缺省值:bare 枚举值: ami ari aki ovf bare disk_format 否 String 云硬盘导出镜像的格式。 目前支持vhd、zvhd、zvhd2、raw、qcow2。默认是vhd。 缺省值:vhd 枚举值: vhd zvhd zvhd2 raw qcow2 force 否 Boolean 强制导出镜像的标示,默认值是false。 当force标记为false时,云硬盘处于正在使用状态时,不能强制导出镜像。 当force标记为true时,即使云硬盘处于正在使用状态时,仍可以导出镜像。 image_name 是 String 云硬盘导出镜像的名称。 名称的长度范围为1~128位。 名称只能包含以下字符:大写字母、小写字母、中文、数字、特殊字符包含“-”、“.”、“_”和空格。 __os_type 否 String 云硬盘导出镜像的系统类型。目前只支持“windows”和“linux”,默认值是“linux”。说明:只有云硬盘的volume_image_metadata信息中无“__os_type”字段且云硬盘状态为“available”时,设置的__os_type才会生效。如果不传递该参数,则使用默认的“linux”值作为镜像的系统类型。 缺省值:linux 枚举值: windows linux
  • 响应参数 状态码: 202 表5 响应Body参数 参数 参数类型 描述 os-volume_upload_image Image object 标记将云硬盘导出为镜像的操作。 表6 Image 参数 参数类型 描述 container_format String 云硬盘导出镜像的容器类型。 目前支持ami、ari、aki、ovf、bare。默认是bare。 disk_format String 云硬盘导出镜像的格式。 目前支持vhd、zvhd、zvhd2、raw、qcow2。默认是vhd。 display_description String 云硬盘描述信息。 id String 云硬盘ID。 image_id String 云硬盘导出镜像的ID。 image_name String 云硬盘导出镜像的名称 size Integer 云硬盘容量。 status String 云硬盘导出镜像后的状态,正常值为 “uploading”。 updated_at String 云硬盘更新时间。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX volume_type VolumeType object 云硬盘类型的信息。 表7 VolumeType 参数 参数类型 描述 id String 云硬盘类型的ID。 name String 云硬盘类型名称。 extra_specs VolumeTypeExtraSpecs object 云硬盘类型的规格。 description String 云硬盘类型的描述信息。 qos_specs_id String 预留属性。 is_public Boolean 预留属性。 表8 VolumeTypeExtraSpecs 参数 参数类型 描述 RESKEY:availability_zones String 支持当前云硬盘类型的可用区列表,列表的元素以逗号分隔。 若没有该参数,则表示当前云硬盘类型支持所有可用区。 availability-zone String 预留属性。 os-vendor-extended:sold_out_availability_zones String 当前云硬盘类型已售罄的可用区列表,列表的元素以逗号分隔。 volume_backend_name String 预留属性。 HW:availability_zone String 预留属性。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表10 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 云硬盘(EVS)的支持自定义策略授权项如下所示: API版本信息查询,包含API版本信息查询接口对应的授权项,如查询接口版本信息。 云硬盘,包括云硬盘接口对应的授权项,如创建云硬盘、查询云硬盘列表、删除云硬盘、更新云硬盘等接口。 云硬盘Actions,包含云硬盘Actions接口对应的授权项,如扩容云硬盘、将云硬盘导出为镜像、设置云硬盘只读标示等接口。 云硬盘快照,包含云硬盘快照接口对应的授权项,如创建云硬盘快照、查询云硬盘快照列表、更新云硬盘快照、删除云硬盘快照等接口。 云硬盘标签,包含云硬盘标签接口对应的授权项,如通过键删除云硬盘标签、为指定云硬盘批量添加标签、为指定云硬盘批量删除标签、查询云硬盘标签接口。 云硬盘过户,包含云硬盘过户接口对应的授权项,如创建云硬盘过户、查询云硬盘过户记录列表概要、接受云硬盘过户、删除云硬盘过户等接口。
  • 云硬盘过户 本章节仅列出了云硬盘v2接口的授权信息。对于v3接口,如果提供的功能与v2接口一样,则授权信息也一致。 例如:创建云硬盘时,v2接口为POST /v2/{project_id}/cloudvolumes,对应的v3接口为POST /v3/{project_id}/cloudvolumes,两个接口支持的授权信息一致。 授权项列表中,“√”表示支持,“×”表示暂不支持。 权限 对应API接口 授权项(Action) IAM项目 (Project) 企业项目 (Enterprise Project) 创建云硬盘过户(OpenStack Cinder) POST /v2/{project_id}/os-volume-transfer evs:transfers:create √ × 查询云硬盘过户记录列表概要(OpenStack Cinder) GET /v2/{project_id}/os-volume-transfer evs:transfers:list √ × 查询云硬盘过户记录列表详情(OpenStack Cinder) GET /v2/{project_id}/os-volume-transfer/detail evs:transfers:list √ × 查询单个云硬盘过户记录详情(OpenStack Cinder) GET /v2/{project_id}/os-volume-transfer/{transfer_id} evs:transfers:get √ × 接受云硬盘过户(OpenStack Cinder) POST /v2/{project_id}/os-volume-transfer/{transfer_id}/accept evs:transfers:accept √ × 删除云硬盘过户(OpenStack Cinder) DELETE /v2/{project_id}/os-volume-transfer/{transfer_id} evs:transfers:delete √ × 父主题: 权限和授权项
  • 响应示例 状态码: 200 标签列表。 { "tags" : [ { "value" : "value1", "key" : "key1" }, { "value" : "value2", "key" : "key2" } ] } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 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)。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 表6 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 响应参数 状态码: 202 表5 响应Body参数 参数 参数类型 描述 transfer CreateVolumeTransferDetail object 云硬盘过户信息。 表6 CreateVolumeTransferDetail 参数 参数类型 描述 auth_key String 云硬盘过户的身份认证密钥。 created_at String 云硬盘过户记录的创建时间。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX id String 云硬盘过户记录的ID。 links Array of Link objects 云硬盘过户记录的链接。 name String 云硬盘过户记录的名称。 volume_id String 云硬盘ID。 表7 Link 参数 参数类型 描述 href String 对应的快捷链接。 rel String 快捷链接标记名称。 缺省值:next 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error Error object 出现错误时,返回的错误信息。 表9 Error 参数 参数类型 描述 code String 出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明。 message String 出现错误时,返回的错误消息。
  • 请求示例 创建一个云硬盘过户,云硬盘id为c86b9af4-151d-4ead-b62c-5fb967af0e37,云硬盘过户记录的名称为first volume。 POST https://{endpoint}/v2/{project_id}/os-volume-transfer { "transfer" : { "volume_id" : "c86b9af4-151d-4ead-b62c-5fb967af0e37", "name" : "first volume" } }
  • 响应示例 状态码: 202 Accepted { "transfer" : { "id" : "1a7059f5-8ed7-45b7-8d05-2811e5d09f24", "created_at" : "2015-02-25T03:56:53.081642", "name" : "first volume", "volume_id" : "c86b9af4-151d-4ead-b62c-5fb967af0e37", "auth_key" : "9266c59563c84664", "links" : [ { "href" : "https://localhost/v2/firstproject/os-volume-transfer/3", "rel" : "self" }, { "href" : "https://localhost/firstproject/os-volume-transfer/3", "rel" : "bookmark" } ] } } 状态码: 400 Bad Request { "error" : { "message" : "XXXX", "code" : "XXX" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 transfer 是 CreateVolumeTransferOption object 标记创建云硬盘过户操作 表4 CreateVolumeTransferOption 参数 是否必选 参数类型 描述 name 是 String 云硬盘过户记录的名称。最大支持64个字符。 volume_id 是 String 云硬盘ID。通过查询所有云硬盘详情获取。
  • 请求示例 回滚快照到云硬盘,目标云硬盘的名称为test-001,UUID为5aa119a8-d25b-45a7-8d1b-88e127885635。 POST https://{endpoint}/v2/{project_id}/cloudsnapshots/{snapshot_id}/rollback { "rollback" : { "name" : "test-001", "volume_id" : "5aa119a8-d25b-45a7-8d1b-88e127885635" } }
共100000条