updateNodegroupConfig method

Future<UpdateNodegroupConfigResponse> updateNodegroupConfig({
  1. required String clusterName,
  2. required String nodegroupName,
  3. String? clientRequestToken,
  4. UpdateLabelsPayload? labels,
  5. NodeRepairConfig? nodeRepairConfig,
  6. NodegroupScalingConfig? scalingConfig,
  7. UpdateTaintsPayload? taints,
  8. NodegroupUpdateConfig? updateConfig,
  9. WarmPoolConfig? warmPoolConfig,
})

Updates an Amazon EKS managed node group configuration. Your node group continues to function during the update. The response output includes an update ID that you can use to track the status of your node group update with the DescribeUpdate API operation. You can update the Kubernetes labels and taints for a node group and the scaling and version update configuration.

May throw ClientException. May throw InvalidParameterException. May throw InvalidRequestException. May throw ResourceInUseException. May throw ResourceNotFoundException. May throw ServerException.

Parameter clusterName : The name of your cluster.

Parameter nodegroupName : The name of the managed node group to update.

Parameter clientRequestToken : A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

Parameter labels : The Kubernetes labels to apply to the nodes in the node group after the update.

Parameter nodeRepairConfig : The node auto repair configuration for the node group.

Parameter scalingConfig : The scaling configuration details for the Auto Scaling group after the update.

Parameter taints : The Kubernetes taints to be applied to the nodes in the node group after the update. For more information, see Node taints on managed node groups.

Parameter updateConfig : The node group update configuration.

Parameter warmPoolConfig : The warm pool configuration to apply to the node group. You can use this to add a warm pool to an existing node group or modify the settings of an existing warm pool.

Implementation

Future<UpdateNodegroupConfigResponse> updateNodegroupConfig({
  required String clusterName,
  required String nodegroupName,
  String? clientRequestToken,
  UpdateLabelsPayload? labels,
  NodeRepairConfig? nodeRepairConfig,
  NodegroupScalingConfig? scalingConfig,
  UpdateTaintsPayload? taints,
  NodegroupUpdateConfig? updateConfig,
  WarmPoolConfig? warmPoolConfig,
}) async {
  final $payload = <String, dynamic>{
    'clientRequestToken': clientRequestToken ?? _s.generateIdempotencyToken(),
    if (labels != null) 'labels': labels,
    if (nodeRepairConfig != null) 'nodeRepairConfig': nodeRepairConfig,
    if (scalingConfig != null) 'scalingConfig': scalingConfig,
    if (taints != null) 'taints': taints,
    if (updateConfig != null) 'updateConfig': updateConfig,
    if (warmPoolConfig != null) 'warmPoolConfig': warmPoolConfig,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/clusters/${Uri.encodeComponent(clusterName)}/node-groups/${Uri.encodeComponent(nodegroupName)}/update-config',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateNodegroupConfigResponse.fromJson(response);
}