/**
* 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 workload summary return object.
See Also:
AWS
* API Reference
*/
class WorkloadSummary
{
public:
AWS_WELLARCHITECTED_API WorkloadSummary();
AWS_WELLARCHITECTED_API WorkloadSummary(Aws::Utils::Json::JsonView jsonValue);
AWS_WELLARCHITECTED_API WorkloadSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_WELLARCHITECTED_API Aws::Utils::Json::JsonValue Jsonize() const;
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 WorkloadSummary& WithWorkloadId(const Aws::String& value) { SetWorkloadId(value); return *this;}
inline WorkloadSummary& WithWorkloadId(Aws::String&& value) { SetWorkloadId(std::move(value)); return *this;}
inline WorkloadSummary& WithWorkloadId(const char* value) { SetWorkloadId(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 WorkloadSummary& WithWorkloadArn(const Aws::String& value) { SetWorkloadArn(value); return *this;}
inline WorkloadSummary& WithWorkloadArn(Aws::String&& value) { SetWorkloadArn(std::move(value)); return *this;}
inline WorkloadSummary& WithWorkloadArn(const char* value) { SetWorkloadArn(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 WorkloadSummary& WithWorkloadName(const Aws::String& value) { SetWorkloadName(value); return *this;}
inline WorkloadSummary& WithWorkloadName(Aws::String&& value) { SetWorkloadName(std::move(value)); return *this;}
inline WorkloadSummary& WithWorkloadName(const char* value) { SetWorkloadName(value); return *this;}
inline const Aws::String& GetOwner() const{ return m_owner; }
inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; }
inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); }
inline WorkloadSummary& WithOwner(const Aws::String& value) { SetOwner(value); return *this;}
inline WorkloadSummary& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;}
inline WorkloadSummary& WithOwner(const char* value) { SetOwner(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 WorkloadSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
inline WorkloadSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
inline const Aws::Vector& GetLenses() const{ return m_lenses; }
inline bool LensesHasBeenSet() const { return m_lensesHasBeenSet; }
inline void SetLenses(const Aws::Vector& value) { m_lensesHasBeenSet = true; m_lenses = value; }
inline void SetLenses(Aws::Vector&& value) { m_lensesHasBeenSet = true; m_lenses = std::move(value); }
inline WorkloadSummary& WithLenses(const Aws::Vector& value) { SetLenses(value); return *this;}
inline WorkloadSummary& WithLenses(Aws::Vector&& value) { SetLenses(std::move(value)); return *this;}
inline WorkloadSummary& AddLenses(const Aws::String& value) { m_lensesHasBeenSet = true; m_lenses.push_back(value); return *this; }
inline WorkloadSummary& AddLenses(Aws::String&& value) { m_lensesHasBeenSet = true; m_lenses.push_back(std::move(value)); return *this; }
inline WorkloadSummary& AddLenses(const char* value) { m_lensesHasBeenSet = true; m_lenses.push_back(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 WorkloadSummary& WithRiskCounts(const Aws::Map& value) { SetRiskCounts(value); return *this;}
inline WorkloadSummary& WithRiskCounts(Aws::Map&& value) { SetRiskCounts(std::move(value)); return *this;}
inline WorkloadSummary& AddRiskCounts(const Risk& key, int value) { m_riskCountsHasBeenSet = true; m_riskCounts.emplace(key, value); return *this; }
inline WorkloadSummary& AddRiskCounts(Risk&& key, int value) { m_riskCountsHasBeenSet = true; m_riskCounts.emplace(std::move(key), value); return *this; }
inline const WorkloadImprovementStatus& GetImprovementStatus() const{ return m_improvementStatus; }
inline bool ImprovementStatusHasBeenSet() const { return m_improvementStatusHasBeenSet; }
inline void SetImprovementStatus(const WorkloadImprovementStatus& value) { m_improvementStatusHasBeenSet = true; m_improvementStatus = value; }
inline void SetImprovementStatus(WorkloadImprovementStatus&& value) { m_improvementStatusHasBeenSet = true; m_improvementStatus = std::move(value); }
inline WorkloadSummary& WithImprovementStatus(const WorkloadImprovementStatus& value) { SetImprovementStatus(value); return *this;}
inline WorkloadSummary& WithImprovementStatus(WorkloadImprovementStatus&& value) { SetImprovementStatus(std::move(value)); return *this;}
/**
* Profile associated with a workload.
*/
inline const Aws::Vector& GetProfiles() const{ return m_profiles; }
/**
* Profile associated with a workload.
*/
inline bool ProfilesHasBeenSet() const { return m_profilesHasBeenSet; }
/**
* Profile associated with a workload.
*/
inline void SetProfiles(const Aws::Vector& value) { m_profilesHasBeenSet = true; m_profiles = value; }
/**
* Profile associated with a workload.
*/
inline void SetProfiles(Aws::Vector&& value) { m_profilesHasBeenSet = true; m_profiles = std::move(value); }
/**
* Profile associated with a workload.
*/
inline WorkloadSummary& WithProfiles(const Aws::Vector& value) { SetProfiles(value); return *this;}
/**
* Profile associated with a workload.
*/
inline WorkloadSummary& WithProfiles(Aws::Vector&& value) { SetProfiles(std::move(value)); return *this;}
/**
* Profile associated with a workload.
*/
inline WorkloadSummary& AddProfiles(const WorkloadProfile& value) { m_profilesHasBeenSet = true; m_profiles.push_back(value); return *this; }
/**
* Profile associated with a workload.
*/
inline WorkloadSummary& AddProfiles(WorkloadProfile&& value) { m_profilesHasBeenSet = true; m_profiles.push_back(std::move(value)); return *this; }
inline const Aws::Map& GetPrioritizedRiskCounts() const{ return m_prioritizedRiskCounts; }
inline bool PrioritizedRiskCountsHasBeenSet() const { return m_prioritizedRiskCountsHasBeenSet; }
inline void SetPrioritizedRiskCounts(const Aws::Map& value) { m_prioritizedRiskCountsHasBeenSet = true; m_prioritizedRiskCounts = value; }
inline void SetPrioritizedRiskCounts(Aws::Map&& value) { m_prioritizedRiskCountsHasBeenSet = true; m_prioritizedRiskCounts = std::move(value); }
inline WorkloadSummary& WithPrioritizedRiskCounts(const Aws::Map& value) { SetPrioritizedRiskCounts(value); return *this;}
inline WorkloadSummary& WithPrioritizedRiskCounts(Aws::Map&& value) { SetPrioritizedRiskCounts(std::move(value)); return *this;}
inline WorkloadSummary& AddPrioritizedRiskCounts(const Risk& key, int value) { m_prioritizedRiskCountsHasBeenSet = true; m_prioritizedRiskCounts.emplace(key, value); return *this; }
inline WorkloadSummary& AddPrioritizedRiskCounts(Risk&& key, int value) { m_prioritizedRiskCountsHasBeenSet = true; m_prioritizedRiskCounts.emplace(std::move(key), value); return *this; }
private:
Aws::String m_workloadId;
bool m_workloadIdHasBeenSet = false;
Aws::String m_workloadArn;
bool m_workloadArnHasBeenSet = false;
Aws::String m_workloadName;
bool m_workloadNameHasBeenSet = false;
Aws::String m_owner;
bool m_ownerHasBeenSet = false;
Aws::Utils::DateTime m_updatedAt;
bool m_updatedAtHasBeenSet = false;
Aws::Vector m_lenses;
bool m_lensesHasBeenSet = false;
Aws::Map m_riskCounts;
bool m_riskCountsHasBeenSet = false;
WorkloadImprovementStatus m_improvementStatus;
bool m_improvementStatusHasBeenSet = false;
Aws::Vector m_profiles;
bool m_profilesHasBeenSet = false;
Aws::Map m_prioritizedRiskCounts;
bool m_prioritizedRiskCountsHasBeenSet = false;
};
} // namespace Model
} // namespace WellArchitected
} // namespace Aws