/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 that's required to connect to a * database.

See Also:

AWS * API Reference

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

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline const Aws::String& GetDatabaseHost() const{ return m_databaseHost; } /** *

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline bool DatabaseHostHasBeenSet() const { return m_databaseHostHasBeenSet; } /** *

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline void SetDatabaseHost(const Aws::String& value) { m_databaseHostHasBeenSet = true; m_databaseHost = value; } /** *

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline void SetDatabaseHost(Aws::String&& value) { m_databaseHostHasBeenSet = true; m_databaseHost = std::move(value); } /** *

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline void SetDatabaseHost(const char* value) { m_databaseHostHasBeenSet = true; m_databaseHost.assign(value); } /** *

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline ConnectionConfiguration& WithDatabaseHost(const Aws::String& value) { SetDatabaseHost(value); return *this;} /** *

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline ConnectionConfiguration& WithDatabaseHost(Aws::String&& value) { SetDatabaseHost(std::move(value)); return *this;} /** *

The name of the host for the database. Can be either a string * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

*/ inline ConnectionConfiguration& WithDatabaseHost(const char* value) { SetDatabaseHost(value); return *this;} /** *

The port that the database uses for connections.

*/ inline int GetDatabasePort() const{ return m_databasePort; } /** *

The port that the database uses for connections.

*/ inline bool DatabasePortHasBeenSet() const { return m_databasePortHasBeenSet; } /** *

The port that the database uses for connections.

*/ inline void SetDatabasePort(int value) { m_databasePortHasBeenSet = true; m_databasePort = value; } /** *

The port that the database uses for connections.

*/ inline ConnectionConfiguration& WithDatabasePort(int value) { SetDatabasePort(value); return *this;} /** *

The name of the database containing the document data.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The name of the database containing the document data.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The name of the database containing the document data.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The name of the database containing the document data.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The name of the database containing the document data.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The name of the database containing the document data.

*/ inline ConnectionConfiguration& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The name of the database containing the document data.

*/ inline ConnectionConfiguration& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The name of the database containing the document data.

*/ inline ConnectionConfiguration& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

The name of the table that contains the document data.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

The name of the table that contains the document data.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

The name of the table that contains the document data.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

The name of the table that contains the document data.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

The name of the table that contains the document data.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

The name of the table that contains the document data.

*/ inline ConnectionConfiguration& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

The name of the table that contains the document data.

*/ inline ConnectionConfiguration& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

The name of the table that contains the document data.

*/ inline ConnectionConfiguration& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline const Aws::String& GetSecretArn() const{ return m_secretArn; } /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline bool SecretArnHasBeenSet() const { return m_secretArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline void SetSecretArn(const Aws::String& value) { m_secretArnHasBeenSet = true; m_secretArn = value; } /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline void SetSecretArn(Aws::String&& value) { m_secretArnHasBeenSet = true; m_secretArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline void SetSecretArn(const char* value) { m_secretArnHasBeenSet = true; m_secretArn.assign(value); } /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline ConnectionConfiguration& WithSecretArn(const Aws::String& value) { SetSecretArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline ConnectionConfiguration& WithSecretArn(Aws::String&& value) { SetSecretArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The * credentials should be a user/password pair. For more information, see Using * a Database Data Source. For more information about Secrets Manager, see * What Is Secrets Manager in the Secrets Manager user guide.

*/ inline ConnectionConfiguration& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} private: Aws::String m_databaseHost; bool m_databaseHostHasBeenSet = false; int m_databasePort; bool m_databasePortHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws