Skip to content

Commit fd60037

Browse files
This release adds support for DescribeClusterVersions API that provides important information about Kubernetes versions along with end of support dates
1 parent f77939d commit fd60037

24 files changed

+1631
-10
lines changed

generator/ServiceModels/eks/eks-2017-11-01.api.json

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,20 @@
382382
{"shape":"ServiceUnavailableException"}
383383
]
384384
},
385+
"DescribeClusterVersions":{
386+
"name":"DescribeClusterVersions",
387+
"http":{
388+
"method":"GET",
389+
"requestUri":"/cluster-versions"
390+
},
391+
"input":{"shape":"DescribeClusterVersionsRequest"},
392+
"output":{"shape":"DescribeClusterVersionsResponse"},
393+
"errors":[
394+
{"shape":"ServerException"},
395+
{"shape":"InvalidParameterException"},
396+
{"shape":"InvalidRequestException"}
397+
]
398+
},
385399
"DescribeEksAnywhereSubscription":{
386400
"name":"DescribeEksAnywhereSubscription",
387401
"http":{
@@ -1381,6 +1395,32 @@
13811395
"PENDING"
13821396
]
13831397
},
1398+
"ClusterVersionInformation":{
1399+
"type":"structure",
1400+
"members":{
1401+
"clusterVersion":{"shape":"String"},
1402+
"clusterType":{"shape":"String"},
1403+
"defaultPlatformVersion":{"shape":"String"},
1404+
"defaultVersion":{"shape":"Boolean"},
1405+
"releaseDate":{"shape":"Timestamp"},
1406+
"endOfStandardSupportDate":{"shape":"Timestamp"},
1407+
"endOfExtendedSupportDate":{"shape":"Timestamp"},
1408+
"status":{"shape":"ClusterVersionStatus"},
1409+
"kubernetesPatchVersion":{"shape":"String"}
1410+
}
1411+
},
1412+
"ClusterVersionList":{
1413+
"type":"list",
1414+
"member":{"shape":"ClusterVersionInformation"}
1415+
},
1416+
"ClusterVersionStatus":{
1417+
"type":"string",
1418+
"enum":[
1419+
"unsupported",
1420+
"standard-support",
1421+
"extended-support"
1422+
]
1423+
},
13841424
"Compatibilities":{
13851425
"type":"list",
13861426
"member":{"shape":"Compatibility"}
@@ -2029,6 +2069,59 @@
20292069
"cluster":{"shape":"Cluster"}
20302070
}
20312071
},
2072+
"DescribeClusterVersionMaxResults":{
2073+
"type":"integer",
2074+
"box":true,
2075+
"max":100,
2076+
"min":1
2077+
},
2078+
"DescribeClusterVersionsRequest":{
2079+
"type":"structure",
2080+
"members":{
2081+
"clusterType":{
2082+
"shape":"String",
2083+
"location":"querystring",
2084+
"locationName":"clusterType"
2085+
},
2086+
"maxResults":{
2087+
"shape":"DescribeClusterVersionMaxResults",
2088+
"location":"querystring",
2089+
"locationName":"maxResults"
2090+
},
2091+
"nextToken":{
2092+
"shape":"String",
2093+
"location":"querystring",
2094+
"locationName":"nextToken"
2095+
},
2096+
"defaultOnly":{
2097+
"shape":"BoxedBoolean",
2098+
"location":"querystring",
2099+
"locationName":"defaultOnly"
2100+
},
2101+
"includeAll":{
2102+
"shape":"BoxedBoolean",
2103+
"location":"querystring",
2104+
"locationName":"includeAll"
2105+
},
2106+
"clusterVersions":{
2107+
"shape":"StringList",
2108+
"location":"querystring",
2109+
"locationName":"clusterVersions"
2110+
},
2111+
"status":{
2112+
"shape":"ClusterVersionStatus",
2113+
"location":"querystring",
2114+
"locationName":"status"
2115+
}
2116+
}
2117+
},
2118+
"DescribeClusterVersionsResponse":{
2119+
"type":"structure",
2120+
"members":{
2121+
"nextToken":{"shape":"String"},
2122+
"clusterVersions":{"shape":"ClusterVersionList"}
2123+
}
2124+
},
20322125
"DescribeEksAnywhereSubscriptionRequest":{
20332126
"type":"structure",
20342127
"required":["id"],

generator/ServiceModels/eks/eks-2017-11-01.docs.json

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"DescribeAddonConfiguration": "<p>Returns configuration options.</p>",
2626
"DescribeAddonVersions": "<p>Describes the versions for an add-on.</p> <p>Information such as the Kubernetes versions that you can use the add-on with, the <code>owner</code>, <code>publisher</code>, and the <code>type</code> of the add-on are returned.</p>",
2727
"DescribeCluster": "<p>Describes an Amazon EKS cluster.</p> <p>The API server endpoint and certificate authority data returned by this operation are required for <code>kubelet</code> and <code>kubectl</code> to communicate with your Kubernetes API server. For more information, see <a href=\"https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html\">Creating or updating a <code>kubeconfig</code> file for an Amazon EKS cluster</a>.</p> <note> <p>The API server endpoint and certificate authority data aren't available until the cluster reaches the <code>ACTIVE</code> state.</p> </note>",
28+
"DescribeClusterVersions": "<p>Lists available Kubernetes versions for Amazon EKS clusters.</p>",
2829
"DescribeEksAnywhereSubscription": "<p>Returns descriptive information about a subscription.</p>",
2930
"DescribeFargateProfile": "<p>Describes an Fargate profile.</p>",
3031
"DescribeIdentityProviderConfig": "<p>Describes an identity provider configuration.</p>",
@@ -126,15 +127,15 @@
126127
}
127128
},
128129
"AddonCompatibilityDetail": {
129-
"base": "<p>The summary information about the Amazon EKS add-on compatibility for the next Kubernetes version for an insight check in the <code>UPGRADE_READINESS</code> category.</p>",
130+
"base": "<p>Contains compatibility information for an Amazon EKS add-on.</p>",
130131
"refs": {
131132
"AddonCompatibilityDetails$member": null
132133
}
133134
},
134135
"AddonCompatibilityDetails": {
135136
"base": null,
136137
"refs": {
137-
"InsightCategorySpecificSummary$addonCompatibilityDetails": "<p>A list of <code>AddonCompatibilityDetail</code> objects for Amazon EKS add-ons.</p>"
138+
"InsightCategorySpecificSummary$addonCompatibilityDetails": "<p>A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.</p>"
138139
}
139140
},
140141
"AddonHealth": {
@@ -296,6 +297,7 @@
296297
"refs": {
297298
"AddonVersionInfo$requiresConfiguration": "<p>Whether the add-on requires configuration.</p>",
298299
"AddonVersionInfo$requiresIamPermissions": "<p>Indicates if the Addon requires IAM Permissions to operate, such as networking permissions.</p>",
300+
"ClusterVersionInformation$defaultVersion": "<p>Indicates if this is a default version.</p>",
299301
"Compatibility$defaultVersion": "<p>The supported default version.</p>",
300302
"CreateEksAnywhereSubscriptionRequest$autoRenew": "<p>A boolean indicating whether the subscription auto renews at the end of the term.</p>",
301303
"DeleteAddonRequest$preserve": "<p>Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed.</p>",
@@ -315,6 +317,8 @@
315317
"ComputeConfigResponse$enabled": "<p>Indicates if the compute capability is enabled on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account.</p>",
316318
"CreateAccessConfigRequest$bootstrapClusterCreatorAdminPermissions": "<p>Specifies whether or not the cluster creator IAM principal was set as a cluster admin access entry during cluster creation time. The default value is <code>true</code>.</p>",
317319
"CreateClusterRequest$bootstrapSelfManagedAddons": "<p>If you set this value to <code>False</code> when creating a cluster, the default networking add-ons will not be installed.</p> <p>The default networking addons include vpc-cni, coredns, and kube-proxy.</p> <p>Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.</p>",
320+
"DescribeClusterVersionsRequest$defaultOnly": "<p>Filter to show only default versions.</p>",
321+
"DescribeClusterVersionsRequest$includeAll": "<p>Include all available versions in the response.</p>",
318322
"ElasticLoadBalancing$enabled": "<p>Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account.</p>",
319323
"LogSetup$enabled": "<p>If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs. If a log type isn't enabled, that log type doesn't export its control plane logs. Each individual log type can be enabled or disabled independently.</p>",
320324
"NodeRepairConfig$enabled": "<p>Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default.</p>",
@@ -434,6 +438,25 @@
434438
"Cluster$status": "<p>The current status of the cluster.</p>"
435439
}
436440
},
441+
"ClusterVersionInformation": {
442+
"base": "<p>Contains details about a specific EKS cluster version.</p>",
443+
"refs": {
444+
"ClusterVersionList$member": null
445+
}
446+
},
447+
"ClusterVersionList": {
448+
"base": null,
449+
"refs": {
450+
"DescribeClusterVersionsResponse$clusterVersions": "<p>List of cluster version information objects.</p>"
451+
}
452+
},
453+
"ClusterVersionStatus": {
454+
"base": null,
455+
"refs": {
456+
"ClusterVersionInformation$status": "<p>Current status of this cluster version.</p>",
457+
"DescribeClusterVersionsRequest$status": "<p>Filter versions by their current status.</p>"
458+
}
459+
},
437460
"Compatibilities": {
438461
"base": null,
439462
"refs": {
@@ -713,6 +736,22 @@
713736
"refs": {
714737
}
715738
},
739+
"DescribeClusterVersionMaxResults": {
740+
"base": null,
741+
"refs": {
742+
"DescribeClusterVersionsRequest$maxResults": "<p>Maximum number of results to return.</p>"
743+
}
744+
},
745+
"DescribeClusterVersionsRequest": {
746+
"base": null,
747+
"refs": {
748+
}
749+
},
750+
"DescribeClusterVersionsResponse": {
751+
"base": null,
752+
"refs": {
753+
}
754+
},
716755
"DescribeEksAnywhereSubscriptionRequest": {
717756
"base": null,
718757
"refs": {
@@ -1648,6 +1687,10 @@
16481687
"Cluster$platformVersion": "<p>The platform version of your Amazon EKS cluster. For more information about clusters deployed on the Amazon Web Services Cloud, see <a href=\"https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html\">Platform versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>. For more information about local clusters deployed on an Outpost, see <a href=\"https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-platform-versions.html\">Amazon EKS local cluster platform versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p>",
16491688
"Cluster$id": "<p>The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an Amazon EKS cluster on the Amazon Web Services cloud.</p>",
16501689
"ClusterIssue$message": "<p>A description of the issue.</p>",
1690+
"ClusterVersionInformation$clusterVersion": "<p>The Kubernetes version for the cluster.</p>",
1691+
"ClusterVersionInformation$clusterType": "<p>The type of cluster this version is for.</p>",
1692+
"ClusterVersionInformation$defaultPlatformVersion": "<p>Default platform version for this Kubernetes version.</p>",
1693+
"ClusterVersionInformation$kubernetesPatchVersion": "<p>The patch version of Kubernetes for this cluster version.</p>",
16511694
"Compatibility$clusterVersion": "<p>The supported Kubernetes version of the cluster.</p>",
16521695
"ComputeConfigRequest$nodeRoleArn": "<p>The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the EKS User Guide.</p>",
16531696
"ComputeConfigResponse$nodeRoleArn": "<p>The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster.</p>",
@@ -1715,6 +1758,9 @@
17151758
"DescribeAddonVersionsRequest$addonName": "<p>The name of the add-on. The name must match one of the names returned by <a href=\"https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html\"> <code>ListAddons</code> </a>.</p>",
17161759
"DescribeAddonVersionsResponse$nextToken": "<p>The <code>nextToken</code> value to include in a future <code>DescribeAddonVersions</code> request. When the results of a <code>DescribeAddonVersions</code> request exceed <code>maxResults</code>, you can use this value to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p> <note> <p>This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.</p> </note>",
17171760
"DescribeClusterRequest$name": "<p>The name of your cluster.</p>",
1761+
"DescribeClusterVersionsRequest$clusterType": "<p>The type of cluster to filter versions by.</p>",
1762+
"DescribeClusterVersionsRequest$nextToken": "<p>Pagination token for the next set of results.</p>",
1763+
"DescribeClusterVersionsResponse$nextToken": "<p>Pagination token for the next set of results.</p>",
17181764
"DescribeEksAnywhereSubscriptionRequest$id": "<p>The ID of the subscription.</p>",
17191765
"DescribeFargateProfileRequest$clusterName": "<p>The name of your cluster.</p>",
17201766
"DescribeFargateProfileRequest$fargateProfileName": "<p>The name of the Fargate profile to describe.</p>",
@@ -1932,7 +1978,7 @@
19321978
"AccessEntry$kubernetesGroups": "<p>A <code>name</code> that you've specified in a Kubernetes <code>RoleBinding</code> or <code>ClusterRoleBinding</code> object so that Kubernetes authorizes the <code>principalARN</code> access to cluster objects.</p>",
19331979
"AccessScope$namespaces": "<p>A Kubernetes <code>namespace</code> that an access policy is scoped to. A value is required if you specified <code>namespace</code> for <code>Type</code>.</p>",
19341980
"Addon$podIdentityAssociations": "<p>An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html\">Attach an IAM Role to an Amazon EKS add-on using Pod Identity</a> in the EKS User Guide.</p>",
1935-
"AddonCompatibilityDetail$compatibleVersions": "<p>The list of compatible Amazon EKS add-on versions for the next Kubernetes version.</p>",
1981+
"AddonCompatibilityDetail$compatibleVersions": "<p>A list of compatible add-on versions.</p>",
19361982
"AddonIssue$resourceIds": "<p>The resource IDs of the issue.</p>",
19371983
"AddonPodIdentityConfiguration$recommendedManagedPolicies": "<p>A suggested IAM Policy for the addon.</p>",
19381984
"AddonVersionInfo$architecture": "<p>The architectures that the version supports.</p>",
@@ -1948,6 +1994,7 @@
19481994
"DescribeAddonVersionsRequest$types": "<p>The type of the add-on. For valid <code>types</code>, don't specify a value for this property.</p>",
19491995
"DescribeAddonVersionsRequest$publishers": "<p>The publisher of the add-on. For valid <code>publishers</code>, don't specify a value for this property.</p>",
19501996
"DescribeAddonVersionsRequest$owners": "<p>The owner of the add-on. For valid <code>owners</code>, don't specify a value for this property.</p>",
1997+
"DescribeClusterVersionsRequest$clusterVersions": "<p>List of specific cluster versions to describe.</p>",
19511998
"EksAnywhereSubscription$licenseArns": "<p>Amazon Web Services License Manager ARN associated with the subscription.</p>",
19521999
"EncryptionConfig$resources": "<p>Specifies the resources to be encrypted. The only supported value is <code>secrets</code>.</p>",
19532000
"ErrorDetail$resourceIds": "<p>An optional field that contains the resource IDs associated with the error.</p>",
@@ -2062,6 +2109,9 @@
20622109
"AssociatedAccessPolicy$modifiedAt": "<p>The Unix epoch timestamp for the last modification to the object.</p>",
20632110
"ClientStat$lastRequestTime": "<p>The timestamp of the last request seen from the Kubernetes client.</p>",
20642111
"Cluster$createdAt": "<p>The Unix epoch timestamp at object creation.</p>",
2112+
"ClusterVersionInformation$releaseDate": "<p>The release date of this cluster version.</p>",
2113+
"ClusterVersionInformation$endOfStandardSupportDate": "<p>Date when standard support ends for this version.</p>",
2114+
"ClusterVersionInformation$endOfExtendedSupportDate": "<p>Date when extended support ends for this version.</p>",
20652115
"ConnectorConfigResponse$activationExpiry": "<p>The expiration time of the connected cluster. The cluster's YAML file must be applied through the native provider.</p>",
20662116
"EksAnywhereSubscription$createdAt": "<p>The Unix timestamp in seconds for when the subscription was created.</p>",
20672117
"EksAnywhereSubscription$effectiveDate": "<p>The Unix timestamp in seconds for when the subscription is effective.</p>",

0 commit comments

Comments
 (0)