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 | /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
|
Request body
You can include the following data in the body of your request:
Basic action
The following describes the request body for basic actions.
| Field | Type | Required | Description |
|---|---|---|---|
description |
String | Optional | Action description (byte)
|
web |
Boolean | Optional | Set web action
|
raw-http |
Boolean | Optional | Whether to use the HTTP origin
|
custom-options |
Boolean | Optional | Set header options
|
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.binary |
Boolean | Required | Whether the action code file is binary
|
exec.code |
String | Required | Action source code
|
exec.main |
String | Required | Execution function |
vpc |
Object | Optional | VPC information to connect
|
vpc.vpcNo |
Integer | Optional | Number of VPC to connect
|
vpc.subnetNo |
Integer | Optional | Number of subnet to connect
|
Sequence action
The following describes the request body for sequence actions.
| Field | Type | Required | Description |
|---|---|---|---|
description |
String | Optional | Action description (byte)
|
web |
Boolean | Optional | Set web action
|
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 --location --request PUT 'https://cloudfunctions.apigw.ntruss.com/api/v2/packages/package003/actions/action001?platform=classic' \
--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" : "Create Action",
"web": false,
"raw-http": false,
"custom-options" : false,
"parameters": {
"name": "action000"
},
"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"
}
}'
Response
This section describes the response format.
Response body
The response body includes the following data:
Basic action
The following describes the response body for basic actions.
| Field | Type | Required | Description |
|---|---|---|---|
content |
Object | - | Action creation and modification information |
content.name |
String | - | Action name |
content.path |
String | - | Action path |
content.description |
String | - | Action description |
content.parameters |
Object | - | Default parameters of the action |
content.resourceId |
String | - | Action's resource ID |
content.web |
Boolean | - | Web action settings |
content.raw-http |
Boolean | - | Whether to use the HTTP origin
|
content.custom-options |
Boolean | - | Header option settings
|
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.kind |
String | - | Language in use |
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 | - | Information of the connected VPC
|
content.vpc.vpcNo |
Integer | - | Number of the connected VPC |
content.vpc.subnetNo |
Integer | - | Number of the connected subnet |
Sequence action
The following describes the response body for sequence actions.
| Field | Type | Required | Description |
|---|---|---|---|
content |
Object | - | Action creation and modification information |
content.name |
String | - | Action name |
content.path |
String | - | Action path |
content.description |
String | - | Action description |
content.resourceId |
String | - | Action's resource ID |
content.web |
Boolean | - | Web action settings |
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 NAVER Cloud Platform, see Ncloud API response status codes.
Response example
The response example is as follows:
{
"content": {
"custom-options": false,
"description": "Create 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": "action001",
"parameters": {
"name": "action000"
},
"path": "otojYBN*****/package003",
"raw-http": false,
"resourceId": "Hb***",
"web": false
}
}