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

The parameters for Amazon Redshift. The ClusterId field can be * blank if Host and Port are both set. The * Host and Port fields can be blank if the * ClusterId field is set.

See Also:

AWS * API Reference

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

Host. This field can be blank if ClusterId is provided.

*/ inline const Aws::String& GetHost() const{ return m_host; } /** *

Host. This field can be blank if ClusterId is provided.

*/ inline bool HostHasBeenSet() const { return m_hostHasBeenSet; } /** *

Host. This field can be blank if ClusterId is provided.

*/ inline void SetHost(const Aws::String& value) { m_hostHasBeenSet = true; m_host = value; } /** *

Host. This field can be blank if ClusterId is provided.

*/ inline void SetHost(Aws::String&& value) { m_hostHasBeenSet = true; m_host = std::move(value); } /** *

Host. This field can be blank if ClusterId is provided.

*/ inline void SetHost(const char* value) { m_hostHasBeenSet = true; m_host.assign(value); } /** *

Host. This field can be blank if ClusterId is provided.

*/ inline RedshiftParameters& WithHost(const Aws::String& value) { SetHost(value); return *this;} /** *

Host. This field can be blank if ClusterId is provided.

*/ inline RedshiftParameters& WithHost(Aws::String&& value) { SetHost(std::move(value)); return *this;} /** *

Host. This field can be blank if ClusterId is provided.

*/ inline RedshiftParameters& WithHost(const char* value) { SetHost(value); return *this;} /** *

Port. This field can be blank if the ClusterId is provided.

*/ inline int GetPort() const{ return m_port; } /** *

Port. This field can be blank if the ClusterId is provided.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

Port. This field can be blank if the ClusterId is provided.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

Port. This field can be blank if the ClusterId is provided.

*/ inline RedshiftParameters& WithPort(int value) { SetPort(value); return *this;} /** *

Database.

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

Database.

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

Database.

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

Database.

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

Database.

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

Database.

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

Database.

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

Database.

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

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline const Aws::String& GetClusterId() const{ return m_clusterId; } /** *

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } /** *

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } /** *

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } /** *

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } /** *

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline RedshiftParameters& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} /** *

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline RedshiftParameters& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} /** *

Cluster ID. This field can be blank if the Host and * Port are provided.

*/ inline RedshiftParameters& WithClusterId(const char* value) { SetClusterId(value); return *this;} private: Aws::String m_host; bool m_hostHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_database; bool m_databaseHasBeenSet = false; Aws::String m_clusterId; bool m_clusterIdHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws