华为云用户手册

  • 响应示例 { "keypairs": [ { "keypair": { "fingerprint": "15:b0:f8:b3:f9:48:63:**:**:**:**:**:**:**:**:**", "name": "keypair-601a2305-4f25-41ed-89c6-2a966fc8027a", "type": "ssh", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC+Eo/RZRngaGTkFs7I62ZjsIlO79Kkl****************************************************************************************************************************************************** Generated-by-Nova\n" } } ] }
  • 响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 keypairs Array of objects 密钥信息列表,详情请参见表3。 表3 keypairs字段数据结构说明 参数 参数类型 描述 keypair Object 密钥信息详情,详情请参见表4。 表4 keypair字段数据结构说明 参数 参数类型 描述 fingerprint String 密钥对应指纹信息。 name String 密钥名称。 type String 密钥类型,默认“ssh” 微版本2.2及以上版本支持。 public_key String 密钥对应publicKey信息。
  • 云服务器组管理 权限 对应的API接口 授权项(Action) 依赖的授权项 IAM 项目 (Project) 企业项目 (Enterprise Project) 实例授权 标签授权 删除云服务器组 DELETE /v1/{project_id}/cloudservers/os-server-groups/{server_group_id} ecs:cloudServers:deleteServerGroup - √ √ × × 创建云服务器组 POST /v1{project_id}/cloudservers/os-server-groups ecs:cloudServers:createServerGroup - √ √ × × 添加云服务器云主机组成员 POST /v1/{project_id}/cloudservers/os-server-groups/{server_group_id}/action ecs:cloudServers:addServerGroupMember - √ √ × × 删除云服务器云主机组成员 POST /v1/{project_id}/cloudservers/os-server-groups/{server_group_id}/action ecs:cloudServers:deleteServerGroupMember - √ √ × × 查询云服务器组列表 GET /v1/{project_id}/cloudservers/os-server-groups ecs:cloudServers:list - √ √ × × 查询云服务器组详情 GET /v1/{project_id}/cloudservers/os-server-groups/{server_group_id} ecs:cloudServers:showServerGroup - √ √ × × 创建云服务器组(OpenStack原生)(废弃) POST /v2.1/{project_id}/os-server-groups ecs:serverGroups:manage - √ × × × 查询云服务器组列表(OpenStack原生)(废弃) GET /v2.1/{project_id}/os-server-groups ecs:serverGroups:manage - √ × × × 查询云服务器组详情(OpenStack原生)(废弃) GET /v2.1/{project_id}/os-server-groups/{server_group_id} ecs:serverGroups:manage - √ × × × 删除云服务器组(OpenStack原生)(废弃) DELETE /v2.1/{project_id}/os-server-groups/{server_group_id} ecs:serverGroups:manage - √ × × × 父主题: 权限和授权项
  • 请求示例 POST https://{endpoint}/v1/{project_id}/servers/{server_id}/tags/action { "action": "create", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value3" } ] }
  • 请求消息 请求参数如表2所示。 表2 请求参数 参数 是否必选 参数类型 描述 tags 是 Array of objects 标签列表 action 是 String 操作标识(仅支持小写):create(创建) 表3 resource_tag 字段数据结构说明 参数 是否必选 参数类型 描述 key 是 String 键。 不能为空。 对于同一资源键值唯一。 长度不超过36个字符。 标签的键必须唯一且输入不能为空。 value 是 String 值。 长度不超过43个字符。
  • 生命周期管理 权限 对应的API接口 授权项(Action) 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 实例授权 标签授权 创建云服务器 POST /v1.1/{project_id}/cloudservers 创建云服务器时新创建弹性公网IP ecs:cloudServers:createServers 创建云服务器时绑定已有的弹性公网IP ecs:cloudServers:createServers 创建云服务器时新创建弹性公网IP vpc:publicIps:create 创建云服务器时绑定已有的弹性公网IP vpc:publicIps:update √ √ × √ 创建云服务器(按需) POST /v1/{project_id}/cloudservers 创建云服务器时新创建弹性公网IP ecs:cloudServers:createServers 创建云服务器时绑定已有的弹性公网IP ecs:cloudServers:createServers 创建云服务器时新创建弹性公网IP vpc:publicIps:create 创建云服务器时绑定已有的弹性公网IP vpc:publicIps:update √ √ × √ 删除云服务器 POST /v1/{project_id}/cloudservers/delete ecs:cloudServers:deleteServers - √ √ √ √ 查询云服务器详情列表 GET /v1/{project_id}/cloudservers/detail ecs:cloudServers:list - √ √ × × 查询云服务器详情 GET /v1/{project_id}/cloudservers/{server_id} ecs:cloudServers:showServer - √ √ × × 修改弹性云服务器 PUT /v1/{project_id}/cloudservers/{server_id} ecs:cloudServers:updateServer - √ √ √ √ 查询云服务器详情列表(OpenStack原生)(废弃) GET /v2.1/{project_id}/servers/detail ecs:servers:list ecs:servers:get ecs:serverVolumes:use ecs:diskConfigs:use ecs:securityGroups:use ecs:serverKeypairs:get vpc:securityGroups:get vpc:securityGroupRules:get vpc:networks:get vpc:subnets:get vpc:ports:get vpc:routers:get √ × × × 查询云服务器列表(OpenStack原生)(废弃) GET /v2.1/{project_id}/servers ecs:servers:list - √ × × × 查询云服务器详情(OpenStack原生)(废弃) GET /v2.1/{project_id}/servers/{server_id} ecs:servers:get ecs:serverVolumes:use ecs:diskConfigs:use ecs:securityGroups:use ecs:serverKeypairs:get vpc:securityGroups:get vpc:securityGroupRules:get vpc:networks:get vpc:subnets:get vpc:ports:get vpc:routers:get √ × × × 创建云服务器(OpenStack原生)(废弃) POST /v2.1/{project_id}/servers POST /v2.1/{project_id}/os-volumes_boot ecs:servers:create ecs:servers:get ecs:serverInterfaces:use ecs:serverInterfaces:get ecs:flavors:get ecs:securityGroups:use evs:volumes:list evs:volumes:get evs:volumes:create evs:volumes:attach evs:volumes:manage vpc:securityGroups:get vpc:networks:get vpc:networks:update vpc:subnets:get vpc:subnets:update vpc:ports:create vpc:ports:update vpc:ports:get vpc:ports:delete vpc:networks:create vpc:subnets:create vpc:routers:get vpc:routers:update ims:images:list ims:images:get √ × × × 删除云服务器(OpenStack原生)(废弃) DELETE /v2.1/{project_id}/servers/{server_id} ecs:servers:delete - √ × × × 修改云服务器(OpenStack原生)(废弃) PUT /v2.1/{project_id}/servers/{server_id} ecs:servers:update ecs:servers:get √ × × × 父主题: 权限和授权项
  • 响应(批量操作类) 本节内容当前仅支持批量重置弹性云服务器密码、批量修改云服务器的响应。其他批量操作的请求结果请参见响应(任务类)。 正常响应要素说明 名称 参数类型 说明 response Array of objects 提交请求成功后返回的响应列表,详情请参见 response数据结构说明。 表1 response数据结构说明 名称 参数类型 说明 id String 操作成功的虚拟机id 异常响应要素说明 名称 参数类型 说明 error Object 批量请求异常时返回的整体异常信息,详情请参见 表2。 internalError Array of objects 批量请求处理中,每一个单个请求的具体异常信息,详情请参见 internalError 数据结构说明。 表2 error数据结构 名称 参数类型 说明 message String 批量操作整体异常错误信息描述。 code String 批量操作整体异常错误信息编码。 表3 internalEroCMM.0101r 数据结构说明 名称 参数类型 说明 id String 具体单个请求操作失败的虚拟机id error_message String 具体单个请求操作失败的错误信息描述。 error_code String 具体单个请求操作失败的错误信息编码。 响应示例 正常响应: { "response": [ { "id": "616fb98f-46ca-475e-917e-2563e5a8cd19" }, { "id": "516fb98f-46ca-475e-917e-2563e5a8cd12" } ] } 异常响应: { "error": { "code": "Ecs.xxxx", "message": "xxxxxxxxxxxxxxx" }, "internalError": [ { "id": "616fb98f-46ca-475e-917e-2563e5a8cd19", "error_code": "E CS .XXXX", "error_message": "xxxxxxxxxxxxxxx" }, { "id": "516fb98f-46ca-475e-917e-2563e5a8cd12", "error_code": "ECS.XXXX", "error_message": "xxxxxxxxxxxxxxx" } ] } 父主题: 提交批量操作请求结果
  • 响应示例 { "networks": [ { "id": "04468f37-500a-4a80-88da-af823e7a1d6c", "cidr_v6": null, "gateway": null, "label": "network_demo1", "broadcast": null, "netmask": null, "cidr": null, "dns2": null, "gateway_v6": null, "netmask_v6": null, "dns1": null }, { "id": "1fcff959-21d0-4ba8-976a-974cb564c977", "cidr_v6": null, "gateway": null, "label": "network_demo2", "broadcast": null, "netmask": null, "cidr": null, "dns2": null, "gateway_v6": null, "netmask_v6": null, "dns1": null } ] }
  • 响应示例 { "attachableQuantity": { "free_scsi": 23, "free_blk": 15, "free_disk": 23 }, "volumeAttachments": [ { "pciAddress": "0000:02:01.0", "volumeId": "a26887c6-c47b-4654-abb5-dfadf7d3f803", "device": "/dev/vda", "serverId": "4d8c3732-a248-40ed-bebc-539a6ffd25c0", "id": "a26887c6-c47b-4654-abb5-dfadf7d3f803", "size": 40, "bootIndex": 0, "bus":"virtio" }, { "pciAddress": "0000:02:02.0", "volumeId": "a26887c6-c47b-4654-abb5-asdf234r234r", "device": "/dev/vdb", "serverId": "4d8c3732-a248-40ed-bebc-539a6ffd25c0", "id": "a26887c6-c47b-4654-abb5-asdf234r234r", "size": 10, "bootIndex": 1, "bus":"virtio" } ] }
  • 响应消息 表2 参数说明 参数 是否必选 参数类型 描述 networks 是 Array of objects 云服务器所在网络,内嵌云服务器网络详细信息。详情请参见表3所示。 表3 响应参数 参数 是否必选 参数类型 描述 id 是 String 网络的ID,UUID格式。 label 是 String 网络的名字 broadcast 是 String 固定为null cidr 是 String 固定为null cidr_v6 是 String 固定为null dns1 是 String 固定为null dns2 是 String 固定为null gateway 是 String 固定为null gateway_v6 是 String 固定为null netmask 是 String 固定为null netmask_v6 是 String 固定为null bridge 否 String 固定为null,UUID格式。
  • 响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 volumeAttachments Array of objects 云服务器挂载信息列表,更多信息请参见表3。 attachableQuantity Object 云服务器可挂载磁盘数量,更多信息请参见表4。 表3 volumeAttachments参数 参数 参数类型 描述 serverId String 弹性云服务器ID,UUID格式。 volumeId String 云硬盘ID,UUID格式。 id String 挂载ID,与云硬盘ID相同。 UUID格式。 size Integer 云磁盘大小,单位GB。 device String 云硬盘挂载盘符,即控制台显示的磁盘挂载点。 如需查询云服务器内部的磁盘挂载点,请参见控制台与弹性云服务器内部之间磁盘挂载点的对应关系。 pciAddress String pci地址。 bootIndex Integer 云硬盘启动顺序。 0为系统盘 非0为数据盘 bus String 磁盘总线类型 。 取值范围:virtio、scsi 表4 attachableQuantity参数 参数 参数类型 描述 free_scsi Integer 云服务器可挂载scsi类型磁盘数量。 free_blk Integer 云服务器可挂载virtio_blk类型磁盘数量。 free_disk Integer 云服务器可挂载磁盘总数。
  • 微版本请求样例 假设使用弹性云服务器详情信息列表API接口查询"OS-EXT-SRV-ATTR:hostname"字段。 使用v2接口,不加微版本号 GET: https://{Endpoint}/v2/74610f3a5ad941998e91f076297ecf27/servers/detail 其中{Endpoint}为IAM的终端节点,请参考终端节点获取。 Headers: Content-Type application/json X-Auth-Token ${token} 响应消息体: { "servers": [ { "tenant_id": "74610f3a5ad941998e91f076297ecf27", "addresses": { "05d4fb93-84e5-4964-853b-32992ffef627": [ { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "fixed", "addr": "192.168.0.228", "version": 4 }, { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "floating", "addr": "192.168.51.61", "version": 4 } ] }, "metadata": {}, "OS-EXT-STS:task_state": null, "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone":"az1-dc1", "links": [ { "rel": "self", "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" }, { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" } ], "OS-EXT-STS:power_state": 1, "id": "89c312bb-285a-4026-a237-d441908c2f9e", "os-extended-volumes:volumes_attached": [ { "id": "c70c4b8e-33bd-4d1f-ab16-14a5a38cdeaf" } ], "OS-EXT-SRV-ATTR:host": "pod05.test.01", "image": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/images/1189efbf-d48b-46ad-a823-94b942e2a000" } ], "id": "1189efbf-d48b-46ad-a823-94b942e2a000" }, "OS-SRV-USG:terminated_at": null, "accessIPv4": "", "accessIPv6": "", "created": "2018-05-11T03:21:56Z", "hostId": "fc7a8ff86bac050f0d9454b1b078dcc97060e819acbf06f04c3e338f", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova012@7", "key_name": "id_rsa", "flavor": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/flavors/s3.small.1" } ], "id": "s3.small.1" }, "security_groups": [ { "name": "default" } ], "config_drive": "", "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-0016c624", "user_id": "f79791beca3c48159ac2553fff22e166", "name": "zt-test", "progress": 0, "OS-SRV-USG:launched_at": "2018-05-11T03:22:16.701600", "updated": "2018-05-11T03:22:51Z", "status": "ACTIVE" } ] } 结论:响应消息体中没有"OS-EXT-SRV-ATTR:hostname"字段。 使用v2.1接口,加微版本号 GET: https://{Endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/detail 其中{Endpoint}为IAM的终端节点,请参考终端节点获取。 Headers: Content-Type application/json X-Auth-Token ${token} X-OpenStack-Nova-API-Version 2.26 响应消息体: { "servers": [ { "tenant_id": "74610f3a5ad941998e91f076297ecf27", "addresses": { "05d4fb93-84e5-4964-853b-32992ffef627": [ { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "fixed", "addr": "192.168.0.228", "version": 4 }, { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "floating", "addr": "192.168.51.61", "version": 4 } ] }, "metadata": {}, "OS-EXT-STS:task_state": null, "description": "zt-test", "OS-EXT-SRV-ATTR:hostname": "zt-test", "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone":"az-test-01", "links": [ { "rel": "self", "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" }, { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" } ], "OS-EXT-STS:power_state": 1, "id": "89c312bb-285a-4026-a237-d441908c2f9e", "os-extended-volumes:volumes_attached": [ { "delete_on_termination": true, "id": "c70c4b8e-33bd-4d1f-ab16-14a5a38cdeaf" } ], "locked": false, "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:host":"pod05.test.01" , "OS-EXT-SRV-ATTR:ramdisk_id": "", "image": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/images/1189efbf-d48b-46ad-a823-94b942e2a000" } ], "id": "1189efbf-d48b-46ad-a823-94b942e2a000" }, "accessIPv4": "", "OS-SRV-USG:terminated_at": null, "accessIPv6": "", "OS-EXT-SRV-ATTR:launch_index": 0, "created": "2018-05-11T03:21:56Z", "OS-EXT-SRV-ATTR:user_data": null, "hostId": "fc7a8ff86bac050f0d9454b1b078dcc97060e819acbf06f04c3e338f", "OS-EXT-SRV-ATTR:reservation_id": "r-pbqmaxer", "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "host_status": "UP", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova012@7", "tags": [], "key_name": "id_rsa", "flavor": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/flavors/s3.small.1" } ], "id": "s3.small.1" }, "security_groups": [ { "name": "default" } ], "config_drive": "", "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-0016c624", "user_id": "f79791beca3c48159ac2553fff22e166", "name": "zt-test", "progress": 0, "OS-SRV-USG:launched_at": "2018-05-11T03:22:16.701600", "updated": "2018-05-11T03:22:51Z", "status": "ACTIVE" } ] } 结论:响应消息体中有"OS-EXT-SRV-ATTR:hostname"字段。
  • API风格说明 当前ECS服务对外开放两类风格的API: ECS服务自定义规范的API(以下简称ECS API) 顺从OpenStack社区标准原生规范的API(以下简称OpenStack API) 两种风格不同,功能相近。OpenStack API主要用于满足您在开源生态工具方面的对接需求,在某些功能上ECS API在OpenStack API基础上做了增强。为了更好地使用OpenStack API,建议您提前了解OpenStack相关概念与知识。
  • 版本号介绍 弹性云服务器所提供的API分为ECS API与OpenStack API。推荐您使用ECS接口。 OpenStack API可以使用v2和v2.1两个版本号,v2.1版本支持v2版本所有功能,且v2.1版本支持微版本。如果使用OpenStack API推荐用户使用v2.1接口。 若使用v2版本的OpenStack API,只需要把对应的API URI中的v2.1版本号改为v2版本号即可。
  • 微版本响应样例 如果“version”和“min_version”这两个值为空字符串,说明此endpoint不支持微版本。其中: version: 最大微版本号。 min_version:最小微版本号。 客户端应该指定最大和最小微版本范围内的微版本号去访问endpoint。客户端通过以下HTTP header指定微版本号: X-OpenStack-Nova-API-Version: 2.4 从微版本2.27开始,也可以用以下header指定微版本: Openstack-API-Version: compute 2.27 如下响应样例中支持的最大微版本为“2.14”,最小微版本为“2.1”: { "versions": [ { "id": "v2.0", "links": [ { "href": "http://openstack.example.com/v2/", "rel": "self" } ], "status": "SUPPORTED", "version": "", "min_version": "", "updated": "2011-01-21T11:33:21Z" }, { "id": "v2.1", "links": [ { "href": "http://openstack.example.com/v2.1/", "rel": "self" } ], "status": "CURRENT", "version": "2.14", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z" } ] }
  • 微版本号介绍 微版本说明:标识API中小的改动。当API URI使用v2.1版本的时候,用户可以指定微版本号使用相应API的新功能。使用查询API版本信息列表(废弃),可以查询当前支持的主版本和支持的最大与最小的微版本。 微版本的使用说明:用户想要使用微版本特性,需要在请求OpenStack API时,在请求头中加入微版本头:X-OpenStack-Nova-API-Version或者Openstack-API-Version,例如使用微版本2.26需要在https的请求头中加入: X-OpenStack-Nova-API-Version: 2.26或Openstack-API-Version: compute 2.26 当用户使用v2.1接口不传入微版本头时,默认使用的微版本Openstack-API-Version: compute 2.1(X-OpenStack-Nova-API-Version: 2.1)。
  • 响应示例 { "interfaceAttachment": { "port_state": "ACTIVE", "fixed_ips": [ { "subnet_id": "f8a6e8f8-c2ec-497c-9f23-da9616de54ef", "ip_address": "192.168.1.3" } ], "net_id": "3cb9bc59-5699-4588-a4b1-b87f96708bc6", "port_id": "ce531f90-199f-48c0-816c-13e38010b442", "mac_addr": "fa:16:3e:4c:2c:30" } }
  • 响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 interfaceAttachment Object 云服务器网卡信息列表,详情请参见表3。 表3 interfaceAttachment字段数据结构说明 参数 参数类型 描述 port_state String 网卡端口状态。 fixed_ips Array of objects 网卡IP信息列表,详情请参见表4。 net_id String 网卡端口所属网络ID。 port_id String 网卡端口ID。 mac_addr String 网卡Mac地址信息。 表4 fixed_ips字段数据结构说明 参数 参数类型 描述 subnet_id String 网卡所属子网ID。 ip_address String 网卡IP地址。
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝对指定资源在特定条件下进行某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。 关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 实例授权/标签授权:自定义策略的生效范围。如果同时支持实例授权和标签授权,表示此授权项对应的自定义策略,可以对某些指定实例或某些绑定指定标签的实例生效。如果仅支持标签授权,不支持实例授权,表示该授权项只能对某些绑定指定标签的实例生效。 该功能目前在“华北-乌兰察布一”暂不开放。 “√”表示支持,“x”表示暂不支持。 ECS支持的自定义策略授权项如下所示: 生命周期管理 状态管理 批量操作 网络管理 镜像管理 安全组管理 规格查询 网卡管理 磁盘管理 元数据管理 租户配额管理 SSH密钥管理 密码管理 浮动IP管理 云服务器组管理 云服务器控制台管理 可用区管理 标签管理 FPGA逻辑文件管理
  • 响应消息 响应参数 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 id String 卷快照ID,UUID格式 status String 卷快照的状态 displayName String 卷快照名称 displayDescription String 卷快照描述信息 createdAt String 卷快照创建时间 volumeId String 快照所属的卷ID,UUID格式。 size Integer 卷快照大小
  • 响应示例 { "snapshot": { "createdAt": "2016-05-20T16:54:14.981520", "displayDescription": null, "id": "b836dc3d-4e10-4ea4-a34c-8f6b0460a583", "displayName": "test", "size": 1, "status": "creating", "volumeId": "ba5730ea-8621-4ae8-b702-ff0ffc12c209" } }
  • 响应示例 { "flavors": [ { "attachableQuantity": { "free_scsi": 60, "free_blk": 24, "free_disk": 60, "free_nic": 12 }, "id": "c3.2xlarge.2", "name": "c3.2xlarge.2", "vcpus": "8", "ram": 16384, "disk": "0", "swap": "", "links": [ { "rel": "self", "href": "https://ecs.region.example.com/v1.0/743b4c0428d94531b9f2add666642e6b/flavors/c3.2xlarge.2", "type": null }, { "rel": "bookmark", "href": "https://ecs.region.example.com/743b4c0428d94531b9f2add666642e6b/flavors/c3.2xlarge.2", "type": null } ], "OS-FLV-EXT-DATA:ephemeral": 0, "rxtx_factor": 1, "OS-FLV-DISABLED:disabled": false, "rxtx_quota": null, "rxtx_cap": null, "os-flavor-access:is_public": true, "os_extra_specs": { "ecs:virtualization_env_types": "CloudCompute", "ecs:generation": "c3", "ecs:instance_architecture":"arm64" , "ecs:performancetype": "computingv3", "resource_type": "IOoptimizedC3_2" } } ] }
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 描述 flavors Array of objects 云服务器规格列表,详情请参见表4。 表4 flavors数据结构说明 参数 参数类型 描述 id String 云服务器规格的ID。 name String 云服务器规格的名称。 vcpus String 云服务器规格对应的CPU核数。 ram Integer 云服务器规格对应的内存大小,单位为MB。 disk String 云服务器规格对应要求系统盘大小。 当前未使用该参数,缺省值为0。 swap String 云服务器规格对应要求的交换分区大小。 当前未使用该参数,缺省值为""。 OS-FLV-EXT-DATA:ephemeral Integer 扩展属性,临时盘大小。 当前未使用该参数,缺省值为0。 OS-FLV-DISABLED:disabled Boolean 扩展属性,该云服务器规格是否禁用。 当前未使用该参数,缺省值为false。 rxtx_factor Float 云服务器可使用网络带宽与网络硬件带宽的比例。 当前未使用该参数,缺省值为1.0。 rxtx_quota String 云服务器可使用网络带宽的软限制。 当前未使用该参数,缺省值为null。 rxtx_cap String 云服务器可使用网络带宽的硬限制。 当前未使用该参数,缺省值为null。 os-flavor-access:is_public Boolean 扩展属性,flavor是否给所有租户使用。 true:表示给所有租户使用。 false:表示给指定租户使用。 缺省值为true。 links Array of objects 规格相关快捷链接地址,详情请参见表5。 os_extra_specs Object 云服务器规格的扩展字段,详情请参见表6。 attachableQuantity Object 云服务器可挂载网卡和卷数,详情参见表7。 表5 links字段数据结构说明 参数 参数类型 描述 rel String 快捷链接标记名称。 href String 对应快捷链接。 type String 快捷链接类型,当前接口未使用,缺省值为null。 表6 os_extra_specs数据结构说明(仅列举常用参数) 参数 参数类型 描述 ecs:performancetype String 云服务器规格的分类: normal:通用计算型 computingv3:通用计算增强型 highmem:内存优化型 cpuv1:计算I型 cpuv2:计算II型 highcpu:高性能计算型 ultracpu:超高性能计算型 diskintensive:磁盘增强型 gpu:GPU加速型 saphana:超大内存型 fpga:FPGA加速型 highio:超高I/O型 entry:通用入门型 ascend:AI加速型 kunpeng_computing:鲲鹏通用计算增强型 kunpeng_highmem:鲲鹏内存优化型 kunpeng_highio:鲲鹏超高I/O型 kunpeng_accelerator:鲲鹏应用加速型 advanced_smb:通用计算型(针对Flexus X提供资源) 说明: 早期注册的规格该字段为hws:performancetype。 XEN实例不支持该参数。 当前仅列举已呈现在控制台的规格,如需查看其他类型,请联系技术支持。 hw:numa_nodes String 主机的物理cpu数量。(该字段是否返回根据云服务器规格而定) resource_type String 资源类型。resource_type是为了区分云服务器的物理主机类型。 hpet_support String 云服务器高精度时钟是否开启,开启为true,否则为false。(该字段是否返回根据云服务器规格而定) instance_vnic:type String 网卡类型,值固定为“enhanced”,表示使用增强型网络的资源创建云服务器。 instance_vnic:instance_bandwidth String 最大带宽,单位Mbps,最大值为10000。 instance_vnic:max_count String 最大网卡个数,最大为4。 quota:local_disk String 值格式为{type}:{count}:{size}:{safeFormat},其中: type指磁盘类型,当前只支持hdd。 count指本地磁盘数量,目前支持: d1类型:3/6/12/24 d2类型:2/4/8/12/16/24 d3类型:2/4/8/12/16/24/28。 size指单个磁盘容量,单位GB,目前只支持1675(实际磁盘大小为1800,格式化后可用大小为1675)。 safeFormat指云服务器本地磁盘是否安全格式化,目前仅支持: d1类型:FALSE d2/d3类型:True。 说明: 磁盘增强型特有字段。 quota:nvme_ssd String 值格式为{type}:{spec}:{num}:{size}:{safeFormat}:{挂载协议},其中: type指主机上配备的nvme ssd的单卡容量大小,当前只支持1.6T/3.2T。 spec指nvme ssd的规格,包括large和lvs。large表示大规格,lvs表示小规格。 目前仅支持I系列(例如i3)的类型为large,仅支持Ir系列(例如ir3)的类型为lvs。 num指本地盘个数。 size指guest使用的盘的容量大小,单位为GB。在spec值为large的情况下,此项即为host单卡大小。在spec值为lvs的情况下,此值为50的整倍数。 safeFormat指云服务器本地磁盘是否安全格式化。 目前仅支持I系列(例如i3)和Ir系列(例如ir3)类型:True。 挂载协议(可选) 该字段仅当规格为Ir系列(例如ir3)时存在,挂载协议类型当前仅支持blk。 说明: 超高I/O型特有字段。 extra_spec:io:persistent_grant String 是否支持持久化,值为true。 代表云服务器访问存储的方式为持久化授权。 说明: 密集存储D1型特有字段。 ecs:generation String 弹性云服务器类型的代数。 示例:s3中的3表示通用型III代,详细的规格类型和代系请参考《弹性云服务器用户指南》的“实例规格清单”。 ecs:virtualization_env_types String 虚拟化类型。 如果值为“FusionCompute”,表示弹性云服务器使用基于XEN的虚拟化技术。 如果值为“CloudCompute”,表示弹性云服务器使用基于KVM的虚拟化技术。 说明: 可选字段。 pci_passthrough:enable_gpu String 显卡是否直通。 值为“true”,表示GPU直通。 pci_passthrough:gpu_specs String G1型和G2型云服务器应用的技术,包括GPU虚拟化和GPU直通。 如果该规格的云服务器使用GPU虚拟化技术,且GPU卡的型号为M60-1Q,参数值为“m60_1q:virt:1”。 如果该规格的云服务器使用GPU直通技术,且GPU卡的型号为M60,参数值为“m60:direct_graphics:1”。 pci_passthrough:alias String PCI直通设备信息,格式为PCI设备名称:数量。多个设备信息以逗号隔开。 例如nvidia-a30:1,表示携带一张A30的GPU。 cond:operation:status String 此参数是Region级配置,某个AZ没有在cond:operation:az参数中配置时默认使用此参数的取值。不配置或无此参数时等同于“normal”。取值范围: normal:正常商用 abandon:下线(即不显示) sellout:售罄 obt:公测 obt_sellout:公测售罄 promotion:推荐(等同normal,也是商用) cond:operation:az String 此参数是AZ级配置,某个AZ没有在此参数中配置时默认使用cond:operation:status参数的取值。此参数的配置格式“az(xx)”。()内为某个AZ的flavor状态,()内必须要填有状态,不填为无效配置。状态的取值范围与cond:operation:status参数相同。 例如:flavor在某个region的az0正常商用,az1售罄,az2公测,az3正常商用,其他az显示下线,可配置为: “cond:operation:status”设置为“abandon” “cond:operation:az”设置为“az0(normal), az1(sellout), az2(obt), az3(normal)” 说明: 如果flavor在某个AZ下的状态与cond:operation:status配置状态不同,必须配置该参数。 quota:max_rate String 最大带宽 单位Mbps,显示为Gbps时除以1000 quota:min_rate String 基准带宽 单位Mbps,显示为Gbps时除以1000 quota:max_pps String 内网最大收发包能力 单位个,显示为xx万时除以10000 cond:operation:charge:stop String 关机是否收费 关机是否计费,默认免费: charge free cond:operation:charge String 计费类型 计费场景,不配置时都支持 period,包年/包月 demand,按需 cond:spot:operation:az String spot售卖信息请使用 查询规格销售策略 接口查询。 Flavor在竞价销售模式下显示的AZ。 cond:operation:roles String 允许的角色 匹配的用户标签(roles的op_gatexxx标签)。不设置时所有用户可见 cond:spot:operation:status String spot售卖信息请使用 查询规格销售策略 接口查询。 Flavor在竞价销售模式下的状态 不配置时等同abandon normal,正常商用 abandon,下线 sellout,售罄 obt,公测,未申请时提示申请(暂不支持) private,私有,只给特定用户显示(暂不支持) test,试用/免费(暂不支持) promotion,推荐 cond:network String 网络约束 支持网络特性,不配置时以控制台默认配置为准。 cond:storage String 存储约束 支持磁盘特性,不配置时以控制台默认配置为准。 scsi,支持scsi localdisk,支持本地盘 ib,支持ib cond:storage:type String 支持的磁盘类型,不配置时以控制台默认配置为准。 SATA:普通IO云硬盘(已售罄) SAS:高IO云硬盘 GPSSD:通用型SSD云硬盘 SSD:超高IO云硬盘 ESSD:极速IO云硬盘 GPSSD2:通用型SSD V2云硬盘 ESSD2:极速型SSD V2云硬盘 cond:compute:live_resizable String 计算约束 true,支持在线扩容。 false或不存在该字段,不支持在线扩容。 cond:compute String 计算约束 autorecovery,自动恢复特性。 不存在该字段,不支持自动恢复。 ecs:instance_architecture String 该规格对应的CPU架构,且仅鲲鹏实例架构规格返回该字段。 取值为arm64表示CPU架构为鲲鹏计算。 info:gpu:name String GPU显卡数量和名称。 info:cpu:name String CPU名称。 quota:gpu String GPU显卡名称。 quota:vif_max_num String 云服务器最多支持绑定的弹性网卡个数。 quota:sub_network_interface_max_num String 云服务器最多支持绑定的辅助弹性网卡个数。 network_interface:traffic_mirroring_supported String 该规格是否支持流量镜像。 security:enclave_supported String 该规格是否支持QingTian Enclave。 info:gpus String 该规格的GPU卡信息。 name:GPU名称 memory_mb:GPU显存大小 count:GPU显卡数量 alias_prefix:GPU显卡内部别名 info:asic_accelerators String 该规格的加速器信息。 name:加速器名称 memory_mb:加速器显存大小 count:加速器显卡数量 alias_prefix:加速器显卡内部别名 表7 attachableQuantity字段数据结构说明 参数 参数类型 描述 free_scsi Integer 可挂载scsi卷数。 free_blk Integer 可挂载vbd卷数。 free_disk Integer 可挂载卷数。 free_nic Integer 可挂载网卡数。
  • 响应示例 { "servers": [ { "tenant_id": "edcb94a885a84ed3a3fdf8ea4d2741da", "vm_state": "active", "flavor": { "disk": 0, "name": "s2.medium.2", "id": "s2.medium.2", "vcpus": 1, "ram": 2048, "gpus":[], "asic_accelerators":[] }, "availability_zone": "az1-dc1", "user_id": "bb7f23e27e7e46f3aaceb5f53a158bdc", "created": "2023-03-18T09:02:36Z", "name": "ecs-5e70", "task_state": null, "in_recycle_bin": false, "id": "b37fd80e-ac67-4d02-b9f1-9891c9c0fabf", "updated": "2023-03-18T09:08:54Z", "spod_id": null, "status": "ACTIVE" }, { "tenant_id": "edcb94a885a84ed3a3fdf8ea4d2741da", "vm_state": "active", "flavor": { "disk": 0, "name": "s3.small.1", "id": "s3.small.1", "vcpus": 1, "ram": 1024, "gpus":[], "asic_accelerators":[] }, "availability_zone": "az1-dc1", "user_id": "bb7f23e27e7e46f3aaceb5f53a158bdc", "created": "2023-03-18T04:29:44Z", "name": "ecs-f680", "task_state": null, "in_recycle_bin": false, "id": "8380dcc9-0eac-4407-9f9e-df8c9eddeacd", "updated": "2023-03-18T04:40:25Z", "spod_id": null, "status": "ACTIVE" } ], "servers_links": [ { "rel": "next", "href": "" } ], "request_id": "2da856f5-95e6-437f-9f8b-ae7dc00a9ace" }
  • 操作步骤 创建网卡。 创建网络。 接口相关信息 URI格式:POST /v1/{project_id}/vpcs 详情请参见创建网络。 请求示例 POST https://{Endpoint}/v1/{project_id}/vpcs {endpoint}信息请从地区和终端节点获取。 Body: { "vpc": { "name": "vpc", "description": "test", "cidr": "192.168.0.0/16" } } 响应示例 { "vpc": { "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3", "name": "vpc", "description": "test", "cidr": "192.168.0.0/16", "status": "CREATING", "routes": [] } } 记录响应中“vpc”的ID。 创建子网。 接口相关信息 URI格式:POST /v2.0/subnets 详情请参见创建子网。 请求示例 POST https://{endpoint}/v2.0/subnets {endpoint}信息请从地区和终端节点获取。 Body: { "subnet": { "name": "testsubnet", "enable_dhcp": true, "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "dns_nameservers": [ "8.8.8.8", "8.8.8.7" ], "allocation_pools": [ { "start": "10.0.10.2", "end": "10.0.10.254" } ], "host_routes": [], "ip_version": 4, "gateway_ip": "10.0.10.1", "cidr": "10.0.10.0/24" } } 响应示例 { "subnet": { "name": "testsubnet", "cidr": "10.0.10.0/24", "id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "enable_dhcp": true, "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "dns_nameservers": [ "8.8.8.8", "8.8.8.7" ], "allocation_pools": [ { "start": "10.0.10.2", "end": "10.0.10.254" } ], "host_routes": [], "ip_version": 4, "gateway_ip": "10.0.10.1" } } 记录响应中“subnet”的ID。 创建端口。 接口相关信息 URI格式:POST /v2.0/ports 详情请参见创建端口。 请求示例 POST https://{endpoint}/v2.0/ports {endpoint}信息请从地区和终端节点获取。 Body: { "port": { "admin_state_up": true, "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5" } ], "name": "test", "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27" } } 响应示例 { "port": { "id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4", "name": "test", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "ip_address": "10.0.10.233" } ], "mac_address": "fa:16:3e:db:91:f6", "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "device_id": "", "device_owner": "", "security_groups": [ "93031677-2895-4b83-855a-637e309aa9e6" ], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {} } } 记录响应中“port”的ID。 挂载网卡。 接口相关信息 URI格式:POST /v1/{project_id}/cloudservers/{server_id}/nics 详情请参见“批量添加云服务器网卡”。 请求示例 POST https://{endpoint}/v1/74610f3a5ad941998e91f076297ecf27/cloudservers/9f4d9281-95e7-4915-a126-1ee597101e2e/nics {endpoint}信息请从地区和终端节点获取。 Body: { "nics": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5" } ] } 响应示例 { "job_id": "ff80808288d41e1b018990260955686a" } 查询任务执行状态。 接口相关信息 URI格式:GET /v1/{project_id}/jobs/{job_id} 详情请参见查询任务的执行状态。 请求示例 GET https://{endpoint}/v1/74610f3a5ad941998e91f076297ecf27/jobs/ff80808288d41e1b018990260955686a {endpoint}信息请从地区和终端节点获取。 响应示例 { "job_id": "ff80808288d41e1b018990260955686a", "job_type": "addNicsForServer", "begin_time": "2025-02-14T08:43:05.181Z", "end_time": "2025-02-14T08:43:17.075Z", "status": "SUC CES S", "error_code": null, "fail_reason": null, "entities": { "sub_jobs_total": 1, "sub_jobs": [ { "job_id": "ff80808288d41e1b018990260955686a", "job_type": "addNic", "begin_time": "2025-02-14T08:43:06.423Z", "end_time": "2025-02-14T08:43:12.380Z", "status": "SUCCESS", "error_code": null, "fail_reason": null, "entities": { "nic_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5" } } ] } }
  • 响应消息 响应参数 响应参数如表5所示。 表5 响应参数 参数 参数类型 描述 resources Array of objects 返回的云服务器列表,详情参见表6。 total_count Integer 总记录数 表6 resource字段数据结构说明 参数 参数类型 描述 resource_id String 云服务器ID resouce_detail String 预留字段。 tags Array of objects 标签列表。 resource_name String 资源名称,即弹性云服务器名称。 表7 resource_tag字段数据结构说明 参数 参数类型 描述 key String 键。 最大长度127个unicode字符。 key不能为空。 只能包含字母、数字、下划线“_”、中划线“-”。 value String 值。 每个值最大长度255个unicode字符。 可以为空字符串。 只能包含字母、数字、下划线“_”、中划线“-”。
  • 示例 请求示例 POST https://{endpoint}/v1/{project_id}/cloudservers/resource_instances/action { "offset": "100", "limit": "1", "action": "filter", "matches":[ { "key": "resource_name", "value": "ecs_test" }], "tags": [ { "key": "key1", "values": [ "value1", "value2" ] }] } 响应示例 { "resources": [ { "resource_detail": null, "resource_id": "31760ffa-6711-406d-bc94-bce4ae925a8a", "resource_name": "ecs_test", "tags": [ { "key": "key1", "value": "value1" } ] } ], "total_count": 1000 }
  • 请求消息 请求参数如表2所示。 表2 请求参数 参数 是否必选 参数类型 描述 action 是 String 值为filter:表示按标签过滤弹性云服务器,返回符合条件的云服务器列表。 limit 否 String 查询返回的云服务器数量限制,最多为1000,不能为负数。 如果action的值为count时,此参数无效。 如果action的值为filter时,limit必填,取值范围[0-1000],如果不传值,系统默认limit值为1000。 offset 否 String 偏移量:指定返回记录的开始位置,必须为数字,取值范围为大于或等于0。 查询第一页数据时,可以不传入此参数。 如果action的值为count时,此参数无效。 如果action的值为filter时,必填,如果用户不传值,系统默认offset值为0。 tags 否 Array of objects 查询包含所有指定标签的弹性云服务器,详情请参见表3。 结构体不能缺失。 key不能为空或者空字符串。 key不能重复。 同一个key中values不能重复。 not_tags 否 Array of strings 查询不包含所有指定标签的弹性云服务器。 结构体不能缺失。 key不能为空或者空字符串。 Key不能重复。 同一个key中values不能重复。 matches 否 Array of objects 搜索字段,用于按条件搜索弹性云服务器。 当前仅支持按resource_name进行搜索。更多信息,请参见表4。 表3 tag字段数据结构说明 参数 是否必选 参数类型 描述 key 是 String 键。 最大长度127个unicode字符。 key不能为空。 values 是 Array of strings 值列表。 value不允许重复。 每个值最大长度255 个unicode字符。 如果values为空则表示any_value。 value之间为或的关系。 表4 match字段数据结构说明 参数 是否必选 参数类型 描述 key 是 String 键,表示要匹配的字段。 当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。 key不能重复,value为匹配的值。 此字段为固定字典值。 不允许为空字符串。 value 是 String 值。 当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。 每个值最大长度255个unicode字符。 不可以为空 。
  • 响应消息 响应参数如表5所示。 表5 响应参数 参数 参数类型 描述 fpga_image Object FPGA镜像信息详情。 表6 fpga_image字段结构说明 参数 参数类型 描述 id String FPGA镜像的ID。 status String FPGA镜像状态。取值如下: initialing:表示创建FPGA镜像任务初始化中。 scheduling:表示等待调度创建。 creating:表示FPGA镜像正在创建中。 deleting:表示FPGA镜像正在删除中。 error:表示FPGA镜像创建失败。 active:表示FPGA镜像可以正常使用。
  • 请求示例 POST https://{endpoint}/v2/{project_id}/cloudservers/fpga_image { "fpga_image": { "dcp_location": "obs-fpga:vu9p/fpga-vu9p-dcp.tar", "log_directory": "vu9p/log", "name": "fpga-image-test", "description": "fpga description" } }
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全