7#include <aws/pcs/PCS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/pcs/model/ComputeNodeGroupStatus.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/pcs/model/PurchaseOption.h>
13#include <aws/pcs/model/CustomLaunchTemplate.h>
14#include <aws/pcs/model/ScalingConfiguration.h>
15#include <aws/pcs/model/SpotOptions.h>
16#include <aws/pcs/model/ComputeNodeGroupSlurmConfiguration.h>
17#include <aws/pcs/model/InstanceConfig.h>
18#include <aws/pcs/model/ErrorInfo.h>
56 template<
typename NameT = Aws::String>
57 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
58 template<
typename NameT = Aws::String>
68 template<
typename IdT = Aws::String>
69 void SetId(IdT&& value) { m_idHasBeenSet =
true; m_id = std::forward<IdT>(value); }
70 template<
typename IdT = Aws::String>
80 template<
typename ArnT = Aws::String>
81 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
82 template<
typename ArnT = Aws::String>
92 template<
typename ClusterIdT = Aws::String>
93 void SetClusterId(ClusterIdT&& value) { m_clusterIdHasBeenSet =
true; m_clusterId = std::forward<ClusterIdT>(value); }
94 template<
typename ClusterIdT = Aws::String>
104 template<
typename CreatedAtT = Aws::Utils::DateTime>
105 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
106 template<
typename CreatedAtT = Aws::Utils::DateTime>
116 template<
typename ModifiedAtT = Aws::Utils::DateTime>
117 void SetModifiedAt(ModifiedAtT&& value) { m_modifiedAtHasBeenSet =
true; m_modifiedAt = std::forward<ModifiedAtT>(value); }
118 template<
typename ModifiedAtT = Aws::Utils::DateTime>
151 template<
typename AmiIdT = Aws::String>
152 void SetAmiId(AmiIdT&& value) { m_amiIdHasBeenSet =
true; m_amiId = std::forward<AmiIdT>(value); }
153 template<
typename AmiIdT = Aws::String>
164 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
165 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet =
true; m_subnetIds = std::forward<SubnetIdsT>(value); }
166 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
168 template<
typename SubnetIdsT = Aws::String>
169 ComputeNodeGroup&
AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet =
true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
return *
this; }
190 template<
typename CustomLaunchTemplateT = CustomLaunchTemplate>
191 void SetCustomLaunchTemplate(CustomLaunchTemplateT&& value) { m_customLaunchTemplateHasBeenSet =
true; m_customLaunchTemplate = std::forward<CustomLaunchTemplateT>(value); }
192 template<
typename CustomLaunchTemplateT = CustomLaunchTemplate>
211 template<
typename IamInstanceProfileArnT = Aws::String>
212 void SetIamInstanceProfileArn(IamInstanceProfileArnT&& value) { m_iamInstanceProfileArnHasBeenSet =
true; m_iamInstanceProfileArn = std::forward<IamInstanceProfileArnT>(value); }
213 template<
typename IamInstanceProfileArnT = Aws::String>
221 template<
typename ScalingConfigurationT = ScalingConfiguration>
222 void SetScalingConfiguration(ScalingConfigurationT&& value) { m_scalingConfigurationHasBeenSet =
true; m_scalingConfiguration = std::forward<ScalingConfigurationT>(value); }
223 template<
typename ScalingConfigurationT = ScalingConfiguration>
234 template<
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
235 void SetInstanceConfigs(InstanceConfigsT&& value) { m_instanceConfigsHasBeenSet =
true; m_instanceConfigs = std::forward<InstanceConfigsT>(value); }
236 template<
typename InstanceConfigsT = Aws::Vector<InstanceConfig>>
238 template<
typename InstanceConfigsT = InstanceConfig>
239 ComputeNodeGroup&
AddInstanceConfigs(InstanceConfigsT&& value) { m_instanceConfigsHasBeenSet =
true; m_instanceConfigs.emplace_back(std::forward<InstanceConfigsT>(value));
return *
this; }
246 template<
typename SpotOptionsT = SpotOptions>
247 void SetSpotOptions(SpotOptionsT&& value) { m_spotOptionsHasBeenSet =
true; m_spotOptions = std::forward<SpotOptionsT>(value); }
248 template<
typename SpotOptionsT = SpotOptions>
256 template<
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
257 void SetSlurmConfiguration(SlurmConfigurationT&& value) { m_slurmConfigurationHasBeenSet =
true; m_slurmConfiguration = std::forward<SlurmConfigurationT>(value); }
258 template<
typename SlurmConfigurationT = ComputeNodeGroupSlurmConfiguration>
268 template<
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
269 void SetErrorInfo(ErrorInfoT&& value) { m_errorInfoHasBeenSet =
true; m_errorInfo = std::forward<ErrorInfoT>(value); }
270 template<
typename ErrorInfoT = Aws::Vector<ErrorInfo>>
272 template<
typename ErrorInfoT = ErrorInfo>
273 ComputeNodeGroup&
AddErrorInfo(ErrorInfoT&& value) { m_errorInfoHasBeenSet =
true; m_errorInfo.emplace_back(std::forward<ErrorInfoT>(value));
return *
this; }
278 bool m_nameHasBeenSet =
false;
281 bool m_idHasBeenSet =
false;
284 bool m_arnHasBeenSet =
false;
287 bool m_clusterIdHasBeenSet =
false;
290 bool m_createdAtHasBeenSet =
false;
293 bool m_modifiedAtHasBeenSet =
false;
296 bool m_statusHasBeenSet =
false;
299 bool m_amiIdHasBeenSet =
false;
302 bool m_subnetIdsHasBeenSet =
false;
305 bool m_purchaseOptionHasBeenSet =
false;
307 CustomLaunchTemplate m_customLaunchTemplate;
308 bool m_customLaunchTemplateHasBeenSet =
false;
311 bool m_iamInstanceProfileArnHasBeenSet =
false;
313 ScalingConfiguration m_scalingConfiguration;
314 bool m_scalingConfigurationHasBeenSet =
false;
317 bool m_instanceConfigsHasBeenSet =
false;
319 SpotOptions m_spotOptions;
320 bool m_spotOptionsHasBeenSet =
false;
322 ComputeNodeGroupSlurmConfiguration m_slurmConfiguration;
323 bool m_slurmConfigurationHasBeenSet =
false;
326 bool m_errorInfoHasBeenSet =
false;
void SetName(NameT &&value)
ComputeNodeGroup & AddSubnetIds(SubnetIdsT &&value)
ComputeNodeGroupStatus GetStatus() const
void SetScalingConfiguration(ScalingConfigurationT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
void SetAmiId(AmiIdT &&value)
ComputeNodeGroup & WithPurchaseOption(PurchaseOption value)
const Aws::String & GetIamInstanceProfileArn() const
void SetPurchaseOption(PurchaseOption value)
const ComputeNodeGroupSlurmConfiguration & GetSlurmConfiguration() const
bool StatusHasBeenSet() const
const Aws::Vector< ErrorInfo > & GetErrorInfo() const
const Aws::String & GetId() const
ComputeNodeGroup & WithClusterId(ClusterIdT &&value)
const Aws::String & GetClusterId() const
void SetErrorInfo(ErrorInfoT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
bool InstanceConfigsHasBeenSet() const
const SpotOptions & GetSpotOptions() const
ComputeNodeGroup & WithCustomLaunchTemplate(CustomLaunchTemplateT &&value)
void SetArn(ArnT &&value)
ComputeNodeGroup & WithAmiId(AmiIdT &&value)
ComputeNodeGroup & WithSpotOptions(SpotOptionsT &&value)
ComputeNodeGroup & WithName(NameT &&value)
AWS_PCS_API ComputeNodeGroup()=default
void SetModifiedAt(ModifiedAtT &&value)
ComputeNodeGroup & WithInstanceConfigs(InstanceConfigsT &&value)
bool ModifiedAtHasBeenSet() const
void SetStatus(ComputeNodeGroupStatus value)
bool ErrorInfoHasBeenSet() const
ComputeNodeGroup & WithId(IdT &&value)
ComputeNodeGroup & WithModifiedAt(ModifiedAtT &&value)
void SetClusterId(ClusterIdT &&value)
bool ClusterIdHasBeenSet() const
AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSubnetIds(SubnetIdsT &&value)
void SetCustomLaunchTemplate(CustomLaunchTemplateT &&value)
ComputeNodeGroup & WithIamInstanceProfileArn(IamInstanceProfileArnT &&value)
ComputeNodeGroup & WithArn(ArnT &&value)
bool SlurmConfigurationHasBeenSet() const
bool CreatedAtHasBeenSet() const
ComputeNodeGroup & WithSubnetIds(SubnetIdsT &&value)
const Aws::String & GetAmiId() const
bool CustomLaunchTemplateHasBeenSet() const
ComputeNodeGroup & WithCreatedAt(CreatedAtT &&value)
const Aws::Utils::DateTime & GetModifiedAt() const
PurchaseOption GetPurchaseOption() const
const Aws::Vector< InstanceConfig > & GetInstanceConfigs() const
ComputeNodeGroup & WithStatus(ComputeNodeGroupStatus value)
bool SpotOptionsHasBeenSet() const
void SetSlurmConfiguration(SlurmConfigurationT &&value)
const Aws::String & GetArn() const
ComputeNodeGroup & AddInstanceConfigs(InstanceConfigsT &&value)
ComputeNodeGroup & WithScalingConfiguration(ScalingConfigurationT &&value)
ComputeNodeGroup & WithSlurmConfiguration(SlurmConfigurationT &&value)
const Aws::String & GetName() const
void SetInstanceConfigs(InstanceConfigsT &&value)
void SetCreatedAt(CreatedAtT &&value)
const CustomLaunchTemplate & GetCustomLaunchTemplate() const
void SetSpotOptions(SpotOptionsT &&value)
bool PurchaseOptionHasBeenSet() const
bool NameHasBeenSet() const
ComputeNodeGroup & WithErrorInfo(ErrorInfoT &&value)
bool ArnHasBeenSet() const
void SetIamInstanceProfileArn(IamInstanceProfileArnT &&value)
bool IdHasBeenSet() const
bool SubnetIdsHasBeenSet() const
bool ScalingConfigurationHasBeenSet() const
AWS_PCS_API ComputeNodeGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_PCS_API ComputeNodeGroup(Aws::Utils::Json::JsonView jsonValue)
const ScalingConfiguration & GetScalingConfiguration() const
bool IamInstanceProfileArnHasBeenSet() const
bool AmiIdHasBeenSet() const
ComputeNodeGroup & AddErrorInfo(ErrorInfoT &&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