/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GuardDuty { namespace Model { /** *

Contains the result of GuardDuty usage. If a UsageStatisticType is provided * the result for other types will be null.

See Also:

AWS * API Reference

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

The usage statistic sum organized by account ID.

*/ inline const Aws::Vector& GetSumByAccount() const{ return m_sumByAccount; } /** *

The usage statistic sum organized by account ID.

*/ inline bool SumByAccountHasBeenSet() const { return m_sumByAccountHasBeenSet; } /** *

The usage statistic sum organized by account ID.

*/ inline void SetSumByAccount(const Aws::Vector& value) { m_sumByAccountHasBeenSet = true; m_sumByAccount = value; } /** *

The usage statistic sum organized by account ID.

*/ inline void SetSumByAccount(Aws::Vector&& value) { m_sumByAccountHasBeenSet = true; m_sumByAccount = std::move(value); } /** *

The usage statistic sum organized by account ID.

*/ inline UsageStatistics& WithSumByAccount(const Aws::Vector& value) { SetSumByAccount(value); return *this;} /** *

The usage statistic sum organized by account ID.

*/ inline UsageStatistics& WithSumByAccount(Aws::Vector&& value) { SetSumByAccount(std::move(value)); return *this;} /** *

The usage statistic sum organized by account ID.

*/ inline UsageStatistics& AddSumByAccount(const UsageAccountResult& value) { m_sumByAccountHasBeenSet = true; m_sumByAccount.push_back(value); return *this; } /** *

The usage statistic sum organized by account ID.

*/ inline UsageStatistics& AddSumByAccount(UsageAccountResult&& value) { m_sumByAccountHasBeenSet = true; m_sumByAccount.push_back(std::move(value)); return *this; } /** *

The usage statistic sum organized by on data source.

*/ inline const Aws::Vector& GetSumByDataSource() const{ return m_sumByDataSource; } /** *

The usage statistic sum organized by on data source.

*/ inline bool SumByDataSourceHasBeenSet() const { return m_sumByDataSourceHasBeenSet; } /** *

The usage statistic sum organized by on data source.

*/ inline void SetSumByDataSource(const Aws::Vector& value) { m_sumByDataSourceHasBeenSet = true; m_sumByDataSource = value; } /** *

The usage statistic sum organized by on data source.

*/ inline void SetSumByDataSource(Aws::Vector&& value) { m_sumByDataSourceHasBeenSet = true; m_sumByDataSource = std::move(value); } /** *

The usage statistic sum organized by on data source.

*/ inline UsageStatistics& WithSumByDataSource(const Aws::Vector& value) { SetSumByDataSource(value); return *this;} /** *

The usage statistic sum organized by on data source.

*/ inline UsageStatistics& WithSumByDataSource(Aws::Vector&& value) { SetSumByDataSource(std::move(value)); return *this;} /** *

The usage statistic sum organized by on data source.

*/ inline UsageStatistics& AddSumByDataSource(const UsageDataSourceResult& value) { m_sumByDataSourceHasBeenSet = true; m_sumByDataSource.push_back(value); return *this; } /** *

The usage statistic sum organized by on data source.

*/ inline UsageStatistics& AddSumByDataSource(UsageDataSourceResult&& value) { m_sumByDataSourceHasBeenSet = true; m_sumByDataSource.push_back(std::move(value)); return *this; } /** *

The usage statistic sum organized by resource.

*/ inline const Aws::Vector& GetSumByResource() const{ return m_sumByResource; } /** *

The usage statistic sum organized by resource.

*/ inline bool SumByResourceHasBeenSet() const { return m_sumByResourceHasBeenSet; } /** *

The usage statistic sum organized by resource.

*/ inline void SetSumByResource(const Aws::Vector& value) { m_sumByResourceHasBeenSet = true; m_sumByResource = value; } /** *

The usage statistic sum organized by resource.

*/ inline void SetSumByResource(Aws::Vector&& value) { m_sumByResourceHasBeenSet = true; m_sumByResource = std::move(value); } /** *

The usage statistic sum organized by resource.

*/ inline UsageStatistics& WithSumByResource(const Aws::Vector& value) { SetSumByResource(value); return *this;} /** *

The usage statistic sum organized by resource.

*/ inline UsageStatistics& WithSumByResource(Aws::Vector&& value) { SetSumByResource(std::move(value)); return *this;} /** *

The usage statistic sum organized by resource.

*/ inline UsageStatistics& AddSumByResource(const UsageResourceResult& value) { m_sumByResourceHasBeenSet = true; m_sumByResource.push_back(value); return *this; } /** *

The usage statistic sum organized by resource.

*/ inline UsageStatistics& AddSumByResource(UsageResourceResult&& value) { m_sumByResourceHasBeenSet = true; m_sumByResource.push_back(std::move(value)); return *this; } /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline const Aws::Vector& GetTopResources() const{ return m_topResources; } /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline bool TopResourcesHasBeenSet() const { return m_topResourcesHasBeenSet; } /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline void SetTopResources(const Aws::Vector& value) { m_topResourcesHasBeenSet = true; m_topResources = value; } /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline void SetTopResources(Aws::Vector&& value) { m_topResourcesHasBeenSet = true; m_topResources = std::move(value); } /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline UsageStatistics& WithTopResources(const Aws::Vector& value) { SetTopResources(value); return *this;} /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline UsageStatistics& WithTopResources(Aws::Vector&& value) { SetTopResources(std::move(value)); return *this;} /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline UsageStatistics& AddTopResources(const UsageResourceResult& value) { m_topResourcesHasBeenSet = true; m_topResources.push_back(value); return *this; } /** *

Lists the top 50 resources that have generated the most GuardDuty usage, in * order from most to least expensive.

*/ inline UsageStatistics& AddTopResources(UsageResourceResult&& value) { m_topResourcesHasBeenSet = true; m_topResources.push_back(std::move(value)); return *this; } /** *

The usage statistic sum organized by feature.

*/ inline const Aws::Vector& GetSumByFeature() const{ return m_sumByFeature; } /** *

The usage statistic sum organized by feature.

*/ inline bool SumByFeatureHasBeenSet() const { return m_sumByFeatureHasBeenSet; } /** *

The usage statistic sum organized by feature.

*/ inline void SetSumByFeature(const Aws::Vector& value) { m_sumByFeatureHasBeenSet = true; m_sumByFeature = value; } /** *

The usage statistic sum organized by feature.

*/ inline void SetSumByFeature(Aws::Vector&& value) { m_sumByFeatureHasBeenSet = true; m_sumByFeature = std::move(value); } /** *

The usage statistic sum organized by feature.

*/ inline UsageStatistics& WithSumByFeature(const Aws::Vector& value) { SetSumByFeature(value); return *this;} /** *

The usage statistic sum organized by feature.

*/ inline UsageStatistics& WithSumByFeature(Aws::Vector&& value) { SetSumByFeature(std::move(value)); return *this;} /** *

The usage statistic sum organized by feature.

*/ inline UsageStatistics& AddSumByFeature(const UsageFeatureResult& value) { m_sumByFeatureHasBeenSet = true; m_sumByFeature.push_back(value); return *this; } /** *

The usage statistic sum organized by feature.

*/ inline UsageStatistics& AddSumByFeature(UsageFeatureResult&& value) { m_sumByFeatureHasBeenSet = true; m_sumByFeature.push_back(std::move(value)); return *this; } private: Aws::Vector m_sumByAccount; bool m_sumByAccountHasBeenSet = false; Aws::Vector m_sumByDataSource; bool m_sumByDataSourceHasBeenSet = false; Aws::Vector m_sumByResource; bool m_sumByResourceHasBeenSet = false; Aws::Vector m_topResources; bool m_topResourcesHasBeenSet = false; Aws::Vector m_sumByFeature; bool m_sumByFeatureHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws