functions
Creates, updates, deletes, gets or lists a functions
resource.
Overview
Name | functions |
Type | Resource |
Id | google.cloudfunctions.functions |
Fields
Name | Datatype | Description |
---|---|---|
name | string | A user-defined name of the function. Function names must be unique globally and match pattern projects/*/locations/*/functions/* |
description | string | User-provided description of a function. |
buildConfig | object | Describes the Build step of the function that builds a container from the given source. |
createTime | string | Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. |
environment | string | Describe whether the function is 1st Gen or 2nd Gen. |
eventTrigger | object | Describes EventTrigger, used to request events to be sent from another service. |
kmsKeyName | string | Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key} . |
labels | object | Labels associated with this Cloud Function. |
satisfiesPzs | boolean | Output only. Reserved for future use. |
serviceConfig | object | Describes the Service being deployed. Currently Supported : Cloud Run (fully managed). |
state | string | Output only. State of the function. |
stateMessages | array | Output only. State Messages for this Cloud Function. |
updateTime | string | Output only. The last update timestamp of a Cloud Function. |
upgradeInfo | object | Information related to: A function's eligibility for 1st Gen to 2nd Gen migration Current state of migration for function undergoing migration. |
url | string | Output only. The deployed url for the function. |
Methods
Name | Accessible by | Required Params | Description |
---|---|---|---|
get | SELECT | functionsId, locationsId, projectsId | Returns a function with the given name from the requested project. |
list | SELECT | locationsId, projectsId | Returns a list of functions that belong to the requested project. |
create | INSERT | locationsId, projectsId | 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. |
delete | DELETE | functionsId, locationsId, projectsId | Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function. |
patch | UPDATE | functionsId, locationsId, projectsId | Updates existing function. |
abort_function_upgrade | EXEC | functionsId, locationsId, projectsId | Aborts generation upgrade process for a function with the given name from the specified project. Deletes all 2nd Gen copy related configuration and resources which were created during the upgrade process. |
commit_function_upgrade | EXEC | functionsId, locationsId, projectsId | Finalizes the upgrade after which function upgrade can not be rolled back. This is the last step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Deletes all original 1st Gen related configuration and resources. |
generate_download_url | EXEC | functionsId, locationsId, projectsId | Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls |
generate_upload_url | EXEC | locationsId, projectsId | Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: Source file type should be a zip file. No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, specify this header: content-type: application/zip Do not specify this header: Authorization: Bearer YOUR_TOKEN |
redirect_function_upgrade_traffic | EXEC | functionsId, locationsId, projectsId | Changes the traffic target of a function from the original 1st Gen function to the 2nd Gen copy. This is the second step of the multi step process to upgrade 1st Gen functions to 2nd Gen. After this operation, all new traffic will be served by 2nd Gen copy. |
rollback_function_upgrade_traffic | EXEC | functionsId, locationsId, projectsId | Reverts the traffic target of a function from the 2nd Gen copy to the original 1st Gen function. After this operation, all new traffic would be served by the 1st Gen. |
setup_function_upgrade_config | EXEC | functionsId, locationsId, projectsId | Creates a 2nd Gen copy of the function configuration based on the 1st Gen function with the given name. This is the first step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Only 2nd Gen configuration is setup as part of this request and traffic continues to be served by 1st Gen. |
SELECT
examples
Returns a list of functions that belong to the requested project.
SELECT
name,
description,
buildConfig,
createTime,
environment,
eventTrigger,
kmsKeyName,
labels,
satisfiesPzs,
serviceConfig,
state,
stateMessages,
updateTime,
upgradeInfo,
url
FROM google.cloudfunctions.functions
WHERE locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';
INSERT
example
Use the following StackQL query and manifest file to create a new functions
resource.
- All Properties
- Manifest
/*+ create */
INSERT INTO google.cloudfunctions.functions (
locationsId,
projectsId,
name,
description,
buildConfig,
serviceConfig,
eventTrigger,
labels,
environment,
kmsKeyName
)
SELECT
'{{ locationsId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ description }}',
'{{ buildConfig }}',
'{{ serviceConfig }}',
'{{ eventTrigger }}',
'{{ labels }}',
'{{ environment }}',
'{{ kmsKeyName }}'
;
- name: your_resource_model_name
props:
- name: name
value: string
- name: description
value: string
- name: buildConfig
value:
- name: automaticUpdatePolicy
value: []
- name: onDeployUpdatePolicy
value:
- name: runtimeVersion
value: string
- name: build
value: string
- name: runtime
value: string
- name: entryPoint
value: string
- name: source
value:
- name: storageSource
value:
- name: bucket
value: string
- name: object
value: string
- name: generation
value: string
- name: sourceUploadUrl
value: string
- name: repoSource
value:
- name: branchName
value: string
- name: tagName
value: string
- name: commitSha
value: string
- name: projectId
value: string
- name: repoName
value: string
- name: dir
value: string
- name: gitUri
value: string
- name: sourceProvenance
value:
- name: gitUri
value: string
- name: workerPool
value: string
- name: environmentVariables
value: object
- name: dockerRegistry
value: string
- name: dockerRepository
value: string
- name: serviceAccount
value: string
- name: sourceToken
value: string
- name: serviceConfig
value:
- name: service
value: string
- name: timeoutSeconds
value: integer
- name: availableMemory
value: string
- name: availableCpu
value: string
- name: environmentVariables
value: object
- name: maxInstanceCount
value: integer
- name: minInstanceCount
value: integer
- name: vpcConnector
value: string
- name: vpcConnectorEgressSettings
value: string
- name: ingressSettings
value: string
- name: uri
value: string
- name: serviceAccountEmail
value: string
- name: allTrafficOnLatestRevision
value: boolean
- name: secretEnvironmentVariables
value:
- - name: key
value: string
- name: projectId
value: string
- name: secret
value: string
- name: version
value: string
- name: secretVolumes
value:
- - name: mountPath
value: string
- name: projectId
value: string
- name: secret
value: string
- name: versions
value:
- - name: version
value: string
- name: path
value: string
- name: revision
value: string
- name: maxInstanceRequestConcurrency
value: integer
- name: securityLevel
value: string
- name: binaryAuthorizationPolicy
value: string
- name: eventTrigger
value:
- name: trigger
value: string
- name: triggerRegion
value: string
- name: eventType
value: string
- name: eventFilters
value:
- - name: attribute
value: string
- name: value
value: string
- name: operator
value: string
- name: pubsubTopic
value: string
- name: serviceAccountEmail
value: string
- name: retryPolicy
value: string
- name: channel
value: string
- name: service
value: string
- name: state
value: string
- name: updateTime
value: string
- name: labels
value: object
- name: stateMessages
value:
- - name: severity
value: string
- name: type
value: string
- name: message
value: string
- name: environment
value: string
- name: upgradeInfo
value:
- name: upgradeState
value: string
- name: url
value: string
- name: kmsKeyName
value: string
- name: satisfiesPzs
value: boolean
- name: createTime
value: string
UPDATE
example
Updates a functions
resource.
/*+ update */
UPDATE google.cloudfunctions.functions
SET
name = '{{ name }}',
description = '{{ description }}',
buildConfig = '{{ buildConfig }}',
serviceConfig = '{{ serviceConfig }}',
eventTrigger = '{{ eventTrigger }}',
labels = '{{ labels }}',
environment = '{{ environment }}',
kmsKeyName = '{{ kmsKeyName }}'
WHERE
functionsId = '{{ functionsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';
DELETE
example
Deletes the specified functions
resource.
/*+ delete */
DELETE FROM google.cloudfunctions.functions
WHERE functionsId = '{{ functionsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';