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

Specifies the Amazon Resource Name (ARN) of an event stream to publish events * to and the AWS Identity and Access Management (IAM) role to use when publishing * those events.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline const Aws::String& GetDestinationStreamArn() const{ return m_destinationStreamArn; } /** *

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline bool DestinationStreamArnHasBeenSet() const { return m_destinationStreamArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline void SetDestinationStreamArn(const Aws::String& value) { m_destinationStreamArnHasBeenSet = true; m_destinationStreamArn = value; } /** *

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline void SetDestinationStreamArn(Aws::String&& value) { m_destinationStreamArnHasBeenSet = true; m_destinationStreamArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline void SetDestinationStreamArn(const char* value) { m_destinationStreamArnHasBeenSet = true; m_destinationStreamArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline WriteEventStream& WithDestinationStreamArn(const Aws::String& value) { SetDestinationStreamArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline WriteEventStream& WithDestinationStreamArn(Aws::String&& value) { SetDestinationStreamArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon * Kinesis Data Firehose delivery stream that you want to publish event data * to.

For a Kinesis data stream, the ARN format is: * arn:aws:kinesis:region:account-id:stream/stream_name *

For a Kinesis Data Firehose delivery stream, the ARN format is: * arn:aws:firehose:region:account-id:deliverystream/stream_name *

*/ inline WriteEventStream& WithDestinationStreamArn(const char* value) { SetDestinationStreamArn(value); return *this;} /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline WriteEventStream& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline WriteEventStream& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The AWS Identity and Access Management (IAM) role that authorizes Amazon * Pinpoint to publish event data to the stream in your AWS account.

*/ inline WriteEventStream& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} private: Aws::String m_destinationStreamArn; bool m_destinationStreamArnHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws