Available in Classic and VPC
Create or edit a Cloud Functions action.
Request
This section describes the request format. The method and URI are as follows:
| Method | URI |
|---|---|
| PUT | /ncf/api/v2/packages/{packageName}/actions/{actionName} |
Singapore and Japan Regions are available only in the VPC environment.
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
You can include the following data in the body of your request:
Basic/web action
The following describes basic/web actions.
| 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 sequence/sequence-web actions.
| 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 request example is as follows:
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
This section describes the response format.
Response body
The response body includes the following data:
Common fields
The following describes the common fields.
| Field | Type | Required | Description |
|---|---|---|---|
content |
Object | - | Action creation and modification information |
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
The following describes basic/web actions.
| 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 |
Array | - | Connected VPC information: vpc
|
vpc
The following describes vpc.
| Field | Type | Required | Description |
|---|---|---|---|
vpcNo |
Integer | - | ID of the connected VPC |
subnetNo |
Integer | - | ID of the connected subnet |
Sequence/web-sequence action
The following describes sequence/sequence-web actions.
| 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 response example is as follows:
{
"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": *****
}
]
}
}