Connecting Amazon Q Business to Google Drive using AWS CloudFormation
You use the AWS::QBusiness::DataSource
resource to connect a data source to
your Amazon Q application.
Use the configuration
property to provide a JSON or YAML schema with the necessary
configuration details specific to your data source connector.
To learn more about AWS CloudFormation, see What is AWS CloudFormation? in the AWS CloudFormation User Guide.
Google Drive New AWS CloudFormation template
The following is the Google Drive New AWS CloudFormation template. Copy and save this template to a file on your local drive.
For more information about AWS CloudFormation templates, see Working with AWS CloudFormation templates in the AWS CloudFormation User Guide.
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Template to connect Google Drive New to Amazon Q Business", "Parameters": { "ApplicationId": { "Type": "String", "Description": "Amazon Q Business Application ID" }, "IndexId": { "Type": "String", "Description": "Amazon Q Business Index ID" }, "DataSourceName": { "Type": "String", "Description": "Name for the Google Drive data source" }, "RoleArn": { "Type": "String", "Description": "IAM Role ARN for the data source" }, "SecretArn": { "Type": "String", "Description": "AWS Secrets Manager ARN containing Google Drive credentials" } }, "Resources": { "GoogleDriveV3DataSource": { "Type": "AWS::QBusiness::DataSource", "Properties": { "ApplicationId": {"Ref": "ApplicationId"}, "IndexId": {"Ref": "IndexId"}, "DisplayName": {"Ref": "DataSourceName"}, "RoleArn": {"Ref": "RoleArn"}, "Configuration": { "type": "GOOGLEDRIVEV3", "connectionConfiguration": { "secretArn": {"Ref": "SecretArn"}, "authType": "SERVICE_ACCOUNT" }, "dataEntityConfiguration": { "crawlMyDrive": true, "crawlSharedWithMe": true, "crawlSharedDrives": false }, "accessControlConfiguration": { "crawlAcl": true }, "filterConfiguration": { "maxFileSizeInMegaBytes": "50" }, "crawlIdentities": false, "deletionProtectionConfiguration": { "enableDeletionProtection": true, "deletionProtectionThreshold": "15" } } } } } }