AWS SDK for C++

AWS SDK for C++ Version 1.11.804

Loading...
Searching...
No Matches
ProductionVariant.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/InstancePool.h>
11#include <aws/sagemaker/model/ProductionVariantAcceleratorType.h>
12#include <aws/sagemaker/model/ProductionVariantCapacityReservationConfig.h>
13#include <aws/sagemaker/model/ProductionVariantCoreDumpConfig.h>
14#include <aws/sagemaker/model/ProductionVariantInferenceAmiVersion.h>
15#include <aws/sagemaker/model/ProductionVariantInstanceType.h>
16#include <aws/sagemaker/model/ProductionVariantManagedInstanceScaling.h>
17#include <aws/sagemaker/model/ProductionVariantRoutingConfig.h>
18#include <aws/sagemaker/model/ProductionVariantServerlessConfig.h>
19
20#include <utility>
21
22namespace Aws {
23namespace Utils {
24namespace Json {
25class JsonValue;
26class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace SageMaker {
30namespace Model {
31
43 public:
44 AWS_SAGEMAKER_API ProductionVariant() = default;
45 AWS_SAGEMAKER_API ProductionVariant(Aws::Utils::Json::JsonView jsonValue);
47 AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
48
50
53 inline const Aws::String& GetVariantName() const { return m_variantName; }
54 inline bool VariantNameHasBeenSet() const { return m_variantNameHasBeenSet; }
55 template <typename VariantNameT = Aws::String>
56 void SetVariantName(VariantNameT&& value) {
57 m_variantNameHasBeenSet = true;
58 m_variantName = std::forward<VariantNameT>(value);
59 }
60 template <typename VariantNameT = Aws::String>
61 ProductionVariant& WithVariantName(VariantNameT&& value) {
62 SetVariantName(std::forward<VariantNameT>(value));
63 return *this;
64 }
66
68
72 inline const Aws::String& GetModelName() const { return m_modelName; }
73 inline bool ModelNameHasBeenSet() const { return m_modelNameHasBeenSet; }
74 template <typename ModelNameT = Aws::String>
75 void SetModelName(ModelNameT&& value) {
76 m_modelNameHasBeenSet = true;
77 m_modelName = std::forward<ModelNameT>(value);
78 }
79 template <typename ModelNameT = Aws::String>
80 ProductionVariant& WithModelName(ModelNameT&& value) {
81 SetModelName(std::forward<ModelNameT>(value));
82 return *this;
83 }
85
87
90 inline int GetInitialInstanceCount() const { return m_initialInstanceCount; }
91 inline bool InitialInstanceCountHasBeenSet() const { return m_initialInstanceCountHasBeenSet; }
92 inline void SetInitialInstanceCount(int value) {
93 m_initialInstanceCountHasBeenSet = true;
94 m_initialInstanceCount = value;
95 }
98 return *this;
99 }
101
103
106 inline ProductionVariantInstanceType GetInstanceType() const { return m_instanceType; }
107 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
109 m_instanceTypeHasBeenSet = true;
110 m_instanceType = value;
111 }
113 SetInstanceType(value);
114 return *this;
115 }
117
119
125 inline const Aws::Vector<InstancePool>& GetInstancePools() const { return m_instancePools; }
126 inline bool InstancePoolsHasBeenSet() const { return m_instancePoolsHasBeenSet; }
127 template <typename InstancePoolsT = Aws::Vector<InstancePool>>
128 void SetInstancePools(InstancePoolsT&& value) {
129 m_instancePoolsHasBeenSet = true;
130 m_instancePools = std::forward<InstancePoolsT>(value);
131 }
132 template <typename InstancePoolsT = Aws::Vector<InstancePool>>
133 ProductionVariant& WithInstancePools(InstancePoolsT&& value) {
134 SetInstancePools(std::forward<InstancePoolsT>(value));
135 return *this;
136 }
137 template <typename InstancePoolsT = InstancePool>
138 ProductionVariant& AddInstancePools(InstancePoolsT&& value) {
139 m_instancePoolsHasBeenSet = true;
140 m_instancePools.emplace_back(std::forward<InstancePoolsT>(value));
141 return *this;
142 }
144
146
154 inline int GetVariantInstanceProvisionTimeoutInSeconds() const { return m_variantInstanceProvisionTimeoutInSeconds; }
155 inline bool VariantInstanceProvisionTimeoutInSecondsHasBeenSet() const { return m_variantInstanceProvisionTimeoutInSecondsHasBeenSet; }
157 m_variantInstanceProvisionTimeoutInSecondsHasBeenSet = true;
158 m_variantInstanceProvisionTimeoutInSeconds = value;
159 }
162 return *this;
163 }
165
167
174 inline double GetInitialVariantWeight() const { return m_initialVariantWeight; }
175 inline bool InitialVariantWeightHasBeenSet() const { return m_initialVariantWeightHasBeenSet; }
176 inline void SetInitialVariantWeight(double value) {
177 m_initialVariantWeightHasBeenSet = true;
178 m_initialVariantWeight = value;
179 }
182 return *this;
183 }
185
187
192 inline ProductionVariantAcceleratorType GetAcceleratorType() const { return m_acceleratorType; }
193 inline bool AcceleratorTypeHasBeenSet() const { return m_acceleratorTypeHasBeenSet; }
195 m_acceleratorTypeHasBeenSet = true;
196 m_acceleratorType = value;
197 }
199 SetAcceleratorType(value);
200 return *this;
201 }
203
205
209 inline const ProductionVariantCoreDumpConfig& GetCoreDumpConfig() const { return m_coreDumpConfig; }
210 inline bool CoreDumpConfigHasBeenSet() const { return m_coreDumpConfigHasBeenSet; }
211 template <typename CoreDumpConfigT = ProductionVariantCoreDumpConfig>
212 void SetCoreDumpConfig(CoreDumpConfigT&& value) {
213 m_coreDumpConfigHasBeenSet = true;
214 m_coreDumpConfig = std::forward<CoreDumpConfigT>(value);
215 }
216 template <typename CoreDumpConfigT = ProductionVariantCoreDumpConfig>
217 ProductionVariant& WithCoreDumpConfig(CoreDumpConfigT&& value) {
218 SetCoreDumpConfig(std::forward<CoreDumpConfigT>(value));
219 return *this;
220 }
222
224
228 inline const ProductionVariantServerlessConfig& GetServerlessConfig() const { return m_serverlessConfig; }
229 inline bool ServerlessConfigHasBeenSet() const { return m_serverlessConfigHasBeenSet; }
230 template <typename ServerlessConfigT = ProductionVariantServerlessConfig>
231 void SetServerlessConfig(ServerlessConfigT&& value) {
232 m_serverlessConfigHasBeenSet = true;
233 m_serverlessConfig = std::forward<ServerlessConfigT>(value);
234 }
235 template <typename ServerlessConfigT = ProductionVariantServerlessConfig>
236 ProductionVariant& WithServerlessConfig(ServerlessConfigT&& value) {
237 SetServerlessConfig(std::forward<ServerlessConfigT>(value));
238 return *this;
239 }
241
243
248 inline int GetVolumeSizeInGB() const { return m_volumeSizeInGB; }
249 inline bool VolumeSizeInGBHasBeenSet() const { return m_volumeSizeInGBHasBeenSet; }
250 inline void SetVolumeSizeInGB(int value) {
251 m_volumeSizeInGBHasBeenSet = true;
252 m_volumeSizeInGB = value;
253 }
255 SetVolumeSizeInGB(value);
256 return *this;
257 }
259
261
266 inline int GetModelDataDownloadTimeoutInSeconds() const { return m_modelDataDownloadTimeoutInSeconds; }
267 inline bool ModelDataDownloadTimeoutInSecondsHasBeenSet() const { return m_modelDataDownloadTimeoutInSecondsHasBeenSet; }
269 m_modelDataDownloadTimeoutInSecondsHasBeenSet = true;
270 m_modelDataDownloadTimeoutInSeconds = value;
271 }
274 return *this;
275 }
277
279
285 inline int GetContainerStartupHealthCheckTimeoutInSeconds() const { return m_containerStartupHealthCheckTimeoutInSeconds; }
287 return m_containerStartupHealthCheckTimeoutInSecondsHasBeenSet;
288 }
290 m_containerStartupHealthCheckTimeoutInSecondsHasBeenSet = true;
291 m_containerStartupHealthCheckTimeoutInSeconds = value;
292 }
295 return *this;
296 }
298
300
308 inline bool GetEnableSSMAccess() const { return m_enableSSMAccess; }
309 inline bool EnableSSMAccessHasBeenSet() const { return m_enableSSMAccessHasBeenSet; }
310 inline void SetEnableSSMAccess(bool value) {
311 m_enableSSMAccessHasBeenSet = true;
312 m_enableSSMAccess = value;
313 }
315 SetEnableSSMAccess(value);
316 return *this;
317 }
319
321
325 inline const ProductionVariantManagedInstanceScaling& GetManagedInstanceScaling() const { return m_managedInstanceScaling; }
326 inline bool ManagedInstanceScalingHasBeenSet() const { return m_managedInstanceScalingHasBeenSet; }
327 template <typename ManagedInstanceScalingT = ProductionVariantManagedInstanceScaling>
328 void SetManagedInstanceScaling(ManagedInstanceScalingT&& value) {
329 m_managedInstanceScalingHasBeenSet = true;
330 m_managedInstanceScaling = std::forward<ManagedInstanceScalingT>(value);
331 }
332 template <typename ManagedInstanceScalingT = ProductionVariantManagedInstanceScaling>
333 ProductionVariant& WithManagedInstanceScaling(ManagedInstanceScalingT&& value) {
334 SetManagedInstanceScaling(std::forward<ManagedInstanceScalingT>(value));
335 return *this;
336 }
338
340
344 inline const ProductionVariantRoutingConfig& GetRoutingConfig() const { return m_routingConfig; }
345 inline bool RoutingConfigHasBeenSet() const { return m_routingConfigHasBeenSet; }
346 template <typename RoutingConfigT = ProductionVariantRoutingConfig>
347 void SetRoutingConfig(RoutingConfigT&& value) {
348 m_routingConfigHasBeenSet = true;
349 m_routingConfig = std::forward<RoutingConfigT>(value);
350 }
351 template <typename RoutingConfigT = ProductionVariantRoutingConfig>
352 ProductionVariant& WithRoutingConfig(RoutingConfigT&& value) {
353 SetRoutingConfig(std::forward<RoutingConfigT>(value));
354 return *this;
355 }
357
359
385 inline ProductionVariantInferenceAmiVersion GetInferenceAmiVersion() const { return m_inferenceAmiVersion; }
386 inline bool InferenceAmiVersionHasBeenSet() const { return m_inferenceAmiVersionHasBeenSet; }
388 m_inferenceAmiVersionHasBeenSet = true;
389 m_inferenceAmiVersion = value;
390 }
393 return *this;
394 }
396
398
402 inline const ProductionVariantCapacityReservationConfig& GetCapacityReservationConfig() const { return m_capacityReservationConfig; }
403 inline bool CapacityReservationConfigHasBeenSet() const { return m_capacityReservationConfigHasBeenSet; }
404 template <typename CapacityReservationConfigT = ProductionVariantCapacityReservationConfig>
405 void SetCapacityReservationConfig(CapacityReservationConfigT&& value) {
406 m_capacityReservationConfigHasBeenSet = true;
407 m_capacityReservationConfig = std::forward<CapacityReservationConfigT>(value);
408 }
409 template <typename CapacityReservationConfigT = ProductionVariantCapacityReservationConfig>
410 ProductionVariant& WithCapacityReservationConfig(CapacityReservationConfigT&& value) {
411 SetCapacityReservationConfig(std::forward<CapacityReservationConfigT>(value));
412 return *this;
413 }
415 private:
416 Aws::String m_variantName;
417
418 Aws::String m_modelName;
419
420 int m_initialInstanceCount{0};
421
423
424 Aws::Vector<InstancePool> m_instancePools;
425
426 int m_variantInstanceProvisionTimeoutInSeconds{0};
427
428 double m_initialVariantWeight{0.0};
429
431
432 ProductionVariantCoreDumpConfig m_coreDumpConfig;
433
434 ProductionVariantServerlessConfig m_serverlessConfig;
435
436 int m_volumeSizeInGB{0};
437
438 int m_modelDataDownloadTimeoutInSeconds{0};
439
440 int m_containerStartupHealthCheckTimeoutInSeconds{0};
441
442 bool m_enableSSMAccess{false};
443
444 ProductionVariantManagedInstanceScaling m_managedInstanceScaling;
445
446 ProductionVariantRoutingConfig m_routingConfig;
447
449
450 ProductionVariantCapacityReservationConfig m_capacityReservationConfig;
451 bool m_variantNameHasBeenSet = false;
452 bool m_modelNameHasBeenSet = false;
453 bool m_initialInstanceCountHasBeenSet = false;
454 bool m_instanceTypeHasBeenSet = false;
455 bool m_instancePoolsHasBeenSet = false;
456 bool m_variantInstanceProvisionTimeoutInSecondsHasBeenSet = false;
457 bool m_initialVariantWeightHasBeenSet = false;
458 bool m_acceleratorTypeHasBeenSet = false;
459 bool m_coreDumpConfigHasBeenSet = false;
460 bool m_serverlessConfigHasBeenSet = false;
461 bool m_volumeSizeInGBHasBeenSet = false;
462 bool m_modelDataDownloadTimeoutInSecondsHasBeenSet = false;
463 bool m_containerStartupHealthCheckTimeoutInSecondsHasBeenSet = false;
464 bool m_enableSSMAccessHasBeenSet = false;
465 bool m_managedInstanceScalingHasBeenSet = false;
466 bool m_routingConfigHasBeenSet = false;
467 bool m_inferenceAmiVersionHasBeenSet = false;
468 bool m_capacityReservationConfigHasBeenSet = false;
469};
470
471} // namespace Model
472} // namespace SageMaker
473} // namespace Aws
const Aws::String & GetVariantName() const
const ProductionVariantRoutingConfig & GetRoutingConfig() const
const Aws::String & GetModelName() const
void SetAcceleratorType(ProductionVariantAcceleratorType value)
const ProductionVariantServerlessConfig & GetServerlessConfig() const
ProductionVariant & WithInitialInstanceCount(int value)
ProductionVariant & WithInstancePools(InstancePoolsT &&value)
const ProductionVariantManagedInstanceScaling & GetManagedInstanceScaling() const
ProductionVariant & WithContainerStartupHealthCheckTimeoutInSeconds(int value)
ProductionVariant & WithInitialVariantWeight(double value)
ProductionVariant & WithCapacityReservationConfig(CapacityReservationConfigT &&value)
void SetManagedInstanceScaling(ManagedInstanceScalingT &&value)
AWS_SAGEMAKER_API ProductionVariant & operator=(Aws::Utils::Json::JsonView jsonValue)
ProductionVariant & WithVolumeSizeInGB(int value)
ProductionVariant & WithModelDataDownloadTimeoutInSeconds(int value)
ProductionVariant & WithModelName(ModelNameT &&value)
AWS_SAGEMAKER_API ProductionVariant()=default
void SetInferenceAmiVersion(ProductionVariantInferenceAmiVersion value)
const Aws::Vector< InstancePool > & GetInstancePools() const
AWS_SAGEMAKER_API ProductionVariant(Aws::Utils::Json::JsonView jsonValue)
ProductionVariantAcceleratorType GetAcceleratorType() const
ProductionVariant & WithRoutingConfig(RoutingConfigT &&value)
const ProductionVariantCapacityReservationConfig & GetCapacityReservationConfig() const
void SetRoutingConfig(RoutingConfigT &&value)
ProductionVariant & AddInstancePools(InstancePoolsT &&value)
const ProductionVariantCoreDumpConfig & GetCoreDumpConfig() const
ProductionVariant & WithEnableSSMAccess(bool value)
ProductionVariantInstanceType GetInstanceType() const
ProductionVariant & WithInferenceAmiVersion(ProductionVariantInferenceAmiVersion value)
void SetInstancePools(InstancePoolsT &&value)
void SetInstanceType(ProductionVariantInstanceType value)
ProductionVariant & WithVariantInstanceProvisionTimeoutInSeconds(int value)
ProductionVariant & WithAcceleratorType(ProductionVariantAcceleratorType value)
ProductionVariantInferenceAmiVersion GetInferenceAmiVersion() const
ProductionVariant & WithCoreDumpConfig(CoreDumpConfigT &&value)
AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
ProductionVariant & WithManagedInstanceScaling(ManagedInstanceScalingT &&value)
ProductionVariant & WithServerlessConfig(ServerlessConfigT &&value)
ProductionVariant & WithInstanceType(ProductionVariantInstanceType value)
void SetCoreDumpConfig(CoreDumpConfigT &&value)
ProductionVariant & WithVariantName(VariantNameT &&value)
void SetCapacityReservationConfig(CapacityReservationConfigT &&value)
void SetVariantName(VariantNameT &&value)
void SetServerlessConfig(ServerlessConfigT &&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