Skip to main content

workflows

Creates, updates, deletes, gets or lists a workflows resource.

Overview

Nameworkflows
TypeResource
Idgoogle.workflows.workflows

Fields

NameDatatypeDescription
namestringThe resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow}. This is a workflow-wide field and is not tied to a specific revision.
descriptionstringDescription of the workflow provided by the user. Must be at most 1000 Unicode characters long. This is a workflow-wide field and is not tied to a specific revision.
allKmsKeysarrayOutput only. A list of all KMS crypto keys used to encrypt or decrypt the data associated with the workflow.
allKmsKeysVersionsarrayOutput only. A list of all KMS crypto key versions used to encrypt or decrypt the data associated with the workflow.
callLogLevelstringOptional. Describes the level of platform logging to apply to calls and call responses during executions of this workflow. If both the workflow and the execution specify a logging level, the execution level takes precedence.
createTimestringOutput only. The timestamp for when the workflow was created. This is a workflow-wide field and is not tied to a specific revision.
cryptoKeyNamestringOptional. The resource name of a KMS crypto key used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} Using - as a wildcard for the {project} or not providing one at all will infer the project from the account. If not provided, data associated with the workflow will not be CMEK-encrypted.
cryptoKeyVersionstringOutput only. The resource name of a KMS crypto key version used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}
executionHistoryLevelstringOptional. Describes the level of the execution history feature to apply to this workflow.
labelsobjectLabels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. This is a workflow-wide field and is not tied to a specific revision.
revisionCreateTimestringOutput only. The timestamp for the latest revision of the workflow's creation.
revisionIdstringOutput only. The revision of the workflow. A new revision of a workflow is created as a result of updating the following properties of a workflow: - Service account - Workflow code to be executed The format is "000001-a4d", where the first six characters define the zero-padded revision ordinal number. They are followed by a hyphen and three hexadecimal random characters.
serviceAccountstringThe service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using - as a wildcard for the {project} or not providing one at all will infer the project from the account. The {account} value can be the email address or the unique_id of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision.
sourceContentsstringWorkflow code to be executed. The size limit is 128KB.
statestringOutput only. State of the workflow deployment.
stateErrorobjectDescribes an error related to the current state of the workflow.
updateTimestringOutput only. The timestamp for when the workflow was last updated. This is a workflow-wide field and is not tied to a specific revision.
userEnvVarsobjectOptional. User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".

Methods

NameAccessible byRequired ParamsDescription
getSELECTlocationsId, projectsId, workflowsIdGets details of a single workflow.
listSELECTlocationsId, projectsIdLists workflows in a given project and location. The default order is not specified.
createINSERTlocationsId, projectsIdCreates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation returns a ALREADY_EXISTS error.
deleteDELETElocationsId, projectsId, workflowsIdDeletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow.
patchUPDATElocationsId, projectsId, workflowsIdUpdates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow might be created as a result of a successful update operation. In that case, the new revision is used in new workflow executions.

SELECT examples

Lists workflows in a given project and location. The default order is not specified.

SELECT
name,
description,
allKmsKeys,
allKmsKeysVersions,
callLogLevel,
createTime,
cryptoKeyName,
cryptoKeyVersion,
executionHistoryLevel,
labels,
revisionCreateTime,
revisionId,
serviceAccount,
sourceContents,
state,
stateError,
updateTime,
userEnvVars
FROM google.workflows.workflows
WHERE locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

Use the following StackQL query and manifest file to create a new workflows resource.

/*+ create */
INSERT INTO google.workflows.workflows (
locationsId,
projectsId,
name,
description,
labels,
serviceAccount,
sourceContents,
cryptoKeyName,
callLogLevel,
userEnvVars,
executionHistoryLevel
)
SELECT
'{{ locationsId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ description }}',
'{{ labels }}',
'{{ serviceAccount }}',
'{{ sourceContents }}',
'{{ cryptoKeyName }}',
'{{ callLogLevel }}',
'{{ userEnvVars }}',
'{{ executionHistoryLevel }}'
;

UPDATE example

Updates a workflows resource.

/*+ update */
UPDATE google.workflows.workflows
SET
name = '{{ name }}',
description = '{{ description }}',
labels = '{{ labels }}',
serviceAccount = '{{ serviceAccount }}',
sourceContents = '{{ sourceContents }}',
cryptoKeyName = '{{ cryptoKeyName }}',
callLogLevel = '{{ callLogLevel }}',
userEnvVars = '{{ userEnvVars }}',
executionHistoryLevel = '{{ executionHistoryLevel }}'
WHERE
locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND workflowsId = '{{ workflowsId }}';

DELETE example

Deletes the specified workflows resource.

/*+ delete */
DELETE FROM google.workflows.workflows
WHERE locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND workflowsId = '{{ workflowsId }}';