/** * 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 CostExplorer { namespace Model { /** */ class GetAnomaliesRequest : public CostExplorerRequest { public: AWS_COSTEXPLORER_API GetAnomaliesRequest(); // 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 "GetAnomalies"; } AWS_COSTEXPLORER_API Aws::String SerializePayload() const override; AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline const Aws::String& GetMonitorArn() const{ return m_monitorArn; } /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline bool MonitorArnHasBeenSet() const { return m_monitorArnHasBeenSet; } /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline void SetMonitorArn(const Aws::String& value) { m_monitorArnHasBeenSet = true; m_monitorArn = value; } /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline void SetMonitorArn(Aws::String&& value) { m_monitorArnHasBeenSet = true; m_monitorArn = std::move(value); } /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline void SetMonitorArn(const char* value) { m_monitorArnHasBeenSet = true; m_monitorArn.assign(value); } /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline GetAnomaliesRequest& WithMonitorArn(const Aws::String& value) { SetMonitorArn(value); return *this;} /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline GetAnomaliesRequest& WithMonitorArn(Aws::String&& value) { SetMonitorArn(std::move(value)); return *this;} /** *

Retrieves all of the cost anomalies detected for a specific cost anomaly * monitor Amazon Resource Name (ARN).

*/ inline GetAnomaliesRequest& WithMonitorArn(const char* value) { SetMonitorArn(value); return *this;} /** *

Assigns the start and end dates for retrieving cost anomalies. The returned * anomaly object will have an AnomalyEndDate in the specified time * range.

*/ inline const AnomalyDateInterval& GetDateInterval() const{ return m_dateInterval; } /** *

Assigns the start and end dates for retrieving cost anomalies. The returned * anomaly object will have an AnomalyEndDate in the specified time * range.

*/ inline bool DateIntervalHasBeenSet() const { return m_dateIntervalHasBeenSet; } /** *

Assigns the start and end dates for retrieving cost anomalies. The returned * anomaly object will have an AnomalyEndDate in the specified time * range.

*/ inline void SetDateInterval(const AnomalyDateInterval& value) { m_dateIntervalHasBeenSet = true; m_dateInterval = value; } /** *

Assigns the start and end dates for retrieving cost anomalies. The returned * anomaly object will have an AnomalyEndDate in the specified time * range.

*/ inline void SetDateInterval(AnomalyDateInterval&& value) { m_dateIntervalHasBeenSet = true; m_dateInterval = std::move(value); } /** *

Assigns the start and end dates for retrieving cost anomalies. The returned * anomaly object will have an AnomalyEndDate in the specified time * range.

*/ inline GetAnomaliesRequest& WithDateInterval(const AnomalyDateInterval& value) { SetDateInterval(value); return *this;} /** *

Assigns the start and end dates for retrieving cost anomalies. The returned * anomaly object will have an AnomalyEndDate in the specified time * range.

*/ inline GetAnomaliesRequest& WithDateInterval(AnomalyDateInterval&& value) { SetDateInterval(std::move(value)); return *this;} /** *

Filters anomaly results by the feedback field on the anomaly object.

*/ inline const AnomalyFeedbackType& GetFeedback() const{ return m_feedback; } /** *

Filters anomaly results by the feedback field on the anomaly object.

*/ inline bool FeedbackHasBeenSet() const { return m_feedbackHasBeenSet; } /** *

Filters anomaly results by the feedback field on the anomaly object.

*/ inline void SetFeedback(const AnomalyFeedbackType& value) { m_feedbackHasBeenSet = true; m_feedback = value; } /** *

Filters anomaly results by the feedback field on the anomaly object.

*/ inline void SetFeedback(AnomalyFeedbackType&& value) { m_feedbackHasBeenSet = true; m_feedback = std::move(value); } /** *

Filters anomaly results by the feedback field on the anomaly object.

*/ inline GetAnomaliesRequest& WithFeedback(const AnomalyFeedbackType& value) { SetFeedback(value); return *this;} /** *

Filters anomaly results by the feedback field on the anomaly object.

*/ inline GetAnomaliesRequest& WithFeedback(AnomalyFeedbackType&& value) { SetFeedback(std::move(value)); return *this;} /** *

Filters anomaly results by the total impact field on the anomaly object. For * example, you can filter anomalies GREATER_THAN 200.00 to retrieve * anomalies, with an estimated dollar impact greater than 200.

*/ inline const TotalImpactFilter& GetTotalImpact() const{ return m_totalImpact; } /** *

Filters anomaly results by the total impact field on the anomaly object. For * example, you can filter anomalies GREATER_THAN 200.00 to retrieve * anomalies, with an estimated dollar impact greater than 200.

*/ inline bool TotalImpactHasBeenSet() const { return m_totalImpactHasBeenSet; } /** *

Filters anomaly results by the total impact field on the anomaly object. For * example, you can filter anomalies GREATER_THAN 200.00 to retrieve * anomalies, with an estimated dollar impact greater than 200.

*/ inline void SetTotalImpact(const TotalImpactFilter& value) { m_totalImpactHasBeenSet = true; m_totalImpact = value; } /** *

Filters anomaly results by the total impact field on the anomaly object. For * example, you can filter anomalies GREATER_THAN 200.00 to retrieve * anomalies, with an estimated dollar impact greater than 200.

*/ inline void SetTotalImpact(TotalImpactFilter&& value) { m_totalImpactHasBeenSet = true; m_totalImpact = std::move(value); } /** *

Filters anomaly results by the total impact field on the anomaly object. For * example, you can filter anomalies GREATER_THAN 200.00 to retrieve * anomalies, with an estimated dollar impact greater than 200.

*/ inline GetAnomaliesRequest& WithTotalImpact(const TotalImpactFilter& value) { SetTotalImpact(value); return *this;} /** *

Filters anomaly results by the total impact field on the anomaly object. For * example, you can filter anomalies GREATER_THAN 200.00 to retrieve * anomalies, with an estimated dollar impact greater than 200.

*/ inline GetAnomaliesRequest& WithTotalImpact(TotalImpactFilter&& value) { SetTotalImpact(std::move(value)); return *this;} /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline const Aws::String& GetNextPageToken() const{ return m_nextPageToken; } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline void SetNextPageToken(const Aws::String& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = value; } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline void SetNextPageToken(Aws::String&& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = std::move(value); } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline void SetNextPageToken(const char* value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken.assign(value); } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline GetAnomaliesRequest& WithNextPageToken(const Aws::String& value) { SetNextPageToken(value); return *this;} /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline GetAnomaliesRequest& WithNextPageToken(Aws::String&& value) { SetNextPageToken(std::move(value)); return *this;} /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline GetAnomaliesRequest& WithNextPageToken(const char* value) { SetNextPageToken(value); return *this;} /** *

The number of entries a paginated response contains.

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

The number of entries a paginated response contains.

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

The number of entries a paginated response contains.

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

The number of entries a paginated response contains.

*/ inline GetAnomaliesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} private: Aws::String m_monitorArn; bool m_monitorArnHasBeenSet = false; AnomalyDateInterval m_dateInterval; bool m_dateIntervalHasBeenSet = false; AnomalyFeedbackType m_feedback; bool m_feedbackHasBeenSet = false; TotalImpactFilter m_totalImpact; bool m_totalImpactHasBeenSet = false; Aws::String m_nextPageToken; bool m_nextPageTokenHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws