/** * 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 namespace Aws { namespace Http { class URI; } //namespace Http namespace IoT { namespace Model { /** */ class ListViolationEventsRequest : public IoTRequest { public: AWS_IOT_API ListViolationEventsRequest(); // 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 "ListViolationEvents"; } AWS_IOT_API Aws::String SerializePayload() const override; AWS_IOT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The start time for the alerts to be listed.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The start time for the alerts to be listed.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The start time for the alerts to be listed.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

The start time for the alerts to be listed.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

The start time for the alerts to be listed.

*/ inline ListViolationEventsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The start time for the alerts to be listed.

*/ inline ListViolationEventsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

The end time for the alerts to be listed.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The end time for the alerts to be listed.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The end time for the alerts to be listed.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

The end time for the alerts to be listed.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

The end time for the alerts to be listed.

*/ inline ListViolationEventsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The end time for the alerts to be listed.

*/ inline ListViolationEventsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts caused by the specified thing.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

A filter to limit results to those alerts generated by the specified security * profile.

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

The criteria for a behavior.

*/ inline const BehaviorCriteriaType& GetBehaviorCriteriaType() const{ return m_behaviorCriteriaType; } /** *

The criteria for a behavior.

*/ inline bool BehaviorCriteriaTypeHasBeenSet() const { return m_behaviorCriteriaTypeHasBeenSet; } /** *

The criteria for a behavior.

*/ inline void SetBehaviorCriteriaType(const BehaviorCriteriaType& value) { m_behaviorCriteriaTypeHasBeenSet = true; m_behaviorCriteriaType = value; } /** *

The criteria for a behavior.

*/ inline void SetBehaviorCriteriaType(BehaviorCriteriaType&& value) { m_behaviorCriteriaTypeHasBeenSet = true; m_behaviorCriteriaType = std::move(value); } /** *

The criteria for a behavior.

*/ inline ListViolationEventsRequest& WithBehaviorCriteriaType(const BehaviorCriteriaType& value) { SetBehaviorCriteriaType(value); return *this;} /** *

The criteria for a behavior.

*/ inline ListViolationEventsRequest& WithBehaviorCriteriaType(BehaviorCriteriaType&& value) { SetBehaviorCriteriaType(std::move(value)); return *this;} /** *

A list of all suppressed alerts.

*/ inline bool GetListSuppressedAlerts() const{ return m_listSuppressedAlerts; } /** *

A list of all suppressed alerts.

*/ inline bool ListSuppressedAlertsHasBeenSet() const { return m_listSuppressedAlertsHasBeenSet; } /** *

A list of all suppressed alerts.

*/ inline void SetListSuppressedAlerts(bool value) { m_listSuppressedAlertsHasBeenSet = true; m_listSuppressedAlerts = value; } /** *

A list of all suppressed alerts.

*/ inline ListViolationEventsRequest& WithListSuppressedAlerts(bool value) { SetListSuppressedAlerts(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 ListViolationEventsRequest& WithVerificationState(const VerificationState& value) { SetVerificationState(value); return *this;} /** *

The verification state of the violation (detect alarm).

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

The token for the next set of results.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The token for the next set of results.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

The token for the next set of results.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

The token for the next set of results.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

The token for the next set of results.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

The token for the next set of results.

*/ inline ListViolationEventsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The token for the next set of results.

*/ inline ListViolationEventsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The token for the next set of results.

*/ inline ListViolationEventsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

The maximum number of results to return at one time.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

The maximum number of results to return at one time.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

The maximum number of results to return at one time.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

The maximum number of results to return at one time.

*/ inline ListViolationEventsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} private: Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::String m_thingName; bool m_thingNameHasBeenSet = false; Aws::String m_securityProfileName; bool m_securityProfileNameHasBeenSet = false; BehaviorCriteriaType m_behaviorCriteriaType; bool m_behaviorCriteriaTypeHasBeenSet = false; bool m_listSuppressedAlerts; bool m_listSuppressedAlertsHasBeenSet = false; VerificationState m_verificationState; bool m_verificationStateHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws