AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
ClusterSlurmConfigurationRequest.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/AccountingRequest.h>
10#include <aws/pcs/model/SlurmCustomSetting.h>
11#include <aws/pcs/model/SlurmRestRequest.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 ClusterSlurmConfigurationRequest() = default;
37
39
43 inline int GetScaleDownIdleTimeInSeconds() const { return m_scaleDownIdleTimeInSeconds; }
44 inline bool ScaleDownIdleTimeInSecondsHasBeenSet() const { return m_scaleDownIdleTimeInSecondsHasBeenSet; }
45 inline void SetScaleDownIdleTimeInSeconds(int value) {
46 m_scaleDownIdleTimeInSecondsHasBeenSet = true;
47 m_scaleDownIdleTimeInSeconds = value;
48 }
51 return *this;
52 }
54
56
60 inline const Aws::Vector<SlurmCustomSetting>& GetSlurmCustomSettings() const { return m_slurmCustomSettings; }
61 inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; }
62 template <typename SlurmCustomSettingsT = Aws::Vector<SlurmCustomSetting>>
63 void SetSlurmCustomSettings(SlurmCustomSettingsT&& value) {
64 m_slurmCustomSettingsHasBeenSet = true;
65 m_slurmCustomSettings = std::forward<SlurmCustomSettingsT>(value);
66 }
67 template <typename SlurmCustomSettingsT = Aws::Vector<SlurmCustomSetting>>
69 SetSlurmCustomSettings(std::forward<SlurmCustomSettingsT>(value));
70 return *this;
71 }
72 template <typename SlurmCustomSettingsT = SlurmCustomSetting>
74 m_slurmCustomSettingsHasBeenSet = true;
75 m_slurmCustomSettings.emplace_back(std::forward<SlurmCustomSettingsT>(value));
76 return *this;
77 }
79
81
85 inline const AccountingRequest& GetAccounting() const { return m_accounting; }
86 inline bool AccountingHasBeenSet() const { return m_accountingHasBeenSet; }
87 template <typename AccountingT = AccountingRequest>
88 void SetAccounting(AccountingT&& value) {
89 m_accountingHasBeenSet = true;
90 m_accounting = std::forward<AccountingT>(value);
91 }
92 template <typename AccountingT = AccountingRequest>
94 SetAccounting(std::forward<AccountingT>(value));
95 return *this;
96 }
98
100
103 inline const SlurmRestRequest& GetSlurmRest() const { return m_slurmRest; }
104 inline bool SlurmRestHasBeenSet() const { return m_slurmRestHasBeenSet; }
105 template <typename SlurmRestT = SlurmRestRequest>
106 void SetSlurmRest(SlurmRestT&& value) {
107 m_slurmRestHasBeenSet = true;
108 m_slurmRest = std::forward<SlurmRestT>(value);
109 }
110 template <typename SlurmRestT = SlurmRestRequest>
112 SetSlurmRest(std::forward<SlurmRestT>(value));
113 return *this;
114 }
116 private:
117 int m_scaleDownIdleTimeInSeconds{0};
118
119 Aws::Vector<SlurmCustomSetting> m_slurmCustomSettings;
120
121 AccountingRequest m_accounting;
122
123 SlurmRestRequest m_slurmRest;
124 bool m_scaleDownIdleTimeInSecondsHasBeenSet = false;
125 bool m_slurmCustomSettingsHasBeenSet = false;
126 bool m_accountingHasBeenSet = false;
127 bool m_slurmRestHasBeenSet = false;
128};
129
130} // namespace Model
131} // namespace PCS
132} // namespace Aws
ClusterSlurmConfigurationRequest & WithSlurmCustomSettings(SlurmCustomSettingsT &&value)
ClusterSlurmConfigurationRequest & WithAccounting(AccountingT &&value)
AWS_PCS_API ClusterSlurmConfigurationRequest & operator=(Aws::Utils::Json::JsonView jsonValue)
ClusterSlurmConfigurationRequest & WithScaleDownIdleTimeInSeconds(int value)
ClusterSlurmConfigurationRequest & AddSlurmCustomSettings(SlurmCustomSettingsT &&value)
ClusterSlurmConfigurationRequest & WithSlurmRest(SlurmRestT &&value)
AWS_PCS_API ClusterSlurmConfigurationRequest(Aws::Utils::Json::JsonView jsonValue)
AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< SlurmCustomSetting > & GetSlurmCustomSettings() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue