AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
ResourceConfig.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/sagemaker/SageMaker_EXPORTS.h>
10#include <aws/sagemaker/model/InstanceGroup.h>
11#include <aws/sagemaker/model/InstancePlacementConfig.h>
12#include <aws/sagemaker/model/TrainingInstanceType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace SageMaker {
24namespace Model {
25
34 public:
35 AWS_SAGEMAKER_API ResourceConfig() = default;
36 AWS_SAGEMAKER_API ResourceConfig(Aws::Utils::Json::JsonView jsonValue);
38 AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline TrainingInstanceType GetInstanceType() const { return m_instanceType; }
45 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
47 m_instanceTypeHasBeenSet = true;
48 m_instanceType = value;
49 }
51 SetInstanceType(value);
52 return *this;
53 }
55
57
61 inline int GetInstanceCount() const { return m_instanceCount; }
62 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
63 inline void SetInstanceCount(int value) {
64 m_instanceCountHasBeenSet = true;
65 m_instanceCount = value;
66 }
67 inline ResourceConfig& WithInstanceCount(int value) {
68 SetInstanceCount(value);
69 return *this;
70 }
72
74
103 inline int GetVolumeSizeInGB() const { return m_volumeSizeInGB; }
104 inline bool VolumeSizeInGBHasBeenSet() const { return m_volumeSizeInGBHasBeenSet; }
105 inline void SetVolumeSizeInGB(int value) {
106 m_volumeSizeInGBHasBeenSet = true;
107 m_volumeSizeInGB = value;
108 }
110 SetVolumeSizeInGB(value);
111 return *this;
112 }
114
116
135 inline const Aws::String& GetVolumeKmsKeyId() const { return m_volumeKmsKeyId; }
136 inline bool VolumeKmsKeyIdHasBeenSet() const { return m_volumeKmsKeyIdHasBeenSet; }
137 template <typename VolumeKmsKeyIdT = Aws::String>
138 void SetVolumeKmsKeyId(VolumeKmsKeyIdT&& value) {
139 m_volumeKmsKeyIdHasBeenSet = true;
140 m_volumeKmsKeyId = std::forward<VolumeKmsKeyIdT>(value);
141 }
142 template <typename VolumeKmsKeyIdT = Aws::String>
143 ResourceConfig& WithVolumeKmsKeyId(VolumeKmsKeyIdT&& value) {
144 SetVolumeKmsKeyId(std::forward<VolumeKmsKeyIdT>(value));
145 return *this;
146 }
148
150
154 inline int GetKeepAlivePeriodInSeconds() const { return m_keepAlivePeriodInSeconds; }
155 inline bool KeepAlivePeriodInSecondsHasBeenSet() const { return m_keepAlivePeriodInSecondsHasBeenSet; }
156 inline void SetKeepAlivePeriodInSeconds(int value) {
157 m_keepAlivePeriodInSecondsHasBeenSet = true;
158 m_keepAlivePeriodInSeconds = value;
159 }
162 return *this;
163 }
165
167
170 inline const Aws::Vector<InstanceGroup>& GetInstanceGroups() const { return m_instanceGroups; }
171 inline bool InstanceGroupsHasBeenSet() const { return m_instanceGroupsHasBeenSet; }
172 template <typename InstanceGroupsT = Aws::Vector<InstanceGroup>>
173 void SetInstanceGroups(InstanceGroupsT&& value) {
174 m_instanceGroupsHasBeenSet = true;
175 m_instanceGroups = std::forward<InstanceGroupsT>(value);
176 }
177 template <typename InstanceGroupsT = Aws::Vector<InstanceGroup>>
178 ResourceConfig& WithInstanceGroups(InstanceGroupsT&& value) {
179 SetInstanceGroups(std::forward<InstanceGroupsT>(value));
180 return *this;
181 }
182 template <typename InstanceGroupsT = InstanceGroup>
183 ResourceConfig& AddInstanceGroups(InstanceGroupsT&& value) {
184 m_instanceGroupsHasBeenSet = true;
185 m_instanceGroups.emplace_back(std::forward<InstanceGroupsT>(value));
186 return *this;
187 }
189
191
195 inline const Aws::String& GetTrainingPlanArn() const { return m_trainingPlanArn; }
196 inline bool TrainingPlanArnHasBeenSet() const { return m_trainingPlanArnHasBeenSet; }
197 template <typename TrainingPlanArnT = Aws::String>
198 void SetTrainingPlanArn(TrainingPlanArnT&& value) {
199 m_trainingPlanArnHasBeenSet = true;
200 m_trainingPlanArn = std::forward<TrainingPlanArnT>(value);
201 }
202 template <typename TrainingPlanArnT = Aws::String>
203 ResourceConfig& WithTrainingPlanArn(TrainingPlanArnT&& value) {
204 SetTrainingPlanArn(std::forward<TrainingPlanArnT>(value));
205 return *this;
206 }
208
210
214 inline const InstancePlacementConfig& GetInstancePlacementConfig() const { return m_instancePlacementConfig; }
215 inline bool InstancePlacementConfigHasBeenSet() const { return m_instancePlacementConfigHasBeenSet; }
216 template <typename InstancePlacementConfigT = InstancePlacementConfig>
217 void SetInstancePlacementConfig(InstancePlacementConfigT&& value) {
218 m_instancePlacementConfigHasBeenSet = true;
219 m_instancePlacementConfig = std::forward<InstancePlacementConfigT>(value);
220 }
221 template <typename InstancePlacementConfigT = InstancePlacementConfig>
222 ResourceConfig& WithInstancePlacementConfig(InstancePlacementConfigT&& value) {
223 SetInstancePlacementConfig(std::forward<InstancePlacementConfigT>(value));
224 return *this;
225 }
227 private:
229
230 int m_instanceCount{0};
231
232 int m_volumeSizeInGB{0};
233
234 Aws::String m_volumeKmsKeyId;
235
236 int m_keepAlivePeriodInSeconds{0};
237
238 Aws::Vector<InstanceGroup> m_instanceGroups;
239
240 Aws::String m_trainingPlanArn;
241
242 InstancePlacementConfig m_instancePlacementConfig;
243 bool m_instanceTypeHasBeenSet = false;
244 bool m_instanceCountHasBeenSet = false;
245 bool m_volumeSizeInGBHasBeenSet = false;
246 bool m_volumeKmsKeyIdHasBeenSet = false;
247 bool m_keepAlivePeriodInSecondsHasBeenSet = false;
248 bool m_instanceGroupsHasBeenSet = false;
249 bool m_trainingPlanArnHasBeenSet = false;
250 bool m_instancePlacementConfigHasBeenSet = false;
251};
252
253} // namespace Model
254} // namespace SageMaker
255} // namespace Aws
const Aws::String & GetVolumeKmsKeyId() const
void SetVolumeKmsKeyId(VolumeKmsKeyIdT &&value)
const Aws::String & GetTrainingPlanArn() const
ResourceConfig & WithVolumeKmsKeyId(VolumeKmsKeyIdT &&value)
ResourceConfig & WithInstancePlacementConfig(InstancePlacementConfigT &&value)
ResourceConfig & WithKeepAlivePeriodInSeconds(int value)
void SetInstanceGroups(InstanceGroupsT &&value)
AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
ResourceConfig & WithInstanceGroups(InstanceGroupsT &&value)
const InstancePlacementConfig & GetInstancePlacementConfig() const
AWS_SAGEMAKER_API ResourceConfig(Aws::Utils::Json::JsonView jsonValue)
AWS_SAGEMAKER_API ResourceConfig()=default
ResourceConfig & WithInstanceCount(int value)
ResourceConfig & WithTrainingPlanArn(TrainingPlanArnT &&value)
AWS_SAGEMAKER_API ResourceConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
ResourceConfig & WithVolumeSizeInGB(int value)
void SetInstanceType(TrainingInstanceType value)
ResourceConfig & AddInstanceGroups(InstanceGroupsT &&value)
void SetInstancePlacementConfig(InstancePlacementConfigT &&value)
void SetTrainingPlanArn(TrainingPlanArnT &&value)
const Aws::Vector< InstanceGroup > & GetInstanceGroups() const
TrainingInstanceType GetInstanceType() const
ResourceConfig & WithInstanceType(TrainingInstanceType 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