aws-sdk-eks 1.43.0 → 1.48.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: 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,