AWS SDK for C++

AWS SDK for C++ Version 1.11.891

Loading...
Searching...
No Matches
ComputeNodeGroupSlurmConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/pcs/PCS_EXPORTS.h>
11#include <aws/pcs/model/SlurmCustomSetting.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace PCS {
23namespace Model {
24
32 public:
33 AWS_PCS_API ComputeNodeGroupSlurmConfiguration() = default;
37
39
46 inline int GetScaleDownIdleTimeInSeconds() const { return m_scaleDownIdleTimeInSeconds; }
47 inline bool ScaleDownIdleTimeInSecondsHasBeenSet() const { return m_scaleDownIdleTimeInSecondsHasBeenSet; }
48 inline void SetScaleDownIdleTimeInSeconds(int value) {
49 m_scaleDownIdleTimeInSecondsHasBeenSet = true;
50 m_scaleDownIdleTimeInSeconds = value;
51 }
54 return *this;
55 }
57
59
63 inline const Aws::Vector<SlurmCustomSetting>& GetSlurmCustomSettings() const { return m_slurmCustomSettings; }
64 inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; }
65 template <typename SlurmCustomSettingsT = Aws::Vector<SlurmCustomSetting>>
66 void SetSlurmCustomSettings(SlurmCustomSettingsT&& value) {
67 m_slurmCustomSettingsHasBeenSet = true;
68 m_slurmCustomSettings = std::forward<SlurmCustomSettingsT>(value);
69 }
70 template <typename SlurmCustomSettingsT = Aws::Vector<SlurmCustomSetting>>
72 SetSlurmCustomSettings(std::forward<SlurmCustomSettingsT>(value));
73 return *this;
74 }
75 template <typename SlurmCustomSettingsT = SlurmCustomSetting>
77 m_slurmCustomSettingsHasBeenSet = true;
78 m_slurmCustomSettings.emplace_back(std::forward<SlurmCustomSettingsT>(value));
79 return *this;
80 }
82
84
91 inline const Aws::Vector<Aws::Map<Aws::String, Aws::String>>& GetGresCustomSettings() const { return m_gresCustomSettings; }
92 inline bool GresCustomSettingsHasBeenSet() const { return m_gresCustomSettingsHasBeenSet; }
93 template <typename GresCustomSettingsT = Aws::Vector<Aws::Map<Aws::String, Aws::String>>>
94 void SetGresCustomSettings(GresCustomSettingsT&& value) {
95 m_gresCustomSettingsHasBeenSet = true;
96 m_gresCustomSettings = std::forward<GresCustomSettingsT>(value);
97 }
98 template <typename GresCustomSettingsT = Aws::Vector<Aws::Map<Aws::String, Aws::String>>>
100 SetGresCustomSettings(std::forward<GresCustomSettingsT>(value));
101 return *this;
102 }
103 template <typename GresCustomSettingsT = Aws::Map<Aws::String, Aws::String>>
105 m_gresCustomSettingsHasBeenSet = true;
106 m_gresCustomSettings.emplace_back(std::forward<GresCustomSettingsT>(value));
107 return *this;
108 }
110 private:
111 int m_scaleDownIdleTimeInSeconds{0};
112
113 Aws::Vector<SlurmCustomSetting> m_slurmCustomSettings;
114
116 bool m_scaleDownIdleTimeInSecondsHasBeenSet = false;
117 bool m_slurmCustomSettingsHasBeenSet = false;
118 bool m_gresCustomSettingsHasBeenSet = false;
119};
120
121} // namespace Model
122} // namespace PCS
123} // namespace Aws
ComputeNodeGroupSlurmConfiguration & WithSlurmCustomSettings(SlurmCustomSettingsT &&value)
ComputeNodeGroupSlurmConfiguration & WithScaleDownIdleTimeInSeconds(int value)
const Aws::Vector< SlurmCustomSetting > & GetSlurmCustomSettings() const
const Aws::Vector< Aws::Map< Aws::String, Aws::String > > & GetGresCustomSettings() const
ComputeNodeGroupSlurmConfiguration & WithGresCustomSettings(GresCustomSettingsT &&value)
AWS_PCS_API ComputeNodeGroupSlurmConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const
ComputeNodeGroupSlurmConfiguration & AddSlurmCustomSettings(SlurmCustomSettingsT &&value)
ComputeNodeGroupSlurmConfiguration & AddGresCustomSettings(GresCustomSettingsT &&value)
AWS_PCS_API ComputeNodeGroupSlurmConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue