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

An object that represents the details of the consumer you registered. This * type of object is returned by RegisterStreamConsumer.

See * Also:

AWS * API Reference

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

The name of the consumer is something you choose when you register the * consumer.

*/ inline const Aws::String& GetConsumerName() const{ return m_consumerName; } /** *

The name of the consumer is something you choose when you register the * consumer.

*/ inline bool ConsumerNameHasBeenSet() const { return m_consumerNameHasBeenSet; } /** *

The name of the consumer is something you choose when you register the * consumer.

*/ inline void SetConsumerName(const Aws::String& value) { m_consumerNameHasBeenSet = true; m_consumerName = value; } /** *

The name of the consumer is something you choose when you register the * consumer.

*/ inline void SetConsumerName(Aws::String&& value) { m_consumerNameHasBeenSet = true; m_consumerName = std::move(value); } /** *

The name of the consumer is something you choose when you register the * consumer.

*/ inline void SetConsumerName(const char* value) { m_consumerNameHasBeenSet = true; m_consumerName.assign(value); } /** *

The name of the consumer is something you choose when you register the * consumer.

*/ inline Consumer& WithConsumerName(const Aws::String& value) { SetConsumerName(value); return *this;} /** *

The name of the consumer is something you choose when you register the * consumer.

*/ inline Consumer& WithConsumerName(Aws::String&& value) { SetConsumerName(std::move(value)); return *this;} /** *

The name of the consumer is something you choose when you register the * consumer.

*/ inline Consumer& WithConsumerName(const char* value) { SetConsumerName(value); return *this;} /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline const Aws::String& GetConsumerARN() const{ return m_consumerARN; } /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline bool ConsumerARNHasBeenSet() const { return m_consumerARNHasBeenSet; } /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline void SetConsumerARN(const Aws::String& value) { m_consumerARNHasBeenSet = true; m_consumerARN = value; } /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline void SetConsumerARN(Aws::String&& value) { m_consumerARNHasBeenSet = true; m_consumerARN = std::move(value); } /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline void SetConsumerARN(const char* value) { m_consumerARNHasBeenSet = true; m_consumerARN.assign(value); } /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline Consumer& WithConsumerARN(const Aws::String& value) { SetConsumerARN(value); return *this;} /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline Consumer& WithConsumerARN(Aws::String&& value) { SetConsumerARN(std::move(value)); return *this;} /** *

When you register a consumer, Kinesis Data Streams generates an ARN for it. * You need this ARN to be able to call SubscribeToShard.

If you * delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This * is important to keep in mind if you have IAM policies that reference consumer * ARNs.

*/ inline Consumer& WithConsumerARN(const char* value) { SetConsumerARN(value); return *this;} /** *

A consumer can't read data while in the CREATING or * DELETING states.

*/ inline const ConsumerStatus& GetConsumerStatus() const{ return m_consumerStatus; } /** *

A consumer can't read data while in the CREATING or * DELETING states.

*/ inline bool ConsumerStatusHasBeenSet() const { return m_consumerStatusHasBeenSet; } /** *

A consumer can't read data while in the CREATING or * DELETING states.

*/ inline void SetConsumerStatus(const ConsumerStatus& value) { m_consumerStatusHasBeenSet = true; m_consumerStatus = value; } /** *

A consumer can't read data while in the CREATING or * DELETING states.

*/ inline void SetConsumerStatus(ConsumerStatus&& value) { m_consumerStatusHasBeenSet = true; m_consumerStatus = std::move(value); } /** *

A consumer can't read data while in the CREATING or * DELETING states.

*/ inline Consumer& WithConsumerStatus(const ConsumerStatus& value) { SetConsumerStatus(value); return *this;} /** *

A consumer can't read data while in the CREATING or * DELETING states.

*/ inline Consumer& WithConsumerStatus(ConsumerStatus&& value) { SetConsumerStatus(std::move(value)); return *this;} /** *

*/ inline const Aws::Utils::DateTime& GetConsumerCreationTimestamp() const{ return m_consumerCreationTimestamp; } /** *

*/ inline bool ConsumerCreationTimestampHasBeenSet() const { return m_consumerCreationTimestampHasBeenSet; } /** *

*/ inline void SetConsumerCreationTimestamp(const Aws::Utils::DateTime& value) { m_consumerCreationTimestampHasBeenSet = true; m_consumerCreationTimestamp = value; } /** *

*/ inline void SetConsumerCreationTimestamp(Aws::Utils::DateTime&& value) { m_consumerCreationTimestampHasBeenSet = true; m_consumerCreationTimestamp = std::move(value); } /** *

*/ inline Consumer& WithConsumerCreationTimestamp(const Aws::Utils::DateTime& value) { SetConsumerCreationTimestamp(value); return *this;} /** *

*/ inline Consumer& WithConsumerCreationTimestamp(Aws::Utils::DateTime&& value) { SetConsumerCreationTimestamp(std::move(value)); return *this;} private: Aws::String m_consumerName; bool m_consumerNameHasBeenSet; Aws::String m_consumerARN; bool m_consumerARNHasBeenSet; ConsumerStatus m_consumerStatus; bool m_consumerStatusHasBeenSet; Aws::Utils::DateTime m_consumerCreationTimestamp; bool m_consumerCreationTimestampHasBeenSet; }; } // namespace Model } // namespace Kinesis } // namespace Aws