/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoT { namespace Model { /** *

Information about a Device Defender security profile behavior * violation.

See Also:

AWS * API Reference

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

The ID of the violation event.

*/ inline const Aws::String& GetViolationId() const{ return m_violationId; } /** *

The ID of the violation event.

*/ inline bool ViolationIdHasBeenSet() const { return m_violationIdHasBeenSet; } /** *

The ID of the violation event.

*/ inline void SetViolationId(const Aws::String& value) { m_violationIdHasBeenSet = true; m_violationId = value; } /** *

The ID of the violation event.

*/ inline void SetViolationId(Aws::String&& value) { m_violationIdHasBeenSet = true; m_violationId = std::move(value); } /** *

The ID of the violation event.

*/ inline void SetViolationId(const char* value) { m_violationIdHasBeenSet = true; m_violationId.assign(value); } /** *

The ID of the violation event.

*/ inline ViolationEvent& WithViolationId(const Aws::String& value) { SetViolationId(value); return *this;} /** *

The ID of the violation event.

*/ inline ViolationEvent& WithViolationId(Aws::String&& value) { SetViolationId(std::move(value)); return *this;} /** *

The ID of the violation event.

*/ inline ViolationEvent& WithViolationId(const char* value) { SetViolationId(value); return *this;} /** *

The name of the thing responsible for the violation event.

*/ inline const Aws::String& GetThingName() const{ return m_thingName; } /** *

The name of the thing responsible for the violation event.

*/ inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; } /** *

The name of the thing responsible for the violation event.

*/ inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; } /** *

The name of the thing responsible for the violation event.

*/ inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); } /** *

The name of the thing responsible for the violation event.

*/ inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); } /** *

The name of the thing responsible for the violation event.

*/ inline ViolationEvent& WithThingName(const Aws::String& value) { SetThingName(value); return *this;} /** *

The name of the thing responsible for the violation event.

*/ inline ViolationEvent& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;} /** *

The name of the thing responsible for the violation event.

*/ inline ViolationEvent& WithThingName(const char* value) { SetThingName(value); return *this;} /** *

The name of the security profile whose behavior was violated.

*/ inline const Aws::String& GetSecurityProfileName() const{ return m_securityProfileName; } /** *

The name of the security profile whose behavior was violated.

*/ inline bool SecurityProfileNameHasBeenSet() const { return m_securityProfileNameHasBeenSet; } /** *

The name of the security profile whose behavior was violated.

*/ inline void SetSecurityProfileName(const Aws::String& value) { m_securityProfileNameHasBeenSet = true; m_securityProfileName = value; } /** *

The name of the security profile whose behavior was violated.

*/ inline void SetSecurityProfileName(Aws::String&& value) { m_securityProfileNameHasBeenSet = true; m_securityProfileName = std::move(value); } /** *

The name of the security profile whose behavior was violated.

*/ inline void SetSecurityProfileName(const char* value) { m_securityProfileNameHasBeenSet = true; m_securityProfileName.assign(value); } /** *

The name of the security profile whose behavior was violated.

*/ inline ViolationEvent& WithSecurityProfileName(const Aws::String& value) { SetSecurityProfileName(value); return *this;} /** *

The name of the security profile whose behavior was violated.

*/ inline ViolationEvent& WithSecurityProfileName(Aws::String&& value) { SetSecurityProfileName(std::move(value)); return *this;} /** *

The name of the security profile whose behavior was violated.

*/ inline ViolationEvent& WithSecurityProfileName(const char* value) { SetSecurityProfileName(value); return *this;} /** *

The behavior that was violated.

*/ inline const Behavior& GetBehavior() const{ return m_behavior; } /** *

The behavior that was violated.

*/ inline bool BehaviorHasBeenSet() const { return m_behaviorHasBeenSet; } /** *

The behavior that was violated.

*/ inline void SetBehavior(const Behavior& value) { m_behaviorHasBeenSet = true; m_behavior = value; } /** *

The behavior that was violated.

*/ inline void SetBehavior(Behavior&& value) { m_behaviorHasBeenSet = true; m_behavior = std::move(value); } /** *

The behavior that was violated.

*/ inline ViolationEvent& WithBehavior(const Behavior& value) { SetBehavior(value); return *this;} /** *

The behavior that was violated.

*/ inline ViolationEvent& WithBehavior(Behavior&& value) { SetBehavior(std::move(value)); return *this;} /** *

The value of the metric (the measurement).

*/ inline const MetricValue& GetMetricValue() const{ return m_metricValue; } /** *

The value of the metric (the measurement).

*/ inline bool MetricValueHasBeenSet() const { return m_metricValueHasBeenSet; } /** *

The value of the metric (the measurement).

*/ inline void SetMetricValue(const MetricValue& value) { m_metricValueHasBeenSet = true; m_metricValue = value; } /** *

The value of the metric (the measurement).

*/ inline void SetMetricValue(MetricValue&& value) { m_metricValueHasBeenSet = true; m_metricValue = std::move(value); } /** *

The value of the metric (the measurement).

*/ inline ViolationEvent& WithMetricValue(const MetricValue& value) { SetMetricValue(value); return *this;} /** *

The value of the metric (the measurement).

*/ inline ViolationEvent& WithMetricValue(MetricValue&& value) { SetMetricValue(std::move(value)); return *this;} /** *

The details of a violation event.

*/ inline const ViolationEventAdditionalInfo& GetViolationEventAdditionalInfo() const{ return m_violationEventAdditionalInfo; } /** *

The details of a violation event.

*/ inline bool ViolationEventAdditionalInfoHasBeenSet() const { return m_violationEventAdditionalInfoHasBeenSet; } /** *

The details of a violation event.

*/ inline void SetViolationEventAdditionalInfo(const ViolationEventAdditionalInfo& value) { m_violationEventAdditionalInfoHasBeenSet = true; m_violationEventAdditionalInfo = value; } /** *

The details of a violation event.

*/ inline void SetViolationEventAdditionalInfo(ViolationEventAdditionalInfo&& value) { m_violationEventAdditionalInfoHasBeenSet = true; m_violationEventAdditionalInfo = std::move(value); } /** *

The details of a violation event.

*/ inline ViolationEvent& WithViolationEventAdditionalInfo(const ViolationEventAdditionalInfo& value) { SetViolationEventAdditionalInfo(value); return *this;} /** *

The details of a violation event.

*/ inline ViolationEvent& WithViolationEventAdditionalInfo(ViolationEventAdditionalInfo&& value) { SetViolationEventAdditionalInfo(std::move(value)); return *this;} /** *

The type of violation event.

*/ inline const ViolationEventType& GetViolationEventType() const{ return m_violationEventType; } /** *

The type of violation event.

*/ inline bool ViolationEventTypeHasBeenSet() const { return m_violationEventTypeHasBeenSet; } /** *

The type of violation event.

*/ inline void SetViolationEventType(const ViolationEventType& value) { m_violationEventTypeHasBeenSet = true; m_violationEventType = value; } /** *

The type of violation event.

*/ inline void SetViolationEventType(ViolationEventType&& value) { m_violationEventTypeHasBeenSet = true; m_violationEventType = std::move(value); } /** *

The type of violation event.

*/ inline ViolationEvent& WithViolationEventType(const ViolationEventType& value) { SetViolationEventType(value); return *this;} /** *

The type of violation event.

*/ inline ViolationEvent& WithViolationEventType(ViolationEventType&& value) { SetViolationEventType(std::move(value)); return *this;} /** *

The verification state of the violation (detect alarm).

*/ inline const VerificationState& GetVerificationState() const{ return m_verificationState; } /** *

The verification state of the violation (detect alarm).

*/ inline bool VerificationStateHasBeenSet() const { return m_verificationStateHasBeenSet; } /** *

The verification state of the violation (detect alarm).

*/ inline void SetVerificationState(const VerificationState& value) { m_verificationStateHasBeenSet = true; m_verificationState = value; } /** *

The verification state of the violation (detect alarm).

*/ inline void SetVerificationState(VerificationState&& value) { m_verificationStateHasBeenSet = true; m_verificationState = std::move(value); } /** *

The verification state of the violation (detect alarm).

*/ inline ViolationEvent& WithVerificationState(const VerificationState& value) { SetVerificationState(value); return *this;} /** *

The verification state of the violation (detect alarm).

*/ inline ViolationEvent& WithVerificationState(VerificationState&& value) { SetVerificationState(std::move(value)); return *this;} /** *

The description of the verification state of the violation.

*/ inline const Aws::String& GetVerificationStateDescription() const{ return m_verificationStateDescription; } /** *

The description of the verification state of the violation.

*/ inline bool VerificationStateDescriptionHasBeenSet() const { return m_verificationStateDescriptionHasBeenSet; } /** *

The description of the verification state of the violation.

*/ inline void SetVerificationStateDescription(const Aws::String& value) { m_verificationStateDescriptionHasBeenSet = true; m_verificationStateDescription = value; } /** *

The description of the verification state of the violation.

*/ inline void SetVerificationStateDescription(Aws::String&& value) { m_verificationStateDescriptionHasBeenSet = true; m_verificationStateDescription = std::move(value); } /** *

The description of the verification state of the violation.

*/ inline void SetVerificationStateDescription(const char* value) { m_verificationStateDescriptionHasBeenSet = true; m_verificationStateDescription.assign(value); } /** *

The description of the verification state of the violation.

*/ inline ViolationEvent& WithVerificationStateDescription(const Aws::String& value) { SetVerificationStateDescription(value); return *this;} /** *

The description of the verification state of the violation.

*/ inline ViolationEvent& WithVerificationStateDescription(Aws::String&& value) { SetVerificationStateDescription(std::move(value)); return *this;} /** *

The description of the verification state of the violation.

*/ inline ViolationEvent& WithVerificationStateDescription(const char* value) { SetVerificationStateDescription(value); return *this;} /** *

The time the violation event occurred.

*/ inline const Aws::Utils::DateTime& GetViolationEventTime() const{ return m_violationEventTime; } /** *

The time the violation event occurred.

*/ inline bool ViolationEventTimeHasBeenSet() const { return m_violationEventTimeHasBeenSet; } /** *

The time the violation event occurred.

*/ inline void SetViolationEventTime(const Aws::Utils::DateTime& value) { m_violationEventTimeHasBeenSet = true; m_violationEventTime = value; } /** *

The time the violation event occurred.

*/ inline void SetViolationEventTime(Aws::Utils::DateTime&& value) { m_violationEventTimeHasBeenSet = true; m_violationEventTime = std::move(value); } /** *

The time the violation event occurred.

*/ inline ViolationEvent& WithViolationEventTime(const Aws::Utils::DateTime& value) { SetViolationEventTime(value); return *this;} /** *

The time the violation event occurred.

*/ inline ViolationEvent& WithViolationEventTime(Aws::Utils::DateTime&& value) { SetViolationEventTime(std::move(value)); return *this;} private: Aws::String m_violationId; bool m_violationIdHasBeenSet = false; Aws::String m_thingName; bool m_thingNameHasBeenSet = false; Aws::String m_securityProfileName; bool m_securityProfileNameHasBeenSet = false; Behavior m_behavior; bool m_behaviorHasBeenSet = false; MetricValue m_metricValue; bool m_metricValueHasBeenSet = false; ViolationEventAdditionalInfo m_violationEventAdditionalInfo; bool m_violationEventAdditionalInfoHasBeenSet = false; ViolationEventType m_violationEventType; bool m_violationEventTypeHasBeenSet = false; VerificationState m_verificationState; bool m_verificationStateHasBeenSet = false; Aws::String m_verificationStateDescription; bool m_verificationStateDescriptionHasBeenSet = false; Aws::Utils::DateTime m_violationEventTime; bool m_violationEventTimeHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws