/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace IoTEvents { namespace Model { /** */ class CreateDetectorModelRequest : public IoTEventsRequest { public: AWS_IOTEVENTS_API CreateDetectorModelRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDetectorModel"; } AWS_IOTEVENTS_API Aws::String SerializePayload() const override; /** *

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 CreateDetectorModelRequest& WithDetectorModelName(const Aws::String& value) { SetDetectorModelName(value); return *this;} /** *

The name of the detector model.

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

The name of the detector model.

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

Information that defines how the detectors operate.

*/ inline const DetectorModelDefinition& GetDetectorModelDefinition() const{ return m_detectorModelDefinition; } /** *

Information that defines how the detectors operate.

*/ inline bool DetectorModelDefinitionHasBeenSet() const { return m_detectorModelDefinitionHasBeenSet; } /** *

Information that defines how the detectors operate.

*/ inline void SetDetectorModelDefinition(const DetectorModelDefinition& value) { m_detectorModelDefinitionHasBeenSet = true; m_detectorModelDefinition = value; } /** *

Information that defines how the detectors operate.

*/ inline void SetDetectorModelDefinition(DetectorModelDefinition&& value) { m_detectorModelDefinitionHasBeenSet = true; m_detectorModelDefinition = std::move(value); } /** *

Information that defines how the detectors operate.

*/ inline CreateDetectorModelRequest& WithDetectorModelDefinition(const DetectorModelDefinition& value) { SetDetectorModelDefinition(value); return *this;} /** *

Information that defines how the detectors operate.

*/ inline CreateDetectorModelRequest& WithDetectorModelDefinition(DetectorModelDefinition&& value) { SetDetectorModelDefinition(std::move(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 CreateDetectorModelRequest& WithDetectorModelDescription(const Aws::String& value) { SetDetectorModelDescription(value); return *this;} /** *

A brief description of the detector model.

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

A brief description of the detector model.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

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

The input attribute key used to identify a device or system to create a * detector (an instance of the detector model) and then to route each input * received to the appropriate detector (instance). This parameter uses a JSON-path * expression in the message payload of each input to specify the attribute-value * pair that is used to identify the device associated with the input.

*/ inline CreateDetectorModelRequest& WithKey(const char* value) { SetKey(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 CreateDetectorModelRequest& 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 CreateDetectorModelRequest& 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 CreateDetectorModelRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

Metadata that can be used to manage the detector model.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Metadata that can be used to manage the detector model.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Metadata that can be used to manage the detector model.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Metadata that can be used to manage the detector model.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Metadata that can be used to manage the detector model.

*/ inline CreateDetectorModelRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Metadata that can be used to manage the detector model.

*/ inline CreateDetectorModelRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Metadata that can be used to manage the detector model.

*/ inline CreateDetectorModelRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Metadata that can be used to manage the detector model.

*/ inline CreateDetectorModelRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(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 CreateDetectorModelRequest& WithEvaluationMethod(const EvaluationMethod& value) { SetEvaluationMethod(value); return *this;} /** *

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

*/ inline CreateDetectorModelRequest& WithEvaluationMethod(EvaluationMethod&& value) { SetEvaluationMethod(std::move(value)); return *this;} private: Aws::String m_detectorModelName; bool m_detectorModelNameHasBeenSet = false; DetectorModelDefinition m_detectorModelDefinition; bool m_detectorModelDefinitionHasBeenSet = false; Aws::String m_detectorModelDescription; bool m_detectorModelDescriptionHasBeenSet = false; Aws::String m_key; bool m_keyHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; EvaluationMethod m_evaluationMethod; bool m_evaluationMethodHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws