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

Encloses data related to a successful message in a batch request for * topic.

See Also:

AWS * API Reference

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

The Id of an entry in a batch request.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The Id of an entry in a batch request.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The Id of an entry in a batch request.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The Id of an entry in a batch request.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The Id of an entry in a batch request.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The Id of an entry in a batch request.

*/ inline PublishBatchResultEntry& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The Id of an entry in a batch request.

*/ inline PublishBatchResultEntry& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The Id of an entry in a batch request.

*/ inline PublishBatchResultEntry& WithId(const char* value) { SetId(value); return *this;} /** *

An identifier for the message.

*/ inline const Aws::String& GetMessageId() const{ return m_messageId; } /** *

An identifier for the message.

*/ inline bool MessageIdHasBeenSet() const { return m_messageIdHasBeenSet; } /** *

An identifier for the message.

*/ inline void SetMessageId(const Aws::String& value) { m_messageIdHasBeenSet = true; m_messageId = value; } /** *

An identifier for the message.

*/ inline void SetMessageId(Aws::String&& value) { m_messageIdHasBeenSet = true; m_messageId = std::move(value); } /** *

An identifier for the message.

*/ inline void SetMessageId(const char* value) { m_messageIdHasBeenSet = true; m_messageId.assign(value); } /** *

An identifier for the message.

*/ inline PublishBatchResultEntry& WithMessageId(const Aws::String& value) { SetMessageId(value); return *this;} /** *

An identifier for the message.

*/ inline PublishBatchResultEntry& WithMessageId(Aws::String&& value) { SetMessageId(std::move(value)); return *this;} /** *

An identifier for the message.

*/ inline PublishBatchResultEntry& WithMessageId(const char* value) { SetMessageId(value); return *this;} /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline const Aws::String& GetSequenceNumber() const{ return m_sequenceNumber; } /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline bool SequenceNumberHasBeenSet() const { return m_sequenceNumberHasBeenSet; } /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline void SetSequenceNumber(const Aws::String& value) { m_sequenceNumberHasBeenSet = true; m_sequenceNumber = value; } /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline void SetSequenceNumber(Aws::String&& value) { m_sequenceNumberHasBeenSet = true; m_sequenceNumber = std::move(value); } /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline void SetSequenceNumber(const char* value) { m_sequenceNumberHasBeenSet = true; m_sequenceNumber.assign(value); } /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline PublishBatchResultEntry& WithSequenceNumber(const Aws::String& value) { SetSequenceNumber(value); return *this;} /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline PublishBatchResultEntry& WithSequenceNumber(Aws::String&& value) { SetSequenceNumber(std::move(value)); return *this;} /** *

This parameter applies only to FIFO (first-in-first-out) topics.

The * large, non-consecutive number that Amazon SNS assigns to each message.

*

The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for a particular * MessageGroupId.

*/ inline PublishBatchResultEntry& WithSequenceNumber(const char* value) { SetSequenceNumber(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_messageId; bool m_messageIdHasBeenSet = false; Aws::String m_sequenceNumber; bool m_sequenceNumberHasBeenSet = false; }; } // namespace Model } // namespace SNS } // namespace Aws