Send feedback
Method: googleapis.cloudfunctions.v2.projects.locations.functions.create
Stay organized with collections
Save and categorize content based on your preferences.
Creates a new function. If a function with the given name already exists
in the specified project, the long running operation will return
ALREADY_EXISTS
error.
This method waits—the workflow execution is paused—until the operation is
complete, fails, or times out. The default timeout value is 1800
seconds (30
minutes) and can be changed to a maximum value of 31536000
seconds (one year)
for long-running operations using the connector_params
field. See the
Connectors reference .
The connector uses polling to monitor the long-running operation, which might
generate additional billable steps. For more information about retries and
long-running operations, refer to Understand connectors .
The polling policy for the long-running operation can be configured. To set the
connector-specific parameters (connector_params
), refer to
Invoke a connector call .
Arguments
Parameters
parent
string
Required. The project and location in which the function should be created, specified in the format projects/*/locations/*
functionId
string
The ID to use for the function, which will become the final component of the function's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.
body
object (Function )
Required.
Raised exceptions
Exceptions
ConnectionError
In case of a network problem (such as DNS failure or refused connection).
HttpError
If the response status is >= 400 (excluding 429 and 503).
TimeoutError
If a long-running operation takes longer to finish than the specified timeout limit.
TypeError
If an operation or function receives an argument of the wrong type.
ValueError
If an operation or function receives an argument of the right type but an inappropriate value. For example, a negative timeout.
OperationError
If the long-running operation finished unsuccessfully.
ResponseTypeError
If the long-running operation returned a response of the wrong type.
Response
If successful, the response contains an instance of Operation
.
Subworkflow snippet
Some fields might be optional or required.
To identify required fields, refer to the API documentation .
YAML
- create :
call : googleapis.cloudfunctions.v2.projects.locations.functions.create
args :
parent : ...
functionId : ...
body :
buildConfig :
buildpackStack : ...
dockerRegistry : ...
dockerRepository : ...
entryPoint : ...
environmentVariables : ...
runtime : ...
source :
repoSource :
branchName : ...
commitSha : ...
dir : ...
invertRegex : ...
projectId : ...
repoName : ...
tagName : ...
storageSource :
bucket : ...
generation : ...
object : ...
workerPool : ...
description : ...
environment : ...
eventTrigger :
channel : ...
eventFilters : ...
eventType : ...
pubsubTopic : ...
retryPolicy : ...
serviceAccountEmail : ...
triggerRegion : ...
labels : ...
name : ...
serviceConfig :
allTrafficOnLatestRevision : ...
availableMemory : ...
environmentVariables : ...
ingressSettings : ...
maxInstanceCount : ...
minInstanceCount : ...
secretEnvironmentVariables : ...
secretVolumes : ...
securityLevel : ...
serviceAccountEmail : ...
timeoutSeconds : ...
vpcConnector : ...
vpcConnectorEgressSettings : ...
result : createResult
JSON
[
{
"create" : {
"call" : "googleapis.cloudfunctions.v2.projects.locations.functions.create" ,
"args" : {
"parent" : "..." ,
"functionId" : "..." ,
"body" : {
"buildConfig" : {
"buildpackStack" : "..." ,
"dockerRegistry" : "..." ,
"dockerRepository" : "..." ,
"entryPoint" : "..." ,
"environmentVariables" : "..." ,
"runtime" : "..." ,
"source" : {
"repoSource" : {
"branchName" : "..." ,
"commitSha" : "..." ,
"dir" : "..." ,
"invertRegex" : "..." ,
"projectId" : "..." ,
"repoName" : "..." ,
"tagName" : "..."
},
"storageSource" : {
"bucket" : "..." ,
"generation" : "..." ,
"object" : "..."
}
},
"workerPool" : "..."
},
"description" : "..." ,
"environment" : "..." ,
"eventTrigger" : {
"channel" : "..." ,
"eventFilters" : "..." ,
"eventType" : "..." ,
"pubsubTopic" : "..." ,
"retryPolicy" : "..." ,
"serviceAccountEmail" : "..." ,
"triggerRegion" : "..."
},
"labels" : "..." ,
"name" : "..." ,
"serviceConfig" : {
"allTrafficOnLatestRevision" : "..." ,
"availableMemory" : "..." ,
"environmentVariables" : "..." ,
"ingressSettings" : "..." ,
"maxInstanceCount" : "..." ,
"minInstanceCount" : "..." ,
"secretEnvironmentVariables" : "..." ,
"secretVolumes" : "..." ,
"securityLevel" : "..." ,
"serviceAccountEmail" : "..." ,
"timeoutSeconds" : "..." ,
"vpcConnector" : "..." ,
"vpcConnectorEgressSettings" : "..."
}
}
},
"result" : "createResult"
}
}
]
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Method: googleapis.cloudfunctions.v2.projects.locations.functions.create\n\nCreates a new function. If a function with the given name already exists\nin the specified project, the long running operation will return\n`ALREADY_EXISTS` error.\n\nThis method waits---the workflow execution is paused---until the operation is\ncomplete, fails, or times out. The default timeout value is `1800` seconds (30\nminutes) and can be changed to a maximum value of `31536000` seconds (one year)\nfor long-running operations using the `connector_params` field. See the\n[Connectors reference](/workflows/docs/reference/googleapis).\n\nThe connector uses polling to monitor the long-running operation, which might\ngenerate additional billable steps. For more information about retries and\nlong-running operations, refer to [Understand connectors](/workflows/docs/connectors).\n\nThe polling policy for the long-running operation can be configured. To set the\nconnector-specific parameters (`connector_params`), refer to\n[Invoke a connector call](/workflows/docs/reference/googleapis#invoke_a_connector_call).\n\nArguments\n---------\n\nRaised exceptions\n-----------------\n\nResponse\n--------\n\nIf successful, the response contains an instance of [`Operation`](/workflows/docs/reference/googleapis/cloudfunctions/v2/Overview#Operation).\n\nSubworkflow snippet\n-------------------\n\nSome fields might be optional or required.\nTo identify required fields, refer to the [API documentation](https://cloud.google.com/functions/docs/reference/rest/v2/projects.locations.functions/create). \n\n### YAML\n\n```yaml\n- create:\n call: googleapis.cloudfunctions.v2.projects.locations.functions.create\n args:\n parent: ...\n functionId: ...\n body:\n buildConfig:\n buildpackStack: ...\n dockerRegistry: ...\n dockerRepository: ...\n entryPoint: ...\n environmentVariables: ...\n runtime: ...\n source:\n repoSource:\n branchName: ...\n commitSha: ...\n dir: ...\n invertRegex: ...\n projectId: ...\n repoName: ...\n tagName: ...\n storageSource:\n bucket: ...\n generation: ...\n object: ...\n workerPool: ...\n description: ...\n environment: ...\n eventTrigger:\n channel: ...\n eventFilters: ...\n eventType: ...\n pubsubTopic: ...\n retryPolicy: ...\n serviceAccountEmail: ...\n triggerRegion: ...\n labels: ...\n name: ...\n serviceConfig:\n allTrafficOnLatestRevision: ...\n availableMemory: ...\n environmentVariables: ...\n ingressSettings: ...\n maxInstanceCount: ...\n minInstanceCount: ...\n secretEnvironmentVariables: ...\n secretVolumes: ...\n securityLevel: ...\n serviceAccountEmail: ...\n timeoutSeconds: ...\n vpcConnector: ...\n vpcConnectorEgressSettings: ...\n result: createResult\n```\n\n### JSON\n\n```json\n[\n {\n \"create\": {\n \"call\": \"googleapis.cloudfunctions.v2.projects.locations.functions.create\",\n \"args\": {\n \"parent\": \"...\",\n \"functionId\": \"...\",\n \"body\": {\n \"buildConfig\": {\n \"buildpackStack\": \"...\",\n \"dockerRegistry\": \"...\",\n \"dockerRepository\": \"...\",\n \"entryPoint\": \"...\",\n \"environmentVariables\": \"...\",\n \"runtime\": \"...\",\n \"source\": {\n \"repoSource\": {\n \"branchName\": \"...\",\n \"commitSha\": \"...\",\n \"dir\": \"...\",\n \"invertRegex\": \"...\",\n \"projectId\": \"...\",\n \"repoName\": \"...\",\n \"tagName\": \"...\"\n },\n \"storageSource\": {\n \"bucket\": \"...\",\n \"generation\": \"...\",\n \"object\": \"...\"\n }\n },\n \"workerPool\": \"...\"\n },\n \"description\": \"...\",\n \"environment\": \"...\",\n \"eventTrigger\": {\n \"channel\": \"...\",\n \"eventFilters\": \"...\",\n \"eventType\": \"...\",\n \"pubsubTopic\": \"...\",\n \"retryPolicy\": \"...\",\n \"serviceAccountEmail\": \"...\",\n \"triggerRegion\": \"...\"\n },\n \"labels\": \"...\",\n \"name\": \"...\",\n \"serviceConfig\": {\n \"allTrafficOnLatestRevision\": \"...\",\n \"availableMemory\": \"...\",\n \"environmentVariables\": \"...\",\n \"ingressSettings\": \"...\",\n \"maxInstanceCount\": \"...\",\n \"minInstanceCount\": \"...\",\n \"secretEnvironmentVariables\": \"...\",\n \"secretVolumes\": \"...\",\n \"securityLevel\": \"...\",\n \"serviceAccountEmail\": \"...\",\n \"timeoutSeconds\": \"...\",\n \"vpcConnector\": \"...\",\n \"vpcConnectorEgressSettings\": \"...\"\n }\n }\n },\n \"result\": \"createResult\"\n }\n }\n]\n```"]]