/** * 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 { /** *

Provides the configuration information to connect to a index.

See * Also:

AWS * API Reference

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

The type of database engine that runs the database.

*/ inline const DatabaseEngineType& GetDatabaseEngineType() const{ return m_databaseEngineType; } /** *

The type of database engine that runs the database.

*/ inline bool DatabaseEngineTypeHasBeenSet() const { return m_databaseEngineTypeHasBeenSet; } /** *

The type of database engine that runs the database.

*/ inline void SetDatabaseEngineType(const DatabaseEngineType& value) { m_databaseEngineTypeHasBeenSet = true; m_databaseEngineType = value; } /** *

The type of database engine that runs the database.

*/ inline void SetDatabaseEngineType(DatabaseEngineType&& value) { m_databaseEngineTypeHasBeenSet = true; m_databaseEngineType = std::move(value); } /** *

The type of database engine that runs the database.

*/ inline DatabaseConfiguration& WithDatabaseEngineType(const DatabaseEngineType& value) { SetDatabaseEngineType(value); return *this;} /** *

The type of database engine that runs the database.

*/ inline DatabaseConfiguration& WithDatabaseEngineType(DatabaseEngineType&& value) { SetDatabaseEngineType(std::move(value)); return *this;} /** *

Configuration information that's required to connect to a database.

*/ inline const ConnectionConfiguration& GetConnectionConfiguration() const{ return m_connectionConfiguration; } /** *

Configuration information that's required to connect to a database.

*/ inline bool ConnectionConfigurationHasBeenSet() const { return m_connectionConfigurationHasBeenSet; } /** *

Configuration information that's required to connect to a database.

*/ inline void SetConnectionConfiguration(const ConnectionConfiguration& value) { m_connectionConfigurationHasBeenSet = true; m_connectionConfiguration = value; } /** *

Configuration information that's required to connect to a database.

*/ inline void SetConnectionConfiguration(ConnectionConfiguration&& value) { m_connectionConfigurationHasBeenSet = true; m_connectionConfiguration = std::move(value); } /** *

Configuration information that's required to connect to a database.

*/ inline DatabaseConfiguration& WithConnectionConfiguration(const ConnectionConfiguration& value) { SetConnectionConfiguration(value); return *this;} /** *

Configuration information that's required to connect to a database.

*/ inline DatabaseConfiguration& WithConnectionConfiguration(ConnectionConfiguration&& value) { SetConnectionConfiguration(std::move(value)); return *this;} inline const DataSourceVpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; } inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; } inline void SetVpcConfiguration(const DataSourceVpcConfiguration& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = value; } inline void SetVpcConfiguration(DataSourceVpcConfiguration&& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = std::move(value); } inline DatabaseConfiguration& WithVpcConfiguration(const DataSourceVpcConfiguration& value) { SetVpcConfiguration(value); return *this;} inline DatabaseConfiguration& WithVpcConfiguration(DataSourceVpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} /** *

Information about where the index should get the document information from * the database.

*/ inline const ColumnConfiguration& GetColumnConfiguration() const{ return m_columnConfiguration; } /** *

Information about where the index should get the document information from * the database.

*/ inline bool ColumnConfigurationHasBeenSet() const { return m_columnConfigurationHasBeenSet; } /** *

Information about where the index should get the document information from * the database.

*/ inline void SetColumnConfiguration(const ColumnConfiguration& value) { m_columnConfigurationHasBeenSet = true; m_columnConfiguration = value; } /** *

Information about where the index should get the document information from * the database.

*/ inline void SetColumnConfiguration(ColumnConfiguration&& value) { m_columnConfigurationHasBeenSet = true; m_columnConfiguration = std::move(value); } /** *

Information about where the index should get the document information from * the database.

*/ inline DatabaseConfiguration& WithColumnConfiguration(const ColumnConfiguration& value) { SetColumnConfiguration(value); return *this;} /** *

Information about where the index should get the document information from * the database.

*/ inline DatabaseConfiguration& WithColumnConfiguration(ColumnConfiguration&& value) { SetColumnConfiguration(std::move(value)); return *this;} /** *

Information about the database column that provides information for user * context filtering.

*/ inline const AclConfiguration& GetAclConfiguration() const{ return m_aclConfiguration; } /** *

Information about the database column that provides information for user * context filtering.

*/ inline bool AclConfigurationHasBeenSet() const { return m_aclConfigurationHasBeenSet; } /** *

Information about the database column that provides information for user * context filtering.

*/ inline void SetAclConfiguration(const AclConfiguration& value) { m_aclConfigurationHasBeenSet = true; m_aclConfiguration = value; } /** *

Information about the database column that provides information for user * context filtering.

*/ inline void SetAclConfiguration(AclConfiguration&& value) { m_aclConfigurationHasBeenSet = true; m_aclConfiguration = std::move(value); } /** *

Information about the database column that provides information for user * context filtering.

*/ inline DatabaseConfiguration& WithAclConfiguration(const AclConfiguration& value) { SetAclConfiguration(value); return *this;} /** *

Information about the database column that provides information for user * context filtering.

*/ inline DatabaseConfiguration& WithAclConfiguration(AclConfiguration&& value) { SetAclConfiguration(std::move(value)); return *this;} /** *

Provides information about how Amazon Kendra uses quote marks around SQL * identifiers when querying a database data source.

*/ inline const SqlConfiguration& GetSqlConfiguration() const{ return m_sqlConfiguration; } /** *

Provides information about how Amazon Kendra uses quote marks around SQL * identifiers when querying a database data source.

*/ inline bool SqlConfigurationHasBeenSet() const { return m_sqlConfigurationHasBeenSet; } /** *

Provides information about how Amazon Kendra uses quote marks around SQL * identifiers when querying a database data source.

*/ inline void SetSqlConfiguration(const SqlConfiguration& value) { m_sqlConfigurationHasBeenSet = true; m_sqlConfiguration = value; } /** *

Provides information about how Amazon Kendra uses quote marks around SQL * identifiers when querying a database data source.

*/ inline void SetSqlConfiguration(SqlConfiguration&& value) { m_sqlConfigurationHasBeenSet = true; m_sqlConfiguration = std::move(value); } /** *

Provides information about how Amazon Kendra uses quote marks around SQL * identifiers when querying a database data source.

*/ inline DatabaseConfiguration& WithSqlConfiguration(const SqlConfiguration& value) { SetSqlConfiguration(value); return *this;} /** *

Provides information about how Amazon Kendra uses quote marks around SQL * identifiers when querying a database data source.

*/ inline DatabaseConfiguration& WithSqlConfiguration(SqlConfiguration&& value) { SetSqlConfiguration(std::move(value)); return *this;} private: DatabaseEngineType m_databaseEngineType; bool m_databaseEngineTypeHasBeenSet = false; ConnectionConfiguration m_connectionConfiguration; bool m_connectionConfigurationHasBeenSet = false; DataSourceVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; ColumnConfiguration m_columnConfiguration; bool m_columnConfigurationHasBeenSet = false; AclConfiguration m_aclConfiguration; bool m_aclConfigurationHasBeenSet = false; SqlConfiguration m_sqlConfiguration; bool m_sqlConfigurationHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws