From 81d94a2b5ced1bdac4ab101b40f5f380f8de384f Mon Sep 17 00:00:00 2001
From: awstools
Date: Mon, 23 Dec 2024 19:20:52 +0000
Subject: [PATCH] feat(client-eks): This release adds support for
DescribeClusterVersions API that provides important information about
Kubernetes versions along with end of support dates
---
clients/client-eks/README.md | 8 +
clients/client-eks/src/EKS.ts | 24 ++
clients/client-eks/src/EKSClient.ts | 6 +
.../DescribeClusterVersionsCommand.ts | 124 ++++++++++
clients/client-eks/src/commands/index.ts | 1 +
clients/client-eks/src/models/models_0.ts | 146 +++++++++++-
.../DescribeClusterVersionsPaginator.ts | 24 ++
clients/client-eks/src/pagination/index.ts | 2 +
.../client-eks/src/protocols/Aws_restJson1.ts | 85 +++++++
codegen/sdk-codegen/aws-models/eks.json | 221 +++++++++++++++++-
10 files changed, 634 insertions(+), 7 deletions(-)
create mode 100644 clients/client-eks/src/commands/DescribeClusterVersionsCommand.ts
create mode 100644 clients/client-eks/src/pagination/DescribeClusterVersionsPaginator.ts
diff --git a/clients/client-eks/README.md b/clients/client-eks/README.md
index 51eee5ef4c561..9ca6f0cfba424 100644
--- a/clients/client-eks/README.md
+++ b/clients/client-eks/README.md
@@ -394,6 +394,14 @@ DescribeCluster
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/eks/command/DescribeClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-eks/Interface/DescribeClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-eks/Interface/DescribeClusterCommandOutput/)
+
+
+
+DescribeClusterVersions
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/eks/command/DescribeClusterVersionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-eks/Interface/DescribeClusterVersionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-eks/Interface/DescribeClusterVersionsCommandOutput/)
+
diff --git a/clients/client-eks/src/EKS.ts b/clients/client-eks/src/EKS.ts
index 1bbe4e9270239..4e6cca1499629 100644
--- a/clients/client-eks/src/EKS.ts
+++ b/clients/client-eks/src/EKS.ts
@@ -109,6 +109,11 @@ import {
DescribeClusterCommandInput,
DescribeClusterCommandOutput,
} from "./commands/DescribeClusterCommand";
+import {
+ DescribeClusterVersionsCommand,
+ DescribeClusterVersionsCommandInput,
+ DescribeClusterVersionsCommandOutput,
+} from "./commands/DescribeClusterVersionsCommand";
import {
DescribeEksAnywhereSubscriptionCommand,
DescribeEksAnywhereSubscriptionCommandInput,
@@ -284,6 +289,7 @@ const commands = {
DescribeAddonConfigurationCommand,
DescribeAddonVersionsCommand,
DescribeClusterCommand,
+ DescribeClusterVersionsCommand,
DescribeEksAnywhereSubscriptionCommand,
DescribeFargateProfileCommand,
DescribeIdentityProviderConfigCommand,
@@ -673,6 +679,24 @@ export interface EKS {
cb: (err: any, data?: DescribeClusterCommandOutput) => void
): void;
+ /**
+ * @see {@link DescribeClusterVersionsCommand}
+ */
+ describeClusterVersions(): Promise;
+ describeClusterVersions(
+ args: DescribeClusterVersionsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ describeClusterVersions(
+ args: DescribeClusterVersionsCommandInput,
+ cb: (err: any, data?: DescribeClusterVersionsCommandOutput) => void
+ ): void;
+ describeClusterVersions(
+ args: DescribeClusterVersionsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DescribeClusterVersionsCommandOutput) => void
+ ): void;
+
/**
* @see {@link DescribeEksAnywhereSubscriptionCommand}
*/
diff --git a/clients/client-eks/src/EKSClient.ts b/clients/client-eks/src/EKSClient.ts
index bb4b62df62e65..529ff15184e79 100644
--- a/clients/client-eks/src/EKSClient.ts
+++ b/clients/client-eks/src/EKSClient.ts
@@ -112,6 +112,10 @@ import {
DescribeAddonVersionsCommandOutput,
} from "./commands/DescribeAddonVersionsCommand";
import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "./commands/DescribeClusterCommand";
+import {
+ DescribeClusterVersionsCommandInput,
+ DescribeClusterVersionsCommandOutput,
+} from "./commands/DescribeClusterVersionsCommand";
import {
DescribeEksAnywhereSubscriptionCommandInput,
DescribeEksAnywhereSubscriptionCommandOutput,
@@ -237,6 +241,7 @@ export type ServiceInputTypes =
| DescribeAddonConfigurationCommandInput
| DescribeAddonVersionsCommandInput
| DescribeClusterCommandInput
+ | DescribeClusterVersionsCommandInput
| DescribeEksAnywhereSubscriptionCommandInput
| DescribeFargateProfileCommandInput
| DescribeIdentityProviderConfigCommandInput
@@ -298,6 +303,7 @@ export type ServiceOutputTypes =
| DescribeAddonConfigurationCommandOutput
| DescribeAddonVersionsCommandOutput
| DescribeClusterCommandOutput
+ | DescribeClusterVersionsCommandOutput
| DescribeEksAnywhereSubscriptionCommandOutput
| DescribeFargateProfileCommandOutput
| DescribeIdentityProviderConfigCommandOutput
diff --git a/clients/client-eks/src/commands/DescribeClusterVersionsCommand.ts b/clients/client-eks/src/commands/DescribeClusterVersionsCommand.ts
new file mode 100644
index 0000000000000..d9a1b5726e435
--- /dev/null
+++ b/clients/client-eks/src/commands/DescribeClusterVersionsCommand.ts
@@ -0,0 +1,124 @@
+// smithy-typescript generated code
+import { getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { Command as $Command } from "@smithy/smithy-client";
+import { MetadataBearer as __MetadataBearer } from "@smithy/types";
+
+import { EKSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EKSClient";
+import { commonParams } from "../endpoint/EndpointParameters";
+import { DescribeClusterVersionsRequest, DescribeClusterVersionsResponse } from "../models/models_0";
+import { de_DescribeClusterVersionsCommand, se_DescribeClusterVersionsCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export type { __MetadataBearer };
+export { $Command };
+/**
+ * @public
+ *
+ * The input for {@link DescribeClusterVersionsCommand}.
+ */
+export interface DescribeClusterVersionsCommandInput extends DescribeClusterVersionsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DescribeClusterVersionsCommand}.
+ */
+export interface DescribeClusterVersionsCommandOutput extends DescribeClusterVersionsResponse, __MetadataBearer {}
+
+/**
+ * Lists available Kubernetes versions for Amazon EKS clusters.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { EKSClient, DescribeClusterVersionsCommand } from "@aws-sdk/client-eks"; // ES Modules import
+ * // const { EKSClient, DescribeClusterVersionsCommand } = require("@aws-sdk/client-eks"); // CommonJS import
+ * const client = new EKSClient(config);
+ * const input = { // DescribeClusterVersionsRequest
+ * clusterType: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * nextToken: "STRING_VALUE",
+ * defaultOnly: true || false,
+ * includeAll: true || false,
+ * clusterVersions: [ // StringList
+ * "STRING_VALUE",
+ * ],
+ * status: "unsupported" || "standard-support" || "extended-support",
+ * };
+ * const command = new DescribeClusterVersionsCommand(input);
+ * const response = await client.send(command);
+ * // { // DescribeClusterVersionsResponse
+ * // nextToken: "STRING_VALUE",
+ * // clusterVersions: [ // ClusterVersionList
+ * // { // ClusterVersionInformation
+ * // clusterVersion: "STRING_VALUE",
+ * // clusterType: "STRING_VALUE",
+ * // defaultPlatformVersion: "STRING_VALUE",
+ * // defaultVersion: true || false,
+ * // releaseDate: new Date("TIMESTAMP"),
+ * // endOfStandardSupportDate: new Date("TIMESTAMP"),
+ * // endOfExtendedSupportDate: new Date("TIMESTAMP"),
+ * // status: "unsupported" || "standard-support" || "extended-support",
+ * // kubernetesPatchVersion: "STRING_VALUE",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param DescribeClusterVersionsCommandInput - {@link DescribeClusterVersionsCommandInput}
+ * @returns {@link DescribeClusterVersionsCommandOutput}
+ * @see {@link DescribeClusterVersionsCommandInput} for command's `input` shape.
+ * @see {@link DescribeClusterVersionsCommandOutput} for command's `response` shape.
+ * @see {@link EKSClientResolvedConfig | config} for EKSClient's `config` shape.
+ *
+ * @throws {@link InvalidParameterException} (client fault)
+ * The specified parameter is invalid. Review the available parameters for the API
+ * request.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * The request is invalid given the state of the cluster. Check the state of the cluster
+ * and the associated operations.
+ *
+ * @throws {@link ServerException} (server fault)
+ * These errors are usually caused by a server-side issue.
+ *
+ * @throws {@link EKSServiceException}
+ * Base exception class for all service exceptions from EKS service.
+ *
+ * @public
+ */
+export class DescribeClusterVersionsCommand extends $Command
+ .classBuilder<
+ DescribeClusterVersionsCommandInput,
+ DescribeClusterVersionsCommandOutput,
+ EKSClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes
+ >()
+ .ep(commonParams)
+ .m(function (this: any, Command: any, cs: any, config: EKSClientResolvedConfig, o: any) {
+ return [
+ getSerdePlugin(config, this.serialize, this.deserialize),
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
+ ];
+ })
+ .s("AWSWesleyFrontend", "DescribeClusterVersions", {})
+ .n("EKSClient", "DescribeClusterVersionsCommand")
+ .f(void 0, void 0)
+ .ser(se_DescribeClusterVersionsCommand)
+ .de(de_DescribeClusterVersionsCommand)
+ .build() {
+ /** @internal type navigation helper, not in runtime. */
+ protected declare static __types: {
+ api: {
+ input: DescribeClusterVersionsRequest;
+ output: DescribeClusterVersionsResponse;
+ };
+ sdk: {
+ input: DescribeClusterVersionsCommandInput;
+ output: DescribeClusterVersionsCommandOutput;
+ };
+ };
+}
diff --git a/clients/client-eks/src/commands/index.ts b/clients/client-eks/src/commands/index.ts
index fb49c37ed552d..fa5dfe3e5344e 100644
--- a/clients/client-eks/src/commands/index.ts
+++ b/clients/client-eks/src/commands/index.ts
@@ -22,6 +22,7 @@ export * from "./DescribeAddonCommand";
export * from "./DescribeAddonConfigurationCommand";
export * from "./DescribeAddonVersionsCommand";
export * from "./DescribeClusterCommand";
+export * from "./DescribeClusterVersionsCommand";
export * from "./DescribeEksAnywhereSubscriptionCommand";
export * from "./DescribeFargateProfileCommand";
export * from "./DescribeIdentityProviderConfigCommand";
diff --git a/clients/client-eks/src/models/models_0.ts b/clients/client-eks/src/models/models_0.ts
index cddd0830e3670..e9604f3bc4221 100644
--- a/clients/client-eks/src/models/models_0.ts
+++ b/clients/client-eks/src/models/models_0.ts
@@ -397,8 +397,7 @@ export interface Addon {
}
/**
- * The summary information about the Amazon EKS add-on compatibility for the next Kubernetes
- * version for an insight check in the UPGRADE_READINESS
category.
+ * Contains compatibility information for an Amazon EKS add-on.
* @public
*/
export interface AddonCompatibilityDetail {
@@ -409,7 +408,7 @@ export interface AddonCompatibilityDetail {
name?: string | undefined;
/**
- * The list of compatible Amazon EKS add-on versions for the next Kubernetes version.
+ * A list of compatible add-on versions.
* @public
*/
compatibleVersions?: string[] | undefined;
@@ -4980,6 +4979,145 @@ export interface DescribeClusterResponse {
cluster?: Cluster | undefined;
}
+/**
+ * @public
+ * @enum
+ */
+export const ClusterVersionStatus = {
+ extended_support: "extended-support",
+ standard_support: "standard-support",
+ unsupported: "unsupported",
+} as const;
+
+/**
+ * @public
+ */
+export type ClusterVersionStatus = (typeof ClusterVersionStatus)[keyof typeof ClusterVersionStatus];
+
+/**
+ * @public
+ */
+export interface DescribeClusterVersionsRequest {
+ /**
+ * The type of cluster to filter versions by.
+ * @public
+ */
+ clusterType?: string | undefined;
+
+ /**
+ * Maximum number of results to return.
+ * @public
+ */
+ maxResults?: number | undefined;
+
+ /**
+ * Pagination token for the next set of results.
+ * @public
+ */
+ nextToken?: string | undefined;
+
+ /**
+ * Filter to show only default versions.
+ * @public
+ */
+ defaultOnly?: boolean | undefined;
+
+ /**
+ * Include all available versions in the response.
+ * @public
+ */
+ includeAll?: boolean | undefined;
+
+ /**
+ * List of specific cluster versions to describe.
+ * @public
+ */
+ clusterVersions?: string[] | undefined;
+
+ /**
+ * Filter versions by their current status.
+ * @public
+ */
+ status?: ClusterVersionStatus | undefined;
+}
+
+/**
+ * Contains details about a specific EKS cluster version.
+ * @public
+ */
+export interface ClusterVersionInformation {
+ /**
+ * The Kubernetes version for the cluster.
+ * @public
+ */
+ clusterVersion?: string | undefined;
+
+ /**
+ * The type of cluster this version is for.
+ * @public
+ */
+ clusterType?: string | undefined;
+
+ /**
+ * Default platform version for this Kubernetes version.
+ * @public
+ */
+ defaultPlatformVersion?: string | undefined;
+
+ /**
+ * Indicates if this is a default version.
+ * @public
+ */
+ defaultVersion?: boolean | undefined;
+
+ /**
+ * The release date of this cluster version.
+ * @public
+ */
+ releaseDate?: Date | undefined;
+
+ /**
+ * Date when standard support ends for this version.
+ * @public
+ */
+ endOfStandardSupportDate?: Date | undefined;
+
+ /**
+ * Date when extended support ends for this version.
+ * @public
+ */
+ endOfExtendedSupportDate?: Date | undefined;
+
+ /**
+ * Current status of this cluster version.
+ * @public
+ */
+ status?: ClusterVersionStatus | undefined;
+
+ /**
+ * The patch version of Kubernetes for this cluster version.
+ * @public
+ */
+ kubernetesPatchVersion?: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface DescribeClusterVersionsResponse {
+ /**
+ * Pagination token for the next set of results.
+ * @public
+ */
+ nextToken?: string | undefined;
+
+ /**
+ * List of cluster version information objects.
+ * @public
+ */
+ clusterVersions?: ClusterVersionInformation[] | undefined;
+}
+
/**
* @public
*/
@@ -5302,7 +5440,7 @@ export interface InsightCategorySpecificSummary {
deprecationDetails?: DeprecationDetail[] | undefined;
/**
- * A list of AddonCompatibilityDetail
objects for Amazon EKS add-ons.
+ * A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.
* @public
*/
addonCompatibilityDetails?: AddonCompatibilityDetail[] | undefined;
diff --git a/clients/client-eks/src/pagination/DescribeClusterVersionsPaginator.ts b/clients/client-eks/src/pagination/DescribeClusterVersionsPaginator.ts
new file mode 100644
index 0000000000000..695d2072f968c
--- /dev/null
+++ b/clients/client-eks/src/pagination/DescribeClusterVersionsPaginator.ts
@@ -0,0 +1,24 @@
+// smithy-typescript generated code
+import { createPaginator } from "@smithy/core";
+import { Paginator } from "@smithy/types";
+
+import {
+ DescribeClusterVersionsCommand,
+ DescribeClusterVersionsCommandInput,
+ DescribeClusterVersionsCommandOutput,
+} from "../commands/DescribeClusterVersionsCommand";
+import { EKSClient } from "../EKSClient";
+import { EKSPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @public
+ */
+export const paginateDescribeClusterVersions: (
+ config: EKSPaginationConfiguration,
+ input: DescribeClusterVersionsCommandInput,
+ ...rest: any[]
+) => Paginator = createPaginator<
+ EKSPaginationConfiguration,
+ DescribeClusterVersionsCommandInput,
+ DescribeClusterVersionsCommandOutput
+>(EKSClient, DescribeClusterVersionsCommand, "nextToken", "nextToken", "maxResults");
diff --git a/clients/client-eks/src/pagination/index.ts b/clients/client-eks/src/pagination/index.ts
index fae7aaec52635..74797aec0b0d0 100644
--- a/clients/client-eks/src/pagination/index.ts
+++ b/clients/client-eks/src/pagination/index.ts
@@ -1,4 +1,6 @@
export * from "./DescribeAddonVersionsPaginator";
+
+export * from "./DescribeClusterVersionsPaginator";
// smithy-typescript generated code
export * from "./Interfaces";
export * from "./ListAccessEntriesPaginator";
diff --git a/clients/client-eks/src/protocols/Aws_restJson1.ts b/clients/client-eks/src/protocols/Aws_restJson1.ts
index 16c6b8e02d353..b46cca46a21d6 100644
--- a/clients/client-eks/src/protocols/Aws_restJson1.ts
+++ b/clients/client-eks/src/protocols/Aws_restJson1.ts
@@ -85,6 +85,10 @@ import {
DescribeAddonVersionsCommandOutput,
} from "../commands/DescribeAddonVersionsCommand";
import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "../commands/DescribeClusterCommand";
+import {
+ DescribeClusterVersionsCommandInput,
+ DescribeClusterVersionsCommandOutput,
+} from "../commands/DescribeClusterVersionsCommand";
import {
DescribeEksAnywhereSubscriptionCommandInput,
DescribeEksAnywhereSubscriptionCommandOutput,
@@ -186,6 +190,7 @@ import {
ClientException,
ClientStat,
Cluster,
+ ClusterVersionInformation,
ComputeConfigRequest,
ConnectorConfigRequest,
ConnectorConfigResponse,
@@ -764,6 +769,30 @@ export const se_DescribeClusterCommand = async (
return b.build();
};
+/**
+ * serializeAws_restJson1DescribeClusterVersionsCommand
+ */
+export const se_DescribeClusterVersionsCommand = async (
+ input: DescribeClusterVersionsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const b = rb(input, context);
+ const headers: any = {};
+ b.bp("/cluster-versions");
+ const query: any = map({
+ [_cT]: [, input[_cT]!],
+ [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()],
+ [_nT]: [, input[_nT]!],
+ [_dO]: [() => input.defaultOnly !== void 0, () => input[_dO]!.toString()],
+ [_iA]: [() => input.includeAll !== void 0, () => input[_iA]!.toString()],
+ [_cV]: [() => input.clusterVersions !== void 0, () => input[_cV]! || []],
+ [_s]: [, input[_s]!],
+ });
+ let body: any;
+ b.m("GET").h(headers).q(query).b(body);
+ return b.build();
+};
+
/**
* serializeAws_restJson1DescribeEksAnywhereSubscriptionCommand
*/
@@ -1969,6 +1998,28 @@ export const de_DescribeClusterCommand = async (
return contents;
};
+/**
+ * deserializeAws_restJson1DescribeClusterVersionsCommand
+ */
+export const de_DescribeClusterVersionsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_CommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ clusterVersions: (_) => de_ClusterVersionList(_, context),
+ nextToken: __expectString,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
/**
* deserializeAws_restJson1DescribeEksAnywhereSubscriptionCommand
*/
@@ -3272,6 +3323,35 @@ const de_Cluster = (output: any, context: __SerdeContext): Cluster => {
// de_ClusterIssueList omitted.
+/**
+ * deserializeAws_restJson1ClusterVersionInformation
+ */
+const de_ClusterVersionInformation = (output: any, context: __SerdeContext): ClusterVersionInformation => {
+ return take(output, {
+ clusterType: __expectString,
+ clusterVersion: __expectString,
+ defaultPlatformVersion: __expectString,
+ defaultVersion: __expectBoolean,
+ endOfExtendedSupportDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
+ endOfStandardSupportDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
+ kubernetesPatchVersion: __expectString,
+ releaseDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
+ status: __expectString,
+ }) as any;
+};
+
+/**
+ * deserializeAws_restJson1ClusterVersionList
+ */
+const de_ClusterVersionList = (output: any, context: __SerdeContext): ClusterVersionInformation[] => {
+ const retVal = (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ return de_ClusterVersionInformation(entry, context);
+ });
+ return retVal;
+};
+
// de_Compatibilities omitted.
// de_Compatibility omitted.
@@ -3619,7 +3699,11 @@ const collectBodyString = (streamBody: any, context: __SerdeContext): PromiseThe list of compatible Amazon EKS add-on versions for the next Kubernetes version.
"
+ "smithy.api#documentation": "A list of compatible add-on versions.
"
}
}
},
"traits": {
- "smithy.api#documentation": "The summary information about the Amazon EKS add-on compatibility for the next Kubernetes \n version for an insight check in the UPGRADE_READINESS
category.
"
+ "smithy.api#documentation": "Contains compatibility information for an Amazon EKS add-on.
"
}
},
"com.amazonaws.eks#AddonCompatibilityDetails": {
@@ -2863,6 +2866,98 @@
}
}
},
+ "com.amazonaws.eks#ClusterVersionInformation": {
+ "type": "structure",
+ "members": {
+ "clusterVersion": {
+ "target": "com.amazonaws.eks#String",
+ "traits": {
+ "smithy.api#documentation": "The Kubernetes version for the cluster.
"
+ }
+ },
+ "clusterType": {
+ "target": "com.amazonaws.eks#String",
+ "traits": {
+ "smithy.api#documentation": "The type of cluster this version is for.
"
+ }
+ },
+ "defaultPlatformVersion": {
+ "target": "com.amazonaws.eks#String",
+ "traits": {
+ "smithy.api#documentation": "Default platform version for this Kubernetes version.
"
+ }
+ },
+ "defaultVersion": {
+ "target": "com.amazonaws.eks#Boolean",
+ "traits": {
+ "smithy.api#default": false,
+ "smithy.api#documentation": "Indicates if this is a default version.
"
+ }
+ },
+ "releaseDate": {
+ "target": "com.amazonaws.eks#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "The release date of this cluster version.
"
+ }
+ },
+ "endOfStandardSupportDate": {
+ "target": "com.amazonaws.eks#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "Date when standard support ends for this version.
"
+ }
+ },
+ "endOfExtendedSupportDate": {
+ "target": "com.amazonaws.eks#Timestamp",
+ "traits": {
+ "smithy.api#documentation": "Date when extended support ends for this version.
"
+ }
+ },
+ "status": {
+ "target": "com.amazonaws.eks#ClusterVersionStatus",
+ "traits": {
+ "smithy.api#documentation": "Current status of this cluster version.
"
+ }
+ },
+ "kubernetesPatchVersion": {
+ "target": "com.amazonaws.eks#String",
+ "traits": {
+ "smithy.api#documentation": "The patch version of Kubernetes for this cluster version.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Contains details about a specific EKS cluster version.
"
+ }
+ },
+ "com.amazonaws.eks#ClusterVersionList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.eks#ClusterVersionInformation"
+ }
+ },
+ "com.amazonaws.eks#ClusterVersionStatus": {
+ "type": "enum",
+ "members": {
+ "unsupported": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "unsupported"
+ }
+ },
+ "standard_support": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "standard-support"
+ }
+ },
+ "extended_support": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "extended-support"
+ }
+ }
+ }
+ },
"com.amazonaws.eks#Compatibilities": {
"type": "list",
"member": {
@@ -5164,6 +5259,126 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.eks#DescribeClusterVersionMaxResults": {
+ "type": "integer",
+ "traits": {
+ "smithy.api#range": {
+ "min": 1,
+ "max": 100
+ }
+ }
+ },
+ "com.amazonaws.eks#DescribeClusterVersions": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.eks#DescribeClusterVersionsRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.eks#DescribeClusterVersionsResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.eks#InvalidParameterException"
+ },
+ {
+ "target": "com.amazonaws.eks#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.eks#ServerException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Lists available Kubernetes versions for Amazon EKS clusters.
",
+ "smithy.api#http": {
+ "method": "GET",
+ "uri": "/cluster-versions",
+ "code": 200
+ },
+ "smithy.api#paginated": {
+ "inputToken": "nextToken",
+ "outputToken": "nextToken",
+ "items": "clusterVersions",
+ "pageSize": "maxResults"
+ }
+ }
+ },
+ "com.amazonaws.eks#DescribeClusterVersionsRequest": {
+ "type": "structure",
+ "members": {
+ "clusterType": {
+ "target": "com.amazonaws.eks#String",
+ "traits": {
+ "smithy.api#documentation": "The type of cluster to filter versions by.
",
+ "smithy.api#httpQuery": "clusterType"
+ }
+ },
+ "maxResults": {
+ "target": "com.amazonaws.eks#DescribeClusterVersionMaxResults",
+ "traits": {
+ "smithy.api#documentation": "Maximum number of results to return.
",
+ "smithy.api#httpQuery": "maxResults"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.eks#String",
+ "traits": {
+ "smithy.api#documentation": "Pagination token for the next set of results.
",
+ "smithy.api#httpQuery": "nextToken"
+ }
+ },
+ "defaultOnly": {
+ "target": "com.amazonaws.eks#BoxedBoolean",
+ "traits": {
+ "smithy.api#documentation": "Filter to show only default versions.
",
+ "smithy.api#httpQuery": "defaultOnly"
+ }
+ },
+ "includeAll": {
+ "target": "com.amazonaws.eks#BoxedBoolean",
+ "traits": {
+ "smithy.api#documentation": "Include all available versions in the response.
",
+ "smithy.api#httpQuery": "includeAll"
+ }
+ },
+ "clusterVersions": {
+ "target": "com.amazonaws.eks#StringList",
+ "traits": {
+ "smithy.api#documentation": "List of specific cluster versions to describe.
",
+ "smithy.api#httpQuery": "clusterVersions"
+ }
+ },
+ "status": {
+ "target": "com.amazonaws.eks#ClusterVersionStatus",
+ "traits": {
+ "smithy.api#documentation": "Filter versions by their current status.
",
+ "smithy.api#httpQuery": "status"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.eks#DescribeClusterVersionsResponse": {
+ "type": "structure",
+ "members": {
+ "nextToken": {
+ "target": "com.amazonaws.eks#String",
+ "traits": {
+ "smithy.api#documentation": "Pagination token for the next set of results.
"
+ }
+ },
+ "clusterVersions": {
+ "target": "com.amazonaws.eks#ClusterVersionList",
+ "traits": {
+ "smithy.api#documentation": "List of cluster version information objects.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.eks#DescribeEksAnywhereSubscription": {
"type": "operation",
"input": {
@@ -6649,7 +6864,7 @@
"addonCompatibilityDetails": {
"target": "com.amazonaws.eks#AddonCompatibilityDetails",
"traits": {
- "smithy.api#documentation": "A list of AddonCompatibilityDetail
objects for Amazon EKS add-ons.
"
+ "smithy.api#documentation": "A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.
"
}
}
},