/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace kendra { namespace Model { /** *

Provides the configuration information for an Amazon Kendra data * source.

See Also:

AWS * API Reference

*/ class DataSourceConfiguration { public: AWS_KENDRA_API DataSourceConfiguration(); AWS_KENDRA_API DataSourceConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API DataSourceConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_KENDRA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Provides the configuration information to connect to an Amazon S3 bucket as * your data source.

*/ inline const S3DataSourceConfiguration& GetS3Configuration() const{ return m_s3Configuration; } /** *

Provides the configuration information to connect to an Amazon S3 bucket as * your data source.

*/ inline bool S3ConfigurationHasBeenSet() const { return m_s3ConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to an Amazon S3 bucket as * your data source.

*/ inline void SetS3Configuration(const S3DataSourceConfiguration& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = value; } /** *

Provides the configuration information to connect to an Amazon S3 bucket as * your data source.

*/ inline void SetS3Configuration(S3DataSourceConfiguration&& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = std::move(value); } /** *

Provides the configuration information to connect to an Amazon S3 bucket as * your data source.

*/ inline DataSourceConfiguration& WithS3Configuration(const S3DataSourceConfiguration& value) { SetS3Configuration(value); return *this;} /** *

Provides the configuration information to connect to an Amazon S3 bucket as * your data source.

*/ inline DataSourceConfiguration& WithS3Configuration(S3DataSourceConfiguration&& value) { SetS3Configuration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Microsoft SharePoint as * your data source.

*/ inline const SharePointConfiguration& GetSharePointConfiguration() const{ return m_sharePointConfiguration; } /** *

Provides the configuration information to connect to Microsoft SharePoint as * your data source.

*/ inline bool SharePointConfigurationHasBeenSet() const { return m_sharePointConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Microsoft SharePoint as * your data source.

*/ inline void SetSharePointConfiguration(const SharePointConfiguration& value) { m_sharePointConfigurationHasBeenSet = true; m_sharePointConfiguration = value; } /** *

Provides the configuration information to connect to Microsoft SharePoint as * your data source.

*/ inline void SetSharePointConfiguration(SharePointConfiguration&& value) { m_sharePointConfigurationHasBeenSet = true; m_sharePointConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Microsoft SharePoint as * your data source.

*/ inline DataSourceConfiguration& WithSharePointConfiguration(const SharePointConfiguration& value) { SetSharePointConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Microsoft SharePoint as * your data source.

*/ inline DataSourceConfiguration& WithSharePointConfiguration(SharePointConfiguration&& value) { SetSharePointConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to a database as your data * source.

*/ inline const DatabaseConfiguration& GetDatabaseConfiguration() const{ return m_databaseConfiguration; } /** *

Provides the configuration information to connect to a database as your data * source.

*/ inline bool DatabaseConfigurationHasBeenSet() const { return m_databaseConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to a database as your data * source.

*/ inline void SetDatabaseConfiguration(const DatabaseConfiguration& value) { m_databaseConfigurationHasBeenSet = true; m_databaseConfiguration = value; } /** *

Provides the configuration information to connect to a database as your data * source.

*/ inline void SetDatabaseConfiguration(DatabaseConfiguration&& value) { m_databaseConfigurationHasBeenSet = true; m_databaseConfiguration = std::move(value); } /** *

Provides the configuration information to connect to a database as your data * source.

*/ inline DataSourceConfiguration& WithDatabaseConfiguration(const DatabaseConfiguration& value) { SetDatabaseConfiguration(value); return *this;} /** *

Provides the configuration information to connect to a database as your data * source.

*/ inline DataSourceConfiguration& WithDatabaseConfiguration(DatabaseConfiguration&& value) { SetDatabaseConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Salesforce as your data * source.

*/ inline const SalesforceConfiguration& GetSalesforceConfiguration() const{ return m_salesforceConfiguration; } /** *

Provides the configuration information to connect to Salesforce as your data * source.

*/ inline bool SalesforceConfigurationHasBeenSet() const { return m_salesforceConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Salesforce as your data * source.

*/ inline void SetSalesforceConfiguration(const SalesforceConfiguration& value) { m_salesforceConfigurationHasBeenSet = true; m_salesforceConfiguration = value; } /** *

Provides the configuration information to connect to Salesforce as your data * source.

*/ inline void SetSalesforceConfiguration(SalesforceConfiguration&& value) { m_salesforceConfigurationHasBeenSet = true; m_salesforceConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Salesforce as your data * source.

*/ inline DataSourceConfiguration& WithSalesforceConfiguration(const SalesforceConfiguration& value) { SetSalesforceConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Salesforce as your data * source.

*/ inline DataSourceConfiguration& WithSalesforceConfiguration(SalesforceConfiguration&& value) { SetSalesforceConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Microsoft OneDrive as * your data source.

*/ inline const OneDriveConfiguration& GetOneDriveConfiguration() const{ return m_oneDriveConfiguration; } /** *

Provides the configuration information to connect to Microsoft OneDrive as * your data source.

*/ inline bool OneDriveConfigurationHasBeenSet() const { return m_oneDriveConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Microsoft OneDrive as * your data source.

*/ inline void SetOneDriveConfiguration(const OneDriveConfiguration& value) { m_oneDriveConfigurationHasBeenSet = true; m_oneDriveConfiguration = value; } /** *

Provides the configuration information to connect to Microsoft OneDrive as * your data source.

*/ inline void SetOneDriveConfiguration(OneDriveConfiguration&& value) { m_oneDriveConfigurationHasBeenSet = true; m_oneDriveConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Microsoft OneDrive as * your data source.

*/ inline DataSourceConfiguration& WithOneDriveConfiguration(const OneDriveConfiguration& value) { SetOneDriveConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Microsoft OneDrive as * your data source.

*/ inline DataSourceConfiguration& WithOneDriveConfiguration(OneDriveConfiguration&& value) { SetOneDriveConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to ServiceNow as your data * source.

*/ inline const ServiceNowConfiguration& GetServiceNowConfiguration() const{ return m_serviceNowConfiguration; } /** *

Provides the configuration information to connect to ServiceNow as your data * source.

*/ inline bool ServiceNowConfigurationHasBeenSet() const { return m_serviceNowConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to ServiceNow as your data * source.

*/ inline void SetServiceNowConfiguration(const ServiceNowConfiguration& value) { m_serviceNowConfigurationHasBeenSet = true; m_serviceNowConfiguration = value; } /** *

Provides the configuration information to connect to ServiceNow as your data * source.

*/ inline void SetServiceNowConfiguration(ServiceNowConfiguration&& value) { m_serviceNowConfigurationHasBeenSet = true; m_serviceNowConfiguration = std::move(value); } /** *

Provides the configuration information to connect to ServiceNow as your data * source.

*/ inline DataSourceConfiguration& WithServiceNowConfiguration(const ServiceNowConfiguration& value) { SetServiceNowConfiguration(value); return *this;} /** *

Provides the configuration information to connect to ServiceNow as your data * source.

*/ inline DataSourceConfiguration& WithServiceNowConfiguration(ServiceNowConfiguration&& value) { SetServiceNowConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Confluence as your data * source.

*/ inline const ConfluenceConfiguration& GetConfluenceConfiguration() const{ return m_confluenceConfiguration; } /** *

Provides the configuration information to connect to Confluence as your data * source.

*/ inline bool ConfluenceConfigurationHasBeenSet() const { return m_confluenceConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Confluence as your data * source.

*/ inline void SetConfluenceConfiguration(const ConfluenceConfiguration& value) { m_confluenceConfigurationHasBeenSet = true; m_confluenceConfiguration = value; } /** *

Provides the configuration information to connect to Confluence as your data * source.

*/ inline void SetConfluenceConfiguration(ConfluenceConfiguration&& value) { m_confluenceConfigurationHasBeenSet = true; m_confluenceConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Confluence as your data * source.

*/ inline DataSourceConfiguration& WithConfluenceConfiguration(const ConfluenceConfiguration& value) { SetConfluenceConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Confluence as your data * source.

*/ inline DataSourceConfiguration& WithConfluenceConfiguration(ConfluenceConfiguration&& value) { SetConfluenceConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Google Drive as your * data source.

*/ inline const GoogleDriveConfiguration& GetGoogleDriveConfiguration() const{ return m_googleDriveConfiguration; } /** *

Provides the configuration information to connect to Google Drive as your * data source.

*/ inline bool GoogleDriveConfigurationHasBeenSet() const { return m_googleDriveConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Google Drive as your * data source.

*/ inline void SetGoogleDriveConfiguration(const GoogleDriveConfiguration& value) { m_googleDriveConfigurationHasBeenSet = true; m_googleDriveConfiguration = value; } /** *

Provides the configuration information to connect to Google Drive as your * data source.

*/ inline void SetGoogleDriveConfiguration(GoogleDriveConfiguration&& value) { m_googleDriveConfigurationHasBeenSet = true; m_googleDriveConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Google Drive as your * data source.

*/ inline DataSourceConfiguration& WithGoogleDriveConfiguration(const GoogleDriveConfiguration& value) { SetGoogleDriveConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Google Drive as your * data source.

*/ inline DataSourceConfiguration& WithGoogleDriveConfiguration(GoogleDriveConfiguration&& value) { SetGoogleDriveConfiguration(std::move(value)); return *this;} inline const WebCrawlerConfiguration& GetWebCrawlerConfiguration() const{ return m_webCrawlerConfiguration; } inline bool WebCrawlerConfigurationHasBeenSet() const { return m_webCrawlerConfigurationHasBeenSet; } inline void SetWebCrawlerConfiguration(const WebCrawlerConfiguration& value) { m_webCrawlerConfigurationHasBeenSet = true; m_webCrawlerConfiguration = value; } inline void SetWebCrawlerConfiguration(WebCrawlerConfiguration&& value) { m_webCrawlerConfigurationHasBeenSet = true; m_webCrawlerConfiguration = std::move(value); } inline DataSourceConfiguration& WithWebCrawlerConfiguration(const WebCrawlerConfiguration& value) { SetWebCrawlerConfiguration(value); return *this;} inline DataSourceConfiguration& WithWebCrawlerConfiguration(WebCrawlerConfiguration&& value) { SetWebCrawlerConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Amazon WorkDocs as your * data source.

*/ inline const WorkDocsConfiguration& GetWorkDocsConfiguration() const{ return m_workDocsConfiguration; } /** *

Provides the configuration information to connect to Amazon WorkDocs as your * data source.

*/ inline bool WorkDocsConfigurationHasBeenSet() const { return m_workDocsConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Amazon WorkDocs as your * data source.

*/ inline void SetWorkDocsConfiguration(const WorkDocsConfiguration& value) { m_workDocsConfigurationHasBeenSet = true; m_workDocsConfiguration = value; } /** *

Provides the configuration information to connect to Amazon WorkDocs as your * data source.

*/ inline void SetWorkDocsConfiguration(WorkDocsConfiguration&& value) { m_workDocsConfigurationHasBeenSet = true; m_workDocsConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Amazon WorkDocs as your * data source.

*/ inline DataSourceConfiguration& WithWorkDocsConfiguration(const WorkDocsConfiguration& value) { SetWorkDocsConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Amazon WorkDocs as your * data source.

*/ inline DataSourceConfiguration& WithWorkDocsConfiguration(WorkDocsConfiguration&& value) { SetWorkDocsConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Amazon FSx as your data * source.

*/ inline const FsxConfiguration& GetFsxConfiguration() const{ return m_fsxConfiguration; } /** *

Provides the configuration information to connect to Amazon FSx as your data * source.

*/ inline bool FsxConfigurationHasBeenSet() const { return m_fsxConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Amazon FSx as your data * source.

*/ inline void SetFsxConfiguration(const FsxConfiguration& value) { m_fsxConfigurationHasBeenSet = true; m_fsxConfiguration = value; } /** *

Provides the configuration information to connect to Amazon FSx as your data * source.

*/ inline void SetFsxConfiguration(FsxConfiguration&& value) { m_fsxConfigurationHasBeenSet = true; m_fsxConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Amazon FSx as your data * source.

*/ inline DataSourceConfiguration& WithFsxConfiguration(const FsxConfiguration& value) { SetFsxConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Amazon FSx as your data * source.

*/ inline DataSourceConfiguration& WithFsxConfiguration(FsxConfiguration&& value) { SetFsxConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Slack as your data * source.

*/ inline const SlackConfiguration& GetSlackConfiguration() const{ return m_slackConfiguration; } /** *

Provides the configuration information to connect to Slack as your data * source.

*/ inline bool SlackConfigurationHasBeenSet() const { return m_slackConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Slack as your data * source.

*/ inline void SetSlackConfiguration(const SlackConfiguration& value) { m_slackConfigurationHasBeenSet = true; m_slackConfiguration = value; } /** *

Provides the configuration information to connect to Slack as your data * source.

*/ inline void SetSlackConfiguration(SlackConfiguration&& value) { m_slackConfigurationHasBeenSet = true; m_slackConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Slack as your data * source.

*/ inline DataSourceConfiguration& WithSlackConfiguration(const SlackConfiguration& value) { SetSlackConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Slack as your data * source.

*/ inline DataSourceConfiguration& WithSlackConfiguration(SlackConfiguration&& value) { SetSlackConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Box as your data * source.

*/ inline const BoxConfiguration& GetBoxConfiguration() const{ return m_boxConfiguration; } /** *

Provides the configuration information to connect to Box as your data * source.

*/ inline bool BoxConfigurationHasBeenSet() const { return m_boxConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Box as your data * source.

*/ inline void SetBoxConfiguration(const BoxConfiguration& value) { m_boxConfigurationHasBeenSet = true; m_boxConfiguration = value; } /** *

Provides the configuration information to connect to Box as your data * source.

*/ inline void SetBoxConfiguration(BoxConfiguration&& value) { m_boxConfigurationHasBeenSet = true; m_boxConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Box as your data * source.

*/ inline DataSourceConfiguration& WithBoxConfiguration(const BoxConfiguration& value) { SetBoxConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Box as your data * source.

*/ inline DataSourceConfiguration& WithBoxConfiguration(BoxConfiguration&& value) { SetBoxConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Quip as your data * source.

*/ inline const QuipConfiguration& GetQuipConfiguration() const{ return m_quipConfiguration; } /** *

Provides the configuration information to connect to Quip as your data * source.

*/ inline bool QuipConfigurationHasBeenSet() const { return m_quipConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Quip as your data * source.

*/ inline void SetQuipConfiguration(const QuipConfiguration& value) { m_quipConfigurationHasBeenSet = true; m_quipConfiguration = value; } /** *

Provides the configuration information to connect to Quip as your data * source.

*/ inline void SetQuipConfiguration(QuipConfiguration&& value) { m_quipConfigurationHasBeenSet = true; m_quipConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Quip as your data * source.

*/ inline DataSourceConfiguration& WithQuipConfiguration(const QuipConfiguration& value) { SetQuipConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Quip as your data * source.

*/ inline DataSourceConfiguration& WithQuipConfiguration(QuipConfiguration&& value) { SetQuipConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to Jira as your data * source.

*/ inline const JiraConfiguration& GetJiraConfiguration() const{ return m_jiraConfiguration; } /** *

Provides the configuration information to connect to Jira as your data * source.

*/ inline bool JiraConfigurationHasBeenSet() const { return m_jiraConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to Jira as your data * source.

*/ inline void SetJiraConfiguration(const JiraConfiguration& value) { m_jiraConfigurationHasBeenSet = true; m_jiraConfiguration = value; } /** *

Provides the configuration information to connect to Jira as your data * source.

*/ inline void SetJiraConfiguration(JiraConfiguration&& value) { m_jiraConfigurationHasBeenSet = true; m_jiraConfiguration = std::move(value); } /** *

Provides the configuration information to connect to Jira as your data * source.

*/ inline DataSourceConfiguration& WithJiraConfiguration(const JiraConfiguration& value) { SetJiraConfiguration(value); return *this;} /** *

Provides the configuration information to connect to Jira as your data * source.

*/ inline DataSourceConfiguration& WithJiraConfiguration(JiraConfiguration&& value) { SetJiraConfiguration(std::move(value)); return *this;} /** *

Provides the configuration information to connect to GitHub as your data * source.

*/ inline const GitHubConfiguration& GetGitHubConfiguration() const{ return m_gitHubConfiguration; } /** *

Provides the configuration information to connect to GitHub as your data * source.

*/ inline bool GitHubConfigurationHasBeenSet() const { return m_gitHubConfigurationHasBeenSet; } /** *

Provides the configuration information to connect to GitHub as your data * source.

*/ inline void SetGitHubConfiguration(const GitHubConfiguration& value) { m_gitHubConfigurationHasBeenSet = true; m_gitHubConfiguration = value; } /** *

Provides the configuration information to connect to GitHub as your data * source.

*/ inline void SetGitHubConfiguration(GitHubConfiguration&& value) { m_gitHubConfigurationHasBeenSet = true; m_gitHubConfiguration = std::move(value); } /** *

Provides the configuration information to connect to GitHub as your data * source.

*/ inline DataSourceConfiguration& WithGitHubConfiguration(const GitHubConfiguration& value) { SetGitHubConfiguration(value); return *this;} /** *

Provides the configuration information to connect to GitHub as your data * source.

*/ inline DataSourceConfiguration& WithGitHubConfiguration(GitHubConfiguration&& value) { SetGitHubConfiguration(std::move(value)); return *this;} /** *

Provides a template for the configuration information to connect to your data * source.

*/ inline const TemplateConfiguration& GetTemplateConfiguration() const{ return m_templateConfiguration; } /** *

Provides a template for the configuration information to connect to your data * source.

*/ inline bool TemplateConfigurationHasBeenSet() const { return m_templateConfigurationHasBeenSet; } /** *

Provides a template for the configuration information to connect to your data * source.

*/ inline void SetTemplateConfiguration(const TemplateConfiguration& value) { m_templateConfigurationHasBeenSet = true; m_templateConfiguration = value; } /** *

Provides a template for the configuration information to connect to your data * source.

*/ inline void SetTemplateConfiguration(TemplateConfiguration&& value) { m_templateConfigurationHasBeenSet = true; m_templateConfiguration = std::move(value); } /** *

Provides a template for the configuration information to connect to your data * source.

*/ inline DataSourceConfiguration& WithTemplateConfiguration(const TemplateConfiguration& value) { SetTemplateConfiguration(value); return *this;} /** *

Provides a template for the configuration information to connect to your data * source.

*/ inline DataSourceConfiguration& WithTemplateConfiguration(TemplateConfiguration&& value) { SetTemplateConfiguration(std::move(value)); return *this;} private: S3DataSourceConfiguration m_s3Configuration; bool m_s3ConfigurationHasBeenSet = false; SharePointConfiguration m_sharePointConfiguration; bool m_sharePointConfigurationHasBeenSet = false; DatabaseConfiguration m_databaseConfiguration; bool m_databaseConfigurationHasBeenSet = false; SalesforceConfiguration m_salesforceConfiguration; bool m_salesforceConfigurationHasBeenSet = false; OneDriveConfiguration m_oneDriveConfiguration; bool m_oneDriveConfigurationHasBeenSet = false; ServiceNowConfiguration m_serviceNowConfiguration; bool m_serviceNowConfigurationHasBeenSet = false; ConfluenceConfiguration m_confluenceConfiguration; bool m_confluenceConfigurationHasBeenSet = false; GoogleDriveConfiguration m_googleDriveConfiguration; bool m_googleDriveConfigurationHasBeenSet = false; WebCrawlerConfiguration m_webCrawlerConfiguration; bool m_webCrawlerConfigurationHasBeenSet = false; WorkDocsConfiguration m_workDocsConfiguration; bool m_workDocsConfigurationHasBeenSet = false; FsxConfiguration m_fsxConfiguration; bool m_fsxConfigurationHasBeenSet = false; SlackConfiguration m_slackConfiguration; bool m_slackConfigurationHasBeenSet = false; BoxConfiguration m_boxConfiguration; bool m_boxConfigurationHasBeenSet = false; QuipConfiguration m_quipConfiguration; bool m_quipConfigurationHasBeenSet = false; JiraConfiguration m_jiraConfiguration; bool m_jiraConfigurationHasBeenSet = false; GitHubConfiguration m_gitHubConfiguration; bool m_gitHubConfigurationHasBeenSet = false; TemplateConfiguration m_templateConfiguration; bool m_templateConfigurationHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws