AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
Volume.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/ecs/ECS_EXPORTS.h>
9#include <aws/ecs/model/DockerVolumeConfiguration.h>
10#include <aws/ecs/model/EFSVolumeConfiguration.h>
11#include <aws/ecs/model/FSxWindowsFileServerVolumeConfiguration.h>
12#include <aws/ecs/model/HostVolumeProperties.h>
13#include <aws/ecs/model/S3FilesVolumeConfiguration.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ECS {
25namespace Model {
26
43class Volume {
44 public:
45 AWS_ECS_API Volume() = default;
46 AWS_ECS_API Volume(Aws::Utils::Json::JsonView jsonValue);
49
51
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template <typename NameT = Aws::String>
66 void SetName(NameT&& value) {
67 m_nameHasBeenSet = true;
68 m_name = std::forward<NameT>(value);
69 }
70 template <typename NameT = Aws::String>
71 Volume& WithName(NameT&& value) {
72 SetName(std::forward<NameT>(value));
73 return *this;
74 }
76
78
91 inline const HostVolumeProperties& GetHost() const { return m_host; }
92 inline bool HostHasBeenSet() const { return m_hostHasBeenSet; }
93 template <typename HostT = HostVolumeProperties>
94 void SetHost(HostT&& value) {
95 m_hostHasBeenSet = true;
96 m_host = std::forward<HostT>(value);
97 }
98 template <typename HostT = HostVolumeProperties>
99 Volume& WithHost(HostT&& value) {
100 SetHost(std::forward<HostT>(value));
101 return *this;
102 }
104
106
112 inline const DockerVolumeConfiguration& GetDockerVolumeConfiguration() const { return m_dockerVolumeConfiguration; }
113 inline bool DockerVolumeConfigurationHasBeenSet() const { return m_dockerVolumeConfigurationHasBeenSet; }
114 template <typename DockerVolumeConfigurationT = DockerVolumeConfiguration>
115 void SetDockerVolumeConfiguration(DockerVolumeConfigurationT&& value) {
116 m_dockerVolumeConfigurationHasBeenSet = true;
117 m_dockerVolumeConfiguration = std::forward<DockerVolumeConfigurationT>(value);
118 }
119 template <typename DockerVolumeConfigurationT = DockerVolumeConfiguration>
120 Volume& WithDockerVolumeConfiguration(DockerVolumeConfigurationT&& value) {
121 SetDockerVolumeConfiguration(std::forward<DockerVolumeConfigurationT>(value));
122 return *this;
123 }
125
127
131 inline const EFSVolumeConfiguration& GetEfsVolumeConfiguration() const { return m_efsVolumeConfiguration; }
132 inline bool EfsVolumeConfigurationHasBeenSet() const { return m_efsVolumeConfigurationHasBeenSet; }
133 template <typename EfsVolumeConfigurationT = EFSVolumeConfiguration>
134 void SetEfsVolumeConfiguration(EfsVolumeConfigurationT&& value) {
135 m_efsVolumeConfigurationHasBeenSet = true;
136 m_efsVolumeConfiguration = std::forward<EfsVolumeConfigurationT>(value);
137 }
138 template <typename EfsVolumeConfigurationT = EFSVolumeConfiguration>
139 Volume& WithEfsVolumeConfiguration(EfsVolumeConfigurationT&& value) {
140 SetEfsVolumeConfiguration(std::forward<EfsVolumeConfigurationT>(value));
141 return *this;
142 }
144
146
150 inline const S3FilesVolumeConfiguration& GetS3filesVolumeConfiguration() const { return m_s3filesVolumeConfiguration; }
151 inline bool S3filesVolumeConfigurationHasBeenSet() const { return m_s3filesVolumeConfigurationHasBeenSet; }
152 template <typename S3filesVolumeConfigurationT = S3FilesVolumeConfiguration>
153 void SetS3filesVolumeConfiguration(S3filesVolumeConfigurationT&& value) {
154 m_s3filesVolumeConfigurationHasBeenSet = true;
155 m_s3filesVolumeConfiguration = std::forward<S3filesVolumeConfigurationT>(value);
156 }
157 template <typename S3filesVolumeConfigurationT = S3FilesVolumeConfiguration>
158 Volume& WithS3filesVolumeConfiguration(S3filesVolumeConfigurationT&& value) {
159 SetS3filesVolumeConfiguration(std::forward<S3filesVolumeConfigurationT>(value));
160 return *this;
161 }
163
165
170 return m_fsxWindowsFileServerVolumeConfiguration;
171 }
172 inline bool FsxWindowsFileServerVolumeConfigurationHasBeenSet() const { return m_fsxWindowsFileServerVolumeConfigurationHasBeenSet; }
173 template <typename FsxWindowsFileServerVolumeConfigurationT = FSxWindowsFileServerVolumeConfiguration>
174 void SetFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT&& value) {
175 m_fsxWindowsFileServerVolumeConfigurationHasBeenSet = true;
176 m_fsxWindowsFileServerVolumeConfiguration = std::forward<FsxWindowsFileServerVolumeConfigurationT>(value);
177 }
178 template <typename FsxWindowsFileServerVolumeConfigurationT = FSxWindowsFileServerVolumeConfiguration>
179 Volume& WithFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT&& value) {
180 SetFsxWindowsFileServerVolumeConfiguration(std::forward<FsxWindowsFileServerVolumeConfigurationT>(value));
181 return *this;
182 }
184
186
196 inline bool GetConfiguredAtLaunch() const { return m_configuredAtLaunch; }
197 inline bool ConfiguredAtLaunchHasBeenSet() const { return m_configuredAtLaunchHasBeenSet; }
198 inline void SetConfiguredAtLaunch(bool value) {
199 m_configuredAtLaunchHasBeenSet = true;
200 m_configuredAtLaunch = value;
201 }
202 inline Volume& WithConfiguredAtLaunch(bool value) {
204 return *this;
205 }
207 private:
208 Aws::String m_name;
209
211
212 DockerVolumeConfiguration m_dockerVolumeConfiguration;
213
214 EFSVolumeConfiguration m_efsVolumeConfiguration;
215
216 S3FilesVolumeConfiguration m_s3filesVolumeConfiguration;
217
218 FSxWindowsFileServerVolumeConfiguration m_fsxWindowsFileServerVolumeConfiguration;
219
220 bool m_configuredAtLaunch{false};
221 bool m_nameHasBeenSet = false;
222 bool m_hostHasBeenSet = false;
223 bool m_dockerVolumeConfigurationHasBeenSet = false;
224 bool m_efsVolumeConfigurationHasBeenSet = false;
225 bool m_s3filesVolumeConfigurationHasBeenSet = false;
226 bool m_fsxWindowsFileServerVolumeConfigurationHasBeenSet = false;
227 bool m_configuredAtLaunchHasBeenSet = false;
228};
229
230} // namespace Model
231} // namespace ECS
232} // namespace Aws
void SetConfiguredAtLaunch(bool value)
Definition Volume.h:198
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
bool EfsVolumeConfigurationHasBeenSet() const
Definition Volume.h:132
bool GetConfiguredAtLaunch() const
Definition Volume.h:196
const Aws::String & GetName() const
Definition Volume.h:63
const FSxWindowsFileServerVolumeConfiguration & GetFsxWindowsFileServerVolumeConfiguration() const
Definition Volume.h:169
bool DockerVolumeConfigurationHasBeenSet() const
Definition Volume.h:113
Volume & WithDockerVolumeConfiguration(DockerVolumeConfigurationT &&value)
Definition Volume.h:120
AWS_ECS_API Volume()=default
const DockerVolumeConfiguration & GetDockerVolumeConfiguration() const
Definition Volume.h:112
bool S3filesVolumeConfigurationHasBeenSet() const
Definition Volume.h:151
bool HostHasBeenSet() const
Definition Volume.h:92
void SetFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT &&value)
Definition Volume.h:174
bool FsxWindowsFileServerVolumeConfigurationHasBeenSet() const
Definition Volume.h:172
void SetHost(HostT &&value)
Definition Volume.h:94
Volume & WithS3filesVolumeConfiguration(S3filesVolumeConfigurationT &&value)
Definition Volume.h:158
Volume & WithFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT &&value)
Definition Volume.h:179
Volume & WithConfiguredAtLaunch(bool value)
Definition Volume.h:202
const S3FilesVolumeConfiguration & GetS3filesVolumeConfiguration() const
Definition Volume.h:150
void SetName(NameT &&value)
Definition Volume.h:66
void SetDockerVolumeConfiguration(DockerVolumeConfigurationT &&value)
Definition Volume.h:115
AWS_ECS_API Volume & operator=(Aws::Utils::Json::JsonView jsonValue)
Volume & WithName(NameT &&value)
Definition Volume.h:71
AWS_ECS_API Volume(Aws::Utils::Json::JsonView jsonValue)
const HostVolumeProperties & GetHost() const
Definition Volume.h:91
Volume & WithHost(HostT &&value)
Definition Volume.h:99
void SetEfsVolumeConfiguration(EfsVolumeConfigurationT &&value)
Definition Volume.h:134
const EFSVolumeConfiguration & GetEfsVolumeConfiguration() const
Definition Volume.h:131
Volume & WithEfsVolumeConfiguration(EfsVolumeConfigurationT &&value)
Definition Volume.h:139
bool NameHasBeenSet() const
Definition Volume.h:64
void SetS3filesVolumeConfiguration(S3filesVolumeConfigurationT &&value)
Definition Volume.h:153
bool ConfiguredAtLaunchHasBeenSet() const
Definition Volume.h:197
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue