/** * 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 CloudWatchEvents { namespace Model { /** *

These are custom parameters to be used when the target is a Amazon Redshift * cluster to invoke the Amazon Redshift Data API ExecuteStatement based on * EventBridge events.

See Also:

AWS * API Reference

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

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline const Aws::String& GetSecretManagerArn() const{ return m_secretManagerArn; } /** *

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline bool SecretManagerArnHasBeenSet() const { return m_secretManagerArnHasBeenSet; } /** *

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline void SetSecretManagerArn(const Aws::String& value) { m_secretManagerArnHasBeenSet = true; m_secretManagerArn = value; } /** *

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline void SetSecretManagerArn(Aws::String&& value) { m_secretManagerArnHasBeenSet = true; m_secretManagerArn = std::move(value); } /** *

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline void SetSecretManagerArn(const char* value) { m_secretManagerArnHasBeenSet = true; m_secretManagerArn.assign(value); } /** *

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline RedshiftDataParameters& WithSecretManagerArn(const Aws::String& value) { SetSecretManagerArn(value); return *this;} /** *

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline RedshiftDataParameters& WithSecretManagerArn(Aws::String&& value) { SetSecretManagerArn(std::move(value)); return *this;} /** *

The name or ARN of the secret that enables access to the database. Required * when authenticating using Amazon Web Services Secrets Manager.

*/ inline RedshiftDataParameters& WithSecretManagerArn(const char* value) { SetSecretManagerArn(value); return *this;} /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline const Aws::String& GetDatabase() const{ return m_database; } /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline bool DatabaseHasBeenSet() const { return m_databaseHasBeenSet; } /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline void SetDatabase(const Aws::String& value) { m_databaseHasBeenSet = true; m_database = value; } /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline void SetDatabase(Aws::String&& value) { m_databaseHasBeenSet = true; m_database = std::move(value); } /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline void SetDatabase(const char* value) { m_databaseHasBeenSet = true; m_database.assign(value); } /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline RedshiftDataParameters& WithDatabase(const Aws::String& value) { SetDatabase(value); return *this;} /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline RedshiftDataParameters& WithDatabase(Aws::String&& value) { SetDatabase(std::move(value)); return *this;} /** *

The name of the database. Required when authenticating using temporary * credentials.

*/ inline RedshiftDataParameters& WithDatabase(const char* value) { SetDatabase(value); return *this;} /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline const Aws::String& GetDbUser() const{ return m_dbUser; } /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline bool DbUserHasBeenSet() const { return m_dbUserHasBeenSet; } /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline void SetDbUser(const Aws::String& value) { m_dbUserHasBeenSet = true; m_dbUser = value; } /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline void SetDbUser(Aws::String&& value) { m_dbUserHasBeenSet = true; m_dbUser = std::move(value); } /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline void SetDbUser(const char* value) { m_dbUserHasBeenSet = true; m_dbUser.assign(value); } /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline RedshiftDataParameters& WithDbUser(const Aws::String& value) { SetDbUser(value); return *this;} /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline RedshiftDataParameters& WithDbUser(Aws::String&& value) { SetDbUser(std::move(value)); return *this;} /** *

The database user name. Required when authenticating using temporary * credentials.

*/ inline RedshiftDataParameters& WithDbUser(const char* value) { SetDbUser(value); return *this;} /** *

The SQL statement text to run.

*/ inline const Aws::String& GetSql() const{ return m_sql; } /** *

The SQL statement text to run.

*/ inline bool SqlHasBeenSet() const { return m_sqlHasBeenSet; } /** *

The SQL statement text to run.

*/ inline void SetSql(const Aws::String& value) { m_sqlHasBeenSet = true; m_sql = value; } /** *

The SQL statement text to run.

*/ inline void SetSql(Aws::String&& value) { m_sqlHasBeenSet = true; m_sql = std::move(value); } /** *

The SQL statement text to run.

*/ inline void SetSql(const char* value) { m_sqlHasBeenSet = true; m_sql.assign(value); } /** *

The SQL statement text to run.

*/ inline RedshiftDataParameters& WithSql(const Aws::String& value) { SetSql(value); return *this;} /** *

The SQL statement text to run.

*/ inline RedshiftDataParameters& WithSql(Aws::String&& value) { SetSql(std::move(value)); return *this;} /** *

The SQL statement text to run.

*/ inline RedshiftDataParameters& WithSql(const char* value) { SetSql(value); return *this;} /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline const Aws::String& GetStatementName() const{ return m_statementName; } /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline bool StatementNameHasBeenSet() const { return m_statementNameHasBeenSet; } /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline void SetStatementName(const Aws::String& value) { m_statementNameHasBeenSet = true; m_statementName = value; } /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline void SetStatementName(Aws::String&& value) { m_statementNameHasBeenSet = true; m_statementName = std::move(value); } /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline void SetStatementName(const char* value) { m_statementNameHasBeenSet = true; m_statementName.assign(value); } /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline RedshiftDataParameters& WithStatementName(const Aws::String& value) { SetStatementName(value); return *this;} /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline RedshiftDataParameters& WithStatementName(Aws::String&& value) { SetStatementName(std::move(value)); return *this;} /** *

The name of the SQL statement. You can name the SQL statement when you create * it to identify the query.

*/ inline RedshiftDataParameters& WithStatementName(const char* value) { SetStatementName(value); return *this;} /** *

Indicates whether to send an event back to EventBridge after the SQL * statement runs.

*/ inline bool GetWithEvent() const{ return m_withEvent; } /** *

Indicates whether to send an event back to EventBridge after the SQL * statement runs.

*/ inline bool WithEventHasBeenSet() const { return m_withEventHasBeenSet; } /** *

Indicates whether to send an event back to EventBridge after the SQL * statement runs.

*/ inline void SetWithEvent(bool value) { m_withEventHasBeenSet = true; m_withEvent = value; } /** *

Indicates whether to send an event back to EventBridge after the SQL * statement runs.

*/ inline RedshiftDataParameters& WithWithEvent(bool value) { SetWithEvent(value); return *this;} private: Aws::String m_secretManagerArn; bool m_secretManagerArnHasBeenSet = false; Aws::String m_database; bool m_databaseHasBeenSet = false; Aws::String m_dbUser; bool m_dbUserHasBeenSet = false; Aws::String m_sql; bool m_sqlHasBeenSet = false; Aws::String m_statementName; bool m_statementNameHasBeenSet = false; bool m_withEvent; bool m_withEventHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchEvents } // namespace Aws