/** * 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 a registered consumer. This type of * object is returned by DescribeStreamConsumer.

See Also:

* AWS * API Reference

*/ class AWS_KINESIS_API ConsumerDescription { public: ConsumerDescription(); ConsumerDescription(Aws::Utils::Json::JsonView jsonValue); ConsumerDescription& 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 ConsumerDescription& WithConsumerName(const Aws::String& value) { SetConsumerName(value); return *this;} /** *

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

*/ inline ConsumerDescription& 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 ConsumerDescription& 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 ConsumerDescription& 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 ConsumerDescription& 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 ConsumerDescription& 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 ConsumerDescription& WithConsumerStatus(const ConsumerStatus& value) { SetConsumerStatus(value); return *this;} /** *

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

*/ inline ConsumerDescription& 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 ConsumerDescription& WithConsumerCreationTimestamp(const Aws::Utils::DateTime& value) { SetConsumerCreationTimestamp(value); return *this;} /** *

*/ inline ConsumerDescription& WithConsumerCreationTimestamp(Aws::Utils::DateTime&& value) { SetConsumerCreationTimestamp(std::move(value)); return *this;} /** *

The ARN of the stream with which you registered the consumer.

*/ inline const Aws::String& GetStreamARN() const{ return m_streamARN; } /** *

The ARN of the stream with which you registered the consumer.

*/ inline bool StreamARNHasBeenSet() const { return m_streamARNHasBeenSet; } /** *

The ARN of the stream with which you registered the consumer.

*/ inline void SetStreamARN(const Aws::String& value) { m_streamARNHasBeenSet = true; m_streamARN = value; } /** *

The ARN of the stream with which you registered the consumer.

*/ inline void SetStreamARN(Aws::String&& value) { m_streamARNHasBeenSet = true; m_streamARN = std::move(value); } /** *

The ARN of the stream with which you registered the consumer.

*/ inline void SetStreamARN(const char* value) { m_streamARNHasBeenSet = true; m_streamARN.assign(value); } /** *

The ARN of the stream with which you registered the consumer.

*/ inline ConsumerDescription& WithStreamARN(const Aws::String& value) { SetStreamARN(value); return *this;} /** *

The ARN of the stream with which you registered the consumer.

*/ inline ConsumerDescription& WithStreamARN(Aws::String&& value) { SetStreamARN(std::move(value)); return *this;} /** *

The ARN of the stream with which you registered the consumer.

*/ inline ConsumerDescription& WithStreamARN(const char* value) { SetStreamARN(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; Aws::String m_streamARN; bool m_streamARNHasBeenSet; }; } // namespace Model } // namespace Kinesis } // namespace Aws