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

Contains information on the result of usage based on data source * type.

See Also:

AWS * API Reference

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

The data source type that generated usage.

*/ inline const DataSource& GetDataSource() const{ return m_dataSource; } /** *

The data source type that generated usage.

*/ inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; } /** *

The data source type that generated usage.

*/ inline void SetDataSource(const DataSource& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; } /** *

The data source type that generated usage.

*/ inline void SetDataSource(DataSource&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); } /** *

The data source type that generated usage.

*/ inline UsageDataSourceResult& WithDataSource(const DataSource& value) { SetDataSource(value); return *this;} /** *

The data source type that generated usage.

*/ inline UsageDataSourceResult& WithDataSource(DataSource&& value) { SetDataSource(std::move(value)); return *this;} /** *

Represents the total of usage for the specified data source.

*/ inline const Total& GetTotal() const{ return m_total; } /** *

Represents the total of usage for the specified data source.

*/ inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; } /** *

Represents the total of usage for the specified data source.

*/ inline void SetTotal(const Total& value) { m_totalHasBeenSet = true; m_total = value; } /** *

Represents the total of usage for the specified data source.

*/ inline void SetTotal(Total&& value) { m_totalHasBeenSet = true; m_total = std::move(value); } /** *

Represents the total of usage for the specified data source.

*/ inline UsageDataSourceResult& WithTotal(const Total& value) { SetTotal(value); return *this;} /** *

Represents the total of usage for the specified data source.

*/ inline UsageDataSourceResult& WithTotal(Total&& value) { SetTotal(std::move(value)); return *this;} private: DataSource m_dataSource; bool m_dataSourceHasBeenSet = false; Total m_total; bool m_totalHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws