/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3Control { namespace Model { /** *

A container for the bucket-level configuration for Amazon S3 Storage * Lens.

For more information about S3 Storage Lens, see Assessing * your storage activity and usage with S3 Storage Lens in the Amazon S3 * User Guide.

See Also:

AWS * API Reference

*/ class BucketLevel { public: AWS_S3CONTROL_API BucketLevel(); AWS_S3CONTROL_API BucketLevel(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API BucketLevel& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

A container for the bucket-level activity metrics for S3 Storage Lens.

*/ inline const ActivityMetrics& GetActivityMetrics() const{ return m_activityMetrics; } /** *

A container for the bucket-level activity metrics for S3 Storage Lens.

*/ inline bool ActivityMetricsHasBeenSet() const { return m_activityMetricsHasBeenSet; } /** *

A container for the bucket-level activity metrics for S3 Storage Lens.

*/ inline void SetActivityMetrics(const ActivityMetrics& value) { m_activityMetricsHasBeenSet = true; m_activityMetrics = value; } /** *

A container for the bucket-level activity metrics for S3 Storage Lens.

*/ inline void SetActivityMetrics(ActivityMetrics&& value) { m_activityMetricsHasBeenSet = true; m_activityMetrics = std::move(value); } /** *

A container for the bucket-level activity metrics for S3 Storage Lens.

*/ inline BucketLevel& WithActivityMetrics(const ActivityMetrics& value) { SetActivityMetrics(value); return *this;} /** *

A container for the bucket-level activity metrics for S3 Storage Lens.

*/ inline BucketLevel& WithActivityMetrics(ActivityMetrics&& value) { SetActivityMetrics(std::move(value)); return *this;} /** *

A container for the prefix-level metrics for S3 Storage Lens.

*/ inline const PrefixLevel& GetPrefixLevel() const{ return m_prefixLevel; } /** *

A container for the prefix-level metrics for S3 Storage Lens.

*/ inline bool PrefixLevelHasBeenSet() const { return m_prefixLevelHasBeenSet; } /** *

A container for the prefix-level metrics for S3 Storage Lens.

*/ inline void SetPrefixLevel(const PrefixLevel& value) { m_prefixLevelHasBeenSet = true; m_prefixLevel = value; } /** *

A container for the prefix-level metrics for S3 Storage Lens.

*/ inline void SetPrefixLevel(PrefixLevel&& value) { m_prefixLevelHasBeenSet = true; m_prefixLevel = std::move(value); } /** *

A container for the prefix-level metrics for S3 Storage Lens.

*/ inline BucketLevel& WithPrefixLevel(const PrefixLevel& value) { SetPrefixLevel(value); return *this;} /** *

A container for the prefix-level metrics for S3 Storage Lens.

*/ inline BucketLevel& WithPrefixLevel(PrefixLevel&& value) { SetPrefixLevel(std::move(value)); return *this;} /** *

A container for bucket-level advanced cost-optimization metrics for S3 * Storage Lens.

*/ inline const AdvancedCostOptimizationMetrics& GetAdvancedCostOptimizationMetrics() const{ return m_advancedCostOptimizationMetrics; } /** *

A container for bucket-level advanced cost-optimization metrics for S3 * Storage Lens.

*/ inline bool AdvancedCostOptimizationMetricsHasBeenSet() const { return m_advancedCostOptimizationMetricsHasBeenSet; } /** *

A container for bucket-level advanced cost-optimization metrics for S3 * Storage Lens.

*/ inline void SetAdvancedCostOptimizationMetrics(const AdvancedCostOptimizationMetrics& value) { m_advancedCostOptimizationMetricsHasBeenSet = true; m_advancedCostOptimizationMetrics = value; } /** *

A container for bucket-level advanced cost-optimization metrics for S3 * Storage Lens.

*/ inline void SetAdvancedCostOptimizationMetrics(AdvancedCostOptimizationMetrics&& value) { m_advancedCostOptimizationMetricsHasBeenSet = true; m_advancedCostOptimizationMetrics = std::move(value); } /** *

A container for bucket-level advanced cost-optimization metrics for S3 * Storage Lens.

*/ inline BucketLevel& WithAdvancedCostOptimizationMetrics(const AdvancedCostOptimizationMetrics& value) { SetAdvancedCostOptimizationMetrics(value); return *this;} /** *

A container for bucket-level advanced cost-optimization metrics for S3 * Storage Lens.

*/ inline BucketLevel& WithAdvancedCostOptimizationMetrics(AdvancedCostOptimizationMetrics&& value) { SetAdvancedCostOptimizationMetrics(std::move(value)); return *this;} /** *

A container for bucket-level advanced data-protection metrics for S3 Storage * Lens.

*/ inline const AdvancedDataProtectionMetrics& GetAdvancedDataProtectionMetrics() const{ return m_advancedDataProtectionMetrics; } /** *

A container for bucket-level advanced data-protection metrics for S3 Storage * Lens.

*/ inline bool AdvancedDataProtectionMetricsHasBeenSet() const { return m_advancedDataProtectionMetricsHasBeenSet; } /** *

A container for bucket-level advanced data-protection metrics for S3 Storage * Lens.

*/ inline void SetAdvancedDataProtectionMetrics(const AdvancedDataProtectionMetrics& value) { m_advancedDataProtectionMetricsHasBeenSet = true; m_advancedDataProtectionMetrics = value; } /** *

A container for bucket-level advanced data-protection metrics for S3 Storage * Lens.

*/ inline void SetAdvancedDataProtectionMetrics(AdvancedDataProtectionMetrics&& value) { m_advancedDataProtectionMetricsHasBeenSet = true; m_advancedDataProtectionMetrics = std::move(value); } /** *

A container for bucket-level advanced data-protection metrics for S3 Storage * Lens.

*/ inline BucketLevel& WithAdvancedDataProtectionMetrics(const AdvancedDataProtectionMetrics& value) { SetAdvancedDataProtectionMetrics(value); return *this;} /** *

A container for bucket-level advanced data-protection metrics for S3 Storage * Lens.

*/ inline BucketLevel& WithAdvancedDataProtectionMetrics(AdvancedDataProtectionMetrics&& value) { SetAdvancedDataProtectionMetrics(std::move(value)); return *this;} /** *

A container for bucket-level detailed status code metrics for S3 Storage * Lens.

*/ inline const DetailedStatusCodesMetrics& GetDetailedStatusCodesMetrics() const{ return m_detailedStatusCodesMetrics; } /** *

A container for bucket-level detailed status code metrics for S3 Storage * Lens.

*/ inline bool DetailedStatusCodesMetricsHasBeenSet() const { return m_detailedStatusCodesMetricsHasBeenSet; } /** *

A container for bucket-level detailed status code metrics for S3 Storage * Lens.

*/ inline void SetDetailedStatusCodesMetrics(const DetailedStatusCodesMetrics& value) { m_detailedStatusCodesMetricsHasBeenSet = true; m_detailedStatusCodesMetrics = value; } /** *

A container for bucket-level detailed status code metrics for S3 Storage * Lens.

*/ inline void SetDetailedStatusCodesMetrics(DetailedStatusCodesMetrics&& value) { m_detailedStatusCodesMetricsHasBeenSet = true; m_detailedStatusCodesMetrics = std::move(value); } /** *

A container for bucket-level detailed status code metrics for S3 Storage * Lens.

*/ inline BucketLevel& WithDetailedStatusCodesMetrics(const DetailedStatusCodesMetrics& value) { SetDetailedStatusCodesMetrics(value); return *this;} /** *

A container for bucket-level detailed status code metrics for S3 Storage * Lens.

*/ inline BucketLevel& WithDetailedStatusCodesMetrics(DetailedStatusCodesMetrics&& value) { SetDetailedStatusCodesMetrics(std::move(value)); return *this;} private: ActivityMetrics m_activityMetrics; bool m_activityMetricsHasBeenSet = false; PrefixLevel m_prefixLevel; bool m_prefixLevelHasBeenSet = false; AdvancedCostOptimizationMetrics m_advancedCostOptimizationMetrics; bool m_advancedCostOptimizationMetricsHasBeenSet = false; AdvancedDataProtectionMetrics m_advancedDataProtectionMetrics; bool m_advancedDataProtectionMetricsHasBeenSet = false; DetailedStatusCodesMetrics m_detailedStatusCodesMetrics; bool m_detailedStatusCodesMetricsHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws