github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/kendra/dataSource.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package kendra
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Resource for managing an AWS Kendra Data Source.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Basic Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
    35  //				IndexId:      pulumi.Any(exampleAwsKendraIndex.Id),
    36  //				Name:         pulumi.String("example"),
    37  //				Description:  pulumi.String("example"),
    38  //				LanguageCode: pulumi.String("en"),
    39  //				Type:         pulumi.String("CUSTOM"),
    40  //				Tags: pulumi.StringMap{
    41  //					"hello": pulumi.String("world"),
    42  //				},
    43  //			})
    44  //			if err != nil {
    45  //				return err
    46  //			}
    47  //			return nil
    48  //		})
    49  //	}
    50  //
    51  // ```
    52  // <!--End PulumiCodeChooser -->
    53  //
    54  // ### S3 Connector
    55  //
    56  // ### With Schedule
    57  //
    58  // <!--Start PulumiCodeChooser -->
    59  // ```go
    60  // package main
    61  //
    62  // import (
    63  //
    64  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
    65  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    66  //
    67  // )
    68  //
    69  //	func main() {
    70  //		pulumi.Run(func(ctx *pulumi.Context) error {
    71  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
    72  //				IndexId:  pulumi.Any(exampleAwsKendraIndex.Id),
    73  //				Name:     pulumi.String("example"),
    74  //				Type:     pulumi.String("S3"),
    75  //				RoleArn:  pulumi.Any(exampleAwsIamRole.Arn),
    76  //				Schedule: pulumi.String("cron(9 10 1 * ? *)"),
    77  //				Configuration: &kendra.DataSourceConfigurationArgs{
    78  //					S3Configuration: &kendra.DataSourceConfigurationS3ConfigurationArgs{
    79  //						BucketName: pulumi.Any(exampleAwsS3Bucket.Id),
    80  //					},
    81  //				},
    82  //			})
    83  //			if err != nil {
    84  //				return err
    85  //			}
    86  //			return nil
    87  //		})
    88  //	}
    89  //
    90  // ```
    91  // <!--End PulumiCodeChooser -->
    92  //
    93  // ### With Access Control List
    94  //
    95  // <!--Start PulumiCodeChooser -->
    96  // ```go
    97  // package main
    98  //
    99  // import (
   100  //
   101  //	"fmt"
   102  //
   103  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   104  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   105  //
   106  // )
   107  //
   108  //	func main() {
   109  //		pulumi.Run(func(ctx *pulumi.Context) error {
   110  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   111  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   112  //				Name:    pulumi.String("example"),
   113  //				Type:    pulumi.String("S3"),
   114  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   115  //				Configuration: &kendra.DataSourceConfigurationArgs{
   116  //					S3Configuration: &kendra.DataSourceConfigurationS3ConfigurationArgs{
   117  //						BucketName: pulumi.Any(exampleAwsS3Bucket.Id),
   118  //						AccessControlListConfiguration: &kendra.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs{
   119  //							KeyPath: pulumi.String(fmt.Sprintf("s3://%v/path-1", exampleAwsS3Bucket.Id)),
   120  //						},
   121  //					},
   122  //				},
   123  //			})
   124  //			if err != nil {
   125  //				return err
   126  //			}
   127  //			return nil
   128  //		})
   129  //	}
   130  //
   131  // ```
   132  // <!--End PulumiCodeChooser -->
   133  //
   134  // ### With Documents Metadata Configuration
   135  //
   136  // <!--Start PulumiCodeChooser -->
   137  // ```go
   138  // package main
   139  //
   140  // import (
   141  //
   142  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   143  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   144  //
   145  // )
   146  //
   147  //	func main() {
   148  //		pulumi.Run(func(ctx *pulumi.Context) error {
   149  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   150  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   151  //				Name:    pulumi.String("example"),
   152  //				Type:    pulumi.String("S3"),
   153  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   154  //				Configuration: &kendra.DataSourceConfigurationArgs{
   155  //					S3Configuration: &kendra.DataSourceConfigurationS3ConfigurationArgs{
   156  //						BucketName: pulumi.Any(exampleAwsS3Bucket.Id),
   157  //						ExclusionPatterns: pulumi.StringArray{
   158  //							pulumi.String("example"),
   159  //						},
   160  //						InclusionPatterns: pulumi.StringArray{
   161  //							pulumi.String("hello"),
   162  //						},
   163  //						InclusionPrefixes: pulumi.StringArray{
   164  //							pulumi.String("world"),
   165  //						},
   166  //						DocumentsMetadataConfiguration: &kendra.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs{
   167  //							S3Prefix: pulumi.String("example"),
   168  //						},
   169  //					},
   170  //				},
   171  //			})
   172  //			if err != nil {
   173  //				return err
   174  //			}
   175  //			return nil
   176  //		})
   177  //	}
   178  //
   179  // ```
   180  // <!--End PulumiCodeChooser -->
   181  //
   182  // ### Web Crawler Connector
   183  //
   184  // ### With Seed URLs
   185  //
   186  // <!--Start PulumiCodeChooser -->
   187  // ```go
   188  // package main
   189  //
   190  // import (
   191  //
   192  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   193  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   194  //
   195  // )
   196  //
   197  //	func main() {
   198  //		pulumi.Run(func(ctx *pulumi.Context) error {
   199  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   200  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   201  //				Name:    pulumi.String("example"),
   202  //				Type:    pulumi.String("WEBCRAWLER"),
   203  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   204  //				Configuration: &kendra.DataSourceConfigurationArgs{
   205  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   206  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   207  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   208  //								SeedUrls: pulumi.StringArray{
   209  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   210  //								},
   211  //							},
   212  //						},
   213  //					},
   214  //				},
   215  //			})
   216  //			if err != nil {
   217  //				return err
   218  //			}
   219  //			return nil
   220  //		})
   221  //	}
   222  //
   223  // ```
   224  // <!--End PulumiCodeChooser -->
   225  //
   226  // ### With Site Maps
   227  //
   228  // <!--Start PulumiCodeChooser -->
   229  // ```go
   230  // package main
   231  //
   232  // import (
   233  //
   234  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   235  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   236  //
   237  // )
   238  //
   239  //	func main() {
   240  //		pulumi.Run(func(ctx *pulumi.Context) error {
   241  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   242  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   243  //				Name:    pulumi.String("example"),
   244  //				Type:    pulumi.String("WEBCRAWLER"),
   245  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   246  //				Configuration: &kendra.DataSourceConfigurationArgs{
   247  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   248  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   249  //							SiteMapsConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs{
   250  //								SiteMaps: pulumi.StringArray{
   251  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   252  //								},
   253  //							},
   254  //						},
   255  //					},
   256  //				},
   257  //			})
   258  //			if err != nil {
   259  //				return err
   260  //			}
   261  //			return nil
   262  //		})
   263  //	}
   264  //
   265  // ```
   266  // <!--End PulumiCodeChooser -->
   267  //
   268  // ### With Web Crawler Mode
   269  //
   270  // <!--Start PulumiCodeChooser -->
   271  // ```go
   272  // package main
   273  //
   274  // import (
   275  //
   276  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   277  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   278  //
   279  // )
   280  //
   281  //	func main() {
   282  //		pulumi.Run(func(ctx *pulumi.Context) error {
   283  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   284  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   285  //				Name:    pulumi.String("example"),
   286  //				Type:    pulumi.String("WEBCRAWLER"),
   287  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   288  //				Configuration: &kendra.DataSourceConfigurationArgs{
   289  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   290  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   291  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   292  //								WebCrawlerMode: pulumi.String("SUBDOMAINS"),
   293  //								SeedUrls: pulumi.StringArray{
   294  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   295  //								},
   296  //							},
   297  //						},
   298  //					},
   299  //				},
   300  //			})
   301  //			if err != nil {
   302  //				return err
   303  //			}
   304  //			return nil
   305  //		})
   306  //	}
   307  //
   308  // ```
   309  // <!--End PulumiCodeChooser -->
   310  //
   311  // ### With Authentication Configuration
   312  //
   313  // <!--Start PulumiCodeChooser -->
   314  // ```go
   315  // package main
   316  //
   317  // import (
   318  //
   319  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   320  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   321  //
   322  // )
   323  //
   324  //	func main() {
   325  //		pulumi.Run(func(ctx *pulumi.Context) error {
   326  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   327  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   328  //				Name:    pulumi.String("example"),
   329  //				Type:    pulumi.String("WEBCRAWLER"),
   330  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   331  //				Configuration: &kendra.DataSourceConfigurationArgs{
   332  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   333  //						AuthenticationConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs{
   334  //							BasicAuthentications: kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArray{
   335  //								&kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs{
   336  //									Credentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),
   337  //									Host:        pulumi.String("a.example.com"),
   338  //									Port:        pulumi.Int(443),
   339  //								},
   340  //							},
   341  //						},
   342  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   343  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   344  //								SeedUrls: pulumi.StringArray{
   345  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   346  //								},
   347  //							},
   348  //						},
   349  //					},
   350  //				},
   351  //			}, pulumi.DependsOn([]pulumi.Resource{
   352  //				exampleAwsSecretsmanagerSecretVersion,
   353  //			}))
   354  //			if err != nil {
   355  //				return err
   356  //			}
   357  //			return nil
   358  //		})
   359  //	}
   360  //
   361  // ```
   362  // <!--End PulumiCodeChooser -->
   363  //
   364  // ### With Crawl Depth
   365  //
   366  // <!--Start PulumiCodeChooser -->
   367  // ```go
   368  // package main
   369  //
   370  // import (
   371  //
   372  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   373  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   374  //
   375  // )
   376  //
   377  //	func main() {
   378  //		pulumi.Run(func(ctx *pulumi.Context) error {
   379  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   380  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   381  //				Name:    pulumi.String("example"),
   382  //				Type:    pulumi.String("WEBCRAWLER"),
   383  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   384  //				Configuration: &kendra.DataSourceConfigurationArgs{
   385  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   386  //						CrawlDepth: pulumi.Int(3),
   387  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   388  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   389  //								SeedUrls: pulumi.StringArray{
   390  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   391  //								},
   392  //							},
   393  //						},
   394  //					},
   395  //				},
   396  //			})
   397  //			if err != nil {
   398  //				return err
   399  //			}
   400  //			return nil
   401  //		})
   402  //	}
   403  //
   404  // ```
   405  // <!--End PulumiCodeChooser -->
   406  //
   407  // ### With Max Links Per Page
   408  //
   409  // <!--Start PulumiCodeChooser -->
   410  // ```go
   411  // package main
   412  //
   413  // import (
   414  //
   415  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   416  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   417  //
   418  // )
   419  //
   420  //	func main() {
   421  //		pulumi.Run(func(ctx *pulumi.Context) error {
   422  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   423  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   424  //				Name:    pulumi.String("example"),
   425  //				Type:    pulumi.String("WEBCRAWLER"),
   426  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   427  //				Configuration: &kendra.DataSourceConfigurationArgs{
   428  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   429  //						MaxLinksPerPage: pulumi.Int(100),
   430  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   431  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   432  //								SeedUrls: pulumi.StringArray{
   433  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   434  //								},
   435  //							},
   436  //						},
   437  //					},
   438  //				},
   439  //			})
   440  //			if err != nil {
   441  //				return err
   442  //			}
   443  //			return nil
   444  //		})
   445  //	}
   446  //
   447  // ```
   448  // <!--End PulumiCodeChooser -->
   449  //
   450  // ### With Max Urls Per Minute Crawl Rate
   451  //
   452  // <!--Start PulumiCodeChooser -->
   453  // ```go
   454  // package main
   455  //
   456  // import (
   457  //
   458  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   459  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   460  //
   461  // )
   462  //
   463  //	func main() {
   464  //		pulumi.Run(func(ctx *pulumi.Context) error {
   465  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   466  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   467  //				Name:    pulumi.String("example"),
   468  //				Type:    pulumi.String("WEBCRAWLER"),
   469  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   470  //				Configuration: &kendra.DataSourceConfigurationArgs{
   471  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   472  //						MaxUrlsPerMinuteCrawlRate: pulumi.Int(300),
   473  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   474  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   475  //								SeedUrls: pulumi.StringArray{
   476  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   477  //								},
   478  //							},
   479  //						},
   480  //					},
   481  //				},
   482  //			})
   483  //			if err != nil {
   484  //				return err
   485  //			}
   486  //			return nil
   487  //		})
   488  //	}
   489  //
   490  // ```
   491  // <!--End PulumiCodeChooser -->
   492  //
   493  // ### With Proxy Configuration
   494  //
   495  // <!--Start PulumiCodeChooser -->
   496  // ```go
   497  // package main
   498  //
   499  // import (
   500  //
   501  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   502  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   503  //
   504  // )
   505  //
   506  //	func main() {
   507  //		pulumi.Run(func(ctx *pulumi.Context) error {
   508  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   509  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   510  //				Name:    pulumi.String("example"),
   511  //				Type:    pulumi.String("WEBCRAWLER"),
   512  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   513  //				Configuration: &kendra.DataSourceConfigurationArgs{
   514  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   515  //						ProxyConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs{
   516  //							Credentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),
   517  //							Host:        pulumi.String("a.example.com"),
   518  //							Port:        pulumi.Int(443),
   519  //						},
   520  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   521  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   522  //								SeedUrls: pulumi.StringArray{
   523  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   524  //								},
   525  //							},
   526  //						},
   527  //					},
   528  //				},
   529  //			}, pulumi.DependsOn([]pulumi.Resource{
   530  //				exampleAwsSecretsmanagerSecretVersion,
   531  //			}))
   532  //			if err != nil {
   533  //				return err
   534  //			}
   535  //			return nil
   536  //		})
   537  //	}
   538  //
   539  // ```
   540  // <!--End PulumiCodeChooser -->
   541  //
   542  // ### With URL Exclusion and Inclusion Patterns
   543  //
   544  // <!--Start PulumiCodeChooser -->
   545  // ```go
   546  // package main
   547  //
   548  // import (
   549  //
   550  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra"
   551  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   552  //
   553  // )
   554  //
   555  //	func main() {
   556  //		pulumi.Run(func(ctx *pulumi.Context) error {
   557  //			_, err := kendra.NewDataSource(ctx, "example", &kendra.DataSourceArgs{
   558  //				IndexId: pulumi.Any(exampleAwsKendraIndex.Id),
   559  //				Name:    pulumi.String("example"),
   560  //				Type:    pulumi.String("WEBCRAWLER"),
   561  //				RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
   562  //				Configuration: &kendra.DataSourceConfigurationArgs{
   563  //					WebCrawlerConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{
   564  //						UrlExclusionPatterns: pulumi.StringArray{
   565  //							pulumi.String("example"),
   566  //						},
   567  //						UrlInclusionPatterns: pulumi.StringArray{
   568  //							pulumi.String("hello"),
   569  //						},
   570  //						Urls: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{
   571  //							SeedUrlConfiguration: &kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{
   572  //								SeedUrls: pulumi.StringArray{
   573  //									pulumi.String("REPLACE_WITH_YOUR_URL"),
   574  //								},
   575  //							},
   576  //						},
   577  //					},
   578  //				},
   579  //			})
   580  //			if err != nil {
   581  //				return err
   582  //			}
   583  //			return nil
   584  //		})
   585  //	}
   586  //
   587  // ```
   588  // <!--End PulumiCodeChooser -->
   589  //
   590  // ## Import
   591  //
   592  // Using `pulumi import`, import Kendra Data Source using the unique identifiers of the data_source and index separated by a slash (`/`). For example:
   593  //
   594  // ```sh
   595  // $ pulumi import aws:kendra/dataSource:DataSource example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f
   596  // ```
   597  type DataSource struct {
   598  	pulumi.CustomResourceState
   599  
   600  	// ARN of the Data Source.
   601  	Arn pulumi.StringOutput `pulumi:"arn"`
   602  	// A block with the 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.
   603  	Configuration DataSourceConfigurationPtrOutput `pulumi:"configuration"`
   604  	// The Unix timestamp of when the Data Source was created.
   605  	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
   606  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). Detailed below.
   607  	CustomDocumentEnrichmentConfiguration DataSourceCustomDocumentEnrichmentConfigurationPtrOutput `pulumi:"customDocumentEnrichmentConfiguration"`
   608  	// The unique identifiers of the Data Source.
   609  	DataSourceId pulumi.StringOutput `pulumi:"dataSourceId"`
   610  	// A description for the Data Source connector.
   611  	Description pulumi.StringPtrOutput `pulumi:"description"`
   612  	// When the Status field value is `FAILED`, the ErrorMessage field contains a description of the error that caused the Data Source to fail.
   613  	ErrorMessage pulumi.StringOutput `pulumi:"errorMessage"`
   614  	// The identifier of the index for your Amazon Kendra data source.
   615  	IndexId pulumi.StringOutput `pulumi:"indexId"`
   616  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html).
   617  	LanguageCode pulumi.StringOutput `pulumi:"languageCode"`
   618  	// A name for your data source connector.
   619  	Name pulumi.StringOutput `pulumi:"name"`
   620  	// 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](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.
   621  	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
   622  	// 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.
   623  	Schedule pulumi.StringPtrOutput `pulumi:"schedule"`
   624  	// The 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.
   625  	Status pulumi.StringOutput `pulumi:"status"`
   626  	// 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.
   627  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   628  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   629  	//
   630  	// Deprecated: Please use `tags` instead.
   631  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   632  	// The 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).
   633  	//
   634  	// The following arguments are optional:
   635  	Type pulumi.StringOutput `pulumi:"type"`
   636  	// The Unix timestamp of when the Data Source was last updated.
   637  	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
   638  }
   639  
   640  // NewDataSource registers a new resource with the given unique name, arguments, and options.
   641  func NewDataSource(ctx *pulumi.Context,
   642  	name string, args *DataSourceArgs, opts ...pulumi.ResourceOption) (*DataSource, error) {
   643  	if args == nil {
   644  		return nil, errors.New("missing one or more required arguments")
   645  	}
   646  
   647  	if args.IndexId == nil {
   648  		return nil, errors.New("invalid value for required argument 'IndexId'")
   649  	}
   650  	if args.Type == nil {
   651  		return nil, errors.New("invalid value for required argument 'Type'")
   652  	}
   653  	opts = internal.PkgResourceDefaultOpts(opts)
   654  	var resource DataSource
   655  	err := ctx.RegisterResource("aws:kendra/dataSource:DataSource", name, args, &resource, opts...)
   656  	if err != nil {
   657  		return nil, err
   658  	}
   659  	return &resource, nil
   660  }
   661  
   662  // GetDataSource gets an existing DataSource resource's state with the given name, ID, and optional
   663  // state properties that are used to uniquely qualify the lookup (nil if not required).
   664  func GetDataSource(ctx *pulumi.Context,
   665  	name string, id pulumi.IDInput, state *DataSourceState, opts ...pulumi.ResourceOption) (*DataSource, error) {
   666  	var resource DataSource
   667  	err := ctx.ReadResource("aws:kendra/dataSource:DataSource", name, id, state, &resource, opts...)
   668  	if err != nil {
   669  		return nil, err
   670  	}
   671  	return &resource, nil
   672  }
   673  
   674  // Input properties used for looking up and filtering DataSource resources.
   675  type dataSourceState struct {
   676  	// ARN of the Data Source.
   677  	Arn *string `pulumi:"arn"`
   678  	// A block with the 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.
   679  	Configuration *DataSourceConfiguration `pulumi:"configuration"`
   680  	// The Unix timestamp of when the Data Source was created.
   681  	CreatedAt *string `pulumi:"createdAt"`
   682  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). Detailed below.
   683  	CustomDocumentEnrichmentConfiguration *DataSourceCustomDocumentEnrichmentConfiguration `pulumi:"customDocumentEnrichmentConfiguration"`
   684  	// The unique identifiers of the Data Source.
   685  	DataSourceId *string `pulumi:"dataSourceId"`
   686  	// A description for the Data Source connector.
   687  	Description *string `pulumi:"description"`
   688  	// When the Status field value is `FAILED`, the ErrorMessage field contains a description of the error that caused the Data Source to fail.
   689  	ErrorMessage *string `pulumi:"errorMessage"`
   690  	// The identifier of the index for your Amazon Kendra data source.
   691  	IndexId *string `pulumi:"indexId"`
   692  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html).
   693  	LanguageCode *string `pulumi:"languageCode"`
   694  	// A name for your data source connector.
   695  	Name *string `pulumi:"name"`
   696  	// 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](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.
   697  	RoleArn *string `pulumi:"roleArn"`
   698  	// 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.
   699  	Schedule *string `pulumi:"schedule"`
   700  	// The 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.
   701  	Status *string `pulumi:"status"`
   702  	// 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.
   703  	Tags map[string]string `pulumi:"tags"`
   704  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   705  	//
   706  	// Deprecated: Please use `tags` instead.
   707  	TagsAll map[string]string `pulumi:"tagsAll"`
   708  	// The 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).
   709  	//
   710  	// The following arguments are optional:
   711  	Type *string `pulumi:"type"`
   712  	// The Unix timestamp of when the Data Source was last updated.
   713  	UpdatedAt *string `pulumi:"updatedAt"`
   714  }
   715  
   716  type DataSourceState struct {
   717  	// ARN of the Data Source.
   718  	Arn pulumi.StringPtrInput
   719  	// A block with the 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.
   720  	Configuration DataSourceConfigurationPtrInput
   721  	// The Unix timestamp of when the Data Source was created.
   722  	CreatedAt pulumi.StringPtrInput
   723  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). Detailed below.
   724  	CustomDocumentEnrichmentConfiguration DataSourceCustomDocumentEnrichmentConfigurationPtrInput
   725  	// The unique identifiers of the Data Source.
   726  	DataSourceId pulumi.StringPtrInput
   727  	// A description for the Data Source connector.
   728  	Description pulumi.StringPtrInput
   729  	// When the Status field value is `FAILED`, the ErrorMessage field contains a description of the error that caused the Data Source to fail.
   730  	ErrorMessage pulumi.StringPtrInput
   731  	// The identifier of the index for your Amazon Kendra data source.
   732  	IndexId pulumi.StringPtrInput
   733  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html).
   734  	LanguageCode pulumi.StringPtrInput
   735  	// A name for your data source connector.
   736  	Name pulumi.StringPtrInput
   737  	// 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](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.
   738  	RoleArn pulumi.StringPtrInput
   739  	// 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.
   740  	Schedule pulumi.StringPtrInput
   741  	// The 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.
   742  	Status pulumi.StringPtrInput
   743  	// 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.
   744  	Tags pulumi.StringMapInput
   745  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   746  	//
   747  	// Deprecated: Please use `tags` instead.
   748  	TagsAll pulumi.StringMapInput
   749  	// The 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).
   750  	//
   751  	// The following arguments are optional:
   752  	Type pulumi.StringPtrInput
   753  	// The Unix timestamp of when the Data Source was last updated.
   754  	UpdatedAt pulumi.StringPtrInput
   755  }
   756  
   757  func (DataSourceState) ElementType() reflect.Type {
   758  	return reflect.TypeOf((*dataSourceState)(nil)).Elem()
   759  }
   760  
   761  type dataSourceArgs struct {
   762  	// A block with the 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.
   763  	Configuration *DataSourceConfiguration `pulumi:"configuration"`
   764  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). Detailed below.
   765  	CustomDocumentEnrichmentConfiguration *DataSourceCustomDocumentEnrichmentConfiguration `pulumi:"customDocumentEnrichmentConfiguration"`
   766  	// A description for the Data Source connector.
   767  	Description *string `pulumi:"description"`
   768  	// The identifier of the index for your Amazon Kendra data source.
   769  	IndexId string `pulumi:"indexId"`
   770  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html).
   771  	LanguageCode *string `pulumi:"languageCode"`
   772  	// A name for your data source connector.
   773  	Name *string `pulumi:"name"`
   774  	// 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](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.
   775  	RoleArn *string `pulumi:"roleArn"`
   776  	// 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.
   777  	Schedule *string `pulumi:"schedule"`
   778  	// 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.
   779  	Tags map[string]string `pulumi:"tags"`
   780  	// The 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).
   781  	//
   782  	// The following arguments are optional:
   783  	Type string `pulumi:"type"`
   784  }
   785  
   786  // The set of arguments for constructing a DataSource resource.
   787  type DataSourceArgs struct {
   788  	// A block with the 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.
   789  	Configuration DataSourceConfigurationPtrInput
   790  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). Detailed below.
   791  	CustomDocumentEnrichmentConfiguration DataSourceCustomDocumentEnrichmentConfigurationPtrInput
   792  	// A description for the Data Source connector.
   793  	Description pulumi.StringPtrInput
   794  	// The identifier of the index for your Amazon Kendra data source.
   795  	IndexId pulumi.StringInput
   796  	// 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](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html).
   797  	LanguageCode pulumi.StringPtrInput
   798  	// A name for your data source connector.
   799  	Name pulumi.StringPtrInput
   800  	// 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](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.
   801  	RoleArn pulumi.StringPtrInput
   802  	// 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.
   803  	Schedule pulumi.StringPtrInput
   804  	// 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.
   805  	Tags pulumi.StringMapInput
   806  	// The 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).
   807  	//
   808  	// The following arguments are optional:
   809  	Type pulumi.StringInput
   810  }
   811  
   812  func (DataSourceArgs) ElementType() reflect.Type {
   813  	return reflect.TypeOf((*dataSourceArgs)(nil)).Elem()
   814  }
   815  
   816  type DataSourceInput interface {
   817  	pulumi.Input
   818  
   819  	ToDataSourceOutput() DataSourceOutput
   820  	ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput
   821  }
   822  
   823  func (*DataSource) ElementType() reflect.Type {
   824  	return reflect.TypeOf((**DataSource)(nil)).Elem()
   825  }
   826  
   827  func (i *DataSource) ToDataSourceOutput() DataSourceOutput {
   828  	return i.ToDataSourceOutputWithContext(context.Background())
   829  }
   830  
   831  func (i *DataSource) ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput {
   832  	return pulumi.ToOutputWithContext(ctx, i).(DataSourceOutput)
   833  }
   834  
   835  // DataSourceArrayInput is an input type that accepts DataSourceArray and DataSourceArrayOutput values.
   836  // You can construct a concrete instance of `DataSourceArrayInput` via:
   837  //
   838  //	DataSourceArray{ DataSourceArgs{...} }
   839  type DataSourceArrayInput interface {
   840  	pulumi.Input
   841  
   842  	ToDataSourceArrayOutput() DataSourceArrayOutput
   843  	ToDataSourceArrayOutputWithContext(context.Context) DataSourceArrayOutput
   844  }
   845  
   846  type DataSourceArray []DataSourceInput
   847  
   848  func (DataSourceArray) ElementType() reflect.Type {
   849  	return reflect.TypeOf((*[]*DataSource)(nil)).Elem()
   850  }
   851  
   852  func (i DataSourceArray) ToDataSourceArrayOutput() DataSourceArrayOutput {
   853  	return i.ToDataSourceArrayOutputWithContext(context.Background())
   854  }
   855  
   856  func (i DataSourceArray) ToDataSourceArrayOutputWithContext(ctx context.Context) DataSourceArrayOutput {
   857  	return pulumi.ToOutputWithContext(ctx, i).(DataSourceArrayOutput)
   858  }
   859  
   860  // DataSourceMapInput is an input type that accepts DataSourceMap and DataSourceMapOutput values.
   861  // You can construct a concrete instance of `DataSourceMapInput` via:
   862  //
   863  //	DataSourceMap{ "key": DataSourceArgs{...} }
   864  type DataSourceMapInput interface {
   865  	pulumi.Input
   866  
   867  	ToDataSourceMapOutput() DataSourceMapOutput
   868  	ToDataSourceMapOutputWithContext(context.Context) DataSourceMapOutput
   869  }
   870  
   871  type DataSourceMap map[string]DataSourceInput
   872  
   873  func (DataSourceMap) ElementType() reflect.Type {
   874  	return reflect.TypeOf((*map[string]*DataSource)(nil)).Elem()
   875  }
   876  
   877  func (i DataSourceMap) ToDataSourceMapOutput() DataSourceMapOutput {
   878  	return i.ToDataSourceMapOutputWithContext(context.Background())
   879  }
   880  
   881  func (i DataSourceMap) ToDataSourceMapOutputWithContext(ctx context.Context) DataSourceMapOutput {
   882  	return pulumi.ToOutputWithContext(ctx, i).(DataSourceMapOutput)
   883  }
   884  
   885  type DataSourceOutput struct{ *pulumi.OutputState }
   886  
   887  func (DataSourceOutput) ElementType() reflect.Type {
   888  	return reflect.TypeOf((**DataSource)(nil)).Elem()
   889  }
   890  
   891  func (o DataSourceOutput) ToDataSourceOutput() DataSourceOutput {
   892  	return o
   893  }
   894  
   895  func (o DataSourceOutput) ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput {
   896  	return o
   897  }
   898  
   899  // ARN of the Data Source.
   900  func (o DataSourceOutput) Arn() pulumi.StringOutput {
   901  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   902  }
   903  
   904  // A block with the 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.
   905  func (o DataSourceOutput) Configuration() DataSourceConfigurationPtrOutput {
   906  	return o.ApplyT(func(v *DataSource) DataSourceConfigurationPtrOutput { return v.Configuration }).(DataSourceConfigurationPtrOutput)
   907  }
   908  
   909  // The Unix timestamp of when the Data Source was created.
   910  func (o DataSourceOutput) CreatedAt() pulumi.StringOutput {
   911  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
   912  }
   913  
   914  // 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](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). Detailed below.
   915  func (o DataSourceOutput) CustomDocumentEnrichmentConfiguration() DataSourceCustomDocumentEnrichmentConfigurationPtrOutput {
   916  	return o.ApplyT(func(v *DataSource) DataSourceCustomDocumentEnrichmentConfigurationPtrOutput {
   917  		return v.CustomDocumentEnrichmentConfiguration
   918  	}).(DataSourceCustomDocumentEnrichmentConfigurationPtrOutput)
   919  }
   920  
   921  // The unique identifiers of the Data Source.
   922  func (o DataSourceOutput) DataSourceId() pulumi.StringOutput {
   923  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.DataSourceId }).(pulumi.StringOutput)
   924  }
   925  
   926  // A description for the Data Source connector.
   927  func (o DataSourceOutput) Description() pulumi.StringPtrOutput {
   928  	return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   929  }
   930  
   931  // When the Status field value is `FAILED`, the ErrorMessage field contains a description of the error that caused the Data Source to fail.
   932  func (o DataSourceOutput) ErrorMessage() pulumi.StringOutput {
   933  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.ErrorMessage }).(pulumi.StringOutput)
   934  }
   935  
   936  // The identifier of the index for your Amazon Kendra data source.
   937  func (o DataSourceOutput) IndexId() pulumi.StringOutput {
   938  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.IndexId }).(pulumi.StringOutput)
   939  }
   940  
   941  // 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](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html).
   942  func (o DataSourceOutput) LanguageCode() pulumi.StringOutput {
   943  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.LanguageCode }).(pulumi.StringOutput)
   944  }
   945  
   946  // A name for your data source connector.
   947  func (o DataSourceOutput) Name() pulumi.StringOutput {
   948  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   949  }
   950  
   951  // 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](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.
   952  func (o DataSourceOutput) RoleArn() pulumi.StringPtrOutput {
   953  	return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.RoleArn }).(pulumi.StringPtrOutput)
   954  }
   955  
   956  // 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.
   957  func (o DataSourceOutput) Schedule() pulumi.StringPtrOutput {
   958  	return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.Schedule }).(pulumi.StringPtrOutput)
   959  }
   960  
   961  // The 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.
   962  func (o DataSourceOutput) Status() pulumi.StringOutput {
   963  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   964  }
   965  
   966  // 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.
   967  func (o DataSourceOutput) Tags() pulumi.StringMapOutput {
   968  	return o.ApplyT(func(v *DataSource) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   969  }
   970  
   971  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   972  //
   973  // Deprecated: Please use `tags` instead.
   974  func (o DataSourceOutput) TagsAll() pulumi.StringMapOutput {
   975  	return o.ApplyT(func(v *DataSource) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   976  }
   977  
   978  // The 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).
   979  //
   980  // The following arguments are optional:
   981  func (o DataSourceOutput) Type() pulumi.StringOutput {
   982  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput)
   983  }
   984  
   985  // The Unix timestamp of when the Data Source was last updated.
   986  func (o DataSourceOutput) UpdatedAt() pulumi.StringOutput {
   987  	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput)
   988  }
   989  
   990  type DataSourceArrayOutput struct{ *pulumi.OutputState }
   991  
   992  func (DataSourceArrayOutput) ElementType() reflect.Type {
   993  	return reflect.TypeOf((*[]*DataSource)(nil)).Elem()
   994  }
   995  
   996  func (o DataSourceArrayOutput) ToDataSourceArrayOutput() DataSourceArrayOutput {
   997  	return o
   998  }
   999  
  1000  func (o DataSourceArrayOutput) ToDataSourceArrayOutputWithContext(ctx context.Context) DataSourceArrayOutput {
  1001  	return o
  1002  }
  1003  
  1004  func (o DataSourceArrayOutput) Index(i pulumi.IntInput) DataSourceOutput {
  1005  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DataSource {
  1006  		return vs[0].([]*DataSource)[vs[1].(int)]
  1007  	}).(DataSourceOutput)
  1008  }
  1009  
  1010  type DataSourceMapOutput struct{ *pulumi.OutputState }
  1011  
  1012  func (DataSourceMapOutput) ElementType() reflect.Type {
  1013  	return reflect.TypeOf((*map[string]*DataSource)(nil)).Elem()
  1014  }
  1015  
  1016  func (o DataSourceMapOutput) ToDataSourceMapOutput() DataSourceMapOutput {
  1017  	return o
  1018  }
  1019  
  1020  func (o DataSourceMapOutput) ToDataSourceMapOutputWithContext(ctx context.Context) DataSourceMapOutput {
  1021  	return o
  1022  }
  1023  
  1024  func (o DataSourceMapOutput) MapIndex(k pulumi.StringInput) DataSourceOutput {
  1025  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DataSource {
  1026  		return vs[0].(map[string]*DataSource)[vs[1].(string)]
  1027  	}).(DataSourceOutput)
  1028  }
  1029  
  1030  func init() {
  1031  	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceInput)(nil)).Elem(), &DataSource{})
  1032  	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceArrayInput)(nil)).Elem(), DataSourceArray{})
  1033  	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMapInput)(nil)).Elem(), DataSourceMap{})
  1034  	pulumi.RegisterOutputType(DataSourceOutput{})
  1035  	pulumi.RegisterOutputType(DataSourceArrayOutput{})
  1036  	pulumi.RegisterOutputType(DataSourceMapOutput{})
  1037  }