7#include <aws/eks/EKS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/eks/model/NodegroupStatus.h>
11#include <aws/eks/model/CapacityTypes.h>
12#include <aws/eks/model/NodegroupScalingConfig.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/eks/model/RemoteAccessConfig.h>
15#include <aws/eks/model/AMITypes.h>
16#include <aws/core/utils/memory/stl/AWSMap.h>
17#include <aws/eks/model/NodegroupResources.h>
18#include <aws/eks/model/NodegroupHealth.h>
19#include <aws/eks/model/NodegroupUpdateConfig.h>
20#include <aws/eks/model/NodeRepairConfig.h>
21#include <aws/eks/model/LaunchTemplateSpecification.h>
22#include <aws/eks/model/Taint.h>
61 template<
typename NodegroupNameT = Aws::String>
62 void SetNodegroupName(NodegroupNameT&& value) { m_nodegroupNameHasBeenSet =
true; m_nodegroupName = std::forward<NodegroupNameT>(value); }
63 template<
typename NodegroupNameT = Aws::String>
73 template<
typename NodegroupArnT = Aws::String>
74 void SetNodegroupArn(NodegroupArnT&& value) { m_nodegroupArnHasBeenSet =
true; m_nodegroupArn = std::forward<NodegroupArnT>(value); }
75 template<
typename NodegroupArnT = Aws::String>
85 template<
typename ClusterNameT = Aws::String>
86 void SetClusterName(ClusterNameT&& value) { m_clusterNameHasBeenSet =
true; m_clusterName = std::forward<ClusterNameT>(value); }
87 template<
typename ClusterNameT = Aws::String>
97 template<
typename VersionT = Aws::String>
98 void SetVersion(VersionT&& value) { m_versionHasBeenSet =
true; m_version = std::forward<VersionT>(value); }
99 template<
typename VersionT = Aws::String>
112 template<
typename ReleaseVersionT = Aws::String>
113 void SetReleaseVersion(ReleaseVersionT&& value) { m_releaseVersionHasBeenSet =
true; m_releaseVersion = std::forward<ReleaseVersionT>(value); }
114 template<
typename ReleaseVersionT = Aws::String>
124 template<
typename CreatedAtT = Aws::Utils::DateTime>
125 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
126 template<
typename CreatedAtT = Aws::Utils::DateTime>
136 template<
typename ModifiedAtT = Aws::Utils::DateTime>
137 void SetModifiedAt(ModifiedAtT&& value) { m_modifiedAtHasBeenSet =
true; m_modifiedAt = std::forward<ModifiedAtT>(value); }
138 template<
typename ModifiedAtT = Aws::Utils::DateTime>
169 template<
typename ScalingConfigT = NodegroupScalingConfig>
170 void SetScalingConfig(ScalingConfigT&& value) { m_scalingConfigHasBeenSet =
true; m_scalingConfig = std::forward<ScalingConfigT>(value); }
171 template<
typename ScalingConfigT = NodegroupScalingConfig>
183 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
184 void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet =
true; m_instanceTypes = std::forward<InstanceTypesT>(value); }
185 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
187 template<
typename InstanceTypesT = Aws::String>
188 Nodegroup&
AddInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet =
true; m_instanceTypes.emplace_back(std::forward<InstanceTypesT>(value));
return *
this; }
198 template<
typename SubnetsT = Aws::Vector<Aws::String>>
199 void SetSubnets(SubnetsT&& value) { m_subnetsHasBeenSet =
true; m_subnets = std::forward<SubnetsT>(value); }
200 template<
typename SubnetsT = Aws::Vector<Aws::String>>
202 template<
typename SubnetsT = Aws::String>
203 Nodegroup&
AddSubnets(SubnetsT&& value) { m_subnetsHasBeenSet =
true; m_subnets.emplace_back(std::forward<SubnetsT>(value));
return *
this; }
214 template<
typename RemoteAccessT = RemoteAccessConfig>
215 void SetRemoteAccess(RemoteAccessT&& value) { m_remoteAccessHasBeenSet =
true; m_remoteAccess = std::forward<RemoteAccessT>(value); }
216 template<
typename RemoteAccessT = RemoteAccessConfig>
242 template<
typename NodeRoleT = Aws::String>
243 void SetNodeRole(NodeRoleT&& value) { m_nodeRoleHasBeenSet =
true; m_nodeRole = std::forward<NodeRoleT>(value); }
244 template<
typename NodeRoleT = Aws::String>
257 template<
typename LabelsT = Aws::Map<Aws::String, Aws::String>>
258 void SetLabels(LabelsT&& value) { m_labelsHasBeenSet =
true; m_labels = std::forward<LabelsT>(value); }
259 template<
typename LabelsT = Aws::Map<Aws::String, Aws::String>>
261 template<
typename LabelsKeyT = Aws::String,
typename LabelsValueT = Aws::String>
263 m_labelsHasBeenSet =
true; m_labels.emplace(std::forward<LabelsKeyT>(key), std::forward<LabelsValueT>(value));
return *
this;
279 template<
typename Ta
intsT = Aws::Vector<Ta
int>>
280 void SetTaints(TaintsT&& value) { m_taintsHasBeenSet =
true; m_taints = std::forward<TaintsT>(value); }
281 template<
typename Ta
intsT = Aws::Vector<Ta
int>>
283 template<
typename Ta
intsT = Ta
int>
284 Nodegroup&
AddTaints(TaintsT&& value) { m_taintsHasBeenSet =
true; m_taints.emplace_back(std::forward<TaintsT>(value));
return *
this; }
294 template<
typename ResourcesT = NodegroupResources>
295 void SetResources(ResourcesT&& value) { m_resourcesHasBeenSet =
true; m_resources = std::forward<ResourcesT>(value); }
296 template<
typename ResourcesT = NodegroupResources>
308 inline void SetDiskSize(
int value) { m_diskSizeHasBeenSet =
true; m_diskSize = value; }
319 template<
typename HealthT = NodegroupHealth>
320 void SetHealth(HealthT&& value) { m_healthHasBeenSet =
true; m_health = std::forward<HealthT>(value); }
321 template<
typename HealthT = NodegroupHealth>
331 template<
typename UpdateConfigT = NodegroupUpdateConfig>
332 void SetUpdateConfig(UpdateConfigT&& value) { m_updateConfigHasBeenSet =
true; m_updateConfig = std::forward<UpdateConfigT>(value); }
333 template<
typename UpdateConfigT = NodegroupUpdateConfig>
343 template<
typename NodeRepairConfigT = NodeRepairConfig>
344 void SetNodeRepairConfig(NodeRepairConfigT&& value) { m_nodeRepairConfigHasBeenSet =
true; m_nodeRepairConfig = std::forward<NodeRepairConfigT>(value); }
345 template<
typename NodeRepairConfigT = NodeRepairConfig>
356 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
357 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet =
true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
358 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
370 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
371 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
372 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
374 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
376 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
382 bool m_nodegroupNameHasBeenSet =
false;
385 bool m_nodegroupArnHasBeenSet =
false;
388 bool m_clusterNameHasBeenSet =
false;
391 bool m_versionHasBeenSet =
false;
394 bool m_releaseVersionHasBeenSet =
false;
397 bool m_createdAtHasBeenSet =
false;
400 bool m_modifiedAtHasBeenSet =
false;
403 bool m_statusHasBeenSet =
false;
406 bool m_capacityTypeHasBeenSet =
false;
408 NodegroupScalingConfig m_scalingConfig;
409 bool m_scalingConfigHasBeenSet =
false;
412 bool m_instanceTypesHasBeenSet =
false;
415 bool m_subnetsHasBeenSet =
false;
417 RemoteAccessConfig m_remoteAccess;
418 bool m_remoteAccessHasBeenSet =
false;
421 bool m_amiTypeHasBeenSet =
false;
424 bool m_nodeRoleHasBeenSet =
false;
427 bool m_labelsHasBeenSet =
false;
430 bool m_taintsHasBeenSet =
false;
432 NodegroupResources m_resources;
433 bool m_resourcesHasBeenSet =
false;
436 bool m_diskSizeHasBeenSet =
false;
438 NodegroupHealth m_health;
439 bool m_healthHasBeenSet =
false;
441 NodegroupUpdateConfig m_updateConfig;
442 bool m_updateConfigHasBeenSet =
false;
444 NodeRepairConfig m_nodeRepairConfig;
445 bool m_nodeRepairConfigHasBeenSet =
false;
447 LaunchTemplateSpecification m_launchTemplate;
448 bool m_launchTemplateHasBeenSet =
false;
451 bool m_tagsHasBeenSet =
false;
void SetLabels(LabelsT &&value)
void SetTags(TagsT &&value)
Nodegroup & WithNodeRole(NodeRoleT &&value)
AMITypes GetAmiType() const
bool LaunchTemplateHasBeenSet() const
const NodegroupScalingConfig & GetScalingConfig() const
void SetLaunchTemplate(LaunchTemplateT &&value)
Nodegroup & WithAmiType(AMITypes value)
Nodegroup & WithNodegroupArn(NodegroupArnT &&value)
Nodegroup & WithCreatedAt(CreatedAtT &&value)
bool CreatedAtHasBeenSet() const
bool TaintsHasBeenSet() const
Nodegroup & WithDiskSize(int value)
bool RemoteAccessHasBeenSet() const
void SetHealth(HealthT &&value)
bool TagsHasBeenSet() const
void SetScalingConfig(ScalingConfigT &&value)
const Aws::Map< Aws::String, Aws::String > & GetLabels() const
const Aws::String & GetNodeRole() const
Nodegroup & WithScalingConfig(ScalingConfigT &&value)
Nodegroup & WithClusterName(ClusterNameT &&value)
const NodegroupHealth & GetHealth() const
void SetClusterName(ClusterNameT &&value)
void SetTaints(TaintsT &&value)
bool NodegroupNameHasBeenSet() const
void SetVersion(VersionT &&value)
void SetResources(ResourcesT &&value)
void SetNodegroupArn(NodegroupArnT &&value)
Nodegroup & WithVersion(VersionT &&value)
const Aws::Vector< Aws::String > & GetSubnets() const
void SetCreatedAt(CreatedAtT &&value)
void SetReleaseVersion(ReleaseVersionT &&value)
bool CapacityTypeHasBeenSet() const
NodegroupStatus GetStatus() const
void SetCapacityType(CapacityTypes value)
Nodegroup & WithModifiedAt(ModifiedAtT &&value)
const Aws::String & GetNodegroupName() const
bool StatusHasBeenSet() const
bool NodeRepairConfigHasBeenSet() const
Nodegroup & WithReleaseVersion(ReleaseVersionT &&value)
const Aws::Utils::DateTime & GetModifiedAt() const
Nodegroup & WithNodegroupName(NodegroupNameT &&value)
Nodegroup & WithHealth(HealthT &&value)
void SetAmiType(AMITypes value)
bool NodeRoleHasBeenSet() const
void SetModifiedAt(ModifiedAtT &&value)
const NodegroupResources & GetResources() const
Nodegroup & WithSubnets(SubnetsT &&value)
void SetNodegroupName(NodegroupNameT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
bool LabelsHasBeenSet() const
void SetRemoteAccess(RemoteAccessT &&value)
Nodegroup & AddSubnets(SubnetsT &&value)
bool ScalingConfigHasBeenSet() const
void SetDiskSize(int value)
AWS_EKS_API Nodegroup(Aws::Utils::Json::JsonView jsonValue)
AWS_EKS_API Nodegroup & operator=(Aws::Utils::Json::JsonView jsonValue)
Nodegroup & WithLabels(LabelsT &&value)
void SetSubnets(SubnetsT &&value)
Nodegroup & WithRemoteAccess(RemoteAccessT &&value)
Nodegroup & WithInstanceTypes(InstanceTypesT &&value)
bool ModifiedAtHasBeenSet() const
AWS_EKS_API Nodegroup()=default
bool AmiTypeHasBeenSet() const
const Aws::Vector< Aws::String > & GetInstanceTypes() const
Nodegroup & WithTags(TagsT &&value)
const Aws::String & GetReleaseVersion() const
Nodegroup & AddTags(TagsKeyT &&key, TagsValueT &&value)
Nodegroup & AddTaints(TaintsT &&value)
Nodegroup & WithUpdateConfig(UpdateConfigT &&value)
const NodeRepairConfig & GetNodeRepairConfig() const
const RemoteAccessConfig & GetRemoteAccess() const
const Aws::String & GetNodegroupArn() const
bool SubnetsHasBeenSet() const
const Aws::String & GetVersion() const
bool UpdateConfigHasBeenSet() const
CapacityTypes GetCapacityType() const
bool HealthHasBeenSet() const
AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const
bool ReleaseVersionHasBeenSet() const
bool DiskSizeHasBeenSet() const
bool InstanceTypesHasBeenSet() const
Nodegroup & WithStatus(NodegroupStatus value)
Nodegroup & WithLaunchTemplate(LaunchTemplateT &&value)
Nodegroup & WithTaints(TaintsT &&value)
bool NodegroupArnHasBeenSet() const
const Aws::String & GetClusterName() const
void SetStatus(NodegroupStatus value)
const Aws::Vector< Taint > & GetTaints() const
Nodegroup & AddInstanceTypes(InstanceTypesT &&value)
void SetInstanceTypes(InstanceTypesT &&value)
bool ResourcesHasBeenSet() const
Nodegroup & WithNodeRepairConfig(NodeRepairConfigT &&value)
void SetNodeRole(NodeRoleT &&value)
void SetUpdateConfig(UpdateConfigT &&value)
const NodegroupUpdateConfig & GetUpdateConfig() const
void SetNodeRepairConfig(NodeRepairConfigT &&value)
Nodegroup & WithResources(ResourcesT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
Nodegroup & WithCapacityType(CapacityTypes value)
bool VersionHasBeenSet() const
const Aws::Utils::DateTime & GetCreatedAt() const
Nodegroup & AddLabels(LabelsKeyT &&key, LabelsValueT &&value)
bool ClusterNameHasBeenSet() const
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
Aws::Utils::Json::JsonValue JsonValue