aws-sdk-eks 1.45.0 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c51abca6c8deb5a5e2565314f2a8353fc470c1030c5a132bb934445aa5ffdae8
4
- data.tar.gz: 015e16dfc5e87da3a0558a6dae231822f159cfbd02bc119f630dcf15a2d0c84e
3
+ metadata.gz: be4933b2912d1c7a8f033ce60f60604827117d9de3061657c42c921abf85379b
4
+ data.tar.gz: fd73987321587dd5e3f803c824bdb7d52381dfb183a663c7fb0e248eab4ac965
5
5
  SHA512:
6
- metadata.gz: 1dd90bece231b87de4be0ff1bd8474b5fe67ccb1879155bb038098b787ee752fc3e37959da133a94c3254cc6d294e09631d4e6c370aedbb1c0ed2e3f33051b4b
7
- data.tar.gz: a62192033ee7929d350a465f26f57021c9c1358b72c7be32173d8e169b9e6994e752df402e88f8d5cdbbea17a0defe9663a1edf0a533c3978441b382ecb68a78
6
+ metadata.gz: 1d3f3897d1937c9d7c411d071aba8298fc43d29fffab08048df9202f97c8d0e433d531a7a34c7e4f9fbf9cd13b1c6159bf9fe8146035bf8469dea4479bef37b1
7
+ data.tar.gz: 97b158c32d7575762a4d0dcc7952b5d3e1eee3f849f626bd33a2aa6a338c6abdcd4ad45b100179ebeab5a9616722ed67265a39f401ec202716a938afe42de912
@@ -29,7 +29,7 @@ require_relative 'aws-sdk-eks/customizations'
29
29
  # structure.
30
30
  #
31
31
  # eks = Aws::EKS::Client.new
32
- # resp = eks.create_cluster(params)
32
+ # resp = eks.create_addon(params)
33
33
  #
34
34
  # See {Client} for more information.
35
35
  #
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-eks/customizations'
49
49
  # @!group service
50
50
  module Aws::EKS
51
51
 
52
- GEM_VERSION = '1.45.0'
52
+ GEM_VERSION = '1.46.0'
53
53
 
54
54
  end
@@ -327,6 +327,115 @@ module Aws::EKS
327
327
 
328
328
  # @!group API Operations
329
329
 
330
+ # Creates an Amazon EKS add-on.
331
+ #
332
+ # Amazon EKS add-ons help to automate the provisioning and lifecycle
333
+ # management of common operational software for Amazon EKS clusters.
334
+ # Amazon EKS add-ons can only be used with Amazon EKS clusters running
335
+ # version 1.18 with platform version `eks.3` or later because add-ons
336
+ # rely on the Server-side Apply Kubernetes feature, which is only
337
+ # available in Kubernetes 1.18 and later.
338
+ #
339
+ # @option params [required, String] :cluster_name
340
+ # The name of the cluster to create the add-on for.
341
+ #
342
+ # @option params [required, String] :addon_name
343
+ # The name of the add-on. The name must match one of the names returned
344
+ # by [ `ListAddons` ][1].
345
+ #
346
+ #
347
+ #
348
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
349
+ #
350
+ # @option params [String] :addon_version
351
+ # The version of the add-on. The version must match one of the versions
352
+ # returned by [ `DescribeAddonVersions` ][1].
353
+ #
354
+ #
355
+ #
356
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
357
+ #
358
+ # @option params [String] :service_account_role_arn
359
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to the
360
+ # add-on's service account. The role must be assigned the IAM
361
+ # permissions required by the add-on. If you don't specify an existing
362
+ # IAM role, then the add-on uses the permissions assigned to the node
363
+ # IAM role. For more information, see [Amazon EKS node IAM role][1] in
364
+ # the *Amazon EKS User Guide*.
365
+ #
366
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
367
+ # (OIDC) provider created for your cluster. For more information, see
368
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
369
+ # *Amazon EKS User Guide*.
370
+ #
371
+ # </note>
372
+ #
373
+ #
374
+ #
375
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
376
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
377
+ #
378
+ # @option params [String] :resolve_conflicts
379
+ # How to resolve parameter value conflicts when migrating an existing
380
+ # add-on to an Amazon EKS add-on.
381
+ #
382
+ # @option params [String] :client_request_token
383
+ # A unique, case-sensitive identifier that you provide to ensure the
384
+ # idempotency of the request.
385
+ #
386
+ # **A suitable default value is auto-generated.** You should normally
387
+ # not need to pass this option.**
388
+ #
389
+ # @option params [Hash<String,String>] :tags
390
+ # The metadata to apply to the cluster to assist with categorization and
391
+ # organization. Each tag consists of a key and an optional value, both
392
+ # of which you define.
393
+ #
394
+ # @return [Types::CreateAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
395
+ #
396
+ # * {Types::CreateAddonResponse#addon #addon} => Types::Addon
397
+ #
398
+ # @example Request syntax with placeholder values
399
+ #
400
+ # resp = client.create_addon({
401
+ # cluster_name: "ClusterName", # required
402
+ # addon_name: "String", # required
403
+ # addon_version: "String",
404
+ # service_account_role_arn: "RoleArn",
405
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
406
+ # client_request_token: "String",
407
+ # tags: {
408
+ # "TagKey" => "TagValue",
409
+ # },
410
+ # })
411
+ #
412
+ # @example Response structure
413
+ #
414
+ # resp.addon.addon_name #=> String
415
+ # resp.addon.cluster_name #=> String
416
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
417
+ # resp.addon.addon_version #=> String
418
+ # resp.addon.health.issues #=> Array
419
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
420
+ # resp.addon.health.issues[0].message #=> String
421
+ # resp.addon.health.issues[0].resource_ids #=> Array
422
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
423
+ # resp.addon.addon_arn #=> String
424
+ # resp.addon.created_at #=> Time
425
+ # resp.addon.modified_at #=> Time
426
+ # resp.addon.service_account_role_arn #=> String
427
+ # resp.addon.tags #=> Hash
428
+ # resp.addon.tags["TagKey"] #=> String
429
+ #
430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddon AWS API Documentation
431
+ #
432
+ # @overload create_addon(params = {})
433
+ # @param [Hash] params ({})
434
+ def create_addon(params = {}, options = {})
435
+ req = build_request(:create_addon, params)
436
+ req.send_request(options)
437
+ end
438
+
330
439
  # Creates an Amazon EKS control plane.
331
440
  #
332
441
  # The Amazon EKS control plane consists of control plane instances that
@@ -705,9 +814,9 @@ module Aws::EKS
705
814
  #
706
815
  # An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group
707
816
  # and associated Amazon EC2 instances that are managed by AWS for an
708
- # Amazon EKS cluster. Each node group uses a version of the Amazon
709
- # EKS-optimized Amazon Linux 2 AMI. For more information, see [Managed
710
- # Node Groups][2] in the *Amazon EKS User Guide*.
817
+ # Amazon EKS cluster. Each node group uses a version of the Amazon EKS
818
+ # optimized Amazon Linux 2 AMI. For more information, see [Managed Node
819
+ # Groups][2] in the *Amazon EKS User Guide*.
711
820
  #
712
821
  #
713
822
  #
@@ -751,24 +860,30 @@ module Aws::EKS
751
860
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
752
861
  #
753
862
  # @option params [Array<String>] :instance_types
754
- # The instance type to use for your node group. You can specify a single
755
- # instance type for a node group. The default value for `instanceTypes`
756
- # is `t3.medium`. If you choose a GPU instance type, be sure to specify
757
- # `AL2_x86_64_GPU` with the `amiType` parameter. If you specify
758
- # `launchTemplate`, then don't specify `instanceTypes`, or the node
759
- # group deployment will fail. For more information about using launch
760
- # templates with Amazon EKS, see [Launch template support][1] in the
761
- # Amazon EKS User Guide.
762
- #
763
- #
764
- #
765
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
863
+ # Specify the instance types for a node group. If you specify a GPU
864
+ # instance type, be sure to specify `AL2_x86_64_GPU` with the `amiType`
865
+ # parameter. If you specify `launchTemplate`, then you can specify zero
866
+ # or one instance type in your launch template *or* you can specify 0-20
867
+ # instance types for `instanceTypes`. If however, you specify an
868
+ # instance type in your launch template *and* specify any
869
+ # `instanceTypes`, the node group deployment will fail. If you don't
870
+ # specify an instance type in a launch template or for `instanceTypes`,
871
+ # then `t3.medium` is used, by default. If you specify `Spot` for
872
+ # `capacityType`, then we recommend specifying multiple values for
873
+ # `instanceTypes`. For more information, see [Managed node group
874
+ # capacity types][1] and [Launch template support][2] in the *Amazon EKS
875
+ # User Guide*.
876
+ #
877
+ #
878
+ #
879
+ # [1]: https://docs.aws.amazon.com/managed-node-groups.html#managed-node-group-capacity-types
880
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
766
881
  #
767
882
  # @option params [String] :ami_type
768
883
  # The AMI type for your node group. GPU instance types should use the
769
884
  # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
770
885
  # `AL2_x86_64` AMI type. Arm instances should use the `AL2_ARM_64` AMI
771
- # type. All types use the Amazon EKS-optimized Amazon Linux 2 AMI. If
886
+ # type. All types use the Amazon EKS optimized Amazon Linux 2 AMI. If
772
887
  # you specify `launchTemplate`, and your launch template uses a custom
773
888
  # AMI, then don't specify `amiType`, or the node group deployment will
774
889
  # fail. For more information about using launch templates with Amazon
@@ -833,6 +948,9 @@ module Aws::EKS
833
948
  # `remoteAccess` and make sure that the launch template meets the
834
949
  # requirements in `launchTemplateSpecification`.
835
950
  #
951
+ # @option params [String] :capacity_type
952
+ # The capacity type for your node group.
953
+ #
836
954
  # @option params [String] :version
837
955
  # The Kubernetes version to use for your managed nodes. By default, the
838
956
  # Kubernetes version of the cluster is used, and this is the only
@@ -847,15 +965,15 @@ module Aws::EKS
847
965
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
848
966
  #
849
967
  # @option params [String] :release_version
850
- # The AMI version of the Amazon EKS-optimized AMI to use with your node
968
+ # The AMI version of the Amazon EKS optimized AMI to use with your node
851
969
  # group. By default, the latest available AMI version for the node
852
970
  # group's current Kubernetes version is used. For more information, see
853
- # [Amazon EKS-Optimized Linux AMI Versions][1] in the *Amazon EKS User
854
- # Guide*. If you specify `launchTemplate`, and your launch template uses
855
- # a custom AMI, then don't specify `releaseVersion`, or the node group
856
- # deployment will fail. For more information about using launch
857
- # templates with Amazon EKS, see [Launch template support][2] in the
858
- # Amazon EKS User Guide.
971
+ # [Amazon EKS optimized Amazon Linux 2 AMI versions][1] in the *Amazon
972
+ # EKS User Guide*. If you specify `launchTemplate`, and your launch
973
+ # template uses a custom AMI, then don't specify `releaseVersion`, or
974
+ # the node group deployment will fail. For more information about using
975
+ # launch templates with Amazon EKS, see [Launch template support][2] in
976
+ # the Amazon EKS User Guide.
859
977
  #
860
978
  #
861
979
  #
@@ -897,6 +1015,7 @@ module Aws::EKS
897
1015
  # version: "String",
898
1016
  # id: "String",
899
1017
  # },
1018
+ # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
900
1019
  # version: "String",
901
1020
  # release_version: "String",
902
1021
  # })
@@ -911,6 +1030,7 @@ module Aws::EKS
911
1030
  # resp.nodegroup.created_at #=> Time
912
1031
  # resp.nodegroup.modified_at #=> Time
913
1032
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1033
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
914
1034
  # resp.nodegroup.scaling_config.min_size #=> Integer
915
1035
  # resp.nodegroup.scaling_config.max_size #=> Integer
916
1036
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -949,6 +1069,61 @@ module Aws::EKS
949
1069
  req.send_request(options)
950
1070
  end
951
1071
 
1072
+ # Delete an Amazon EKS add-on.
1073
+ #
1074
+ # When you remove the add-on, it will also be deleted from the cluster.
1075
+ # You can always manually start an add-on on the cluster using the
1076
+ # Kubernetes API.
1077
+ #
1078
+ # @option params [required, String] :cluster_name
1079
+ # The name of the cluster to delete the add-on from.
1080
+ #
1081
+ # @option params [required, String] :addon_name
1082
+ # The name of the add-on. The name must match one of the names returned
1083
+ # by [ `ListAddons` ][1].
1084
+ #
1085
+ #
1086
+ #
1087
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1088
+ #
1089
+ # @return [Types::DeleteAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1090
+ #
1091
+ # * {Types::DeleteAddonResponse#addon #addon} => Types::Addon
1092
+ #
1093
+ # @example Request syntax with placeholder values
1094
+ #
1095
+ # resp = client.delete_addon({
1096
+ # cluster_name: "ClusterName", # required
1097
+ # addon_name: "String", # required
1098
+ # })
1099
+ #
1100
+ # @example Response structure
1101
+ #
1102
+ # resp.addon.addon_name #=> String
1103
+ # resp.addon.cluster_name #=> String
1104
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1105
+ # resp.addon.addon_version #=> String
1106
+ # resp.addon.health.issues #=> Array
1107
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1108
+ # resp.addon.health.issues[0].message #=> String
1109
+ # resp.addon.health.issues[0].resource_ids #=> Array
1110
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
1111
+ # resp.addon.addon_arn #=> String
1112
+ # resp.addon.created_at #=> Time
1113
+ # resp.addon.modified_at #=> Time
1114
+ # resp.addon.service_account_role_arn #=> String
1115
+ # resp.addon.tags #=> Hash
1116
+ # resp.addon.tags["TagKey"] #=> String
1117
+ #
1118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddon AWS API Documentation
1119
+ #
1120
+ # @overload delete_addon(params = {})
1121
+ # @param [Hash] params ({})
1122
+ def delete_addon(params = {}, options = {})
1123
+ req = build_request(:delete_addon, params)
1124
+ req.send_request(options)
1125
+ end
1126
+
952
1127
  # Deletes the Amazon EKS cluster control plane.
953
1128
  #
954
1129
  # If you have active services in your cluster that are associated with a
@@ -1122,6 +1297,7 @@ module Aws::EKS
1122
1297
  # resp.nodegroup.created_at #=> Time
1123
1298
  # resp.nodegroup.modified_at #=> Time
1124
1299
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1300
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
1125
1301
  # resp.nodegroup.scaling_config.min_size #=> Integer
1126
1302
  # resp.nodegroup.scaling_config.max_size #=> Integer
1127
1303
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1160,6 +1336,133 @@ module Aws::EKS
1160
1336
  req.send_request(options)
1161
1337
  end
1162
1338
 
1339
+ # Describes an Amazon EKS add-on.
1340
+ #
1341
+ # @option params [required, String] :cluster_name
1342
+ # The name of the cluster.
1343
+ #
1344
+ # @option params [required, String] :addon_name
1345
+ # The name of the add-on. The name must match one of the names returned
1346
+ # by [ `ListAddons` ][1].
1347
+ #
1348
+ #
1349
+ #
1350
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1351
+ #
1352
+ # @return [Types::DescribeAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1353
+ #
1354
+ # * {Types::DescribeAddonResponse#addon #addon} => Types::Addon
1355
+ #
1356
+ # @example Request syntax with placeholder values
1357
+ #
1358
+ # resp = client.describe_addon({
1359
+ # cluster_name: "ClusterName", # required
1360
+ # addon_name: "String", # required
1361
+ # })
1362
+ #
1363
+ # @example Response structure
1364
+ #
1365
+ # resp.addon.addon_name #=> String
1366
+ # resp.addon.cluster_name #=> String
1367
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1368
+ # resp.addon.addon_version #=> String
1369
+ # resp.addon.health.issues #=> Array
1370
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1371
+ # resp.addon.health.issues[0].message #=> String
1372
+ # resp.addon.health.issues[0].resource_ids #=> Array
1373
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
1374
+ # resp.addon.addon_arn #=> String
1375
+ # resp.addon.created_at #=> Time
1376
+ # resp.addon.modified_at #=> Time
1377
+ # resp.addon.service_account_role_arn #=> String
1378
+ # resp.addon.tags #=> Hash
1379
+ # resp.addon.tags["TagKey"] #=> String
1380
+ #
1381
+ #
1382
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1383
+ #
1384
+ # * addon_active
1385
+ # * addon_deleted
1386
+ #
1387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddon AWS API Documentation
1388
+ #
1389
+ # @overload describe_addon(params = {})
1390
+ # @param [Hash] params ({})
1391
+ def describe_addon(params = {}, options = {})
1392
+ req = build_request(:describe_addon, params)
1393
+ req.send_request(options)
1394
+ end
1395
+
1396
+ # Describes the Kubernetes versions that the add-on can be used with.
1397
+ #
1398
+ # @option params [String] :kubernetes_version
1399
+ # The Kubernetes versions that the add-on can be used with.
1400
+ #
1401
+ # @option params [Integer] :max_results
1402
+ # The maximum number of results to return.
1403
+ #
1404
+ # @option params [String] :next_token
1405
+ # The `nextToken` value returned from a previous paginated
1406
+ # `DescribeAddonVersionsRequest` where `maxResults` was used and the
1407
+ # results exceeded the value of that parameter. Pagination continues
1408
+ # from the end of the previous results that returned the `nextToken`
1409
+ # value.
1410
+ #
1411
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used only
1412
+ # to retrieve the next items in a list and not for other programmatic
1413
+ # purposes.
1414
+ #
1415
+ # </note>
1416
+ #
1417
+ # @option params [String] :addon_name
1418
+ # The name of the add-on. The name must match one of the names returned
1419
+ # by [ `ListAddons` ][1].
1420
+ #
1421
+ #
1422
+ #
1423
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1424
+ #
1425
+ # @return [Types::DescribeAddonVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1426
+ #
1427
+ # * {Types::DescribeAddonVersionsResponse#addons #addons} => Array&lt;Types::AddonInfo&gt;
1428
+ # * {Types::DescribeAddonVersionsResponse#next_token #next_token} => String
1429
+ #
1430
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1431
+ #
1432
+ # @example Request syntax with placeholder values
1433
+ #
1434
+ # resp = client.describe_addon_versions({
1435
+ # kubernetes_version: "String",
1436
+ # max_results: 1,
1437
+ # next_token: "String",
1438
+ # addon_name: "String",
1439
+ # })
1440
+ #
1441
+ # @example Response structure
1442
+ #
1443
+ # resp.addons #=> Array
1444
+ # resp.addons[0].addon_name #=> String
1445
+ # resp.addons[0].type #=> String
1446
+ # resp.addons[0].addon_versions #=> Array
1447
+ # resp.addons[0].addon_versions[0].addon_version #=> String
1448
+ # resp.addons[0].addon_versions[0].architecture #=> Array
1449
+ # resp.addons[0].addon_versions[0].architecture[0] #=> String
1450
+ # resp.addons[0].addon_versions[0].compatibilities #=> Array
1451
+ # resp.addons[0].addon_versions[0].compatibilities[0].cluster_version #=> String
1452
+ # resp.addons[0].addon_versions[0].compatibilities[0].platform_versions #=> Array
1453
+ # resp.addons[0].addon_versions[0].compatibilities[0].platform_versions[0] #=> String
1454
+ # resp.addons[0].addon_versions[0].compatibilities[0].default_version #=> Boolean
1455
+ # resp.next_token #=> String
1456
+ #
1457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersions AWS API Documentation
1458
+ #
1459
+ # @overload describe_addon_versions(params = {})
1460
+ # @param [Hash] params ({})
1461
+ def describe_addon_versions(params = {}, options = {})
1462
+ req = build_request(:describe_addon_versions, params)
1463
+ req.send_request(options)
1464
+ end
1465
+
1163
1466
  # Returns descriptive information about an Amazon EKS cluster.
1164
1467
  #
1165
1468
  # The API server endpoint and certificate authority data returned by
@@ -1349,6 +1652,7 @@ module Aws::EKS
1349
1652
  # resp.nodegroup.created_at #=> Time
1350
1653
  # resp.nodegroup.modified_at #=> Time
1351
1654
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1655
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
1352
1656
  # resp.nodegroup.scaling_config.min_size #=> Integer
1353
1657
  # resp.nodegroup.scaling_config.max_size #=> Integer
1354
1658
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1409,6 +1713,14 @@ module Aws::EKS
1409
1713
  # @option params [String] :nodegroup_name
1410
1714
  # The name of the Amazon EKS node group associated with the update.
1411
1715
  #
1716
+ # @option params [String] :addon_name
1717
+ # The name of the add-on. The name must match one of the names returned
1718
+ # by [ `ListAddons` ][1].
1719
+ #
1720
+ #
1721
+ #
1722
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1723
+ #
1412
1724
  # @return [Types::DescribeUpdateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1413
1725
  #
1414
1726
  # * {Types::DescribeUpdateResponse#update #update} => Types::Update
@@ -1419,19 +1731,20 @@ module Aws::EKS
1419
1731
  # name: "String", # required
1420
1732
  # update_id: "String", # required
1421
1733
  # nodegroup_name: "String",
1734
+ # addon_name: "String",
1422
1735
  # })
1423
1736
  #
1424
1737
  # @example Response structure
1425
1738
  #
1426
1739
  # resp.update.id #=> String
1427
1740
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1428
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
1741
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
1429
1742
  # resp.update.params #=> Array
1430
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs"
1743
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1431
1744
  # resp.update.params[0].value #=> String
1432
1745
  # resp.update.created_at #=> Time
1433
1746
  # resp.update.errors #=> Array
1434
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable"
1747
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1435
1748
  # resp.update.errors[0].error_message #=> String
1436
1749
  # resp.update.errors[0].resource_ids #=> Array
1437
1750
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1445,6 +1758,63 @@ module Aws::EKS
1445
1758
  req.send_request(options)
1446
1759
  end
1447
1760
 
1761
+ # Lists the available add-ons.
1762
+ #
1763
+ # @option params [required, String] :cluster_name
1764
+ # The name of the cluster.
1765
+ #
1766
+ # @option params [Integer] :max_results
1767
+ # The maximum number of add-on results returned by `ListAddonsRequest`
1768
+ # in paginated output. When you use this parameter, `ListAddonsRequest`
1769
+ # returns only `maxResults` results in a single page along with a
1770
+ # `nextToken` response element. You can see the remaining results of the
1771
+ # initial request by sending another `ListAddonsRequest` request with
1772
+ # the returned `nextToken` value. This value can be between 1 and 100.
1773
+ # If you don't use this parameter, `ListAddonsRequest` returns up to
1774
+ # 100 results and a `nextToken` value, if applicable.
1775
+ #
1776
+ # @option params [String] :next_token
1777
+ # The `nextToken` value returned from a previous paginated
1778
+ # `ListAddonsRequest` where `maxResults` was used and the results
1779
+ # exceeded the value of that parameter. Pagination continues from the
1780
+ # end of the previous results that returned the `nextToken` value.
1781
+ #
1782
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used only
1783
+ # to retrieve the next items in a list and not for other programmatic
1784
+ # purposes.
1785
+ #
1786
+ # </note>
1787
+ #
1788
+ # @return [Types::ListAddonsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1789
+ #
1790
+ # * {Types::ListAddonsResponse#addons #addons} => Array&lt;String&gt;
1791
+ # * {Types::ListAddonsResponse#next_token #next_token} => String
1792
+ #
1793
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1794
+ #
1795
+ # @example Request syntax with placeholder values
1796
+ #
1797
+ # resp = client.list_addons({
1798
+ # cluster_name: "ClusterName", # required
1799
+ # max_results: 1,
1800
+ # next_token: "String",
1801
+ # })
1802
+ #
1803
+ # @example Response structure
1804
+ #
1805
+ # resp.addons #=> Array
1806
+ # resp.addons[0] #=> String
1807
+ # resp.next_token #=> String
1808
+ #
1809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddons AWS API Documentation
1810
+ #
1811
+ # @overload list_addons(params = {})
1812
+ # @param [Hash] params ({})
1813
+ def list_addons(params = {}, options = {})
1814
+ req = build_request(:list_addons, params)
1815
+ req.send_request(options)
1816
+ end
1817
+
1448
1818
  # Lists the Amazon EKS clusters in your AWS account in the specified
1449
1819
  # Region.
1450
1820
  #
@@ -1680,6 +2050,9 @@ module Aws::EKS
1680
2050
  # @option params [String] :nodegroup_name
1681
2051
  # The name of the Amazon EKS managed node group to list updates for.
1682
2052
  #
2053
+ # @option params [String] :addon_name
2054
+ # The names of the installed add-ons that have available updates.
2055
+ #
1683
2056
  # @option params [String] :next_token
1684
2057
  # The `nextToken` value returned from a previous paginated `ListUpdates`
1685
2058
  # request where `maxResults` was used and the results exceeded the value
@@ -1708,6 +2081,7 @@ module Aws::EKS
1708
2081
  # resp = client.list_updates({
1709
2082
  # name: "String", # required
1710
2083
  # nodegroup_name: "String",
2084
+ # addon_name: "String",
1711
2085
  # next_token: "String",
1712
2086
  # max_results: 1,
1713
2087
  # })
@@ -1792,6 +2166,97 @@ module Aws::EKS
1792
2166
  req.send_request(options)
1793
2167
  end
1794
2168
 
2169
+ # Updates an Amazon EKS add-on.
2170
+ #
2171
+ # @option params [required, String] :cluster_name
2172
+ # The name of the cluster.
2173
+ #
2174
+ # @option params [required, String] :addon_name
2175
+ # The name of the add-on. The name must match one of the names returned
2176
+ # by [ `ListAddons` ][1].
2177
+ #
2178
+ #
2179
+ #
2180
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
2181
+ #
2182
+ # @option params [String] :addon_version
2183
+ # The version of the add-on. The version must match one of the versions
2184
+ # returned by [ `DescribeAddonVersions` ][1].
2185
+ #
2186
+ #
2187
+ #
2188
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
2189
+ #
2190
+ # @option params [String] :service_account_role_arn
2191
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to the
2192
+ # add-on's service account. The role must be assigned the IAM
2193
+ # permissions required by the add-on. If you don't specify an existing
2194
+ # IAM role, then the add-on uses the permissions assigned to the node
2195
+ # IAM role. For more information, see [Amazon EKS node IAM role][1] in
2196
+ # the *Amazon EKS User Guide*.
2197
+ #
2198
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
2199
+ # (OIDC) provider created for your cluster. For more information, see
2200
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
2201
+ # *Amazon EKS User Guide*.
2202
+ #
2203
+ # </note>
2204
+ #
2205
+ #
2206
+ #
2207
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
2208
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
2209
+ #
2210
+ # @option params [String] :resolve_conflicts
2211
+ # How to resolve parameter value conflicts when applying the new version
2212
+ # of the add-on to the cluster.
2213
+ #
2214
+ # @option params [String] :client_request_token
2215
+ # Unique, case-sensitive identifier that you provide to ensure the
2216
+ # idempotency of the request.
2217
+ #
2218
+ # **A suitable default value is auto-generated.** You should normally
2219
+ # not need to pass this option.**
2220
+ #
2221
+ # @return [Types::UpdateAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2222
+ #
2223
+ # * {Types::UpdateAddonResponse#update #update} => Types::Update
2224
+ #
2225
+ # @example Request syntax with placeholder values
2226
+ #
2227
+ # resp = client.update_addon({
2228
+ # cluster_name: "ClusterName", # required
2229
+ # addon_name: "String", # required
2230
+ # addon_version: "String",
2231
+ # service_account_role_arn: "RoleArn",
2232
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
2233
+ # client_request_token: "String",
2234
+ # })
2235
+ #
2236
+ # @example Response structure
2237
+ #
2238
+ # resp.update.id #=> String
2239
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2240
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2241
+ # resp.update.params #=> Array
2242
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2243
+ # resp.update.params[0].value #=> String
2244
+ # resp.update.created_at #=> Time
2245
+ # resp.update.errors #=> Array
2246
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2247
+ # resp.update.errors[0].error_message #=> String
2248
+ # resp.update.errors[0].resource_ids #=> Array
2249
+ # resp.update.errors[0].resource_ids[0] #=> String
2250
+ #
2251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddon AWS API Documentation
2252
+ #
2253
+ # @overload update_addon(params = {})
2254
+ # @param [Hash] params ({})
2255
+ def update_addon(params = {}, options = {})
2256
+ req = build_request(:update_addon, params)
2257
+ req.send_request(options)
2258
+ end
2259
+
1795
2260
  # Updates an Amazon EKS cluster configuration. Your cluster continues to
1796
2261
  # function during the update. The response output includes an update ID
1797
2262
  # that you can use to track the status of your cluster update with the
@@ -1892,13 +2357,13 @@ module Aws::EKS
1892
2357
  #
1893
2358
  # resp.update.id #=> String
1894
2359
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1895
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2360
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
1896
2361
  # resp.update.params #=> Array
1897
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs"
2362
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1898
2363
  # resp.update.params[0].value #=> String
1899
2364
  # resp.update.created_at #=> Time
1900
2365
  # resp.update.errors #=> Array
1901
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable"
2366
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1902
2367
  # resp.update.errors[0].error_message #=> String
1903
2368
  # resp.update.errors[0].resource_ids #=> Array
1904
2369
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1956,13 +2421,13 @@ module Aws::EKS
1956
2421
  #
1957
2422
  # resp.update.id #=> String
1958
2423
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1959
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2424
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
1960
2425
  # resp.update.params #=> Array
1961
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs"
2426
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1962
2427
  # resp.update.params[0].value #=> String
1963
2428
  # resp.update.created_at #=> Time
1964
2429
  # resp.update.errors #=> Array
1965
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable"
2430
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1966
2431
  # resp.update.errors[0].error_message #=> String
1967
2432
  # resp.update.errors[0].resource_ids #=> Array
1968
2433
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2032,13 +2497,13 @@ module Aws::EKS
2032
2497
  #
2033
2498
  # resp.update.id #=> String
2034
2499
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2035
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2500
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2036
2501
  # resp.update.params #=> Array
2037
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs"
2502
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2038
2503
  # resp.update.params[0].value #=> String
2039
2504
  # resp.update.created_at #=> Time
2040
2505
  # resp.update.errors #=> Array
2041
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable"
2506
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2042
2507
  # resp.update.errors[0].error_message #=> String
2043
2508
  # resp.update.errors[0].resource_ids #=> Array
2044
2509
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2067,8 +2532,8 @@ module Aws::EKS
2067
2532
  # version by not specifying a Kubernetes version in the request. You can
2068
2533
  # update to the latest AMI version of your cluster's current Kubernetes
2069
2534
  # version by specifying your cluster's Kubernetes version in the
2070
- # request. For more information, see [Amazon EKS-Optimized Linux AMI
2071
- # Versions][1] in the *Amazon EKS User Guide*.
2535
+ # request. For more information, see [Amazon EKS optimized Amazon Linux
2536
+ # 2 AMI versions][1] in the *Amazon EKS User Guide*.
2072
2537
  #
2073
2538
  # You cannot roll back a node group to an earlier Kubernetes version or
2074
2539
  # AMI version.
@@ -2105,12 +2570,12 @@ module Aws::EKS
2105
2570
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
2106
2571
  #
2107
2572
  # @option params [String] :release_version
2108
- # The AMI version of the Amazon EKS-optimized AMI to use for the update.
2573
+ # The AMI version of the Amazon EKS optimized AMI to use for the update.
2109
2574
  # By default, the latest available AMI version for the node group's
2110
- # Kubernetes version is used. For more information, see [Amazon
2111
- # EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS User Guide*.
2112
- # If you specify `launchTemplate`, and your launch template uses a
2113
- # custom AMI, then don't specify `releaseVersion`, or the node group
2575
+ # Kubernetes version is used. For more information, see [Amazon EKS
2576
+ # optimized Amazon Linux 2 AMI versions ][1] in the *Amazon EKS User
2577
+ # Guide*. If you specify `launchTemplate`, and your launch template uses
2578
+ # a custom AMI, then don't specify `releaseVersion`, or the node group
2114
2579
  # update will fail. For more information about using launch templates
2115
2580
  # with Amazon EKS, see [Launch template support][2] in the Amazon EKS
2116
2581
  # User Guide.
@@ -2163,13 +2628,13 @@ module Aws::EKS
2163
2628
  #
2164
2629
  # resp.update.id #=> String
2165
2630
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2166
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2631
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2167
2632
  # resp.update.params #=> Array
2168
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs"
2633
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2169
2634
  # resp.update.params[0].value #=> String
2170
2635
  # resp.update.created_at #=> Time
2171
2636
  # resp.update.errors #=> Array
2172
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable"
2637
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2173
2638
  # resp.update.errors[0].error_message #=> String
2174
2639
  # resp.update.errors[0].resource_ids #=> Array
2175
2640
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2196,7 +2661,7 @@ module Aws::EKS
2196
2661
  params: params,
2197
2662
  config: config)
2198
2663
  context[:gem_name] = 'aws-sdk-eks'
2199
- context[:gem_version] = '1.45.0'
2664
+ context[:gem_version] = '1.46.0'
2200
2665
  Seahorse::Client::Request.new(handlers, context)
2201
2666
  end
2202
2667
 
@@ -2264,6 +2729,8 @@ module Aws::EKS
2264
2729
  #
2265
2730
  # | waiter_name | params | :delay | :max_attempts |
2266
2731
  # | ----------------- | --------------------------- | -------- | ------------- |
2732
+ # | addon_active | {Client#describe_addon} | 10 | 60 |
2733
+ # | addon_deleted | {Client#describe_addon} | 10 | 60 |
2267
2734
  # | cluster_active | {Client#describe_cluster} | 30 | 40 |
2268
2735
  # | cluster_deleted | {Client#describe_cluster} | 30 | 40 |
2269
2736
  # | nodegroup_active | {Client#describe_nodegroup} | 30 | 80 |
@@ -2318,6 +2785,8 @@ module Aws::EKS
2318
2785
 
2319
2786
  def waiters
2320
2787
  {
2788
+ addon_active: Waiters::AddonActive,
2789
+ addon_deleted: Waiters::AddonDeleted,
2321
2790
  cluster_active: Waiters::ClusterActive,
2322
2791
  cluster_deleted: Waiters::ClusterDeleted,
2323
2792
  nodegroup_active: Waiters::NodegroupActive,