/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace kendra { namespace Model { /** *

Configuration information for a Amazon Kendra data source.

See * Also:

AWS * API Reference

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

Provides information to create a connector for a document repository in an * Amazon S3 bucket.

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

Provides information to create a connector for a document repository in an * Amazon S3 bucket.

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

Provides information to create a connector for a document repository in an * Amazon S3 bucket.

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

Provides information to create a connector for a document repository in an * Amazon S3 bucket.

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

Provides information to create a connector for a document repository in an * Amazon S3 bucket.

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

Provides information to create a connector for a document repository in an * Amazon S3 bucket.

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

Provides information necessary to create a connector for a Microsoft * SharePoint site.

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

Provides information necessary to create a connector for a Microsoft * SharePoint site.

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

Provides information necessary to create a connector for a Microsoft * SharePoint site.

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

Provides information necessary to create a connector for a Microsoft * SharePoint site.

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

Provides information necessary to create a connector for a Microsoft * SharePoint site.

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

Provides information necessary to create a connector for a Microsoft * SharePoint site.

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

Provides information necessary to create a connector for a database.

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

Provides information necessary to create a connector for a database.

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

Provides information necessary to create a connector for a database.

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

Provides information necessary to create a connector for a database.

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

Provides information necessary to create a connector for a database.

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

Provides information necessary to create a connector for a database.

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

Provides configuration information for data sources that connect to a * Salesforce site.

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

Provides configuration information for data sources that connect to a * Salesforce site.

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

Provides configuration information for data sources that connect to a * Salesforce site.

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

Provides configuration information for data sources that connect to a * Salesforce site.

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

Provides configuration information for data sources that connect to a * Salesforce site.

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

Provides configuration information for data sources that connect to a * Salesforce site.

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

Provided configuration for data sources that connect to Microsoft * OneDrive.

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

Provided configuration for data sources that connect to Microsoft * OneDrive.

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

Provided configuration for data sources that connect to Microsoft * OneDrive.

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

Provided configuration for data sources that connect to Microsoft * OneDrive.

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

Provided configuration for data sources that connect to Microsoft * OneDrive.

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

Provided configuration for data sources that connect to Microsoft * OneDrive.

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

Provides configuration for data sources that connect to ServiceNow * instances.

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

Provides configuration for data sources that connect to ServiceNow * instances.

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

Provides configuration for data sources that connect to ServiceNow * instances.

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

Provides configuration for data sources that connect to ServiceNow * instances.

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

Provides configuration for data sources that connect to ServiceNow * instances.

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

Provides configuration for data sources that connect to ServiceNow * instances.

*/ inline DataSourceConfiguration& WithServiceNowConfiguration(ServiceNowConfiguration&& value) { SetServiceNowConfiguration(std::move(value)); return *this;} private: S3DataSourceConfiguration m_s3Configuration; bool m_s3ConfigurationHasBeenSet; SharePointConfiguration m_sharePointConfiguration; bool m_sharePointConfigurationHasBeenSet; DatabaseConfiguration m_databaseConfiguration; bool m_databaseConfigurationHasBeenSet; SalesforceConfiguration m_salesforceConfiguration; bool m_salesforceConfigurationHasBeenSet; OneDriveConfiguration m_oneDriveConfiguration; bool m_oneDriveConfigurationHasBeenSet; ServiceNowConfiguration m_serviceNowConfiguration; bool m_serviceNowConfigurationHasBeenSet; }; } // namespace Model } // namespace kendra } // namespace Aws