7#include <aws/eks/EKS_EXPORTS.h>
8#include <aws/eks/EKSRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/eks/model/NodegroupScalingConfig.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/eks/model/AMITypes.h>
13#include <aws/eks/model/RemoteAccessConfig.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/eks/model/LaunchTemplateSpecification.h>
16#include <aws/eks/model/NodegroupUpdateConfig.h>
17#include <aws/eks/model/NodeRepairConfig.h>
18#include <aws/eks/model/CapacityTypes.h>
19#include <aws/eks/model/Taint.h>
21#include <aws/core/utils/UUID.h>
52 template<
typename ClusterNameT = Aws::String>
53 void SetClusterName(ClusterNameT&& value) { m_clusterNameHasBeenSet =
true; m_clusterName = std::forward<ClusterNameT>(value); }
54 template<
typename ClusterNameT = Aws::String>
64 template<
typename NodegroupNameT = Aws::String>
65 void SetNodegroupName(NodegroupNameT&& value) { m_nodegroupNameHasBeenSet =
true; m_nodegroupName = std::forward<NodegroupNameT>(value); }
66 template<
typename NodegroupNameT = Aws::String>
77 template<
typename ScalingConfigT = NodegroupScalingConfig>
78 void SetScalingConfig(ScalingConfigT&& value) { m_scalingConfigHasBeenSet =
true; m_scalingConfig = std::forward<ScalingConfigT>(value); }
79 template<
typename ScalingConfigT = NodegroupScalingConfig>
95 inline void SetDiskSize(
int value) { m_diskSizeHasBeenSet =
true; m_diskSize = value; }
111 template<
typename SubnetsT = Aws::Vector<Aws::String>>
112 void SetSubnets(SubnetsT&& value) { m_subnetsHasBeenSet =
true; m_subnets = std::forward<SubnetsT>(value); }
113 template<
typename SubnetsT = Aws::Vector<Aws::String>>
115 template<
typename SubnetsT = Aws::String>
139 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
140 void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet =
true; m_instanceTypes = std::forward<InstanceTypesT>(value); }
141 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
143 template<
typename InstanceTypesT = Aws::String>
177 template<
typename RemoteAccessT = RemoteAccessConfig>
178 void SetRemoteAccess(RemoteAccessT&& value) { m_remoteAccessHasBeenSet =
true; m_remoteAccess = std::forward<RemoteAccessT>(value); }
179 template<
typename RemoteAccessT = RemoteAccessConfig>
202 template<
typename NodeRoleT = Aws::String>
203 void SetNodeRole(NodeRoleT&& value) { m_nodeRoleHasBeenSet =
true; m_nodeRole = std::forward<NodeRoleT>(value); }
204 template<
typename NodeRoleT = Aws::String>
215 template<
typename LabelsT = Aws::Map<Aws::String, Aws::String>>
216 void SetLabels(LabelsT&& value) { m_labelsHasBeenSet =
true; m_labels = std::forward<LabelsT>(value); }
217 template<
typename LabelsT = Aws::Map<Aws::String, Aws::String>>
219 template<
typename LabelsKeyT = Aws::String,
typename LabelsValueT = Aws::String>
221 m_labelsHasBeenSet =
true; m_labels.emplace(std::forward<LabelsKeyT>(key), std::forward<LabelsValueT>(value));
return *
this;
234 template<
typename Ta
intsT = Aws::Vector<Ta
int>>
235 void SetTaints(TaintsT&& value) { m_taintsHasBeenSet =
true; m_taints = std::forward<TaintsT>(value); }
236 template<
typename Ta
intsT = Aws::Vector<Ta
int>>
238 template<
typename Ta
intsT = Ta
int>
250 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
251 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
252 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
254 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
256 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
267 template<
typename ClientRequestTokenT = Aws::String>
268 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet =
true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
269 template<
typename ClientRequestTokenT = Aws::String>
286 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
287 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet =
true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
288 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
298 template<
typename UpdateConfigT = NodegroupUpdateConfig>
299 void SetUpdateConfig(UpdateConfigT&& value) { m_updateConfigHasBeenSet =
true; m_updateConfig = std::forward<UpdateConfigT>(value); }
300 template<
typename UpdateConfigT = NodegroupUpdateConfig>
310 template<
typename NodeRepairConfigT = NodeRepairConfig>
311 void SetNodeRepairConfig(NodeRepairConfigT&& value) { m_nodeRepairConfigHasBeenSet =
true; m_nodeRepairConfig = std::forward<NodeRepairConfigT>(value); }
312 template<
typename NodeRepairConfigT = NodeRepairConfig>
339 template<
typename VersionT = Aws::String>
340 void SetVersion(VersionT&& value) { m_versionHasBeenSet =
true; m_version = std::forward<VersionT>(value); }
341 template<
typename VersionT = Aws::String>
365 template<
typename ReleaseVersionT = Aws::String>
366 void SetReleaseVersion(ReleaseVersionT&& value) { m_releaseVersionHasBeenSet =
true; m_releaseVersion = std::forward<ReleaseVersionT>(value); }
367 template<
typename ReleaseVersionT = Aws::String>
373 bool m_clusterNameHasBeenSet =
false;
376 bool m_nodegroupNameHasBeenSet =
false;
379 bool m_scalingConfigHasBeenSet =
false;
382 bool m_diskSizeHasBeenSet =
false;
385 bool m_subnetsHasBeenSet =
false;
388 bool m_instanceTypesHasBeenSet =
false;
391 bool m_amiTypeHasBeenSet =
false;
393 RemoteAccessConfig m_remoteAccess;
394 bool m_remoteAccessHasBeenSet =
false;
397 bool m_nodeRoleHasBeenSet =
false;
400 bool m_labelsHasBeenSet =
false;
403 bool m_taintsHasBeenSet =
false;
406 bool m_tagsHasBeenSet =
false;
409 bool m_clientRequestTokenHasBeenSet =
true;
411 LaunchTemplateSpecification m_launchTemplate;
412 bool m_launchTemplateHasBeenSet =
false;
414 NodegroupUpdateConfig m_updateConfig;
415 bool m_updateConfigHasBeenSet =
false;
417 NodeRepairConfig m_nodeRepairConfig;
418 bool m_nodeRepairConfigHasBeenSet =
false;
421 bool m_capacityTypeHasBeenSet =
false;
424 bool m_versionHasBeenSet =
false;
427 bool m_releaseVersionHasBeenSet =
false;
const Aws::String & GetNodeRole() const
void SetNodegroupName(NodegroupNameT &&value)
bool UpdateConfigHasBeenSet() const
void SetLabels(LabelsT &&value)
bool SubnetsHasBeenSet() const
AWS_EKS_API CreateNodegroupRequest()=default
CreateNodegroupRequest & WithRemoteAccess(RemoteAccessT &&value)
void SetVersion(VersionT &&value)
bool VersionHasBeenSet() const
CreateNodegroupRequest & WithClusterName(ClusterNameT &&value)
CreateNodegroupRequest & WithReleaseVersion(ReleaseVersionT &&value)
CreateNodegroupRequest & WithAmiType(AMITypes value)
bool LabelsHasBeenSet() const
CreateNodegroupRequest & WithLaunchTemplate(LaunchTemplateT &&value)
CreateNodegroupRequest & AddTaints(TaintsT &&value)
void SetSubnets(SubnetsT &&value)
void SetTags(TagsT &&value)
bool ClientRequestTokenHasBeenSet() const
void SetCapacityType(CapacityTypes value)
const Aws::Vector< Aws::String > & GetSubnets() const
void SetReleaseVersion(ReleaseVersionT &&value)
CreateNodegroupRequest & WithLabels(LabelsT &&value)
bool RemoteAccessHasBeenSet() const
void SetClientRequestToken(ClientRequestTokenT &&value)
const Aws::String & GetReleaseVersion() const
void SetUpdateConfig(UpdateConfigT &&value)
void SetNodeRepairConfig(NodeRepairConfigT &&value)
bool DiskSizeHasBeenSet() const
CreateNodegroupRequest & WithTaints(TaintsT &&value)
bool AmiTypeHasBeenSet() const
bool TagsHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetLabels() const
CreateNodegroupRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetClusterName(ClusterNameT &&value)
const Aws::Vector< Taint > & GetTaints() const
CreateNodegroupRequest & WithNodeRepairConfig(NodeRepairConfigT &&value)
const Aws::Vector< Aws::String > & GetInstanceTypes() const
virtual const char * GetServiceRequestName() const override
CreateNodegroupRequest & WithUpdateConfig(UpdateConfigT &&value)
bool ReleaseVersionHasBeenSet() const
CreateNodegroupRequest & WithCapacityType(CapacityTypes value)
AMITypes GetAmiType() const
void SetScalingConfig(ScalingConfigT &&value)
bool ScalingConfigHasBeenSet() const
const Aws::String & GetClusterName() const
CapacityTypes GetCapacityType() const
void SetDiskSize(int value)
bool LaunchTemplateHasBeenSet() const
const NodegroupUpdateConfig & GetUpdateConfig() const
CreateNodegroupRequest & WithScalingConfig(ScalingConfigT &&value)
void SetRemoteAccess(RemoteAccessT &&value)
const NodeRepairConfig & GetNodeRepairConfig() const
bool TaintsHasBeenSet() const
bool NodeRoleHasBeenSet() const
const LaunchTemplateSpecification & GetLaunchTemplate() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
AWS_EKS_API Aws::String SerializePayload() const override
CreateNodegroupRequest & WithTags(TagsT &&value)
CreateNodegroupRequest & WithNodegroupName(NodegroupNameT &&value)
const Aws::String & GetNodegroupName() const
CreateNodegroupRequest & WithInstanceTypes(InstanceTypesT &&value)
void SetTaints(TaintsT &&value)
void SetLaunchTemplate(LaunchTemplateT &&value)
CreateNodegroupRequest & AddInstanceTypes(InstanceTypesT &&value)
CreateNodegroupRequest & WithSubnets(SubnetsT &&value)
const RemoteAccessConfig & GetRemoteAccess() const
const NodegroupScalingConfig & GetScalingConfig() const
const Aws::String & GetClientRequestToken() const
CreateNodegroupRequest & AddLabels(LabelsKeyT &&key, LabelsValueT &&value)
CreateNodegroupRequest & AddSubnets(SubnetsT &&value)
void SetAmiType(AMITypes value)
CreateNodegroupRequest & WithNodeRole(NodeRoleT &&value)
bool NodegroupNameHasBeenSet() const
bool NodeRepairConfigHasBeenSet() const
bool CapacityTypeHasBeenSet() const
void SetInstanceTypes(InstanceTypesT &&value)
const Aws::String & GetVersion() const
bool InstanceTypesHasBeenSet() const
CreateNodegroupRequest & WithClientRequestToken(ClientRequestTokenT &&value)
void SetNodeRole(NodeRoleT &&value)
CreateNodegroupRequest & WithVersion(VersionT &&value)
CreateNodegroupRequest & WithDiskSize(int value)
bool ClusterNameHasBeenSet() const
static Aws::Utils::UUID PseudoRandomUUID()
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector