Skip to main content

versions

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

Overview

Nameversions
TypeResource
Idgoogle.integrations.versions

Fields

NameDatatypeDescription
namestringOutput only. Auto-generated primary key.
descriptionstringOptional. The integration description.
cloudLoggingDetailsobjectCloud Logging details for execution info
createTimestringOutput only. Auto-generated.
createdFromTemplatestringOptional. Optional. The resource name of the template from which the integration is created.
databasePersistencePolicystringOptional. Flag to disable database persistence for execution data, including event execution info, execution export info, execution metadata index and execution param index.
enableVariableMaskingbooleanOptional. True if variable masking feature should be turned on for this version
errorCatcherConfigsarrayOptional. Error Catch Task configuration for the integration. It's optional.
integrationConfigParametersarrayOptional. 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.
integrationParametersarrayOptional. 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.
integrationParametersInternalobjectLINT.IfChange This is the frontend version of WorkflowParameters. It's exactly like the backend version except that instead of flattening protobuf parameters and treating every field and subfield of a protobuf parameter as a separate parameter, the fields/subfields of a protobuf parameter will be nested as "children" (see 'children' field below) parameters of the parent parameter. Please refer to enterprise/crm/eventbus/proto/workflow_parameters.proto for more information about WorkflowParameters.
lastModifierEmailstringOptional. The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.
lockHolderstringOptional. The edit lock holder's email address. Generated based on the End User Credentials/LOAS role of the user making the call.
originstringOptional. The origin that indicates where this integration is coming from.
parentTemplateIdstringOptional. The id of the template which was used to create this integration_version.
runAsServiceAccountstringOptional. 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.
snapshotNumberstringOptional. 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.
statestringOutput only. User should not set it as an input.
statusstringOutput only. Generated by eventbus. User should not set it as an input.
taskConfigsarrayOptional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.
taskConfigsInternalarrayOptional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.
teardownobject
triggerConfigsarrayOptional. Trigger configurations.
triggerConfigsInternalarrayOptional. Trigger configurations.
updateTimestringOutput only. Auto-generated.
userLabelstringOptional. A user-defined label that annotates an integration version. Typically, this is only set when the integration version is created.

Methods

NameAccessible byRequired ParamsDescription
projects_locations_integrations_versions_getSELECTintegrationsId, locationsId, projectsId, versionsIdGet a integration in the specified project.
projects_locations_integrations_versions_listSELECTintegrationsId, locationsId, projectsIdReturns the list of all integration versions in the specified project.
projects_locations_products_integrations_versions_getSELECTintegrationsId, locationsId, productsId, projectsId, versionsIdGet a integration in the specified project.
projects_locations_products_integrations_versions_listSELECTintegrationsId, locationsId, productsId, projectsIdReturns the list of all integration versions in the specified project.
projects_locations_integrations_versions_createINSERTintegrationsId, locationsId, projectsIdCreate a integration with a draft version in the specified project.
projects_locations_products_integrations_versions_createINSERTintegrationsId, locationsId, productsId, projectsIdCreate a integration with a draft version in the specified project.
projects_locations_integrations_versions_deleteDELETEintegrationsId, locationsId, projectsId, versionsIdSoft-deletes the integration. Changes the status of the integration to ARCHIVED. If the integration being ARCHIVED is tagged as "HEAD", the tag is removed from this snapshot and set to the previous non-ARCHIVED snapshot. The PUBLISH_REQUESTED, DUE_FOR_DELETION tags are removed too. This RPC throws an exception if the version being deleted is DRAFT, and if the locked_by user is not the same as the user performing the Delete. Audit fields updated include last_modified_timestamp, last_modified_by. Any existing lock is released when Deleting a integration. Currently, there is no undelete mechanism.
projects_locations_products_integrations_versions_deleteDELETEintegrationsId, locationsId, productsId, projectsId, versionsIdSoft-deletes the integration. Changes the status of the integration to ARCHIVED. If the integration being ARCHIVED is tagged as "HEAD", the tag is removed from this snapshot and set to the previous non-ARCHIVED snapshot. The PUBLISH_REQUESTED, DUE_FOR_DELETION tags are removed too. This RPC throws an exception if the version being deleted is DRAFT, and if the locked_by user is not the same as the user performing the Delete. Audit fields updated include last_modified_timestamp, last_modified_by. Any existing lock is released when Deleting a integration. Currently, there is no undelete mechanism.
projects_locations_integrations_versions_patchUPDATEintegrationsId, locationsId, projectsId, versionsIdUpdate a integration with a draft version in the specified project.
projects_locations_products_integrations_versions_patchUPDATEintegrationsId, locationsId, productsId, projectsId, versionsIdUpdate a integration with a draft version in the specified project.
projects_locations_integrations_versions_downloadEXECintegrationsId, locationsId, projectsId, versionsIdDownloads an integration. Retrieves the IntegrationVersion for a given integration_id and returns the response as a string.
projects_locations_integrations_versions_download_json_packageEXECintegrationsId, locationsId, projectsId, versionsIdDownloads an Integration version package like IntegrationVersion,Integration Config etc. Retrieves the IntegrationVersion package for a given integration_id and returns the response as a JSON.
projects_locations_integrations_versions_publishEXECintegrationsId, locationsId, projectsId, versionsIdThis RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the locked_by user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released.
projects_locations_integrations_versions_unpublishEXECintegrationsId, locationsId, projectsId, versionsIdSets the status of the ACTIVE integration to SNAPSHOT with a new tag "PREVIOUSLY_PUBLISHED" after validating it. The "HEAD" and "PUBLISH_REQUESTED" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp.
projects_locations_integrations_versions_uploadEXECintegrationsId, locationsId, projectsIdUploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content.
projects_locations_products_integrations_versions_downloadEXECintegrationsId, locationsId, productsId, projectsId, versionsIdDownloads an integration. Retrieves the IntegrationVersion for a given integration_id and returns the response as a string.
projects_locations_products_integrations_versions_publishEXECintegrationsId, locationsId, productsId, projectsId, versionsIdThis RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the locked_by user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released.
projects_locations_products_integrations_versions_takeover_edit_lockEXECintegrationsId, locationsId, productsId, projectsId, versionsIdClears the locked_by and locked_at_timestampin the DRAFT version of this integration. It then performs the same action as the CreateDraftIntegrationVersion (i.e., copies the DRAFT version of the integration as a SNAPSHOT and then creates a new DRAFT version with the locked_by set to the user_taking_over and the locked_at_timestamp set to the current timestamp). Both the locked_by and user_taking_over are notified via email about the takeover. This RPC throws an exception if the integration is not in DRAFT status or if the locked_by and locked_at_timestamp fields are not set.The TakeoverEdit lock is treated the same as an edit of the integration, and hence shares ACLs with edit. Audit fields updated include last_modified_timestamp, last_modified_by.
projects_locations_products_integrations_versions_unpublishEXECintegrationsId, locationsId, productsId, projectsId, versionsIdSets the status of the ACTIVE integration to SNAPSHOT with a new tag "PREVIOUSLY_PUBLISHED" after validating it. The "HEAD" and "PUBLISH_REQUESTED" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp.
projects_locations_products_integrations_versions_uploadEXECintegrationsId, locationsId, productsId, projectsIdUploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content.

SELECT examples

Returns the list of all integration versions in the specified project.

SELECT
name,
description,
cloudLoggingDetails,
createTime,
createdFromTemplate,
databasePersistencePolicy,
enableVariableMasking,
errorCatcherConfigs,
integrationConfigParameters,
integrationParameters,
integrationParametersInternal,
lastModifierEmail,
lockHolder,
origin,
parentTemplateId,
runAsServiceAccount,
snapshotNumber,
state,
status,
taskConfigs,
taskConfigsInternal,
teardown,
triggerConfigs,
triggerConfigsInternal,
updateTime,
userLabel
FROM google.integrations.versions
WHERE integrationsId = '{{ integrationsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

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

/*+ create */
INSERT INTO google.integrations.versions (
integrationsId,
locationsId,
projectsId,
origin,
userLabel,
triggerConfigs,
taskConfigs,
triggerConfigsInternal,
createdFromTemplate,
description,
teardown,
enableVariableMasking,
snapshotNumber,
parentTemplateId,
lastModifierEmail,
cloudLoggingDetails,
runAsServiceAccount,
integrationConfigParameters,
errorCatcherConfigs,
databasePersistencePolicy,
lockHolder,
taskConfigsInternal,
integrationParametersInternal,
integrationParameters
)
SELECT
'{{ integrationsId }}',
'{{ locationsId }}',
'{{ projectsId }}',
'{{ origin }}',
'{{ userLabel }}',
'{{ triggerConfigs }}',
'{{ taskConfigs }}',
'{{ triggerConfigsInternal }}',
'{{ createdFromTemplate }}',
'{{ description }}',
'{{ teardown }}',
{{ enableVariableMasking }},
'{{ snapshotNumber }}',
'{{ parentTemplateId }}',
'{{ lastModifierEmail }}',
'{{ cloudLoggingDetails }}',
'{{ runAsServiceAccount }}',
'{{ integrationConfigParameters }}',
'{{ errorCatcherConfigs }}',
'{{ databasePersistencePolicy }}',
'{{ lockHolder }}',
'{{ taskConfigsInternal }}',
'{{ integrationParametersInternal }}',
'{{ integrationParameters }}'
;

UPDATE example

Updates a versions resource.

/*+ update */
UPDATE google.integrations.versions
SET
origin = '{{ origin }}',
userLabel = '{{ userLabel }}',
triggerConfigs = '{{ triggerConfigs }}',
taskConfigs = '{{ taskConfigs }}',
triggerConfigsInternal = '{{ triggerConfigsInternal }}',
createdFromTemplate = '{{ createdFromTemplate }}',
description = '{{ description }}',
teardown = '{{ teardown }}',
enableVariableMasking = true|false,
snapshotNumber = '{{ snapshotNumber }}',
parentTemplateId = '{{ parentTemplateId }}',
lastModifierEmail = '{{ lastModifierEmail }}',
cloudLoggingDetails = '{{ cloudLoggingDetails }}',
runAsServiceAccount = '{{ runAsServiceAccount }}',
integrationConfigParameters = '{{ integrationConfigParameters }}',
errorCatcherConfigs = '{{ errorCatcherConfigs }}',
databasePersistencePolicy = '{{ databasePersistencePolicy }}',
lockHolder = '{{ lockHolder }}',
taskConfigsInternal = '{{ taskConfigsInternal }}',
integrationParametersInternal = '{{ integrationParametersInternal }}',
integrationParameters = '{{ integrationParameters }}'
WHERE
integrationsId = '{{ integrationsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND versionsId = '{{ versionsId }}';

DELETE example

Deletes the specified versions resource.

/*+ delete */
DELETE FROM google.integrations.versions
WHERE integrationsId = '{{ integrationsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND versionsId = '{{ versionsId }}';