---
title: Getting Started with Datadog
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Infrastructure > Datadog Resource Catalog
---

# gcp_integrations_integration_version{% #gcp_integrations_integration_version %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `cloud_kms_key`{% #cloud_kms_key %}

**Type**: `STRING`**Provider name**: `cloudKmsKey`**Description**: Optional. Cloud KMS resource name for the CMEK encryption key.

## `cloud_logging_details`{% #cloud_logging_details %}

**Type**: `STRUCT`**Provider name**: `cloudLoggingDetails`**Description**: Optional. Cloud Logging details for the integration version

- `cloud_logging_severity`**Type**: `STRING`**Provider name**: `cloudLoggingSeverity`**Description**: Optional. Severity selected by the customer for the logs to be sent to Cloud Logging, for the integration version getting executed.**Possible values**:
  - `CLOUD_LOGGING_SEVERITY_UNSPECIFIED` - Unspecified
  - `INFO` - If Severity selected is `INFO`, then all the Integration Execution States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, `ERROR`, `CANCELLED`) will be sent to Cloud Logging.
  - `ERROR` - If Severity selected is `ERROR`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging.
  - `WARNING` - If Severity selected is `WARNING`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging.
- `enable_cloud_logging`**Type**: `BOOLEAN`**Provider name**: `enableCloudLogging`**Description**: Optional. Status of whether Cloud Logging is enabled or not for the integration version getting executed.

## `create_time`{% #create_time %}

**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: Output only. Auto-generated.

## `created_from_template`{% #created_from_template %}

**Type**: `STRING`**Provider name**: `createdFromTemplate`**Description**: Optional. Optional. The resource name of the template from which the integration is created.

## `database_persistence_policy`{% #database_persistence_policy %}

**Type**: `STRING`**Provider name**: `databasePersistencePolicy`**Description**: Optional. Flag to disable database persistence for execution data, including event execution info, execution export info, execution metadata index and execution param index.**Possible values**:

- `DATABASE_PERSISTENCE_POLICY_UNSPECIFIED` - Enables persistence for all execution data.
- `DATABASE_PERSISTENCE_DISABLED` - Disables persistence for all execution data.
- `DATABASE_PERSISTENCE_ASYNC` - Asynchronously persist all execution data.

## `description`{% #description %}

**Type**: `STRING`**Provider name**: `description`**Description**: Optional. The integration description.

## `enable_variable_masking`{% #enable_variable_masking %}

**Type**: `BOOLEAN`**Provider name**: `enableVariableMasking`**Description**: Optional. True if variable masking feature should be turned on for this version

## `error_catcher_configs`{% #error_catcher_configs %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `errorCatcherConfigs`**Description**: Optional. Error Catch Task configuration for the integration. It's optional.

- `description`**Type**: `STRING`**Provider name**: `description`**Description**: Optional. User-provided description intended to give more business context about the error catcher config.
- `error_catcher_id`**Type**: `STRING`**Provider name**: `errorCatcherId`**Description**: Required. An error catcher id is string representation for the error catcher config. Within a workflow, error_catcher_id uniquely identifies an error catcher config among all error catcher configs for the workflow
- `error_catcher_number`**Type**: `STRING`**Provider name**: `errorCatcherNumber`**Description**: Required. A number to uniquely identify each error catcher config within the workflow on UI.
- `label`**Type**: `STRING`**Provider name**: `label`**Description**: Optional. The user created label for a particular error catcher. Optional.
- `position`**Type**: `STRUCT`**Provider name**: `position`**Description**: Optional. Informs the front-end application where to draw this error catcher config on the UI.
  - `x`**Type**: `INT32`**Provider name**: `x`**Description**: Required. X axis of the coordinate
  - `y`**Type**: `INT32`**Provider name**: `y`**Description**: Required. Y axis of the coordinate
- `start_error_tasks`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `startErrorTasks`**Description**: Required. The set of start tasks that are to be executed for the error catch flow
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Standard filter expression for this task to become an eligible next task.
  - `description`**Type**: `STRING`**Provider name**: `description`**Description**: User-provided description intended to give additional business context about the task.
  - `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: User-provided label that is attached to this edge in the UI.
  - `task_config_id`**Type**: `STRING`**Provider name**: `taskConfigId`**Description**: ID of the next task.
  - `task_id`**Type**: `STRING`**Provider name**: `taskId`**Description**: Task number of the next task.

## `gcp_status`{% #gcp_status %}

**Type**: `STRING`**Provider name**: `status`**Description**: Output only. Generated by eventbus. User should not set it as an input.**Possible values**:

- `UNKNOWN`
- `DRAFT`
- `ACTIVE`
- `ARCHIVED`
- `SNAPSHOT`

## `integration_config_parameters`{% #integration_config_parameters %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `integrationConfigParameters`**Description**: Optional. Config Parameters that are expected to be passed to the integration when an integration is published. This consists of all the parameters that are expected to provide configuration in the integration execution. This gives the user the ability to provide default values, value, add information like connection url, project based configuration value and also provide data types of each parameter.

- `parameter`**Type**: `STRUCT`**Provider name**: `parameter`**Description**: Optional. Integration Parameter to provide the default value, data type and attributes required for the Integration config variables.
  - `contains_large_data`**Type**: `BOOLEAN`**Provider name**: `containsLargeData`**Description**: Indicates whether this variable contains large data and need to be uploaded to Cloud Storage.
  - `data_type`**Type**: `STRING`**Provider name**: `dataType`**Description**: Type of the parameter.**Possible values**:
    - `INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED` - Unspecified.
    - `STRING_VALUE` - String.
    - `INT_VALUE` - Integer.
    - `DOUBLE_VALUE` - Double Number.
    - `BOOLEAN_VALUE` - Boolean.
    - `STRING_ARRAY` - String Array.
    - `INT_ARRAY` - Integer Array.
    - `DOUBLE_ARRAY` - Double Number Array.
    - `BOOLEAN_ARRAY` - Boolean Array.
    - `JSON_VALUE` - Json.
    - `PROTO_VALUE` - Proto Value (Internal use only).
    - `PROTO_ARRAY` - Proto Array (Internal use only).
    - `NON_SERIALIZABLE_OBJECT` - // Non-serializable object (Internal use only).
    - `PROTO_ENUM` - Proto Enum (Internal use only).
    - `SERIALIZED_OBJECT_VALUE` - Serialized object (Internal use only).
    - `PROTO_ENUM_ARRAY` - Proto Enum Array (Internal use only).
    - `BYTES` - BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.
    - `BYTES_ARRAY` - BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.
  - `default_value`**Type**: `STRUCT`**Provider name**: `defaultValue`**Description**: Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.
    - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`**Description**: Boolean Array.
      - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`**Description**: Boolean array.
    - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`**Description**: Boolean.
    - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`**Description**: Double Number Array.
      - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`**Description**: Double number array.
    - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`**Description**: Double Number.
    - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`**Description**: Integer Array.
      - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`**Description**: Integer array.
    - `int_value`**Type**: `INT64`**Provider name**: `intValue`**Description**: Integer.
    - `json_value`**Type**: `STRING`**Provider name**: `jsonValue`**Description**: Json.
    - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`**Description**: String Array.
      - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`**Description**: String array.
    - `string_value`**Type**: `STRING`**Provider name**: `stringValue`**Description**: String.
  - `description`**Type**: `STRING`**Provider name**: `description`**Description**: Optional. Description of the parameter.
  - `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: The name (without prefix) to be displayed in the UI for this parameter. E.g. if the key is "foo.bar.myName", then the name would be "myName".
  - `input_output_type`**Type**: `STRING`**Provider name**: `inputOutputType`**Description**: Specifies the input/output type for the parameter.**Possible values**:
    - `IN_OUT_TYPE_UNSPECIFIED` - Default.
    - `IN` - Input parameters for the integration. EventBus validates that these parameters exist in the integrations before execution.
    - `OUT` - Output Parameters for the integration. EventBus will only return the integration parameters tagged with OUT in the response back.
    - `IN_OUT` - Input and Output Parameters. These can be used as both input and output. EventBus will validate for the existence of these parameters before execution and will also return this parameter back in the response.
  - `is_transient`**Type**: `BOOLEAN`**Provider name**: `isTransient`**Description**: Whether this parameter is a transient parameter.
  - `json_schema`**Type**: `STRING`**Provider name**: `jsonSchema`**Description**: This schema will be used to validate runtime JSON-typed values of this parameter.
  - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.
  - `masked`**Type**: `BOOLEAN`**Provider name**: `masked`**Description**: True if this parameter should be masked in the logs
  - `producer`**Type**: `STRING`**Provider name**: `producer`**Description**: The identifier of the node (TaskConfig/TriggerConfig) this parameter was produced by, if it is a transient param or a copy of an input param.
  - `searchable`**Type**: `BOOLEAN`**Provider name**: `searchable`**Description**: Searchable in the execution log or not.
- `value`**Type**: `STRUCT`**Provider name**: `value`**Description**: Values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.
  - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`**Description**: Boolean Array.
    - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`**Description**: Boolean array.
  - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`**Description**: Boolean.
  - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`**Description**: Double Number Array.
    - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`**Description**: Double number array.
  - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`**Description**: Double Number.
  - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`**Description**: Integer Array.
    - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`**Description**: Integer array.
  - `int_value`**Type**: `INT64`**Provider name**: `intValue`**Description**: Integer.
  - `json_value`**Type**: `STRING`**Provider name**: `jsonValue`**Description**: Json.
  - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`**Description**: String Array.
    - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`**Description**: String array.
  - `string_value`**Type**: `STRING`**Provider name**: `stringValue`**Description**: String.

## `integration_parameters`{% #integration_parameters %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `integrationParameters`**Description**: Optional. Parameters that are expected to be passed to the integration when an event is triggered. This consists of all the parameters that are expected in the integration execution. This gives the user the ability to provide default values, add information like PII and also provide data types of each parameter.

- `contains_large_data`**Type**: `BOOLEAN`**Provider name**: `containsLargeData`**Description**: Indicates whether this variable contains large data and need to be uploaded to Cloud Storage.
- `data_type`**Type**: `STRING`**Provider name**: `dataType`**Description**: Type of the parameter.**Possible values**:
  - `INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED` - Unspecified.
  - `STRING_VALUE` - String.
  - `INT_VALUE` - Integer.
  - `DOUBLE_VALUE` - Double Number.
  - `BOOLEAN_VALUE` - Boolean.
  - `STRING_ARRAY` - String Array.
  - `INT_ARRAY` - Integer Array.
  - `DOUBLE_ARRAY` - Double Number Array.
  - `BOOLEAN_ARRAY` - Boolean Array.
  - `JSON_VALUE` - Json.
  - `PROTO_VALUE` - Proto Value (Internal use only).
  - `PROTO_ARRAY` - Proto Array (Internal use only).
  - `NON_SERIALIZABLE_OBJECT` - // Non-serializable object (Internal use only).
  - `PROTO_ENUM` - Proto Enum (Internal use only).
  - `SERIALIZED_OBJECT_VALUE` - Serialized object (Internal use only).
  - `PROTO_ENUM_ARRAY` - Proto Enum Array (Internal use only).
  - `BYTES` - BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.
  - `BYTES_ARRAY` - BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.
- `default_value`**Type**: `STRUCT`**Provider name**: `defaultValue`**Description**: Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.
  - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`**Description**: Boolean Array.
    - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`**Description**: Boolean array.
  - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`**Description**: Boolean.
  - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`**Description**: Double Number Array.
    - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`**Description**: Double number array.
  - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`**Description**: Double Number.
  - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`**Description**: Integer Array.
    - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`**Description**: Integer array.
  - `int_value`**Type**: `INT64`**Provider name**: `intValue`**Description**: Integer.
  - `json_value`**Type**: `STRING`**Provider name**: `jsonValue`**Description**: Json.
  - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`**Description**: String Array.
    - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`**Description**: String array.
  - `string_value`**Type**: `STRING`**Provider name**: `stringValue`**Description**: String.
- `description`**Type**: `STRING`**Provider name**: `description`**Description**: Optional. Description of the parameter.
- `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: The name (without prefix) to be displayed in the UI for this parameter. E.g. if the key is "foo.bar.myName", then the name would be "myName".
- `input_output_type`**Type**: `STRING`**Provider name**: `inputOutputType`**Description**: Specifies the input/output type for the parameter.**Possible values**:
  - `IN_OUT_TYPE_UNSPECIFIED` - Default.
  - `IN` - Input parameters for the integration. EventBus validates that these parameters exist in the integrations before execution.
  - `OUT` - Output Parameters for the integration. EventBus will only return the integration parameters tagged with OUT in the response back.
  - `IN_OUT` - Input and Output Parameters. These can be used as both input and output. EventBus will validate for the existence of these parameters before execution and will also return this parameter back in the response.
- `is_transient`**Type**: `BOOLEAN`**Provider name**: `isTransient`**Description**: Whether this parameter is a transient parameter.
- `json_schema`**Type**: `STRING`**Provider name**: `jsonSchema`**Description**: This schema will be used to validate runtime JSON-typed values of this parameter.
- `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.
- `masked`**Type**: `BOOLEAN`**Provider name**: `masked`**Description**: True if this parameter should be masked in the logs
- `producer`**Type**: `STRING`**Provider name**: `producer`**Description**: The identifier of the node (TaskConfig/TriggerConfig) this parameter was produced by, if it is a transient param or a copy of an input param.
- `searchable`**Type**: `BOOLEAN`**Provider name**: `searchable`**Description**: Searchable in the execution log or not.

## `integration_parameters_internal`{% #integration_parameters_internal %}

**Type**: `STRUCT`**Provider name**: `integrationParametersInternal`**Description**: Optional. Parameters that are expected to be passed to the integration when an event is triggered. This consists of all the parameters that are expected in the integration execution. This gives the user the ability to provide default values, add information like PII and also provide data types of each parameter.

- `parameters`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `parameters`**Description**: Parameters are a part of Event and can be used to communiticate between different tasks that are part of the same workflow execution.
  - `attributes`**Type**: `STRUCT`**Provider name**: `attributes`**Description**: Metadata information about the parameters.
    - `data_type`**Type**: `STRING`**Provider name**: `dataType`**Description**: Things like URL, Email, Currency, Timestamp (rather than string, int64…)**Possible values**:
      - `DATA_TYPE_UNSPECIFIED`
      - `EMAIL`
      - `URL`
      - `CURRENCY`
      - `TIMESTAMP`
      - `DOMAIN_NAME` - Domain is a web url string with one top-level private domain and a suffix (for example: google.com, walmart.com)
    - `default_value`**Type**: `STRUCT`**Provider name**: `defaultValue`**Description**: Used to define defaults.
      - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`
      - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`
        - `values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `values`
      - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`
      - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`
        - `values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `values`
      - `int_value`**Type**: `INT64`**Provider name**: `intValue`
      - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`
        - `values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `values`
      - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
    - `is_required`**Type**: `BOOLEAN`**Provider name**: `isRequired`**Description**: Required for event execution. The validation will be done by the event bus when the event is triggered.
    - `is_searchable`**Type**: `BOOLEAN`**Provider name**: `isSearchable`**Description**: Used to indicate if a ParameterEntry should be converted to ParamIndexes for ST-Spanner full-text search. DEPRECATED: use searchable.
    - `log_settings`**Type**: `STRUCT`**Provider name**: `logSettings`**Description**: See
      - `log_field_name`**Type**: `STRING`**Provider name**: `logFieldName`**Description**: The name of corresponding logging field of the event property. If omitted, assumes the same name as the event property key.
      - `seed_period`**Type**: `STRING`**Provider name**: `seedPeriod`
      - `seed_scope`**Type**: `STRING`**Provider name**: `seedScope`
    - `masked`**Type**: `BOOLEAN`**Provider name**: `masked`**Description**: True if this workflow parameter should be masked in the logs
    - `read_only`**Type**: `BOOLEAN`**Provider name**: `readOnly`**Description**: Used to indicate if the ParameterEntry is a read only field or not.
    - `searchable`**Type**: `STRING`**Provider name**: `searchable`
    - `task_visibility`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `taskVisibility`**Description**: List of tasks that can view this property, if empty then all.
  - `contains_large_data`**Type**: `BOOLEAN`**Provider name**: `containsLargeData`**Description**: Indicates whether this variable contains large data and need to be uploaded to Cloud Storage.
  - `data_type`**Type**: `STRING`**Provider name**: `dataType`**Description**: The data type of the parameter.**Possible values**:
    - `DATA_TYPE_UNSPECIFIED`
    - `STRING_VALUE`
    - `INT_VALUE`
    - `DOUBLE_VALUE`
    - `BOOLEAN_VALUE`
    - `PROTO_VALUE`
    - `SERIALIZED_OBJECT_VALUE`
    - `STRING_ARRAY`
    - `INT_ARRAY`
    - `DOUBLE_ARRAY`
    - `PROTO_ARRAY`
    - `PROTO_ENUM`
    - `BOOLEAN_ARRAY`
    - `PROTO_ENUM_ARRAY`
    - `BYTES` - BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.
    - `BYTES_ARRAY`
    - `NON_SERIALIZABLE_OBJECT`
    - `JSON_VALUE`
  - `default_value`**Type**: `STRUCT`**Provider name**: `defaultValue`**Description**: Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.
    - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`

      - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`

    - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`

    - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`

      - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`

    - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`

    - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`

      - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`

    - `int_value`**Type**: `INT64`**Provider name**: `intValue`

    - `json_value`**Type**: `STRING`**Provider name**: `jsonValue`

    - `proto_array`**Type**: `STRUCT`**Provider name**: `protoArray`

    - `serialized_object_value`**Type**: `STRUCT`**Provider name**: `serializedObjectValue`

    - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`

      - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`

    - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
  - `description`**Type**: `STRING`**Provider name**: `description`**Description**: Optional. The description about the parameter
  - `in_out_type`**Type**: `STRING`**Provider name**: `inOutType`**Description**: Specifies the input/output type for the parameter.**Possible values**:
    - `IN_OUT_TYPE_UNSPECIFIED`
    - `IN` - Input parameters for the workflow. EventBus validates that these parameters exist in the workflows before execution.
    - `OUT` - Output Parameters for the workflow. EventBus will only return the workflow parameters tagged with OUT in the response back.
    - `IN_OUT` - Input or Output Parameters. These can be used as both input and output. EventBus will validate for the existence of these parameters before execution and will also return this parameter back in the response.
  - `is_transient`**Type**: `BOOLEAN`**Provider name**: `isTransient`**Description**: Whether this parameter is a transient parameter.
  - `json_schema`**Type**: `STRING`**Provider name**: `jsonSchema`**Description**: This schema will be used to validate runtime JSON-typed values of this parameter.
  - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the workflow definition.
  - `name`**Type**: `STRING`**Provider name**: `name`**Description**: The name (without prefix) to be displayed in the UI for this parameter. E.g. if the key is "foo.bar.myName", then the name would be "myName".
  - `produced_by`**Type**: `STRUCT`**Provider name**: `producedBy`**Description**: The identifier of the node (TaskConfig/TriggerConfig) this parameter was produced by, if it is a transient param or a copy of an input param.
    - `element_identifier`**Type**: `STRING`**Provider name**: `elementIdentifier`**Description**: Configuration of the edge.
    - `element_type`**Type**: `STRING`**Provider name**: `elementType`**Description**: Destination node where the edge ends. It can only be a task config.**Possible values**:
      - `UNKNOWN_TYPE`
      - `TASK_CONFIG`
      - `TRIGGER_CONFIG`
  - `producer`**Type**: `STRING`**Provider name**: `producer`
  - `proto_def_name`**Type**: `STRING`**Provider name**: `protoDefName`**Description**: The name of the protobuf type if the parameter has a protobuf data type.
  - `proto_def_path`**Type**: `STRING`**Provider name**: `protoDefPath`**Description**: If the data type is of type proto or proto array, this field needs to be populated with the fully qualified proto name. This message, for example, would be "enterprise.crm.frontends.eventbus.proto.WorkflowParameterEntry".
  - `required`**Type**: `BOOLEAN`**Provider name**: `required`

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `last_modifier_email`{% #last_modifier_email %}

**Type**: `STRING`**Provider name**: `lastModifierEmail`**Description**: Optional. The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.

## `lock_holder`{% #lock_holder %}

**Type**: `STRING`**Provider name**: `lockHolder`**Description**: Optional. The edit lock holder's email address. Generated based on the End User Credentials/LOAS role of the user making the call.

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: Output only. Auto-generated primary key.

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `origin`{% #origin %}

**Type**: `STRING`**Provider name**: `origin`**Description**: Optional. The origin that indicates where this integration is coming from.**Possible values**:

- `UNSPECIFIED`
- `UI` - Workflow is being created via event bus UI.
- `PIPER_V2` - User checked in this workflow in Piper as v2 textproto format and we synced it into spanner.
- `PIPER_V3` - User checked in this workflow in piper as v3 textproto format and we synced it into spanner.
- `APPLICATION_IP_PROVISIONING` - Workflow is being created via Standalone IP Provisioning
- `TEST_CASE` - Workflow is being created via Test Case.

## `parent`{% #parent %}

**Type**: `STRING`

## `parent_template_id`{% #parent_template_id %}

**Type**: `STRING`**Provider name**: `parentTemplateId`**Description**: Optional. The id of the template which was used to create this integration_version.

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `run_as_service_account`{% #run_as_service_account %}

**Type**: `STRING`**Provider name**: `runAsServiceAccount`**Description**: Optional. The run-as service account email, if set and auth config is not configured, that will be used to generate auth token to be used in Connector task, Rest caller task and Cloud function task.

## `snapshot_number`{% #snapshot_number %}

**Type**: `INT64`**Provider name**: `snapshotNumber`**Description**: Output only. An increasing sequence that is set when a new snapshot is created. The last created snapshot can be identified by [workflow_name, org_id latest(snapshot_number)]. However, last created snapshot need not be same as the HEAD. So users should always use "HEAD" tag to identify the head.

## `state`{% #state %}

**Type**: `STRING`**Provider name**: `state`**Description**: Output only. User should not set it as an input.**Possible values**:

- `INTEGRATION_STATE_UNSPECIFIED` - Default.
- `DRAFT` - Draft.
- `ACTIVE` - Active.
- `ARCHIVED` - Archived.
- `SNAPSHOT` - Snapshot.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `task_configs`{% #task_configs %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `taskConfigs`**Description**: Optional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.

- `conditional_failure_policies`**Type**: `STRUCT`**Provider name**: `conditionalFailurePolicies`**Description**: Optional. The list of conditional failure policies that will be applied to the task in order.
  - `default_failure_policy`**Type**: `STRUCT`**Provider name**: `defaultFailurePolicy`**Description**: The default failure policy to be applied if no conditional failure policy matches.
    - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Optional. The string condition that will be evaluated to determine if the task should be retried with this failure policy.
    - `interval_time`**Type**: `TIMESTAMP`**Provider name**: `intervalTime`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the initial interval in seconds for backoff.
    - `max_retries`**Type**: `INT32`**Provider name**: `maxRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
    - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
      - `RETRY_STRATEGY_UNSPECIFIED` - UNSPECIFIED.
      - `IGNORE` - Ignores the failure of this task. The rest of the integration will be executed Assuming this task succeeded.
      - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the integration.
      - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
      - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. max_retries and interval_in_seconds must be specified.
      - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. max_retries and interval_in_seconds must be specified.
      - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
      - `RESTART_INTEGRATION_WITH_BACKOFF` - The entire integration will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
  - `failure_policies`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `failurePolicies`**Description**: The list of failure policies that will be applied to the task in order.
    - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Optional. The string condition that will be evaluated to determine if the task should be retried with this failure policy.
    - `interval_time`**Type**: `TIMESTAMP`**Provider name**: `intervalTime`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the initial interval in seconds for backoff.
    - `max_retries`**Type**: `INT32`**Provider name**: `maxRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
    - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
      - `RETRY_STRATEGY_UNSPECIFIED` - UNSPECIFIED.
      - `IGNORE` - Ignores the failure of this task. The rest of the integration will be executed Assuming this task succeeded.
      - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the integration.
      - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
      - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. max_retries and interval_in_seconds must be specified.
      - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. max_retries and interval_in_seconds must be specified.
      - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
      - `RESTART_INTEGRATION_WITH_BACKOFF` - The entire integration will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
- `description`**Type**: `STRING`**Provider name**: `description`**Description**: Optional. User-provided description intended to give additional business context about the task.
- `error_catcher_id`**Type**: `STRING`**Provider name**: `errorCatcherId`**Description**: Optional. Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task
- `external_task_type`**Type**: `STRING`**Provider name**: `externalTaskType`**Description**: Optional. External task type of the task**Possible values**:
  - `EXTERNAL_TASK_TYPE_UNSPECIFIED` - Default value. External task type is not specified
  - `NORMAL_TASK` - Tasks belongs to the normal task flows
  - `ERROR_TASK` - Task belongs to the error catch task flows
- `failure_policy`**Type**: `STRUCT`**Provider name**: `failurePolicy`**Description**: Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.).
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Optional. The string condition that will be evaluated to determine if the task should be retried with this failure policy.
  - `interval_time`**Type**: `TIMESTAMP`**Provider name**: `intervalTime`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the initial interval in seconds for backoff.
  - `max_retries`**Type**: `INT32`**Provider name**: `maxRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
  - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
    - `RETRY_STRATEGY_UNSPECIFIED` - UNSPECIFIED.
    - `IGNORE` - Ignores the failure of this task. The rest of the integration will be executed Assuming this task succeeded.
    - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the integration.
    - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
    - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. max_retries and interval_in_seconds must be specified.
    - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. max_retries and interval_in_seconds must be specified.
    - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
    - `RESTART_INTEGRATION_WITH_BACKOFF` - The entire integration will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
- `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: Optional. User-provided label that is attached to this TaskConfig in the UI.
- `json_validation_option`**Type**: `STRING`**Provider name**: `jsonValidationOption`**Description**: Optional. If set, overrides the option configured in the Task implementation class.**Possible values**:
  - `JSON_VALIDATION_OPTION_UNSPECIFIED` - As per the default behavior, no validation will be run. Will not override any option set in a Task.
  - `SKIP` - Do not run any validation against JSON schemas.
  - `PRE_EXECUTION` - Validate all potential input JSON parameters against schemas specified in IntegrationParameter.
  - `POST_EXECUTION` - Validate all potential output JSON parameters against schemas specified in IntegrationParameter.
  - `PRE_POST_EXECUTION` - Perform both PRE_EXECUTION and POST_EXECUTION validations.
- `next_tasks`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `nextTasks`**Description**: Optional. The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true.
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Standard filter expression for this task to become an eligible next task.
  - `description`**Type**: `STRING`**Provider name**: `description`**Description**: User-provided description intended to give additional business context about the task.
  - `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: User-provided label that is attached to this edge in the UI.
  - `task_config_id`**Type**: `STRING`**Provider name**: `taskConfigId`**Description**: ID of the next task.
  - `task_id`**Type**: `STRING`**Provider name**: `taskId`**Description**: Task number of the next task.
- `next_tasks_execution_policy`**Type**: `STRING`**Provider name**: `nextTasksExecutionPolicy`**Description**: Optional. The policy dictating the execution of the next set of tasks for the current task.**Possible values**:
  - `NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED` - Default.
  - `RUN_ALL_MATCH` - Execute all the tasks that satisfy their associated condition.
  - `RUN_FIRST_MATCH` - Execute the first task that satisfies the associated condition.
- `position`**Type**: `STRUCT`**Provider name**: `position`**Description**: Optional. Informs the front-end application where to draw this error catcher config on the UI.
  - `x`**Type**: `INT32`**Provider name**: `x`**Description**: Required. X axis of the coordinate
  - `y`**Type**: `INT32`**Provider name**: `y`**Description**: Required. Y axis of the coordinate
- `success_policy`**Type**: `STRUCT`**Provider name**: `successPolicy`**Description**: Optional. Determines what action to take upon successful task completion.
  - `final_state`**Type**: `STRING`**Provider name**: `finalState`**Description**: State to which the execution snapshot status will be set if the task succeeds.**Possible values**:
    - `FINAL_STATE_UNSPECIFIED` - UNSPECIFIED.
    - `SUCCEEDED` - The default behavior, where successful tasks will be marked as SUCCEEDED.
    - `SUSPENDED` - Sets the state to SUSPENDED after executing. This is required for SuspensionTask; event execution will continue once the user calls ResolveSuspensions with the event_execution_info_id and the task number.
- `synchronous_call_failure_policy`**Type**: `STRUCT`**Provider name**: `synchronousCallFailurePolicy`**Description**: Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post).
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Optional. The string condition that will be evaluated to determine if the task should be retried with this failure policy.
  - `interval_time`**Type**: `TIMESTAMP`**Provider name**: `intervalTime`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the initial interval in seconds for backoff.
  - `max_retries`**Type**: `INT32`**Provider name**: `maxRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
  - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
    - `RETRY_STRATEGY_UNSPECIFIED` - UNSPECIFIED.
    - `IGNORE` - Ignores the failure of this task. The rest of the integration will be executed Assuming this task succeeded.
    - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the integration.
    - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
    - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. max_retries and interval_in_seconds must be specified.
    - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. max_retries and interval_in_seconds must be specified.
    - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
    - `RESTART_INTEGRATION_WITH_BACKOFF` - The entire integration will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.
- `task`**Type**: `STRING`**Provider name**: `task`**Description**: Optional. The name for the task.
- `task_execution_strategy`**Type**: `STRING`**Provider name**: `taskExecutionStrategy`**Description**: Optional. The policy dictating the execution strategy of this task.**Possible values**:
  - `TASK_EXECUTION_STRATEGY_UNSPECIFIED` - Default. If the strategy is not set explicitly, it will default to `WHEN_ALL_SUCCEED`.
  - `WHEN_ALL_SUCCEED` - Wait until all of its previous tasks finished execution, then verify at least one of the edge conditions is met, and execute if possible. This should be considered as WHEN_ALL_TASKS_SUCCEED.
  - `WHEN_ANY_SUCCEED` - Start execution as long as any of its previous tasks finished execution and the corresponding edge condition is met (since we will execute if only that succeeding edge condition is met).
  - `WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED` - Wait until all of its previous tasks finished execution, then verify the all edge conditions are met and execute if possible.
- `task_id`**Type**: `STRING`**Provider name**: `taskId`**Description**: Required. The identifier of this task within its parent event config, specified by the client. This should be unique among all the tasks belong to the same event config. We use this field as the identifier to find next tasks (via field `next_tasks.task_id`).
- `task_template`**Type**: `STRING`**Provider name**: `taskTemplate`**Description**: Optional. Used to define task-template name if task is of type task-template

## `task_configs_internal`{% #task_configs_internal %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `taskConfigsInternal`**Description**: Optional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.

- `alert_configs`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `alertConfigs`**Description**: Alert configurations on error rate, warning rate, number of runs, durations, etc.
  - `aggregation_period`**Type**: `STRING`**Provider name**: `aggregationPeriod`**Description**: The period over which the metric value should be aggregated and evaluated. Format is , where integer should be a positive integer and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, day, week).
  - `alert_disabled`**Type**: `BOOLEAN`**Provider name**: `alertDisabled`**Description**: Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this workflow alert.
  - `alert_name`**Type**: `STRING`**Provider name**: `alertName`**Description**: A name to identify this alert. This will be displayed in the alert subject. If set, this name should be unique in within the scope of the containing workflow.
  - `client_id`**Type**: `STRING`**Provider name**: `clientId`**Description**: Client associated with this alert configuration. Must be a client enabled in one of the containing workflow's triggers.
  - `duration_threshold_ms`**Type**: `INT64`**Provider name**: `durationThresholdMs`**Description**: Should be specified only for TASK_AVERAGE_DURATION and TASK_PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.
  - `error_enum_list`**Type**: `STRUCT`**Provider name**: `errorEnumList`
    - `enum_strings`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `enumStrings`
    - `filter_type`**Type**: `STRING`**Provider name**: `filterType`
  - `metric_type`**Type**: `STRING`**Provider name**: `metricType`
  - `num_aggregation_periods`**Type**: `INT32`**Provider name**: `numAggregationPeriods`**Description**: For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.
  - `only_final_attempt`**Type**: `BOOLEAN`**Provider name**: `onlyFinalAttempt`**Description**: Only count final task attempts, not retries.
  - `playbook_url`**Type**: `STRING`**Provider name**: `playbookUrl`**Description**: Link to a playbook for resolving the issue that triggered this alert.
  - `threshold_type`**Type**: `STRING`**Provider name**: `thresholdType`**Description**: The threshold type for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.**Possible values**:
    - `UNSPECIFIED_THRESHOLD_TYPE`
    - `EXPECTED_MIN` - Note that this field will only trigger alerts if the workflow specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours.
    - `EXPECTED_MAX`
  - `threshold_value`**Type**: `STRUCT`**Provider name**: `thresholdValue`**Description**: The metric value, above or below which the alert should be triggered.
    - `absolute`**Type**: `INT64`**Provider name**: `absolute`
    - `percentage`**Type**: `INT32`**Provider name**: `percentage`
  - `warning_enum_list`**Type**: `STRUCT`**Provider name**: `warningEnumList`
    - `enum_strings`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `enumStrings`
    - `filter_type`**Type**: `STRING`**Provider name**: `filterType`
- `conditional_failure_policies`**Type**: `STRUCT`**Provider name**: `conditionalFailurePolicies`**Description**: Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post).
  - `default_failure_policy`**Type**: `STRUCT`**Provider name**: `defaultFailurePolicy`**Description**: The default failure policy to be applied if no conditional failure policy matches
    - `interval_in_seconds`**Type**: `INT64`**Provider name**: `intervalInSeconds`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the initial interval for backoff.
    - `max_num_retries`**Type**: `INT32`**Provider name**: `maxNumRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
    - `retry_condition`**Type**: `STRING`**Provider name**: `retryCondition`**Description**: Optional. The retry condition that will be evaluated for this failure policy with the corresponding retry strategy.
    - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
      - `UNSPECIFIED`
      - `IGNORE` - Ignores the failure of this task. The rest of the workflow will be executed Assuming this task succeeded.
      - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the workflow.
      - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
      - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. Max_num_retries and interval_in_seconds must be specified.
      - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. Max_num_retries and interval_in_seconds must be specified.
      - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
      - `RESTART_WORKFLOW_WITH_BACKOFF` - The entire workflow will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
  - `failure_policies`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `failurePolicies`**Description**: The list of failure policies that will be applied to the task in order.
    - `interval_in_seconds`**Type**: `INT64`**Provider name**: `intervalInSeconds`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the initial interval for backoff.
    - `max_num_retries`**Type**: `INT32`**Provider name**: `maxNumRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
    - `retry_condition`**Type**: `STRING`**Provider name**: `retryCondition`**Description**: Optional. The retry condition that will be evaluated for this failure policy with the corresponding retry strategy.
    - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
      - `UNSPECIFIED`
      - `IGNORE` - Ignores the failure of this task. The rest of the workflow will be executed Assuming this task succeeded.
      - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the workflow.
      - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
      - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. Max_num_retries and interval_in_seconds must be specified.
      - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. Max_num_retries and interval_in_seconds must be specified.
      - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
      - `RESTART_WORKFLOW_WITH_BACKOFF` - The entire workflow will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
- `create_time`**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: Auto-generated.
- `creator_email`**Type**: `STRING`**Provider name**: `creatorEmail`**Description**: The creator's email address. Auto-generated from the user's email.
- `description`**Type**: `STRING`**Provider name**: `description`**Description**: User-provided description intended to give more business context about the task.
- `disable_strict_type_validation`**Type**: `BOOLEAN`**Provider name**: `disableStrictTypeValidation`**Description**: If this config contains a TypedTask, allow validation to succeed if an input is read from the output of another TypedTask whose output type is declared as a superclass of the requested input type. For instance, if the previous task declares an output of type Message, any task with this flag enabled will pass validation when attempting to read any proto Message type from the resultant Event parameter.
- `error_catcher_id`**Type**: `STRING`**Provider name**: `errorCatcherId`**Description**: Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task
- `external_task_type`**Type**: `STRING`**Provider name**: `externalTaskType`
- `failure_policy`**Type**: `STRUCT`**Provider name**: `failurePolicy`**Description**: Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.).
  - `interval_in_seconds`**Type**: `INT64`**Provider name**: `intervalInSeconds`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the initial interval for backoff.
  - `max_num_retries`**Type**: `INT32`**Provider name**: `maxNumRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
  - `retry_condition`**Type**: `STRING`**Provider name**: `retryCondition`**Description**: Optional. The retry condition that will be evaluated for this failure policy with the corresponding retry strategy.
  - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
    - `UNSPECIFIED`
    - `IGNORE` - Ignores the failure of this task. The rest of the workflow will be executed Assuming this task succeeded.
    - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the workflow.
    - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
    - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. Max_num_retries and interval_in_seconds must be specified.
    - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. Max_num_retries and interval_in_seconds must be specified.
    - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
    - `RESTART_WORKFLOW_WITH_BACKOFF` - The entire workflow will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
- `incoming_edge_count`**Type**: `INT32`**Provider name**: `incomingEdgeCount`**Description**: The number of edges leading into this TaskConfig.
- `json_validation_option`**Type**: `STRING`**Provider name**: `jsonValidationOption`**Description**: If set, overrides the option configured in the Task implementation class.**Possible values**:
  - `UNSPECIFIED_JSON_VALIDATION_OPTION` - As per the default behavior, no validation will be run. Will not override any option set in a Task.
  - `SKIP` - Do not run any validation against JSON schemas.
  - `PRE_EXECUTION` - Validate all potential input JSON parameters against schemas specified in WorkflowParameters.
  - `POST_EXECUTION` - Validate all potential output JSON parameters against schemas specified in WorkflowParameters.
  - `PRE_POST_EXECUTION` - Perform both PRE_EXECUTION and POST_EXECUTION validations.
- `label`**Type**: `STRING`**Provider name**: `label`**Description**: User-provided label that is attached to this TaskConfig in the UI.
- `last_modified_time`**Type**: `TIMESTAMP`**Provider name**: `lastModifiedTime`**Description**: Auto-generated.
- `next_tasks`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `nextTasks`**Description**: The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true.
  - `combined_conditions`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `combinedConditions`**Description**: Combined condition for this task to become an eligible next task. Each of these combined_conditions are joined with logical OR. DEPRECATED: use `condition`
    - `conditions`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `conditions`**Description**: A set of individual constituent conditions.
      - `event_property_key`**Type**: `STRING`**Provider name**: `eventPropertyKey`**Description**: Key that's evaluated against the `value`. Please note the data type of the runtime value associated with the key should match the data type of `value`, else an IllegalArgumentException is thrown.
      - `operator`**Type**: `STRING`**Provider name**: `operator`**Description**: Operator used to evaluate the condition. Please note that an operator with an inappropriate key/value operand will result in IllegalArgumentException, e.g. CONTAINS with boolean key/value pair.**Possible values**:
        - `UNSET`
        - `EQUALS`
        - `CONTAINS`
        - `LESS_THAN`
        - `GREATER_THAN`
        - `EXISTS`
        - `DOES_NOT_EXIST`
        - `IS_EMPTY`
        - `IS_NOT_EMPTY`
      - `value`**Type**: `STRUCT`**Provider name**: `value`**Description**: Value that's checked for the key.
        - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`
        - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`
          - `values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `values`
        - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`
        - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`
          - `values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `values`
        - `int_value`**Type**: `INT64`**Provider name**: `intValue`
        - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`
          - `values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `values`
        - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Standard filter expression for this task to become an eligible next task.
  - `description`**Type**: `STRING`**Provider name**: `description`**Description**: User-provided description intended to give more business context about the next task edge or condition.
  - `label`**Type**: `STRING`**Provider name**: `label`**Description**: User-provided label that is attached to this edge in the UI.
  - `task_config_id`**Type**: `STRING`**Provider name**: `taskConfigId`**Description**: ID of the next task.
  - `task_number`**Type**: `STRING`**Provider name**: `taskNumber`**Description**: Task number of the next task.
- `next_tasks_execution_policy`**Type**: `STRING`**Provider name**: `nextTasksExecutionPolicy`**Description**: The policy dictating the execution of the next set of tasks for the current task.**Possible values**:
  - `UNSPECIFIED` - Default
  - `RUN_ALL_MATCH` - Execute all the tasks that satisfy their associated condition.
  - `RUN_FIRST_MATCH` - Execute the first task that satisfies the associated condition.
- `position`**Type**: `STRUCT`**Provider name**: `position`**Description**: Optional. Informs the front-end application where to draw this task config on the UI.
  - `x`**Type**: `INT32`**Provider name**: `x`
  - `y`**Type**: `INT32`**Provider name**: `y`
- `precondition`**Type**: `STRING`**Provider name**: `precondition`**Description**: Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to task.
- `precondition_label`**Type**: `STRING`**Provider name**: `preconditionLabel`**Description**: Optional. User-provided label that is attached to precondition in the UI.
- `rollback_strategy`**Type**: `STRUCT`**Provider name**: `rollbackStrategy`**Description**: Optional. Contains information about what needs to be done upon failure (either a permanent error or after it has been retried too many times).
  - `parameters`**Type**: `STRUCT`**Provider name**: `parameters`**Description**: Optional. The customized parameters the user can pass to this task.
    - `parameters`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `parameters`**Description**: Parameters are a part of Event and can be used to communicate between different tasks that are part of the same workflow execution.
      - `data_type`**Type**: `STRING`**Provider name**: `dataType`**Description**: Explicitly getting the type of the parameter.**Possible values**:
        - `DATA_TYPE_UNSPECIFIED`
        - `STRING_VALUE`
        - `INT_VALUE`
        - `DOUBLE_VALUE`
        - `BOOLEAN_VALUE`
        - `PROTO_VALUE`
        - `SERIALIZED_OBJECT_VALUE`
        - `STRING_ARRAY`
        - `INT_ARRAY`
        - `DOUBLE_ARRAY`
        - `PROTO_ARRAY`
        - `PROTO_ENUM`
        - `BOOLEAN_ARRAY`
        - `PROTO_ENUM_ARRAY`
        - `BYTES` - BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.
        - `BYTES_ARRAY`
        - `NON_SERIALIZABLE_OBJECT`
        - `JSON_VALUE`
      - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the workflow definition.
      - `masked`**Type**: `BOOLEAN`**Provider name**: `masked`**Description**: True if this parameter should be masked in the logs
      - `value`**Type**: `STRUCT`**Provider name**: `value`**Description**: Values for the defined keys. Each value can either be string, int, double or any proto message.
        - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`

          - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`

        - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`

        - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`

          - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`

        - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`

        - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`

          - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`

        - `int_value`**Type**: `INT64`**Provider name**: `intValue`

        - `json_value`**Type**: `STRING`**Provider name**: `jsonValue`

        - `proto_array`**Type**: `STRUCT`**Provider name**: `protoArray`

        - `serialized_object_value`**Type**: `STRUCT`**Provider name**: `serializedObjectValue`

        - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`

          - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`

        - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
  - `rollback_task_implementation_class_name`**Type**: `STRING`**Provider name**: `rollbackTaskImplementationClassName`**Description**: Required. This is the name of the task that needs to be executed upon rollback of this task.
  - `task_numbers_to_rollback`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `taskNumbersToRollback`**Description**: Required. These are the tasks numbers of the tasks whose `rollback_strategy.rollback_task_implementation_class_name` needs to be executed upon failure of this task.
- `success_policy`**Type**: `STRUCT`**Provider name**: `successPolicy`**Description**: Determines what action to take upon successful task completion.
  - `final_state`**Type**: `STRING`**Provider name**: `finalState`**Description**: State to which the execution snapshot status will be set if the task succeeds.**Possible values**:
    - `UNSPECIFIED`
    - `SUCCEEDED` - The default behavior, where successful tasks will be marked as SUCCEEDED.
    - `SUSPENDED` - Sets the state to SUSPENDED after executing. This is required for SuspensionTask; event execution will continue once the user calls ResolveSuspensions with the event_execution_info_id and the task number.
- `synchronous_call_failure_policy`**Type**: `STRUCT`**Provider name**: `synchronousCallFailurePolicy`**Description**: Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post).
  - `interval_in_seconds`**Type**: `INT64`**Provider name**: `intervalInSeconds`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the initial interval for backoff.
  - `max_num_retries`**Type**: `INT32`**Provider name**: `maxNumRetries`**Description**: Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the number of times the task will be retried if failed.
  - `retry_condition`**Type**: `STRING`**Provider name**: `retryCondition`**Description**: Optional. The retry condition that will be evaluated for this failure policy with the corresponding retry strategy.
  - `retry_strategy`**Type**: `STRING`**Provider name**: `retryStrategy`**Description**: Defines what happens to the task upon failure.**Possible values**:
    - `UNSPECIFIED`
    - `IGNORE` - Ignores the failure of this task. The rest of the workflow will be executed Assuming this task succeeded.
    - `NONE` - Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the workflow.
    - `FATAL` - Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.
    - `FIXED_INTERVAL` - The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. Max_num_retries and interval_in_seconds must be specified.
    - `LINEAR_BACKOFF` - The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. Max_num_retries and interval_in_seconds must be specified.
    - `EXPONENTIAL_BACKOFF` - The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
    - `RESTART_WORKFLOW_WITH_BACKOFF` - The entire workflow will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.
- `task_entity`**Type**: `STRUCT`**Provider name**: `taskEntity`**Description**: Copy of the task entity that this task config is an instance of.
  - `disabled_for_vpc_sc`**Type**: `BOOLEAN`**Provider name**: `disabledForVpcSc`**Description**: True if the task has conflict with vpcsc
  - `metadata`**Type**: `STRUCT`**Provider name**: `metadata`**Description**: Metadata inclueds the task name, author and so on.
    - `active_task_name`**Type**: `STRING`**Provider name**: `activeTaskName`**Description**: The new task name to replace the current task if it is deprecated. Otherwise, it is the same as the current task name.
    - `admins`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `admins`
      - `google_group_email`**Type**: `STRING`**Provider name**: `googleGroupEmail`
      - `user_email`**Type**: `STRING`**Provider name**: `userEmail`
    - `category`**Type**: `STRING`**Provider name**: `category`
    - `code_search_link`**Type**: `STRING`**Provider name**: `codeSearchLink`**Description**: The Code Search link to the Task Java file.
    - `default_json_validation_option`**Type**: `STRING`**Provider name**: `defaultJsonValidationOption`**Description**: Controls whether JSON workflow parameters are validated against provided schemas before and/or after this task's execution.**Possible values**:
      - `UNSPECIFIED_JSON_VALIDATION_OPTION` - As per the default behavior, no validation will be run. Will not override any option set in a Task.
      - `SKIP` - Do not run any validation against JSON schemas.
      - `PRE_EXECUTION` - Validate all potential input JSON parameters against schemas specified in WorkflowParameters.
      - `POST_EXECUTION` - Validate all potential output JSON parameters against schemas specified in WorkflowParameters.
      - `PRE_POST_EXECUTION` - Perform both PRE_EXECUTION and POST_EXECUTION validations.
    - `default_spec`**Type**: `STRING`**Provider name**: `defaultSpec`**Description**: Contains the initial configuration of the task with default values set. For now, The string should be compatible to an ASCII-proto format.
    - `description`**Type**: `STRING`**Provider name**: `description`**Description**: In a few sentences, describe the purpose and usage of the task.
    - `descriptive_name`**Type**: `STRING`**Provider name**: `descriptiveName`**Description**: The string name to show on the task list on the Workflow editor screen. This should be a very short, one to two words name for the task. (e.g. "Send Mail")
    - `doc_markdown`**Type**: `STRING`**Provider name**: `docMarkdown`**Description**: Snippet of markdown documentation to embed in the RHP for this task.
    - `external_category`**Type**: `STRING`**Provider name**: `externalCategory`
    - `external_category_sequence`**Type**: `INT32`**Provider name**: `externalCategorySequence`**Description**: Sequence with which the task in specific category to be displayed in task discovery panel for external users.
    - `external_doc_html`**Type**: `STRING`**Provider name**: `externalDocHtml`**Description**: External-facing documention embedded in the RHP for this task.
    - `external_doc_link`**Type**: `STRING`**Provider name**: `externalDocLink`**Description**: Doc link for external-facing documentation (separate from g3doc).
    - `external_doc_markdown`**Type**: `STRING`**Provider name**: `externalDocMarkdown`**Description**: DEPRECATED: Use external_doc_html.
    - `g3_doc_link`**Type**: `STRING`**Provider name**: `g3DocLink`**Description**: URL to the associated G3 Doc for the task if available
    - `gcp_status`**Type**: `STRING`**Provider name**: `status`**Description**: Allows author to indicate if the task is ready to use or not. If not set, then it will default to INACTIVE.**Possible values**:
      - `UNSPECIFIED_STATUS` - Default value. Actual Task Status should always be set to either INACTIVE or ACTIVE. If none is specified at runtime, it will be set to INACTIVE.
      - `DEFAULT_INACTIVE` - Still in-progress or incomplete, and not intended for use.
      - `ACTIVE` - Available for use.
    - `icon_link`**Type**: `STRING`**Provider name**: `iconLink`**Description**: URL to gstatic image icon for this task. This icon shows up on the task list panel along with the task name in the Workflow Editor screen. Use the 24p, 2x, gray color icon image format.
    - `is_deprecated`**Type**: `BOOLEAN`**Provider name**: `isDeprecated`**Description**: The deprecation status of the current task. Default value is false;
    - `name`**Type**: `STRING`**Provider name**: `name`**Description**: The actual class name or the annotated name of the task. Task Author should initialize this field with value from the getName() method of the Task class.
    - `standalone_external_doc_html`**Type**: `STRING`**Provider name**: `standaloneExternalDocHtml`**Description**: External-facing documention for standalone IP in pantheon embedded in the RHP for this task. Non null only if different from external_doc_html
    - `system`**Type**: `STRING`**Provider name**: `system`
  - `param_specs`**Type**: `STRUCT`**Provider name**: `paramSpecs`**Description**: Declarations for inputs/outputs for a TypedTask. This is also associated with the METADATA mask.
    - `parameters`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `parameters`
      - `class_name`**Type**: `STRING`**Provider name**: `className`**Description**: The FQCN of the Java object this represents. A string, for example, would be "java.lang.String". If this is "java.lang.Object", the parameter can be of any type.
      - `collection_element_class_name`**Type**: `STRING`**Provider name**: `collectionElementClassName`**Description**: If it is a collection of objects, this would be the FCQN of every individual element in the collection. If this is "java.lang.Object", the parameter is a collection of any type.
      - `config`**Type**: `STRUCT`**Provider name**: `config`**Description**: Optional fields, such as help text and other useful info.
        - `descriptive_phrase`**Type**: `STRING`**Provider name**: `descriptivePhrase`**Description**: A short phrase to describe what this parameter contains.
        - `help_text`**Type**: `STRING`**Provider name**: `helpText`**Description**: Detailed help text for this parameter containing information not provided elsewhere. For example, instructions on how to migrate from a deprecated parameter.
        - `hide_default_value`**Type**: `BOOLEAN`**Provider name**: `hideDefaultValue`**Description**: Whether the default value is hidden in the UI.
        - `input_display_option`**Type**: `STRING`**Provider name**: `inputDisplayOption`
        - `is_hidden`**Type**: `BOOLEAN`**Provider name**: `isHidden`**Description**: Whether this field is hidden in the UI.
        - `label`**Type**: `STRING`**Provider name**: `label`**Description**: A user-friendly label for the parameter.
        - `parameter_name_option`**Type**: `STRING`**Provider name**: `parameterNameOption`
        - `sub_section_label`**Type**: `STRING`**Provider name**: `subSectionLabel`**Description**: A user-friendly label for subSection under which the parameter will be displayed.
        - `ui_placeholder_text`**Type**: `STRING`**Provider name**: `uiPlaceholderText`**Description**: Placeholder text which will appear in the UI input form for this parameter.
      - `data_type`**Type**: `STRING`**Provider name**: `dataType`**Description**: The data type of the parameter.**Possible values**:
        - `DATA_TYPE_UNSPECIFIED`
        - `STRING_VALUE`
        - `INT_VALUE`
        - `DOUBLE_VALUE`
        - `BOOLEAN_VALUE`
        - `PROTO_VALUE`
        - `SERIALIZED_OBJECT_VALUE`
        - `STRING_ARRAY`
        - `INT_ARRAY`
        - `DOUBLE_ARRAY`
        - `PROTO_ARRAY`
        - `PROTO_ENUM`
        - `BOOLEAN_ARRAY`
        - `PROTO_ENUM_ARRAY`
        - `BYTES` - BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.
        - `BYTES_ARRAY`
        - `NON_SERIALIZABLE_OBJECT`
        - `JSON_VALUE`
      - `default_value`**Type**: `STRUCT`**Provider name**: `defaultValue`**Description**: Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.
        - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`

          - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`

        - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`

        - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`

          - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`

        - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`

        - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`

          - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`

        - `int_value`**Type**: `INT64`**Provider name**: `intValue`

        - `json_value`**Type**: `STRING`**Provider name**: `jsonValue`

        - `proto_array`**Type**: `STRUCT`**Provider name**: `protoArray`

        - `serialized_object_value`**Type**: `STRUCT`**Provider name**: `serializedObjectValue`

        - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`

          - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`

        - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
      - `is_deprecated`**Type**: `BOOLEAN`**Provider name**: `isDeprecated`**Description**: If set, this entry is deprecated, so further use of this parameter should be prohibited.
      - `is_output`**Type**: `BOOLEAN`**Provider name**: `isOutput`
      - `json_schema`**Type**: `STRING`**Provider name**: `jsonSchema`**Description**: If the data_type is JSON_VALUE, then this will define its schema.
      - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding parameter value. This should be unique for a given task. These parameters must be predefined in the workflow definition.
      - `proto_def`**Type**: `STRUCT`**Provider name**: `protoDef`**Description**: Populated if this represents a proto or proto array.
        - `full_name`**Type**: `STRING`**Provider name**: `fullName`**Description**: The fully-qualified proto name. This message, for example, would be "enterprise.crm.eventbus.proto.ParamSpecEntry.ProtoDefinition".
        - `path`**Type**: `STRING`**Provider name**: `path`**Description**: Path to the proto file that contains the message type's definition.
      - `required`**Type**: `BOOLEAN`**Provider name**: `required`**Description**: If set, the user must provide an input value for this parameter.
      - `validation_rule`**Type**: `STRUCT`**Provider name**: `validationRule`**Description**: Rule used to validate inputs (individual values and collection elements) for this parameter.
        - `double_range`**Type**: `STRUCT`**Provider name**: `doubleRange`
          - `max`**Type**: `DOUBLE`**Provider name**: `max`**Description**: The inclusive maximum of the acceptable range.
          - `min`**Type**: `DOUBLE`**Provider name**: `min`**Description**: The inclusive minimum of the acceptable range.
        - `int_range`**Type**: `STRUCT`**Provider name**: `intRange`
          - `max`**Type**: `INT64`**Provider name**: `max`**Description**: The inclusive maximum of the acceptable range.
          - `min`**Type**: `INT64`**Provider name**: `min`**Description**: The inclusive minimum of the acceptable range.
        - `string_regex`**Type**: `STRUCT`**Provider name**: `stringRegex`
          - `exclusive`**Type**: `BOOLEAN`**Provider name**: `exclusive`**Description**: Whether the regex matcher is applied exclusively (if true, matching values will be rejected).
          - `regex`**Type**: `STRING`**Provider name**: `regex`**Description**: The regex applied to the input value(s).
  - `stats`**Type**: `STRUCT`**Provider name**: `stats`**Description**: Deprecated - statistics from the Monarch query.
    - `dimensions`**Type**: `STRUCT`**Provider name**: `dimensions`**Description**: Dimensions that these stats have been aggregated on.
      - `client_id`**Type**: `STRING`**Provider name**: `clientId`
      - `enum_filter_type`**Type**: `STRING`**Provider name**: `enumFilterType`**Description**: Whether to include or exclude the enums matching the regex.**Possible values**:
        - `DEFAULT_INCLUSIVE`
        - `EXCLUSIVE`
      - `error_enum_string`**Type**: `STRING`**Provider name**: `errorEnumString`
      - `retry_attempt`**Type**: `STRING`**Provider name**: `retryAttempt`
      - `task_name`**Type**: `STRING`**Provider name**: `taskName`
      - `task_number`**Type**: `STRING`**Provider name**: `taskNumber`
      - `trigger_id`**Type**: `STRING`**Provider name**: `triggerId`**Description**: Stats have been or will be aggregated on set fields for any semantically-meaningful combination.
      - `warning_enum_string`**Type**: `STRING`**Provider name**: `warningEnumString`
      - `workflow_id`**Type**: `STRING`**Provider name**: `workflowId`
      - `workflow_name`**Type**: `STRING`**Provider name**: `workflowName`
    - `duration_in_seconds`**Type**: `DOUBLE`**Provider name**: `durationInSeconds`**Description**: Average duration in seconds.
    - `error_rate`**Type**: `DOUBLE`**Provider name**: `errorRate`**Description**: Average error rate.
    - `qps`**Type**: `DOUBLE`**Provider name**: `qps`**Description**: Queries per second.
    - `warning_rate`**Type**: `DOUBLE`**Provider name**: `warningRate`**Description**: Average warning rate.
  - `task_type`**Type**: `STRING`**Provider name**: `taskType`**Description**: Defines the type of the task**Possible values**:
    - `TASK` - Normal IP task
    - `ASIS_TEMPLATE` - Task is of As-Is Template type
    - `IO_TEMPLATE` - Task is of I/O template type with a different underlying task
  - `ui_config`**Type**: `STRUCT`**Provider name**: `uiConfig`**Description**: UI configuration for this task Also associated with the METADATA mask.
    - `task_ui_module_configs`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `taskUiModuleConfigs`**Description**: Configurations of included config modules.
      - `module_id`**Type**: `STRING`**Provider name**: `moduleId`**Description**: ID of the config module.**Possible values**:
        - `UNSPECIFIED_TASK_MODULE` - Default
        - `LABEL` - Supports editing label of a task config.
        - `ERROR_HANDLING` - Supports editing error handling settings such as retry strategy.
        - `TASK_PARAM_TABLE` - Supports adding, removing and editing task parameter values in a table with little assistance or restriction.
        - `TASK_PARAM_FORM` - Supports editing values of declared input parameters of a task. Think of it as a 'strongly typed' upgrade to the TASK_PARAM_TABLE.
        - `PRECONDITION` - Supports editing preconditions of a task config.
        - `SCRIPT_EDITOR` - Supports adding, editing, and deleting the scripts associated with a script task, as well as modifying the input/output parameters.
        - `RPC` - Supports editing task parameters associated with an RPC/stubby task.
        - `TASK_SUMMARY` - Contains readonly task information, including input/output type info.
        - `SUSPENSION` - Configures a SuspensionTask.
        - `RPC_TYPED` - Configures a GenericStubbyTypedTask.
        - `SUB_WORKFLOW` - Configures a SubWorkflowExecutorTask.
        - `APPS_SCRIPT_NAVIGATOR` - Supports navigating to Apps Script editor
        - `SUB_WORKFLOW_FOR_EACH_LOOP` - Configures a SubWorkflowForEachLoopTask.
        - `FIELD_MAPPING` - Configures a FieldMappingTask.
        - `README` - Contains embedded in-product documentation for a task.
        - `REST_CALLER` - UI widget for the rest caller task.
        - `SUB_WORKFLOW_SCATTER_GATHER` - Configures a SubWorkflowScatterGatherTask.
        - `CLOUD_SQL` - Configures a CloudSql Task.
        - `GENERIC_CONNECTOR_TASK` - Configure a GenericConnectorTask.
- `task_execution_strategy`**Type**: `STRING`**Provider name**: `taskExecutionStrategy`**Description**: The policy dictating the execution strategy of this task.**Possible values**:
  - `WHEN_ALL_SUCCEED` - Wait until all of its previous tasks finished execution, then verify at least one of the edge conditions is met, and execute if possible. This should be considered as WHEN_ALL_TASKS_SUCCEED.
  - `WHEN_ANY_SUCCEED` - Start execution as long as any of its previous tasks finished execution and the corresponding edge condition is met (since we will execute if only that succeeding edge condition is met).
  - `WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED` - Wait until all of its previous tasks finished execution, then verify the all edge conditions are met and execute if possible.
- `task_name`**Type**: `STRING`**Provider name**: `taskName`**Description**: The name for the task.
- `task_number`**Type**: `STRING`**Provider name**: `taskNumber`**Description**: REQUIRED: the identifier of this task within its parent event config, specified by the client. This should be unique among all the tasks belong to the same event config. We use this field as the identifier to find next tasks (via field `next_tasks.task_number`).
- `task_spec`**Type**: `STRING`**Provider name**: `taskSpec`**Description**: A string template that allows user to configure task parameters (with either literal default values or tokens which will be resolved at execution time) for the task. It will eventually replace the old "parameters" field.
- `task_template_name`**Type**: `STRING`**Provider name**: `taskTemplateName`**Description**: Used to define task-template name if task is of type task-template
- `task_type`**Type**: `STRING`**Provider name**: `taskType`**Description**: Defines the type of the task**Possible values**:
  - `TASK` - Normal IP task
  - `ASIS_TEMPLATE` - Task is of As-Is Template type
  - `IO_TEMPLATE` - Task is of I/O template type with a different underlying task

## `teardown`{% #teardown %}

**Type**: `STRUCT`**Provider name**: `teardown`**Description**: Optional. Contains a graph of tasks that will be executed before putting the event in a terminal state (SUCCEEDED/FAILED/FATAL), regardless of success or failure, similar to "finally" in code.

- `teardown_task_configs`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `teardownTaskConfigs`**Description**: Required.
  - `creator_email`**Type**: `STRING`**Provider name**: `creatorEmail`**Description**: The creator's email address.
  - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. Unique identifier of the teardown task within this Config. We use this field as the identifier to find next teardown tasks.
  - `next_teardown_task`**Type**: `STRUCT`**Provider name**: `nextTeardownTask`
    - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. Name of the next teardown task.
  - `parameters`**Type**: `STRUCT`**Provider name**: `parameters`**Description**: The parameters the user can pass to this task.
    - `parameters`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `parameters`**Description**: Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.
      - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.
      - `masked`**Type**: `BOOLEAN`**Provider name**: `masked`**Description**: True if this parameter should be masked in the logs
      - `value`**Type**: `STRUCT`**Provider name**: `value`**Description**: Values for the defined keys. Each value can either be string, int, double or any proto message.
        - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`

          - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`

        - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`

        - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`

          - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`

        - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`

        - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`

          - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`

        - `int_value`**Type**: `INT64`**Provider name**: `intValue`

        - `proto_array`**Type**: `STRUCT`**Provider name**: `protoArray`

        - `serialized_object_value`**Type**: `STRUCT`**Provider name**: `serializedObjectValue`

        - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`

          - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`

        - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
  - `properties`**Type**: `STRUCT`**Provider name**: `properties`
    - `properties`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `properties`**Description**: An unordered list of property entries.
      - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding property value. This should be unique for a given fired event. The Tasks should be aware of the keys used while firing the events for them to be able to retrieve the values.
      - `value`**Type**: `STRUCT`**Provider name**: `value`**Description**: Values for the defined keys. Each value can either be string, int, double or any proto message.
        - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`
        - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`
          - `values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `values`
        - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`
        - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`
          - `values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `values`
        - `int_value`**Type**: `INT64`**Provider name**: `intValue`
        - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`
          - `values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `values`
        - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
  - `teardown_task_implementation_class_name`**Type**: `STRING`**Provider name**: `teardownTaskImplementationClassName`**Description**: Required. Implementation class name.

## `trigger_configs`{% #trigger_configs %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `triggerConfigs`**Description**: Optional. Trigger configurations.

- `alert_config`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `alertConfig`**Description**: Optional. An alert threshold configuration for the [trigger + client + integration] tuple. If these values are not specified in the trigger config, default values will be populated by the system. Note that there must be exactly one alert threshold configured per [client + trigger + integration] when published.
  - `aggregation_period`**Type**: `STRING`**Provider name**: `aggregationPeriod`**Description**: The period over which the metric value should be aggregated and evaluated. Format is , where integer should be a positive integer and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, day, week). For an EXPECTED_MIN threshold, this aggregation_period must be lesser than 24 hours.
  - `alert_threshold`**Type**: `INT32`**Provider name**: `alertThreshold`**Description**: For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.
  - `disable_alert`**Type**: `BOOLEAN`**Provider name**: `disableAlert`**Description**: Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this integration alert.
  - `duration_threshold`**Type**: `STRING`**Provider name**: `durationThreshold`**Description**: Should be specified only for *AVERAGE_DURATION and *PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.
  - `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: Name of the alert. This will be displayed in the alert subject. If set, this name should be unique within the scope of the integration.
  - `metric_type`**Type**: `STRING`**Provider name**: `metricType`**Description**: The type of metric.**Possible values**:
    - `METRIC_TYPE_UNSPECIFIED` - The default value. Metric type should always be set to one of the other non-default values, otherwise it will result in an INVALID_ARGUMENT error.
    - `EVENT_ERROR_RATE` - Specifies alerting on the rate of errors for the enclosing integration.
    - `EVENT_WARNING_RATE` - Specifies alerting on the rate of warnings for the enclosing integration. Warnings use the same enum values as errors.
    - `TASK_ERROR_RATE` - Specifies alerting on the rate of errors for any task in the enclosing integration.
    - `TASK_WARNING_RATE` - Specifies alerting on the rate of warnings for any task in the enclosing integration.
    - `TASK_RATE` - Specifies alerting on the rate of executions over all tasks in the enclosing integration.
    - `EVENT_RATE` - Specifies alerting on the number of events executed in the given aggregation_period.
    - `EVENT_AVERAGE_DURATION` - Specifies alerting on the average duration of executions for this integration.
    - `EVENT_PERCENTILE_DURATION` - Specifies alerting on the duration value of a particular percentile of integration executions. E.g. If 10% or more of the integration executions have durations above 5 seconds, alert.
    - `TASK_AVERAGE_DURATION` - Specifies alerting on the average duration of any task in the enclosing integration,
    - `TASK_PERCENTILE_DURATION` - Specifies alerting on the duration value of a particular percentile of any task executions within the enclosing integration. E.g. If 10% or more of the task executions in the integration have durations above 5 seconds, alert.
  - `only_final_attempt`**Type**: `BOOLEAN`**Provider name**: `onlyFinalAttempt`**Description**: For either events or tasks, depending on the type of alert, count only final attempts, not retries.
  - `threshold_type`**Type**: `STRING`**Provider name**: `thresholdType`**Description**: The threshold type, whether lower(expected_min) or upper(expected_max), for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.**Possible values**:
    - `THRESHOLD_TYPE_UNSPECIFIED` - Default.
    - `EXPECTED_MIN` - Note that this field will only trigger alerts if the integration specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours. Min value threshold.
    - `EXPECTED_MAX` - Max value threshold.
  - `threshold_value`**Type**: `STRUCT`**Provider name**: `thresholdValue`**Description**: The metric value, above or below which the alert should be triggered.
    - `absolute`**Type**: `INT64`**Provider name**: `absolute`**Description**: Absolute value threshold.
    - `percentage`**Type**: `INT32`**Provider name**: `percentage`**Description**: Percentage threshold.
- `cloud_scheduler_config`**Type**: `STRUCT`**Provider name**: `cloudSchedulerConfig`**Description**: Optional. Cloud Scheduler Trigger related metadata
  - `cron_tab`**Type**: `STRING`**Provider name**: `cronTab`**Description**: Required. The cron tab of cloud scheduler trigger.
  - `error_message`**Type**: `STRING`**Provider name**: `errorMessage`**Description**: Optional. When the job was deleted from Pantheon UI, error_message will be populated when Get/List integrations
  - `location`**Type**: `STRING`**Provider name**: `location`**Description**: Required. The location where associated cloud scheduler job will be created
  - `service_account_email`**Type**: `STRING`**Provider name**: `serviceAccountEmail`**Description**: Required. Service account used by Cloud Scheduler to trigger the integration at scheduled time
- `description`**Type**: `STRING`**Provider name**: `description`**Description**: Optional. User-provided description intended to give additional business context about the task.
- `error_catcher_id`**Type**: `STRING`**Provider name**: `errorCatcherId`**Description**: Optional. Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task
- `input_variables`**Type**: `STRUCT`**Provider name**: `inputVariables`**Description**: Optional. List of input variables for the api trigger.
  - `names`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `names`**Description**: Optional. List of variable names.
- `label`**Type**: `STRING`**Provider name**: `label`**Description**: Optional. The user created label for a particular trigger.
- `next_tasks_execution_policy`**Type**: `STRING`**Provider name**: `nextTasksExecutionPolicy`**Description**: Optional. Dictates how next tasks will be executed.**Possible values**:
  - `NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED` - Default.
  - `RUN_ALL_MATCH` - Execute all the tasks that satisfy their associated condition.
  - `RUN_FIRST_MATCH` - Execute the first task that satisfies the associated condition.
- `output_variables`**Type**: `STRUCT`**Provider name**: `outputVariables`**Description**: Optional. List of output variables for the api trigger.
  - `names`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `names`**Description**: Optional. List of variable names.
- `position`**Type**: `STRUCT`**Provider name**: `position`**Description**: Optional. Informs the front-end application where to draw this error catcher config on the UI.
  - `x`**Type**: `INT32`**Provider name**: `x`**Description**: Required. X axis of the coordinate
  - `y`**Type**: `INT32`**Provider name**: `y`**Description**: Required. Y axis of the coordinate
- `start_tasks`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `startTasks`**Description**: Optional. Set of tasks numbers from where the integration execution is started by this trigger. If this is empty, then integration is executed with default start tasks. In the list of start tasks, none of two tasks can have direct ancestor-descendant relationships (i.e. in a same integration execution graph).
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Standard filter expression for this task to become an eligible next task.
  - `description`**Type**: `STRING`**Provider name**: `description`**Description**: User-provided description intended to give additional business context about the task.
  - `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: User-provided label that is attached to this edge in the UI.
  - `task_config_id`**Type**: `STRING`**Provider name**: `taskConfigId`**Description**: ID of the next task.
  - `task_id`**Type**: `STRING`**Provider name**: `taskId`**Description**: Task number of the next task.
- `trigger`**Type**: `STRING`**Provider name**: `trigger`**Description**: Optional. Name of the trigger. Example: "API Trigger", "Cloud Pub Sub Trigger" When set will be sent out to monitoring dashabord for tracking purpose.
- `trigger_id`**Type**: `STRING`**Provider name**: `triggerId`**Description**: Optional. Auto-generated trigger ID. The ID is based on the properties that you define in the trigger config. For example, for an API trigger, the trigger ID follows the format: api_trigger/TRIGGER_NAME Where trigger config has properties with value {"Trigger name": TRIGGER_NAME}
- `trigger_number`**Type**: `STRING`**Provider name**: `triggerNumber`**Description**: Required. A number to uniquely identify each trigger config within the integration on UI.
- `trigger_type`**Type**: `STRING`**Provider name**: `triggerType`**Description**: Optional. Type of trigger**Possible values**:
  - `TRIGGER_TYPE_UNSPECIFIED` - Unknown.
  - `CRON` - Trigger by scheduled time.
  - `API` - Trigger by API call.
  - `SFDC_CHANNEL` - Trigger by Salesforce Channel.
  - `CLOUD_PUBSUB_EXTERNAL` - Trigger by Pub/Sub external.
  - `SFDC_CDC_CHANNEL` - SFDC Channel Trigger for CDC.
  - `CLOUD_SCHEDULER` - Trigger by Cloud Scheduler job.
  - `INTEGRATION_CONNECTOR_TRIGGER` - Trigger by Connector Event
  - `PRIVATE_TRIGGER` - Trigger for private workflow
  - `CLOUD_PUBSUB` - Trigger by cloud pub/sub for internal ip
  - `EVENTARC_TRIGGER` - Trigger by Eventarc

## `trigger_configs_internal`{% #trigger_configs_internal %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `triggerConfigsInternal`**Description**: Optional. Trigger configurations.

- `alert_config`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `alertConfig`**Description**: An alert threshold configuration for the [trigger + client + workflow] tuple. If these values are not specified in the trigger config, default values will be populated by the system. Note that there must be exactly one alert threshold configured per [client + trigger + workflow] when published.
  - `aggregation_period`**Type**: `STRING`**Provider name**: `aggregationPeriod`**Description**: For an EXPECTED_MIN threshold, this aggregation_period must be lesser than 24 hours.
  - `alert_disabled`**Type**: `BOOLEAN`**Provider name**: `alertDisabled`**Description**: Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this workflow alert.
  - `alert_name`**Type**: `STRING`**Provider name**: `alertName`**Description**: A name to identify this alert. This will be displayed in the alert subject. If set, this name should be unique within the scope of the workflow.
  - `client_id`**Type**: `STRING`**Provider name**: `clientId`**Description**: Client associated with this alert configuration.
  - `duration_threshold_ms`**Type**: `INT64`**Provider name**: `durationThresholdMs`**Description**: Should be specified only for *AVERAGE_DURATION and *PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.
  - `error_enum_list`**Type**: `STRUCT`**Provider name**: `errorEnumList`
    - `enum_strings`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `enumStrings`
    - `filter_type`**Type**: `STRING`**Provider name**: `filterType`
  - `metric_type`**Type**: `STRING`**Provider name**: `metricType`
  - `num_aggregation_periods`**Type**: `INT32`**Provider name**: `numAggregationPeriods`**Description**: For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.
  - `only_final_attempt`**Type**: `BOOLEAN`**Provider name**: `onlyFinalAttempt`**Description**: For either events or tasks, depending on the type of alert, count only final attempts, not retries.
  - `playbook_url`**Type**: `STRING`**Provider name**: `playbookUrl`**Description**: Link to a playbook for resolving the issue that triggered this alert.
  - `threshold_type`**Type**: `STRING`**Provider name**: `thresholdType`**Description**: The threshold type, whether lower(expected_min) or upper(expected_max), for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.**Possible values**:
    - `UNSPECIFIED_THRESHOLD_TYPE`
    - `EXPECTED_MIN` - Note that this field will only trigger alerts if the workflow specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours.
    - `EXPECTED_MAX`
  - `threshold_value`**Type**: `STRUCT`**Provider name**: `thresholdValue`**Description**: The metric value, above or below which the alert should be triggered.
    - `absolute`**Type**: `INT64`**Provider name**: `absolute`
    - `percentage`**Type**: `INT32`**Provider name**: `percentage`
  - `warning_enum_list`**Type**: `STRUCT`**Provider name**: `warningEnumList`
    - `enum_strings`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `enumStrings`
    - `filter_type`**Type**: `STRING`**Provider name**: `filterType`
- `cloud_scheduler_config`**Type**: `STRUCT`**Provider name**: `cloudSchedulerConfig`
  - `cron_tab`**Type**: `STRING`**Provider name**: `cronTab`**Description**: Required. The cron tab of cloud scheduler trigger.
  - `error_message`**Type**: `STRING`**Provider name**: `errorMessage`**Description**: Optional. When the job was deleted from Pantheon UI, error_message will be populated when Get/List integrations
  - `location`**Type**: `STRING`**Provider name**: `location`**Description**: Required. The location where associated cloud scheduler job will be created
  - `service_account_email`**Type**: `STRING`**Provider name**: `serviceAccountEmail`**Description**: Required. Service account used by Cloud Scheduler to trigger the integration at scheduled time
- `description`**Type**: `STRING`**Provider name**: `description`**Description**: User-provided description intended to give more business context about the task.
- `enabled_clients`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `enabledClients`**Description**: Required. The list of client ids which are enabled to execute the workflow using this trigger. In other words, these clients have the workflow execution privledges for this trigger. For API trigger, the client id in the incoming request is validated against the list of enabled clients. For non-API triggers, one workflow execution is triggered on behalf of each enabled client.
- `error_catcher_id`**Type**: `STRING`**Provider name**: `errorCatcherId`**Description**: Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task
- `input_variables`**Type**: `STRUCT`**Provider name**: `inputVariables`**Description**: Optional. List of input variables for the api trigger.
  - `names`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `names`**Description**: Optional. List of variable names.
- `label`**Type**: `STRING`**Provider name**: `label`**Description**: The user created label for a particular trigger.
- `next_tasks_execution_policy`**Type**: `STRING`**Provider name**: `nextTasksExecutionPolicy`**Description**: Dictates how next tasks will be executed.**Possible values**:
  - `UNSPECIFIED` - Default
  - `RUN_ALL_MATCH` - Execute all the tasks that satisfy their associated condition.
  - `RUN_FIRST_MATCH` - Execute the first task that satisfies the associated condition.
- `output_variables`**Type**: `STRUCT`**Provider name**: `outputVariables`**Description**: Optional. List of output variables for the api trigger.
  - `names`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `names`**Description**: Optional. List of variable names.
- `pause_workflow_executions`**Type**: `BOOLEAN`**Provider name**: `pauseWorkflowExecutions`**Description**: Optional. If set to true, any upcoming requests for this trigger config will be paused and the executions will be resumed later when the flag is reset. The workflow to which this trigger config belongs has to be in ACTIVE status for the executions to be paused or resumed.
- `position`**Type**: `STRUCT`**Provider name**: `position`**Description**: Optional. Informs the front-end application where to draw this trigger config on the UI.
  - `x`**Type**: `INT32`**Provider name**: `x`
  - `y`**Type**: `INT32`**Provider name**: `y`
- `start_tasks`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `startTasks`**Description**: Set of tasks numbers from where the workflow execution is started by this trigger. If this is empty, then workflow is executed with default start tasks. In the list of start tasks, none of two tasks can have direct ancestor-descendant relationships (i.e. in a same workflow execution graph).
  - `combined_conditions`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `combinedConditions`**Description**: Combined condition for this task to become an eligible next task. Each of these combined_conditions are joined with logical OR. DEPRECATED: use `condition`
    - `conditions`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `conditions`**Description**: A set of individual constituent conditions.
      - `event_property_key`**Type**: `STRING`**Provider name**: `eventPropertyKey`**Description**: Key that's evaluated against the `value`. Please note the data type of the runtime value associated with the key should match the data type of `value`, else an IllegalArgumentException is thrown.
      - `operator`**Type**: `STRING`**Provider name**: `operator`**Description**: Operator used to evaluate the condition. Please note that an operator with an inappropriate key/value operand will result in IllegalArgumentException, e.g. CONTAINS with boolean key/value pair.**Possible values**:
        - `UNSET`
        - `EQUALS`
        - `CONTAINS`
        - `LESS_THAN`
        - `GREATER_THAN`
        - `EXISTS`
        - `DOES_NOT_EXIST`
        - `IS_EMPTY`
        - `IS_NOT_EMPTY`
      - `value`**Type**: `STRUCT`**Provider name**: `value`**Description**: Value that's checked for the key.
        - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`
        - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`
          - `values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `values`
        - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`
        - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`
          - `values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `values`
        - `int_value`**Type**: `INT64`**Provider name**: `intValue`
        - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`
          - `values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `values`
        - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Standard filter expression for this task to become an eligible next task.
  - `description`**Type**: `STRING`**Provider name**: `description`**Description**: User-provided description intended to give more business context about the next task edge or condition.
  - `label`**Type**: `STRING`**Provider name**: `label`**Description**: User-provided label that is attached to this edge in the UI.
  - `task_config_id`**Type**: `STRING`**Provider name**: `taskConfigId`**Description**: ID of the next task.
  - `task_number`**Type**: `STRING`**Provider name**: `taskNumber`**Description**: Task number of the next task.
- `trigger_criteria`**Type**: `STRUCT`**Provider name**: `triggerCriteria`**Description**: Optional. When set, Eventbus will run the task specified in the trigger_criteria and validate the result using the trigger_criteria.condition, and only execute the workflow when result is true.
  - `condition`**Type**: `STRING`**Provider name**: `condition`**Description**: Required. Standard filter expression, when true the workflow will be executed. If there's no trigger_criteria_task_implementation_class_name specified, the condition will be validated directly.
  - `parameters`**Type**: `STRUCT`**Provider name**: `parameters`**Description**: Optional. To be used in TaskConfig for the implementation class.
    - `parameters`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `parameters`**Description**: Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.
      - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.
      - `masked`**Type**: `BOOLEAN`**Provider name**: `masked`**Description**: True if this parameter should be masked in the logs
      - `value`**Type**: `STRUCT`**Provider name**: `value`**Description**: Values for the defined keys. Each value can either be string, int, double or any proto message.
        - `boolean_array`**Type**: `STRUCT`**Provider name**: `booleanArray`

          - `boolean_values`**Type**: `UNORDERED_LIST_BOOLEAN`**Provider name**: `booleanValues`

        - `boolean_value`**Type**: `BOOLEAN`**Provider name**: `booleanValue`

        - `double_array`**Type**: `STRUCT`**Provider name**: `doubleArray`

          - `double_values`**Type**: `UNORDERED_LIST_DOUBLE`**Provider name**: `doubleValues`

        - `double_value`**Type**: `DOUBLE`**Provider name**: `doubleValue`

        - `int_array`**Type**: `STRUCT`**Provider name**: `intArray`

          - `int_values`**Type**: `UNORDERED_LIST_INT64`**Provider name**: `intValues`

        - `int_value`**Type**: `INT64`**Provider name**: `intValue`

        - `proto_array`**Type**: `STRUCT`**Provider name**: `protoArray`

        - `serialized_object_value`**Type**: `STRUCT`**Provider name**: `serializedObjectValue`

        - `string_array`**Type**: `STRUCT`**Provider name**: `stringArray`

          - `string_values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stringValues`

        - `string_value`**Type**: `STRING`**Provider name**: `stringValue`
  - `trigger_criteria_task_implementation_class_name`**Type**: `STRING`**Provider name**: `triggerCriteriaTaskImplementationClassName`**Description**: Optional. Implementation class name. The class should implement the "TypedTask" interface.
- `trigger_id`**Type**: `STRING`**Provider name**: `triggerId`**Description**: The backend trigger ID.
- `trigger_name`**Type**: `STRING`**Provider name**: `triggerName`**Description**: Optional. Name of the trigger This is added to identify the type of trigger. This is avoid the logic on triggerId to identify the trigger_type and push the same to monitoring.
- `trigger_number`**Type**: `STRING`**Provider name**: `triggerNumber`**Description**: Required. A number to uniquely identify each trigger config within the workflow on UI.
- `trigger_type`**Type**: `STRING`**Provider name**: `triggerType`

## `update_time`{% #update_time %}

**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Output only. Auto-generated.

## `user_label`{% #user_label %}

**Type**: `STRING`**Provider name**: `userLabel`**Description**: Optional. A user-defined label that annotates an integration version. Typically, this is only set when the integration version is created.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
