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

Provides aggregated data for an Amazon Macie usage metric. The value for the * metric reports estimated usage data for an account for the preceding 30 days or * the current calendar month to date, depending on the time period (timeRange) * specified in the request.

See Also:

AWS * API Reference

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

The type of currency that the value for the metric (estimatedCost) is * reported in.

*/ inline const Currency& GetCurrency() const{ return m_currency; } /** *

The type of currency that the value for the metric (estimatedCost) is * reported in.

*/ inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } /** *

The type of currency that the value for the metric (estimatedCost) is * reported in.

*/ inline void SetCurrency(const Currency& value) { m_currencyHasBeenSet = true; m_currency = value; } /** *

The type of currency that the value for the metric (estimatedCost) is * reported in.

*/ inline void SetCurrency(Currency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } /** *

The type of currency that the value for the metric (estimatedCost) is * reported in.

*/ inline UsageTotal& WithCurrency(const Currency& value) { SetCurrency(value); return *this;} /** *

The type of currency that the value for the metric (estimatedCost) is * reported in.

*/ inline UsageTotal& WithCurrency(Currency&& value) { SetCurrency(std::move(value)); return *this;} /** *

The estimated value for the metric.

*/ inline const Aws::String& GetEstimatedCost() const{ return m_estimatedCost; } /** *

The estimated value for the metric.

*/ inline bool EstimatedCostHasBeenSet() const { return m_estimatedCostHasBeenSet; } /** *

The estimated value for the metric.

*/ inline void SetEstimatedCost(const Aws::String& value) { m_estimatedCostHasBeenSet = true; m_estimatedCost = value; } /** *

The estimated value for the metric.

*/ inline void SetEstimatedCost(Aws::String&& value) { m_estimatedCostHasBeenSet = true; m_estimatedCost = std::move(value); } /** *

The estimated value for the metric.

*/ inline void SetEstimatedCost(const char* value) { m_estimatedCostHasBeenSet = true; m_estimatedCost.assign(value); } /** *

The estimated value for the metric.

*/ inline UsageTotal& WithEstimatedCost(const Aws::String& value) { SetEstimatedCost(value); return *this;} /** *

The estimated value for the metric.

*/ inline UsageTotal& WithEstimatedCost(Aws::String&& value) { SetEstimatedCost(std::move(value)); return *this;} /** *

The estimated value for the metric.

*/ inline UsageTotal& WithEstimatedCost(const char* value) { SetEstimatedCost(value); return *this;} /** *

The name of the metric. Possible values are: AUTOMATED_OBJECT_MONITORING, to * monitor S3 objects for automated sensitive data discovery; * AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze S3 objects for automated * sensitive data discovery; DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and, * SENSITIVE_DATA_DISCOVERY, to run classification jobs.

*/ inline const UsageType& GetType() const{ return m_type; } /** *

The name of the metric. Possible values are: AUTOMATED_OBJECT_MONITORING, to * monitor S3 objects for automated sensitive data discovery; * AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze S3 objects for automated * sensitive data discovery; DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and, * SENSITIVE_DATA_DISCOVERY, to run classification jobs.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The name of the metric. Possible values are: AUTOMATED_OBJECT_MONITORING, to * monitor S3 objects for automated sensitive data discovery; * AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze S3 objects for automated * sensitive data discovery; DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and, * SENSITIVE_DATA_DISCOVERY, to run classification jobs.

*/ inline void SetType(const UsageType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The name of the metric. Possible values are: AUTOMATED_OBJECT_MONITORING, to * monitor S3 objects for automated sensitive data discovery; * AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze S3 objects for automated * sensitive data discovery; DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and, * SENSITIVE_DATA_DISCOVERY, to run classification jobs.

*/ inline void SetType(UsageType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The name of the metric. Possible values are: AUTOMATED_OBJECT_MONITORING, to * monitor S3 objects for automated sensitive data discovery; * AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze S3 objects for automated * sensitive data discovery; DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and, * SENSITIVE_DATA_DISCOVERY, to run classification jobs.

*/ inline UsageTotal& WithType(const UsageType& value) { SetType(value); return *this;} /** *

The name of the metric. Possible values are: AUTOMATED_OBJECT_MONITORING, to * monitor S3 objects for automated sensitive data discovery; * AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze S3 objects for automated * sensitive data discovery; DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and, * SENSITIVE_DATA_DISCOVERY, to run classification jobs.

*/ inline UsageTotal& WithType(UsageType&& value) { SetType(std::move(value)); return *this;} private: Currency m_currency; bool m_currencyHasBeenSet = false; Aws::String m_estimatedCost; bool m_estimatedCostHasBeenSet = false; UsageType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws