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

Provides quota and aggregated usage data for an Amazon Macie * account.

See Also:

AWS * API Reference

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

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline UsageRecord& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline UsageRecord& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The unique identifier for the Amazon Web Services account that the data * applies to.

*/ inline UsageRecord& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when the free trial * of automated sensitive data discovery started for the account. If the account is * a member account in an organization, this value is the same as the value for the * organization's Amazon Macie administrator account.

*/ inline const Aws::Utils::DateTime& GetAutomatedDiscoveryFreeTrialStartDate() const{ return m_automatedDiscoveryFreeTrialStartDate; } /** *

The date and time, in UTC and extended ISO 8601 format, when the free trial * of automated sensitive data discovery started for the account. If the account is * a member account in an organization, this value is the same as the value for the * organization's Amazon Macie administrator account.

*/ inline bool AutomatedDiscoveryFreeTrialStartDateHasBeenSet() const { return m_automatedDiscoveryFreeTrialStartDateHasBeenSet; } /** *

The date and time, in UTC and extended ISO 8601 format, when the free trial * of automated sensitive data discovery started for the account. If the account is * a member account in an organization, this value is the same as the value for the * organization's Amazon Macie administrator account.

*/ inline void SetAutomatedDiscoveryFreeTrialStartDate(const Aws::Utils::DateTime& value) { m_automatedDiscoveryFreeTrialStartDateHasBeenSet = true; m_automatedDiscoveryFreeTrialStartDate = value; } /** *

The date and time, in UTC and extended ISO 8601 format, when the free trial * of automated sensitive data discovery started for the account. If the account is * a member account in an organization, this value is the same as the value for the * organization's Amazon Macie administrator account.

*/ inline void SetAutomatedDiscoveryFreeTrialStartDate(Aws::Utils::DateTime&& value) { m_automatedDiscoveryFreeTrialStartDateHasBeenSet = true; m_automatedDiscoveryFreeTrialStartDate = std::move(value); } /** *

The date and time, in UTC and extended ISO 8601 format, when the free trial * of automated sensitive data discovery started for the account. If the account is * a member account in an organization, this value is the same as the value for the * organization's Amazon Macie administrator account.

*/ inline UsageRecord& WithAutomatedDiscoveryFreeTrialStartDate(const Aws::Utils::DateTime& value) { SetAutomatedDiscoveryFreeTrialStartDate(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when the free trial * of automated sensitive data discovery started for the account. If the account is * a member account in an organization, this value is the same as the value for the * organization's Amazon Macie administrator account.

*/ inline UsageRecord& WithAutomatedDiscoveryFreeTrialStartDate(Aws::Utils::DateTime&& value) { SetAutomatedDiscoveryFreeTrialStartDate(std::move(value)); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie * free trial started for the account.

*/ inline const Aws::Utils::DateTime& GetFreeTrialStartDate() const{ return m_freeTrialStartDate; } /** *

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie * free trial started for the account.

*/ inline bool FreeTrialStartDateHasBeenSet() const { return m_freeTrialStartDateHasBeenSet; } /** *

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie * free trial started for the account.

*/ inline void SetFreeTrialStartDate(const Aws::Utils::DateTime& value) { m_freeTrialStartDateHasBeenSet = true; m_freeTrialStartDate = value; } /** *

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie * free trial started for the account.

*/ inline void SetFreeTrialStartDate(Aws::Utils::DateTime&& value) { m_freeTrialStartDateHasBeenSet = true; m_freeTrialStartDate = std::move(value); } /** *

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie * free trial started for the account.

*/ inline UsageRecord& WithFreeTrialStartDate(const Aws::Utils::DateTime& value) { SetFreeTrialStartDate(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie * free trial started for the account.

*/ inline UsageRecord& WithFreeTrialStartDate(Aws::Utils::DateTime&& value) { SetFreeTrialStartDate(std::move(value)); return *this;} /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline const Aws::Vector& GetUsage() const{ return m_usage; } /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline bool UsageHasBeenSet() const { return m_usageHasBeenSet; } /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline void SetUsage(const Aws::Vector& value) { m_usageHasBeenSet = true; m_usage = value; } /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline void SetUsage(Aws::Vector&& value) { m_usageHasBeenSet = true; m_usage = std::move(value); } /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline UsageRecord& WithUsage(const Aws::Vector& value) { SetUsage(value); return *this;} /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline UsageRecord& WithUsage(Aws::Vector&& value) { SetUsage(std::move(value)); return *this;} /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline UsageRecord& AddUsage(const UsageByAccount& value) { m_usageHasBeenSet = true; m_usage.push_back(value); return *this; } /** *

An array of objects that contains usage data and quotas for the account. Each * object contains the data for a specific usage metric and the corresponding * quota.

*/ inline UsageRecord& AddUsage(UsageByAccount&& value) { m_usageHasBeenSet = true; m_usage.push_back(std::move(value)); return *this; } private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::Utils::DateTime m_automatedDiscoveryFreeTrialStartDate; bool m_automatedDiscoveryFreeTrialStartDateHasBeenSet = false; Aws::Utils::DateTime m_freeTrialStartDate; bool m_freeTrialStartDateHasBeenSet = false; Aws::Vector m_usage; bool m_usageHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws