/**
* 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 which was violated.
*/ inline const Behavior& GetBehavior() const{ return m_behavior; } /** *The behavior which was violated.
*/ inline bool BehaviorHasBeenSet() const { return m_behaviorHasBeenSet; } /** *The behavior which was violated.
*/ inline void SetBehavior(const Behavior& value) { m_behaviorHasBeenSet = true; m_behavior = value; } /** *The behavior which was violated.
*/ inline void SetBehavior(Behavior&& value) { m_behaviorHasBeenSet = true; m_behavior = std::move(value); } /** *The behavior which was violated.
*/ inline ViolationEvent& WithBehavior(const Behavior& value) { SetBehavior(value); return *this;} /** *The behavior which 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 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 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; Aws::String m_thingName; bool m_thingNameHasBeenSet; Aws::String m_securityProfileName; bool m_securityProfileNameHasBeenSet; Behavior m_behavior; bool m_behaviorHasBeenSet; MetricValue m_metricValue; bool m_metricValueHasBeenSet; ViolationEventType m_violationEventType; bool m_violationEventTypeHasBeenSet; Aws::Utils::DateTime m_violationEventTime; bool m_violationEventTimeHasBeenSet; }; } // namespace Model } // namespace IoT } // namespace Aws