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

Information about how the detector model is configured.

See * Also:

AWS * API Reference

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

The name of the detector model.

*/ inline const Aws::String& GetDetectorModelName() const{ return m_detectorModelName; } /** *

The name of the detector model.

*/ inline bool DetectorModelNameHasBeenSet() const { return m_detectorModelNameHasBeenSet; } /** *

The name of the detector model.

*/ inline void SetDetectorModelName(const Aws::String& value) { m_detectorModelNameHasBeenSet = true; m_detectorModelName = value; } /** *

The name of the detector model.

*/ inline void SetDetectorModelName(Aws::String&& value) { m_detectorModelNameHasBeenSet = true; m_detectorModelName = std::move(value); } /** *

The name of the detector model.

*/ inline void SetDetectorModelName(const char* value) { m_detectorModelNameHasBeenSet = true; m_detectorModelName.assign(value); } /** *

The name of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelName(const Aws::String& value) { SetDetectorModelName(value); return *this;} /** *

The name of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelName(Aws::String&& value) { SetDetectorModelName(std::move(value)); return *this;} /** *

The name of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelName(const char* value) { SetDetectorModelName(value); return *this;} /** *

The version of the detector model.

*/ inline const Aws::String& GetDetectorModelVersion() const{ return m_detectorModelVersion; } /** *

The version of the detector model.

*/ inline bool DetectorModelVersionHasBeenSet() const { return m_detectorModelVersionHasBeenSet; } /** *

The version of the detector model.

*/ inline void SetDetectorModelVersion(const Aws::String& value) { m_detectorModelVersionHasBeenSet = true; m_detectorModelVersion = value; } /** *

The version of the detector model.

*/ inline void SetDetectorModelVersion(Aws::String&& value) { m_detectorModelVersionHasBeenSet = true; m_detectorModelVersion = std::move(value); } /** *

The version of the detector model.

*/ inline void SetDetectorModelVersion(const char* value) { m_detectorModelVersionHasBeenSet = true; m_detectorModelVersion.assign(value); } /** *

The version of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelVersion(const Aws::String& value) { SetDetectorModelVersion(value); return *this;} /** *

The version of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelVersion(Aws::String&& value) { SetDetectorModelVersion(std::move(value)); return *this;} /** *

The version of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelVersion(const char* value) { SetDetectorModelVersion(value); return *this;} /** *

A brief description of the detector model.

*/ inline const Aws::String& GetDetectorModelDescription() const{ return m_detectorModelDescription; } /** *

A brief description of the detector model.

*/ inline bool DetectorModelDescriptionHasBeenSet() const { return m_detectorModelDescriptionHasBeenSet; } /** *

A brief description of the detector model.

*/ inline void SetDetectorModelDescription(const Aws::String& value) { m_detectorModelDescriptionHasBeenSet = true; m_detectorModelDescription = value; } /** *

A brief description of the detector model.

*/ inline void SetDetectorModelDescription(Aws::String&& value) { m_detectorModelDescriptionHasBeenSet = true; m_detectorModelDescription = std::move(value); } /** *

A brief description of the detector model.

*/ inline void SetDetectorModelDescription(const char* value) { m_detectorModelDescriptionHasBeenSet = true; m_detectorModelDescription.assign(value); } /** *

A brief description of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelDescription(const Aws::String& value) { SetDetectorModelDescription(value); return *this;} /** *

A brief description of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelDescription(Aws::String&& value) { SetDetectorModelDescription(std::move(value)); return *this;} /** *

A brief description of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelDescription(const char* value) { SetDetectorModelDescription(value); return *this;} /** *

The ARN of the detector model.

*/ inline const Aws::String& GetDetectorModelArn() const{ return m_detectorModelArn; } /** *

The ARN of the detector model.

*/ inline bool DetectorModelArnHasBeenSet() const { return m_detectorModelArnHasBeenSet; } /** *

The ARN of the detector model.

*/ inline void SetDetectorModelArn(const Aws::String& value) { m_detectorModelArnHasBeenSet = true; m_detectorModelArn = value; } /** *

The ARN of the detector model.

*/ inline void SetDetectorModelArn(Aws::String&& value) { m_detectorModelArnHasBeenSet = true; m_detectorModelArn = std::move(value); } /** *

The ARN of the detector model.

*/ inline void SetDetectorModelArn(const char* value) { m_detectorModelArnHasBeenSet = true; m_detectorModelArn.assign(value); } /** *

The ARN of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelArn(const Aws::String& value) { SetDetectorModelArn(value); return *this;} /** *

The ARN of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelArn(Aws::String&& value) { SetDetectorModelArn(std::move(value)); return *this;} /** *

The ARN of the detector model.

*/ inline DetectorModelConfiguration& WithDetectorModelArn(const char* value) { SetDetectorModelArn(value); return *this;} /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline DetectorModelConfiguration& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline DetectorModelConfiguration& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the role that grants permission to AWS IoT Events to perform its * operations.

*/ inline DetectorModelConfiguration& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The time the detector model was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time the detector model was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time the detector model was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time the detector model was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time the detector model was created.

*/ inline DetectorModelConfiguration& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time the detector model was created.

*/ inline DetectorModelConfiguration& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The time the detector model was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdateTime() const{ return m_lastUpdateTime; } /** *

The time the detector model was last updated.

*/ inline bool LastUpdateTimeHasBeenSet() const { return m_lastUpdateTimeHasBeenSet; } /** *

The time the detector model was last updated.

*/ inline void SetLastUpdateTime(const Aws::Utils::DateTime& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = value; } /** *

The time the detector model was last updated.

*/ inline void SetLastUpdateTime(Aws::Utils::DateTime&& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = std::move(value); } /** *

The time the detector model was last updated.

*/ inline DetectorModelConfiguration& WithLastUpdateTime(const Aws::Utils::DateTime& value) { SetLastUpdateTime(value); return *this;} /** *

The time the detector model was last updated.

*/ inline DetectorModelConfiguration& WithLastUpdateTime(Aws::Utils::DateTime&& value) { SetLastUpdateTime(std::move(value)); return *this;} /** *

The status of the detector model.

*/ inline const DetectorModelVersionStatus& GetStatus() const{ return m_status; } /** *

The status of the detector model.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the detector model.

*/ inline void SetStatus(const DetectorModelVersionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the detector model.

*/ inline void SetStatus(DetectorModelVersionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the detector model.

*/ inline DetectorModelConfiguration& WithStatus(const DetectorModelVersionStatus& value) { SetStatus(value); return *this;} /** *

The status of the detector model.

*/ inline DetectorModelConfiguration& WithStatus(DetectorModelVersionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline const Aws::String& GetKey() const{ return m_key; } /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline DetectorModelConfiguration& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline DetectorModelConfiguration& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *

The value used to identify a detector instance. When a device or system sends * input, a new detector instance with a unique key value is created. AWS IoT * Events can continue to route input to its corresponding detector instance based * on this identifying information.

This parameter uses a JSON-path * expression to select the attribute-value pair in the message payload that is * used for identification. To route the message to the correct detector instance, * the device must send a message payload that contains the same * attribute-value.

*/ inline DetectorModelConfiguration& WithKey(const char* value) { SetKey(value); return *this;} /** *

Information about the order in which events are evaluated and how actions are * executed.

*/ inline const EvaluationMethod& GetEvaluationMethod() const{ return m_evaluationMethod; } /** *

Information about the order in which events are evaluated and how actions are * executed.

*/ inline bool EvaluationMethodHasBeenSet() const { return m_evaluationMethodHasBeenSet; } /** *

Information about the order in which events are evaluated and how actions are * executed.

*/ inline void SetEvaluationMethod(const EvaluationMethod& value) { m_evaluationMethodHasBeenSet = true; m_evaluationMethod = value; } /** *

Information about the order in which events are evaluated and how actions are * executed.

*/ inline void SetEvaluationMethod(EvaluationMethod&& value) { m_evaluationMethodHasBeenSet = true; m_evaluationMethod = std::move(value); } /** *

Information about the order in which events are evaluated and how actions are * executed.

*/ inline DetectorModelConfiguration& WithEvaluationMethod(const EvaluationMethod& value) { SetEvaluationMethod(value); return *this;} /** *

Information about the order in which events are evaluated and how actions are * executed.

*/ inline DetectorModelConfiguration& WithEvaluationMethod(EvaluationMethod&& value) { SetEvaluationMethod(std::move(value)); return *this;} private: Aws::String m_detectorModelName; bool m_detectorModelNameHasBeenSet = false; Aws::String m_detectorModelVersion; bool m_detectorModelVersionHasBeenSet = false; Aws::String m_detectorModelDescription; bool m_detectorModelDescriptionHasBeenSet = false; Aws::String m_detectorModelArn; bool m_detectorModelArnHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdateTime; bool m_lastUpdateTimeHasBeenSet = false; DetectorModelVersionStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_key; bool m_keyHasBeenSet = false; EvaluationMethod m_evaluationMethod; bool m_evaluationMethodHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws