Data Source Args
Resource for managing an AWS Kendra Data Source.
Example Usage
Basic Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.description("example")
.languageCode("en")
.type("CUSTOM")
.tags(Map.of("hello", "world"))
.build());
}
}
With Schedule
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("S3")
.roleArn(aws_iam_role.example().arn())
.schedule("cron(9 10 1 * ? *)")
.configuration(DataSourceConfigurationArgs.builder()
.s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()
.bucketName(aws_s3_bucket.example().id())
.build())
.build())
.build());
}
}
With Access Control List
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("S3")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()
.accessControlListConfiguration(DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs.builder()
.keyPath(String.format("s3://%s/path-1", aws_s3_bucket.example().id()))
.build())
.bucketName(aws_s3_bucket.example().id())
.build())
.build())
.build());
}
}
With Documents Metadata Configuration
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("S3")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()
.bucketName(aws_s3_bucket.example().id())
.s3Prefix("example")
.exclusionPatterns("example")
.inclusionPatterns("hello")
.inclusionPrefixes("world")
.build())
.build())
.build());
}
}
With Seed URLs
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build());
}
}
With Site Maps
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.siteMapsConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs.builder()
.siteMaps("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build());
}
}
With Web Crawler Mode
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.webCrawlerMode("SUBDOMAINS")
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build());
}
}
With Authentication Configuration
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.authenticationConfiguration(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs.builder()
.basicAuthentications(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs.builder()
.credentials(aws_secretsmanager_secret.example().arn())
.host("a.example.com")
.port("443")
.build())
.build())
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(aws_secretsmanager_secret_version.example())
.build());
}
}
With Crawl Depth
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.crawlDepth(3)
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build());
}
}
With Max Links Per Page
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.maxLinksPerPage(100)
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build());
}
}
With Max Urls Per Minute Crawl Rate
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.maxUrlsPerMinuteCrawlRate(300)
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build());
}
}
With Proxy Configuration
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.proxyConfiguration(DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs.builder()
.credentials(aws_secretsmanager_secret.example().arn())
.host("a.example.com")
.port("443")
.build())
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(aws_secretsmanager_secret_version.example())
.build());
}
}
With URL Exclusion and Inclusion Patterns
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.DataSource;
import com.pulumi.aws.kendra.DataSourceArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DataSource("example", DataSourceArgs.builder()
.indexId(aws_kendra_index.example().id())
.type("WEBCRAWLER")
.roleArn(aws_iam_role.example().arn())
.configuration(DataSourceConfigurationArgs.builder()
.webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
.urlExclusionPatterns("example")
.urlInclusionPatterns("hello")
.urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
.seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
.seedUrls("REPLACE_WITH_YOUR_URL")
.build())
.build())
.build())
.build())
.build());
}
}
Import
Kendra Data Source can be imported using the unique identifiers of the data_source and index separated by a slash (/
) e.g.,
$ pulumi import aws:kendra/dataSource:DataSource example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f
Constructors
Properties
A block with the configuration information to connect to your Data Source repository. You can't specify the configuration
argument when the type
parameter is set to CUSTOM
. Detailed below.
A block with the configuration information for altering document metadata and content during the document ingestion process. For more information on how to create, modify and delete document metadata, or make other content alterations when you ingest documents into Amazon Kendra, see Customizing document metadata during the ingestion process. Detailed below.
A description for the Data Source connector.
The code for a language. This allows you to support a language for all documents when creating the Data Source connector. English is supported by default. For more information on supported languages, including their codes, see Adding documents in languages other than English.
The Amazon Resource Name (ARN) of a role with permission to access the data source connector. For more information, see IAM roles for Amazon Kendra. You can't specify the role_arn
parameter when the type
parameter is set to CUSTOM
. The role_arn
parameter is required for all other data sources.
The type of data source repository. For an updated list of values, refer to Valid Values for Type. The following arguments are optional: