AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
ClusterSlurmConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/pcs/PCS_EXPORTS.h>
9#include <aws/pcs/model/Accounting.h>
10#include <aws/pcs/model/JwtAuth.h>
11#include <aws/pcs/model/SlurmAuthKey.h>
12#include <aws/pcs/model/SlurmCustomSetting.h>
13#include <aws/pcs/model/SlurmRest.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace PCS {
25namespace Model {
26
34 public:
35 AWS_PCS_API ClusterSlurmConfiguration() = default;
39
41
45 inline int GetScaleDownIdleTimeInSeconds() const { return m_scaleDownIdleTimeInSeconds; }
46 inline bool ScaleDownIdleTimeInSecondsHasBeenSet() const { return m_scaleDownIdleTimeInSecondsHasBeenSet; }
47 inline void SetScaleDownIdleTimeInSeconds(int value) {
48 m_scaleDownIdleTimeInSecondsHasBeenSet = true;
49 m_scaleDownIdleTimeInSeconds = value;
50 }
53 return *this;
54 }
56
58
62 inline const Aws::Vector<SlurmCustomSetting>& GetSlurmCustomSettings() const { return m_slurmCustomSettings; }
63 inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; }
64 template <typename SlurmCustomSettingsT = Aws::Vector<SlurmCustomSetting>>
65 void SetSlurmCustomSettings(SlurmCustomSettingsT&& value) {
66 m_slurmCustomSettingsHasBeenSet = true;
67 m_slurmCustomSettings = std::forward<SlurmCustomSettingsT>(value);
68 }
69 template <typename SlurmCustomSettingsT = Aws::Vector<SlurmCustomSetting>>
70 ClusterSlurmConfiguration& WithSlurmCustomSettings(SlurmCustomSettingsT&& value) {
71 SetSlurmCustomSettings(std::forward<SlurmCustomSettingsT>(value));
72 return *this;
73 }
74 template <typename SlurmCustomSettingsT = SlurmCustomSetting>
75 ClusterSlurmConfiguration& AddSlurmCustomSettings(SlurmCustomSettingsT&& value) {
76 m_slurmCustomSettingsHasBeenSet = true;
77 m_slurmCustomSettings.emplace_back(std::forward<SlurmCustomSettingsT>(value));
78 return *this;
79 }
81
83
87 inline const SlurmAuthKey& GetAuthKey() const { return m_authKey; }
88 inline bool AuthKeyHasBeenSet() const { return m_authKeyHasBeenSet; }
89 template <typename AuthKeyT = SlurmAuthKey>
90 void SetAuthKey(AuthKeyT&& value) {
91 m_authKeyHasBeenSet = true;
92 m_authKey = std::forward<AuthKeyT>(value);
93 }
94 template <typename AuthKeyT = SlurmAuthKey>
96 SetAuthKey(std::forward<AuthKeyT>(value));
97 return *this;
98 }
100
102
105 inline const JwtAuth& GetJwtAuth() const { return m_jwtAuth; }
106 inline bool JwtAuthHasBeenSet() const { return m_jwtAuthHasBeenSet; }
107 template <typename JwtAuthT = JwtAuth>
108 void SetJwtAuth(JwtAuthT&& value) {
109 m_jwtAuthHasBeenSet = true;
110 m_jwtAuth = std::forward<JwtAuthT>(value);
111 }
112 template <typename JwtAuthT = JwtAuth>
114 SetJwtAuth(std::forward<JwtAuthT>(value));
115 return *this;
116 }
118
120
124 inline const Accounting& GetAccounting() const { return m_accounting; }
125 inline bool AccountingHasBeenSet() const { return m_accountingHasBeenSet; }
126 template <typename AccountingT = Accounting>
127 void SetAccounting(AccountingT&& value) {
128 m_accountingHasBeenSet = true;
129 m_accounting = std::forward<AccountingT>(value);
130 }
131 template <typename AccountingT = Accounting>
133 SetAccounting(std::forward<AccountingT>(value));
134 return *this;
135 }
137
139
142 inline const SlurmRest& GetSlurmRest() const { return m_slurmRest; }
143 inline bool SlurmRestHasBeenSet() const { return m_slurmRestHasBeenSet; }
144 template <typename SlurmRestT = SlurmRest>
145 void SetSlurmRest(SlurmRestT&& value) {
146 m_slurmRestHasBeenSet = true;
147 m_slurmRest = std::forward<SlurmRestT>(value);
148 }
149 template <typename SlurmRestT = SlurmRest>
151 SetSlurmRest(std::forward<SlurmRestT>(value));
152 return *this;
153 }
155 private:
156 int m_scaleDownIdleTimeInSeconds{0};
157
158 Aws::Vector<SlurmCustomSetting> m_slurmCustomSettings;
159
160 SlurmAuthKey m_authKey;
161
162 JwtAuth m_jwtAuth;
163
164 Accounting m_accounting;
165
166 SlurmRest m_slurmRest;
167 bool m_scaleDownIdleTimeInSecondsHasBeenSet = false;
168 bool m_slurmCustomSettingsHasBeenSet = false;
169 bool m_authKeyHasBeenSet = false;
170 bool m_jwtAuthHasBeenSet = false;
171 bool m_accountingHasBeenSet = false;
172 bool m_slurmRestHasBeenSet = false;
173};
174
175} // namespace Model
176} // namespace PCS
177} // namespace Aws
ClusterSlurmConfiguration & WithAccounting(AccountingT &&value)
AWS_PCS_API ClusterSlurmConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_PCS_API ClusterSlurmConfiguration(Aws::Utils::Json::JsonView jsonValue)
ClusterSlurmConfiguration & WithSlurmRest(SlurmRestT &&value)
ClusterSlurmConfiguration & WithJwtAuth(JwtAuthT &&value)
AWS_PCS_API ClusterSlurmConfiguration()=default
ClusterSlurmConfiguration & AddSlurmCustomSettings(SlurmCustomSettingsT &&value)
ClusterSlurmConfiguration & WithScaleDownIdleTimeInSeconds(int value)
ClusterSlurmConfiguration & WithSlurmCustomSettings(SlurmCustomSettingsT &&value)
AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSlurmCustomSettings(SlurmCustomSettingsT &&value)
const Aws::Vector< SlurmCustomSetting > & GetSlurmCustomSettings() const
ClusterSlurmConfiguration & WithAuthKey(AuthKeyT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue