class Aws::Kendra::Types::DataSourceConfiguration

Configuration information for a Amazon Kendra data source.

@note When making an API call, you may pass DataSourceConfiguration

data as a hash:

    {
      s3_configuration: {
        bucket_name: "S3BucketName", # required
        inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
        inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        documents_metadata_configuration: {
          s3_prefix: "S3ObjectKey",
        },
        access_control_list_configuration: {
          key_path: "S3ObjectKey",
        },
      },
      share_point_configuration: {
        share_point_version: "SHAREPOINT_2013", # required, accepts SHAREPOINT_2013, SHAREPOINT_2016, SHAREPOINT_ONLINE
        urls: ["Url"], # required
        secret_arn: "SecretArn", # required
        crawl_attachments: false,
        use_change_log: false,
        inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        vpc_configuration: {
          subnet_ids: ["SubnetId"], # required
          security_group_ids: ["VpcSecurityGroupId"], # required
        },
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        document_title_field_name: "DataSourceFieldName",
        disable_local_groups: false,
        ssl_certificate_s3_path: {
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      database_configuration: {
        database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
        connection_configuration: { # required
          database_host: "DatabaseHost", # required
          database_port: 1, # required
          database_name: "DatabaseName", # required
          table_name: "TableName", # required
          secret_arn: "SecretArn", # required
        },
        vpc_configuration: {
          subnet_ids: ["SubnetId"], # required
          security_group_ids: ["VpcSecurityGroupId"], # required
        },
        column_configuration: { # required
          document_id_column_name: "ColumnName", # required
          document_data_column_name: "ColumnName", # required
          document_title_column_name: "ColumnName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
          change_detecting_columns: ["ColumnName"], # required
        },
        acl_configuration: {
          allowed_groups_column_name: "ColumnName", # required
        },
        sql_configuration: {
          query_identifiers_enclosing_option: "DOUBLE_QUOTES", # accepts DOUBLE_QUOTES, NONE
        },
      },
      salesforce_configuration: {
        server_url: "Url", # required
        secret_arn: "SecretArn", # required
        standard_object_configurations: [
          {
            name: "ACCOUNT", # required, accepts ACCOUNT, CAMPAIGN, CASE, CONTACT, CONTRACT, DOCUMENT, GROUP, IDEA, LEAD, OPPORTUNITY, PARTNER, PRICEBOOK, PRODUCT, PROFILE, SOLUTION, TASK, USER
            document_data_field_name: "DataSourceFieldName", # required
            document_title_field_name: "DataSourceFieldName",
            field_mappings: [
              {
                data_source_field_name: "DataSourceFieldName", # required
                date_field_format: "DataSourceDateFieldFormat",
                index_field_name: "IndexFieldName", # required
              },
            ],
          },
        ],
        knowledge_article_configuration: {
          included_states: ["DRAFT"], # required, accepts DRAFT, PUBLISHED, ARCHIVED
          standard_knowledge_article_type_configuration: {
            document_data_field_name: "DataSourceFieldName", # required
            document_title_field_name: "DataSourceFieldName",
            field_mappings: [
              {
                data_source_field_name: "DataSourceFieldName", # required
                date_field_format: "DataSourceDateFieldFormat",
                index_field_name: "IndexFieldName", # required
              },
            ],
          },
          custom_knowledge_article_type_configurations: [
            {
              name: "SalesforceCustomKnowledgeArticleTypeName", # required
              document_data_field_name: "DataSourceFieldName", # required
              document_title_field_name: "DataSourceFieldName",
              field_mappings: [
                {
                  data_source_field_name: "DataSourceFieldName", # required
                  date_field_format: "DataSourceDateFieldFormat",
                  index_field_name: "IndexFieldName", # required
                },
              ],
            },
          ],
        },
        chatter_feed_configuration: {
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
          include_filter_types: ["ACTIVE_USER"], # accepts ACTIVE_USER, STANDARD_USER
        },
        crawl_attachments: false,
        standard_object_attachment_configuration: {
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      },
      one_drive_configuration: {
        tenant_domain: "TenantDomain", # required
        secret_arn: "SecretArn", # required
        one_drive_users: { # required
          one_drive_user_list: ["OneDriveUser"],
          one_drive_user_s3_path: {
            bucket: "S3BucketName", # required
            key: "S3ObjectKey", # required
          },
        },
        inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        disable_local_groups: false,
      },
      service_now_configuration: {
        host_url: "ServiceNowHostUrl", # required
        secret_arn: "SecretArn", # required
        service_now_build_version: "LONDON", # required, accepts LONDON, OTHERS
        knowledge_article_configuration: {
          crawl_attachments: false,
          include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
          exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
          filter_query: "ServiceNowKnowledgeArticleFilterQuery",
        },
        service_catalog_configuration: {
          crawl_attachments: false,
          include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
          exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
        authentication_type: "HTTP_BASIC", # accepts HTTP_BASIC, OAUTH2
      },
      confluence_configuration: {
        server_url: "Url", # required
        secret_arn: "SecretArn", # required
        version: "CLOUD", # required, accepts CLOUD, SERVER
        space_configuration: {
          crawl_personal_spaces: false,
          crawl_archived_spaces: false,
          include_spaces: ["ConfluenceSpaceIdentifier"],
          exclude_spaces: ["ConfluenceSpaceIdentifier"],
          space_field_mappings: [
            {
              data_source_field_name: "DISPLAY_URL", # accepts DISPLAY_URL, ITEM_TYPE, SPACE_KEY, URL
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName",
            },
          ],
        },
        page_configuration: {
          page_field_mappings: [
            {
              data_source_field_name: "AUTHOR", # accepts AUTHOR, CONTENT_STATUS, CREATED_DATE, DISPLAY_URL, ITEM_TYPE, LABELS, MODIFIED_DATE, PARENT_ID, SPACE_KEY, SPACE_NAME, URL, VERSION
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName",
            },
          ],
        },
        blog_configuration: {
          blog_field_mappings: [
            {
              data_source_field_name: "AUTHOR", # accepts AUTHOR, DISPLAY_URL, ITEM_TYPE, LABELS, PUBLISH_DATE, SPACE_KEY, SPACE_NAME, URL, VERSION
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName",
            },
          ],
        },
        attachment_configuration: {
          crawl_attachments: false,
          attachment_field_mappings: [
            {
              data_source_field_name: "AUTHOR", # accepts AUTHOR, CONTENT_TYPE, CREATED_DATE, DISPLAY_URL, FILE_SIZE, ITEM_TYPE, PARENT_ID, SPACE_KEY, SPACE_NAME, URL, VERSION
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName",
            },
          ],
        },
        vpc_configuration: {
          subnet_ids: ["SubnetId"], # required
          security_group_ids: ["VpcSecurityGroupId"], # required
        },
        inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      },
      google_drive_configuration: {
        secret_arn: "SecretArn", # required
        inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        exclude_mime_types: ["MimeType"],
        exclude_user_accounts: ["UserAccount"],
        exclude_shared_drives: ["SharedDriveId"],
      },
      web_crawler_configuration: {
        urls: { # required
          seed_url_configuration: {
            seed_urls: ["SeedUrl"], # required
            web_crawler_mode: "HOST_ONLY", # accepts HOST_ONLY, SUBDOMAINS, EVERYTHING
          },
          site_maps_configuration: {
            site_maps: ["SiteMap"], # required
          },
        },
        crawl_depth: 1,
        max_links_per_page: 1,
        max_content_size_per_page_in_mega_bytes: 1.0,
        max_urls_per_minute_crawl_rate: 1,
        url_inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        url_exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        proxy_configuration: {
          host: "Host", # required
          port: 1, # required
          credentials: "SecretArn",
        },
        authentication_configuration: {
          basic_authentication: [
            {
              host: "Host", # required
              port: 1, # required
              credentials: "SecretArn", # required
            },
          ],
        },
      },
      work_docs_configuration: {
        organization_id: "OrganizationId", # required
        crawl_comments: false,
        use_change_log: false,
        inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
    }

@!attribute [rw] s3_configuration

Provides information to create a data source connector for a
document repository in an Amazon S3 bucket.
@return [Types::S3DataSourceConfiguration]

@!attribute [rw] share_point_configuration

Provides information necessary to create a data source connector for
a Microsoft SharePoint site.
@return [Types::SharePointConfiguration]

@!attribute [rw] database_configuration

Provides information necessary to create a data source connector for
a database.
@return [Types::DatabaseConfiguration]

@!attribute [rw] salesforce_configuration

Provides configuration information for data sources that connect to
a Salesforce site.
@return [Types::SalesforceConfiguration]

@!attribute [rw] one_drive_configuration

Provides configuration for data sources that connect to Microsoft
OneDrive.
@return [Types::OneDriveConfiguration]

@!attribute [rw] service_now_configuration

Provides configuration for data sources that connect to ServiceNow
instances.
@return [Types::ServiceNowConfiguration]

@!attribute [rw] confluence_configuration

Provides configuration information for connecting to a Confluence
data source.
@return [Types::ConfluenceConfiguration]

@!attribute [rw] google_drive_configuration

Provides configuration for data sources that connect to Google
Drive.
@return [Types::GoogleDriveConfiguration]

@!attribute [rw] web_crawler_configuration

Provides the configuration information required for Amazon Kendra
web crawler.
@return [Types::WebCrawlerConfiguration]

@!attribute [rw] work_docs_configuration

Provides the configuration information to connect to WorkDocs as
your data source.
@return [Types::WorkDocsConfiguration]

@see docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DataSourceConfiguration AWS API Documentation

Constants

SENSITIVE