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

A structure that contains timestamp information. For more information, see TimeInNanos * in the AWS IoT SiteWise API Reference.

For parameters that are * string data type, you can specify the following options:

  • Use a * string. For example, the timeInSeconds value can be * '1586400675'.

  • Use an expression. For example, the * timeInSeconds value can be * '${$input.TemperatureInput.sensorData.timestamp/1000}'.

    For * more information, see Expressions * in the AWS IoT Events Developer Guide.

See * Also:

AWS * API Reference

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

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline const Aws::String& GetTimeInSeconds() const{ return m_timeInSeconds; } /** *

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline bool TimeInSecondsHasBeenSet() const { return m_timeInSecondsHasBeenSet; } /** *

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline void SetTimeInSeconds(const Aws::String& value) { m_timeInSecondsHasBeenSet = true; m_timeInSeconds = value; } /** *

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline void SetTimeInSeconds(Aws::String&& value) { m_timeInSecondsHasBeenSet = true; m_timeInSeconds = std::move(value); } /** *

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline void SetTimeInSeconds(const char* value) { m_timeInSecondsHasBeenSet = true; m_timeInSeconds.assign(value); } /** *

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline AssetPropertyTimestamp& WithTimeInSeconds(const Aws::String& value) { SetTimeInSeconds(value); return *this;} /** *

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline AssetPropertyTimestamp& WithTimeInSeconds(Aws::String&& value) { SetTimeInSeconds(std::move(value)); return *this;} /** *

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199. You can also specify an expression.

*/ inline AssetPropertyTimestamp& WithTimeInSeconds(const char* value) { SetTimeInSeconds(value); return *this;} /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline const Aws::String& GetOffsetInNanos() const{ return m_offsetInNanos; } /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline bool OffsetInNanosHasBeenSet() const { return m_offsetInNanosHasBeenSet; } /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline void SetOffsetInNanos(const Aws::String& value) { m_offsetInNanosHasBeenSet = true; m_offsetInNanos = value; } /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline void SetOffsetInNanos(Aws::String&& value) { m_offsetInNanosHasBeenSet = true; m_offsetInNanos = std::move(value); } /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline void SetOffsetInNanos(const char* value) { m_offsetInNanosHasBeenSet = true; m_offsetInNanos.assign(value); } /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline AssetPropertyTimestamp& WithOffsetInNanos(const Aws::String& value) { SetOffsetInNanos(value); return *this;} /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline AssetPropertyTimestamp& WithOffsetInNanos(Aws::String&& value) { SetOffsetInNanos(std::move(value)); return *this;} /** *

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999. You can also specify an expression.

*/ inline AssetPropertyTimestamp& WithOffsetInNanos(const char* value) { SetOffsetInNanos(value); return *this;} private: Aws::String m_timeInSeconds; bool m_timeInSecondsHasBeenSet; Aws::String m_offsetInNanos; bool m_offsetInNanosHasBeenSet; }; } // namespace Model } // namespace IoTEvents } // namespace Aws