Amazon EKS Node Groups API
Operations for managing EKS managed node groups
Operations for managing EKS managed node groups
openapi: 3.1.0
info:
title: Amazon EKS Addons Node Groups API
description: Amazon Elastic Kubernetes Service (Amazon EKS) is a managed Kubernetes service that makes it easy to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane or nodes.
version: '2017-11-01'
contact:
name: Amazon Web Services
url: https://aws.amazon.com/eks/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://eks.amazonaws.com
description: Amazon EKS API
tags:
- name: Node Groups
description: Operations for managing EKS managed node groups
paths:
/clusters/{name}/node-groups:
post:
operationId: CreateNodegroup
summary: Amazon EKS Create a Managed Node Group
description: Creates a managed node group for an Amazon EKS cluster. You can only create a node group for your cluster that is equal to the current Kubernetes version for the cluster.
tags:
- Node Groups
parameters:
- name: name
in: path
required: true
schema:
type: string
example: example-resource-name
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNodegroupRequest'
examples:
CreateNodegroupRequestExample:
summary: Default CreateNodegroup request
x-microcks-default: true
value:
nodegroupName: example-cluster-01
nodeRole: example-string
subnets:
- example-string
scalingConfig: example-string
instanceTypes:
- i-0abc123def456789
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNodegroupResponse'
examples:
CreateNodegroup200Example:
summary: Default CreateNodegroup 200 response
x-microcks-default: true
value:
nodegroup: example-cluster-01
'400':
description: Bad request
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Conflict
'429':
description: Too many requests
'500':
description: Internal server error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
operationId: ListNodegroups
summary: Amazon EKS List Managed Node Groups
description: Lists the managed node groups associated with the specified cluster.
tags:
- Node Groups
parameters:
- name: name
in: path
required: true
schema:
type: string
example: example-resource-name
- name: maxResults
in: query
schema:
type: integer
minimum: 1
maximum: 100
example: 1
- name: nextToken
in: query
schema:
type: string
example: example-string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ListNodegroupsResponse'
examples:
ListNodegroups200Example:
summary: Default ListNodegroups 200 response
x-microcks-default: true
value:
nodegroups:
- example-cluster-01
nextToken: example-string
'400':
description: Bad request
'403':
description: Forbidden
'404':
description: Not found
'429':
description: Too many requests
'500':
description: Internal server error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/clusters/{name}/node-groups/{nodegroupName}:
get:
operationId: DescribeNodegroup
summary: Amazon EKS Describe a Managed Node Group
description: Returns descriptive information about a managed node group.
tags:
- Node Groups
parameters:
- name: name
in: path
required: true
schema:
type: string
example: example-resource-name
- name: nodegroupName
in: path
required: true
schema:
type: string
example: example-cluster-01
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeNodegroupResponse'
examples:
DescribeNodegroup200Example:
summary: Default DescribeNodegroup 200 response
x-microcks-default: true
value:
nodegroup: example-cluster-01
'400':
description: Bad request
'403':
description: Forbidden
'404':
description: Not found
'429':
description: Too many requests
'500':
description: Internal server error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: DeleteNodegroup
summary: Amazon EKS Delete a Managed Node Group
description: Deletes an Amazon EKS managed node group for a cluster.
tags:
- Node Groups
parameters:
- name: name
in: path
required: true
schema:
type: string
example: example-resource-name
- name: nodegroupName
in: path
required: true
schema:
type: string
example: example-cluster-01
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteNodegroupResponse'
examples:
DeleteNodegroup200Example:
summary: Default DeleteNodegroup 200 response
x-microcks-default: true
value:
nodegroup: example-cluster-01
'400':
description: Bad request
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Conflict
'429':
description: Too many requests
'500':
description: Internal server error
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
CreateNodegroupRequest:
type: object
required:
- nodegroupName
- nodeRole
- subnets
properties:
nodegroupName:
type: string
example: example-cluster-01
nodeRole:
type: string
example: example-string
subnets:
type: array
items:
type: string
example:
- example-string
scalingConfig:
$ref: '#/components/schemas/NodegroupScalingConfig'
instanceTypes:
type: array
items:
type: string
example:
- i-0abc123def456789
amiType:
type: string
example: ami-0abc123def456789
capacityType:
type: string
enum:
- ON_DEMAND
- SPOT
example: ON_DEMAND
labels:
type: object
additionalProperties:
type: string
example: {}
tags:
type: object
additionalProperties:
type: string
example: {}
DeleteNodegroupResponse:
type: object
properties:
nodegroup:
$ref: '#/components/schemas/Nodegroup'
CreateNodegroupResponse:
type: object
properties:
nodegroup:
$ref: '#/components/schemas/Nodegroup'
NodegroupScalingConfig:
type: object
properties:
minSize:
type: integer
description: The minimum number of nodes.
example: 1
maxSize:
type: integer
description: The maximum number of nodes.
example: 1
desiredSize:
type: integer
description: The current number of nodes.
example: 1
ListNodegroupsResponse:
type: object
properties:
nodegroups:
type: array
items:
type: string
example:
- example-cluster-01
nextToken:
type: string
example: example-string
DescribeNodegroupResponse:
type: object
properties:
nodegroup:
$ref: '#/components/schemas/Nodegroup'
Nodegroup:
type: object
properties:
nodegroupName:
type: string
description: The name of the managed node group.
example: example-cluster-01
nodegroupArn:
type: string
description: The Amazon Resource Name (ARN) of the managed node group.
example: arn:aws:service:us-east-1:123456789012:resource/example
clusterName:
type: string
description: The name of the cluster the node group is associated with.
example: example-cluster-01
version:
type: string
description: The Kubernetes version of the managed node group.
example: 5.0.0
releaseVersion:
type: string
description: The AMI version of the managed node group.
example: 5.0.0
status:
type: string
enum:
- CREATING
- ACTIVE
- UPDATING
- DELETING
- CREATE_FAILED
- DELETE_FAILED
- DEGRADED
description: The current status of the managed node group.
example: CREATING
capacityType:
type: string
enum:
- ON_DEMAND
- SPOT
description: The capacity type of the managed node group.
example: ON_DEMAND
scalingConfig:
$ref: '#/components/schemas/NodegroupScalingConfig'
instanceTypes:
type: array
items:
type: string
description: The instance types associated with the managed node group.
example:
- i-0abc123def456789
subnets:
type: array
items:
type: string
description: The subnets that were specified for the Auto Scaling group.
example:
- example-string
amiType:
type: string
enum:
- AL2_x86_64
- AL2_x86_64_GPU
- AL2_ARM_64
- BOTTLEROCKET_ARM_64
- BOTTLEROCKET_x86_64
description: The AMI type associated with the managed node group.
example: AL2_x86_64
nodeRole:
type: string
description: The IAM role associated with the managed node group.
example: example-string
labels:
type: object
additionalProperties:
type: string
description: The Kubernetes labels applied to the nodes in the node group.
example: {}
tags:
type: object
additionalProperties:
type: string
description: Metadata that assists with categorization and organization.
example: {}
createdAt:
type: string
format: date-time
description: The Unix epoch timestamp at object creation.
example: '2025-03-15T14:30:00Z'
modifiedAt:
type: string
format: date-time
description: The Unix epoch timestamp for the last modification.
example: '2025-03-15T14:30:00Z'