/** * 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 Redshift { namespace Model { /** */ class AssociateDataShareConsumerRequest : public RedshiftRequest { public: AWS_REDSHIFT_API AssociateDataShareConsumerRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "AssociateDataShareConsumer"; } AWS_REDSHIFT_API Aws::String SerializePayload() const override; protected: AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline const Aws::String& GetDataShareArn() const{ return m_dataShareArn; } /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline bool DataShareArnHasBeenSet() const { return m_dataShareArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline void SetDataShareArn(const Aws::String& value) { m_dataShareArnHasBeenSet = true; m_dataShareArn = value; } /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline void SetDataShareArn(Aws::String&& value) { m_dataShareArnHasBeenSet = true; m_dataShareArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline void SetDataShareArn(const char* value) { m_dataShareArnHasBeenSet = true; m_dataShareArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline AssociateDataShareConsumerRequest& WithDataShareArn(const Aws::String& value) { SetDataShareArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline AssociateDataShareConsumerRequest& WithDataShareArn(Aws::String&& value) { SetDataShareArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the datashare that the consumer is to use * with the account or the namespace.

*/ inline AssociateDataShareConsumerRequest& WithDataShareArn(const char* value) { SetDataShareArn(value); return *this;} /** *

A value that specifies whether the datashare is associated with the entire * account.

*/ inline bool GetAssociateEntireAccount() const{ return m_associateEntireAccount; } /** *

A value that specifies whether the datashare is associated with the entire * account.

*/ inline bool AssociateEntireAccountHasBeenSet() const { return m_associateEntireAccountHasBeenSet; } /** *

A value that specifies whether the datashare is associated with the entire * account.

*/ inline void SetAssociateEntireAccount(bool value) { m_associateEntireAccountHasBeenSet = true; m_associateEntireAccount = value; } /** *

A value that specifies whether the datashare is associated with the entire * account.

*/ inline AssociateDataShareConsumerRequest& WithAssociateEntireAccount(bool value) { SetAssociateEntireAccount(value); return *this;} /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline const Aws::String& GetConsumerArn() const{ return m_consumerArn; } /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline bool ConsumerArnHasBeenSet() const { return m_consumerArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline void SetConsumerArn(const Aws::String& value) { m_consumerArnHasBeenSet = true; m_consumerArn = value; } /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline void SetConsumerArn(Aws::String&& value) { m_consumerArnHasBeenSet = true; m_consumerArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline void SetConsumerArn(const char* value) { m_consumerArnHasBeenSet = true; m_consumerArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline AssociateDataShareConsumerRequest& WithConsumerArn(const Aws::String& value) { SetConsumerArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline AssociateDataShareConsumerRequest& WithConsumerArn(Aws::String&& value) { SetConsumerArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the consumer that is associated with the * datashare.

*/ inline AssociateDataShareConsumerRequest& WithConsumerArn(const char* value) { SetConsumerArn(value); return *this;} /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline const Aws::String& GetConsumerRegion() const{ return m_consumerRegion; } /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline bool ConsumerRegionHasBeenSet() const { return m_consumerRegionHasBeenSet; } /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline void SetConsumerRegion(const Aws::String& value) { m_consumerRegionHasBeenSet = true; m_consumerRegion = value; } /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline void SetConsumerRegion(Aws::String&& value) { m_consumerRegionHasBeenSet = true; m_consumerRegion = std::move(value); } /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline void SetConsumerRegion(const char* value) { m_consumerRegionHasBeenSet = true; m_consumerRegion.assign(value); } /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline AssociateDataShareConsumerRequest& WithConsumerRegion(const Aws::String& value) { SetConsumerRegion(value); return *this;} /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline AssociateDataShareConsumerRequest& WithConsumerRegion(Aws::String&& value) { SetConsumerRegion(std::move(value)); return *this;} /** *

From a datashare consumer account, associates a datashare with all existing * and future namespaces in the specified Amazon Web Services Region.

*/ inline AssociateDataShareConsumerRequest& WithConsumerRegion(const char* value) { SetConsumerRegion(value); return *this;} private: Aws::String m_dataShareArn; bool m_dataShareArnHasBeenSet = false; bool m_associateEntireAccount; bool m_associateEntireAccountHasBeenSet = false; Aws::String m_consumerArn; bool m_consumerArnHasBeenSet = false; Aws::String m_consumerRegion; bool m_consumerRegionHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws