AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
EksPodProperties.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/batch/model/EksContainer.h>
9#include <aws/batch/model/EksMetadata.h>
10#include <aws/batch/model/EksVolume.h>
11#include <aws/batch/model/ImagePullSecret.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 Batch {
25namespace Model {
26
33 public:
34 AWS_BATCH_API EksPodProperties() = default;
37 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
51 inline const Aws::String& GetServiceAccountName() const { return m_serviceAccountName; }
52 inline bool ServiceAccountNameHasBeenSet() const { return m_serviceAccountNameHasBeenSet; }
53 template <typename ServiceAccountNameT = Aws::String>
54 void SetServiceAccountName(ServiceAccountNameT&& value) {
55 m_serviceAccountNameHasBeenSet = true;
56 m_serviceAccountName = std::forward<ServiceAccountNameT>(value);
57 }
58 template <typename ServiceAccountNameT = Aws::String>
59 EksPodProperties& WithServiceAccountName(ServiceAccountNameT&& value) {
60 SetServiceAccountName(std::forward<ServiceAccountNameT>(value));
61 return *this;
62 }
64
66
77 inline bool GetHostNetwork() const { return m_hostNetwork; }
78 inline bool HostNetworkHasBeenSet() const { return m_hostNetworkHasBeenSet; }
79 inline void SetHostNetwork(bool value) {
80 m_hostNetworkHasBeenSet = true;
81 m_hostNetwork = value;
82 }
83 inline EksPodProperties& WithHostNetwork(bool value) {
84 SetHostNetwork(value);
85 return *this;
86 }
88
90
102 inline const Aws::String& GetDnsPolicy() const { return m_dnsPolicy; }
103 inline bool DnsPolicyHasBeenSet() const { return m_dnsPolicyHasBeenSet; }
104 template <typename DnsPolicyT = Aws::String>
105 void SetDnsPolicy(DnsPolicyT&& value) {
106 m_dnsPolicyHasBeenSet = true;
107 m_dnsPolicy = std::forward<DnsPolicyT>(value);
108 }
109 template <typename DnsPolicyT = Aws::String>
110 EksPodProperties& WithDnsPolicy(DnsPolicyT&& value) {
111 SetDnsPolicy(std::forward<DnsPolicyT>(value));
112 return *this;
113 }
115
117
122 inline const Aws::Vector<ImagePullSecret>& GetImagePullSecrets() const { return m_imagePullSecrets; }
123 inline bool ImagePullSecretsHasBeenSet() const { return m_imagePullSecretsHasBeenSet; }
124 template <typename ImagePullSecretsT = Aws::Vector<ImagePullSecret>>
125 void SetImagePullSecrets(ImagePullSecretsT&& value) {
126 m_imagePullSecretsHasBeenSet = true;
127 m_imagePullSecrets = std::forward<ImagePullSecretsT>(value);
128 }
129 template <typename ImagePullSecretsT = Aws::Vector<ImagePullSecret>>
130 EksPodProperties& WithImagePullSecrets(ImagePullSecretsT&& value) {
131 SetImagePullSecrets(std::forward<ImagePullSecretsT>(value));
132 return *this;
133 }
134 template <typename ImagePullSecretsT = ImagePullSecret>
135 EksPodProperties& AddImagePullSecrets(ImagePullSecretsT&& value) {
136 m_imagePullSecretsHasBeenSet = true;
137 m_imagePullSecrets.emplace_back(std::forward<ImagePullSecretsT>(value));
138 return *this;
139 }
141
143
147 inline const Aws::Vector<EksContainer>& GetContainers() const { return m_containers; }
148 inline bool ContainersHasBeenSet() const { return m_containersHasBeenSet; }
149 template <typename ContainersT = Aws::Vector<EksContainer>>
150 void SetContainers(ContainersT&& value) {
151 m_containersHasBeenSet = true;
152 m_containers = std::forward<ContainersT>(value);
153 }
154 template <typename ContainersT = Aws::Vector<EksContainer>>
155 EksPodProperties& WithContainers(ContainersT&& value) {
156 SetContainers(std::forward<ContainersT>(value));
157 return *this;
158 }
159 template <typename ContainersT = EksContainer>
160 EksPodProperties& AddContainers(ContainersT&& value) {
161 m_containersHasBeenSet = true;
162 m_containers.emplace_back(std::forward<ContainersT>(value));
163 return *this;
164 }
166
168
178 inline const Aws::Vector<EksContainer>& GetInitContainers() const { return m_initContainers; }
179 inline bool InitContainersHasBeenSet() const { return m_initContainersHasBeenSet; }
180 template <typename InitContainersT = Aws::Vector<EksContainer>>
181 void SetInitContainers(InitContainersT&& value) {
182 m_initContainersHasBeenSet = true;
183 m_initContainers = std::forward<InitContainersT>(value);
184 }
185 template <typename InitContainersT = Aws::Vector<EksContainer>>
186 EksPodProperties& WithInitContainers(InitContainersT&& value) {
187 SetInitContainers(std::forward<InitContainersT>(value));
188 return *this;
189 }
190 template <typename InitContainersT = EksContainer>
191 EksPodProperties& AddInitContainers(InitContainersT&& value) {
192 m_initContainersHasBeenSet = true;
193 m_initContainers.emplace_back(std::forward<InitContainersT>(value));
194 return *this;
195 }
197
199
203 inline const Aws::Vector<EksVolume>& GetVolumes() const { return m_volumes; }
204 inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; }
205 template <typename VolumesT = Aws::Vector<EksVolume>>
206 void SetVolumes(VolumesT&& value) {
207 m_volumesHasBeenSet = true;
208 m_volumes = std::forward<VolumesT>(value);
209 }
210 template <typename VolumesT = Aws::Vector<EksVolume>>
211 EksPodProperties& WithVolumes(VolumesT&& value) {
212 SetVolumes(std::forward<VolumesT>(value));
213 return *this;
214 }
215 template <typename VolumesT = EksVolume>
216 EksPodProperties& AddVolumes(VolumesT&& value) {
217 m_volumesHasBeenSet = true;
218 m_volumes.emplace_back(std::forward<VolumesT>(value));
219 return *this;
220 }
222
224
229 inline const EksMetadata& GetMetadata() const { return m_metadata; }
230 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
231 template <typename MetadataT = EksMetadata>
232 void SetMetadata(MetadataT&& value) {
233 m_metadataHasBeenSet = true;
234 m_metadata = std::forward<MetadataT>(value);
235 }
236 template <typename MetadataT = EksMetadata>
237 EksPodProperties& WithMetadata(MetadataT&& value) {
238 SetMetadata(std::forward<MetadataT>(value));
239 return *this;
240 }
242
244
250 inline bool GetShareProcessNamespace() const { return m_shareProcessNamespace; }
251 inline bool ShareProcessNamespaceHasBeenSet() const { return m_shareProcessNamespaceHasBeenSet; }
252 inline void SetShareProcessNamespace(bool value) {
253 m_shareProcessNamespaceHasBeenSet = true;
254 m_shareProcessNamespace = value;
255 }
258 return *this;
259 }
261 private:
262 Aws::String m_serviceAccountName;
263
264 bool m_hostNetwork{false};
265
266 Aws::String m_dnsPolicy;
267
268 Aws::Vector<ImagePullSecret> m_imagePullSecrets;
269
270 Aws::Vector<EksContainer> m_containers;
271
272 Aws::Vector<EksContainer> m_initContainers;
273
274 Aws::Vector<EksVolume> m_volumes;
275
276 EksMetadata m_metadata;
277
278 bool m_shareProcessNamespace{false};
279 bool m_serviceAccountNameHasBeenSet = false;
280 bool m_hostNetworkHasBeenSet = false;
281 bool m_dnsPolicyHasBeenSet = false;
282 bool m_imagePullSecretsHasBeenSet = false;
283 bool m_containersHasBeenSet = false;
284 bool m_initContainersHasBeenSet = false;
285 bool m_volumesHasBeenSet = false;
286 bool m_metadataHasBeenSet = false;
287 bool m_shareProcessNamespaceHasBeenSet = false;
288};
289
290} // namespace Model
291} // namespace Batch
292} // namespace Aws
const Aws::String & GetDnsPolicy() const
EksPodProperties & WithHostNetwork(bool value)
AWS_BATCH_API EksPodProperties & operator=(Aws::Utils::Json::JsonView jsonValue)
const EksMetadata & GetMetadata() const
EksPodProperties & WithImagePullSecrets(ImagePullSecretsT &&value)
const Aws::String & GetServiceAccountName() const
EksPodProperties & WithDnsPolicy(DnsPolicyT &&value)
EksPodProperties & AddImagePullSecrets(ImagePullSecretsT &&value)
EksPodProperties & WithContainers(ContainersT &&value)
void SetImagePullSecrets(ImagePullSecretsT &&value)
void SetServiceAccountName(ServiceAccountNameT &&value)
void SetDnsPolicy(DnsPolicyT &&value)
EksPodProperties & WithInitContainers(InitContainersT &&value)
EksPodProperties & AddInitContainers(InitContainersT &&value)
EksPodProperties & WithMetadata(MetadataT &&value)
EksPodProperties & AddVolumes(VolumesT &&value)
AWS_BATCH_API EksPodProperties(Aws::Utils::Json::JsonView jsonValue)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< EksContainer > & GetInitContainers() const
EksPodProperties & WithServiceAccountName(ServiceAccountNameT &&value)
const Aws::Vector< EksContainer > & GetContainers() const
const Aws::Vector< ImagePullSecret > & GetImagePullSecrets() const
AWS_BATCH_API EksPodProperties()=default
const Aws::Vector< EksVolume > & GetVolumes() const
void SetContainers(ContainersT &&value)
EksPodProperties & WithVolumes(VolumesT &&value)
EksPodProperties & AddContainers(ContainersT &&value)
void SetInitContainers(InitContainersT &&value)
EksPodProperties & WithShareProcessNamespace(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue