Class DataSource


  • public class DataSource
    extends com.pulumi.resources.CustomResource
    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.ArrayList;
     import java.util.Arrays;
     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(exampleAwsKendraIndex.id())
                 .name("example")
                 .description("example")
                 .languageCode("en")
                 .type("CUSTOM")
                 .tags(Map.of("hello", "world"))
                 .build());
     
         }
     }
     
     
    ### S3 Connector ### 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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()
                         .bucketName(exampleAwsS3Bucket.id())
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("S3")
                 .roleArn(exampleAwsIamRole.arn())
                 .schedule("cron(9 10 1 * ? *)")
                 .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()
                         .accessControlListConfiguration(DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs.builder()
                             .keyPath(String.format("s3://%s/path-1", exampleAwsS3Bucket.id()))
                             .build())
                         .bucketName(exampleAwsS3Bucket.id())
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("S3")
                 .roleArn(exampleAwsIamRole.arn())
                 .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 com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()
                         .documentsMetadataConfiguration(DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs.builder()
                             .s3Prefix("example")
                             .build())
                         .bucketName(exampleAwsS3Bucket.id())
                         .exclusionPatterns("example")
                         .inclusionPatterns("hello")
                         .inclusionPrefixes("world")
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("S3")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ### Web Crawler Connector ### 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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .siteMapsConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs.builder()
                                 .siteMaps("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .webCrawlerMode("SUBDOMAINS")
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .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.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs;
     import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;
     import com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .authenticationConfiguration(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs.builder()
                             .basicAuthentications(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs.builder()
                                 .credentials(exampleAwsSecretsmanagerSecret.arn())
                                 .host("a.example.com")
                                 .port(443)
                                 .build())
                             .build())
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(exampleAwsSecretsmanagerSecretVersion)
                     .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .crawlDepth(3)
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .maxLinksPerPage(100)
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .maxUrlsPerMinuteCrawlRate(300)
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .proxyConfiguration(DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs.builder()
                             .credentials(exampleAwsSecretsmanagerSecret.arn())
                             .host("a.example.com")
                             .port(443)
                             .build())
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(exampleAwsSecretsmanagerSecretVersion)
                     .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.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()
                         .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()
                             .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()
                                 .seedUrls("REPLACE_WITH_YOUR_URL")
                                 .build())
                             .build())
                         .urlExclusionPatterns("example")
                         .urlInclusionPatterns("hello")
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("WEBCRAWLER")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ### With `WEBCRAWLERV2` Template
     
     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.DataSourceConfigurationTemplateConfigurationArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import java.util.ArrayList;
     import java.util.Arrays;
     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()
                 .configuration(DataSourceConfigurationArgs.builder()
                     .templateConfiguration(DataSourceConfigurationTemplateConfigurationArgs.builder()
                         .template(serializeJson(
                             jsonObject(
                                 jsonProperty("connectionConfiguration", jsonObject(
                                     jsonProperty("repositoryEndpointMetadata", jsonObject(
                                         jsonProperty("seedUrlConnections", jsonArray(jsonObject(
                                             jsonProperty("seedUrl", "https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kendra_index")
                                         )))
                                     ))
                                 )),
                                 jsonProperty("additionalProperties", jsonObject(
                                     jsonProperty("inclusionURLIndexPatterns", jsonArray("https:\\/\\/registry[.]terraform[.]io\\/providers\\/hashicorp\\/aws\\/latest\\/docs\\/resources\\/kendra_index"))
                                 )),
                                 jsonProperty("version", "1.0.0"),
                                 jsonProperty("syncMode", "FULL_CRAWL"),
                                 jsonProperty("type", "WEBCRAWLERV2")
                             )))
                         .build())
                     .build())
                 .indexId(exampleAwsKendraIndex.id())
                 .name("example")
                 .type("TEMPLATE")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import Kendra Data Source using the unique identifiers of the dataSource and index separated by a slash (`/`). For example: ```sh $ pulumi import aws:kendra/dataSource:DataSource example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.util.Optional<DataSourceConfiguration>> configuration()  
      com.pulumi.core.Output<java.lang.String> createdAt()  
      com.pulumi.core.Output<java.util.Optional<DataSourceCustomDocumentEnrichmentConfiguration>> customDocumentEnrichmentConfiguration()  
      com.pulumi.core.Output<java.lang.String> dataSourceId()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()  
      com.pulumi.core.Output<java.lang.String> errorMessage()  
      static DataSource get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DataSourceState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.lang.String> indexId()  
      com.pulumi.core.Output<java.lang.String> languageCode()  
      com.pulumi.core.Output<java.lang.String> name()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> roleArn()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> schedule()  
      com.pulumi.core.Output<java.lang.String> status()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      com.pulumi.core.Output<java.lang.String> type()  
      com.pulumi.core.Output<java.lang.String> updatedAt()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DataSource

        public DataSource​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • DataSource

        public DataSource​(java.lang.String name,
                          DataSourceArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • DataSource

        public DataSource​(java.lang.String name,
                          DataSourceArgs args,
                          @Nullable
                          com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the Data Source.
      • configuration

        public com.pulumi.core.Output<java.util.Optional<DataSourceConfiguration>> configuration()
        Returns:
        Configuration information to connect to your Data Source repository. You can't specify the `configuration` block when the `type` parameter is set to `CUSTOM`. Detailed below.
      • createdAt

        public com.pulumi.core.Output<java.lang.String> createdAt()
        Returns:
        Unix time stamp of when the Data Source was created.
      • customDocumentEnrichmentConfiguration

        public com.pulumi.core.Output<java.util.Optional<DataSourceCustomDocumentEnrichmentConfiguration>> customDocumentEnrichmentConfiguration()
        Returns:
        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](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). Detailed below.
      • dataSourceId

        public com.pulumi.core.Output<java.lang.String> dataSourceId()
        Returns:
        Unique identifiers of the Data Source.
      • description

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
        Returns:
        Description for the Data Source connector.
      • errorMessage

        public com.pulumi.core.Output<java.lang.String> errorMessage()
        Returns:
        When the Status field value is `FAILED`, contains a description of the error that caused the Data Source to fail.
      • indexId

        public com.pulumi.core.Output<java.lang.String> indexId()
        Returns:
        Identifier of the index for your Amazon Kendra data source.
      • languageCode

        public com.pulumi.core.Output<java.lang.String> languageCode()
        Returns:
        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](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html).
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Name for your data source connector.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • roleArn

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> roleArn()
        Returns:
        ARN of a role with permission to access the data source connector. For more information, see [IAM roles for Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html). 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

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> schedule()
        Returns:
        Sets the frequency for Amazon Kendra to check the documents in your Data Source repository and update the index. If you don't set a schedule Amazon Kendra will not periodically update the index. You can call the `StartDataSourceSyncJob` API to update the index.
      • status

        public com.pulumi.core.Output<java.lang.String> status()
        Returns:
        Current status of the Data Source. When the status is `ACTIVE` the Data Source is ready to use. When the status is `FAILED`, the `errorMessage` field contains the reason that the Data Source failed.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • type

        public com.pulumi.core.Output<java.lang.String> type()
        Returns:
        Type of data source repository. For an updated list of values, refer to [Valid Values for Type](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html#Kendra-CreateDataSource-request-Type). The following arguments are optional:
      • updatedAt

        public com.pulumi.core.Output<java.lang.String> updatedAt()
        Returns:
        Unix time stamp of when the Data Source was last updated.
      • get

        public static DataSource get​(java.lang.String name,
                                     com.pulumi.core.Output<java.lang.String> id,
                                     @Nullable
                                     DataSourceState state,
                                     @Nullable
                                     com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.