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

Contains the delivery stream Amazon Resource Name (ARN), and the ARN of the * Identity and Access Management (IAM) role associated with an Kinesis Data * Firehose event destination.

Event destinations, such as Kinesis Data * Firehose, are associated with configuration sets, which enable you to publish * message sending events.

See Also:

AWS * API Reference

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

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline const Aws::String& GetIamRoleArn() const{ return m_iamRoleArn; } /** *

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; } /** *

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline void SetIamRoleArn(const Aws::String& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = value; } /** *

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline void SetIamRoleArn(Aws::String&& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = std::move(value); } /** *

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline void SetIamRoleArn(const char* value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn.assign(value); } /** *

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline KinesisFirehoseDestination& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); return *this;} /** *

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline KinesisFirehoseDestination& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); return *this;} /** *

The ARN of an Amazon Identity and Access Management (IAM) role that is able * to write event data to an Amazon Firehose destination.

*/ inline KinesisFirehoseDestination& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline const Aws::String& GetDeliveryStreamArn() const{ return m_deliveryStreamArn; } /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline bool DeliveryStreamArnHasBeenSet() const { return m_deliveryStreamArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline void SetDeliveryStreamArn(const Aws::String& value) { m_deliveryStreamArnHasBeenSet = true; m_deliveryStreamArn = value; } /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline void SetDeliveryStreamArn(Aws::String&& value) { m_deliveryStreamArnHasBeenSet = true; m_deliveryStreamArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline void SetDeliveryStreamArn(const char* value) { m_deliveryStreamArnHasBeenSet = true; m_deliveryStreamArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline KinesisFirehoseDestination& WithDeliveryStreamArn(const Aws::String& value) { SetDeliveryStreamArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline KinesisFirehoseDestination& WithDeliveryStreamArn(Aws::String&& value) { SetDeliveryStreamArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the delivery stream.

*/ inline KinesisFirehoseDestination& WithDeliveryStreamArn(const char* value) { SetDeliveryStreamArn(value); return *this;} private: Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; Aws::String m_deliveryStreamArn; bool m_deliveryStreamArnHasBeenSet = false; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws