AWS SDK for C++

AWS SDK for C++ Version 1.11.868

Loading...
Searching...
No Matches
TradeOff.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/wellarchitected/WellArchitected_EXPORTS.h>
9#include <aws/wellarchitected/model/Pillar.h>
10#include <aws/wellarchitected/model/RiskRating.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace WellArchitected {
22namespace Model {
23
30class TradeOff {
31 public:
32 AWS_WELLARCHITECTED_API TradeOff() = default;
33 AWS_WELLARCHITECTED_API TradeOff(Aws::Utils::Json::JsonView jsonValue);
34 AWS_WELLARCHITECTED_API TradeOff& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_WELLARCHITECTED_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline Pillar GetPillar() const { return m_pillar; }
42 inline bool PillarHasBeenSet() const { return m_pillarHasBeenSet; }
43 inline void SetPillar(Pillar value) {
44 m_pillarHasBeenSet = true;
45 m_pillar = value;
46 }
47 inline TradeOff& WithPillar(Pillar value) {
48 SetPillar(value);
49 return *this;
50 }
52
54
57 inline const Aws::String& GetTitle() const { return m_title; }
58 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
59 template <typename TitleT = Aws::String>
60 void SetTitle(TitleT&& value) {
61 m_titleHasBeenSet = true;
62 m_title = std::forward<TitleT>(value);
63 }
64 template <typename TitleT = Aws::String>
65 TradeOff& WithTitle(TitleT&& value) {
66 SetTitle(std::forward<TitleT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::String& GetDescription() const { return m_description; }
76 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
77 template <typename DescriptionT = Aws::String>
78 void SetDescription(DescriptionT&& value) {
79 m_descriptionHasBeenSet = true;
80 m_description = std::forward<DescriptionT>(value);
81 }
82 template <typename DescriptionT = Aws::String>
83 TradeOff& WithDescription(DescriptionT&& value) {
84 SetDescription(std::forward<DescriptionT>(value));
85 return *this;
86 }
88
90
93 inline RiskRating GetRisk() const { return m_risk; }
94 inline bool RiskHasBeenSet() const { return m_riskHasBeenSet; }
95 inline void SetRisk(RiskRating value) {
96 m_riskHasBeenSet = true;
97 m_risk = value;
98 }
99 inline TradeOff& WithRisk(RiskRating value) {
100 SetRisk(value);
101 return *this;
102 }
104
106
109 inline const Aws::String& GetMitigation() const { return m_mitigation; }
110 inline bool MitigationHasBeenSet() const { return m_mitigationHasBeenSet; }
111 template <typename MitigationT = Aws::String>
112 void SetMitigation(MitigationT&& value) {
113 m_mitigationHasBeenSet = true;
114 m_mitigation = std::forward<MitigationT>(value);
115 }
116 template <typename MitigationT = Aws::String>
117 TradeOff& WithMitigation(MitigationT&& value) {
118 SetMitigation(std::forward<MitigationT>(value));
119 return *this;
120 }
122
124
127 inline const Aws::String& GetRiskExplanation() const { return m_riskExplanation; }
128 inline bool RiskExplanationHasBeenSet() const { return m_riskExplanationHasBeenSet; }
129 template <typename RiskExplanationT = Aws::String>
130 void SetRiskExplanation(RiskExplanationT&& value) {
131 m_riskExplanationHasBeenSet = true;
132 m_riskExplanation = std::forward<RiskExplanationT>(value);
133 }
134 template <typename RiskExplanationT = Aws::String>
135 TradeOff& WithRiskExplanation(RiskExplanationT&& value) {
136 SetRiskExplanation(std::forward<RiskExplanationT>(value));
137 return *this;
138 }
140 private:
141 Pillar m_pillar{Pillar::NOT_SET};
142
143 Aws::String m_title;
144
145 Aws::String m_description;
146
148
149 Aws::String m_mitigation;
150
151 Aws::String m_riskExplanation;
152 bool m_pillarHasBeenSet = false;
153 bool m_titleHasBeenSet = false;
154 bool m_descriptionHasBeenSet = false;
155 bool m_riskHasBeenSet = false;
156 bool m_mitigationHasBeenSet = false;
157 bool m_riskExplanationHasBeenSet = false;
158};
159
160} // namespace Model
161} // namespace WellArchitected
162} // namespace Aws
AWS_WELLARCHITECTED_API TradeOff(Aws::Utils::Json::JsonView jsonValue)
TradeOff & WithDescription(DescriptionT &&value)
Definition TradeOff.h:83
AWS_WELLARCHITECTED_API TradeOff()=default
TradeOff & WithRisk(RiskRating value)
Definition TradeOff.h:99
void SetTitle(TitleT &&value)
Definition TradeOff.h:60
TradeOff & WithMitigation(MitigationT &&value)
Definition TradeOff.h:117
const Aws::String & GetDescription() const
Definition TradeOff.h:75
const Aws::String & GetTitle() const
Definition TradeOff.h:57
const Aws::String & GetMitigation() const
Definition TradeOff.h:109
void SetMitigation(MitigationT &&value)
Definition TradeOff.h:112
AWS_WELLARCHITECTED_API TradeOff & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_WELLARCHITECTED_API Aws::Utils::Json::JsonValue Jsonize() const
TradeOff & WithRiskExplanation(RiskExplanationT &&value)
Definition TradeOff.h:135
void SetDescription(DescriptionT &&value)
Definition TradeOff.h:78
const Aws::String & GetRiskExplanation() const
Definition TradeOff.h:127
TradeOff & WithTitle(TitleT &&value)
Definition TradeOff.h:65
void SetRisk(RiskRating value)
Definition TradeOff.h:95
void SetRiskExplanation(RiskExplanationT &&value)
Definition TradeOff.h:130
TradeOff & WithPillar(Pillar value)
Definition TradeOff.h:47
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue