/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace SNS { namespace Model { /** *

Response for Publish action.

See Also:

AWS * API Reference

*/ class PublishResult { public: AWS_SNS_API PublishResult(); AWS_SNS_API PublishResult(const Aws::AmazonWebServiceResult& result); AWS_SNS_API PublishResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

Unique identifier assigned to the published message.

Length * Constraint: Maximum 100 characters

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

Unique identifier assigned to the published message.

Length * Constraint: Maximum 100 characters

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

Unique identifier assigned to the published message.

Length * Constraint: Maximum 100 characters

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

Unique identifier assigned to the published message.

Length * Constraint: Maximum 100 characters

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

Unique identifier assigned to the published message.

Length * Constraint: Maximum 100 characters

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

Unique identifier assigned to the published message.

Length * Constraint: Maximum 100 characters

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

Unique identifier assigned to the published message.

Length * Constraint: Maximum 100 characters

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

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

*

The sequence number is a large, non-consecutive number that Amazon SNS * assigns to each message. The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for each * MessageGroupId.

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

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

*

The sequence number is a large, non-consecutive number that Amazon SNS * assigns to each message. The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for each * MessageGroupId.

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

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

*

The sequence number is a large, non-consecutive number that Amazon SNS * assigns to each message. The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for each * MessageGroupId.

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

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

*

The sequence number is a large, non-consecutive number that Amazon SNS * assigns to each message. The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for each * MessageGroupId.

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

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

*

The sequence number is a large, non-consecutive number that Amazon SNS * assigns to each message. The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for each * MessageGroupId.

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

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

*

The sequence number is a large, non-consecutive number that Amazon SNS * assigns to each message. The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for each * MessageGroupId.

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

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

*

The sequence number is a large, non-consecutive number that Amazon SNS * assigns to each message. The length of SequenceNumber is 128 bits. * SequenceNumber continues to increase for each * MessageGroupId.

*/ inline PublishResult& WithSequenceNumber(const char* value) { SetSequenceNumber(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline PublishResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline PublishResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_messageId; Aws::String m_sequenceNumber; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace SNS } // namespace Aws