/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace QuickSight { namespace Model { /** *

Data source credentials. This is a variant type structure. For this structure * to be valid, only one of the attributes can be non-null.

See * Also:

AWS * API Reference

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

Credential pair. For more information, see CredentialPair * .

*/ inline const CredentialPair& GetCredentialPair() const{ return m_credentialPair; } /** *

Credential pair. For more information, see CredentialPair * .

*/ inline bool CredentialPairHasBeenSet() const { return m_credentialPairHasBeenSet; } /** *

Credential pair. For more information, see CredentialPair * .

*/ inline void SetCredentialPair(const CredentialPair& value) { m_credentialPairHasBeenSet = true; m_credentialPair = value; } /** *

Credential pair. For more information, see CredentialPair * .

*/ inline void SetCredentialPair(CredentialPair&& value) { m_credentialPairHasBeenSet = true; m_credentialPair = std::move(value); } /** *

Credential pair. For more information, see CredentialPair * .

*/ inline DataSourceCredentials& WithCredentialPair(const CredentialPair& value) { SetCredentialPair(value); return *this;} /** *

Credential pair. For more information, see CredentialPair * .

*/ inline DataSourceCredentials& WithCredentialPair(CredentialPair&& value) { SetCredentialPair(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline const Aws::String& GetCopySourceArn() const{ return m_copySourceArn; } /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline bool CopySourceArnHasBeenSet() const { return m_copySourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline void SetCopySourceArn(const Aws::String& value) { m_copySourceArnHasBeenSet = true; m_copySourceArn = value; } /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline void SetCopySourceArn(Aws::String&& value) { m_copySourceArnHasBeenSet = true; m_copySourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline void SetCopySourceArn(const char* value) { m_copySourceArnHasBeenSet = true; m_copySourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline DataSourceCredentials& WithCopySourceArn(const Aws::String& value) { SetCopySourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline DataSourceCredentials& WithCopySourceArn(Aws::String&& value) { SetCopySourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair * that you want to use. When CopySourceArn is not null, the * credential pair from the data source in the ARN is used as the credentials for * the DataSourceCredentials structure.

*/ inline DataSourceCredentials& WithCopySourceArn(const char* value) { SetCopySourceArn(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 DataSourceCredentials& 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 DataSourceCredentials& 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 DataSourceCredentials& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} private: CredentialPair m_credentialPair; bool m_credentialPairHasBeenSet = false; Aws::String m_copySourceArn; bool m_copySourceArnHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws