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

An object that contains information about a value for a time series * property.

See Also:

AWS * API Reference

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

An object that specifies a value for a time series property.

*/ inline const DataValue& GetValue() const{ return m_value; } /** *

An object that specifies a value for a time series property.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

An object that specifies a value for a time series property.

*/ inline void SetValue(const DataValue& value) { m_valueHasBeenSet = true; m_value = value; } /** *

An object that specifies a value for a time series property.

*/ inline void SetValue(DataValue&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

An object that specifies a value for a time series property.

*/ inline PropertyValue& WithValue(const DataValue& value) { SetValue(value); return *this;} /** *

An object that specifies a value for a time series property.

*/ inline PropertyValue& WithValue(DataValue&& value) { SetValue(std::move(value)); return *this;} /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline const Aws::String& GetTime() const{ return m_time; } /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline void SetTime(const Aws::String& value) { m_timeHasBeenSet = true; m_time = value; } /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline void SetTime(Aws::String&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline void SetTime(const char* value) { m_timeHasBeenSet = true; m_time.assign(value); } /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline PropertyValue& WithTime(const Aws::String& value) { SetTime(value); return *this;} /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline PropertyValue& WithTime(Aws::String&& value) { SetTime(std::move(value)); return *this;} /** *

ISO8601 DateTime of a value for a time series property.

The time for * when the property value was recorded in ISO 8601 format: * YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm].

  • * [YYYY]: year

  • [MM]: month

  • * [DD]: day

  • [hh]: hour

  • * [mm]: minute

  • [ss]: seconds

  • * [.SSSSSSSSS]: additional precision, where precedence is maintained. For * example: [.573123] is equal to 573123000 nanoseconds.

  • * Z: default timezone UTC

  • ± HH:mm: time zone * offset in Hours and Minutes.

Required sub-fields: * YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]

*/ inline PropertyValue& WithTime(const char* value) { SetTime(value); return *this;} private: DataValue m_value; bool m_valueHasBeenSet = false; Aws::String m_time; bool m_timeHasBeenSet = false; }; } // namespace Model } // namespace IoTTwinMaker } // namespace Aws