Interface ICfnDataSourceProps
Properties for defining a CfnDataSource
.
Namespace: Amazon.CDK.AWS.Kendra
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface ICfnDataSourceProps
Syntax (vb)
Public Interface ICfnDataSourceProps
Remarks
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Kendra;
var cfnDataSourceProps = new CfnDataSourceProps {
IndexId = "indexId",
Name = "name",
Type = "type",
// the properties below are optional
CustomDocumentEnrichmentConfiguration = new CustomDocumentEnrichmentConfigurationProperty {
InlineConfigurations = new [] { new InlineCustomDocumentEnrichmentConfigurationProperty {
Condition = new DocumentAttributeConditionProperty {
ConditionDocumentAttributeKey = "conditionDocumentAttributeKey",
Operator = "operator",
// the properties below are optional
ConditionOnValue = new DocumentAttributeValueProperty {
DateValue = "dateValue",
LongValue = 123,
StringListValue = new [] { "stringListValue" },
StringValue = "stringValue"
}
},
DocumentContentDeletion = false,
Target = new DocumentAttributeTargetProperty {
TargetDocumentAttributeKey = "targetDocumentAttributeKey",
// the properties below are optional
TargetDocumentAttributeValue = new DocumentAttributeValueProperty {
DateValue = "dateValue",
LongValue = 123,
StringListValue = new [] { "stringListValue" },
StringValue = "stringValue"
},
TargetDocumentAttributeValueDeletion = false
}
} },
PostExtractionHookConfiguration = new HookConfigurationProperty {
LambdaArn = "lambdaArn",
S3Bucket = "s3Bucket",
// the properties below are optional
InvocationCondition = new DocumentAttributeConditionProperty {
ConditionDocumentAttributeKey = "conditionDocumentAttributeKey",
Operator = "operator",
// the properties below are optional
ConditionOnValue = new DocumentAttributeValueProperty {
DateValue = "dateValue",
LongValue = 123,
StringListValue = new [] { "stringListValue" },
StringValue = "stringValue"
}
}
},
PreExtractionHookConfiguration = new HookConfigurationProperty {
LambdaArn = "lambdaArn",
S3Bucket = "s3Bucket",
// the properties below are optional
InvocationCondition = new DocumentAttributeConditionProperty {
ConditionDocumentAttributeKey = "conditionDocumentAttributeKey",
Operator = "operator",
// the properties below are optional
ConditionOnValue = new DocumentAttributeValueProperty {
DateValue = "dateValue",
LongValue = 123,
StringListValue = new [] { "stringListValue" },
StringValue = "stringValue"
}
}
},
RoleArn = "roleArn"
},
DataSourceConfiguration = new DataSourceConfigurationProperty {
ConfluenceConfiguration = new ConfluenceConfigurationProperty {
SecretArn = "secretArn",
ServerUrl = "serverUrl",
Version = "version",
// the properties below are optional
AttachmentConfiguration = new ConfluenceAttachmentConfigurationProperty {
AttachmentFieldMappings = new [] { new ConfluenceAttachmentToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
CrawlAttachments = false
},
BlogConfiguration = new ConfluenceBlogConfigurationProperty {
BlogFieldMappings = new [] { new ConfluenceBlogToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
},
ExclusionPatterns = new [] { "exclusionPatterns" },
InclusionPatterns = new [] { "inclusionPatterns" },
PageConfiguration = new ConfluencePageConfigurationProperty {
PageFieldMappings = new [] { new ConfluencePageToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
},
SpaceConfiguration = new ConfluenceSpaceConfigurationProperty {
CrawlArchivedSpaces = false,
CrawlPersonalSpaces = false,
ExcludeSpaces = new [] { "excludeSpaces" },
IncludeSpaces = new [] { "includeSpaces" },
SpaceFieldMappings = new [] { new ConfluenceSpaceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
},
VpcConfiguration = new DataSourceVpcConfigurationProperty {
SecurityGroupIds = new [] { "securityGroupIds" },
SubnetIds = new [] { "subnetIds" }
}
},
DatabaseConfiguration = new DatabaseConfigurationProperty {
ColumnConfiguration = new ColumnConfigurationProperty {
ChangeDetectingColumns = new [] { "changeDetectingColumns" },
DocumentDataColumnName = "documentDataColumnName",
DocumentIdColumnName = "documentIdColumnName",
// the properties below are optional
DocumentTitleColumnName = "documentTitleColumnName",
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
},
ConnectionConfiguration = new ConnectionConfigurationProperty {
DatabaseHost = "databaseHost",
DatabaseName = "databaseName",
DatabasePort = 123,
SecretArn = "secretArn",
TableName = "tableName"
},
DatabaseEngineType = "databaseEngineType",
// the properties below are optional
AclConfiguration = new AclConfigurationProperty {
AllowedGroupsColumnName = "allowedGroupsColumnName"
},
SqlConfiguration = new SqlConfigurationProperty {
QueryIdentifiersEnclosingOption = "queryIdentifiersEnclosingOption"
},
VpcConfiguration = new DataSourceVpcConfigurationProperty {
SecurityGroupIds = new [] { "securityGroupIds" },
SubnetIds = new [] { "subnetIds" }
}
},
GoogleDriveConfiguration = new GoogleDriveConfigurationProperty {
SecretArn = "secretArn",
// the properties below are optional
ExcludeMimeTypes = new [] { "excludeMimeTypes" },
ExcludeSharedDrives = new [] { "excludeSharedDrives" },
ExcludeUserAccounts = new [] { "excludeUserAccounts" },
ExclusionPatterns = new [] { "exclusionPatterns" },
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
InclusionPatterns = new [] { "inclusionPatterns" }
},
OneDriveConfiguration = new OneDriveConfigurationProperty {
OneDriveUsers = new OneDriveUsersProperty {
OneDriveUserList = new [] { "oneDriveUserList" },
OneDriveUserS3Path = new S3PathProperty {
Bucket = "bucket",
Key = "key"
}
},
SecretArn = "secretArn",
TenantDomain = "tenantDomain",
// the properties below are optional
DisableLocalGroups = false,
ExclusionPatterns = new [] { "exclusionPatterns" },
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
InclusionPatterns = new [] { "inclusionPatterns" }
},
S3Configuration = new S3DataSourceConfigurationProperty {
BucketName = "bucketName",
// the properties below are optional
AccessControlListConfiguration = new AccessControlListConfigurationProperty {
KeyPath = "keyPath"
},
DocumentsMetadataConfiguration = new DocumentsMetadataConfigurationProperty {
S3Prefix = "s3Prefix"
},
ExclusionPatterns = new [] { "exclusionPatterns" },
InclusionPatterns = new [] { "inclusionPatterns" },
InclusionPrefixes = new [] { "inclusionPrefixes" }
},
SalesforceConfiguration = new SalesforceConfigurationProperty {
SecretArn = "secretArn",
ServerUrl = "serverUrl",
// the properties below are optional
ChatterFeedConfiguration = new SalesforceChatterFeedConfigurationProperty {
DocumentDataFieldName = "documentDataFieldName",
// the properties below are optional
DocumentTitleFieldName = "documentTitleFieldName",
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
IncludeFilterTypes = new [] { "includeFilterTypes" }
},
CrawlAttachments = false,
ExcludeAttachmentFilePatterns = new [] { "excludeAttachmentFilePatterns" },
IncludeAttachmentFilePatterns = new [] { "includeAttachmentFilePatterns" },
KnowledgeArticleConfiguration = new SalesforceKnowledgeArticleConfigurationProperty {
IncludedStates = new [] { "includedStates" },
// the properties below are optional
CustomKnowledgeArticleTypeConfigurations = new [] { new SalesforceCustomKnowledgeArticleTypeConfigurationProperty {
DocumentDataFieldName = "documentDataFieldName",
Name = "name",
// the properties below are optional
DocumentTitleFieldName = "documentTitleFieldName",
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
} },
StandardKnowledgeArticleTypeConfiguration = new SalesforceStandardKnowledgeArticleTypeConfigurationProperty {
DocumentDataFieldName = "documentDataFieldName",
// the properties below are optional
DocumentTitleFieldName = "documentTitleFieldName",
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
}
},
StandardObjectAttachmentConfiguration = new SalesforceStandardObjectAttachmentConfigurationProperty {
DocumentTitleFieldName = "documentTitleFieldName",
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
},
StandardObjectConfigurations = new [] { new SalesforceStandardObjectConfigurationProperty {
DocumentDataFieldName = "documentDataFieldName",
Name = "name",
// the properties below are optional
DocumentTitleFieldName = "documentTitleFieldName",
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} }
} }
},
ServiceNowConfiguration = new ServiceNowConfigurationProperty {
HostUrl = "hostUrl",
SecretArn = "secretArn",
ServiceNowBuildVersion = "serviceNowBuildVersion",
// the properties below are optional
AuthenticationType = "authenticationType",
KnowledgeArticleConfiguration = new ServiceNowKnowledgeArticleConfigurationProperty {
DocumentDataFieldName = "documentDataFieldName",
// the properties below are optional
CrawlAttachments = false,
DocumentTitleFieldName = "documentTitleFieldName",
ExcludeAttachmentFilePatterns = new [] { "excludeAttachmentFilePatterns" },
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
FilterQuery = "filterQuery",
IncludeAttachmentFilePatterns = new [] { "includeAttachmentFilePatterns" }
},
ServiceCatalogConfiguration = new ServiceNowServiceCatalogConfigurationProperty {
DocumentDataFieldName = "documentDataFieldName",
// the properties below are optional
CrawlAttachments = false,
DocumentTitleFieldName = "documentTitleFieldName",
ExcludeAttachmentFilePatterns = new [] { "excludeAttachmentFilePatterns" },
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
IncludeAttachmentFilePatterns = new [] { "includeAttachmentFilePatterns" }
}
},
SharePointConfiguration = new SharePointConfigurationProperty {
SecretArn = "secretArn",
SharePointVersion = "sharePointVersion",
Urls = new [] { "urls" },
// the properties below are optional
CrawlAttachments = false,
DisableLocalGroups = false,
DocumentTitleFieldName = "documentTitleFieldName",
ExclusionPatterns = new [] { "exclusionPatterns" },
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
InclusionPatterns = new [] { "inclusionPatterns" },
SslCertificateS3Path = new S3PathProperty {
Bucket = "bucket",
Key = "key"
},
UseChangeLog = false,
VpcConfiguration = new DataSourceVpcConfigurationProperty {
SecurityGroupIds = new [] { "securityGroupIds" },
SubnetIds = new [] { "subnetIds" }
}
},
TemplateConfiguration = new TemplateConfigurationProperty {
Template = "template"
},
WebCrawlerConfiguration = new WebCrawlerConfigurationProperty {
Urls = new WebCrawlerUrlsProperty {
SeedUrlConfiguration = new WebCrawlerSeedUrlConfigurationProperty {
SeedUrls = new [] { "seedUrls" },
// the properties below are optional
WebCrawlerMode = "webCrawlerMode"
},
SiteMapsConfiguration = new WebCrawlerSiteMapsConfigurationProperty {
SiteMaps = new [] { "siteMaps" }
}
},
// the properties below are optional
AuthenticationConfiguration = new WebCrawlerAuthenticationConfigurationProperty {
BasicAuthentication = new [] { new WebCrawlerBasicAuthenticationProperty {
Credentials = "credentials",
Host = "host",
Port = 123
} }
},
CrawlDepth = 123,
MaxContentSizePerPageInMegaBytes = 123,
MaxLinksPerPage = 123,
MaxUrlsPerMinuteCrawlRate = 123,
ProxyConfiguration = new ProxyConfigurationProperty {
Host = "host",
Port = 123,
// the properties below are optional
Credentials = "credentials"
},
UrlExclusionPatterns = new [] { "urlExclusionPatterns" },
UrlInclusionPatterns = new [] { "urlInclusionPatterns" }
},
WorkDocsConfiguration = new WorkDocsConfigurationProperty {
OrganizationId = "organizationId",
// the properties below are optional
CrawlComments = false,
ExclusionPatterns = new [] { "exclusionPatterns" },
FieldMappings = new [] { new DataSourceToIndexFieldMappingProperty {
DataSourceFieldName = "dataSourceFieldName",
IndexFieldName = "indexFieldName",
// the properties below are optional
DateFieldFormat = "dateFieldFormat"
} },
InclusionPatterns = new [] { "inclusionPatterns" },
UseChangeLog = false
}
},
Description = "description",
LanguageCode = "languageCode",
RoleArn = "roleArn",
Schedule = "schedule",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
};
Synopsis
Properties
CustomDocumentEnrichmentConfiguration | Configuration information for altering document metadata and content during the document ingestion process. |
DataSourceConfiguration | Configuration information for an Amazon Kendra data source. |
Description | A description for the data source connector. |
IndexId | The identifier of the index you want to use with the data source connector. |
LanguageCode | The code for a language. |
Name | The name of the data source. |
RoleArn | The Amazon Resource Name (ARN) of a role with permission to access the data source. |
Schedule | Sets the frequency that Amazon Kendra checks the documents in your data source and updates the index. |
Tags | An array of key-value pairs to apply to this resource. |
Type | The type of the data source. |
Properties
CustomDocumentEnrichmentConfiguration
Configuration information for altering document metadata and content during the document ingestion process.
virtual object CustomDocumentEnrichmentConfiguration { get; }
Property Value
System.Object
Remarks
DataSourceConfiguration
Configuration information for an Amazon Kendra data source.
virtual object DataSourceConfiguration { get; }
Property Value
System.Object
Remarks
The contents of the configuration depend on the type of data source. You can only specify one type of data source in the configuration.
You can't specify the Configuration
parameter when the Type
parameter is set to CUSTOM
.
The Configuration
parameter is required for all other data sources.
Description
A description for the data source connector.
virtual string Description { get; }
Property Value
System.String
Remarks
IndexId
The identifier of the index you want to use with the data source connector.
string IndexId { get; }
Property Value
System.String
Remarks
LanguageCode
The code for a language.
virtual string LanguageCode { get; }
Property Value
System.String
Remarks
This shows a supported language for all documents in the data source. English is supported by default. For more information on supported languages, including their codes, see Adding documents in languages other than English .
Name
The name of the data source.
string Name { get; }
Property Value
System.String
Remarks
RoleArn
The Amazon Resource Name (ARN) of a role with permission to access the data source.
virtual string RoleArn { get; }
Property Value
System.String
Remarks
You can't specify the RoleArn
parameter when the Type
parameter is set to CUSTOM
.
The RoleArn
parameter is required for all other data sources.
Schedule
Sets the frequency that Amazon Kendra checks the documents in your data source and updates the index.
virtual string Schedule { get; }
Property Value
System.String
Remarks
If you don't set a schedule, Amazon Kendra doesn't periodically update the index.
Tags
An array of key-value pairs to apply to this resource.
virtual ICfnTag[] Tags { get; }
Property Value
ICfnTag[]
Remarks
For more information, see Tag .
Type
The type of the data source.
string Type { get; }
Property Value
System.String