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

Contains the result of the analysis.

See Also:

AWS * API Reference

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

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline AnalysisResult& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline AnalysisResult& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of the analysis result. Analyses fall into the following types based * on the validators used to generate the analysis result:

  • * supported-actions - You must specify AWS IoT Events supported * actions that work with other AWS services in a supported AWS Region.

  • *
  • service-limits - Resources or API operations can't exceed * service quotas (also known as limits). Update your detector model or request a * quota increase.

  • structure - The detector model * must follow a structure that AWS IoT Events supports.

  • * expression-syntax - Your expression must follow the required * syntax.

  • data-type - Data types referenced in the * detector model must be compatible.

  • * referenced-data - You must define the data referenced in your * detector model before you can use the data.

  • * referenced-resource - Resources that the detector model uses must * be available.

For more information, see Running * detector model analyses in the AWS IoT Events Developer Guide.

*/ inline AnalysisResult& WithType(const char* value) { SetType(value); return *this;} /** *

The severity level of the analysis result. Based on the severity level, * analysis results fall into three general categories:

  • * INFO - An information result tells you about a significant field in * your detector model. This type of result usually doesn't require immediate * action.

  • WARNING - A warning result draws special * attention to fields that might cause issues for your detector model. We * recommend that you review warnings and take necessary actions before you use * your detector model in production environments. Otherwise, the detector model * might not work as expected.

  • ERROR - An error * result notifies you about a problem found in your detector model. You must fix * all errors before you can publish your detector model.

*/ inline const AnalysisResultLevel& GetLevel() const{ return m_level; } /** *

The severity level of the analysis result. Based on the severity level, * analysis results fall into three general categories:

  • * INFO - An information result tells you about a significant field in * your detector model. This type of result usually doesn't require immediate * action.

  • WARNING - A warning result draws special * attention to fields that might cause issues for your detector model. We * recommend that you review warnings and take necessary actions before you use * your detector model in production environments. Otherwise, the detector model * might not work as expected.

  • ERROR - An error * result notifies you about a problem found in your detector model. You must fix * all errors before you can publish your detector model.

*/ inline bool LevelHasBeenSet() const { return m_levelHasBeenSet; } /** *

The severity level of the analysis result. Based on the severity level, * analysis results fall into three general categories:

  • * INFO - An information result tells you about a significant field in * your detector model. This type of result usually doesn't require immediate * action.

  • WARNING - A warning result draws special * attention to fields that might cause issues for your detector model. We * recommend that you review warnings and take necessary actions before you use * your detector model in production environments. Otherwise, the detector model * might not work as expected.

  • ERROR - An error * result notifies you about a problem found in your detector model. You must fix * all errors before you can publish your detector model.

*/ inline void SetLevel(const AnalysisResultLevel& value) { m_levelHasBeenSet = true; m_level = value; } /** *

The severity level of the analysis result. Based on the severity level, * analysis results fall into three general categories:

  • * INFO - An information result tells you about a significant field in * your detector model. This type of result usually doesn't require immediate * action.

  • WARNING - A warning result draws special * attention to fields that might cause issues for your detector model. We * recommend that you review warnings and take necessary actions before you use * your detector model in production environments. Otherwise, the detector model * might not work as expected.

  • ERROR - An error * result notifies you about a problem found in your detector model. You must fix * all errors before you can publish your detector model.

*/ inline void SetLevel(AnalysisResultLevel&& value) { m_levelHasBeenSet = true; m_level = std::move(value); } /** *

The severity level of the analysis result. Based on the severity level, * analysis results fall into three general categories:

  • * INFO - An information result tells you about a significant field in * your detector model. This type of result usually doesn't require immediate * action.

  • WARNING - A warning result draws special * attention to fields that might cause issues for your detector model. We * recommend that you review warnings and take necessary actions before you use * your detector model in production environments. Otherwise, the detector model * might not work as expected.

  • ERROR - An error * result notifies you about a problem found in your detector model. You must fix * all errors before you can publish your detector model.

*/ inline AnalysisResult& WithLevel(const AnalysisResultLevel& value) { SetLevel(value); return *this;} /** *

The severity level of the analysis result. Based on the severity level, * analysis results fall into three general categories:

  • * INFO - An information result tells you about a significant field in * your detector model. This type of result usually doesn't require immediate * action.

  • WARNING - A warning result draws special * attention to fields that might cause issues for your detector model. We * recommend that you review warnings and take necessary actions before you use * your detector model in production environments. Otherwise, the detector model * might not work as expected.

  • ERROR - An error * result notifies you about a problem found in your detector model. You must fix * all errors before you can publish your detector model.

*/ inline AnalysisResult& WithLevel(AnalysisResultLevel&& value) { SetLevel(std::move(value)); return *this;} /** *

Contains additional information about the analysis result.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

Contains additional information about the analysis result.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

Contains additional information about the analysis result.

*/ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } /** *

Contains additional information about the analysis result.

*/ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

Contains additional information about the analysis result.

*/ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } /** *

Contains additional information about the analysis result.

*/ inline AnalysisResult& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

Contains additional information about the analysis result.

*/ inline AnalysisResult& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

Contains additional information about the analysis result.

*/ inline AnalysisResult& WithMessage(const char* value) { SetMessage(value); return *this;} /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline const Aws::Vector& GetLocations() const{ return m_locations; } /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline bool LocationsHasBeenSet() const { return m_locationsHasBeenSet; } /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline void SetLocations(const Aws::Vector& value) { m_locationsHasBeenSet = true; m_locations = value; } /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline void SetLocations(Aws::Vector&& value) { m_locationsHasBeenSet = true; m_locations = std::move(value); } /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline AnalysisResult& WithLocations(const Aws::Vector& value) { SetLocations(value); return *this;} /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline AnalysisResult& WithLocations(Aws::Vector&& value) { SetLocations(std::move(value)); return *this;} /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline AnalysisResult& AddLocations(const AnalysisResultLocation& value) { m_locationsHasBeenSet = true; m_locations.push_back(value); return *this; } /** *

Contains one or more locations that you can use to locate the fields in your * detector model that the analysis result references.

*/ inline AnalysisResult& AddLocations(AnalysisResultLocation&& value) { m_locationsHasBeenSet = true; m_locations.push_back(std::move(value)); return *this; } private: Aws::String m_type; bool m_typeHasBeenSet = false; AnalysisResultLevel m_level; bool m_levelHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; Aws::Vector m_locations; bool m_locationsHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws