/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Provides information about the results of sending a message directly to an * endpoint address.

See Also:

AWS * API Reference

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

The delivery status of the message. Possible values are:

    *
  • DUPLICATE - The endpoint address is a duplicate of another endpoint * address. Amazon Pinpoint won't attempt to send the message again.

  • *
  • OPT_OUT - The user who's associated with the endpoint address has opted * out of receiving messages from you. Amazon Pinpoint won't attempt to send the * message again.

  • PERMANENT_FAILURE - An error occurred when * delivering the message to the endpoint address. Amazon Pinpoint won't attempt to * send the message again.

  • SUCCESSFUL - The message was * successfully delivered to the endpoint address.

  • *
  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't * attempt to send the message again.

  • THROTTLED - Amazon Pinpoint * throttled the operation to send the message to the endpoint address.

  • *
  • TIMEOUT - The message couldn't be sent within the timeout * period.

  • UNKNOWN_FAILURE - An unknown error * occurred.

*/ inline const DeliveryStatus& GetDeliveryStatus() const{ return m_deliveryStatus; } /** *

The delivery status of the message. Possible values are:

    *
  • DUPLICATE - The endpoint address is a duplicate of another endpoint * address. Amazon Pinpoint won't attempt to send the message again.

  • *
  • OPT_OUT - The user who's associated with the endpoint address has opted * out of receiving messages from you. Amazon Pinpoint won't attempt to send the * message again.

  • PERMANENT_FAILURE - An error occurred when * delivering the message to the endpoint address. Amazon Pinpoint won't attempt to * send the message again.

  • SUCCESSFUL - The message was * successfully delivered to the endpoint address.

  • *
  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't * attempt to send the message again.

  • THROTTLED - Amazon Pinpoint * throttled the operation to send the message to the endpoint address.

  • *
  • TIMEOUT - The message couldn't be sent within the timeout * period.

  • UNKNOWN_FAILURE - An unknown error * occurred.

*/ inline bool DeliveryStatusHasBeenSet() const { return m_deliveryStatusHasBeenSet; } /** *

The delivery status of the message. Possible values are:

    *
  • DUPLICATE - The endpoint address is a duplicate of another endpoint * address. Amazon Pinpoint won't attempt to send the message again.

  • *
  • OPT_OUT - The user who's associated with the endpoint address has opted * out of receiving messages from you. Amazon Pinpoint won't attempt to send the * message again.

  • PERMANENT_FAILURE - An error occurred when * delivering the message to the endpoint address. Amazon Pinpoint won't attempt to * send the message again.

  • SUCCESSFUL - The message was * successfully delivered to the endpoint address.

  • *
  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't * attempt to send the message again.

  • THROTTLED - Amazon Pinpoint * throttled the operation to send the message to the endpoint address.

  • *
  • TIMEOUT - The message couldn't be sent within the timeout * period.

  • UNKNOWN_FAILURE - An unknown error * occurred.

*/ inline void SetDeliveryStatus(const DeliveryStatus& value) { m_deliveryStatusHasBeenSet = true; m_deliveryStatus = value; } /** *

The delivery status of the message. Possible values are:

    *
  • DUPLICATE - The endpoint address is a duplicate of another endpoint * address. Amazon Pinpoint won't attempt to send the message again.

  • *
  • OPT_OUT - The user who's associated with the endpoint address has opted * out of receiving messages from you. Amazon Pinpoint won't attempt to send the * message again.

  • PERMANENT_FAILURE - An error occurred when * delivering the message to the endpoint address. Amazon Pinpoint won't attempt to * send the message again.

  • SUCCESSFUL - The message was * successfully delivered to the endpoint address.

  • *
  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't * attempt to send the message again.

  • THROTTLED - Amazon Pinpoint * throttled the operation to send the message to the endpoint address.

  • *
  • TIMEOUT - The message couldn't be sent within the timeout * period.

  • UNKNOWN_FAILURE - An unknown error * occurred.

*/ inline void SetDeliveryStatus(DeliveryStatus&& value) { m_deliveryStatusHasBeenSet = true; m_deliveryStatus = std::move(value); } /** *

The delivery status of the message. Possible values are:

    *
  • DUPLICATE - The endpoint address is a duplicate of another endpoint * address. Amazon Pinpoint won't attempt to send the message again.

  • *
  • OPT_OUT - The user who's associated with the endpoint address has opted * out of receiving messages from you. Amazon Pinpoint won't attempt to send the * message again.

  • PERMANENT_FAILURE - An error occurred when * delivering the message to the endpoint address. Amazon Pinpoint won't attempt to * send the message again.

  • SUCCESSFUL - The message was * successfully delivered to the endpoint address.

  • *
  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't * attempt to send the message again.

  • THROTTLED - Amazon Pinpoint * throttled the operation to send the message to the endpoint address.

  • *
  • TIMEOUT - The message couldn't be sent within the timeout * period.

  • UNKNOWN_FAILURE - An unknown error * occurred.

*/ inline MessageResult& WithDeliveryStatus(const DeliveryStatus& value) { SetDeliveryStatus(value); return *this;} /** *

The delivery status of the message. Possible values are:

    *
  • DUPLICATE - The endpoint address is a duplicate of another endpoint * address. Amazon Pinpoint won't attempt to send the message again.

  • *
  • OPT_OUT - The user who's associated with the endpoint address has opted * out of receiving messages from you. Amazon Pinpoint won't attempt to send the * message again.

  • PERMANENT_FAILURE - An error occurred when * delivering the message to the endpoint address. Amazon Pinpoint won't attempt to * send the message again.

  • SUCCESSFUL - The message was * successfully delivered to the endpoint address.

  • *
  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't * attempt to send the message again.

  • THROTTLED - Amazon Pinpoint * throttled the operation to send the message to the endpoint address.

  • *
  • TIMEOUT - The message couldn't be sent within the timeout * period.

  • UNKNOWN_FAILURE - An unknown error * occurred.

*/ inline MessageResult& WithDeliveryStatus(DeliveryStatus&& value) { SetDeliveryStatus(std::move(value)); return *this;} /** *

The unique identifier for the message that was sent.

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

The unique identifier for the message that was sent.

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

The unique identifier for the message that was sent.

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

The unique identifier for the message that was sent.

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

The unique identifier for the message that was sent.

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

The unique identifier for the message that was sent.

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

The unique identifier for the message that was sent.

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

The unique identifier for the message that was sent.

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

The downstream service status code for delivering the message.

*/ inline int GetStatusCode() const{ return m_statusCode; } /** *

The downstream service status code for delivering the message.

*/ inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } /** *

The downstream service status code for delivering the message.

*/ inline void SetStatusCode(int value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } /** *

The downstream service status code for delivering the message.

*/ inline MessageResult& WithStatusCode(int value) { SetStatusCode(value); return *this;} /** *

The status message for delivering the message.

*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *

The status message for delivering the message.

*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *

The status message for delivering the message.

*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *

The status message for delivering the message.

*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *

The status message for delivering the message.

*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *

The status message for delivering the message.

*/ inline MessageResult& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *

The status message for delivering the message.

*/ inline MessageResult& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *

The status message for delivering the message.

*/ inline MessageResult& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline const Aws::String& GetUpdatedToken() const{ return m_updatedToken; } /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline bool UpdatedTokenHasBeenSet() const { return m_updatedTokenHasBeenSet; } /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline void SetUpdatedToken(const Aws::String& value) { m_updatedTokenHasBeenSet = true; m_updatedToken = value; } /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline void SetUpdatedToken(Aws::String&& value) { m_updatedTokenHasBeenSet = true; m_updatedToken = std::move(value); } /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline void SetUpdatedToken(const char* value) { m_updatedTokenHasBeenSet = true; m_updatedToken.assign(value); } /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline MessageResult& WithUpdatedToken(const Aws::String& value) { SetUpdatedToken(value); return *this;} /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline MessageResult& WithUpdatedToken(Aws::String&& value) { SetUpdatedToken(std::move(value)); return *this;} /** *

For push notifications that are sent through the GCM channel, specifies * whether the endpoint's device registration token was updated as part of * delivering the message.

*/ inline MessageResult& WithUpdatedToken(const char* value) { SetUpdatedToken(value); return *this;} private: DeliveryStatus m_deliveryStatus; bool m_deliveryStatusHasBeenSet = false; Aws::String m_messageId; bool m_messageIdHasBeenSet = false; int m_statusCode; bool m_statusCodeHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; Aws::String m_updatedToken; bool m_updatedTokenHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws