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

The structure of a data source.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the data source.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the data source.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the data source.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the data source.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the data source.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the data source.

*/ inline DataSource& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the data source.

*/ inline DataSource& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the data source.

*/ inline DataSource& WithArn(const char* value) { SetArn(value); return *this;} /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline DataSource& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline DataSource& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} /** *

The ID of the data source. This ID is unique per Amazon Web Services Region * for each Amazon Web Services account.

*/ inline DataSource& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} /** *

A display name for the data source.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

A display name for the data source.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

A display name for the data source.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

A display name for the data source.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

A display name for the data source.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

A display name for the data source.

*/ inline DataSource& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

A display name for the data source.

*/ inline DataSource& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

A display name for the data source.

*/ inline DataSource& WithName(const char* value) { SetName(value); return *this;} /** *

The type of the data source. This type indicates which database engine the * data source connects to.

*/ inline const DataSourceType& GetType() const{ return m_type; } /** *

The type of the data source. This type indicates which database engine the * data source connects to.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the data source. This type indicates which database engine the * data source connects to.

*/ inline void SetType(const DataSourceType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the data source. This type indicates which database engine the * data source connects to.

*/ inline void SetType(DataSourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the data source. This type indicates which database engine the * data source connects to.

*/ inline DataSource& WithType(const DataSourceType& value) { SetType(value); return *this;} /** *

The type of the data source. This type indicates which database engine the * data source connects to.

*/ inline DataSource& WithType(DataSourceType&& value) { SetType(std::move(value)); return *this;} /** *

The HTTP status of the request.

*/ inline const ResourceStatus& GetStatus() const{ return m_status; } /** *

The HTTP status of the request.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The HTTP status of the request.

*/ inline void SetStatus(const ResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The HTTP status of the request.

*/ inline void SetStatus(ResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The HTTP status of the request.

*/ inline DataSource& WithStatus(const ResourceStatus& value) { SetStatus(value); return *this;} /** *

The HTTP status of the request.

*/ inline DataSource& WithStatus(ResourceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The time that this data source was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

The time that this data source was created.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

The time that this data source was created.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

The time that this data source was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

The time that this data source was created.

*/ inline DataSource& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

The time that this data source was created.

*/ inline DataSource& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The last time that this data source was updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *

The last time that this data source was updated.

*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *

The last time that this data source was updated.

*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *

The last time that this data source was updated.

*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *

The last time that this data source was updated.

*/ inline DataSource& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *

The last time that this data source was updated.

*/ inline DataSource& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} /** *

The parameters that Amazon QuickSight uses to connect to your underlying * source. This is a variant type structure. For this structure to be valid, only * one of the attributes can be non-null.

*/ inline const DataSourceParameters& GetDataSourceParameters() const{ return m_dataSourceParameters; } /** *

The parameters that Amazon QuickSight uses to connect to your underlying * source. This is a variant type structure. For this structure to be valid, only * one of the attributes can be non-null.

*/ inline bool DataSourceParametersHasBeenSet() const { return m_dataSourceParametersHasBeenSet; } /** *

The parameters that Amazon QuickSight uses to connect to your underlying * source. This is a variant type structure. For this structure to be valid, only * one of the attributes can be non-null.

*/ inline void SetDataSourceParameters(const DataSourceParameters& value) { m_dataSourceParametersHasBeenSet = true; m_dataSourceParameters = value; } /** *

The parameters that Amazon QuickSight uses to connect to your underlying * source. This is a variant type structure. For this structure to be valid, only * one of the attributes can be non-null.

*/ inline void SetDataSourceParameters(DataSourceParameters&& value) { m_dataSourceParametersHasBeenSet = true; m_dataSourceParameters = std::move(value); } /** *

The parameters that Amazon QuickSight uses to connect to your underlying * source. This is a variant type structure. For this structure to be valid, only * one of the attributes can be non-null.

*/ inline DataSource& WithDataSourceParameters(const DataSourceParameters& value) { SetDataSourceParameters(value); return *this;} /** *

The parameters that Amazon QuickSight uses to connect to your underlying * source. This is a variant type structure. For this structure to be valid, only * one of the attributes can be non-null.

*/ inline DataSource& WithDataSourceParameters(DataSourceParameters&& value) { SetDataSourceParameters(std::move(value)); return *this;} /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline const Aws::Vector& GetAlternateDataSourceParameters() const{ return m_alternateDataSourceParameters; } /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline bool AlternateDataSourceParametersHasBeenSet() const { return m_alternateDataSourceParametersHasBeenSet; } /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline void SetAlternateDataSourceParameters(const Aws::Vector& value) { m_alternateDataSourceParametersHasBeenSet = true; m_alternateDataSourceParameters = value; } /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline void SetAlternateDataSourceParameters(Aws::Vector&& value) { m_alternateDataSourceParametersHasBeenSet = true; m_alternateDataSourceParameters = std::move(value); } /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline DataSource& WithAlternateDataSourceParameters(const Aws::Vector& value) { SetAlternateDataSourceParameters(value); return *this;} /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline DataSource& WithAlternateDataSourceParameters(Aws::Vector&& value) { SetAlternateDataSourceParameters(std::move(value)); return *this;} /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline DataSource& AddAlternateDataSourceParameters(const DataSourceParameters& value) { m_alternateDataSourceParametersHasBeenSet = true; m_alternateDataSourceParameters.push_back(value); return *this; } /** *

A set of alternate data source parameters that you want to share for the * credentials stored with this data source. The credentials are applied in tandem * with the data source parameters when you copy a data source by using a create or * update request. The API operation compares the DataSourceParameters * structure that's in the request with the structures in the * AlternateDataSourceParameters allow list. If the structures are an * exact match, the request is allowed to use the credentials from this existing * data source. If the AlternateDataSourceParameters list is null, the * Credentials originally used with this * DataSourceParameters are automatically allowed.

*/ inline DataSource& AddAlternateDataSourceParameters(DataSourceParameters&& value) { m_alternateDataSourceParametersHasBeenSet = true; m_alternateDataSourceParameters.push_back(std::move(value)); return *this; } /** *

The VPC connection information. You need to use this parameter only when you * want Amazon QuickSight to use a VPC connection when connecting to your * underlying source.

*/ inline const VpcConnectionProperties& GetVpcConnectionProperties() const{ return m_vpcConnectionProperties; } /** *

The VPC connection information. You need to use this parameter only when you * want Amazon QuickSight to use a VPC connection when connecting to your * underlying source.

*/ inline bool VpcConnectionPropertiesHasBeenSet() const { return m_vpcConnectionPropertiesHasBeenSet; } /** *

The VPC connection information. You need to use this parameter only when you * want Amazon QuickSight to use a VPC connection when connecting to your * underlying source.

*/ inline void SetVpcConnectionProperties(const VpcConnectionProperties& value) { m_vpcConnectionPropertiesHasBeenSet = true; m_vpcConnectionProperties = value; } /** *

The VPC connection information. You need to use this parameter only when you * want Amazon QuickSight to use a VPC connection when connecting to your * underlying source.

*/ inline void SetVpcConnectionProperties(VpcConnectionProperties&& value) { m_vpcConnectionPropertiesHasBeenSet = true; m_vpcConnectionProperties = std::move(value); } /** *

The VPC connection information. You need to use this parameter only when you * want Amazon QuickSight to use a VPC connection when connecting to your * underlying source.

*/ inline DataSource& WithVpcConnectionProperties(const VpcConnectionProperties& value) { SetVpcConnectionProperties(value); return *this;} /** *

The VPC connection information. You need to use this parameter only when you * want Amazon QuickSight to use a VPC connection when connecting to your * underlying source.

*/ inline DataSource& WithVpcConnectionProperties(VpcConnectionProperties&& value) { SetVpcConnectionProperties(std::move(value)); return *this;} /** *

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight * connects to your underlying source.

*/ inline const SslProperties& GetSslProperties() const{ return m_sslProperties; } /** *

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight * connects to your underlying source.

*/ inline bool SslPropertiesHasBeenSet() const { return m_sslPropertiesHasBeenSet; } /** *

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight * connects to your underlying source.

*/ inline void SetSslProperties(const SslProperties& value) { m_sslPropertiesHasBeenSet = true; m_sslProperties = value; } /** *

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight * connects to your underlying source.

*/ inline void SetSslProperties(SslProperties&& value) { m_sslPropertiesHasBeenSet = true; m_sslProperties = std::move(value); } /** *

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight * connects to your underlying source.

*/ inline DataSource& WithSslProperties(const SslProperties& value) { SetSslProperties(value); return *this;} /** *

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight * connects to your underlying source.

*/ inline DataSource& WithSslProperties(SslProperties&& value) { SetSslProperties(std::move(value)); return *this;} /** *

Error information from the last update or the creation of the data * source.

*/ inline const DataSourceErrorInfo& GetErrorInfo() const{ return m_errorInfo; } /** *

Error information from the last update or the creation of the data * source.

*/ inline bool ErrorInfoHasBeenSet() const { return m_errorInfoHasBeenSet; } /** *

Error information from the last update or the creation of the data * source.

*/ inline void SetErrorInfo(const DataSourceErrorInfo& value) { m_errorInfoHasBeenSet = true; m_errorInfo = value; } /** *

Error information from the last update or the creation of the data * source.

*/ inline void SetErrorInfo(DataSourceErrorInfo&& value) { m_errorInfoHasBeenSet = true; m_errorInfo = std::move(value); } /** *

Error information from the last update or the creation of the data * source.

*/ inline DataSource& WithErrorInfo(const DataSourceErrorInfo& value) { SetErrorInfo(value); return *this;} /** *

Error information from the last update or the creation of the data * source.

*/ inline DataSource& WithErrorInfo(DataSourceErrorInfo&& value) { SetErrorInfo(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

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

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

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

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

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

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

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

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

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

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

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

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

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

The Amazon Resource Name (ARN) of the secret associated with the data source * in Amazon Secrets Manager.

*/ inline DataSource& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_dataSourceId; bool m_dataSourceIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; DataSourceType m_type; bool m_typeHasBeenSet = false; ResourceStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; DataSourceParameters m_dataSourceParameters; bool m_dataSourceParametersHasBeenSet = false; Aws::Vector m_alternateDataSourceParameters; bool m_alternateDataSourceParametersHasBeenSet = false; VpcConnectionProperties m_vpcConnectionProperties; bool m_vpcConnectionPropertiesHasBeenSet = false; SslProperties m_sslProperties; bool m_sslPropertiesHasBeenSet = false; DataSourceErrorInfo m_errorInfo; bool m_errorInfoHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws