AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
WorkspaceProperties.h
1
6#pragma once
7#include <aws/workspaces/WorkSpaces_EXPORTS.h>
8#include <aws/workspaces/model/RunningMode.h>
9#include <aws/workspaces/model/Compute.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/workspaces/model/OperatingSystemName.h>
12#include <aws/workspaces/model/GlobalAcceleratorForWorkSpace.h>
13#include <aws/workspaces/model/Protocol.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace WorkSpaces
27{
28namespace Model
29{
30
37 {
38 public:
39 AWS_WORKSPACES_API WorkspaceProperties() = default;
40 AWS_WORKSPACES_API WorkspaceProperties(Aws::Utils::Json::JsonView jsonValue);
42 AWS_WORKSPACES_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
59 inline RunningMode GetRunningMode() const { return m_runningMode; }
60 inline bool RunningModeHasBeenSet() const { return m_runningModeHasBeenSet; }
61 inline void SetRunningMode(RunningMode value) { m_runningModeHasBeenSet = true; m_runningMode = value; }
62 inline WorkspaceProperties& WithRunningMode(RunningMode value) { SetRunningMode(value); return *this;}
64
66
70 inline int GetRunningModeAutoStopTimeoutInMinutes() const { return m_runningModeAutoStopTimeoutInMinutes; }
71 inline bool RunningModeAutoStopTimeoutInMinutesHasBeenSet() const { return m_runningModeAutoStopTimeoutInMinutesHasBeenSet; }
72 inline void SetRunningModeAutoStopTimeoutInMinutes(int value) { m_runningModeAutoStopTimeoutInMinutesHasBeenSet = true; m_runningModeAutoStopTimeoutInMinutes = value; }
75
77
83 inline int GetRootVolumeSizeGib() const { return m_rootVolumeSizeGib; }
84 inline bool RootVolumeSizeGibHasBeenSet() const { return m_rootVolumeSizeGibHasBeenSet; }
85 inline void SetRootVolumeSizeGib(int value) { m_rootVolumeSizeGibHasBeenSet = true; m_rootVolumeSizeGib = value; }
86 inline WorkspaceProperties& WithRootVolumeSizeGib(int value) { SetRootVolumeSizeGib(value); return *this;}
88
90
96 inline int GetUserVolumeSizeGib() const { return m_userVolumeSizeGib; }
97 inline bool UserVolumeSizeGibHasBeenSet() const { return m_userVolumeSizeGibHasBeenSet; }
98 inline void SetUserVolumeSizeGib(int value) { m_userVolumeSizeGibHasBeenSet = true; m_userVolumeSizeGib = value; }
99 inline WorkspaceProperties& WithUserVolumeSizeGib(int value) { SetUserVolumeSizeGib(value); return *this;}
101
103
108 inline Compute GetComputeTypeName() const { return m_computeTypeName; }
109 inline bool ComputeTypeNameHasBeenSet() const { return m_computeTypeNameHasBeenSet; }
110 inline void SetComputeTypeName(Compute value) { m_computeTypeNameHasBeenSet = true; m_computeTypeName = value; }
113
115
126 inline const Aws::Vector<Protocol>& GetProtocols() const { return m_protocols; }
127 inline bool ProtocolsHasBeenSet() const { return m_protocolsHasBeenSet; }
128 template<typename ProtocolsT = Aws::Vector<Protocol>>
129 void SetProtocols(ProtocolsT&& value) { m_protocolsHasBeenSet = true; m_protocols = std::forward<ProtocolsT>(value); }
130 template<typename ProtocolsT = Aws::Vector<Protocol>>
131 WorkspaceProperties& WithProtocols(ProtocolsT&& value) { SetProtocols(std::forward<ProtocolsT>(value)); return *this;}
132 inline WorkspaceProperties& AddProtocols(Protocol value) { m_protocolsHasBeenSet = true; m_protocols.push_back(value); return *this; }
134
136
139 inline OperatingSystemName GetOperatingSystemName() const { return m_operatingSystemName; }
140 inline bool OperatingSystemNameHasBeenSet() const { return m_operatingSystemNameHasBeenSet; }
141 inline void SetOperatingSystemName(OperatingSystemName value) { m_operatingSystemNameHasBeenSet = true; m_operatingSystemName = value; }
144
146
149 inline const GlobalAcceleratorForWorkSpace& GetGlobalAccelerator() const { return m_globalAccelerator; }
150 inline bool GlobalAcceleratorHasBeenSet() const { return m_globalAcceleratorHasBeenSet; }
151 template<typename GlobalAcceleratorT = GlobalAcceleratorForWorkSpace>
152 void SetGlobalAccelerator(GlobalAcceleratorT&& value) { m_globalAcceleratorHasBeenSet = true; m_globalAccelerator = std::forward<GlobalAcceleratorT>(value); }
153 template<typename GlobalAcceleratorT = GlobalAcceleratorForWorkSpace>
154 WorkspaceProperties& WithGlobalAccelerator(GlobalAcceleratorT&& value) { SetGlobalAccelerator(std::forward<GlobalAcceleratorT>(value)); return *this;}
156 private:
157
158 RunningMode m_runningMode{RunningMode::NOT_SET};
159 bool m_runningModeHasBeenSet = false;
160
161 int m_runningModeAutoStopTimeoutInMinutes{0};
162 bool m_runningModeAutoStopTimeoutInMinutesHasBeenSet = false;
163
164 int m_rootVolumeSizeGib{0};
165 bool m_rootVolumeSizeGibHasBeenSet = false;
166
167 int m_userVolumeSizeGib{0};
168 bool m_userVolumeSizeGibHasBeenSet = false;
169
170 Compute m_computeTypeName{Compute::NOT_SET};
171 bool m_computeTypeNameHasBeenSet = false;
172
173 Aws::Vector<Protocol> m_protocols;
174 bool m_protocolsHasBeenSet = false;
175
177 bool m_operatingSystemNameHasBeenSet = false;
178
179 GlobalAcceleratorForWorkSpace m_globalAccelerator;
180 bool m_globalAcceleratorHasBeenSet = false;
181 };
182
183} // namespace Model
184} // namespace WorkSpaces
185} // namespace Aws
WorkspaceProperties & WithUserVolumeSizeGib(int value)
WorkspaceProperties & WithRootVolumeSizeGib(int value)
WorkspaceProperties & WithComputeTypeName(Compute value)
WorkspaceProperties & WithGlobalAccelerator(GlobalAcceleratorT &&value)
void SetGlobalAccelerator(GlobalAcceleratorT &&value)
AWS_WORKSPACES_API WorkspaceProperties & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_WORKSPACES_API Aws::Utils::Json::JsonValue Jsonize() const
void SetOperatingSystemName(OperatingSystemName value)
WorkspaceProperties & WithProtocols(ProtocolsT &&value)
WorkspaceProperties & WithRunningModeAutoStopTimeoutInMinutes(int value)
WorkspaceProperties & WithOperatingSystemName(OperatingSystemName value)
const GlobalAcceleratorForWorkSpace & GetGlobalAccelerator() const
WorkspaceProperties & AddProtocols(Protocol value)
AWS_WORKSPACES_API WorkspaceProperties()=default
const Aws::Vector< Protocol > & GetProtocols() const
WorkspaceProperties & WithRunningMode(RunningMode value)
AWS_WORKSPACES_API WorkspaceProperties(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue