/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CloudTrail { namespace Model { /** *

A JSON string that contains a list of Insights types that are logged on a * trail.

See Also:

AWS * API Reference

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

The type of Insights events to log on a trail. * ApiCallRateInsight and ApiErrorRateInsight are valid * Insight types.

The ApiCallRateInsight Insights type analyzes * write-only management API calls that are aggregated per minute against a * baseline API call volume.

The ApiErrorRateInsight Insights * type analyzes management API calls that result in error codes. The error is * shown if the API call is unsuccessful.

*/ inline const InsightType& GetInsightType() const{ return m_insightType; } /** *

The type of Insights events to log on a trail. * ApiCallRateInsight and ApiErrorRateInsight are valid * Insight types.

The ApiCallRateInsight Insights type analyzes * write-only management API calls that are aggregated per minute against a * baseline API call volume.

The ApiErrorRateInsight Insights * type analyzes management API calls that result in error codes. The error is * shown if the API call is unsuccessful.

*/ inline bool InsightTypeHasBeenSet() const { return m_insightTypeHasBeenSet; } /** *

The type of Insights events to log on a trail. * ApiCallRateInsight and ApiErrorRateInsight are valid * Insight types.

The ApiCallRateInsight Insights type analyzes * write-only management API calls that are aggregated per minute against a * baseline API call volume.

The ApiErrorRateInsight Insights * type analyzes management API calls that result in error codes. The error is * shown if the API call is unsuccessful.

*/ inline void SetInsightType(const InsightType& value) { m_insightTypeHasBeenSet = true; m_insightType = value; } /** *

The type of Insights events to log on a trail. * ApiCallRateInsight and ApiErrorRateInsight are valid * Insight types.

The ApiCallRateInsight Insights type analyzes * write-only management API calls that are aggregated per minute against a * baseline API call volume.

The ApiErrorRateInsight Insights * type analyzes management API calls that result in error codes. The error is * shown if the API call is unsuccessful.

*/ inline void SetInsightType(InsightType&& value) { m_insightTypeHasBeenSet = true; m_insightType = std::move(value); } /** *

The type of Insights events to log on a trail. * ApiCallRateInsight and ApiErrorRateInsight are valid * Insight types.

The ApiCallRateInsight Insights type analyzes * write-only management API calls that are aggregated per minute against a * baseline API call volume.

The ApiErrorRateInsight Insights * type analyzes management API calls that result in error codes. The error is * shown if the API call is unsuccessful.

*/ inline InsightSelector& WithInsightType(const InsightType& value) { SetInsightType(value); return *this;} /** *

The type of Insights events to log on a trail. * ApiCallRateInsight and ApiErrorRateInsight are valid * Insight types.

The ApiCallRateInsight Insights type analyzes * write-only management API calls that are aggregated per minute against a * baseline API call volume.

The ApiErrorRateInsight Insights * type analyzes management API calls that result in error codes. The error is * shown if the API call is unsuccessful.

*/ inline InsightSelector& WithInsightType(InsightType&& value) { SetInsightType(std::move(value)); return *this;} private: InsightType m_insightType; bool m_insightTypeHasBeenSet = false; }; } // namespace Model } // namespace CloudTrail } // namespace Aws