aws-sdk-eks 1.44.0 → 1.49.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: 849696b1e9413006ad5beb42b6604035413415d25d1f12fec76573ca4bdef7d2
4
- data.tar.gz: a1e2a182b26d0f1cdee95ab08be94840c3f07a7fb5c0f771fef51d57bb6ce066
3
+ metadata.gz: f7d48be5a76058f9fc98350157cf4d8c6b32f457e71c52b32f5be1962af6179f
4
+ data.tar.gz: 41f0a9c6843e3a2eadc14e9b1be2799d838c7dae5d7a3d10a27b6ca2be7ea7d2
5
5
  SHA512:
6
- metadata.gz: 47561f2b89fdafb2d393e02042c7b13006d32005e6c2b47b0aca29478686e3e77a905f50cd19c442b7a309ee99f11dd2ac166f5b752fb4116371b10b01359fe3
7
- data.tar.gz: b71d69eb6d3b2fcd3ec4f6bc4726c7dcca2567f075e638b17fa3c896fb5486f8e9e758cc70841f39e8c632af66e460b0e8f3dba4cbec017742b1c2a2bf73c5e3
6
+ metadata.gz: adb52da0c664a04a2f5a9b81293cd710a5946a509312dd1cd3221088d8a60ffbb371c6f03306d7f7f421830474e1636f4e62f80814709f71936b78ccb5ace300
7
+ data.tar.gz: 64868c297e18ab249e784117f2c6c62ff524f8b86b45d0b753b2b3128d0cb49d0f6a0bce6c10165cfbb02fe3509b36c5791e0f5a06bf20587276f90183e03d46
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_encryption_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.44.0'
52
+ GEM_VERSION = '1.49.0'
53
53
 
54
54
  end
@@ -327,6 +327,265 @@ module Aws::EKS
327
327
 
328
328
  # @!group API Operations
329
329
 
330
+ # Associate encryption configuration to an existing cluster.
331
+ #
332
+ # You can use this API to enable encryption on existing clusters which
333
+ # do not have encryption already enabled. This allows you to implement a
334
+ # defense-in-depth security strategy without migrating applications to
335
+ # new EKS clusters.
336
+ #
337
+ # @option params [required, String] :cluster_name
338
+ # The name of the cluster that you are associating with encryption
339
+ # configuration.
340
+ #
341
+ # @option params [required, Array<Types::EncryptionConfig>] :encryption_config
342
+ # The configuration you are using for encryption.
343
+ #
344
+ # @option params [String] :client_request_token
345
+ # The client request token you are using with the encryption
346
+ # configuration.
347
+ #
348
+ # **A suitable default value is auto-generated.** You should normally
349
+ # not need to pass this option.**
350
+ #
351
+ # @return [Types::AssociateEncryptionConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
352
+ #
353
+ # * {Types::AssociateEncryptionConfigResponse#update #update} => Types::Update
354
+ #
355
+ # @example Request syntax with placeholder values
356
+ #
357
+ # resp = client.associate_encryption_config({
358
+ # cluster_name: "String", # required
359
+ # encryption_config: [ # required
360
+ # {
361
+ # resources: ["String"],
362
+ # provider: {
363
+ # key_arn: "String",
364
+ # },
365
+ # },
366
+ # ],
367
+ # client_request_token: "String",
368
+ # })
369
+ #
370
+ # @example Response structure
371
+ #
372
+ # resp.update.id #=> String
373
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
374
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
375
+ # resp.update.params #=> Array
376
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
377
+ # resp.update.params[0].value #=> String
378
+ # resp.update.created_at #=> Time
379
+ # resp.update.errors #=> Array
380
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
381
+ # resp.update.errors[0].error_message #=> String
382
+ # resp.update.errors[0].resource_ids #=> Array
383
+ # resp.update.errors[0].resource_ids[0] #=> String
384
+ #
385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateEncryptionConfig AWS API Documentation
386
+ #
387
+ # @overload associate_encryption_config(params = {})
388
+ # @param [Hash] params ({})
389
+ def associate_encryption_config(params = {}, options = {})
390
+ req = build_request(:associate_encryption_config, params)
391
+ req.send_request(options)
392
+ end
393
+
394
+ # Associate an identity provider configuration to a cluster.
395
+ #
396
+ # If you want to authenticate identities using an identity provider, you
397
+ # can create an identity provider configuration and associate it to your
398
+ # cluster. After configuring authentication to your cluster you can
399
+ # create Kubernetes `roles` and `clusterroles` to assign permissions to
400
+ # the roles, and then bind the roles to the identities using Kubernetes
401
+ # `rolebindings` and `clusterrolebindings`. For more information see
402
+ # [Using RBAC Authorization][1] in the Kubernetes documentation.
403
+ #
404
+ #
405
+ #
406
+ # [1]: https://kubernetes.io/docs/reference/access-authn-authz/rbac/
407
+ #
408
+ # @option params [required, String] :cluster_name
409
+ # The name of the cluster to associate the configuration to.
410
+ #
411
+ # @option params [required, Types::OidcIdentityProviderConfigRequest] :oidc
412
+ # An object that represents an OpenID Connect (OIDC) identity provider
413
+ # configuration.
414
+ #
415
+ # @option params [Hash<String,String>] :tags
416
+ # The metadata to apply to the configuration to assist with
417
+ # categorization and organization. Each tag consists of a key and an
418
+ # optional value, both of which you define.
419
+ #
420
+ # @option params [String] :client_request_token
421
+ # Unique, case-sensitive identifier that you provide to ensure the
422
+ # idempotency of the request.
423
+ #
424
+ # **A suitable default value is auto-generated.** You should normally
425
+ # not need to pass this option.**
426
+ #
427
+ # @return [Types::AssociateIdentityProviderConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
428
+ #
429
+ # * {Types::AssociateIdentityProviderConfigResponse#update #update} => Types::Update
430
+ # * {Types::AssociateIdentityProviderConfigResponse#tags #tags} => Hash&lt;String,String&gt;
431
+ #
432
+ # @example Request syntax with placeholder values
433
+ #
434
+ # resp = client.associate_identity_provider_config({
435
+ # cluster_name: "String", # required
436
+ # oidc: { # required
437
+ # identity_provider_config_name: "String", # required
438
+ # issuer_url: "String", # required
439
+ # client_id: "String", # required
440
+ # username_claim: "String",
441
+ # username_prefix: "String",
442
+ # groups_claim: "String",
443
+ # groups_prefix: "String",
444
+ # required_claims: {
445
+ # "requiredClaimsKey" => "requiredClaimsValue",
446
+ # },
447
+ # },
448
+ # tags: {
449
+ # "TagKey" => "TagValue",
450
+ # },
451
+ # client_request_token: "String",
452
+ # })
453
+ #
454
+ # @example Response structure
455
+ #
456
+ # resp.update.id #=> String
457
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
458
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
459
+ # resp.update.params #=> Array
460
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
461
+ # resp.update.params[0].value #=> String
462
+ # resp.update.created_at #=> Time
463
+ # resp.update.errors #=> Array
464
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
465
+ # resp.update.errors[0].error_message #=> String
466
+ # resp.update.errors[0].resource_ids #=> Array
467
+ # resp.update.errors[0].resource_ids[0] #=> String
468
+ # resp.tags #=> Hash
469
+ # resp.tags["TagKey"] #=> String
470
+ #
471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfig AWS API Documentation
472
+ #
473
+ # @overload associate_identity_provider_config(params = {})
474
+ # @param [Hash] params ({})
475
+ def associate_identity_provider_config(params = {}, options = {})
476
+ req = build_request(:associate_identity_provider_config, params)
477
+ req.send_request(options)
478
+ end
479
+
480
+ # Creates an Amazon EKS add-on.
481
+ #
482
+ # Amazon EKS add-ons help to automate the provisioning and lifecycle
483
+ # management of common operational software for Amazon EKS clusters.
484
+ # Amazon EKS add-ons can only be used with Amazon EKS clusters running
485
+ # version 1.18 with platform version `eks.3` or later because add-ons
486
+ # rely on the Server-side Apply Kubernetes feature, which is only
487
+ # available in Kubernetes 1.18 and later.
488
+ #
489
+ # @option params [required, String] :cluster_name
490
+ # The name of the cluster to create the add-on for.
491
+ #
492
+ # @option params [required, String] :addon_name
493
+ # The name of the add-on. The name must match one of the names returned
494
+ # by [ `ListAddons` ][1].
495
+ #
496
+ #
497
+ #
498
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
499
+ #
500
+ # @option params [String] :addon_version
501
+ # The version of the add-on. The version must match one of the versions
502
+ # returned by [ `DescribeAddonVersions` ][1].
503
+ #
504
+ #
505
+ #
506
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
507
+ #
508
+ # @option params [String] :service_account_role_arn
509
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to the
510
+ # add-on's service account. The role must be assigned the IAM
511
+ # permissions required by the add-on. If you don't specify an existing
512
+ # IAM role, then the add-on uses the permissions assigned to the node
513
+ # IAM role. For more information, see [Amazon EKS node IAM role][1] in
514
+ # the *Amazon EKS User Guide*.
515
+ #
516
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
517
+ # (OIDC) provider created for your cluster. For more information, see
518
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
519
+ # *Amazon EKS User Guide*.
520
+ #
521
+ # </note>
522
+ #
523
+ #
524
+ #
525
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
526
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
527
+ #
528
+ # @option params [String] :resolve_conflicts
529
+ # How to resolve parameter value conflicts when migrating an existing
530
+ # add-on to an Amazon EKS add-on.
531
+ #
532
+ # @option params [String] :client_request_token
533
+ # A unique, case-sensitive identifier that you provide to ensure the
534
+ # idempotency of the request.
535
+ #
536
+ # **A suitable default value is auto-generated.** You should normally
537
+ # not need to pass this option.**
538
+ #
539
+ # @option params [Hash<String,String>] :tags
540
+ # The metadata to apply to the cluster to assist with categorization and
541
+ # organization. Each tag consists of a key and an optional value, both
542
+ # of which you define.
543
+ #
544
+ # @return [Types::CreateAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
545
+ #
546
+ # * {Types::CreateAddonResponse#addon #addon} => Types::Addon
547
+ #
548
+ # @example Request syntax with placeholder values
549
+ #
550
+ # resp = client.create_addon({
551
+ # cluster_name: "ClusterName", # required
552
+ # addon_name: "String", # required
553
+ # addon_version: "String",
554
+ # service_account_role_arn: "RoleArn",
555
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
556
+ # client_request_token: "String",
557
+ # tags: {
558
+ # "TagKey" => "TagValue",
559
+ # },
560
+ # })
561
+ #
562
+ # @example Response structure
563
+ #
564
+ # resp.addon.addon_name #=> String
565
+ # resp.addon.cluster_name #=> String
566
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
567
+ # resp.addon.addon_version #=> String
568
+ # resp.addon.health.issues #=> Array
569
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
570
+ # resp.addon.health.issues[0].message #=> String
571
+ # resp.addon.health.issues[0].resource_ids #=> Array
572
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
573
+ # resp.addon.addon_arn #=> String
574
+ # resp.addon.created_at #=> Time
575
+ # resp.addon.modified_at #=> Time
576
+ # resp.addon.service_account_role_arn #=> String
577
+ # resp.addon.tags #=> Hash
578
+ # resp.addon.tags["TagKey"] #=> String
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddon AWS API Documentation
581
+ #
582
+ # @overload create_addon(params = {})
583
+ # @param [Hash] params ({})
584
+ def create_addon(params = {}, options = {})
585
+ req = build_request(:create_addon, params)
586
+ req.send_request(options)
587
+ end
588
+
330
589
  # Creates an Amazon EKS control plane.
331
590
  #
332
591
  # The Amazon EKS control plane consists of control plane instances that
@@ -340,46 +599,23 @@ module Aws::EKS
340
599
  # Zones and fronted by an Elastic Load Balancing Network Load Balancer.
341
600
  # Amazon EKS also provisions elastic network interfaces in your VPC
342
601
  # 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).
602
+ # the nodes (for example, to support `kubectl exec`, `logs`, and `proxy`
603
+ # data flows).
345
604
  #
346
- # Amazon EKS worker nodes run in your AWS account and connect to your
605
+ # Amazon EKS nodes run in your AWS account and connect to your
347
606
  # cluster's control plane via the Kubernetes API server endpoint and a
348
607
  # certificate file that is created for your cluster.
349
608
  #
350
- # You can use the `endpointPublicAccess` and `endpointPrivateAccess`
351
- # parameters to enable or disable public and private access to your
352
- # cluster's Kubernetes API server endpoint. By default, public access
353
- # is enabled, and private access is disabled. For more information, see
354
- # [Amazon EKS Cluster Endpoint Access Control][1] in the <i> <i>Amazon
355
- # EKS User Guide</i> </i>.
356
- #
357
- # You can use the `logging` parameter to enable or disable exporting the
358
- # Kubernetes control plane logs for your cluster to CloudWatch Logs. By
359
- # default, cluster control plane logs aren't exported to CloudWatch
360
- # Logs. For more information, see [Amazon EKS Cluster Control Plane
361
- # Logs][2] in the <i> <i>Amazon EKS User Guide</i> </i>.
362
- #
363
- # <note markdown="1"> CloudWatch Logs ingestion, archive storage, and data scanning rates
364
- # apply to exported control plane logs. For more information, see
365
- # [Amazon CloudWatch Pricing][3].
366
- #
367
- # </note>
609
+ # Cluster creation typically takes several minutes. After you create an
610
+ # Amazon EKS cluster, you must configure your Kubernetes tooling to
611
+ # communicate with the API server and launch nodes into your cluster.
612
+ # For more information, see [Managing Cluster Authentication][1] and
613
+ # [Launching Amazon EKS nodes][2] in the *Amazon EKS User Guide*.
368
614
  #
369
- # Cluster creation typically takes between 10 and 15 minutes. After you
370
- # 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*.
375
615
  #
376
616
  #
377
- #
378
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html
379
- # [2]: https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html
380
- # [3]: http://aws.amazon.com/cloudwatch/pricing/
381
- # [4]: https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html
382
- # [5]: https://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html
617
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html
618
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html
383
619
  #
384
620
  # @option params [required, String] :name
385
621
  # The unique name to give to your cluster.
@@ -695,8 +931,8 @@ module Aws::EKS
695
931
  req.send_request(options)
696
932
  end
697
933
 
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
934
+ # Creates a managed node group for an Amazon EKS cluster. You can only
935
+ # create a node group for your cluster that is equal to the current
700
936
  # Kubernetes version for the cluster. All node groups are created with
701
937
  # the latest AMI release version for the respective minor Kubernetes
702
938
  # version of the cluster, unless you deploy a custom AMI using a launch
@@ -705,9 +941,9 @@ module Aws::EKS
705
941
  #
706
942
  # An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group
707
943
  # 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*.
944
+ # Amazon EKS cluster. Each node group uses a version of the Amazon EKS
945
+ # optimized Amazon Linux 2 AMI. For more information, see [Managed Node
946
+ # Groups][2] in the *Amazon EKS User Guide*.
711
947
  #
712
948
  #
713
949
  #
@@ -751,24 +987,30 @@ module Aws::EKS
751
987
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
752
988
  #
753
989
  # @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
990
+ # Specify the instance types for a node group. If you specify a GPU
991
+ # instance type, be sure to specify `AL2_x86_64_GPU` with the `amiType`
992
+ # parameter. If you specify `launchTemplate`, then you can specify zero
993
+ # or one instance type in your launch template *or* you can specify 0-20
994
+ # instance types for `instanceTypes`. If however, you specify an
995
+ # instance type in your launch template *and* specify any
996
+ # `instanceTypes`, the node group deployment will fail. If you don't
997
+ # specify an instance type in a launch template or for `instanceTypes`,
998
+ # then `t3.medium` is used, by default. If you specify `Spot` for
999
+ # `capacityType`, then we recommend specifying multiple values for
1000
+ # `instanceTypes`. For more information, see [Managed node group
1001
+ # capacity types][1] and [Launch template support][2] in the *Amazon EKS
1002
+ # User Guide*.
1003
+ #
1004
+ #
1005
+ #
1006
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types
1007
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
766
1008
  #
767
1009
  # @option params [String] :ami_type
768
1010
  # The AMI type for your node group. GPU instance types should use the
769
1011
  # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
770
1012
  # `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
1013
+ # type. All types use the Amazon EKS optimized Amazon Linux 2 AMI. If
772
1014
  # you specify `launchTemplate`, and your launch template uses a custom
773
1015
  # AMI, then don't specify `amiType`, or the node group deployment will
774
1016
  # fail. For more information about using launch templates with Amazon
@@ -792,16 +1034,16 @@ module Aws::EKS
792
1034
  # @option params [required, String] :node_role
793
1035
  # The Amazon Resource Name (ARN) of the IAM role to associate with your
794
1036
  # 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.
1037
+ # AWS APIs on your behalf. Nodes receive permissions for these API calls
1038
+ # through an IAM instance profile and associated policies. Before you
1039
+ # can launch nodes and register them into a cluster, you must create an
1040
+ # IAM role for those nodes to use when they are launched. For more
1041
+ # information, see [Amazon EKS node IAM role][1] in the <i> <i>Amazon
1042
+ # EKS User Guide</i> </i>. If you specify `launchTemplate`, then don't
1043
+ # specify [ `IamInstanceProfile` ][2] in your launch template, or the
1044
+ # node group deployment will fail. For more information about using
1045
+ # launch templates with Amazon EKS, see [Launch template support][3] in
1046
+ # the Amazon EKS User Guide.
805
1047
  #
806
1048
  #
807
1049
  #
@@ -833,6 +1075,9 @@ module Aws::EKS
833
1075
  # `remoteAccess` and make sure that the launch template meets the
834
1076
  # requirements in `launchTemplateSpecification`.
835
1077
  #
1078
+ # @option params [String] :capacity_type
1079
+ # The capacity type for your node group.
1080
+ #
836
1081
  # @option params [String] :version
837
1082
  # The Kubernetes version to use for your managed nodes. By default, the
838
1083
  # Kubernetes version of the cluster is used, and this is the only
@@ -847,15 +1092,15 @@ module Aws::EKS
847
1092
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
848
1093
  #
849
1094
  # @option params [String] :release_version
850
- # The AMI version of the Amazon EKS-optimized AMI to use with your node
1095
+ # The AMI version of the Amazon EKS optimized AMI to use with your node
851
1096
  # group. By default, the latest available AMI version for the node
852
1097
  # 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.
1098
+ # [Amazon EKS optimized Amazon Linux 2 AMI versions][1] in the *Amazon
1099
+ # EKS User Guide*. If you specify `launchTemplate`, and your launch
1100
+ # template uses a custom AMI, then don't specify `releaseVersion`, or
1101
+ # the node group deployment will fail. For more information about using
1102
+ # launch templates with Amazon EKS, see [Launch template support][2] in
1103
+ # the Amazon EKS User Guide.
859
1104
  #
860
1105
  #
861
1106
  #
@@ -897,6 +1142,7 @@ module Aws::EKS
897
1142
  # version: "String",
898
1143
  # id: "String",
899
1144
  # },
1145
+ # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
900
1146
  # version: "String",
901
1147
  # release_version: "String",
902
1148
  # })
@@ -911,6 +1157,7 @@ module Aws::EKS
911
1157
  # resp.nodegroup.created_at #=> Time
912
1158
  # resp.nodegroup.modified_at #=> Time
913
1159
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1160
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
914
1161
  # resp.nodegroup.scaling_config.min_size #=> Integer
915
1162
  # resp.nodegroup.scaling_config.max_size #=> Integer
916
1163
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -930,7 +1177,7 @@ module Aws::EKS
930
1177
  # resp.nodegroup.resources.remote_access_security_group #=> String
931
1178
  # resp.nodegroup.disk_size #=> Integer
932
1179
  # 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"
1180
+ # 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
1181
  # resp.nodegroup.health.issues[0].message #=> String
935
1182
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
936
1183
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -949,6 +1196,61 @@ module Aws::EKS
949
1196
  req.send_request(options)
950
1197
  end
951
1198
 
1199
+ # Delete an Amazon EKS add-on.
1200
+ #
1201
+ # When you remove the add-on, it will also be deleted from the cluster.
1202
+ # You can always manually start an add-on on the cluster using the
1203
+ # Kubernetes API.
1204
+ #
1205
+ # @option params [required, String] :cluster_name
1206
+ # The name of the cluster to delete the add-on from.
1207
+ #
1208
+ # @option params [required, String] :addon_name
1209
+ # The name of the add-on. The name must match one of the names returned
1210
+ # by [ `ListAddons` ][1].
1211
+ #
1212
+ #
1213
+ #
1214
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1215
+ #
1216
+ # @return [Types::DeleteAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1217
+ #
1218
+ # * {Types::DeleteAddonResponse#addon #addon} => Types::Addon
1219
+ #
1220
+ # @example Request syntax with placeholder values
1221
+ #
1222
+ # resp = client.delete_addon({
1223
+ # cluster_name: "ClusterName", # required
1224
+ # addon_name: "String", # required
1225
+ # })
1226
+ #
1227
+ # @example Response structure
1228
+ #
1229
+ # resp.addon.addon_name #=> String
1230
+ # resp.addon.cluster_name #=> String
1231
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1232
+ # resp.addon.addon_version #=> String
1233
+ # resp.addon.health.issues #=> Array
1234
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1235
+ # resp.addon.health.issues[0].message #=> String
1236
+ # resp.addon.health.issues[0].resource_ids #=> Array
1237
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
1238
+ # resp.addon.addon_arn #=> String
1239
+ # resp.addon.created_at #=> Time
1240
+ # resp.addon.modified_at #=> Time
1241
+ # resp.addon.service_account_role_arn #=> String
1242
+ # resp.addon.tags #=> Hash
1243
+ # resp.addon.tags["TagKey"] #=> String
1244
+ #
1245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddon AWS API Documentation
1246
+ #
1247
+ # @overload delete_addon(params = {})
1248
+ # @param [Hash] params ({})
1249
+ def delete_addon(params = {}, options = {})
1250
+ req = build_request(:delete_addon, params)
1251
+ req.send_request(options)
1252
+ end
1253
+
952
1254
  # Deletes the Amazon EKS cluster control plane.
953
1255
  #
954
1256
  # If you have active services in your cluster that are associated with a
@@ -1122,6 +1424,7 @@ module Aws::EKS
1122
1424
  # resp.nodegroup.created_at #=> Time
1123
1425
  # resp.nodegroup.modified_at #=> Time
1124
1426
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1427
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
1125
1428
  # resp.nodegroup.scaling_config.min_size #=> Integer
1126
1429
  # resp.nodegroup.scaling_config.max_size #=> Integer
1127
1430
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1141,7 +1444,7 @@ module Aws::EKS
1141
1444
  # resp.nodegroup.resources.remote_access_security_group #=> String
1142
1445
  # resp.nodegroup.disk_size #=> Integer
1143
1446
  # 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"
1447
+ # 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
1448
  # resp.nodegroup.health.issues[0].message #=> String
1146
1449
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1147
1450
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -1160,6 +1463,133 @@ module Aws::EKS
1160
1463
  req.send_request(options)
1161
1464
  end
1162
1465
 
1466
+ # Describes an Amazon EKS add-on.
1467
+ #
1468
+ # @option params [required, String] :cluster_name
1469
+ # The name of the cluster.
1470
+ #
1471
+ # @option params [required, String] :addon_name
1472
+ # The name of the add-on. The name must match one of the names returned
1473
+ # by [ `ListAddons` ][1].
1474
+ #
1475
+ #
1476
+ #
1477
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1478
+ #
1479
+ # @return [Types::DescribeAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1480
+ #
1481
+ # * {Types::DescribeAddonResponse#addon #addon} => Types::Addon
1482
+ #
1483
+ # @example Request syntax with placeholder values
1484
+ #
1485
+ # resp = client.describe_addon({
1486
+ # cluster_name: "ClusterName", # required
1487
+ # addon_name: "String", # required
1488
+ # })
1489
+ #
1490
+ # @example Response structure
1491
+ #
1492
+ # resp.addon.addon_name #=> String
1493
+ # resp.addon.cluster_name #=> String
1494
+ # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1495
+ # resp.addon.addon_version #=> String
1496
+ # resp.addon.health.issues #=> Array
1497
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1498
+ # resp.addon.health.issues[0].message #=> String
1499
+ # resp.addon.health.issues[0].resource_ids #=> Array
1500
+ # resp.addon.health.issues[0].resource_ids[0] #=> String
1501
+ # resp.addon.addon_arn #=> String
1502
+ # resp.addon.created_at #=> Time
1503
+ # resp.addon.modified_at #=> Time
1504
+ # resp.addon.service_account_role_arn #=> String
1505
+ # resp.addon.tags #=> Hash
1506
+ # resp.addon.tags["TagKey"] #=> String
1507
+ #
1508
+ #
1509
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1510
+ #
1511
+ # * addon_active
1512
+ # * addon_deleted
1513
+ #
1514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddon AWS API Documentation
1515
+ #
1516
+ # @overload describe_addon(params = {})
1517
+ # @param [Hash] params ({})
1518
+ def describe_addon(params = {}, options = {})
1519
+ req = build_request(:describe_addon, params)
1520
+ req.send_request(options)
1521
+ end
1522
+
1523
+ # Describes the Kubernetes versions that the add-on can be used with.
1524
+ #
1525
+ # @option params [String] :kubernetes_version
1526
+ # The Kubernetes versions that the add-on can be used with.
1527
+ #
1528
+ # @option params [Integer] :max_results
1529
+ # The maximum number of results to return.
1530
+ #
1531
+ # @option params [String] :next_token
1532
+ # The `nextToken` value returned from a previous paginated
1533
+ # `DescribeAddonVersionsRequest` where `maxResults` was used and the
1534
+ # results exceeded the value of that parameter. Pagination continues
1535
+ # from the end of the previous results that returned the `nextToken`
1536
+ # value.
1537
+ #
1538
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used only
1539
+ # to retrieve the next items in a list and not for other programmatic
1540
+ # purposes.
1541
+ #
1542
+ # </note>
1543
+ #
1544
+ # @option params [String] :addon_name
1545
+ # The name of the add-on. The name must match one of the names returned
1546
+ # by [ `ListAddons` ][1].
1547
+ #
1548
+ #
1549
+ #
1550
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1551
+ #
1552
+ # @return [Types::DescribeAddonVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1553
+ #
1554
+ # * {Types::DescribeAddonVersionsResponse#addons #addons} => Array&lt;Types::AddonInfo&gt;
1555
+ # * {Types::DescribeAddonVersionsResponse#next_token #next_token} => String
1556
+ #
1557
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1558
+ #
1559
+ # @example Request syntax with placeholder values
1560
+ #
1561
+ # resp = client.describe_addon_versions({
1562
+ # kubernetes_version: "String",
1563
+ # max_results: 1,
1564
+ # next_token: "String",
1565
+ # addon_name: "String",
1566
+ # })
1567
+ #
1568
+ # @example Response structure
1569
+ #
1570
+ # resp.addons #=> Array
1571
+ # resp.addons[0].addon_name #=> String
1572
+ # resp.addons[0].type #=> String
1573
+ # resp.addons[0].addon_versions #=> Array
1574
+ # resp.addons[0].addon_versions[0].addon_version #=> String
1575
+ # resp.addons[0].addon_versions[0].architecture #=> Array
1576
+ # resp.addons[0].addon_versions[0].architecture[0] #=> String
1577
+ # resp.addons[0].addon_versions[0].compatibilities #=> Array
1578
+ # resp.addons[0].addon_versions[0].compatibilities[0].cluster_version #=> String
1579
+ # resp.addons[0].addon_versions[0].compatibilities[0].platform_versions #=> Array
1580
+ # resp.addons[0].addon_versions[0].compatibilities[0].platform_versions[0] #=> String
1581
+ # resp.addons[0].addon_versions[0].compatibilities[0].default_version #=> Boolean
1582
+ # resp.next_token #=> String
1583
+ #
1584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersions AWS API Documentation
1585
+ #
1586
+ # @overload describe_addon_versions(params = {})
1587
+ # @param [Hash] params ({})
1588
+ def describe_addon_versions(params = {}, options = {})
1589
+ req = build_request(:describe_addon_versions, params)
1590
+ req.send_request(options)
1591
+ end
1592
+
1163
1593
  # Returns descriptive information about an Amazon EKS cluster.
1164
1594
  #
1165
1595
  # The API server endpoint and certificate authority data returned by
@@ -1320,6 +1750,56 @@ module Aws::EKS
1320
1750
  req.send_request(options)
1321
1751
  end
1322
1752
 
1753
+ # Returns descriptive information about an identity provider
1754
+ # configuration.
1755
+ #
1756
+ # @option params [required, String] :cluster_name
1757
+ # The cluster name that the identity provider configuration is
1758
+ # associated to.
1759
+ #
1760
+ # @option params [required, Types::IdentityProviderConfig] :identity_provider_config
1761
+ # An object that represents an identity provider configuration.
1762
+ #
1763
+ # @return [Types::DescribeIdentityProviderConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1764
+ #
1765
+ # * {Types::DescribeIdentityProviderConfigResponse#identity_provider_config #identity_provider_config} => Types::IdentityProviderConfigResponse
1766
+ #
1767
+ # @example Request syntax with placeholder values
1768
+ #
1769
+ # resp = client.describe_identity_provider_config({
1770
+ # cluster_name: "String", # required
1771
+ # identity_provider_config: { # required
1772
+ # type: "String", # required
1773
+ # name: "String", # required
1774
+ # },
1775
+ # })
1776
+ #
1777
+ # @example Response structure
1778
+ #
1779
+ # resp.identity_provider_config.oidc.identity_provider_config_name #=> String
1780
+ # resp.identity_provider_config.oidc.identity_provider_config_arn #=> String
1781
+ # resp.identity_provider_config.oidc.cluster_name #=> String
1782
+ # resp.identity_provider_config.oidc.issuer_url #=> String
1783
+ # resp.identity_provider_config.oidc.client_id #=> String
1784
+ # resp.identity_provider_config.oidc.username_claim #=> String
1785
+ # resp.identity_provider_config.oidc.username_prefix #=> String
1786
+ # resp.identity_provider_config.oidc.groups_claim #=> String
1787
+ # resp.identity_provider_config.oidc.groups_prefix #=> String
1788
+ # resp.identity_provider_config.oidc.required_claims #=> Hash
1789
+ # resp.identity_provider_config.oidc.required_claims["requiredClaimsKey"] #=> String
1790
+ # resp.identity_provider_config.oidc.tags #=> Hash
1791
+ # resp.identity_provider_config.oidc.tags["TagKey"] #=> String
1792
+ # resp.identity_provider_config.oidc.status #=> String, one of "CREATING", "DELETING", "ACTIVE"
1793
+ #
1794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfig AWS API Documentation
1795
+ #
1796
+ # @overload describe_identity_provider_config(params = {})
1797
+ # @param [Hash] params ({})
1798
+ def describe_identity_provider_config(params = {}, options = {})
1799
+ req = build_request(:describe_identity_provider_config, params)
1800
+ req.send_request(options)
1801
+ end
1802
+
1323
1803
  # Returns descriptive information about an Amazon EKS node group.
1324
1804
  #
1325
1805
  # @option params [required, String] :cluster_name
@@ -1349,6 +1829,7 @@ module Aws::EKS
1349
1829
  # resp.nodegroup.created_at #=> Time
1350
1830
  # resp.nodegroup.modified_at #=> Time
1351
1831
  # resp.nodegroup.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "DEGRADED"
1832
+ # resp.nodegroup.capacity_type #=> String, one of "ON_DEMAND", "SPOT"
1352
1833
  # resp.nodegroup.scaling_config.min_size #=> Integer
1353
1834
  # resp.nodegroup.scaling_config.max_size #=> Integer
1354
1835
  # resp.nodegroup.scaling_config.desired_size #=> Integer
@@ -1368,7 +1849,7 @@ module Aws::EKS
1368
1849
  # resp.nodegroup.resources.remote_access_security_group #=> String
1369
1850
  # resp.nodegroup.disk_size #=> Integer
1370
1851
  # 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"
1852
+ # 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
1853
  # resp.nodegroup.health.issues[0].message #=> String
1373
1854
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1374
1855
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
@@ -1409,6 +1890,14 @@ module Aws::EKS
1409
1890
  # @option params [String] :nodegroup_name
1410
1891
  # The name of the Amazon EKS node group associated with the update.
1411
1892
  #
1893
+ # @option params [String] :addon_name
1894
+ # The name of the add-on. The name must match one of the names returned
1895
+ # by [ `ListAddons` ][1].
1896
+ #
1897
+ #
1898
+ #
1899
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1900
+ #
1412
1901
  # @return [Types::DescribeUpdateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1413
1902
  #
1414
1903
  # * {Types::DescribeUpdateResponse#update #update} => Types::Update
@@ -1419,19 +1908,20 @@ module Aws::EKS
1419
1908
  # name: "String", # required
1420
1909
  # update_id: "String", # required
1421
1910
  # nodegroup_name: "String",
1911
+ # addon_name: "String",
1422
1912
  # })
1423
1913
  #
1424
1914
  # @example Response structure
1425
1915
  #
1426
1916
  # resp.update.id #=> String
1427
1917
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1428
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
1918
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
1429
1919
  # 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"
1920
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1431
1921
  # resp.update.params[0].value #=> String
1432
1922
  # resp.update.created_at #=> Time
1433
1923
  # 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"
1924
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1435
1925
  # resp.update.errors[0].error_message #=> String
1436
1926
  # resp.update.errors[0].resource_ids #=> Array
1437
1927
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1445,6 +1935,120 @@ module Aws::EKS
1445
1935
  req.send_request(options)
1446
1936
  end
1447
1937
 
1938
+ # Disassociates an identity provider configuration from a cluster. If
1939
+ # you disassociate an identity provider from your cluster, users
1940
+ # included in the provider can no longer access the cluster. However,
1941
+ # you can still access the cluster with AWS IAM users.
1942
+ #
1943
+ # @option params [required, String] :cluster_name
1944
+ # The name of the cluster to disassociate an identity provider from.
1945
+ #
1946
+ # @option params [required, Types::IdentityProviderConfig] :identity_provider_config
1947
+ # An object that represents an identity provider configuration.
1948
+ #
1949
+ # @option params [String] :client_request_token
1950
+ # A unique, case-sensitive identifier that you provide to ensure the
1951
+ # idempotency of the request.
1952
+ #
1953
+ # **A suitable default value is auto-generated.** You should normally
1954
+ # not need to pass this option.**
1955
+ #
1956
+ # @return [Types::DisassociateIdentityProviderConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1957
+ #
1958
+ # * {Types::DisassociateIdentityProviderConfigResponse#update #update} => Types::Update
1959
+ #
1960
+ # @example Request syntax with placeholder values
1961
+ #
1962
+ # resp = client.disassociate_identity_provider_config({
1963
+ # cluster_name: "String", # required
1964
+ # identity_provider_config: { # required
1965
+ # type: "String", # required
1966
+ # name: "String", # required
1967
+ # },
1968
+ # client_request_token: "String",
1969
+ # })
1970
+ #
1971
+ # @example Response structure
1972
+ #
1973
+ # resp.update.id #=> String
1974
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1975
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
1976
+ # resp.update.params #=> Array
1977
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1978
+ # resp.update.params[0].value #=> String
1979
+ # resp.update.created_at #=> Time
1980
+ # resp.update.errors #=> Array
1981
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1982
+ # resp.update.errors[0].error_message #=> String
1983
+ # resp.update.errors[0].resource_ids #=> Array
1984
+ # resp.update.errors[0].resource_ids[0] #=> String
1985
+ #
1986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfig AWS API Documentation
1987
+ #
1988
+ # @overload disassociate_identity_provider_config(params = {})
1989
+ # @param [Hash] params ({})
1990
+ def disassociate_identity_provider_config(params = {}, options = {})
1991
+ req = build_request(:disassociate_identity_provider_config, params)
1992
+ req.send_request(options)
1993
+ end
1994
+
1995
+ # Lists the available add-ons.
1996
+ #
1997
+ # @option params [required, String] :cluster_name
1998
+ # The name of the cluster.
1999
+ #
2000
+ # @option params [Integer] :max_results
2001
+ # The maximum number of add-on results returned by `ListAddonsRequest`
2002
+ # in paginated output. When you use this parameter, `ListAddonsRequest`
2003
+ # returns only `maxResults` results in a single page along with a
2004
+ # `nextToken` response element. You can see the remaining results of the
2005
+ # initial request by sending another `ListAddonsRequest` request with
2006
+ # the returned `nextToken` value. This value can be between 1 and 100.
2007
+ # If you don't use this parameter, `ListAddonsRequest` returns up to
2008
+ # 100 results and a `nextToken` value, if applicable.
2009
+ #
2010
+ # @option params [String] :next_token
2011
+ # The `nextToken` value returned from a previous paginated
2012
+ # `ListAddonsRequest` where `maxResults` was used and the results
2013
+ # exceeded the value of that parameter. Pagination continues from the
2014
+ # end of the previous results that returned the `nextToken` value.
2015
+ #
2016
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used only
2017
+ # to retrieve the next items in a list and not for other programmatic
2018
+ # purposes.
2019
+ #
2020
+ # </note>
2021
+ #
2022
+ # @return [Types::ListAddonsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2023
+ #
2024
+ # * {Types::ListAddonsResponse#addons #addons} => Array&lt;String&gt;
2025
+ # * {Types::ListAddonsResponse#next_token #next_token} => String
2026
+ #
2027
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2028
+ #
2029
+ # @example Request syntax with placeholder values
2030
+ #
2031
+ # resp = client.list_addons({
2032
+ # cluster_name: "ClusterName", # required
2033
+ # max_results: 1,
2034
+ # next_token: "String",
2035
+ # })
2036
+ #
2037
+ # @example Response structure
2038
+ #
2039
+ # resp.addons #=> Array
2040
+ # resp.addons[0] #=> String
2041
+ # resp.next_token #=> String
2042
+ #
2043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddons AWS API Documentation
2044
+ #
2045
+ # @overload list_addons(params = {})
2046
+ # @param [Hash] params ({})
2047
+ def list_addons(params = {}, options = {})
2048
+ req = build_request(:list_addons, params)
2049
+ req.send_request(options)
2050
+ end
2051
+
1448
2052
  # Lists the Amazon EKS clusters in your AWS account in the specified
1449
2053
  # Region.
1450
2054
  #
@@ -1570,6 +2174,61 @@ module Aws::EKS
1570
2174
  req.send_request(options)
1571
2175
  end
1572
2176
 
2177
+ # A list of identity provider configurations.
2178
+ #
2179
+ # @option params [required, String] :cluster_name
2180
+ # The cluster name that you want to list identity provider
2181
+ # configurations for.
2182
+ #
2183
+ # @option params [Integer] :max_results
2184
+ # The maximum number of identity provider configurations returned by
2185
+ # `ListIdentityProviderConfigs` in paginated output. When you use this
2186
+ # parameter, `ListIdentityProviderConfigs` returns only `maxResults`
2187
+ # results in a single page along with a `nextToken` response element.
2188
+ # You can see the remaining results of the initial request by sending
2189
+ # another `ListIdentityProviderConfigs` request with the returned
2190
+ # `nextToken` value. This value can be between 1 and 100. If you don't
2191
+ # use this parameter, `ListIdentityProviderConfigs` returns up to 100
2192
+ # results and a `nextToken` value, if applicable.
2193
+ #
2194
+ # @option params [String] :next_token
2195
+ # The `nextToken` value returned from a previous paginated
2196
+ # `IdentityProviderConfigsRequest` where `maxResults` was used and the
2197
+ # results exceeded the value of that parameter. Pagination continues
2198
+ # from the end of the previous results that returned the `nextToken`
2199
+ # value.
2200
+ #
2201
+ # @return [Types::ListIdentityProviderConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2202
+ #
2203
+ # * {Types::ListIdentityProviderConfigsResponse#identity_provider_configs #identity_provider_configs} => Array&lt;Types::IdentityProviderConfig&gt;
2204
+ # * {Types::ListIdentityProviderConfigsResponse#next_token #next_token} => String
2205
+ #
2206
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2207
+ #
2208
+ # @example Request syntax with placeholder values
2209
+ #
2210
+ # resp = client.list_identity_provider_configs({
2211
+ # cluster_name: "String", # required
2212
+ # max_results: 1,
2213
+ # next_token: "String",
2214
+ # })
2215
+ #
2216
+ # @example Response structure
2217
+ #
2218
+ # resp.identity_provider_configs #=> Array
2219
+ # resp.identity_provider_configs[0].type #=> String
2220
+ # resp.identity_provider_configs[0].name #=> String
2221
+ # resp.next_token #=> String
2222
+ #
2223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigs AWS API Documentation
2224
+ #
2225
+ # @overload list_identity_provider_configs(params = {})
2226
+ # @param [Hash] params ({})
2227
+ def list_identity_provider_configs(params = {}, options = {})
2228
+ req = build_request(:list_identity_provider_configs, params)
2229
+ req.send_request(options)
2230
+ end
2231
+
1573
2232
  # Lists the Amazon EKS managed node groups associated with the specified
1574
2233
  # cluster in your AWS account in the specified Region. Self-managed node
1575
2234
  # groups are not listed.
@@ -1680,6 +2339,9 @@ module Aws::EKS
1680
2339
  # @option params [String] :nodegroup_name
1681
2340
  # The name of the Amazon EKS managed node group to list updates for.
1682
2341
  #
2342
+ # @option params [String] :addon_name
2343
+ # The names of the installed add-ons that have available updates.
2344
+ #
1683
2345
  # @option params [String] :next_token
1684
2346
  # The `nextToken` value returned from a previous paginated `ListUpdates`
1685
2347
  # request where `maxResults` was used and the results exceeded the value
@@ -1708,6 +2370,7 @@ module Aws::EKS
1708
2370
  # resp = client.list_updates({
1709
2371
  # name: "String", # required
1710
2372
  # nodegroup_name: "String",
2373
+ # addon_name: "String",
1711
2374
  # next_token: "String",
1712
2375
  # max_results: 1,
1713
2376
  # })
@@ -1734,7 +2397,7 @@ module Aws::EKS
1734
2397
  # you create for Amazon EKS resources do not propagate to any other
1735
2398
  # resources associated with the cluster. For example, if you tag a
1736
2399
  # cluster with this operation, that tag does not automatically propagate
1737
- # to the subnets and worker nodes associated with the cluster.
2400
+ # to the subnets and nodes associated with the cluster.
1738
2401
  #
1739
2402
  # @option params [required, String] :resource_arn
1740
2403
  # The Amazon Resource Name (ARN) of the resource to which to add tags.
@@ -1792,6 +2455,97 @@ module Aws::EKS
1792
2455
  req.send_request(options)
1793
2456
  end
1794
2457
 
2458
+ # Updates an Amazon EKS add-on.
2459
+ #
2460
+ # @option params [required, String] :cluster_name
2461
+ # The name of the cluster.
2462
+ #
2463
+ # @option params [required, String] :addon_name
2464
+ # The name of the add-on. The name must match one of the names returned
2465
+ # by [ `ListAddons` ][1].
2466
+ #
2467
+ #
2468
+ #
2469
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
2470
+ #
2471
+ # @option params [String] :addon_version
2472
+ # The version of the add-on. The version must match one of the versions
2473
+ # returned by [ `DescribeAddonVersions` ][1].
2474
+ #
2475
+ #
2476
+ #
2477
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
2478
+ #
2479
+ # @option params [String] :service_account_role_arn
2480
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to the
2481
+ # add-on's service account. The role must be assigned the IAM
2482
+ # permissions required by the add-on. If you don't specify an existing
2483
+ # IAM role, then the add-on uses the permissions assigned to the node
2484
+ # IAM role. For more information, see [Amazon EKS node IAM role][1] in
2485
+ # the *Amazon EKS User Guide*.
2486
+ #
2487
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
2488
+ # (OIDC) provider created for your cluster. For more information, see
2489
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
2490
+ # *Amazon EKS User Guide*.
2491
+ #
2492
+ # </note>
2493
+ #
2494
+ #
2495
+ #
2496
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
2497
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
2498
+ #
2499
+ # @option params [String] :resolve_conflicts
2500
+ # How to resolve parameter value conflicts when applying the new version
2501
+ # of the add-on to the cluster.
2502
+ #
2503
+ # @option params [String] :client_request_token
2504
+ # Unique, case-sensitive identifier that you provide to ensure the
2505
+ # idempotency of the request.
2506
+ #
2507
+ # **A suitable default value is auto-generated.** You should normally
2508
+ # not need to pass this option.**
2509
+ #
2510
+ # @return [Types::UpdateAddonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2511
+ #
2512
+ # * {Types::UpdateAddonResponse#update #update} => Types::Update
2513
+ #
2514
+ # @example Request syntax with placeholder values
2515
+ #
2516
+ # resp = client.update_addon({
2517
+ # cluster_name: "ClusterName", # required
2518
+ # addon_name: "String", # required
2519
+ # addon_version: "String",
2520
+ # service_account_role_arn: "RoleArn",
2521
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
2522
+ # client_request_token: "String",
2523
+ # })
2524
+ #
2525
+ # @example Response structure
2526
+ #
2527
+ # resp.update.id #=> String
2528
+ # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2529
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2530
+ # resp.update.params #=> Array
2531
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2532
+ # resp.update.params[0].value #=> String
2533
+ # resp.update.created_at #=> Time
2534
+ # resp.update.errors #=> Array
2535
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2536
+ # resp.update.errors[0].error_message #=> String
2537
+ # resp.update.errors[0].resource_ids #=> Array
2538
+ # resp.update.errors[0].resource_ids[0] #=> String
2539
+ #
2540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddon AWS API Documentation
2541
+ #
2542
+ # @overload update_addon(params = {})
2543
+ # @param [Hash] params ({})
2544
+ def update_addon(params = {}, options = {})
2545
+ req = build_request(:update_addon, params)
2546
+ req.send_request(options)
2547
+ end
2548
+
1795
2549
  # Updates an Amazon EKS cluster configuration. Your cluster continues to
1796
2550
  # function during the update. The response output includes an update ID
1797
2551
  # that you can use to track the status of your cluster update with the
@@ -1892,13 +2646,13 @@ module Aws::EKS
1892
2646
  #
1893
2647
  # resp.update.id #=> String
1894
2648
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1895
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2649
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
1896
2650
  # 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"
2651
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1898
2652
  # resp.update.params[0].value #=> String
1899
2653
  # resp.update.created_at #=> Time
1900
2654
  # 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"
2655
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1902
2656
  # resp.update.errors[0].error_message #=> String
1903
2657
  # resp.update.errors[0].resource_ids #=> Array
1904
2658
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1956,13 +2710,13 @@ module Aws::EKS
1956
2710
  #
1957
2711
  # resp.update.id #=> String
1958
2712
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1959
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2713
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
1960
2714
  # 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"
2715
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
1962
2716
  # resp.update.params[0].value #=> String
1963
2717
  # resp.update.created_at #=> Time
1964
2718
  # 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"
2719
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1966
2720
  # resp.update.errors[0].error_message #=> String
1967
2721
  # resp.update.errors[0].resource_ids #=> Array
1968
2722
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2032,13 +2786,13 @@ module Aws::EKS
2032
2786
  #
2033
2787
  # resp.update.id #=> String
2034
2788
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2035
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2789
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2036
2790
  # 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"
2791
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2038
2792
  # resp.update.params[0].value #=> String
2039
2793
  # resp.update.created_at #=> Time
2040
2794
  # 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"
2795
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2042
2796
  # resp.update.errors[0].error_message #=> String
2043
2797
  # resp.update.errors[0].resource_ids #=> Array
2044
2798
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2067,8 +2821,8 @@ module Aws::EKS
2067
2821
  # version by not specifying a Kubernetes version in the request. You can
2068
2822
  # update to the latest AMI version of your cluster's current Kubernetes
2069
2823
  # 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*.
2824
+ # request. For more information, see [Amazon EKS optimized Amazon Linux
2825
+ # 2 AMI versions][1] in the *Amazon EKS User Guide*.
2072
2826
  #
2073
2827
  # You cannot roll back a node group to an earlier Kubernetes version or
2074
2828
  # AMI version.
@@ -2105,12 +2859,12 @@ module Aws::EKS
2105
2859
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
2106
2860
  #
2107
2861
  # @option params [String] :release_version
2108
- # The AMI version of the Amazon EKS-optimized AMI to use for the update.
2862
+ # The AMI version of the Amazon EKS optimized AMI to use for the update.
2109
2863
  # 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
2864
+ # Kubernetes version is used. For more information, see [Amazon EKS
2865
+ # optimized Amazon Linux 2 AMI versions ][1] in the *Amazon EKS User
2866
+ # Guide*. If you specify `launchTemplate`, and your launch template uses
2867
+ # a custom AMI, then don't specify `releaseVersion`, or the node group
2114
2868
  # update will fail. For more information about using launch templates
2115
2869
  # with Amazon EKS, see [Launch template support][2] in the Amazon EKS
2116
2870
  # User Guide.
@@ -2163,13 +2917,13 @@ module Aws::EKS
2163
2917
  #
2164
2918
  # resp.update.id #=> String
2165
2919
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2166
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate"
2920
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2167
2921
  # 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"
2922
+ # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "IdentityProviderConfig", "EncryptionConfig", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
2169
2923
  # resp.update.params[0].value #=> String
2170
2924
  # resp.update.created_at #=> Time
2171
2925
  # 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"
2926
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2173
2927
  # resp.update.errors[0].error_message #=> String
2174
2928
  # resp.update.errors[0].resource_ids #=> Array
2175
2929
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2196,7 +2950,7 @@ module Aws::EKS
2196
2950
  params: params,
2197
2951
  config: config)
2198
2952
  context[:gem_name] = 'aws-sdk-eks'
2199
- context[:gem_version] = '1.44.0'
2953
+ context[:gem_version] = '1.49.0'
2200
2954
  Seahorse::Client::Request.new(handlers, context)
2201
2955
  end
2202
2956
 
@@ -2264,6 +3018,8 @@ module Aws::EKS
2264
3018
  #
2265
3019
  # | waiter_name | params | :delay | :max_attempts |
2266
3020
  # | ----------------- | --------------------------- | -------- | ------------- |
3021
+ # | addon_active | {Client#describe_addon} | 10 | 60 |
3022
+ # | addon_deleted | {Client#describe_addon} | 10 | 60 |
2267
3023
  # | cluster_active | {Client#describe_cluster} | 30 | 40 |
2268
3024
  # | cluster_deleted | {Client#describe_cluster} | 30 | 40 |
2269
3025
  # | nodegroup_active | {Client#describe_nodegroup} | 30 | 80 |
@@ -2318,6 +3074,8 @@ module Aws::EKS
2318
3074
 
2319
3075
  def waiters
2320
3076
  {
3077
+ addon_active: Waiters::AddonActive,
3078
+ addon_deleted: Waiters::AddonDeleted,
2321
3079
  cluster_active: Waiters::ClusterActive,
2322
3080
  cluster_deleted: Waiters::ClusterDeleted,
2323
3081
  nodegroup_active: Waiters::NodegroupActive,