Create Reserved Instance Configuration#
Description#
This API is used to create reserved instance configuration with specific labels for function services in the openYuanrong cluster by calling the meta_service interface.
Constraints#
The function version must exist.
A maximum of 100 Labels can be created for the same function version.
URI#
POST /serverless/v1/functions/reserve-instance
Request Parameters#
Request Header Parameters#
Parameter |
Required |
Type |
Description |
|---|---|---|---|
X-Tenant-Id |
No |
string |
Tenant ID, default is |
X-Trace-Id |
No |
string |
traceID. |
Request Body Parameters#
Name |
Type |
Required |
Description |
|---|---|---|---|
funcName |
String |
Yes |
Function service uses the format 0@{serviceName}@{funcName}. |
version |
String |
Yes |
Function version number. |
instanceLabel |
String |
Yes |
Label name, cannot be empty. |
instanceConfigInfos |
Array[InstanceConfigInfo] |
Yes |
Reserved instance configuration, duplicate cluster configurations are not allowed. |
InstanceConfigInfo#
Name |
Type |
Required |
Description |
|---|---|---|---|
clusterId |
String |
No |
Cluster ID. Default is |
maxInstance |
String |
No |
Maximum number of instances. Values: |
minInstance |
String |
No |
Minimum number of instances. Values: |
Response Parameters#
Name |
Type |
Required |
Description |
|---|---|---|---|
code |
int |
Yes |
Return code, |
message |
String |
Yes |
Return error message. |
instanceConfigInfos |
Array[InstanceConfigInfo] |
Yes |
Reserved instance configuration. |
reserveInsBaseInfo |
ReserveInsBaseInfo |
Yes |
Basic configuration information. |
ReserveInsBaseInfo#
Name |
Type |
Required |
Description |
|---|---|---|---|
funcName |
String |
Yes |
Function name. |
version |
String |
Yes |
Function version number. |
instanceLabel |
String |
No |
Label name. |
Status Codes#
Status Code |
Description |
|---|---|
200 |
Request successful (ok). |
400 |
Bad Request. |
500 |
Internal Server Error. |
Request Example#
POST {meta service endpoint}/serverless/v1/functions/reserve-instance
{
"funcName": "0@faaspy@hello",
"version": "latest",
"instanceLabel": "label001",
"instanceConfigInfos": [
{
"clusterId": "cluster001",
"maxInstance": 101,
"minInstance": 0
}
]
}
Response Example#
Successful Response#
{
"code": 0,
"message": "",
"instanceConfigInfos": [
{
"clusterId": "cluster001",
"maxInstance": 101,
"minInstance": 0
}
],
"reserveInsBaseInfo": {
"funcName": "0@faaspy@hello",
"version": "latest",
"instanceLabel": "label001"
}
}
Error Response#
{
"code": 4115,
"message": "function [0@faaspy@hello1] is not found. check input parameters"
}