AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceInfo.h
1
6#pragma once
7#include <aws/codedeploy/CodeDeploy_EXPORTS.h>
8#include <aws/codedeploy/model/Tag.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace CodeDeploy {
23namespace Model {
24
31 public:
32 AWS_CODEDEPLOY_API InstanceInfo() = default;
33 AWS_CODEDEPLOY_API InstanceInfo(Aws::Utils::Json::JsonView jsonValue);
34 AWS_CODEDEPLOY_API InstanceInfo& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::String& GetInstanceName() const { return m_instanceName; }
42 inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; }
43 template <typename InstanceNameT = Aws::String>
44 void SetInstanceName(InstanceNameT&& value) {
45 m_instanceNameHasBeenSet = true;
46 m_instanceName = std::forward<InstanceNameT>(value);
47 }
48 template <typename InstanceNameT = Aws::String>
49 InstanceInfo& WithInstanceName(InstanceNameT&& value) {
50 SetInstanceName(std::forward<InstanceNameT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetIamSessionArn() const { return m_iamSessionArn; }
60 inline bool IamSessionArnHasBeenSet() const { return m_iamSessionArnHasBeenSet; }
61 template <typename IamSessionArnT = Aws::String>
62 void SetIamSessionArn(IamSessionArnT&& value) {
63 m_iamSessionArnHasBeenSet = true;
64 m_iamSessionArn = std::forward<IamSessionArnT>(value);
65 }
66 template <typename IamSessionArnT = Aws::String>
67 InstanceInfo& WithIamSessionArn(IamSessionArnT&& value) {
68 SetIamSessionArn(std::forward<IamSessionArnT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::String& GetIamUserArn() const { return m_iamUserArn; }
78 inline bool IamUserArnHasBeenSet() const { return m_iamUserArnHasBeenSet; }
79 template <typename IamUserArnT = Aws::String>
80 void SetIamUserArn(IamUserArnT&& value) {
81 m_iamUserArnHasBeenSet = true;
82 m_iamUserArn = std::forward<IamUserArnT>(value);
83 }
84 template <typename IamUserArnT = Aws::String>
85 InstanceInfo& WithIamUserArn(IamUserArnT&& value) {
86 SetIamUserArn(std::forward<IamUserArnT>(value));
87 return *this;
88 }
90
92
95 inline const Aws::String& GetInstanceArn() const { return m_instanceArn; }
96 inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; }
97 template <typename InstanceArnT = Aws::String>
98 void SetInstanceArn(InstanceArnT&& value) {
99 m_instanceArnHasBeenSet = true;
100 m_instanceArn = std::forward<InstanceArnT>(value);
101 }
102 template <typename InstanceArnT = Aws::String>
103 InstanceInfo& WithInstanceArn(InstanceArnT&& value) {
104 SetInstanceArn(std::forward<InstanceArnT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::Utils::DateTime& GetRegisterTime() const { return m_registerTime; }
114 inline bool RegisterTimeHasBeenSet() const { return m_registerTimeHasBeenSet; }
115 template <typename RegisterTimeT = Aws::Utils::DateTime>
116 void SetRegisterTime(RegisterTimeT&& value) {
117 m_registerTimeHasBeenSet = true;
118 m_registerTime = std::forward<RegisterTimeT>(value);
119 }
120 template <typename RegisterTimeT = Aws::Utils::DateTime>
121 InstanceInfo& WithRegisterTime(RegisterTimeT&& value) {
122 SetRegisterTime(std::forward<RegisterTimeT>(value));
123 return *this;
124 }
126
128
132 inline const Aws::Utils::DateTime& GetDeregisterTime() const { return m_deregisterTime; }
133 inline bool DeregisterTimeHasBeenSet() const { return m_deregisterTimeHasBeenSet; }
134 template <typename DeregisterTimeT = Aws::Utils::DateTime>
135 void SetDeregisterTime(DeregisterTimeT&& value) {
136 m_deregisterTimeHasBeenSet = true;
137 m_deregisterTime = std::forward<DeregisterTimeT>(value);
138 }
139 template <typename DeregisterTimeT = Aws::Utils::DateTime>
140 InstanceInfo& WithDeregisterTime(DeregisterTimeT&& value) {
141 SetDeregisterTime(std::forward<DeregisterTimeT>(value));
142 return *this;
143 }
145
147
150 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
151 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
152 template <typename TagsT = Aws::Vector<Tag>>
153 void SetTags(TagsT&& value) {
154 m_tagsHasBeenSet = true;
155 m_tags = std::forward<TagsT>(value);
156 }
157 template <typename TagsT = Aws::Vector<Tag>>
158 InstanceInfo& WithTags(TagsT&& value) {
159 SetTags(std::forward<TagsT>(value));
160 return *this;
161 }
162 template <typename TagsT = Tag>
163 InstanceInfo& AddTags(TagsT&& value) {
164 m_tagsHasBeenSet = true;
165 m_tags.emplace_back(std::forward<TagsT>(value));
166 return *this;
167 }
169 private:
170 Aws::String m_instanceName;
171
172 Aws::String m_iamSessionArn;
173
174 Aws::String m_iamUserArn;
175
176 Aws::String m_instanceArn;
177
178 Aws::Utils::DateTime m_registerTime{};
179
180 Aws::Utils::DateTime m_deregisterTime{};
181
182 Aws::Vector<Tag> m_tags;
183 bool m_instanceNameHasBeenSet = false;
184 bool m_iamSessionArnHasBeenSet = false;
185 bool m_iamUserArnHasBeenSet = false;
186 bool m_instanceArnHasBeenSet = false;
187 bool m_registerTimeHasBeenSet = false;
188 bool m_deregisterTimeHasBeenSet = false;
189 bool m_tagsHasBeenSet = false;
190};
191
192} // namespace Model
193} // namespace CodeDeploy
194} // namespace Aws
AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_CODEDEPLOY_API InstanceInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceInfo & WithDeregisterTime(DeregisterTimeT &&value)
const Aws::String & GetIamUserArn() const
AWS_CODEDEPLOY_API InstanceInfo(Aws::Utils::Json::JsonView jsonValue)
InstanceInfo & WithIamSessionArn(IamSessionArnT &&value)
void SetIamUserArn(IamUserArnT &&value)
const Aws::String & GetIamSessionArn() const
InstanceInfo & AddTags(TagsT &&value)
const Aws::Utils::DateTime & GetDeregisterTime() const
const Aws::Utils::DateTime & GetRegisterTime() const
const Aws::String & GetInstanceArn() const
const Aws::Vector< Tag > & GetTags() const
void SetIamSessionArn(IamSessionArnT &&value)
InstanceInfo & WithInstanceName(InstanceNameT &&value)
InstanceInfo & WithIamUserArn(IamUserArnT &&value)
InstanceInfo & WithInstanceArn(InstanceArnT &&value)
void SetInstanceName(InstanceNameT &&value)
InstanceInfo & WithTags(TagsT &&value)
const Aws::String & GetInstanceName() const
void SetRegisterTime(RegisterTimeT &&value)
void SetInstanceArn(InstanceArnT &&value)
InstanceInfo & WithRegisterTime(RegisterTimeT &&value)
void SetDeregisterTime(DeregisterTimeT &&value)
AWS_CODEDEPLOY_API InstanceInfo()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue