MENU
      Put Action

        Put Action


        Article summary

        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:

        MethodURI
        PUT/packages/{packageName}/actions/{actionName}

        Request headers

        For headers common to all Cloud Functions APIs, see Cloud Functions common headers.

        Request path parameters

        The following describes the parameters.

        FieldTypeRequiredDescription
        packageNameStringRequiredPackage 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 "-" to create actions that are not part of a package
          • <E.g.> /packages/-/actions/myaction
        actionNameStringRequiredAction 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

        The following describes the parameters.

        FieldTypeRequiredDescription
        platformStringOptionalPlatform type
        • vpc | classic (default)

        Request body

        The following describes the request body.

        Basic action

        The following describes the request body for basic actions.

        FieldTypeRequiredDescription
        descriptionStringOptionalAction description (byte)
        • 0 - 3000
        webBooleanOptionalSet web action
        • true | false
          • true: web action
          • false: general action
        • Default
          • When creating a new action: false
          • When editing an existing action: true
        • Can't change the type of an existing action
        raw-httpBooleanOptionalWhether to use the HTTP origin
        • true | false (default)
        • If web is false, only false can be entered
        • Only supported for web actions
        custom-optionsBooleanOptionalSet header options
        • true | false (default)
        • If web is false, only false can be entered
        • Only supported for web actions
        parametersObjectOptionalDefault 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.timeoutIntegerRequiredMaximum action execution time (milliseconds)
        • 500 - 300,000
        • Force terminate the action on timeout
        limits.memoryIntegerRequiredMaximum memory size for the action (MB)
        • 128 | 256 | 512 | 1024
        exec.kindStringRequiredAction runtime
        exec.binaryBooleanRequiredWhether 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
        • If exec.kind is java or dotnet:2.2, enter true
        exec.codeStringRequiredAction 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 uploaded as a compressed *.jar file
        • .NET (dotnet) can only be uploaded as a *.zip file (compressed file)
        exec.mainStringRequiredExecution function
        vpcObjectOptionalVPC information to connect
        • Enter only if platform is vpc
        vpc.vpcNoIntegerOptionalNumber of VPC to connect
        vpc.subnetNoIntegerOptionalNumber of subnet to connect

        Sequence action

        The following describes the request body for sequence actions.

        FieldTypeRequiredDescription
        descriptionStringOptionalAction description (byte)
        • 0 - 3000
        webBooleanOptionalSet web action
        • true | false
          • true: web action
          • false: general action
        • Default
          • When creating a new action: false
          • When editing an existing action: true
        • Can't change the type of an existing action
        exec.kindStringRequiredAction type
        • sequence (fixed value)
        exec.componentsString[]RequiredList of actions to connect to the sequence action
        • {packageName}/{actionName} format
        • Enter actions in the order of execution
        • 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 --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 '<See below>'
        Curl
        {
            "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"
            }
        }
        JSON

        Response

        The following describes the response format.

        Response body

        The following describes the response body.

        Basic action

        The following describes the response body for basic actions.

        FieldTypeRequiredDescription
        content.nameString-Action name
        content.pathString-Action path
        content.descriptionString-Action description
        content.parametersObject-Default parameters of the action
        content.resourceIdString-Action's resource ID
        content.webBoolean-Web action settings
        content.raw-httpBoolean-Whether to use the HTTP origin
      • Supported only for web actions
      • content.custom-optionsBoolean-Set header options
      • Supported only for web actions
      • content.exec.binaryBoolean-Whether the action code is file binary
        content.exec.codeString-Action source code or Base64-encoded code file binary
        content.exec.kindString-Language in use
        content.exec.mainString-Execution function
        content.limits.memoryInteger-Size of memory allocated to the action container
        content.limits.timeoutInteger-Maximum time an action can run
        content.vpcObject-Information of the connected VPC
        • Display only if platform is vpc
        content.vpc.vpcNoInteger-Number of the connected VPC
        content.vpc.subnetNoInteger-Number of the connected subnet

        Sequence action

        The following describes the response body for sequence actions.

        FieldTypeDescription
        content.nameStringAction name
        content.pathStringAction path
        content.descriptionStringAction description
        content.resourceIdStringAction's resource ID
        content.webBooleanWeb action settings
        content.exec.kindStringAction type
        • sequence (fixed value)
        content.exec.componentsString[]List of connected actions

        Response status codes

        For response status codes common to NAVER Cloud Platform, see Ncloud API response status codes.

        Response example

        The following is a sample example.

        {
            "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
            }
        }
        JSON

        Was this article helpful?

        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.