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

An object that contains information about a flow event.

See * Also:

AWS * API Reference

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

The unique identifier of the message.

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

The unique identifier of the message.

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

The unique identifier of the message.

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

The unique identifier of the message.

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

The unique identifier of the message.

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

The unique identifier of the message.

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

The unique identifier of the message.

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

The unique identifier of the message.

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

The type of flow event .

*/ inline const FlowExecutionEventType& GetEventType() const{ return m_eventType; } /** *

The type of flow event .

*/ inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } /** *

The type of flow event .

*/ inline void SetEventType(const FlowExecutionEventType& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } /** *

The type of flow event .

*/ inline void SetEventType(FlowExecutionEventType&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } /** *

The type of flow event .

*/ inline FlowExecutionMessage& WithEventType(const FlowExecutionEventType& value) { SetEventType(value); return *this;} /** *

The type of flow event .

*/ inline FlowExecutionMessage& WithEventType(FlowExecutionEventType&& value) { SetEventType(std::move(value)); return *this;} /** *

The date and time when the message was last updated.

*/ inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } /** *

The date and time when the message was last updated.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The date and time when the message was last updated.

*/ inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The date and time when the message was last updated.

*/ inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The date and time when the message was last updated.

*/ inline FlowExecutionMessage& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} /** *

The date and time when the message was last updated.

*/ inline FlowExecutionMessage& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} /** *

A string containing information about the flow event.

*/ inline const Aws::String& GetPayload() const{ return m_payload; } /** *

A string containing information about the flow event.

*/ inline bool PayloadHasBeenSet() const { return m_payloadHasBeenSet; } /** *

A string containing information about the flow event.

*/ inline void SetPayload(const Aws::String& value) { m_payloadHasBeenSet = true; m_payload = value; } /** *

A string containing information about the flow event.

*/ inline void SetPayload(Aws::String&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); } /** *

A string containing information about the flow event.

*/ inline void SetPayload(const char* value) { m_payloadHasBeenSet = true; m_payload.assign(value); } /** *

A string containing information about the flow event.

*/ inline FlowExecutionMessage& WithPayload(const Aws::String& value) { SetPayload(value); return *this;} /** *

A string containing information about the flow event.

*/ inline FlowExecutionMessage& WithPayload(Aws::String&& value) { SetPayload(std::move(value)); return *this;} /** *

A string containing information about the flow event.

*/ inline FlowExecutionMessage& WithPayload(const char* value) { SetPayload(value); return *this;} private: Aws::String m_messageId; bool m_messageIdHasBeenSet = false; FlowExecutionEventType m_eventType; bool m_eventTypeHasBeenSet = false; Aws::Utils::DateTime m_timestamp; bool m_timestampHasBeenSet = false; Aws::String m_payload; bool m_payloadHasBeenSet = false; }; } // namespace Model } // namespace IoTThingsGraph } // namespace Aws