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

A metric that contributes to the consolidated report.

See * Also:

AWS * API Reference

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

The metric type of a metric in the consolidated report. Currently only * WORKLOAD metric types are supported.

*/ inline const MetricType& GetMetricType() const{ return m_metricType; } /** *

The metric type of a metric in the consolidated report. Currently only * WORKLOAD metric types are supported.

*/ inline bool MetricTypeHasBeenSet() const { return m_metricTypeHasBeenSet; } /** *

The metric type of a metric in the consolidated report. Currently only * WORKLOAD metric types are supported.

*/ inline void SetMetricType(const MetricType& value) { m_metricTypeHasBeenSet = true; m_metricType = value; } /** *

The metric type of a metric in the consolidated report. Currently only * WORKLOAD metric types are supported.

*/ inline void SetMetricType(MetricType&& value) { m_metricTypeHasBeenSet = true; m_metricType = std::move(value); } /** *

The metric type of a metric in the consolidated report. Currently only * WORKLOAD metric types are supported.

*/ inline ConsolidatedReportMetric& WithMetricType(const MetricType& value) { SetMetricType(value); return *this;} /** *

The metric type of a metric in the consolidated report. Currently only * WORKLOAD metric types are supported.

*/ inline ConsolidatedReportMetric& WithMetricType(MetricType&& value) { SetMetricType(std::move(value)); return *this;} inline const Aws::Map& GetRiskCounts() const{ return m_riskCounts; } inline bool RiskCountsHasBeenSet() const { return m_riskCountsHasBeenSet; } inline void SetRiskCounts(const Aws::Map& value) { m_riskCountsHasBeenSet = true; m_riskCounts = value; } inline void SetRiskCounts(Aws::Map&& value) { m_riskCountsHasBeenSet = true; m_riskCounts = std::move(value); } inline ConsolidatedReportMetric& WithRiskCounts(const Aws::Map& value) { SetRiskCounts(value); return *this;} inline ConsolidatedReportMetric& WithRiskCounts(Aws::Map&& value) { SetRiskCounts(std::move(value)); return *this;} inline ConsolidatedReportMetric& AddRiskCounts(const Risk& key, int value) { m_riskCountsHasBeenSet = true; m_riskCounts.emplace(key, value); return *this; } inline ConsolidatedReportMetric& AddRiskCounts(Risk&& key, int value) { m_riskCountsHasBeenSet = true; m_riskCounts.emplace(std::move(key), value); return *this; } inline const Aws::String& GetWorkloadId() const{ return m_workloadId; } inline bool WorkloadIdHasBeenSet() const { return m_workloadIdHasBeenSet; } inline void SetWorkloadId(const Aws::String& value) { m_workloadIdHasBeenSet = true; m_workloadId = value; } inline void SetWorkloadId(Aws::String&& value) { m_workloadIdHasBeenSet = true; m_workloadId = std::move(value); } inline void SetWorkloadId(const char* value) { m_workloadIdHasBeenSet = true; m_workloadId.assign(value); } inline ConsolidatedReportMetric& WithWorkloadId(const Aws::String& value) { SetWorkloadId(value); return *this;} inline ConsolidatedReportMetric& WithWorkloadId(Aws::String&& value) { SetWorkloadId(std::move(value)); return *this;} inline ConsolidatedReportMetric& WithWorkloadId(const char* value) { SetWorkloadId(value); return *this;} inline const Aws::String& GetWorkloadName() const{ return m_workloadName; } inline bool WorkloadNameHasBeenSet() const { return m_workloadNameHasBeenSet; } inline void SetWorkloadName(const Aws::String& value) { m_workloadNameHasBeenSet = true; m_workloadName = value; } inline void SetWorkloadName(Aws::String&& value) { m_workloadNameHasBeenSet = true; m_workloadName = std::move(value); } inline void SetWorkloadName(const char* value) { m_workloadNameHasBeenSet = true; m_workloadName.assign(value); } inline ConsolidatedReportMetric& WithWorkloadName(const Aws::String& value) { SetWorkloadName(value); return *this;} inline ConsolidatedReportMetric& WithWorkloadName(Aws::String&& value) { SetWorkloadName(std::move(value)); return *this;} inline ConsolidatedReportMetric& WithWorkloadName(const char* value) { SetWorkloadName(value); return *this;} inline const Aws::String& GetWorkloadArn() const{ return m_workloadArn; } inline bool WorkloadArnHasBeenSet() const { return m_workloadArnHasBeenSet; } inline void SetWorkloadArn(const Aws::String& value) { m_workloadArnHasBeenSet = true; m_workloadArn = value; } inline void SetWorkloadArn(Aws::String&& value) { m_workloadArnHasBeenSet = true; m_workloadArn = std::move(value); } inline void SetWorkloadArn(const char* value) { m_workloadArnHasBeenSet = true; m_workloadArn.assign(value); } inline ConsolidatedReportMetric& WithWorkloadArn(const Aws::String& value) { SetWorkloadArn(value); return *this;} inline ConsolidatedReportMetric& WithWorkloadArn(Aws::String&& value) { SetWorkloadArn(std::move(value)); return *this;} inline ConsolidatedReportMetric& WithWorkloadArn(const char* value) { SetWorkloadArn(value); return *this;} inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } inline ConsolidatedReportMetric& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} inline ConsolidatedReportMetric& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

The metrics for the lenses in the workload.

*/ inline const Aws::Vector& GetLenses() const{ return m_lenses; } /** *

The metrics for the lenses in the workload.

*/ inline bool LensesHasBeenSet() const { return m_lensesHasBeenSet; } /** *

The metrics for the lenses in the workload.

*/ inline void SetLenses(const Aws::Vector& value) { m_lensesHasBeenSet = true; m_lenses = value; } /** *

The metrics for the lenses in the workload.

*/ inline void SetLenses(Aws::Vector&& value) { m_lensesHasBeenSet = true; m_lenses = std::move(value); } /** *

The metrics for the lenses in the workload.

*/ inline ConsolidatedReportMetric& WithLenses(const Aws::Vector& value) { SetLenses(value); return *this;} /** *

The metrics for the lenses in the workload.

*/ inline ConsolidatedReportMetric& WithLenses(Aws::Vector&& value) { SetLenses(std::move(value)); return *this;} /** *

The metrics for the lenses in the workload.

*/ inline ConsolidatedReportMetric& AddLenses(const LensMetric& value) { m_lensesHasBeenSet = true; m_lenses.push_back(value); return *this; } /** *

The metrics for the lenses in the workload.

*/ inline ConsolidatedReportMetric& AddLenses(LensMetric&& value) { m_lensesHasBeenSet = true; m_lenses.push_back(std::move(value)); return *this; } /** *

The total number of lenses applied to the workload.

*/ inline int GetLensesAppliedCount() const{ return m_lensesAppliedCount; } /** *

The total number of lenses applied to the workload.

*/ inline bool LensesAppliedCountHasBeenSet() const { return m_lensesAppliedCountHasBeenSet; } /** *

The total number of lenses applied to the workload.

*/ inline void SetLensesAppliedCount(int value) { m_lensesAppliedCountHasBeenSet = true; m_lensesAppliedCount = value; } /** *

The total number of lenses applied to the workload.

*/ inline ConsolidatedReportMetric& WithLensesAppliedCount(int value) { SetLensesAppliedCount(value); return *this;} private: MetricType m_metricType; bool m_metricTypeHasBeenSet = false; Aws::Map m_riskCounts; bool m_riskCountsHasBeenSet = false; Aws::String m_workloadId; bool m_workloadIdHasBeenSet = false; Aws::String m_workloadName; bool m_workloadNameHasBeenSet = false; Aws::String m_workloadArn; bool m_workloadArnHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Aws::Vector m_lenses; bool m_lensesHasBeenSet = false; int m_lensesAppliedCount; bool m_lensesAppliedCountHasBeenSet = false; }; } // namespace Model } // namespace WellArchitected } // namespace Aws