AWS SDK for C++

AWS SDK for C++ Version 1.11.745

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
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace ECS {
24namespace Model {
25
41class Volume {
42 public:
43 AWS_ECS_API Volume() = default;
44 AWS_ECS_API Volume(Aws::Utils::Json::JsonView jsonValue);
47
49
60 inline const Aws::String& GetName() const { return m_name; }
61 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
62 template <typename NameT = Aws::String>
63 void SetName(NameT&& value) {
64 m_nameHasBeenSet = true;
65 m_name = std::forward<NameT>(value);
66 }
67 template <typename NameT = Aws::String>
68 Volume& WithName(NameT&& value) {
69 SetName(std::forward<NameT>(value));
70 return *this;
71 }
73
75
88 inline const HostVolumeProperties& GetHost() const { return m_host; }
89 inline bool HostHasBeenSet() const { return m_hostHasBeenSet; }
90 template <typename HostT = HostVolumeProperties>
91 void SetHost(HostT&& value) {
92 m_hostHasBeenSet = true;
93 m_host = std::forward<HostT>(value);
94 }
95 template <typename HostT = HostVolumeProperties>
96 Volume& WithHost(HostT&& value) {
97 SetHost(std::forward<HostT>(value));
98 return *this;
99 }
101
103
109 inline const DockerVolumeConfiguration& GetDockerVolumeConfiguration() const { return m_dockerVolumeConfiguration; }
110 inline bool DockerVolumeConfigurationHasBeenSet() const { return m_dockerVolumeConfigurationHasBeenSet; }
111 template <typename DockerVolumeConfigurationT = DockerVolumeConfiguration>
112 void SetDockerVolumeConfiguration(DockerVolumeConfigurationT&& value) {
113 m_dockerVolumeConfigurationHasBeenSet = true;
114 m_dockerVolumeConfiguration = std::forward<DockerVolumeConfigurationT>(value);
115 }
116 template <typename DockerVolumeConfigurationT = DockerVolumeConfiguration>
117 Volume& WithDockerVolumeConfiguration(DockerVolumeConfigurationT&& value) {
118 SetDockerVolumeConfiguration(std::forward<DockerVolumeConfigurationT>(value));
119 return *this;
120 }
122
124
128 inline const EFSVolumeConfiguration& GetEfsVolumeConfiguration() const { return m_efsVolumeConfiguration; }
129 inline bool EfsVolumeConfigurationHasBeenSet() const { return m_efsVolumeConfigurationHasBeenSet; }
130 template <typename EfsVolumeConfigurationT = EFSVolumeConfiguration>
131 void SetEfsVolumeConfiguration(EfsVolumeConfigurationT&& value) {
132 m_efsVolumeConfigurationHasBeenSet = true;
133 m_efsVolumeConfiguration = std::forward<EfsVolumeConfigurationT>(value);
134 }
135 template <typename EfsVolumeConfigurationT = EFSVolumeConfiguration>
136 Volume& WithEfsVolumeConfiguration(EfsVolumeConfigurationT&& value) {
137 SetEfsVolumeConfiguration(std::forward<EfsVolumeConfigurationT>(value));
138 return *this;
139 }
141
143
148 return m_fsxWindowsFileServerVolumeConfiguration;
149 }
150 inline bool FsxWindowsFileServerVolumeConfigurationHasBeenSet() const { return m_fsxWindowsFileServerVolumeConfigurationHasBeenSet; }
151 template <typename FsxWindowsFileServerVolumeConfigurationT = FSxWindowsFileServerVolumeConfiguration>
152 void SetFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT&& value) {
153 m_fsxWindowsFileServerVolumeConfigurationHasBeenSet = true;
154 m_fsxWindowsFileServerVolumeConfiguration = std::forward<FsxWindowsFileServerVolumeConfigurationT>(value);
155 }
156 template <typename FsxWindowsFileServerVolumeConfigurationT = FSxWindowsFileServerVolumeConfiguration>
157 Volume& WithFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT&& value) {
158 SetFsxWindowsFileServerVolumeConfiguration(std::forward<FsxWindowsFileServerVolumeConfigurationT>(value));
159 return *this;
160 }
162
164
174 inline bool GetConfiguredAtLaunch() const { return m_configuredAtLaunch; }
175 inline bool ConfiguredAtLaunchHasBeenSet() const { return m_configuredAtLaunchHasBeenSet; }
176 inline void SetConfiguredAtLaunch(bool value) {
177 m_configuredAtLaunchHasBeenSet = true;
178 m_configuredAtLaunch = value;
179 }
180 inline Volume& WithConfiguredAtLaunch(bool value) {
182 return *this;
183 }
185 private:
186 Aws::String m_name;
187
189
190 DockerVolumeConfiguration m_dockerVolumeConfiguration;
191
192 EFSVolumeConfiguration m_efsVolumeConfiguration;
193
194 FSxWindowsFileServerVolumeConfiguration m_fsxWindowsFileServerVolumeConfiguration;
195
196 bool m_configuredAtLaunch{false};
197 bool m_nameHasBeenSet = false;
198 bool m_hostHasBeenSet = false;
199 bool m_dockerVolumeConfigurationHasBeenSet = false;
200 bool m_efsVolumeConfigurationHasBeenSet = false;
201 bool m_fsxWindowsFileServerVolumeConfigurationHasBeenSet = false;
202 bool m_configuredAtLaunchHasBeenSet = false;
203};
204
205} // namespace Model
206} // namespace ECS
207} // namespace Aws
void SetConfiguredAtLaunch(bool value)
Definition Volume.h:176
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
bool EfsVolumeConfigurationHasBeenSet() const
Definition Volume.h:129
bool GetConfiguredAtLaunch() const
Definition Volume.h:174
const Aws::String & GetName() const
Definition Volume.h:60
const FSxWindowsFileServerVolumeConfiguration & GetFsxWindowsFileServerVolumeConfiguration() const
Definition Volume.h:147
bool DockerVolumeConfigurationHasBeenSet() const
Definition Volume.h:110
Volume & WithDockerVolumeConfiguration(DockerVolumeConfigurationT &&value)
Definition Volume.h:117
AWS_ECS_API Volume()=default
const DockerVolumeConfiguration & GetDockerVolumeConfiguration() const
Definition Volume.h:109
bool HostHasBeenSet() const
Definition Volume.h:89
void SetFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT &&value)
Definition Volume.h:152
bool FsxWindowsFileServerVolumeConfigurationHasBeenSet() const
Definition Volume.h:150
void SetHost(HostT &&value)
Definition Volume.h:91
Volume & WithFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT &&value)
Definition Volume.h:157
Volume & WithConfiguredAtLaunch(bool value)
Definition Volume.h:180
void SetName(NameT &&value)
Definition Volume.h:63
void SetDockerVolumeConfiguration(DockerVolumeConfigurationT &&value)
Definition Volume.h:112
AWS_ECS_API Volume & operator=(Aws::Utils::Json::JsonView jsonValue)
Volume & WithName(NameT &&value)
Definition Volume.h:68
AWS_ECS_API Volume(Aws::Utils::Json::JsonView jsonValue)
const HostVolumeProperties & GetHost() const
Definition Volume.h:88
Volume & WithHost(HostT &&value)
Definition Volume.h:96
void SetEfsVolumeConfiguration(EfsVolumeConfigurationT &&value)
Definition Volume.h:131
const EFSVolumeConfiguration & GetEfsVolumeConfiguration() const
Definition Volume.h:128
Volume & WithEfsVolumeConfiguration(EfsVolumeConfigurationT &&value)
Definition Volume.h:136
bool NameHasBeenSet() const
Definition Volume.h:61
bool ConfiguredAtLaunchHasBeenSet() const
Definition Volume.h:175
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue