Skip to main content

versions

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

Overview

Nameversions
TypeResource
Idgoogle.integrations.versions

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
namestringOutput only. Auto-generated primary key.
cloudKmsKeystringOptional. Cloud KMS resource name for the CMEK encryption key.
cloudLoggingDetailsobjectOptional. Cloud Logging details for the integration version (id: GoogleCloudIntegrationsV1alphaCloudLoggingDetails)
createTimestring (google-datetime)Output 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.
descriptionstringOptional. The integration description.
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.
integrationParametersInternalobjectOptional. 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. (id: EnterpriseCrmFrontendsEventbusProtoWorkflowParameters)
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.
snapshotNumberstring (int64)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.
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.
teardownobjectOptional. 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. (id: EnterpriseCrmEventbusProtoTeardown)
triggerConfigsarrayOptional. Trigger configurations.
triggerConfigsInternalarrayOptional. Trigger configurations.
updateTimestring (google-datetime)Output 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

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
projects_locations_products_integrations_versions_getselectprojectsId, locationsId, productsId, integrationsId, versionsIdGet a integration in the specified project.
projects_locations_products_integrations_versions_listselectprojectsId, locationsId, productsId, integrationsIdpageSize, pageToken, filter, orderBy, fieldMaskReturns the list of all integration versions in the specified project.
projects_locations_integrations_versions_getselectprojectsId, locationsId, integrationsId, versionsIdGet a integration in the specified project.
projects_locations_integrations_versions_listselectprojectsId, locationsId, integrationsIdpageSize, pageToken, filter, orderBy, fieldMaskReturns the list of all integration versions in the specified project.
projects_locations_products_integrations_versions_createinsertprojectsId, locationsId, productsId, integrationsIdnewIntegration, createSampleIntegrationsCreate a integration with a draft version in the specified project.
projects_locations_integrations_versions_createinsertprojectsId, locationsId, integrationsIdnewIntegration, createSampleIntegrationsCreate a integration with a draft version in the specified project.
projects_locations_products_integrations_versions_patchupdateprojectsId, locationsId, productsId, integrationsId, versionsIdupdateMaskUpdate a integration with a draft version in the specified project.
projects_locations_integrations_versions_patchupdateprojectsId, locationsId, integrationsId, versionsIdupdateMaskUpdate a integration with a draft version in the specified project.
projects_locations_products_integrations_versions_deletedeleteprojectsId, locationsId, productsId, integrationsId, 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_deletedeleteprojectsId, locationsId, integrationsId, 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_publishexecprojectsId, locationsId, productsId, integrationsId, 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_uploadexecprojectsId, locationsId, productsId, integrationsIdUploads 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_downloadexecprojectsId, locationsId, productsId, integrationsId, versionsIdfileFormat, filesDownloads an integration. Retrieves the IntegrationVersion for a given integration_id and returns the response as a string.
projects_locations_products_integrations_versions_takeover_edit_lockexecprojectsId, locationsId, productsId, integrationsId, 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_unpublishexecprojectsId, locationsId, productsId, integrationsId, 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_publishexecprojectsId, locationsId, integrationsId, 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_uploadexecprojectsId, locationsId, integrationsIdUploads 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_integrations_versions_downloadexecprojectsId, locationsId, integrationsId, versionsIdfileFormat, filesDownloads an integration. Retrieves the IntegrationVersion for a given integration_id and returns the response as a string.
projects_locations_integrations_versions_download_json_packageexecprojectsId, locationsId, integrationsId, versionsIdfilesDownloads 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_unpublishexecprojectsId, locationsId, integrationsId, 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.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
integrationsIdstring
locationsIdstring
productsIdstring
projectsIdstring
versionsIdstring
createSampleIntegrationsboolean
fieldMaskstring (google-fieldmask)
fileFormatstring
filesstring
filterstring
newIntegrationboolean
orderBystring
pageSizeinteger (int32)
pageTokenstring
updateMaskstring (google-fieldmask)

SELECT examples

Get a integration in the specified project.

SELECT
name,
cloudKmsKey,
cloudLoggingDetails,
createTime,
createdFromTemplate,
databasePersistencePolicy,
description,
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 projectsId = '{{ projectsId }}' -- required
AND locationsId = '{{ locationsId }}' -- required
AND productsId = '{{ productsId }}' -- required
AND integrationsId = '{{ integrationsId }}' -- required
AND versionsId = '{{ versionsId }}' -- required;

INSERT examples

Create a integration with a draft version in the specified project.

