/** * 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 LocationService { namespace Model { /** */ class GetDevicePositionHistoryRequest : public LocationServiceRequest { public: AWS_LOCATIONSERVICE_API GetDevicePositionHistoryRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetDevicePositionHistory"; } AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override; /** *

The device whose position history you want to retrieve.

*/ inline const Aws::String& GetDeviceId() const{ return m_deviceId; } /** *

The device whose position history you want to retrieve.

*/ inline bool DeviceIdHasBeenSet() const { return m_deviceIdHasBeenSet; } /** *

The device whose position history you want to retrieve.

*/ inline void SetDeviceId(const Aws::String& value) { m_deviceIdHasBeenSet = true; m_deviceId = value; } /** *

The device whose position history you want to retrieve.

*/ inline void SetDeviceId(Aws::String&& value) { m_deviceIdHasBeenSet = true; m_deviceId = std::move(value); } /** *

The device whose position history you want to retrieve.

*/ inline void SetDeviceId(const char* value) { m_deviceIdHasBeenSet = true; m_deviceId.assign(value); } /** *

The device whose position history you want to retrieve.

*/ inline GetDevicePositionHistoryRequest& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;} /** *

The device whose position history you want to retrieve.

*/ inline GetDevicePositionHistoryRequest& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;} /** *

The device whose position history you want to retrieve.

*/ inline GetDevicePositionHistoryRequest& WithDeviceId(const char* value) { SetDeviceId(value); return *this;} /** *

Specify the end time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the * time that the request is made.

Requirement:

  • The time * specified for EndTimeExclusive must be after the time for * StartTimeInclusive.

*/ inline const Aws::Utils::DateTime& GetEndTimeExclusive() const{ return m_endTimeExclusive; } /** *

Specify the end time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the * time that the request is made.

Requirement:

  • The time * specified for EndTimeExclusive must be after the time for * StartTimeInclusive.

*/ inline bool EndTimeExclusiveHasBeenSet() const { return m_endTimeExclusiveHasBeenSet; } /** *

Specify the end time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the * time that the request is made.

Requirement:

  • The time * specified for EndTimeExclusive must be after the time for * StartTimeInclusive.

*/ inline void SetEndTimeExclusive(const Aws::Utils::DateTime& value) { m_endTimeExclusiveHasBeenSet = true; m_endTimeExclusive = value; } /** *

Specify the end time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the * time that the request is made.

Requirement:

  • The time * specified for EndTimeExclusive must be after the time for * StartTimeInclusive.

*/ inline void SetEndTimeExclusive(Aws::Utils::DateTime&& value) { m_endTimeExclusiveHasBeenSet = true; m_endTimeExclusive = std::move(value); } /** *

Specify the end time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the * time that the request is made.

Requirement:

  • The time * specified for EndTimeExclusive must be after the time for * StartTimeInclusive.

*/ inline GetDevicePositionHistoryRequest& WithEndTimeExclusive(const Aws::Utils::DateTime& value) { SetEndTimeExclusive(value); return *this;} /** *

Specify the end time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the * time that the request is made.

Requirement:

  • The time * specified for EndTimeExclusive must be after the time for * StartTimeInclusive.

*/ inline GetDevicePositionHistoryRequest& WithEndTimeExclusive(Aws::Utils::DateTime&& value) { SetEndTimeExclusive(std::move(value)); return *this;} /** *

An optional limit for the number of device positions returned in a single * call.

Default value: 100

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

An optional limit for the number of device positions returned in a single * call.

Default value: 100

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

An optional limit for the number of device positions returned in a single * call.

Default value: 100

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

An optional limit for the number of device positions returned in a single * call.

Default value: 100

*/ inline GetDevicePositionHistoryRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline GetDevicePositionHistoryRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline GetDevicePositionHistoryRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The pagination token specifying which page of results to return in the * response. If no token is provided, the default page is the first page.

*

Default value: null

*/ inline GetDevicePositionHistoryRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

Specify the start time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 * hours prior to the time that the request is made.

Requirement:

    *
  • The time specified for StartTimeInclusive must be before * EndTimeExclusive.

*/ inline const Aws::Utils::DateTime& GetStartTimeInclusive() const{ return m_startTimeInclusive; } /** *

Specify the start time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 * hours prior to the time that the request is made.

Requirement:

    *
  • The time specified for StartTimeInclusive must be before * EndTimeExclusive.

*/ inline bool StartTimeInclusiveHasBeenSet() const { return m_startTimeInclusiveHasBeenSet; } /** *

Specify the start time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 * hours prior to the time that the request is made.

Requirement:

    *
  • The time specified for StartTimeInclusive must be before * EndTimeExclusive.

*/ inline void SetStartTimeInclusive(const Aws::Utils::DateTime& value) { m_startTimeInclusiveHasBeenSet = true; m_startTimeInclusive = value; } /** *

Specify the start time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 * hours prior to the time that the request is made.

Requirement:

    *
  • The time specified for StartTimeInclusive must be before * EndTimeExclusive.

*/ inline void SetStartTimeInclusive(Aws::Utils::DateTime&& value) { m_startTimeInclusiveHasBeenSet = true; m_startTimeInclusive = std::move(value); } /** *

Specify the start time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 * hours prior to the time that the request is made.

Requirement:

    *
  • The time specified for StartTimeInclusive must be before * EndTimeExclusive.

*/ inline GetDevicePositionHistoryRequest& WithStartTimeInclusive(const Aws::Utils::DateTime& value) { SetStartTimeInclusive(value); return *this;} /** *

Specify the start time for the position history in ISO 8601 * format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 * hours prior to the time that the request is made.

Requirement:

    *
  • The time specified for StartTimeInclusive must be before * EndTimeExclusive.

*/ inline GetDevicePositionHistoryRequest& WithStartTimeInclusive(Aws::Utils::DateTime&& value) { SetStartTimeInclusive(std::move(value)); return *this;} /** *

The tracker resource receiving the request for the device position * history.

*/ inline const Aws::String& GetTrackerName() const{ return m_trackerName; } /** *

The tracker resource receiving the request for the device position * history.

*/ inline bool TrackerNameHasBeenSet() const { return m_trackerNameHasBeenSet; } /** *

The tracker resource receiving the request for the device position * history.

*/ inline void SetTrackerName(const Aws::String& value) { m_trackerNameHasBeenSet = true; m_trackerName = value; } /** *

The tracker resource receiving the request for the device position * history.

*/ inline void SetTrackerName(Aws::String&& value) { m_trackerNameHasBeenSet = true; m_trackerName = std::move(value); } /** *

The tracker resource receiving the request for the device position * history.

*/ inline void SetTrackerName(const char* value) { m_trackerNameHasBeenSet = true; m_trackerName.assign(value); } /** *

The tracker resource receiving the request for the device position * history.

*/ inline GetDevicePositionHistoryRequest& WithTrackerName(const Aws::String& value) { SetTrackerName(value); return *this;} /** *

The tracker resource receiving the request for the device position * history.

*/ inline GetDevicePositionHistoryRequest& WithTrackerName(Aws::String&& value) { SetTrackerName(std::move(value)); return *this;} /** *

The tracker resource receiving the request for the device position * history.

*/ inline GetDevicePositionHistoryRequest& WithTrackerName(const char* value) { SetTrackerName(value); return *this;} private: Aws::String m_deviceId; bool m_deviceIdHasBeenSet = false; Aws::Utils::DateTime m_endTimeExclusive; bool m_endTimeExclusiveHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; Aws::Utils::DateTime m_startTimeInclusive; bool m_startTimeInclusiveHasBeenSet = false; Aws::String m_trackerName; bool m_trackerNameHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws