创建私有provider版本
功能介绍
创建私有provider版本(CreatePrivateProviderVersion)
-
provider的版本号需遵循语义化版本号(Semantic Version),为用户自定义。
-
如果provider_name和provider_id同时存在,则资源编排服务会检查是否两个匹配,如果不匹配则会返回400。
-
资源编排服务只会对function_graph_urn进行浅校验,如是否符合正则,是否仅指定为当前region等。并不会深度校验,即用户是否存在权限调用,是否真实存在等。
URI
POST /v1/private-providers/{provider_name}/versions
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
provider_name |
是 |
String |
私有provider(private-provider)的名称。此名字在domain_id+region下应唯一,可以使用小写英文、数字、中划线。仅支持以小写英文、数字开头结尾。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Client-Request-Id |
是 |
String |
用户指定的,对于此请求的唯一Id,用于定位某个请求,推荐使用UUID |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
provider_id |
否 |
String |
私有provider(private-provider)的唯一Id。 此Id由资源编排服务在生成provider的时候生成,为UUID。 由于私有provider名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有provider,删除,再重新创建一个同名私有provider。 对于团队并行开发,用户可能希望确保,当前我操作的私有provider就是我以为的那个,而不是其他队友删除后创建的同名私有provider。因此,使用Id就可以做到强匹配。 资源编排服务保证每次创建的私有provider所对应的Id都不相同,更新不会影响Id。如果给予的provider_id和当前provider的Id不一致,则返回400 |
provider_version |
是 |
String |
provider的版本号。版本号必须遵循语义化版本号(Semantic Version),为用户自定义 |
version_description |
否 |
String |
私有provider版本(provider version)的描述。可用于客户识别并管理私有provider的版本。注意:provider版本为不可更新(immutable),所以该字段不可更新,如果需要更新,请删除后重建 |
function_graph_urn |
是 |
String |
FunctionGraph方法的统一资源标识,用于标识唯一的FunctionGraph方法。当前只支持和RFS同region的function_graph_urn,如果给予了关于其他region的,会报错400。 关于该参数的详细解释,请参考官方文档:https://support.huaweicloud.com/api-functiongraph/functiongraph_06_0102.html |
响应参数
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 409
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 429
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
请求示例
-
创建一个新的私有provider版本
POST https://{endpoint}/v1/private-providers/my-hello-world-provider-name/versions { "provider_version" : "0.0.2", "function_graph_urn" : "urn:fss:cn-north-7:a61dfe3154de42829367056598d5040f:function:default:test:latest", "version_description" : "my second private provider version" }
-
创建一个新的私有provider版本,并带有provider ID
POST https://{endpoint}/v1/private-providers/my-hello-world-provider-name/versions { "provider_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "provider_version" : "0.0.1", "function_graph_urn" : "urn:fss:cn-north-7:a61dfe3154de42829367056598d5040f:function:default:test:latest", "version_description" : "my first private provider version" }
响应示例
无
状态码
状态码 |
描述 |
---|---|
201 |
创建成功,无数据返回 |
400 |
用户请求非法 |
401 |
用户身份认证失败 |
403 |
|
404 |
私有provider不存在 |
409 |
创建冲突,同名的版本号(provider_version)已经存在 |
429 |
请求数量过多 |
500 |
服务器内部错误 |