INSERT INTO google.integrations.versions (
data__description,
data__taskConfigsInternal,
data__taskConfigs,
data__triggerConfigsInternal,
data__triggerConfigs,
data__integrationParametersInternal,
data__integrationParameters,
data__teardown,
data__origin,
data__lockHolder,
data__lastModifierEmail,
data__parentTemplateId,
data__userLabel,
data__databasePersistencePolicy,
data__errorCatcherConfigs,
data__runAsServiceAccount,
data__cloudLoggingDetails,
data__integrationConfigParameters,
data__enableVariableMasking,
data__createdFromTemplate,
data__cloudKmsKey,
projectsId,
locationsId,
productsId,
integrationsId,
newIntegration,
createSampleIntegrations
)
SELECT
'{{ description }}',
'{{ taskConfigsInternal }}',
'{{ taskConfigs }}',
'{{ triggerConfigsInternal }}',
'{{ triggerConfigs }}',
'{{ integrationParametersInternal }}',
'{{ integrationParameters }}',
'{{ teardown }}',
'{{ origin }}',
'{{ lockHolder }}',
'{{ lastModifierEmail }}',
'{{ parentTemplateId }}',
'{{ userLabel }}',
'{{ databasePersistencePolicy }}',
'{{ errorCatcherConfigs }}',
'{{ runAsServiceAccount }}',
'{{ cloudLoggingDetails }}',
'{{ integrationConfigParameters }}',
{{ enableVariableMasking }},
'{{ createdFromTemplate }}',
'{{ cloudKmsKey }}',
'{{ projectsId }}',
'{{ locationsId }}',
'{{ productsId }}',
'{{ integrationsId }}',
'{{ newIntegration }}',
'{{ createSampleIntegrations }}'
RETURNING
name,
cloudKmsKey,
cloudLoggingDetails,
createTime,
createdFromTemplate,
databasePersistencePolicy,
description,
enableVariableMasking,
errorCatcherConfigs,
integrationConfigParameters,
integrationParameters,
integrationParametersInternal,
lastModifierEmail,
lockHolder,
origin,
parentTemplateId,
runAsServiceAccount,
snapshotNumber,
state,
status,
taskConfigs,
taskConfigsInternal,
teardown,
triggerConfigs,
triggerConfigsInternal,
updateTime,
userLabel
;

UPDATE examples

Update a integration with a draft version in the specified project.

UPDATE google.integrations.versions
SET
data__description = '{{ description }}',
data__taskConfigsInternal = '{{ taskConfigsInternal }}',
data__taskConfigs = '{{ taskConfigs }}',
data__triggerConfigsInternal = '{{ triggerConfigsInternal }}',
data__triggerConfigs = '{{ triggerConfigs }}',
data__integrationParametersInternal = '{{ integrationParametersInternal }}',
data__integrationParameters = '{{ integrationParameters }}',
data__teardown = '{{ teardown }}',
data__origin = '{{ origin }}',
data__lockHolder = '{{ lockHolder }}',
data__lastModifierEmail = '{{ lastModifierEmail }}',
data__parentTemplateId = '{{ parentTemplateId }}',
data__userLabel = '{{ userLabel }}',
data__databasePersistencePolicy = '{{ databasePersistencePolicy }}',
data__errorCatcherConfigs = '{{ errorCatcherConfigs }}',
data__runAsServiceAccount = '{{ runAsServiceAccount }}',
data__cloudLoggingDetails = '{{ cloudLoggingDetails }}',
data__integrationConfigParameters = '{{ integrationConfigParameters }}',
data__enableVariableMasking = {{ enableVariableMasking }},
data__createdFromTemplate = '{{ createdFromTemplate }}',
data__cloudKmsKey = '{{ cloudKmsKey }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND productsId = '{{ productsId }}' --required
AND integrationsId = '{{ integrationsId }}' --required
AND versionsId = '{{ versionsId }}' --required
AND updateMask = '{{ updateMask}}'
RETURNING
name,
cloudKmsKey,
cloudLoggingDetails,
createTime,
createdFromTemplate,
databasePersistencePolicy,
description,
enableVariableMasking,
errorCatcherConfigs,
integrationConfigParameters,
integrationParameters,
integrationParametersInternal,
lastModifierEmail,
lockHolder,
origin,
parentTemplateId,
runAsServiceAccount,
snapshotNumber,
state,
status,
taskConfigs,
taskConfigsInternal,
teardown,
triggerConfigs,
triggerConfigsInternal,
updateTime,
userLabel;

DELETE examples

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

DELETE FROM google.integrations.versions
WHERE projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND productsId = '{{ productsId }}' --required
AND integrationsId = '{{ integrationsId }}' --required
AND versionsId = '{{ versionsId }}' --required;

Lifecycle Methods

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

EXEC google.integrations.versions.projects_locations_products_integrations_versions_publish 
@projectsId='{{ projectsId }}' --required,
@locationsId='{{ locationsId }}' --required,
@productsId='{{ productsId }}' --required,
@integrationsId='{{ integrationsId }}' --required,
@versionsId='{{ versionsId }}' --required
@@json=
'{
"configParameters": "{{ configParameters }}"
}';