/** * 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.

You must use expressions * for all parameters in AssetPropertyTimestamp. The expressions * accept literals, operators, functions, references, and substitution * templates.

Examples

  • For literal * values, the expressions must contain single quotes. For example, the value for * the timeInSeconds parameter can be '1586400675'.

    *
  • For references, you must specify either variables or input values. * For example, the value for the offsetInNanos parameter can be * $variable.time.

  • For a substitution template, you * must use ${}, and the template must be in single quotes. A * substitution template can also contain a combination of literals, operators, * functions, references, and substitution templates.

    In the following * example, the value for the timeInSeconds parameter uses a * substitution template.

    * '${$input.TemperatureInput.sensorData.timestamp / 1000}'

  • *

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

See Also:

AWS * API Reference

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

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199.

*/ 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.

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

The timestamp, in seconds, in the Unix epoch format. The valid range is * between 1-31556889864403199.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

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

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999.

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

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999.

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

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999.

*/ 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.

*/ 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.

*/ 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.

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

The nanosecond offset converted from timeInSeconds. The valid * range is between 0-999999999.

*/ 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.

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