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

The attributes from the JSON payload that are made available by the input. * Inputs are derived from messages sent to the AWS IoT Events system using * BatchPutMessage. Each such message contains a JSON payload. Those * attributes (and their paired values) specified here are available for use in the * condition expressions used by detectors.

See Also:

* AWS * API Reference

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

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline const Aws::String& GetJsonPath() const{ return m_jsonPath; } /** *

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline bool JsonPathHasBeenSet() const { return m_jsonPathHasBeenSet; } /** *

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline void SetJsonPath(const Aws::String& value) { m_jsonPathHasBeenSet = true; m_jsonPath = value; } /** *

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline void SetJsonPath(Aws::String&& value) { m_jsonPathHasBeenSet = true; m_jsonPath = std::move(value); } /** *

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline void SetJsonPath(const char* value) { m_jsonPathHasBeenSet = true; m_jsonPath.assign(value); } /** *

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline Attribute& WithJsonPath(const Aws::String& value) { SetJsonPath(value); return *this;} /** *

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline Attribute& WithJsonPath(Aws::String&& value) { SetJsonPath(std::move(value)); return *this;} /** *

An expression that specifies an attribute-value pair in a JSON structure. Use * this to specify an attribute from the JSON payload that is made available by the * input. Inputs are derived from messages sent to AWS IoT Events * (BatchPutMessage). Each such message contains a JSON payload. The * attribute (and its paired value) specified here are available for use in the * condition expressions used by detectors.

Syntax: * <field-name>.<field-name>...

*/ inline Attribute& WithJsonPath(const char* value) { SetJsonPath(value); return *this;} private: Aws::String m_jsonPath; bool m_jsonPathHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws