aws-sdk-eks 1.41.0 → 1.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2b03f10450950502d671304c3de8322d3aec0442641082415545f874a044531
4
- data.tar.gz: 3fffc6ece85195a0a650d0836c8a95b72ea86d91e6cd04dc1600b68b85f4d378
3
+ metadata.gz: be4933b2912d1c7a8f033ce60f60604827117d9de3061657c42c921abf85379b
4
+ data.tar.gz: fd73987321587dd5e3f803c824bdb7d52381dfb183a663c7fb0e248eab4ac965
5
5
  SHA512:
6
- metadata.gz: 5c1129757f9e911df2009bec1e9233eb4720a8599f214deb88f2eeceec7e3f18976df94cc0aaf5a706dc5330f2911494620a0a7a2d3974379706d1b74c77750c
7
- data.tar.gz: c7e15b32a786697977c84ebcf33b00860652ba28d0833e39d84fe93f306b31f150fc27bccb3eebf3a43f6243d646933f0309869e9ed047200bb5828e155803ad
6
+ metadata.gz: 1d3f3897d1937c9d7c411d071aba8298fc43d29fffab08048df9202f97c8d0e433d531a7a34c7e4f9fbf9cd13b1c6159bf9fe8146035bf8469dea4479bef37b1
7
+ data.tar.gz: 97b158c32d7575762a4d0dcc7952b5d3e1eee3f849f626bd33a2aa6a338c6abdcd4ad45b100179ebeab5a9616722ed67265a39f401ec202716a938afe42de912
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -28,7 +29,7 @@ require_relative 'aws-sdk-eks/customizations'
28
29
  # structure.
29
30
  #
30
31
  # eks = Aws::EKS::Client.new
31
- # resp = eks.create_cluster(params)
32
+ # resp = eks.create_addon(params)
32
33
  #
33
34
  # See {Client} for more information.
34
35
  #
@@ -48,6 +49,6 @@ require_relative 'aws-sdk-eks/customizations'
48
49
  # @!group service
49
50
  module Aws::EKS
50
51
 
51
- GEM_VERSION = '1.41.0'
52
+ GEM_VERSION = '1.46.0'
52
53
 
53
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
@@ -412,6 +521,9 @@ module Aws::EKS
412
521
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html
413
522
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
414
523
  #
524
+ # @option params [Types::KubernetesNetworkConfigRequest] :kubernetes_network_config
525
+ # The Kubernetes network configuration for the cluster.
526
+ #
415
527
  # @option params [Types::Logging] :logging
416
528
  # Enable or disable exporting the Kubernetes control plane logs for your
417
529
  # cluster to CloudWatch Logs. By default, cluster control plane logs
@@ -487,6 +599,9 @@ module Aws::EKS
487
599
  # endpoint_private_access: false,
488
600
  # public_access_cidrs: ["String"],
489
601
  # },
602
+ # kubernetes_network_config: {
603
+ # service_ipv_4_cidr: "String",
604
+ # },
490
605
  # logging: {
491
606
  # cluster_logging: [
492
607
  # {
@@ -527,6 +642,7 @@ module Aws::EKS
527
642
  # resp.cluster.resources_vpc_config.endpoint_private_access #=> Boolean
528
643
  # resp.cluster.resources_vpc_config.public_access_cidrs #=> Array
529
644
  # resp.cluster.resources_vpc_config.public_access_cidrs[0] #=> String
645
+ # resp.cluster.kubernetes_network_config.service_ipv_4_cidr #=> String
530
646
  # resp.cluster.logging.cluster_logging #=> Array
531
647
  # resp.cluster.logging.cluster_logging[0].types #=> Array
532
648
  # resp.cluster.logging.cluster_logging[0].types[0] #=> String, one of "api", "audit", "authenticator", "controllerManager", "scheduler"
@@ -698,9 +814,9 @@ module Aws::EKS
698
814
  #
699
815
  # An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group
700
816
  # and associated Amazon EC2 instances that are managed by AWS for an
701
- # Amazon EKS cluster. Each node group uses a version of the Amazon
702
- # EKS-optimized Amazon Linux 2 AMI. For more information, see [Managed
703
- # 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*.
704
820
  #
705
821
  #
706
822
  #
@@ -744,28 +860,34 @@ module Aws::EKS
744
860
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
745
861
  #
746
862
  # @option params [Array<String>] :instance_types
747
- # The instance type to use for your node group. You can specify a single
748
- # instance type for a node group. The default value for `instanceTypes`
749
- # is `t3.medium`. If you choose a GPU instance type, be sure to specify
750
- # `AL2_x86_64_GPU` with the `amiType` parameter. If you specify
751
- # `launchTemplate`, then don't specify `instanceTypes`, or the node
752
- # group deployment will fail. For more information about using launch
753
- # templates with Amazon EKS, see [Launch template support][1] in the
754
- # Amazon EKS User Guide.
755
- #
756
- #
757
- #
758
- # [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
759
881
  #
760
882
  # @option params [String] :ami_type
761
883
  # The AMI type for your node group. GPU instance types should use the
762
- # `AL2_x86_64_GPU` AMI type, which uses the Amazon EKS-optimized Linux
763
- # AMI with GPU support. Non-GPU instances should use the `AL2_x86_64`
764
- # AMI type, which uses the Amazon EKS-optimized Linux AMI. If you
765
- # specify `launchTemplate`, and your launch template uses a custom AMI,
766
- # then don't specify `amiType`, or the node group deployment will fail.
767
- # For more information about using launch templates with Amazon EKS, see
768
- # [Launch template support][1] in the Amazon EKS User Guide.
884
+ # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
885
+ # `AL2_x86_64` AMI type. Arm instances should use the `AL2_ARM_64` AMI
886
+ # type. All types use the Amazon EKS optimized Amazon Linux 2 AMI. If
887
+ # you specify `launchTemplate`, and your launch template uses a custom
888
+ # AMI, then don't specify `amiType`, or the node group deployment will
889
+ # fail. For more information about using launch templates with Amazon
890
+ # EKS, see [Launch template support][1] in the Amazon EKS User Guide.
769
891
  #
770
892
  #
771
893
  #
@@ -823,8 +945,11 @@ module Aws::EKS
823
945
  # @option params [Types::LaunchTemplateSpecification] :launch_template
824
946
  # An object representing a node group's launch template specification.
825
947
  # If specified, then do not specify `instanceTypes`, `diskSize`, or
826
- # `remoteAccess`. If specified, make sure that the launch template meets
827
- # the requirements in `launchTemplateSpecification`.
948
+ # `remoteAccess` and make sure that the launch template meets the
949
+ # requirements in `launchTemplateSpecification`.
950
+ #
951
+ # @option params [String] :capacity_type
952
+ # The capacity type for your node group.
828
953
  #
829
954
  # @option params [String] :version
830
955
  # The Kubernetes version to use for your managed nodes. By default, the
@@ -840,15 +965,15 @@ module Aws::EKS
840
965
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
841
966
  #
842
967
  # @option params [String] :release_version
843
- # 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
844
969
  # group. By default, the latest available AMI version for the node
845
970
  # group's current Kubernetes version is used. For more information, see
846
- # [Amazon EKS-Optimized Linux AMI Versions][1] in the *Amazon EKS User
847
- # Guide*. If you specify `launchTemplate`, and your launch template uses
848
- # a custom AMI, then don't specify `releaseVersion`, or the node group
849
- # deployment will fail. For more information about using launch
850
- # templates with Amazon EKS, see [Launch template support][2] in the
851
- # 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.
852
977
  #
853
978
  #
854
979
  #
@@ -890,6 +1015,7 @@ module Aws::EKS
890
1015
  # version: "String",
891
1016
  # id: "String",
892
1017
  # },
1018
+ # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
893
1019
  # version: "String",
894
1020
  # release_version: "String",
895
1021
  # })
@@ -904,6 +1030,7 @@ module Aws::EKS
904
1030
  # resp.nodegroup.created_at #=> Time
905
1031
  # resp.nodegroup.modified_at #=> Time
906
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"
907
1034
  # resp.nodegroup.scaling_config.min_size #=> Integer
908
1035
  # resp.nodegroup.scaling_config.max_size #=> Integer
909
1036
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -923,7 +1050,7 @@ module Aws::EKS
923
1050
  # resp.nodegroup.resources.remote_access_security_group #=> String
924
1051
  # resp.nodegroup.disk_size #=> Integer
925
1052
  # resp.nodegroup.health.issues #=> Array
926
- # resp.nodegroup.health.issues[0].code #=> String, one of "AutoScalingGroupNotFound", "AutoScalingGroupInvalidConfiguration", "Ec2SecurityGroupNotFound", "Ec2SecurityGroupDeletionFailure", "Ec2LaunchTemplateNotFound", "Ec2LaunchTemplateVersionMismatch", "Ec2SubnetNotFound", "Ec2SubnetInvalidConfiguration", "IamInstanceProfileNotFound", "IamLimitExceeded", "IamNodeRoleNotFound", "NodeCreationFailure", "AsgInstanceLaunchFailures", "InstanceLimitExceeded", "InsufficientFreeAddresses", "AccessDenied", "InternalFailure"
1053
+ # resp.nodegroup.health.issues[0].code #=> String, one of "AutoScalingGroupNotFound", "AutoScalingGroupInvalidConfiguration", "Ec2SecurityGroupNotFound", "Ec2SecurityGroupDeletionFailure", "Ec2LaunchTemplateNotFound", "Ec2LaunchTemplateVersionMismatch", "Ec2SubnetNotFound", "Ec2SubnetInvalidConfiguration", "IamInstanceProfileNotFound", "IamLimitExceeded", "IamNodeRoleNotFound", "NodeCreationFailure", "AsgInstanceLaunchFailures", "InstanceLimitExceeded", "InsufficientFreeAddresses", "AccessDenied", "InternalFailure", "ClusterUnreachable"
927
1054
  # resp.nodegroup.health.issues[0].message #=> String
928
1055
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
929
1056
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -942,6 +1069,61 @@ module Aws::EKS
942
1069
  req.send_request(options)
943
1070
  end
944
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
+
945
1127
  # Deletes the Amazon EKS cluster control plane.
946
1128
  #
947
1129
  # If you have active services in your cluster that are associated with a
@@ -1003,6 +1185,7 @@ module Aws::EKS
1003
1185
  # resp.cluster.resources_vpc_config.endpoint_private_access #=> Boolean
1004
1186
  # resp.cluster.resources_vpc_config.public_access_cidrs #=> Array
1005
1187
  # resp.cluster.resources_vpc_config.public_access_cidrs[0] #=> String
1188
+ # resp.cluster.kubernetes_network_config.service_ipv_4_cidr #=> String
1006
1189
  # resp.cluster.logging.cluster_logging #=> Array
1007
1190
  # resp.cluster.logging.cluster_logging[0].types #=> Array
1008
1191
  # resp.cluster.logging.cluster_logging[0].types[0] #=> String, one of "api", "audit", "authenticator", "controllerManager", "scheduler"
@@ -1114,6 +1297,7 @@ module Aws::EKS
1114
1297
  # resp.nodegroup.created_at #=> Time
1115
1298
  # resp.nodegroup.modified_at #=> Time
1116
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"
1117
1301
  # resp.nodegroup.scaling_config.min_size #=> Integer
1118
1302
  # resp.nodegroup.scaling_config.max_size #=> Integer
1119
1303
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1133,7 +1317,7 @@ module Aws::EKS
1133
1317
  # resp.nodegroup.resources.remote_access_security_group #=> String
1134
1318
  # resp.nodegroup.disk_size #=> Integer
1135
1319
  # resp.nodegroup.health.issues #=> Array
1136
- # resp.nodegroup.health.issues[0].code #=> String, one of "AutoScalingGroupNotFound", "AutoScalingGroupInvalidConfiguration", "Ec2SecurityGroupNotFound", "Ec2SecurityGroupDeletionFailure", "Ec2LaunchTemplateNotFound", "Ec2LaunchTemplateVersionMismatch", "Ec2SubnetNotFound", "Ec2SubnetInvalidConfiguration", "IamInstanceProfileNotFound", "IamLimitExceeded", "IamNodeRoleNotFound", "NodeCreationFailure", "AsgInstanceLaunchFailures", "InstanceLimitExceeded", "InsufficientFreeAddresses", "AccessDenied", "InternalFailure"
1320
+ # resp.nodegroup.health.issues[0].code #=> String, one of "AutoScalingGroupNotFound", "AutoScalingGroupInvalidConfiguration", "Ec2SecurityGroupNotFound", "Ec2SecurityGroupDeletionFailure", "Ec2LaunchTemplateNotFound", "Ec2LaunchTemplateVersionMismatch", "Ec2SubnetNotFound", "Ec2SubnetInvalidConfiguration", "IamInstanceProfileNotFound", "IamLimitExceeded", "IamNodeRoleNotFound", "NodeCreationFailure", "AsgInstanceLaunchFailures", "InstanceLimitExceeded", "InsufficientFreeAddresses", "AccessDenied", "InternalFailure", "ClusterUnreachable"
1137
1321
  # resp.nodegroup.health.issues[0].message #=> String
1138
1322
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1139
1323
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -1152,6 +1336,133 @@ module Aws::EKS
1152
1336
  req.send_request(options)
1153
1337
  end
1154
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
+
1155
1466
  # Returns descriptive information about an Amazon EKS cluster.
1156
1467
  #
1157
1468
  # The API server endpoint and certificate authority data returned by
@@ -1234,6 +1545,7 @@ module Aws::EKS
1234
1545
  # resp.cluster.resources_vpc_config.endpoint_private_access #=> Boolean
1235
1546
  # resp.cluster.resources_vpc_config.public_access_cidrs #=> Array
1236
1547
  # resp.cluster.resources_vpc_config.public_access_cidrs[0] #=> String
1548
+ # resp.cluster.kubernetes_network_config.service_ipv_4_cidr #=> String
1237
1549
  # resp.cluster.logging.cluster_logging #=> Array
1238
1550
  # resp.cluster.logging.cluster_logging[0].types #=> Array
1239
1551
  # resp.cluster.logging.cluster_logging[0].types[0] #=> String, one of "api", "audit", "authenticator", "controllerManager", "scheduler"
@@ -1340,6 +1652,7 @@ module Aws::EKS
1340
1652
  # resp.nodegroup.created_at #=> Time
1341
1653
  # resp.nodegroup.modified_at #=> Time
1342
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"
1343
1656
  # resp.nodegroup.scaling_config.min_size #=> Integer
1344
1657
  # resp.nodegroup.scaling_config.max_size #=> Integer
1345
1658
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1359,7 +1672,7 @@ module Aws::EKS
1359
1672
  # resp.nodegroup.resources.remote_access_security_group #=> String
1360
1673
  # resp.nodegroup.disk_size #=> Integer
1361
1674
  # resp.nodegroup.health.issues #=> Array
1362
- # resp.nodegroup.health.issues[0].code #=> String, one of "AutoScalingGroupNotFound", "AutoScalingGroupInvalidConfiguration", "Ec2SecurityGroupNotFound", "Ec2SecurityGroupDeletionFailure", "Ec2LaunchTemplateNotFound", "Ec2LaunchTemplateVersionMismatch", "Ec2SubnetNotFound", "Ec2SubnetInvalidConfiguration", "IamInstanceProfileNotFound", "IamLimitExceeded", "IamNodeRoleNotFound", "NodeCreationFailure", "AsgInstanceLaunchFailures", "InstanceLimitExceeded", "InsufficientFreeAddresses", "AccessDenied", "InternalFailure"
1675
+ # resp.nodegroup.health.issues[0].code #=> String, one of "AutoScalingGroupNotFound", "AutoScalingGroupInvalidConfiguration", "Ec2SecurityGroupNotFound", "Ec2SecurityGroupDeletionFailure", "Ec2LaunchTemplateNotFound", "Ec2LaunchTemplateVersionMismatch", "Ec2SubnetNotFound", "Ec2SubnetInvalidConfiguration", "IamInstanceProfileNotFound", "IamLimitExceeded", "IamNodeRoleNotFound", "NodeCreationFailure", "AsgInstanceLaunchFailures", "InstanceLimitExceeded", "InsufficientFreeAddresses", "AccessDenied", "InternalFailure", "ClusterUnreachable"
1363
1676
  # resp.nodegroup.health.issues[0].message #=> String
1364
1677
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1365
1678
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -1400,6 +1713,14 @@ module Aws::EKS
1400
1713
  # @option params [String] :nodegroup_name
1401
1714
  # The name of the Amazon EKS node group associated with the update.
1402
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
+ #
1403
1724
  # @return [Types::DescribeUpdateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1404
1725
  #
1405
1726
  # * {Types::DescribeUpdateResponse#update #update} => Types::Update
@@ -1410,19 +1731,20 @@ module Aws::EKS
1410
1731
  # name: "String", # required
1411
1732
  # update_id: "String", # required
1412
1733
  # nodegroup_name: "String",
1734
+ # addon_name: "String",
1413
1735
  # })
1414
1736
  #
1415
1737
  # @example Response structure
1416
1738
  #
1417
1739
  # resp.update.id #=> String
1418
1740
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1419
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
1741
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
1420
1742
  # resp.update.params #=> Array
1421
- # 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"
1422
1744
  # resp.update.params[0].value #=> String
1423
1745
  # resp.update.created_at #=> Time
1424
1746
  # resp.update.errors #=> Array
1425
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses"
1747
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1426
1748
  # resp.update.errors[0].error_message #=> String
1427
1749
  # resp.update.errors[0].resource_ids #=> Array
1428
1750
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1436,6 +1758,63 @@ module Aws::EKS
1436
1758
  req.send_request(options)
1437
1759
  end
1438
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
+
1439
1818
  # Lists the Amazon EKS clusters in your AWS account in the specified
1440
1819
  # Region.
1441
1820
  #
@@ -1671,6 +2050,9 @@ module Aws::EKS
1671
2050
  # @option params [String] :nodegroup_name
1672
2051
  # The name of the Amazon EKS managed node group to list updates for.
1673
2052
  #
2053
+ # @option params [String] :addon_name
2054
+ # The names of the installed add-ons that have available updates.
2055
+ #
1674
2056
  # @option params [String] :next_token
1675
2057
  # The `nextToken` value returned from a previous paginated `ListUpdates`
1676
2058
  # request where `maxResults` was used and the results exceeded the value
@@ -1699,6 +2081,7 @@ module Aws::EKS
1699
2081
  # resp = client.list_updates({
1700
2082
  # name: "String", # required
1701
2083
  # nodegroup_name: "String",
2084
+ # addon_name: "String",
1702
2085
  # next_token: "String",
1703
2086
  # max_results: 1,
1704
2087
  # })
@@ -1783,6 +2166,97 @@ module Aws::EKS
1783
2166
  req.send_request(options)
1784
2167
  end
1785
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
+
1786
2260
  # Updates an Amazon EKS cluster configuration. Your cluster continues to
1787
2261
  # function during the update. The response output includes an update ID
1788
2262
  # that you can use to track the status of your cluster update with the
@@ -1883,13 +2357,13 @@ module Aws::EKS
1883
2357
  #
1884
2358
  # resp.update.id #=> String
1885
2359
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1886
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2360
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
1887
2361
  # resp.update.params #=> Array
1888
- # 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"
1889
2363
  # resp.update.params[0].value #=> String
1890
2364
  # resp.update.created_at #=> Time
1891
2365
  # resp.update.errors #=> Array
1892
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses"
2366
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1893
2367
  # resp.update.errors[0].error_message #=> String
1894
2368
  # resp.update.errors[0].resource_ids #=> Array
1895
2369
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1947,13 +2421,13 @@ module Aws::EKS
1947
2421
  #
1948
2422
  # resp.update.id #=> String
1949
2423
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1950
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2424
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
1951
2425
  # resp.update.params #=> Array
1952
- # 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"
1953
2427
  # resp.update.params[0].value #=> String
1954
2428
  # resp.update.created_at #=> Time
1955
2429
  # resp.update.errors #=> Array
1956
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses"
2430
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1957
2431
  # resp.update.errors[0].error_message #=> String
1958
2432
  # resp.update.errors[0].resource_ids #=> Array
1959
2433
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2023,13 +2497,13 @@ module Aws::EKS
2023
2497
  #
2024
2498
  # resp.update.id #=> String
2025
2499
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2026
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2500
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2027
2501
  # resp.update.params #=> Array
2028
- # 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"
2029
2503
  # resp.update.params[0].value #=> String
2030
2504
  # resp.update.created_at #=> Time
2031
2505
  # resp.update.errors #=> Array
2032
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses"
2506
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2033
2507
  # resp.update.errors[0].error_message #=> String
2034
2508
  # resp.update.errors[0].resource_ids #=> Array
2035
2509
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2058,8 +2532,8 @@ module Aws::EKS
2058
2532
  # version by not specifying a Kubernetes version in the request. You can
2059
2533
  # update to the latest AMI version of your cluster's current Kubernetes
2060
2534
  # version by specifying your cluster's Kubernetes version in the
2061
- # request. For more information, see [Amazon EKS-Optimized Linux AMI
2062
- # 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*.
2063
2537
  #
2064
2538
  # You cannot roll back a node group to an earlier Kubernetes version or
2065
2539
  # AMI version.
@@ -2096,12 +2570,12 @@ module Aws::EKS
2096
2570
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
2097
2571
  #
2098
2572
  # @option params [String] :release_version
2099
- # 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.
2100
2574
  # By default, the latest available AMI version for the node group's
2101
- # Kubernetes version is used. For more information, see [Amazon
2102
- # EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS User Guide*.
2103
- # If you specify `launchTemplate`, and your launch template uses a
2104
- # 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
2105
2579
  # update will fail. For more information about using launch templates
2106
2580
  # with Amazon EKS, see [Launch template support][2] in the Amazon EKS
2107
2581
  # User Guide.
@@ -2154,13 +2628,13 @@ module Aws::EKS
2154
2628
  #
2155
2629
  # resp.update.id #=> String
2156
2630
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2157
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2631
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2158
2632
  # resp.update.params #=> Array
2159
- # 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"
2160
2634
  # resp.update.params[0].value #=> String
2161
2635
  # resp.update.created_at #=> Time
2162
2636
  # resp.update.errors #=> Array
2163
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses"
2637
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2164
2638
  # resp.update.errors[0].error_message #=> String
2165
2639
  # resp.update.errors[0].resource_ids #=> Array
2166
2640
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2187,7 +2661,7 @@ module Aws::EKS
2187
2661
  params: params,
2188
2662
  config: config)
2189
2663
  context[:gem_name] = 'aws-sdk-eks'
2190
- context[:gem_version] = '1.41.0'
2664
+ context[:gem_version] = '1.46.0'
2191
2665
  Seahorse::Client::Request.new(handlers, context)
2192
2666
  end
2193
2667
 
@@ -2255,6 +2729,8 @@ module Aws::EKS
2255
2729
  #
2256
2730
  # | waiter_name | params | :delay | :max_attempts |
2257
2731
  # | ----------------- | --------------------------- | -------- | ------------- |
2732
+ # | addon_active | {Client#describe_addon} | 10 | 60 |
2733
+ # | addon_deleted | {Client#describe_addon} | 10 | 60 |
2258
2734
  # | cluster_active | {Client#describe_cluster} | 30 | 40 |
2259
2735
  # | cluster_deleted | {Client#describe_cluster} | 30 | 40 |
2260
2736
  # | nodegroup_active | {Client#describe_nodegroup} | 30 | 80 |
@@ -2309,6 +2785,8 @@ module Aws::EKS
2309
2785
 
2310
2786
  def waiters
2311
2787
  {
2788
+ addon_active: Waiters::AddonActive,
2789
+ addon_deleted: Waiters::AddonDeleted,
2312
2790
  cluster_active: Waiters::ClusterActive,
2313
2791
  cluster_deleted: Waiters::ClusterDeleted,
2314
2792
  nodegroup_active: Waiters::NodegroupActive,