/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ConnectParticipant { namespace Model { /** *

A filtering option for where to start. For example, if you sent 100 messages, * start with message 50.

See Also:

AWS * API Reference

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

The ID of the message or event where to start.

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

The ID of the message or event where to start.

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

The ID of the message or event where to start.

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

The ID of the message or event where to start.

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

The ID of the message or event where to start.

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

The ID of the message or event where to start.

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

The ID of the message or event where to start.

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

The ID of the message or event where to start.

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

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline const Aws::String& GetAbsoluteTime() const{ return m_absoluteTime; } /** *

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline bool AbsoluteTimeHasBeenSet() const { return m_absoluteTimeHasBeenSet; } /** *

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline void SetAbsoluteTime(const Aws::String& value) { m_absoluteTimeHasBeenSet = true; m_absoluteTime = value; } /** *

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline void SetAbsoluteTime(Aws::String&& value) { m_absoluteTimeHasBeenSet = true; m_absoluteTime = std::move(value); } /** *

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline void SetAbsoluteTime(const char* value) { m_absoluteTimeHasBeenSet = true; m_absoluteTime.assign(value); } /** *

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline StartPosition& WithAbsoluteTime(const Aws::String& value) { SetAbsoluteTime(value); return *this;} /** *

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline StartPosition& WithAbsoluteTime(Aws::String&& value) { SetAbsoluteTime(std::move(value)); return *this;} /** *

The time in ISO format where to start.

It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline StartPosition& WithAbsoluteTime(const char* value) { SetAbsoluteTime(value); return *this;} /** *

The start position of the most recent message where you want to start.

*/ inline int GetMostRecent() const{ return m_mostRecent; } /** *

The start position of the most recent message where you want to start.

*/ inline bool MostRecentHasBeenSet() const { return m_mostRecentHasBeenSet; } /** *

The start position of the most recent message where you want to start.

*/ inline void SetMostRecent(int value) { m_mostRecentHasBeenSet = true; m_mostRecent = value; } /** *

The start position of the most recent message where you want to start.

*/ inline StartPosition& WithMostRecent(int value) { SetMostRecent(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_absoluteTime; bool m_absoluteTimeHasBeenSet = false; int m_mostRecent; bool m_mostRecentHasBeenSet = false; }; } // namespace Model } // namespace ConnectParticipant } // namespace Aws