Available in Classic and VPC
Create or edit a Cloud Functions action.
Request
The following describes the request format for the endpoint. The request format is as follows:
| Method | URI |
|---|---|
| PUT | /ncf/api/v2/packages/{packageName}/actions/{actionName} |
Request headers
For information about the headers common to all Cloud Functions APIs, see Cloud Functions request headers.
Request path parameters
You can use the following path parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
packageName |
String | Required | Package name
|
actionName |
String | Required | Action name
|
Request query parameters
You can use the following query parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
platform |
String | Optional | Platform type
|
type |
String | Optional | Action type
|
Request body
The following describes the request body.
Basic/web action
The following describes the parameters.
| Field | Type | Required | Description |
|---|---|---|---|
description |
String | Optional | Action description (byte)
|
parameters |
Object | Optional | Default parameters of the action
|
limits.timeout |
Integer | Required | Maximum action execution time (milliseconds)
|
limits.memory |
Integer | Required | Maximum memory size for the action (MB)
|
exec.kind |
String | Required | Action runtime
|
exec.imageUri |
String | Conditional | User image path
|
exec.binary |
Boolean | Required | Whether the action code file is binary
|
exec.code |
String | Required | Action source code
|
exec.main |
String | Required | Execution function |
vpc |
Array | Required | Information about the VPC to connect: vpc
|
raw-http |
Boolean | Optional | Whether to use the HTTP origin
|
custom-options |
Boolean | Optional | Set the HTTP header options
|
vpc
The following describes vpc.
| Field | Type | Required | Description |
|---|---|---|---|
vpcNo |
Integer | Required | ID of the VPC to connect |
subnetNo |
Integer | Required | ID of subnet to connect |
Sequence/sequence-web action
The following describes the parameters.
| Field | Type | Required | Description |
|---|---|---|---|
description |
String | Optional | Action description (byte)
|
exec.kind |
String | Required | Action type
|
exec.components |
String[] | Required | List of actions to connect to the sequence action
|
Request example
The following is a sample request.
curl -X PUT 'https://cloudfunctions.apigw.ntruss.com/ncf/api/v2/packages/{packageName}/actions/{actionName}' \
--header 'Content-Type: application/json' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Sub Account Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
--data '{
"description" : "My action",
"parameters": {
"name": "Cloud Functions",
"place": "NCloud"
},
"limits": {
"timeout": 60000,
"memory": 128
},
"exec": {
"kind": "nodejs:16",
"code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n return {payload: \"abc\"};\n}",
"binary": false,
"main": "main"
},
"vpc": [
{
"vpcNo" : ******,
"subnetNo" : *****
}
]
}'
Response
The following describes the response format.
Response body
The following describes the response body.
Common fields
| Field | Type | Required | Description |
|---|---|---|---|
content.name |
String | - | Action name |
content.resourceId |
String | - | Action's resource ID |
content.path |
String | - | Action path |
content.description |
String | - | Action description |
content.type |
String | - | Action type |
content.name |
String | Action name | |
content.resourceId |
String | Action's resource ID | |
content.path |
String | Action path | |
content.description |
String | - | Action description |
content.type |
String | - | Action type |
Basic/web action
| Field | Type | Required | Description |
|---|---|---|---|
content.parameters |
Object | - | Default parameters of the action |
content.raw-http |
Boolean | - | Whether to use the HTTP origin
|
content.custom-options |
Boolean | - | Set the header options
|
content.exec.binary |
Boolean | - | Whether the action code is file binary |
content.exec.code |
String | - | Action source code or Base64-encoded code file binary |
content.exec.imageUri |
String | - | User image path
|
content.exec.kind |
String | - | Action runtime |
content.exec.main |
String | - | Execution function |
content.limits.memory |
Integer | - | Size of memory allocated to the action container |
content.limits.timeout |
Integer | - | Maximum time an action can run |
content.vpc |
Object[] | - | Connected VPC information
|
content.vpc[].vpcNo |
Integer | - | ID of the connected VPC |
content.vpc[].subnetNo |
Integer | - | ID of the connected subnet |
Sequence/web-sequence action
| Field | Type | Required | Description |
|---|---|---|---|
content.exec.kind |
String | - | Action type
|
content.exec.components |
String[] | - | List of connected actions |
Response status codes
For information about the HTTP status codes common to all Cloud Functions APIs, see Cloud Functions response status codes.
Response example
The following is a sample example.
{
"content": {
"description": "My action",
"exec": {
"binary": false,
"code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n return {payload: \"abc\"};\n}",
"kind": "nodejs:16",
"main": "main"
},
"limits": {
"memory": 128,
"timeout": 60000
},
"name": "myaction",
"parameters": {
"name": "Cloud Functions",
"place": "NCloud"
},
"path": "***QK06kFG8C/mypackage",
"resourceId": "*****",
"type": "basic",
"vpc": [
{
"subnetNo": ******,
"vpcNo": *****
}
]
}
}