/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace SES { namespace Model { /** *

Contains the delivery stream ARN and the IAM role ARN associated with an * Amazon Kinesis Firehose event destination.

Event destinations, such as * Amazon Kinesis Firehose, are associated with configuration sets, which enable * you to publish email sending events. For information about using configuration * sets, see the Amazon * SES Developer Guide.

See Also:

AWS * API Reference

*/ class KinesisFirehoseDestination { public: AWS_SES_API KinesisFirehoseDestination(); AWS_SES_API KinesisFirehoseDestination(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API KinesisFirehoseDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

*/ inline const Aws::String& GetIAMRoleARN() const{ return m_iAMRoleARN; } /** *

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

*/ inline bool IAMRoleARNHasBeenSet() const { return m_iAMRoleARNHasBeenSet; } /** *

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

*/ inline void SetIAMRoleARN(const Aws::String& value) { m_iAMRoleARNHasBeenSet = true; m_iAMRoleARN = value; } /** *

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

*/ inline void SetIAMRoleARN(Aws::String&& value) { m_iAMRoleARNHasBeenSet = true; m_iAMRoleARN = std::move(value); } /** *

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

*/ inline void SetIAMRoleARN(const char* value) { m_iAMRoleARNHasBeenSet = true; m_iAMRoleARN.assign(value); } /** *

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

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

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

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

The ARN of the IAM role under which Amazon SES publishes email sending events * to the Amazon Kinesis Firehose stream.

*/ inline KinesisFirehoseDestination& WithIAMRoleARN(const char* value) { SetIAMRoleARN(value); return *this;} /** *

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

*/ inline const Aws::String& GetDeliveryStreamARN() const{ return m_deliveryStreamARN; } /** *

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

*/ inline bool DeliveryStreamARNHasBeenSet() const { return m_deliveryStreamARNHasBeenSet; } /** *

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

*/ inline void SetDeliveryStreamARN(const Aws::String& value) { m_deliveryStreamARNHasBeenSet = true; m_deliveryStreamARN = value; } /** *

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

*/ inline void SetDeliveryStreamARN(Aws::String&& value) { m_deliveryStreamARNHasBeenSet = true; m_deliveryStreamARN = std::move(value); } /** *

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

*/ inline void SetDeliveryStreamARN(const char* value) { m_deliveryStreamARNHasBeenSet = true; m_deliveryStreamARN.assign(value); } /** *

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

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

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

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

The ARN of the Amazon Kinesis Firehose stream that email sending events * should be published to.

*/ 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 SES } // namespace Aws