diff --git a/discovery/workflowexecutions-v1.json b/discovery/workflowexecutions-v1.json index 51100252dd..b4c91836ff 100644 --- a/discovery/workflowexecutions-v1.json +++ b/discovery/workflowexecutions-v1.json @@ -366,6 +366,87 @@ ] } } + }, + "stepEntries": { + "methods": { + "get": { + "description": "Gets a step entry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}/stepEntries/{stepEntriesId}", + "httpMethod": "GET", + "id": "workflowexecutions.projects.locations.workflows.executions.stepEntries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the step entry to retrieve. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/stepEntries/{step_entry}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+/stepEntries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "StepEntry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists step entries for the corresponding workflow execution. Returned entries are ordered by their create_time.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}/stepEntries", + "httpMethod": "GET", + "id": "workflowexecutions.projects.locations.workflows.executions.stepEntries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filters applied to the `[StepEntries.ListStepEntries]` results. The following fields are supported for filtering: `entryId`, `createTime`, `updateTime`, `routine`, `step`, `stepType`, `state`. For details, see AIP-160. For example, if you are using the Google APIs Explorer: `state=\"SUCCEEDED\"` or `createTime>\"2023-08-01\" AND state=\"FAILED\"`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Comma-separated list of fields that specify the ordering applied to the `[StepEntries.ListStepEntries]` results. By default the ordering is based on ascending `entryId`. The following fields are supported for ordering: `entryId`, `createTime`, `updateTime`, `routine`, `step`, `stepType`, `state`. For details, see AIP-132.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Number of step entries to return per call. The default max is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListStepEntries` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListStepEntries` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the workflow execution to list entries for. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/stepEntries/", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", + "required": true, + "type": "string" + }, + "skip": { + "description": "Optional. The number of step entries to skip. It can be used with or without a pageToken. If used with a pageToken, then it indicates the number of step entries to skip starting from the requested page.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+parent}/stepEntries", + "response": { + "$ref": "ListStepEntriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } @@ -376,7 +457,7 @@ } } }, - "revision": "20231016", + "revision": "20231107", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "Callback": { @@ -435,6 +516,17 @@ }, "type": "object" }, + "Exception": { + "description": "Exception describes why the step entry failed.", + "id": "Exception", + "properties": { + "payload": { + "description": "Error message represented as a JSON string.", + "type": "string" + } + }, + "type": "object" + }, "Execution": { "description": "A running instance of a [Workflow](/workflows/docs/reference/rest/v1/projects.locations.workflows).", "id": "Execution", @@ -587,6 +679,59 @@ }, "type": "object" }, + "ListStepEntriesResponse": { + "description": "Response message for ExecutionHistory.ListStepEntries.", + "id": "ListStepEntriesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass this value in the ListStepEntriesRequest.page_token field in the subsequent call to `ListStepEntries` method to retrieve the next page of results.", + "type": "string" + }, + "stepEntries": { + "description": "The list of entries.", + "items": { + "$ref": "StepEntry" + }, + "type": "array" + }, + "totalSize": { + "description": "Indicates the total number of StepEntries that matched the request filter. For running executions, this number shows the number of StepEntries that are executed thus far.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "NavigationInfo": { + "description": "NavigationInfo describes what steps if any come before or after this step, or what steps are parents or children of this step.", + "id": "NavigationInfo", + "properties": { + "children": { + "description": "Step entries that can be reached by \"stepping into\" e.g. a subworkflow call.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The index of the next step in the current workflow, if any.", + "format": "int64", + "type": "string" + }, + "parent": { + "description": "The step entry, if any, that can be reached by \"stepping out\" of the current workflow being executed.", + "format": "int64", + "type": "string" + }, + "previous": { + "description": "The index of the previous step in the current workflow, if any.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Position": { "description": "Position contains source position information about the stack trace element such as line number, column number and length of the code block in bytes.", "id": "Position", @@ -726,6 +871,163 @@ }, "type": "object" }, + "StepEntry": { + "description": "An StepEntry contains debugging information for a step transition in a workflow execution.", + "id": "StepEntry", + "properties": { + "createTime": { + "description": "Output only. The creation time of the step entry.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entryId": { + "description": "Output only. The numeric ID of this step entry, used for navigation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "exception": { + "$ref": "Exception", + "description": "Output only. The exception thrown by the step entry.", + "readOnly": true + }, + "name": { + "description": "Output only. The full resource name of the step entry. Each step entry has a unique entry ID, which is a monotonically increasing counter. Step entry names have the format: `projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/stepEntries/{step_entry}`.", + "readOnly": true, + "type": "string" + }, + "navigationInfo": { + "$ref": "NavigationInfo", + "description": "Output only. The NavigationInfo associated to this step.", + "readOnly": true + }, + "routine": { + "description": "Output only. The name of the routine this step entry belongs to. A routine name is the subworkflow name defined in the YAML source code. The top level routine name is `main`.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the step entry.", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_IN_PROGRESS", + "STATE_SUCCEEDED", + "STATE_FAILED" + ], + "enumDescriptions": [ + "Invalid state.", + "The step entry is in progress.", + "The step entry finished successfully.", + "The step entry failed with an error." + ], + "readOnly": true, + "type": "string" + }, + "step": { + "description": "Output only. The name of the step this step entry belongs to.", + "readOnly": true, + "type": "string" + }, + "stepEntryMetadata": { + "$ref": "StepEntryMetadata", + "description": "Output only. The StepEntryMetadata associated to this step.", + "readOnly": true + }, + "stepType": { + "description": "Output only. The type of the step this step entry belongs to.", + "enum": [ + "STEP_TYPE_UNSPECIFIED", + "STEP_ASSIGN", + "STEP_STD_LIB_CALL", + "STEP_CONNECTOR_CALL", + "STEP_SUBWORKFLOW_CALL", + "STEP_CALL", + "STEP_SWITCH", + "STEP_CONDITION", + "STEP_FOR", + "STEP_FOR_ITERATION", + "STEP_PARALLEL_FOR", + "STEP_PARALLEL_BRANCH", + "STEP_PARALLEL_BRANCH_ENTRY", + "STEP_TRY_RETRY_EXCEPT", + "STEP_TRY", + "STEP_RETRY", + "STEP_EXCEPT", + "STEP_RETURN", + "STEP_RAISE", + "STEP_GOTO" + ], + "enumDescriptions": [ + "Invalid step type.", + "The step entry assigns new variable(s).", + "The step entry calls a standard library routine.", + "The step entry calls a connector.", + "The step entry calls a subworklfow.", + "The step entry calls a subworkflow/stdlib.", + "The step entry executes a switch-case block.", + "The step entry executes a condition inside a switch.", + "The step entry executes a for loop.", + "The step entry executes a iteration of a for loop.", + "The step entry executes a parallel for loop.", + "The step entry executes a series of parallel branch(es).", + "The step entry executes a branch of a parallel branch.", + "The step entry executes a try/retry/except block.", + "The step entry executes the try part of a try/retry/except block.", + "The step entry executes the retry part of a try/retry/except block.", + "The step entry executes the except part of a try/retry/except block.", + "The step entry returns.", + "The step entry raises an error.", + "The step entry jumps to another step." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recently updated time of the step entry.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "StepEntryMetadata": { + "description": "StepEntryMetadata contains metadata information about this step.", + "id": "StepEntryMetadata", + "properties": { + "progressNumber": { + "description": "Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR.", + "format": "int64", + "type": "string" + }, + "progressType": { + "description": "Progress type of this step entry.", + "enum": [ + "PROGRESS_TYPE_UNSPECIFIED", + "PROGRESS_TYPE_FOR", + "PROGRESS_TYPE_SWITCH", + "PROGRESS_TYPE_RETRY", + "PROGRESS_TYPE_PARALLEL_FOR", + "PROGRESS_TYPE_PARALLEL_BRANCH" + ], + "enumDescriptions": [ + "Current step entry does not have any progress data.", + "Current step entry is in progress of a FOR step.", + "Current step entry is in progress of a SWITCH step.", + "Current step entry is in progress of a RETRY step.", + "Current step entry is in progress of a PARALLEL FOR step.", + "Current step entry is in progress of a PARALLEL BRANCH step." + ], + "type": "string" + }, + "threadId": { + "description": "Child thread id that this step entry belongs to.", + "type": "string" + } + }, + "type": "object" + }, "TriggerPubsubExecutionRequest": { "description": "Request for the TriggerPubsubExecution method.", "id": "TriggerPubsubExecutionRequest", diff --git a/src/apis/workflowexecutions/v1.ts b/src/apis/workflowexecutions/v1.ts index f6afe5c91a..27cce8bcf0 100644 --- a/src/apis/workflowexecutions/v1.ts +++ b/src/apis/workflowexecutions/v1.ts @@ -166,6 +166,15 @@ export namespace workflowexecutions_v1 { */ stackTrace?: Schema$StackTrace; } + /** + * Exception describes why the step entry failed. + */ + export interface Schema$Exception { + /** + * Error message represented as a JSON string. + */ + payload?: string | null; + } /** * A running instance of a [Workflow](/workflows/docs/reference/rest/v1/projects.locations.workflows). */ @@ -258,6 +267,44 @@ export namespace workflowexecutions_v1 { */ nextPageToken?: string | null; } + /** + * Response message for ExecutionHistory.ListStepEntries. + */ + export interface Schema$ListStepEntriesResponse { + /** + * A token to retrieve next page of results. Pass this value in the ListStepEntriesRequest.page_token field in the subsequent call to `ListStepEntries` method to retrieve the next page of results. + */ + nextPageToken?: string | null; + /** + * The list of entries. + */ + stepEntries?: Schema$StepEntry[]; + /** + * Indicates the total number of StepEntries that matched the request filter. For running executions, this number shows the number of StepEntries that are executed thus far. + */ + totalSize?: number | null; + } + /** + * NavigationInfo describes what steps if any come before or after this step, or what steps are parents or children of this step. + */ + export interface Schema$NavigationInfo { + /** + * Step entries that can be reached by "stepping into" e.g. a subworkflow call. + */ + children?: string[] | null; + /** + * The index of the next step in the current workflow, if any. + */ + next?: string | null; + /** + * The step entry, if any, that can be reached by "stepping out" of the current workflow being executed. + */ + parent?: string | null; + /** + * The index of the previous step in the current workflow, if any. + */ + previous?: string | null; + } /** * Position contains source position information about the stack trace element such as line number, column number and length of the code block in bytes. */ @@ -361,6 +408,72 @@ export namespace workflowexecutions_v1 { */ step?: string | null; } + /** + * An StepEntry contains debugging information for a step transition in a workflow execution. + */ + export interface Schema$StepEntry { + /** + * Output only. The creation time of the step entry. + */ + createTime?: string | null; + /** + * Output only. The numeric ID of this step entry, used for navigation. + */ + entryId?: string | null; + /** + * Output only. The exception thrown by the step entry. + */ + exception?: Schema$Exception; + /** + * Output only. The full resource name of the step entry. Each step entry has a unique entry ID, which is a monotonically increasing counter. Step entry names have the format: `projects/{project\}/locations/{location\}/workflows/{workflow\}/executions/{execution\}/stepEntries/{step_entry\}`. + */ + name?: string | null; + /** + * Output only. The NavigationInfo associated to this step. + */ + navigationInfo?: Schema$NavigationInfo; + /** + * Output only. The name of the routine this step entry belongs to. A routine name is the subworkflow name defined in the YAML source code. The top level routine name is `main`. + */ + routine?: string | null; + /** + * Output only. The state of the step entry. + */ + state?: string | null; + /** + * Output only. The name of the step this step entry belongs to. + */ + step?: string | null; + /** + * Output only. The StepEntryMetadata associated to this step. + */ + stepEntryMetadata?: Schema$StepEntryMetadata; + /** + * Output only. The type of the step this step entry belongs to. + */ + stepType?: string | null; + /** + * Output only. The most recently updated time of the step entry. + */ + updateTime?: string | null; + } + /** + * StepEntryMetadata contains metadata information about this step. + */ + export interface Schema$StepEntryMetadata { + /** + * Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR. + */ + progressNumber?: string | null; + /** + * Progress type of this step entry. + */ + progressType?: string | null; + /** + * Child thread id that this step entry belongs to. + */ + threadId?: string | null; + } /** * Request for the TriggerPubsubExecution method. */ @@ -519,12 +632,17 @@ export namespace workflowexecutions_v1 { export class Resource$Projects$Locations$Workflows$Executions { context: APIRequestContext; callbacks: Resource$Projects$Locations$Workflows$Executions$Callbacks; + stepEntries: Resource$Projects$Locations$Workflows$Executions$Stepentries; constructor(context: APIRequestContext) { this.context = context; this.callbacks = new Resource$Projects$Locations$Workflows$Executions$Callbacks( this.context ); + this.stepEntries = + new Resource$Projects$Locations$Workflows$Executions$Stepentries( + this.context + ); } /** @@ -1161,4 +1279,226 @@ export namespace workflowexecutions_v1 { */ parent?: string; } + + export class Resource$Projects$Locations$Workflows$Executions$Stepentries { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a step entry. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workflowexecutions.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists step entries for the corresponding workflow execution. Returned entries are ordered by their create_time. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workflowexecutions.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/stepEntries').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$Get + extends StandardParameters { + /** + * Required. The name of the step entry to retrieve. Format: projects/{project\}/locations/{location\}/workflows/{workflow\}/executions/{execution\}/stepEntries/{step_entry\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Workflows$Executions$Stepentries$List + extends StandardParameters { + /** + * Optional. Filters applied to the `[StepEntries.ListStepEntries]` results. The following fields are supported for filtering: `entryId`, `createTime`, `updateTime`, `routine`, `step`, `stepType`, `state`. For details, see AIP-160. For example, if you are using the Google APIs Explorer: `state="SUCCEEDED"` or `createTime\>"2023-08-01" AND state="FAILED"` + */ + filter?: string; + /** + * Optional. Comma-separated list of fields that specify the ordering applied to the `[StepEntries.ListStepEntries]` results. By default the ordering is based on ascending `entryId`. The following fields are supported for ordering: `entryId`, `createTime`, `updateTime`, `routine`, `step`, `stepType`, `state`. For details, see AIP-132. + */ + orderBy?: string; + /** + * Optional. Number of step entries to return per call. The default max is 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListStepEntries` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListStepEntries` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. Name of the workflow execution to list entries for. Format: projects/{project\}/locations/{location\}/workflows/{workflow\}/executions/{execution\}/stepEntries/ + */ + parent?: string; + /** + * Optional. The number of step entries to skip. It can be used with or without a pageToken. If used with a pageToken, then it indicates the number of step entries to skip starting from the requested page. + */ + skip?: number; + } }