AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Volume.h
1
6#pragma once
7#include <aws/ecs/ECS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ecs/model/HostVolumeProperties.h>
10#include <aws/ecs/model/DockerVolumeConfiguration.h>
11#include <aws/ecs/model/EFSVolumeConfiguration.h>
12#include <aws/ecs/model/FSxWindowsFileServerVolumeConfiguration.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace ECS
26{
27namespace Model
28{
29
45 class Volume
46 {
47 public:
48 AWS_ECS_API Volume() = default;
49 AWS_ECS_API Volume(Aws::Utils::Json::JsonView jsonValue);
52
53
55
66 inline const Aws::String& GetName() const { return m_name; }
67 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
68 template<typename NameT = Aws::String>
69 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
70 template<typename NameT = Aws::String>
71 Volume& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
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) { m_hostHasBeenSet = true; m_host = std::forward<HostT>(value); }
92 template<typename HostT = HostVolumeProperties>
93 Volume& WithHost(HostT&& value) { SetHost(std::forward<HostT>(value)); return *this;}
95
97
103 inline const DockerVolumeConfiguration& GetDockerVolumeConfiguration() const { return m_dockerVolumeConfiguration; }
104 inline bool DockerVolumeConfigurationHasBeenSet() const { return m_dockerVolumeConfigurationHasBeenSet; }
105 template<typename DockerVolumeConfigurationT = DockerVolumeConfiguration>
106 void SetDockerVolumeConfiguration(DockerVolumeConfigurationT&& value) { m_dockerVolumeConfigurationHasBeenSet = true; m_dockerVolumeConfiguration = std::forward<DockerVolumeConfigurationT>(value); }
107 template<typename DockerVolumeConfigurationT = DockerVolumeConfiguration>
108 Volume& WithDockerVolumeConfiguration(DockerVolumeConfigurationT&& value) { SetDockerVolumeConfiguration(std::forward<DockerVolumeConfigurationT>(value)); return *this;}
110
112
116 inline const EFSVolumeConfiguration& GetEfsVolumeConfiguration() const { return m_efsVolumeConfiguration; }
117 inline bool EfsVolumeConfigurationHasBeenSet() const { return m_efsVolumeConfigurationHasBeenSet; }
118 template<typename EfsVolumeConfigurationT = EFSVolumeConfiguration>
119 void SetEfsVolumeConfiguration(EfsVolumeConfigurationT&& value) { m_efsVolumeConfigurationHasBeenSet = true; m_efsVolumeConfiguration = std::forward<EfsVolumeConfigurationT>(value); }
120 template<typename EfsVolumeConfigurationT = EFSVolumeConfiguration>
121 Volume& WithEfsVolumeConfiguration(EfsVolumeConfigurationT&& value) { SetEfsVolumeConfiguration(std::forward<EfsVolumeConfigurationT>(value)); return *this;}
123
125
129 inline const FSxWindowsFileServerVolumeConfiguration& GetFsxWindowsFileServerVolumeConfiguration() const { return m_fsxWindowsFileServerVolumeConfiguration; }
130 inline bool FsxWindowsFileServerVolumeConfigurationHasBeenSet() const { return m_fsxWindowsFileServerVolumeConfigurationHasBeenSet; }
131 template<typename FsxWindowsFileServerVolumeConfigurationT = FSxWindowsFileServerVolumeConfiguration>
132 void SetFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT&& value) { m_fsxWindowsFileServerVolumeConfigurationHasBeenSet = true; m_fsxWindowsFileServerVolumeConfiguration = std::forward<FsxWindowsFileServerVolumeConfigurationT>(value); }
133 template<typename FsxWindowsFileServerVolumeConfigurationT = FSxWindowsFileServerVolumeConfiguration>
134 Volume& WithFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT&& value) { SetFsxWindowsFileServerVolumeConfiguration(std::forward<FsxWindowsFileServerVolumeConfigurationT>(value)); return *this;}
136
138
148 inline bool GetConfiguredAtLaunch() const { return m_configuredAtLaunch; }
149 inline bool ConfiguredAtLaunchHasBeenSet() const { return m_configuredAtLaunchHasBeenSet; }
150 inline void SetConfiguredAtLaunch(bool value) { m_configuredAtLaunchHasBeenSet = true; m_configuredAtLaunch = value; }
151 inline Volume& WithConfiguredAtLaunch(bool value) { SetConfiguredAtLaunch(value); return *this;}
153 private:
154
155 Aws::String m_name;
156 bool m_nameHasBeenSet = false;
157
159 bool m_hostHasBeenSet = false;
160
161 DockerVolumeConfiguration m_dockerVolumeConfiguration;
162 bool m_dockerVolumeConfigurationHasBeenSet = false;
163
164 EFSVolumeConfiguration m_efsVolumeConfiguration;
165 bool m_efsVolumeConfigurationHasBeenSet = false;
166
167 FSxWindowsFileServerVolumeConfiguration m_fsxWindowsFileServerVolumeConfiguration;
168 bool m_fsxWindowsFileServerVolumeConfigurationHasBeenSet = false;
169
170 bool m_configuredAtLaunch{false};
171 bool m_configuredAtLaunchHasBeenSet = false;
172 };
173
174} // namespace Model
175} // namespace ECS
176} // namespace Aws
void SetConfiguredAtLaunch(bool value)
Definition Volume.h:150
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
bool EfsVolumeConfigurationHasBeenSet() const
Definition Volume.h:117
bool GetConfiguredAtLaunch() const
Definition Volume.h:148
const Aws::String & GetName() const
Definition Volume.h:66
const FSxWindowsFileServerVolumeConfiguration & GetFsxWindowsFileServerVolumeConfiguration() const
Definition Volume.h:129
bool DockerVolumeConfigurationHasBeenSet() const
Definition Volume.h:104
Volume & WithDockerVolumeConfiguration(DockerVolumeConfigurationT &&value)
Definition Volume.h:108
AWS_ECS_API Volume()=default
const DockerVolumeConfiguration & GetDockerVolumeConfiguration() const
Definition Volume.h:103
bool HostHasBeenSet() const
Definition Volume.h:89
void SetFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT &&value)
Definition Volume.h:132
bool FsxWindowsFileServerVolumeConfigurationHasBeenSet() const
Definition Volume.h:130
void SetHost(HostT &&value)
Definition Volume.h:91
Volume & WithFsxWindowsFileServerVolumeConfiguration(FsxWindowsFileServerVolumeConfigurationT &&value)
Definition Volume.h:134
Volume & WithConfiguredAtLaunch(bool value)
Definition Volume.h:151
void SetName(NameT &&value)
Definition Volume.h:69
void SetDockerVolumeConfiguration(DockerVolumeConfigurationT &&value)
Definition Volume.h:106
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:88
Volume & WithHost(HostT &&value)
Definition Volume.h:93
void SetEfsVolumeConfiguration(EfsVolumeConfigurationT &&value)
Definition Volume.h:119
const EFSVolumeConfiguration & GetEfsVolumeConfiguration() const
Definition Volume.h:116
Volume & WithEfsVolumeConfiguration(EfsVolumeConfigurationT &&value)
Definition Volume.h:121
bool NameHasBeenSet() const
Definition Volume.h:67
bool ConfiguredAtLaunchHasBeenSet() const
Definition Volume.h:149
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue