aws-sdk-eks 1.43.0 → 1.48.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: e643aaeaf6fd2bd87ba886b74fdfe88f835a49e0a8a4c3b70d5154488db1a163
4
- data.tar.gz: 1d5772c7531bab316e3a6252578e18bce2ce916a88a9ace4cba5d69a3c7330aa
3
+ metadata.gz: 0b1c3f7cce5382aa4915e73e0a377fd33b41ba434fe12a63fe88060c919887e1
4
+ data.tar.gz: 78b156f3aab22218d2ca57ba19f0f63dead8a74a331b236929ffe5c20c791e51
5
5
  SHA512:
6
- metadata.gz: 132b8a7b2eea84d79a9c00ce7d19ed6d616343ea523bc01124c8d211f738fa40d49b2577bf4302d8c7f6c89980bfa5a61b2655f7589899f3ca6154c77faaeb36
7
- data.tar.gz: 37562972e2b80cec7326408273befa35865a66565fead20d216ce00c183d77c819a7e586d6fc2b610be9f49ce3bd4e18022f5b1bedd41af161d83c9c19de53b2
6
+ metadata.gz: 6b641475e865247c52ce44bd9eb48029f46869b3053403d43205112d6524daa07bb9846fb58646bc9dfd78ac9fea56558ca00710404717df4eff294d0f67e779
7
+ data.tar.gz: f514dc622a23846e8fe513b76ce59dacf3863144278f9263c2a35af05d89eafd118ba3fe8b4a178f8388f42fc2072a1f0ab0c600a72a1ba134a2af3bb4251b56
data/lib/aws-sdk-eks.rb CHANGED
@@ -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.associate_identity_provider_config(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.43.0'
52
+ GEM_VERSION = '1.48.0'
53
53
 
54
54
  end
@@ -327,6 +327,201 @@ module Aws::EKS
327
327
 
328
328
  # @!group API Operations
329
329
 
330
+ # Associate an identity provider configuration to a cluster.
331
+ #
332
+ # If you want to authenticate identities using an identity provider, you
333
+ # can create an identity provider configuration and associate it to your
334
+ # cluster. After configuring authentication to your cluster you can
335
+ # create Kubernetes `roles` and `clusterroles` to assign permissions to
336
+ # the roles, and then bind the roles to the identities using Kubernetes
337
+ # `rolebindings` and `clusterrolebindings`. For more information see
338
+ # [Using RBAC Authorization][1] in the Kubernetes documentation.
339
+ #
340
+ #
341
+ #
342
+ # [1]: https://kubernetes.io/docs/reference/access-authn-authz/rbac/
343
+ #
344
+ # @option params [required, String] :cluster_name
345
+ # The name of the cluster to associate the configuration to.
346
+ #
347
+ # @option params [required, Types::OidcIdentityProviderConfigRequest] :oidc
348
+ # An object that represents an OpenID Connect (OIDC) identity provider
349
+ # configuration.
350
+ #
351
+ # @option params [Hash<String,String>] :tags
352
+ # The metadata to apply to the configuration to assist with
353
+ # categorization and organization. Each tag consists of a key and an
354
+ # optional value, both of which you define.
355
+ #
356
+ # @option params [String] :client_request_token
357
+ # Unique, case-sensitive identifier that you provide to ensure the
358
+ # idempotency of the request.
359
+ #
360
+ # **A suitable default value is auto-generated.** You should normally
361
+ # not need to pass this option.**
362
+ #
363
+ # @return [Types::AssociateIdentityProviderConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
364
+ #
365
+ # * {Types::AssociateIdentityProviderConfigResponse#update #update} => Types::Update
366
+ # * {Types::AssociateIdentityProviderConfigResponse#tags #tags} => Hash&lt;String,String&gt;
367
+ #
368
+ # @example Request syntax with placeholder values
369
+ #
370
+ # resp = client.associate_identity_provider_config({
371
+ # cluster_name: "String", # required
372
+ # oidc: { # required
373
+ # identity_provider_config_name: "String", # required
374
+ # issuer_url: "String", # required
375
+ # client_id: "String", # required
376
+ # username_claim: "String",
377
+ # username_prefix: "String",
378
+ # groups_claim: "String",
379
+ # groups_prefix: "String",
380
+ # required_claims: {
381
+ # "requiredClaimsKey" => "requiredClaimsValue",
382
+ # },
383
+ # },
384
+ # tags: {
385
+ # "TagKey" => "TagValue",
386
+ # },
387
+ # client_request_token: "String",
388
+ # })
389
+ #
390
+ # @example Response structure
391
+ #
392
+ # resp.update.id #=> String
393
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
394
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
395
+ # resp.update.params #=> Array
396
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
397
+ # resp.update.params[0].value #=> String
398
+ # resp.update.created_at #=> Time
399
+ # resp.update.errors #=> Array
400
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
401
+ # resp.update.errors[0].error_message #=> String
402
+ # resp.update.errors[0].resource_ids #=> Array
403
+ # resp.update.errors[0].resource_ids[0] #=> String
404
+ # resp.tags #=> Hash
405
+ # resp.tags["TagKey"] #=> String
406
+ #
407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfig AWS API Documentation
408
+ #
409
+ # @overload associate_identity_provider_config(params = {})
410
+ # @param [Hash] params ({})
411
+ def associate_identity_provider_config(params = {}, options = {})
412
+ req = build_request(:associate_identity_provider_config, params)
413
+ req.send_request(options)
414
+ end
415
+
416
+ # Creates an Amazon EKS add-on.
417
+ #
418
+ # Amazon EKS add-ons help to automate the provisioning and lifecycle
419
+ # management of common operational software for Amazon EKS clusters.
420
+ # Amazon EKS add-ons can only be used with Amazon EKS clusters running
421
+ # version 1.18 with platform version `eks.3` or later because add-ons
422
+ # rely on the Server-side Apply Kubernetes feature, which is only
423
+ # available in Kubernetes 1.18 and later.
424
+ #
425
+ # @option params [required, String] :cluster_name
426
+ # The name of the cluster to create the add-on for.
427
+ #
428
+ # @option params [required, String] :addon_name
429
+ # The name of the add-on. The name must match one of the names returned
430
+ # by [ `ListAddons` ][1].
431
+ #
432
+ #
433
+ #
434
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
435
+ #
436
+ # @option params [String] :addon_version
437
+ # The version of the add-on. The version must match one of the versions
438
+ # returned by [ `DescribeAddonVersions` ][1].
439
+ #
440
+ #
441
+ #
442
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
443
+ #
444
+ # @option params [String] :service_account_role_arn
445
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to the
446
+ # add-on's service account. The role must be assigned the IAM
447
+ # permissions required by the add-on. If you don't specify an existing
448
+ # IAM role, then the add-on uses the permissions assigned to the node
449
+ # IAM role. For more information, see [Amazon EKS node IAM role][1] in
450
+ # the *Amazon EKS User Guide*.
451
+ #
452
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
453
+ # (OIDC) provider created for your cluster. For more information, see
454
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
455
+ # *Amazon EKS User Guide*.
456
+ #
457
+ # </note>
458
+ #
459
+ #
460
+ #
461
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
462
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
463
+ #
464
+ # @option params [String] :resolve_conflicts
465
+ # How to resolve parameter value conflicts when migrating an existing
466
+ # add-on to an Amazon EKS add-on.
467
+ #
468
+ # @option params [String] :client_request_token
469
+ # A unique, case-sensitive identifier that you provide to ensure the
470
+ # idempotency of the request.
471
+ #
472
+ # **A suitable default value is auto-generated.** You should normally
473
+ # not need to pass this option.**
474
+ #
475
+ # @option params [Hash<String,String>] :tags
476
+ # The metadata to apply to the cluster to assist with categorization and
477
+ # organization. Each tag consists of a key and an optional value, both
478
+ # of which you define.
479
+ #
480
+ # @return [Types::CreateAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
481
+ #
482
+ # * {Types::CreateAddonResponse#addon #addon} => Types::Addon
483
+ #
484
+ # @example Request syntax with placeholder values
485
+ #
486
+ # resp = client.create_addon({
487
+ # cluster_name: "ClusterName", # required
488
+ # addon_name: "String", # required
489
+ # addon_version: "String",
490
+ # service_account_role_arn: "RoleArn",
491
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
492
+ # client_request_token: "String",
493
+ # tags: {
494
+ # "TagKey" => "TagValue",
495
+ # },
496
+ # })
497
+ #
498
+ # @example Response structure
499
+ #
500
+ # resp.addon.addon_name #=> String
501
+ # resp.addon.cluster_name #=> String
502
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
503
+ # resp.addon.addon_version #=> String
504
+ # resp.addon.health.issues #=> Array
505
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
506
+ # resp.addon.health.issues[0].message #=> String
507
+ # resp.addon.health.issues[0].resource_ids #=> Array
508
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
509
+ # resp.addon.addon_arn #=> String
510
+ # resp.addon.created_at #=> Time
511
+ # resp.addon.modified_at #=> Time
512
+ # resp.addon.service_account_role_arn #=> String
513
+ # resp.addon.tags #=> Hash
514
+ # resp.addon.tags["TagKey"] #=> String
515
+ #
516
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddon AWS API Documentation
517
+ #
518
+ # @overload create_addon(params = {})
519
+ # @param [Hash] params ({})
520
+ def create_addon(params = {}, options = {})
521
+ req = build_request(:create_addon, params)
522
+ req.send_request(options)
523
+ end
524
+
330
525
  # Creates an Amazon EKS control plane.
331
526
  #
332
527
  # The Amazon EKS control plane consists of control plane instances that
@@ -340,10 +535,10 @@ module Aws::EKS
340
535
  # Zones and fronted by an Elastic Load Balancing Network Load Balancer.
341
536
  # Amazon EKS also provisions elastic network interfaces in your VPC
342
537
  # subnets to provide connectivity from the control plane instances to
343
- # the worker nodes (for example, to support `kubectl exec`, `logs`, and
344
- # `proxy` data flows).
538
+ # the nodes (for example, to support `kubectl exec`, `logs`, and `proxy`
539
+ # data flows).
345
540
  #
346
- # Amazon EKS worker nodes run in your AWS account and connect to your
541
+ # Amazon EKS nodes run in your AWS account and connect to your
347
542
  # cluster's control plane via the Kubernetes API server endpoint and a
348
543
  # certificate file that is created for your cluster.
349
544
  #
@@ -368,10 +563,10 @@ module Aws::EKS
368
563
  #
369
564
  # Cluster creation typically takes between 10 and 15 minutes. After you
370
565
  # create an Amazon EKS cluster, you must configure your Kubernetes
371
- # tooling to communicate with the API server and launch worker nodes
372
- # into your cluster. For more information, see [Managing Cluster
373
- # Authentication][4] and [Launching Amazon EKS Worker Nodes][5] in the
374
- # *Amazon EKS User Guide*.
566
+ # tooling to communicate with the API server and launch nodes into your
567
+ # cluster. For more information, see [Managing Cluster
568
+ # Authentication][4] and [Launching Amazon EKS nodes][5] in the *Amazon
569
+ # EKS User Guide*.
375
570
  #
376
571
  #
377
572
  #
@@ -695,8 +890,8 @@ module Aws::EKS
695
890
  req.send_request(options)
696
891
  end
697
892
 
698
- # Creates a managed worker node group for an Amazon EKS cluster. You can
699
- # only create a node group for your cluster that is equal to the current
893
+ # Creates a managed node group for an Amazon EKS cluster. You can only
894
+ # create a node group for your cluster that is equal to the current
700
895
  # Kubernetes version for the cluster. All node groups are created with
701
896
  # the latest AMI release version for the respective minor Kubernetes
702
897
  # version of the cluster, unless you deploy a custom AMI using a launch
@@ -705,9 +900,9 @@ module Aws::EKS
705
900
  #
706
901
  # An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group
707
902
  # 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*.
903
+ # Amazon EKS cluster. Each node group uses a version of the Amazon EKS
904
+ # optimized Amazon Linux 2 AMI. For more information, see [Managed Node
905
+ # Groups][2] in the *Amazon EKS User Guide*.
711
906
  #
712
907
  #
713
908
  #
@@ -751,24 +946,30 @@ module Aws::EKS
751
946
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
752
947
  #
753
948
  # @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
949
+ # Specify the instance types for a node group. If you specify a GPU
950
+ # instance type, be sure to specify `AL2_x86_64_GPU` with the `amiType`
951
+ # parameter. If you specify `launchTemplate`, then you can specify zero
952
+ # or one instance type in your launch template *or* you can specify 0-20
953
+ # instance types for `instanceTypes`. If however, you specify an
954
+ # instance type in your launch template *and* specify any
955
+ # `instanceTypes`, the node group deployment will fail. If you don't
956
+ # specify an instance type in a launch template or for `instanceTypes`,
957
+ # then `t3.medium` is used, by default. If you specify `Spot` for
958
+ # `capacityType`, then we recommend specifying multiple values for
959
+ # `instanceTypes`. For more information, see [Managed node group
960
+ # capacity types][1] and [Launch template support][2] in the *Amazon EKS
961
+ # User Guide*.
962
+ #
963
+ #
964
+ #
965
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types
966
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
766
967
  #
767
968
  # @option params [String] :ami_type
768
969
  # The AMI type for your node group. GPU instance types should use the
769
970
  # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
770
971
  # `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
972
+ # type. All types use the Amazon EKS optimized Amazon Linux 2 AMI. If
772
973
  # you specify `launchTemplate`, and your launch template uses a custom
773
974
  # AMI, then don't specify `amiType`, or the node group deployment will
774
975
  # fail. For more information about using launch templates with Amazon
@@ -792,16 +993,16 @@ module Aws::EKS
792
993
  # @option params [required, String] :node_role
793
994
  # The Amazon Resource Name (ARN) of the IAM role to associate with your
794
995
  # node group. The Amazon EKS worker node `kubelet` daemon makes calls to
795
- # AWS APIs on your behalf. Worker nodes receive permissions for these
796
- # API calls through an IAM instance profile and associated policies.
797
- # Before you can launch worker nodes and register them into a cluster,
798
- # you must create an IAM role for those worker nodes to use when they
799
- # are launched. For more information, see [Amazon EKS Worker Node IAM
800
- # Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>. If you specify
801
- # `launchTemplate`, then don't specify [ `IamInstanceProfile` ][2] in
802
- # your launch template, or the node group deployment will fail. For more
803
- # information about using launch templates with Amazon EKS, see [Launch
804
- # template support][3] in the Amazon EKS User Guide.
996
+ # AWS APIs on your behalf. Nodes receive permissions for these API calls
997
+ # through an IAM instance profile and associated policies. Before you
998
+ # can launch nodes and register them into a cluster, you must create an
999
+ # IAM role for those nodes to use when they are launched. For more
1000
+ # information, see [Amazon EKS node IAM role][1] in the <i> <i>Amazon
1001
+ # EKS User Guide</i> </i>. If you specify `launchTemplate`, then don't
1002
+ # specify [ `IamInstanceProfile` ][2] in your launch template, or the
1003
+ # node group deployment will fail. For more information about using
1004
+ # launch templates with Amazon EKS, see [Launch template support][3] in
1005
+ # the Amazon EKS User Guide.
805
1006
  #
806
1007
  #
807
1008
  #
@@ -833,6 +1034,9 @@ module Aws::EKS
833
1034
  # `remoteAccess` and make sure that the launch template meets the
834
1035
  # requirements in `launchTemplateSpecification`.
835
1036
  #
1037
+ # @option params [String] :capacity_type
1038
+ # The capacity type for your node group.
1039
+ #
836
1040
  # @option params [String] :version
837
1041
  # The Kubernetes version to use for your managed nodes. By default, the
838
1042
  # Kubernetes version of the cluster is used, and this is the only
@@ -847,15 +1051,15 @@ module Aws::EKS
847
1051
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
848
1052
  #
849
1053
  # @option params [String] :release_version
850
- # The AMI version of the Amazon EKS-optimized AMI to use with your node
1054
+ # The AMI version of the Amazon EKS optimized AMI to use with your node
851
1055
  # group. By default, the latest available AMI version for the node
852
1056
  # 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.
1057
+ # [Amazon EKS optimized Amazon Linux 2 AMI versions][1] in the *Amazon
1058
+ # EKS User Guide*. If you specify `launchTemplate`, and your launch
1059
+ # template uses a custom AMI, then don't specify `releaseVersion`, or
1060
+ # the node group deployment will fail. For more information about using
1061
+ # launch templates with Amazon EKS, see [Launch template support][2] in
1062
+ # the Amazon EKS User Guide.
859
1063
  #
860
1064
  #
861
1065
  #
@@ -897,6 +1101,7 @@ module Aws::EKS
897
1101
  # version: "String",
898
1102
  # id: "String",
899
1103
  # },
1104
+ # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
900
1105
  # version: "String",
901
1106
  # release_version: "String",
902
1107
  # })
@@ -911,6 +1116,7 @@ module Aws::EKS
911
1116
  # resp.nodegroup.created_at #=> Time
912
1117
  # resp.nodegroup.modified_at #=> Time
913
1118
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1119
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
914
1120
  # resp.nodegroup.scaling_config.min_size #=> Integer
915
1121
  # resp.nodegroup.scaling_config.max_size #=> Integer
916
1122
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -930,7 +1136,7 @@ module Aws::EKS
930
1136
  # resp.nodegroup.resources.remote_access_security_group #=> String
931
1137
  # resp.nodegroup.disk_size #=> Integer
932
1138
  # resp.nodegroup.health.issues #=> Array
933
- # 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"
1139
+ # 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"
934
1140
  # resp.nodegroup.health.issues[0].message #=> String
935
1141
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
936
1142
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -949,6 +1155,61 @@ module Aws::EKS
949
1155
  req.send_request(options)
950
1156
  end
951
1157
 
1158
+ # Delete an Amazon EKS add-on.
1159
+ #
1160
+ # When you remove the add-on, it will also be deleted from the cluster.
1161
+ # You can always manually start an add-on on the cluster using the
1162
+ # Kubernetes API.
1163
+ #
1164
+ # @option params [required, String] :cluster_name
1165
+ # The name of the cluster to delete the add-on from.
1166
+ #
1167
+ # @option params [required, String] :addon_name
1168
+ # The name of the add-on. The name must match one of the names returned
1169
+ # by [ `ListAddons` ][1].
1170
+ #
1171
+ #
1172
+ #
1173
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1174
+ #
1175
+ # @return [Types::DeleteAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1176
+ #
1177
+ # * {Types::DeleteAddonResponse#addon #addon} => Types::Addon
1178
+ #
1179
+ # @example Request syntax with placeholder values
1180
+ #
1181
+ # resp = client.delete_addon({
1182
+ # cluster_name: "ClusterName", # required
1183
+ # addon_name: "String", # required
1184
+ # })
1185
+ #
1186
+ # @example Response structure
1187
+ #
1188
+ # resp.addon.addon_name #=> String
1189
+ # resp.addon.cluster_name #=> String
1190
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1191
+ # resp.addon.addon_version #=> String
1192
+ # resp.addon.health.issues #=> Array
1193
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1194
+ # resp.addon.health.issues[0].message #=> String
1195
+ # resp.addon.health.issues[0].resource_ids #=> Array
1196
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
1197
+ # resp.addon.addon_arn #=> String
1198
+ # resp.addon.created_at #=> Time
1199
+ # resp.addon.modified_at #=> Time
1200
+ # resp.addon.service_account_role_arn #=> String
1201
+ # resp.addon.tags #=> Hash
1202
+ # resp.addon.tags["TagKey"] #=> String
1203
+ #
1204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddon AWS API Documentation
1205
+ #
1206
+ # @overload delete_addon(params = {})
1207
+ # @param [Hash] params ({})
1208
+ def delete_addon(params = {}, options = {})
1209
+ req = build_request(:delete_addon, params)
1210
+ req.send_request(options)
1211
+ end
1212
+
952
1213
  # Deletes the Amazon EKS cluster control plane.
953
1214
  #
954
1215
  # If you have active services in your cluster that are associated with a
@@ -1122,6 +1383,7 @@ module Aws::EKS
1122
1383
  # resp.nodegroup.created_at #=> Time
1123
1384
  # resp.nodegroup.modified_at #=> Time
1124
1385
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1386
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
1125
1387
  # resp.nodegroup.scaling_config.min_size #=> Integer
1126
1388
  # resp.nodegroup.scaling_config.max_size #=> Integer
1127
1389
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1141,7 +1403,7 @@ module Aws::EKS
1141
1403
  # resp.nodegroup.resources.remote_access_security_group #=> String
1142
1404
  # resp.nodegroup.disk_size #=> Integer
1143
1405
  # resp.nodegroup.health.issues #=> Array
1144
- # 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"
1406
+ # 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"
1145
1407
  # resp.nodegroup.health.issues[0].message #=> String
1146
1408
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1147
1409
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -1160,6 +1422,133 @@ module Aws::EKS
1160
1422
  req.send_request(options)
1161
1423
  end
1162
1424
 
1425
+ # Describes an Amazon EKS add-on.
1426
+ #
1427
+ # @option params [required, String] :cluster_name
1428
+ # The name of the cluster.
1429
+ #
1430
+ # @option params [required, String] :addon_name
1431
+ # The name of the add-on. The name must match one of the names returned
1432
+ # by [ `ListAddons` ][1].
1433
+ #
1434
+ #
1435
+ #
1436
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1437
+ #
1438
+ # @return [Types::DescribeAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1439
+ #
1440
+ # * {Types::DescribeAddonResponse#addon #addon} => Types::Addon
1441
+ #
1442
+ # @example Request syntax with placeholder values
1443
+ #
1444
+ # resp = client.describe_addon({
1445
+ # cluster_name: "ClusterName", # required
1446
+ # addon_name: "String", # required
1447
+ # })
1448
+ #
1449
+ # @example Response structure
1450
+ #
1451
+ # resp.addon.addon_name #=> String
1452
+ # resp.addon.cluster_name #=> String
1453
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1454
+ # resp.addon.addon_version #=> String
1455
+ # resp.addon.health.issues #=> Array
1456
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1457
+ # resp.addon.health.issues[0].message #=> String
1458
+ # resp.addon.health.issues[0].resource_ids #=> Array
1459
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
1460
+ # resp.addon.addon_arn #=> String
1461
+ # resp.addon.created_at #=> Time
1462
+ # resp.addon.modified_at #=> Time
1463
+ # resp.addon.service_account_role_arn #=> String
1464
+ # resp.addon.tags #=> Hash
1465
+ # resp.addon.tags["TagKey"] #=> String
1466
+ #
1467
+ #
1468
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1469
+ #
1470
+ # * addon_active
1471
+ # * addon_deleted
1472
+ #
1473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddon AWS API Documentation
1474
+ #
1475
+ # @overload describe_addon(params = {})
1476
+ # @param [Hash] params ({})
1477
+ def describe_addon(params = {}, options = {})
1478
+ req = build_request(:describe_addon, params)
1479
+ req.send_request(options)
1480
+ end
1481
+
1482
+ # Describes the Kubernetes versions that the add-on can be used with.
1483
+ #
1484
+ # @option params [String] :kubernetes_version
1485
+ # The Kubernetes versions that the add-on can be used with.
1486
+ #
1487
+ # @option params [Integer] :max_results
1488
+ # The maximum number of results to return.
1489
+ #
1490
+ # @option params [String] :next_token
1491
+ # The `nextToken` value returned from a previous paginated
1492
+ # `DescribeAddonVersionsRequest` where `maxResults` was used and the
1493
+ # results exceeded the value of that parameter. Pagination continues
1494
+ # from the end of the previous results that returned the `nextToken`
1495
+ # value.
1496
+ #
1497
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used only
1498
+ # to retrieve the next items in a list and not for other programmatic
1499
+ # purposes.
1500
+ #
1501
+ # </note>
1502
+ #
1503
+ # @option params [String] :addon_name
1504
+ # The name of the add-on. The name must match one of the names returned
1505
+ # by [ `ListAddons` ][1].
1506
+ #
1507
+ #
1508
+ #
1509
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1510
+ #
1511
+ # @return [Types::DescribeAddonVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1512
+ #
1513
+ # * {Types::DescribeAddonVersionsResponse#addons #addons} => Array&lt;Types::AddonInfo&gt;
1514
+ # * {Types::DescribeAddonVersionsResponse#next_token #next_token} => String
1515
+ #
1516
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1517
+ #
1518
+ # @example Request syntax with placeholder values
1519
+ #
1520
+ # resp = client.describe_addon_versions({
1521
+ # kubernetes_version: "String",
1522
+ # max_results: 1,
1523
+ # next_token: "String",
1524
+ # addon_name: "String",
1525
+ # })
1526
+ #
1527
+ # @example Response structure
1528
+ #
1529
+ # resp.addons #=> Array
1530
+ # resp.addons[0].addon_name #=> String
1531
+ # resp.addons[0].type #=> String
1532
+ # resp.addons[0].addon_versions #=> Array
1533
+ # resp.addons[0].addon_versions[0].addon_version #=> String
1534
+ # resp.addons[0].addon_versions[0].architecture #=> Array
1535
+ # resp.addons[0].addon_versions[0].architecture[0] #=> String
1536
+ # resp.addons[0].addon_versions[0].compatibilities #=> Array
1537
+ # resp.addons[0].addon_versions[0].compatibilities[0].cluster_version #=> String
1538
+ # resp.addons[0].addon_versions[0].compatibilities[0].platform_versions #=> Array
1539
+ # resp.addons[0].addon_versions[0].compatibilities[0].platform_versions[0] #=> String
1540
+ # resp.addons[0].addon_versions[0].compatibilities[0].default_version #=> Boolean
1541
+ # resp.next_token #=> String
1542
+ #
1543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersions AWS API Documentation
1544
+ #
1545
+ # @overload describe_addon_versions(params = {})
1546
+ # @param [Hash] params ({})
1547
+ def describe_addon_versions(params = {}, options = {})
1548
+ req = build_request(:describe_addon_versions, params)
1549
+ req.send_request(options)
1550
+ end
1551
+
1163
1552
  # Returns descriptive information about an Amazon EKS cluster.
1164
1553
  #
1165
1554
  # The API server endpoint and certificate authority data returned by
@@ -1320,6 +1709,56 @@ module Aws::EKS
1320
1709
  req.send_request(options)
1321
1710
  end
1322
1711
 
1712
+ # Returns descriptive information about an identity provider
1713
+ # configuration.
1714
+ #
1715
+ # @option params [required, String] :cluster_name
1716
+ # The cluster name that the identity provider configuration is
1717
+ # associated to.
1718
+ #
1719
+ # @option params [required, Types::IdentityProviderConfig] :identity_provider_config
1720
+ # An object that represents an identity provider configuration.
1721
+ #
1722
+ # @return [Types::DescribeIdentityProviderConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1723
+ #
1724
+ # * {Types::DescribeIdentityProviderConfigResponse#identity_provider_config #identity_provider_config} => Types::IdentityProviderConfigResponse
1725
+ #
1726
+ # @example Request syntax with placeholder values
1727
+ #
1728
+ # resp = client.describe_identity_provider_config({
1729
+ # cluster_name: "String", # required
1730
+ # identity_provider_config: { # required
1731
+ # type: "String", # required
1732
+ # name: "String", # required
1733
+ # },
1734
+ # })
1735
+ #
1736
+ # @example Response structure
1737
+ #
1738
+ # resp.identity_provider_config.oidc.identity_provider_config_name #=> String
1739
+ # resp.identity_provider_config.oidc.identity_provider_config_arn #=> String
1740
+ # resp.identity_provider_config.oidc.cluster_name #=> String
1741
+ # resp.identity_provider_config.oidc.issuer_url #=> String
1742
+ # resp.identity_provider_config.oidc.client_id #=> String
1743
+ # resp.identity_provider_config.oidc.username_claim #=> String
1744
+ # resp.identity_provider_config.oidc.username_prefix #=> String
1745
+ # resp.identity_provider_config.oidc.groups_claim #=> String
1746
+ # resp.identity_provider_config.oidc.groups_prefix #=> String
1747
+ # resp.identity_provider_config.oidc.required_claims #=> Hash
1748
+ # resp.identity_provider_config.oidc.required_claims["requiredClaimsKey"] #=> String
1749
+ # resp.identity_provider_config.oidc.tags #=> Hash
1750
+ # resp.identity_provider_config.oidc.tags["TagKey"] #=> String
1751
+ # resp.identity_provider_config.oidc.status #=> String, one of "CREATING", "DELETING", "ACTIVE"
1752
+ #
1753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfig AWS API Documentation
1754
+ #
1755
+ # @overload describe_identity_provider_config(params = {})
1756
+ # @param [Hash] params ({})
1757
+ def describe_identity_provider_config(params = {}, options = {})
1758
+ req = build_request(:describe_identity_provider_config, params)
1759
+ req.send_request(options)
1760
+ end
1761
+
1323
1762
  # Returns descriptive information about an Amazon EKS node group.
1324
1763
  #
1325
1764
  # @option params [required, String] :cluster_name
@@ -1349,6 +1788,7 @@ module Aws::EKS
1349
1788
  # resp.nodegroup.created_at #=> Time
1350
1789
  # resp.nodegroup.modified_at #=> Time
1351
1790
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1791
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
1352
1792
  # resp.nodegroup.scaling_config.min_size #=> Integer
1353
1793
  # resp.nodegroup.scaling_config.max_size #=> Integer
1354
1794
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1368,7 +1808,7 @@ module Aws::EKS
1368
1808
  # resp.nodegroup.resources.remote_access_security_group #=> String
1369
1809
  # resp.nodegroup.disk_size #=> Integer
1370
1810
  # resp.nodegroup.health.issues #=> Array
1371
- # 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"
1811
+ # 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"
1372
1812
  # resp.nodegroup.health.issues[0].message #=> String
1373
1813
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1374
1814
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -1409,6 +1849,14 @@ module Aws::EKS
1409
1849
  # @option params [String] :nodegroup_name
1410
1850
  # The name of the Amazon EKS node group associated with the update.
1411
1851
  #
1852
+ # @option params [String] :addon_name
1853
+ # The name of the add-on. The name must match one of the names returned
1854
+ # by [ `ListAddons` ][1].
1855
+ #
1856
+ #
1857
+ #
1858
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1859
+ #
1412
1860
  # @return [Types::DescribeUpdateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1413
1861
  #
1414
1862
  # * {Types::DescribeUpdateResponse#update #update} => Types::Update
@@ -1419,19 +1867,20 @@ module Aws::EKS
1419
1867
  # name: "String", # required
1420
1868
  # update_id: "String", # required
1421
1869
  # nodegroup_name: "String",
1870
+ # addon_name: "String",
1422
1871
  # })
1423
1872
  #
1424
1873
  # @example Response structure
1425
1874
  #
1426
1875
  # resp.update.id #=> String
1427
1876
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1428
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
1877
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
1429
1878
  # 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"
1879
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1431
1880
  # resp.update.params[0].value #=> String
1432
1881
  # resp.update.created_at #=> Time
1433
1882
  # 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"
1883
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1435
1884
  # resp.update.errors[0].error_message #=> String
1436
1885
  # resp.update.errors[0].resource_ids #=> Array
1437
1886
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1445,6 +1894,120 @@ module Aws::EKS
1445
1894
  req.send_request(options)
1446
1895
  end
1447
1896
 
1897
+ # Disassociates an identity provider configuration from a cluster. If
1898
+ # you disassociate an identity provider from your cluster, users
1899
+ # included in the provider can no longer access the cluster. However,
1900
+ # you can still access the cluster with AWS IAM users.
1901
+ #
1902
+ # @option params [required, String] :cluster_name
1903
+ # The name of the cluster to disassociate an identity provider from.
1904
+ #
1905
+ # @option params [required, Types::IdentityProviderConfig] :identity_provider_config
1906
+ # An object that represents an identity provider configuration.
1907
+ #
1908
+ # @option params [String] :client_request_token
1909
+ # A unique, case-sensitive identifier that you provide to ensure the
1910
+ # idempotency of the request.
1911
+ #
1912
+ # **A suitable default value is auto-generated.** You should normally
1913
+ # not need to pass this option.**
1914
+ #
1915
+ # @return [Types::DisassociateIdentityProviderConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1916
+ #
1917
+ # * {Types::DisassociateIdentityProviderConfigResponse#update #update} => Types::Update
1918
+ #
1919
+ # @example Request syntax with placeholder values
1920
+ #
1921
+ # resp = client.disassociate_identity_provider_config({
1922
+ # cluster_name: "String", # required
1923
+ # identity_provider_config: { # required
1924
+ # type: "String", # required
1925
+ # name: "String", # required
1926
+ # },
1927
+ # client_request_token: "String",
1928
+ # })
1929
+ #
1930
+ # @example Response structure
1931
+ #
1932
+ # resp.update.id #=> String
1933
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1934
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
1935
+ # resp.update.params #=> Array
1936
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1937
+ # resp.update.params[0].value #=> String
1938
+ # resp.update.created_at #=> Time
1939
+ # resp.update.errors #=> Array
1940
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1941
+ # resp.update.errors[0].error_message #=> String
1942
+ # resp.update.errors[0].resource_ids #=> Array
1943
+ # resp.update.errors[0].resource_ids[0] #=> String
1944
+ #
1945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfig AWS API Documentation
1946
+ #
1947
+ # @overload disassociate_identity_provider_config(params = {})
1948
+ # @param [Hash] params ({})
1949
+ def disassociate_identity_provider_config(params = {}, options = {})
1950
+ req = build_request(:disassociate_identity_provider_config, params)
1951
+ req.send_request(options)
1952
+ end
1953
+
1954
+ # Lists the available add-ons.
1955
+ #
1956
+ # @option params [required, String] :cluster_name
1957
+ # The name of the cluster.
1958
+ #
1959
+ # @option params [Integer] :max_results
1960
+ # The maximum number of add-on results returned by `ListAddonsRequest`
1961
+ # in paginated output. When you use this parameter, `ListAddonsRequest`
1962
+ # returns only `maxResults` results in a single page along with a
1963
+ # `nextToken` response element. You can see the remaining results of the
1964
+ # initial request by sending another `ListAddonsRequest` request with
1965
+ # the returned `nextToken` value. This value can be between 1 and 100.
1966
+ # If you don't use this parameter, `ListAddonsRequest` returns up to
1967
+ # 100 results and a `nextToken` value, if applicable.
1968
+ #
1969
+ # @option params [String] :next_token
1970
+ # The `nextToken` value returned from a previous paginated
1971
+ # `ListAddonsRequest` where `maxResults` was used and the results
1972
+ # exceeded the value of that parameter. Pagination continues from the
1973
+ # end of the previous results that returned the `nextToken` value.
1974
+ #
1975
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used only
1976
+ # to retrieve the next items in a list and not for other programmatic
1977
+ # purposes.
1978
+ #
1979
+ # </note>
1980
+ #
1981
+ # @return [Types::ListAddonsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1982
+ #
1983
+ # * {Types::ListAddonsResponse#addons #addons} => Array&lt;String&gt;
1984
+ # * {Types::ListAddonsResponse#next_token #next_token} => String
1985
+ #
1986
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1987
+ #
1988
+ # @example Request syntax with placeholder values
1989
+ #
1990
+ # resp = client.list_addons({
1991
+ # cluster_name: "ClusterName", # required
1992
+ # max_results: 1,
1993
+ # next_token: "String",
1994
+ # })
1995
+ #
1996
+ # @example Response structure
1997
+ #
1998
+ # resp.addons #=> Array
1999
+ # resp.addons[0] #=> String
2000
+ # resp.next_token #=> String
2001
+ #
2002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddons AWS API Documentation
2003
+ #
2004
+ # @overload list_addons(params = {})
2005
+ # @param [Hash] params ({})
2006
+ def list_addons(params = {}, options = {})
2007
+ req = build_request(:list_addons, params)
2008
+ req.send_request(options)
2009
+ end
2010
+
1448
2011
  # Lists the Amazon EKS clusters in your AWS account in the specified
1449
2012
  # Region.
1450
2013
  #
@@ -1570,6 +2133,61 @@ module Aws::EKS
1570
2133
  req.send_request(options)
1571
2134
  end
1572
2135
 
2136
+ # A list of identity provider configurations.
2137
+ #
2138
+ # @option params [required, String] :cluster_name
2139
+ # The cluster name that you want to list identity provider
2140
+ # configurations for.
2141
+ #
2142
+ # @option params [Integer] :max_results
2143
+ # The maximum number of identity provider configurations returned by
2144
+ # `ListIdentityProviderConfigs` in paginated output. When you use this
2145
+ # parameter, `ListIdentityProviderConfigs` returns only `maxResults`
2146
+ # results in a single page along with a `nextToken` response element.
2147
+ # You can see the remaining results of the initial request by sending
2148
+ # another `ListIdentityProviderConfigs` request with the returned
2149
+ # `nextToken` value. This value can be between 1 and 100. If you don't
2150
+ # use this parameter, `ListIdentityProviderConfigs` returns up to 100
2151
+ # results and a `nextToken` value, if applicable.
2152
+ #
2153
+ # @option params [String] :next_token
2154
+ # The `nextToken` value returned from a previous paginated
2155
+ # `IdentityProviderConfigsRequest` where `maxResults` was used and the
2156
+ # results exceeded the value of that parameter. Pagination continues
2157
+ # from the end of the previous results that returned the `nextToken`
2158
+ # value.
2159
+ #
2160
+ # @return [Types::ListIdentityProviderConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2161
+ #
2162
+ # * {Types::ListIdentityProviderConfigsResponse#identity_provider_configs #identity_provider_configs} => Array&lt;Types::IdentityProviderConfig&gt;
2163
+ # * {Types::ListIdentityProviderConfigsResponse#next_token #next_token} => String
2164
+ #
2165
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2166
+ #
2167
+ # @example Request syntax with placeholder values
2168
+ #
2169
+ # resp = client.list_identity_provider_configs({
2170
+ # cluster_name: "String", # required
2171
+ # max_results: 1,
2172
+ # next_token: "String",
2173
+ # })
2174
+ #
2175
+ # @example Response structure
2176
+ #
2177
+ # resp.identity_provider_configs #=> Array
2178
+ # resp.identity_provider_configs[0].type #=> String
2179
+ # resp.identity_provider_configs[0].name #=> String
2180
+ # resp.next_token #=> String
2181
+ #
2182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigs AWS API Documentation
2183
+ #
2184
+ # @overload list_identity_provider_configs(params = {})
2185
+ # @param [Hash] params ({})
2186
+ def list_identity_provider_configs(params = {}, options = {})
2187
+ req = build_request(:list_identity_provider_configs, params)
2188
+ req.send_request(options)
2189
+ end
2190
+
1573
2191
  # Lists the Amazon EKS managed node groups associated with the specified
1574
2192
  # cluster in your AWS account in the specified Region. Self-managed node
1575
2193
  # groups are not listed.
@@ -1680,6 +2298,9 @@ module Aws::EKS
1680
2298
  # @option params [String] :nodegroup_name
1681
2299
  # The name of the Amazon EKS managed node group to list updates for.
1682
2300
  #
2301
+ # @option params [String] :addon_name
2302
+ # The names of the installed add-ons that have available updates.
2303
+ #
1683
2304
  # @option params [String] :next_token
1684
2305
  # The `nextToken` value returned from a previous paginated `ListUpdates`
1685
2306
  # request where `maxResults` was used and the results exceeded the value
@@ -1708,6 +2329,7 @@ module Aws::EKS
1708
2329
  # resp = client.list_updates({
1709
2330
  # name: "String", # required
1710
2331
  # nodegroup_name: "String",
2332
+ # addon_name: "String",
1711
2333
  # next_token: "String",
1712
2334
  # max_results: 1,
1713
2335
  # })
@@ -1734,7 +2356,7 @@ module Aws::EKS
1734
2356
  # you create for Amazon EKS resources do not propagate to any other
1735
2357
  # resources associated with the cluster. For example, if you tag a
1736
2358
  # cluster with this operation, that tag does not automatically propagate
1737
- # to the subnets and worker nodes associated with the cluster.
2359
+ # to the subnets and nodes associated with the cluster.
1738
2360
  #
1739
2361
  # @option params [required, String] :resource_arn
1740
2362
  # The Amazon Resource Name (ARN) of the resource to which to add tags.
@@ -1792,6 +2414,97 @@ module Aws::EKS
1792
2414
  req.send_request(options)
1793
2415
  end
1794
2416
 
2417
+ # Updates an Amazon EKS add-on.
2418
+ #
2419
+ # @option params [required, String] :cluster_name
2420
+ # The name of the cluster.
2421
+ #
2422
+ # @option params [required, String] :addon_name
2423
+ # The name of the add-on. The name must match one of the names returned
2424
+ # by [ `ListAddons` ][1].
2425
+ #
2426
+ #
2427
+ #
2428
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
2429
+ #
2430
+ # @option params [String] :addon_version
2431
+ # The version of the add-on. The version must match one of the versions
2432
+ # returned by [ `DescribeAddonVersions` ][1].
2433
+ #
2434
+ #
2435
+ #
2436
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
2437
+ #
2438
+ # @option params [String] :service_account_role_arn
2439
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to the
2440
+ # add-on's service account. The role must be assigned the IAM
2441
+ # permissions required by the add-on. If you don't specify an existing
2442
+ # IAM role, then the add-on uses the permissions assigned to the node
2443
+ # IAM role. For more information, see [Amazon EKS node IAM role][1] in
2444
+ # the *Amazon EKS User Guide*.
2445
+ #
2446
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
2447
+ # (OIDC) provider created for your cluster. For more information, see
2448
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
2449
+ # *Amazon EKS User Guide*.
2450
+ #
2451
+ # </note>
2452
+ #
2453
+ #
2454
+ #
2455
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
2456
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
2457
+ #
2458
+ # @option params [String] :resolve_conflicts
2459
+ # How to resolve parameter value conflicts when applying the new version
2460
+ # of the add-on to the cluster.
2461
+ #
2462
+ # @option params [String] :client_request_token
2463
+ # Unique, case-sensitive identifier that you provide to ensure the
2464
+ # idempotency of the request.
2465
+ #
2466
+ # **A suitable default value is auto-generated.** You should normally
2467
+ # not need to pass this option.**
2468
+ #
2469
+ # @return [Types::UpdateAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2470
+ #
2471
+ # * {Types::UpdateAddonResponse#update #update} => Types::Update
2472
+ #
2473
+ # @example Request syntax with placeholder values
2474
+ #
2475
+ # resp = client.update_addon({
2476
+ # cluster_name: "ClusterName", # required
2477
+ # addon_name: "String", # required
2478
+ # addon_version: "String",
2479
+ # service_account_role_arn: "RoleArn",
2480
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
2481
+ # client_request_token: "String",
2482
+ # })
2483
+ #
2484
+ # @example Response structure
2485
+ #
2486
+ # resp.update.id #=> String
2487
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2488
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
2489
+ # resp.update.params #=> Array
2490
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2491
+ # resp.update.params[0].value #=> String
2492
+ # resp.update.created_at #=> Time
2493
+ # resp.update.errors #=> Array
2494
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2495
+ # resp.update.errors[0].error_message #=> String
2496
+ # resp.update.errors[0].resource_ids #=> Array
2497
+ # resp.update.errors[0].resource_ids[0] #=> String
2498
+ #
2499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddon AWS API Documentation
2500
+ #
2501
+ # @overload update_addon(params = {})
2502
+ # @param [Hash] params ({})
2503
+ def update_addon(params = {}, options = {})
2504
+ req = build_request(:update_addon, params)
2505
+ req.send_request(options)
2506
+ end
2507
+
1795
2508
  # Updates an Amazon EKS cluster configuration. Your cluster continues to
1796
2509
  # function during the update. The response output includes an update ID
1797
2510
  # that you can use to track the status of your cluster update with the
@@ -1892,13 +2605,13 @@ module Aws::EKS
1892
2605
  #
1893
2606
  # resp.update.id #=> String
1894
2607
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1895
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2608
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
1896
2609
  # 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"
2610
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1898
2611
  # resp.update.params[0].value #=> String
1899
2612
  # resp.update.created_at #=> Time
1900
2613
  # 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"
2614
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1902
2615
  # resp.update.errors[0].error_message #=> String
1903
2616
  # resp.update.errors[0].resource_ids #=> Array
1904
2617
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1956,13 +2669,13 @@ module Aws::EKS
1956
2669
  #
1957
2670
  # resp.update.id #=> String
1958
2671
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1959
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2672
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
1960
2673
  # 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"
2674
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1962
2675
  # resp.update.params[0].value #=> String
1963
2676
  # resp.update.created_at #=> Time
1964
2677
  # 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"
2678
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1966
2679
  # resp.update.errors[0].error_message #=> String
1967
2680
  # resp.update.errors[0].resource_ids #=> Array
1968
2681
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2032,13 +2745,13 @@ module Aws::EKS
2032
2745
  #
2033
2746
  # resp.update.id #=> String
2034
2747
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2035
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2748
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
2036
2749
  # 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"
2750
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2038
2751
  # resp.update.params[0].value #=> String
2039
2752
  # resp.update.created_at #=> Time
2040
2753
  # 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"
2754
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2042
2755
  # resp.update.errors[0].error_message #=> String
2043
2756
  # resp.update.errors[0].resource_ids #=> Array
2044
2757
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2067,8 +2780,8 @@ module Aws::EKS
2067
2780
  # version by not specifying a Kubernetes version in the request. You can
2068
2781
  # update to the latest AMI version of your cluster's current Kubernetes
2069
2782
  # 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*.
2783
+ # request. For more information, see [Amazon EKS optimized Amazon Linux
2784
+ # 2 AMI versions][1] in the *Amazon EKS User Guide*.
2072
2785
  #
2073
2786
  # You cannot roll back a node group to an earlier Kubernetes version or
2074
2787
  # AMI version.
@@ -2105,12 +2818,12 @@ module Aws::EKS
2105
2818
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
2106
2819
  #
2107
2820
  # @option params [String] :release_version
2108
- # The AMI version of the Amazon EKS-optimized AMI to use for the update.
2821
+ # The AMI version of the Amazon EKS optimized AMI to use for the update.
2109
2822
  # 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
2823
+ # Kubernetes version is used. For more information, see [Amazon EKS
2824
+ # optimized Amazon Linux 2 AMI versions ][1] in the *Amazon EKS User
2825
+ # Guide*. If you specify `launchTemplate`, and your launch template uses
2826
+ # a custom AMI, then don't specify `releaseVersion`, or the node group
2114
2827
  # update will fail. For more information about using launch templates
2115
2828
  # with Amazon EKS, see [Launch template support][2] in the Amazon EKS
2116
2829
  # User Guide.
@@ -2163,13 +2876,13 @@ module Aws::EKS
2163
2876
  #
2164
2877
  # resp.update.id #=> String
2165
2878
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2166
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2879
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AddonUpdate"
2167
2880
  # 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"
2881
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2169
2882
  # resp.update.params[0].value #=> String
2170
2883
  # resp.update.created_at #=> Time
2171
2884
  # 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"
2885
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2173
2886
  # resp.update.errors[0].error_message #=> String
2174
2887
  # resp.update.errors[0].resource_ids #=> Array
2175
2888
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2196,7 +2909,7 @@ module Aws::EKS
2196
2909
  params: params,
2197
2910
  config: config)
2198
2911
  context[:gem_name] = 'aws-sdk-eks'
2199
- context[:gem_version] = '1.43.0'
2912
+ context[:gem_version] = '1.48.0'
2200
2913
  Seahorse::Client::Request.new(handlers, context)
2201
2914
  end
2202
2915
 
@@ -2264,6 +2977,8 @@ module Aws::EKS
2264
2977
  #
2265
2978
  # | waiter_name | params | :delay | :max_attempts |
2266
2979
  # | ----------------- | --------------------------- | -------- | ------------- |
2980
+ # | addon_active | {Client#describe_addon} | 10 | 60 |
2981
+ # | addon_deleted | {Client#describe_addon} | 10 | 60 |
2267
2982
  # | cluster_active | {Client#describe_cluster} | 30 | 40 |
2268
2983
  # | cluster_deleted | {Client#describe_cluster} | 30 | 40 |
2269
2984
  # | nodegroup_active | {Client#describe_nodegroup} | 30 | 80 |
@@ -2318,6 +3033,8 @@ module Aws::EKS
2318
3033
 
2319
3034
  def waiters
2320
3035
  {
3036
+ addon_active: Waiters::AddonActive,
3037
+ addon_deleted: Waiters::AddonDeleted,
2321
3038
  cluster_active: Waiters::ClusterActive,
2322
3039
  cluster_deleted: Waiters::ClusterDeleted,
2323
3040
  nodegroup_active: Waiters::NodegroupActive,