/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about a Device Defender security profile behavior
* violation.See Also:
AWS
* API Reference
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