Put Action

Prev Next

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
  • 1 to 50 characters, including English letters, numbers, and special characters "-" and "_", and it can't start with "-"
  • It can't be duplicated with other resource (package, action, trigger) names
  • Enter the special character "-" for actions that are not part of a package
actionName String Required Action name
  • 1 to 50 characters, including English letters, numbers, and special characters "-" and "_", and it can't start with "-"
  • It can't be duplicated with other resource (package, action, trigger) names

Request query parameters

You can use the following query parameters with your request:

Field Type Required Description
platform String Optional Platform type
  • vpc (default) | classic
type String Optional Action type
  • basic (default) | web | sequence | sequence-web
    • basic: general action
    • web: web action
    • sequence: sequence action
    • sequence-web: sequence web action
  • It can't be changed to another 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)
  • 0 - 3000
parameters Object Optional Default parameters of the action
  • JSON in the form of {"key" : "value"}
  • Priority of applying parameters when running actions
    • 1st priority: runtime parameters passed at runtime
    • 2nd priority: default parameters of connected triggers
    • 3rd priority: default parameters in actions
    • 4th priority: default parameters of included packages
limits.timeout Integer Required Maximum action execution time (milliseconds)
  • 500 - 300,000
  • Force terminate the action on timeout
limits.memory Integer Required Maximum memory size for the action (MB)
  • 128 | 256 | 512 | 1024
exec.kind String Required Action runtime
exec.imageUri String Conditional User image path
  • Only applicable for custom image runtimes
  • {registryName}/{imageName}:{tag} format
  • If tag is not entered, the default is latest
exec.binary Boolean Required Whether the action code file is binary
  • true | false
    • true: Enter the Base64-encoded value from the action code file in exec.code
    • false: Enter the action code in exec.code
exec.code String Required Action source code
  • Source code: Enter the code verbatim
  • File attachment: Enter the action code file binary data encoded in Base64
  • Need to escape when typing code directly
  • Java or .NET runtime only allows file binaries
  • Java can only be registered as a compressed *.jar file
  • .NET (dotnet) can only be uploaded as a *.zip file (compressed file)
exec.main String Required Execution function
vpc Array Required Information about the VPC to connect: vpc
  • Only applicable for the VPC platform
raw-http Boolean Optional Whether to use the HTTP origin
  • Supported only for the web action type
custom-options Boolean Optional Set the HTTP header options
  • Supported only for the web action type

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)
  • 0 - 3000
exec.kind String Required Action type
  • sequence (fixed value)
exec.components String[] Required List of actions to connect to the sequence action
  • {packageName}/{actionName} format
  • Run in list order
  • When connecting an action that is not part of a package, enter the special character "-" in packageName

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
  • Supported only for the web action type
content.custom-options Boolean - Set the header options
  • Supported only for the web action type
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
  • It is displayed only if the runtime is custom image
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
  • It is displayed only if the platform is VPC
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
  • sequence (fixed value)
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": *****
            }
        ]
    }
}