创建部署计划
功能介绍
为方便您的统一管理,以及跨边缘站点管理资源,IEC基于业务场景角度,定义了边缘业务。 边缘业务即为逻辑层面的一套资源管理集合。这里的资源主要是指计算实例,包含实例规格、镜像、硬盘、网络等方面。通过指定计算实例的数量、调度策略以及区域分布等形成一套管理集合。了解更多
创建一个部署计划并执行,即可创建一个边缘业务。
-
边缘业务下实例分布取决于部署计划的实例分布与调度策略。
-
边缘业务下实例名称、规格、镜像等参数取决于部署计划配置计算实例字段。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/deployments
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
edgecloud |
是 |
EdgeCloudOption object |
待部署的边缘业务。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
边缘业务名称。 取值范围:只能由中文字符、大小写英文字母、数字及中划线、下划线组成,且长度为[1-32]个字符。 最小长度:1 最大长度:32 |
id |
否 |
String |
已有边缘业务ID,该参数用于扩容边缘业务场景。
说明:
|
description |
否 |
String |
描述,缺省值为空字符串。 最小长度:0 最大长度:255 |
coverage |
是 |
Coverage object |
边缘业务实例分布策略。 |
stack |
是 |
Stack object |
边缘业务资源组配置模板,边缘业务中的计算实例将根据该参数信息创建。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
coverage_policy |
是 |
String |
区域调度策略,只支持centralize/discrete。
|
coverage_level |
是 |
String |
区域分布层级,只支持area/prov/city/site。
约束: 站点层级,coverage_policy上仅支持'centralize',coverage_sites中'site'字段仅支持使用ID(站点ID,通过“查询边缘站点列表”获取),不支持name。 |
coverage_sites |
是 |
Array of CoverageSite objects |
区域及购买数量列表。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
site |
是 |
String |
站点名称。 具体信息可通过调用“查询边缘站点列表”来查询(注意:本字段区分大小写)。 |
demands |
是 |
Array of Demand objects |
租户需求数量列表。表示租户发放资源站点的运营商和发放的资源组的数量。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
operator |
否 |
String |
所属运营商。 |
demand_count |
是 |
Integer |
站点需要发放的资源(组)总数。
说明:
实际发放实例数量为count*demand_count。 最小值:1 最大值:10 |
pool_id |
否 |
String |
弹性公网IP池。 多线路场景下,将在该弹性公网IP池下创建弹性公网IP。
说明:
覆盖规则为省级/大区时不支持指定线路ID创建边缘业务。 |
bandwidth_type |
否 |
String |
带宽类型。 如果当前带宽类型下没有带宽,自动在该带宽类型下创建带宽 |
pool_id_v6 |
否 |
String |
指定IPv6线路,使用该线路下的子网分配IPv6端口。 如果该线路下没有关联启用IPv6的子网,则创建新的子网。 |
ipv6_bandwidth_enable |
否 |
Boolean |
使用IPv6带宽。 边缘实例是否开启IPv6公网访问能力。如果该IPv6线路没有可用的带宽,则创建新的带宽。 |
ipv6_bandwidth_type |
否 |
String |
带宽类型。 边缘实例开启IPv6访问公网能力后,如果当前带宽类型下没有带宽,自动在该带宽类型下创建带宽 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
边缘资源组名称。 取值范围:只能由中文字符、大小写英文字母、数字及中划线、下划线组成,且长度为[1-48]个字符。 最小长度:1 最大长度:48 |
resources |
是 |
Array of Resource objects |
边缘业务的堆栈,即为资源组。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
边缘实例名称。 取值范围: 只能由中文字符、英文字母 (大小写)、数字及“_”、“-”、“.” 组成。 创建的边缘实例数量(count字段对应的值)大于1时,为区分不同边缘实例,创建过程中系统会自动在名称后加“-000x”的类似标记。
说明:
华为云边缘实例内部主机名 (hostname)命名规则遵循RFC 952和RFC 1123命名规范,建议使用a-zA-z或0-9以及中划线'-'组成的名称命名,' _' 将在边缘实例内部默认转化为'-'。 最小长度:1 最大长度:48 |
with_prefix |
否 |
Boolean |
是否自动添加名称前缀。
以name为iec为例: 不添加前缀时实例名称为:iec-0001 自动添加前缀实例名称为:IEC-ZS01-iec-0001 0001为创建边缘业务时根据实例个数自动添加的编号 缺省值:true |
image_ref |
是 |
String |
待发放边缘实例的系统镜像,需要指定已创建镜像的ID。
说明:
镜像的ID可以从控制台或者参考本文档的“查询边镜像列表”的章节获取。 |
flavor_ref |
是 |
String |
边缘实例的系统规格的ID。 |
admin_pass |
否 |
String |
如果需要使用密码方式登录边缘实例,可使用admin_pass字段指定边缘实例管理员帐户初始登录密码。其中,Linux管理员帐户为root,Windows管理员帐户为Administrator。 密码复杂度要求:
说明:
目前边缘实例不支持创建后设置密码,不设置此参数会导致实例无法登录。 最小长度:8 最大长度:26 |
key_name |
否 |
String |
密钥对名称。 |
net_config |
是 |
NetConfig object |
实例的边缘网络配置。 包含了边缘网络的网段信息和子网数目信息。 |
bandwidth |
否 |
BandwidthConfig object |
实例的带宽参数。 IEC服务现在提供共享带宽服务,暂不支持其他类型带宽。
说明:
创建边缘业务时指定实例同步创建EIP则需通过此参数指定。 |
root_volume |
是 |
RootVolume object |
边缘实例对应系统盘相关配置。 |
data_volumes |
否 |
Array of DataVolume objects |
边缘实例对应数据盘相关配置。每一个数据结构代表一块待创建的数据盘。 约束:目前边缘实例最多可挂载2块数据盘 |
count |
否 |
Integer |
边缘实例数量。 不传该字段时默认取值为1。 |
security_groups |
否 |
Array of SecurityGroupOption objects |
边缘业务对应安全组信息。 |
user_data |
否 |
String |
创建边缘实例过程中注入用户数据。支持注入文本、文本文件或gzip文件。 更多关于待注入用户数据的信息,请参见《弹性云服务器用户指南 》的“用户数据注入”章节。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
vpc_id |
是 |
String |
边缘网络ID。 约束:
|
nic_num |
是 |
Integer |
边缘实例绑定的网卡数量。 约束:一台边缘实例最少绑定一张网卡,最多绑定8张网卡。 最小值:1 最大值:8 |
allowed_address_pairs |
否 |
Array of AllowedAddressPair objects |
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ip_address |
是 |
String |
|
mac_address |
否 |
String |
MAC地址 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
sharetype |
是 |
String |
带宽类型,现支持WHOLE类型,即共享带宽,其他类型不支持。 |
size |
否 |
Integer |
带宽(Mbit/s)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
size |
是 |
Integer |
系统盘大小,容量单位为GB,输入大小范围为[40,100]。 最小值:40 最大值:100 |
volume_type |
是 |
String |
边缘实例系统盘对应的磁盘类型,需要与站点所提供的磁盘类型相匹配。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
部署计划ID。 |
locations |
Array of Location objects |
部署位置信息列表。 |
参数 |
参数类型 |
描述 |
---|---|---|
site_id |
String |
站点ID。 |
area |
String |
所在大区。 |
province |
String |
所属省份英文名称。 大小写通用,皆支持 |
city |
String |
所在城市英文名称。 |
operator |
String |
所属运营商。 |
pool_id |
String |
线路ID。多线路场景下,创建的弹性公网IP在该线路下。 |
stack_count |
Integer |
站点需要发放的资源(组)总数。 |
city_short_name |
String |
城市简称。 |
ipv6_enable |
Boolean |
创建边缘实例是否开启IPv6。 |
ipv6_bandwidth_enable |
Boolean |
创建IPv6边缘实例是否支持公网访问。 |
pool_id_v6 |
String |
IPv6线路ID。IPv6场景下,使用该线路下的子网分配IPv6端口。 |
请求示例
创建部署计划,按需计费,实例规格为c6.large.2,网卡数量为1,系统盘类型为SATA,大小100GB,调度策略为集中,城市调度西安市区域购买1个实例
POST https://{endpoint}/v1/deployments { "edgecloud" : { "stack" : { "name" : "stack-fo09", "resources" : [ { "name" : "edgeinstance1", "image_ref" : "00000000-0000-0000-0000-000000000002", "flavor_ref" : "c6.large.2", "net_config" : { "vpc_id" : "4a6d9663-475f-11eb-aa7c-fa16406a65c4", "nic_num" : 1 }, "count" : 1, "root_volume" : { "volume_type" : "SATA", "size" : 100 }, "security_groups" : [ { "id" : "153133f5-2b16-11eb-a594-fa16408859a1" } ], "user_data" : "IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiQzOEVORTckaTJ6Li9ibzZMUGlUT3VFVE5KbmxNdC9yMmJSNlhyOC81S3BndWtNU0xhLmhiVlFJNkY3T25sUS5ucVM0SXpmVEhSU0ZHN3lBeHBiakxlNkUwYjE1YjEnIHwgY2hwYXNzd2QgLWU7" } ] }, "coverage" : { "coverage_level" : "city", "coverage_policy" : "centralize", "coverage_sites" : [ { "site" : "xi'an", "demands" : [ { "demand_count" : 1 } ] } ] }, "name" : "edgecloud1" } }
响应示例
状态码: 200
OK
{ "id" : "87b9a88c-499d-11eb-8a8a-fa1640495574", "locations" : [ { "site_id" : "74a75ed3-cfb9-11ea-a0c3-fa1640495574", "area" : "north", "province" : "shaanxi", "city" : "xi'an", "operator" : "bgp", "pool_id" : "5_bgp_edgecloud-site4_0", "stack_count" : 1, "city_short_name" : "" } ] }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
错误码
请参见错误码。