Put Action
    • PDF

    Put Action

    • PDF

    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>'
    
    {
        "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

    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
        }
    }
    

    Was this article helpful?

    What's Next
    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.