aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
962 lines • 85.8 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* Creates an Amazon Q Business application.
*
* > There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see [Amazon Q Business tiers](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/tiers.html#user-sub-tiers) . You must use the Amazon Q Business console to assign subscription tiers to users.
*
* @cloudformationResource AWS::QBusiness::Application
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html
*/
export declare class CfnApplication extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnApplication from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApplication;
/**
* The Amazon Resource Name (ARN) of the Amazon Q Business application.
*
* @cloudformationAttribute ApplicationArn
*/
readonly attrApplicationArn: string;
/**
* The identifier for the Amazon Q Business application.
*
* @cloudformationAttribute ApplicationId
*/
readonly attrApplicationId: string;
/**
* The Unix timestamp when the Amazon Q Business application was created.
*
* @cloudformationAttribute CreatedAt
*/
readonly attrCreatedAt: string;
/**
* The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached to your Amazon Q Business application.
*
* @cloudformationAttribute IdentityCenterApplicationArn
*/
readonly attrIdentityCenterApplicationArn: string;
/**
* The status of the Amazon Q Business application. The application is ready to use when the status is `ACTIVE` .
*
* @cloudformationAttribute Status
*/
readonly attrStatus: string;
/**
* The Unix timestamp when the Amazon Q Business application was last updated.
*
* @cloudformationAttribute UpdatedAt
*/
readonly attrUpdatedAt: string;
/**
* Configuration information for the file upload during chat feature.
*/
attachmentsConfiguration?: CfnApplication.AttachmentsConfigurationProperty | cdk.IResolvable;
/**
* Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
*/
autoSubscriptionConfiguration?: CfnApplication.AutoSubscriptionConfigurationProperty | cdk.IResolvable;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
clientIdsForOidc?: Array<string>;
/**
* A description for the Amazon Q Business application.
*/
description?: string;
/**
* The name of the Amazon Q Business application.
*/
displayName: string;
/**
* Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business.
*/
encryptionConfiguration?: CfnApplication.EncryptionConfigurationProperty | cdk.IResolvable;
/**
* The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.
*/
iamIdentityProviderArn?: string;
/**
* The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
*/
identityCenterInstanceArn?: string;
/**
* The authentication type being used by a Amazon Q Business application.
*/
identityType?: string;
/**
* Configuration information about chat response personalization.
*/
personalizationConfiguration?: cdk.IResolvable | CfnApplication.PersonalizationConfigurationProperty;
/**
* Configuration information about Amazon Q Apps.
*/
qAppsConfiguration?: cdk.IResolvable | CfnApplication.QAppsConfigurationProperty;
/**
* The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
*/
roleArn?: string;
/**
* A list of key-value pairs that identify or categorize your Amazon Q Business application.
*/
tags?: Array<cdk.CfnTag>;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnApplicationProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnApplication {
/**
* Configuration information for the file upload during chat feature.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-attachmentsconfiguration.html
*/
interface AttachmentsConfigurationProperty {
/**
* Status information about whether file upload functionality is activated or deactivated for your end user.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-attachmentsconfiguration.html#cfn-qbusiness-application-attachmentsconfiguration-attachmentscontrolmode
*/
readonly attachmentsControlMode: string;
}
/**
* Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-autosubscriptionconfiguration.html
*/
interface AutoSubscriptionConfigurationProperty {
/**
* Describes whether automatic subscriptions are enabled for an Amazon Q Business application using IAM identity federation for user management.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-autosubscriptionconfiguration.html#cfn-qbusiness-application-autosubscriptionconfiguration-autosubscribe
*/
readonly autoSubscribe: string;
/**
* Describes the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.
*
* If the value for `autoSubscribe` is set to `ENABLED` you must select a value for this field.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-autosubscriptionconfiguration.html#cfn-qbusiness-application-autosubscriptionconfiguration-defaultsubscriptiontype
*/
readonly defaultSubscriptionType?: string;
}
/**
* Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business.
*
* Amazon Q Business doesn't support asymmetric keys.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-encryptionconfiguration.html
*/
interface EncryptionConfigurationProperty {
/**
* The identifier of the AWS KMS key.
*
* Amazon Q Business doesn't support asymmetric keys.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-encryptionconfiguration.html#cfn-qbusiness-application-encryptionconfiguration-kmskeyid
*/
readonly kmsKeyId?: string;
}
/**
* Configuration information about Amazon Q Apps.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-qappsconfiguration.html
*/
interface QAppsConfigurationProperty {
/**
* Status information about whether end users can create and use Amazon Q Apps in the web experience.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-qappsconfiguration.html#cfn-qbusiness-application-qappsconfiguration-qappscontrolmode
*/
readonly qAppsControlMode: string;
}
/**
* Configuration information about chat response personalization.
*
* For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-personalizationconfiguration.html
*/
interface PersonalizationConfigurationProperty {
/**
* An option to allow Amazon Q Business to customize chat responses using user specific metadata—specifically, location and job information—in your IAM Identity Center instance.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-personalizationconfiguration.html#cfn-qbusiness-application-personalizationconfiguration-personalizationcontrolmode
*/
readonly personalizationControlMode: string;
}
}
/**
* Properties for defining a `CfnApplication`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html
*/
export interface CfnApplicationProps {
/**
* Configuration information for the file upload during chat feature.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-attachmentsconfiguration
*/
readonly attachmentsConfiguration?: CfnApplication.AttachmentsConfigurationProperty | cdk.IResolvable;
/**
* Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-autosubscriptionconfiguration
*/
readonly autoSubscriptionConfiguration?: CfnApplication.AutoSubscriptionConfigurationProperty | cdk.IResolvable;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-clientidsforoidc
*/
readonly clientIdsForOidc?: Array<string>;
/**
* A description for the Amazon Q Business application.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-description
*/
readonly description?: string;
/**
* The name of the Amazon Q Business application.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-displayname
*/
readonly displayName: string;
/**
* Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business.
*
* Amazon Q Business doesn't support asymmetric keys.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-encryptionconfiguration
*/
readonly encryptionConfiguration?: CfnApplication.EncryptionConfigurationProperty | cdk.IResolvable;
/**
* The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-iamidentityproviderarn
*/
readonly iamIdentityProviderArn?: string;
/**
* The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
*
* *Required* : `Yes`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-identitycenterinstancearn
*/
readonly identityCenterInstanceArn?: string;
/**
* The authentication type being used by a Amazon Q Business application.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-identitytype
*/
readonly identityType?: string;
/**
* Configuration information about chat response personalization.
*
* For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-personalizationconfiguration
*/
readonly personalizationConfiguration?: cdk.IResolvable | CfnApplication.PersonalizationConfigurationProperty;
/**
* Configuration information about Amazon Q Apps.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-qappsconfiguration
*/
readonly qAppsConfiguration?: cdk.IResolvable | CfnApplication.QAppsConfigurationProperty;
/**
* The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
*
* If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-rolearn
*/
readonly roleArn?: string;
/**
* A list of key-value pairs that identify or categorize your Amazon Q Business application.
*
* You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Creates a data source connector for an Amazon Q Business application.
*
* `CreateDataSource` is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.
*
* @cloudformationResource AWS::QBusiness::DataSource
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html
*/
export declare class CfnDataSource extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDataSource from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDataSource;
/**
* The Unix timestamp when the Amazon Q Business data source was created.
*
* @cloudformationAttribute CreatedAt
*/
readonly attrCreatedAt: string;
/**
* The Amazon Resource Name (ARN) of a data source in an Amazon Q Business application.
*
* @cloudformationAttribute DataSourceArn
*/
readonly attrDataSourceArn: string;
/**
* The identifier of the Amazon Q Business data source.
*
* @cloudformationAttribute DataSourceId
*/
readonly attrDataSourceId: string;
/**
* The status of the Amazon Q Business data source.
*
* @cloudformationAttribute Status
*/
readonly attrStatus: string;
/**
* The type of the Amazon Q Business data source.
*
* @cloudformationAttribute Type
*/
readonly attrType: string;
/**
* The Unix timestamp when the Amazon Q Business data source was last updated.
*
* @cloudformationAttribute UpdatedAt
*/
readonly attrUpdatedAt: string;
/**
* The identifier of the Amazon Q Business application the data source will be attached to.
*/
applicationId: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business .
*/
configuration: any | cdk.IResolvable;
/**
* A description for the data source connector.
*/
description?: string;
/**
* The name of the Amazon Q Business data source.
*/
displayName: string;
/**
* Provides the configuration information for altering document metadata and content during the document ingestion process.
*/
documentEnrichmentConfiguration?: CfnDataSource.DocumentEnrichmentConfigurationProperty | cdk.IResolvable;
/**
* The identifier of the index the data source is attached to.
*/
indexId: string;
/**
* The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
*/
roleArn?: string;
/**
* Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index.
*/
syncSchedule?: string;
/**
* A list of key-value pairs that identify or categorize the data source connector.
*/
tags?: Array<cdk.CfnTag>;
/**
* Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source.
*/
vpcConfiguration?: CfnDataSource.DataSourceVpcConfigurationProperty | cdk.IResolvable;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnDataSourceProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnDataSource {
/**
* Provides the configuration information for altering document metadata and content during the document ingestion process.
*
* For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html
*/
interface DocumentEnrichmentConfigurationProperty {
/**
* Configuration information to alter document attributes or metadata fields and content when ingesting documents into Amazon Q Business.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html#cfn-qbusiness-datasource-documentenrichmentconfiguration-inlineconfigurations
*/
readonly inlineConfigurations?: Array<CfnDataSource.InlineDocumentEnrichmentConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Configuration information for invoking a Lambda function in AWS Lambda on the structured documents with their metadata and text extracted.
*
* You can use a Lambda function to apply advanced logic for creating, modifying, or deleting document metadata and content. For more information, see [Using Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html#cfn-qbusiness-datasource-documentenrichmentconfiguration-postextractionhookconfiguration
*/
readonly postExtractionHookConfiguration?: CfnDataSource.HookConfigurationProperty | cdk.IResolvable;
/**
* Configuration information for invoking a Lambda function in AWS Lambda on the original or raw documents before extracting their metadata and text.
*
* You can use a Lambda function to apply advanced logic for creating, modifying, or deleting document metadata and content. For more information, see [Using Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html#cfn-qbusiness-datasource-documentenrichmentconfiguration-preextractionhookconfiguration
*/
readonly preExtractionHookConfiguration?: CfnDataSource.HookConfigurationProperty | cdk.IResolvable;
}
/**
* Provides the configuration information for applying basic logic to alter document metadata and content when ingesting documents into Amazon Q Business.
*
* To apply advanced logic, to go beyond what you can do with basic logic, see [`HookConfiguration`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_HookConfiguration.html) .
*
* For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html
*/
interface InlineDocumentEnrichmentConfigurationProperty {
/**
* Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Q Business .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html#cfn-qbusiness-datasource-inlinedocumentenrichmentconfiguration-condition
*/
readonly condition?: CfnDataSource.DocumentAttributeConditionProperty | cdk.IResolvable;
/**
* `TRUE` to delete content if the condition used for the target attribute is met.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html#cfn-qbusiness-datasource-inlinedocumentenrichmentconfiguration-documentcontentoperator
*/
readonly documentContentOperator?: string;
/**
* Configuration of the target document attribute or metadata field when ingesting documents into Amazon Q Business .
*
* You can also include a value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html#cfn-qbusiness-datasource-inlinedocumentenrichmentconfiguration-target
*/
readonly target?: CfnDataSource.DocumentAttributeTargetProperty | cdk.IResolvable;
}
/**
* The condition used for the target document attribute or metadata field when ingesting documents into Amazon Q Business.
*
* You use this with [`DocumentAttributeTarget`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeTarget.html) to apply the condition.
*
* For example, you can create the 'Department' target field and have it prefill department names associated with the documents based on information in the 'Source_URI' field. Set the condition that if the 'Source_URI' field contains 'financial' in its URI value, then prefill the target field 'Department' with the target value 'Finance' for the document.
*
* Amazon Q Business can't create a target field if it has not already been created as an index field. After you create your index field, you can create a document metadata field using `DocumentAttributeTarget` . Amazon Q Business then will map your newly created metadata field to your index field.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html
*/
interface DocumentAttributeConditionProperty {
/**
* The identifier of the document attribute used for the condition.
*
* For example, 'Source_URI' could be an identifier for the attribute or metadata field that contains source URIs associated with the documents.
*
* Amazon Q Business currently doesn't support `_document_body` as an attribute key used for the condition.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html#cfn-qbusiness-datasource-documentattributecondition-key
*/
readonly key: string;
/**
* The identifier of the document attribute used for the condition.
*
* For example, 'Source_URI' could be an identifier for the attribute or metadata field that contains source URIs associated with the documents.
*
* Amazon Q Business currently does not support `_document_body` as an attribute key used for the condition.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html#cfn-qbusiness-datasource-documentattributecondition-operator
*/
readonly operator: string;
/**
* The value of a document attribute.
*
* You can only provide one value for a document attribute.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html#cfn-qbusiness-datasource-documentattributecondition-value
*/
readonly value?: CfnDataSource.DocumentAttributeValueProperty | cdk.IResolvable;
}
/**
* The value of a document attribute.
*
* You can only provide one value for a document attribute.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html
*/
interface DocumentAttributeValueProperty {
/**
* A date expressed as an ISO 8601 string.
*
* It's important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-datevalue
*/
readonly dateValue?: string;
/**
* A long integer value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-longvalue
*/
readonly longValue?: number;
/**
* A list of strings.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-stringlistvalue
*/
readonly stringListValue?: Array<string>;
/**
* A string.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-stringvalue
*/
readonly stringValue?: string;
}
/**
* The target document attribute or metadata field you want to alter when ingesting documents into Amazon Q Business.
*
* For example, you can delete all customer identification numbers associated with the documents, stored in the document metadata field called 'Customer_ID' by setting the target key as 'Customer_ID' and the deletion flag to `TRUE` . This removes all customer ID values in the field 'Customer_ID'. This would scrub personally identifiable information from each document's metadata.
*
* Amazon Q Business can't create a target field if it has not already been created as an index field. After you create your index field, you can create a document metadata field using [`DocumentAttributeTarget`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeTarget.html) . Amazon Q Business will then map your newly created document attribute to your index field.
*
* You can also use this with [`DocumentAttributeCondition`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeCondition.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html
*/
interface DocumentAttributeTargetProperty {
/**
* `TRUE` to delete the existing target value for your specified target attribute key.
*
* You cannot create a target value and set this to `TRUE` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html#cfn-qbusiness-datasource-documentattributetarget-attributevalueoperator
*/
readonly attributeValueOperator?: string;
/**
* The identifier of the target document attribute or metadata field.
*
* For example, 'Department' could be an identifier for the target attribute or metadata field that includes the department names associated with the documents.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html#cfn-qbusiness-datasource-documentattributetarget-key
*/
readonly key: string;
/**
* The value of a document attribute.
*
* You can only provide one value for a document attribute.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html#cfn-qbusiness-datasource-documentattributetarget-value
*/
readonly value?: CfnDataSource.DocumentAttributeValueProperty | cdk.IResolvable;
}
/**
* Provides the configuration information for invoking a Lambda function in AWS Lambda to alter document metadata and content when ingesting documents into Amazon Q Business.
*
* You can configure your Lambda function using the `PreExtractionHookConfiguration` parameter if you want to apply advanced alterations on the original or raw documents.
*
* If you want to apply advanced alterations on the Amazon Q Business structured documents, you must configure your Lambda function using `PostExtractionHookConfiguration` .
*
* You can only invoke one Lambda function. However, this function can invoke other functions it requires.
*
* For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html
*/
interface HookConfigurationProperty {
/**
* The condition used for when a Lambda function should be invoked.
*
* For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-invocationcondition
*/
readonly invocationCondition?: CfnDataSource.DocumentAttributeConditionProperty | cdk.IResolvable;
/**
* The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion.
*
* For more information, see [IAM roles for Custom Document Enrichment (CDE)](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-lambdaarn
*/
readonly lambdaArn?: string;
/**
* The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-rolearn
*/
readonly roleArn?: string;
/**
* Stores the original, raw documents or the structured, parsed documents before and after altering them.
*
* For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-s3bucketname
*/
readonly s3BucketName?: string;
}
/**
* Provides configuration information needed to connect to an Amazon VPC (Virtual Private Cloud).
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-datasourcevpcconfiguration.html
*/
interface DataSourceVpcConfigurationProperty {
/**
* A list of identifiers of security groups within your Amazon VPC.
*
* The security groups should enable Amazon Q Business to connect to the data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-datasourcevpcconfiguration.html#cfn-qbusiness-datasource-datasourcevpcconfiguration-securitygroupids
*/
readonly securityGroupIds: Array<string>;
/**
* A list of identifiers for subnets within your Amazon VPC.
*
* The subnets should be able to connect to each other in the VPC, and they should have outgoing access to the Internet through a NAT device.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-datasourcevpcconfiguration.html#cfn-qbusiness-datasource-datasourcevpcconfiguration-subnetids
*/
readonly subnetIds: Array<string>;
}
}
/**
* Properties for defining a `CfnDataSource`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html
*/
export interface CfnDataSourceProps {
/**
* The identifier of the Amazon Q Business application the data source will be attached to.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-applicationid
*/
readonly applicationId: string;
/**
* Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business .
*
* You must use the JSON or YAML schema provided by Amazon Q .
*
* You can find configuration templates for your specific data source using the following steps:
*
* - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.
* - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-configuration
*/
readonly configuration: any | cdk.IResolvable;
/**
* A description for the data source connector.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-description
*/
readonly description?: string;
/**
* The name of the Amazon Q Business data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-displayname
*/
readonly displayName: string;
/**
* Provides the configuration information for altering document metadata and content during the document ingestion process.
*
* For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-documentenrichmentconfiguration
*/
readonly documentEnrichmentConfiguration?: CfnDataSource.DocumentEnrichmentConfigurationProperty | cdk.IResolvable;
/**
* The identifier of the index the data source is attached to.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-indexid
*/
readonly indexId: string;
/**
* The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-rolearn
*/
readonly roleArn?: string;
/**
* Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index.
*
* If you don't set a schedule, Amazon Q Business won't periodically update the index.
*
* Specify a `cron-` format schedule string or an empty string to indicate that the index is updated on demand. You can't specify the `Schedule` parameter when the `Type` parameter is set to `CUSTOM` . If you do, you receive a `ValidationException` exception.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-syncschedule
*/
readonly syncSchedule?: string;
/**
* A list of key-value pairs that identify or categorize the data source connector.
*
* You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source.
*
* For more information, see [Using Amazon VPC with Amazon Q Business connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connector-vpc.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-vpcconfiguration
*/
readonly vpcConfiguration?: CfnDataSource.DataSourceVpcConfigurationProperty | cdk.IResolvable;
}
/**
* Creates an Amazon Q Business index.
*
* To determine if index creation has completed, check the `Status` field returned from a call to `DescribeIndex` . The `Status` field is set to `ACTIVE` when the index is ready to use.
*
* Once the index is active, you can index your documents using the [`BatchPutDocument`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_BatchPutDocument.html) API or the [`CreateDataSource`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_CreateDataSource.html) API.
*
* @cloudformationResource AWS::QBusiness::Index
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html
*/
export declare class CfnIndex extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnIndex from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnIndex;
/**
* The Unix timestamp when the index was created.
*
* @cloudformationAttribute CreatedAt
*/
readonly attrCreatedAt: string;
/**
* The Amazon Resource Name (ARN) of an Amazon Q Business index.
*
* @cloudformationAttribute IndexArn
*/
readonly attrIndexArn: string;
/**
* The identifier for the index.
*
* @cloudformationAttribute IndexId
*/
readonly attrIndexId: string;
/**
* @cloudformationAttribute IndexStatistics
*/
readonly attrIndexStatistics: cdk.IResolvable;
/**
* The current status of the index. When the status is `ACTIVE` , the index is ready.
*
* @cloudformationAttribute Status
*/
readonly attrStatus: string;
/**
* The Unix timestamp when the index was last updated.
*
* @cloudformationAttribute UpdatedAt
*/
readonly attrUpdatedAt: string;
/**
* The identifier of the Amazon Q Business application using the index.
*/
applicationId: string;
/**
* The capacity units you want to provision for your index.
*/
capacityConfiguration?: CfnIndex.IndexCapacityConfigurationProperty | cdk.IResolvable;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* A description for the Amazon Q Business index.
*/
description?: string;
/**
* The name of the index.
*/
displayName: string;
/**
* Configuration information for document attributes.
*/
documentAttributeConfigurations?: Array<CfnIndex.DocumentAttributeConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* A list of key-value pairs that identify or categorize the index.
*/
tags?: Array<cdk.CfnTag>;
/**
* The index type that's suitable for your needs.
*/
type?: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnIndexProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnIndex {
/**
* Provides information about index capacity configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexcapacityconfiguration.html
*/
interface IndexCapacityConfigurationProperty {
/**
* The number of storage units configured for an Amazon Q Business index.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexcapacityconfiguration.html#cfn-qbusiness-index-indexcapacityconfiguration-units
*/
readonly units?: number;
}
/**
* Configuration information for document attributes.
*
* Document attributes are metadata or fields associated with your documents. For example, the company department name associated with each document.
*
* For more information, see [Understanding document attributes](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/doc-attributes.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html
*/
interface DocumentAttributeConfigurationProperty {
/**
* The name of the document attribute.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html#cfn-qbusiness-index-documentattributeconfiguration-name
*/
readonly name?: string;
/**
* Information about whether the document attribute can be used by an end user to search for information on their web experience.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html#cfn-qbusiness-index-documentattributeconfiguration-search
*/
readonly search?: string;
/**
* The type of document attribute.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html#cfn-qbusiness-index-documentattributeconfiguration-type
*/
readonly type?: string;
}
/**
* Provides information about the number of documents in an index.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexstatistics.html
*/
interface IndexStatisticsProperty {
/**
* The number of documents indexed.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexstatistics.html#cfn-qbusiness-index-indexstatistics-textdocumentstatistics
*/
readonly textDocumentStatistics?: cdk.IResolvable | CfnIndex.TextDocumentStatisticsProperty;
}
/**
* Provides information about text documents in an index.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-textdocumentstatistics.html
*/
interface TextDocumentStatisticsProperty {
/**
* The total size, in bytes, of the indexed documents.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/lates