AWS SDK for C++

AWS SDK for C++ Version 1.11.758

Loading...
Searching...
No Matches
LandingZoneDetail.h
1
6#pragma once
7#include <aws/controltower/ControlTower_EXPORTS.h>
8#include <aws/controltower/model/LandingZoneDriftStatusSummary.h>
9#include <aws/controltower/model/LandingZoneStatus.h>
10#include <aws/controltower/model/RemediationType.h>
11#include <aws/core/utils/Document.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ControlTower {
25namespace Model {
26
33 public:
34 AWS_CONTROLTOWER_API LandingZoneDetail() = default;
35 AWS_CONTROLTOWER_API LandingZoneDetail(Aws::Utils::Json::JsonView jsonValue);
36 AWS_CONTROLTOWER_API LandingZoneDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_CONTROLTOWER_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::String& GetVersion() const { return m_version; }
44 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
45 template <typename VersionT = Aws::String>
46 void SetVersion(VersionT&& value) {
47 m_versionHasBeenSet = true;
48 m_version = std::forward<VersionT>(value);
49 }
50 template <typename VersionT = Aws::String>
51 LandingZoneDetail& WithVersion(VersionT&& value) {
52 SetVersion(std::forward<VersionT>(value));
53 return *this;
54 }
56
58
62 inline const Aws::Vector<RemediationType>& GetRemediationTypes() const { return m_remediationTypes; }
63 inline bool RemediationTypesHasBeenSet() const { return m_remediationTypesHasBeenSet; }
64 template <typename RemediationTypesT = Aws::Vector<RemediationType>>
65 void SetRemediationTypes(RemediationTypesT&& value) {
66 m_remediationTypesHasBeenSet = true;
67 m_remediationTypes = std::forward<RemediationTypesT>(value);
68 }
69 template <typename RemediationTypesT = Aws::Vector<RemediationType>>
70 LandingZoneDetail& WithRemediationTypes(RemediationTypesT&& value) {
71 SetRemediationTypes(std::forward<RemediationTypesT>(value));
72 return *this;
73 }
75 m_remediationTypesHasBeenSet = true;
76 m_remediationTypes.push_back(value);
77 return *this;
78 }
80
82
85 inline const Aws::String& GetArn() const { return m_arn; }
86 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
87 template <typename ArnT = Aws::String>
88 void SetArn(ArnT&& value) {
89 m_arnHasBeenSet = true;
90 m_arn = std::forward<ArnT>(value);
91 }
92 template <typename ArnT = Aws::String>
93 LandingZoneDetail& WithArn(ArnT&& value) {
94 SetArn(std::forward<ArnT>(value));
95 return *this;
96 }
98
100
104 inline LandingZoneStatus GetStatus() const { return m_status; }
105 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
106 inline void SetStatus(LandingZoneStatus value) {
107 m_statusHasBeenSet = true;
108 m_status = value;
109 }
111 SetStatus(value);
112 return *this;
113 }
115
117
120 inline const Aws::String& GetLatestAvailableVersion() const { return m_latestAvailableVersion; }
121 inline bool LatestAvailableVersionHasBeenSet() const { return m_latestAvailableVersionHasBeenSet; }
122 template <typename LatestAvailableVersionT = Aws::String>
123 void SetLatestAvailableVersion(LatestAvailableVersionT&& value) {
124 m_latestAvailableVersionHasBeenSet = true;
125 m_latestAvailableVersion = std::forward<LatestAvailableVersionT>(value);
126 }
127 template <typename LatestAvailableVersionT = Aws::String>
128 LandingZoneDetail& WithLatestAvailableVersion(LatestAvailableVersionT&& value) {
129 SetLatestAvailableVersion(std::forward<LatestAvailableVersionT>(value));
130 return *this;
131 }
133
135
138 inline const LandingZoneDriftStatusSummary& GetDriftStatus() const { return m_driftStatus; }
139 inline bool DriftStatusHasBeenSet() const { return m_driftStatusHasBeenSet; }
140 template <typename DriftStatusT = LandingZoneDriftStatusSummary>
141 void SetDriftStatus(DriftStatusT&& value) {
142 m_driftStatusHasBeenSet = true;
143 m_driftStatus = std::forward<DriftStatusT>(value);
144 }
145 template <typename DriftStatusT = LandingZoneDriftStatusSummary>
146 LandingZoneDetail& WithDriftStatus(DriftStatusT&& value) {
147 SetDriftStatus(std::forward<DriftStatusT>(value));
148 return *this;
149 }
151
153
157 inline Aws::Utils::DocumentView GetManifest() const { return m_manifest; }
158 inline bool ManifestHasBeenSet() const { return m_manifestHasBeenSet; }
159 template <typename ManifestT = Aws::Utils::Document>
160 void SetManifest(ManifestT&& value) {
161 m_manifestHasBeenSet = true;
162 m_manifest = std::forward<ManifestT>(value);
163 }
164 template <typename ManifestT = Aws::Utils::Document>
165 LandingZoneDetail& WithManifest(ManifestT&& value) {
166 SetManifest(std::forward<ManifestT>(value));
167 return *this;
168 }
170 private:
171 Aws::String m_version;
172
173 Aws::Vector<RemediationType> m_remediationTypes;
174
175 Aws::String m_arn;
176
178
179 Aws::String m_latestAvailableVersion;
180
181 LandingZoneDriftStatusSummary m_driftStatus;
182
183 Aws::Utils::Document m_manifest;
184 bool m_versionHasBeenSet = false;
185 bool m_remediationTypesHasBeenSet = false;
186 bool m_arnHasBeenSet = false;
187 bool m_statusHasBeenSet = false;
188 bool m_latestAvailableVersionHasBeenSet = false;
189 bool m_driftStatusHasBeenSet = false;
190 bool m_manifestHasBeenSet = false;
191};
192
193} // namespace Model
194} // namespace ControlTower
195} // namespace Aws
LandingZoneDetail & WithStatus(LandingZoneStatus value)
void SetRemediationTypes(RemediationTypesT &&value)
AWS_CONTROLTOWER_API LandingZoneDetail(Aws::Utils::Json::JsonView jsonValue)
LandingZoneDetail & WithArn(ArnT &&value)
LandingZoneDetail & WithLatestAvailableVersion(LatestAvailableVersionT &&value)
LandingZoneDetail & WithDriftStatus(DriftStatusT &&value)
AWS_CONTROLTOWER_API LandingZoneDetail()=default
const Aws::Vector< RemediationType > & GetRemediationTypes() const
LandingZoneDetail & WithRemediationTypes(RemediationTypesT &&value)
const Aws::String & GetLatestAvailableVersion() const
LandingZoneDetail & WithManifest(ManifestT &&value)
AWS_CONTROLTOWER_API LandingZoneDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
Aws::Utils::DocumentView GetManifest() const
const LandingZoneDriftStatusSummary & GetDriftStatus() const
LandingZoneDetail & AddRemediationTypes(RemediationType value)
LandingZoneDetail & WithVersion(VersionT &&value)
void SetLatestAvailableVersion(LatestAvailableVersionT &&value)
AWS_CONTROLTOWER_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue