REST Resource: projects.locations.workflows

Resource: Workflow

Workflow program to be executed by Workflows.

JSON representation
{
  "name": string,
  "description": string,
  "state": enum (State),
  "revisionId": string,
  "createTime": string,
  "updateTime": string,
  "revisionCreateTime": string,
  "labels": {
    string: string,
    ...
  },
  "serviceAccount": string,
  "cryptoKeyName": string,
  "stateError": {
    object (StateError)
  },
  "callLogLevel": enum (CallLogLevel),
  "userEnvVars": {
    string: string,
    ...
  },
  "allKmsKeys": [
    string
  ],
  "allKmsKeysVersions": [
    string
  ],
  "cryptoKeyVersion": string,

  // Union field source_code can be only one of the following:
  "sourceContents": string
  // End of list of possible types for union field source_code.
}
Fields
name

string

The 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.

description

string

Description 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.

state

enum (State)

Output only. State of the workflow deployment.

revisionId

string

Output 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:

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.

createTime

string (Timestamp format)

Output only. The timestamp for when the workflow was created. This is a workflow-wide field and is not tied to a specific revision.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. The timestamp for when the workflow was last updated. This is a workflow-wide field and is not tied to a specific revision.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

revisionCreateTime

string (Timestamp format)

Output only. The timestamp for the latest revision of the workflow's creation.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Labels 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.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

serviceAccount

string

The 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.

cryptoKeyName

string

Optional. 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.

stateError

object (StateError)

Output only. Error regarding the state of the workflow. For example, this field will have error details if the execution data is unavailable due to revoked KMS key permissions.

callLogLevel

enum (CallLogLevel)

Optional. 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.

userEnvVars

map (key: string, value: string)

Optional. 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".

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

allKmsKeys[]

string

Output only. A list of all KMS crypto keys used to encrypt or decrypt the data associated with the workflow.

allKmsKeysVersions[]

string

Output only. A list of all KMS crypto key versions used to encrypt or decrypt the data associated with the workflow.

cryptoKeyVersion

string

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

Union field source_code. Required. Location of the workflow source code. Modifying this field for an existing workflow results in a new workflow revision. source_code can be only one of the following:
sourceContents

string

Workflow code to be executed. The size limit is 128KB.

State

Describes the current state of workflow deployment.

Enums
STATE_UNSPECIFIED Invalid state.
ACTIVE The workflow has been deployed successfully and is serving.
UNAVAILABLE Workflow data is unavailable. See the stateError field.

StateError

Describes an error related to the current state of the workflow.

JSON representation
{
  "details": string,
  "type": enum (Type)
}
Fields
details

string

Provides specifics about the error.

type

enum (Type)

The type of this state error.

Type

Describes the possibled types of a state error.

Enums
TYPE_UNSPECIFIED No type specified.
KMS_ERROR Caused by an issue with KMS.

CallLogLevel

Describes the level of platform logging to apply to calls and call responses during workflow executions.

Enums
CALL_LOG_LEVEL_UNSPECIFIED No call logging level specified.
LOG_ALL_CALLS Log all call steps within workflows, all call returns, and all exceptions raised.
LOG_ERRORS_ONLY Log only exceptions that are raised from call steps within workflows.
LOG_NONE Explicitly log nothing.

Methods

create

Creates a new workflow.

delete

Deletes a workflow with the specified name.

get

Gets details of a single workflow.

list

Lists workflows in a given project and location.

listRevisions

Lists revisions for a given workflow.

patch

Updates an existing workflow.