aws-sdk-eks 1.46.0 → 1.51.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.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.51.0
data/lib/aws-sdk-eks.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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_addon(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.46.0'
52
+ GEM_VERSION = '1.51.0'
53
53
 
54
54
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -327,6 +327,156 @@ 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", "AdmissionRequestDenied"
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", "AdmissionRequestDenied"
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
+
330
480
  # Creates an Amazon EKS add-on.
331
481
  #
332
482
  # Amazon EKS add-ons help to automate the provisioning and lifecycle
@@ -416,7 +566,7 @@ module Aws::EKS
416
566
  # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
417
567
  # resp.addon.addon_version #=> String
418
568
  # resp.addon.health.issues #=> Array
419
- # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
569
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
420
570
  # resp.addon.health.issues[0].message #=> String
421
571
  # resp.addon.health.issues[0].resource_ids #=> Array
422
572
  # resp.addon.health.issues[0].resource_ids[0] #=> String
@@ -449,46 +599,23 @@ module Aws::EKS
449
599
  # Zones and fronted by an Elastic Load Balancing Network Load Balancer.
450
600
  # Amazon EKS also provisions elastic network interfaces in your VPC
451
601
  # subnets to provide connectivity from the control plane instances to
452
- # the worker nodes (for example, to support `kubectl exec`, `logs`, and
453
- # `proxy` data flows).
602
+ # the nodes (for example, to support `kubectl exec`, `logs`, and `proxy`
603
+ # data flows).
454
604
  #
455
- # 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
456
606
  # cluster's control plane via the Kubernetes API server endpoint and a
457
607
  # certificate file that is created for your cluster.
458
608
  #
459
- # You can use the `endpointPublicAccess` and `endpointPrivateAccess`
460
- # parameters to enable or disable public and private access to your
461
- # cluster's Kubernetes API server endpoint. By default, public access
462
- # is enabled, and private access is disabled. For more information, see
463
- # [Amazon EKS Cluster Endpoint Access Control][1] in the <i> <i>Amazon
464
- # EKS User Guide</i> </i>.
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*.
465
614
  #
466
- # You can use the `logging` parameter to enable or disable exporting the
467
- # Kubernetes control plane logs for your cluster to CloudWatch Logs. By
468
- # default, cluster control plane logs aren't exported to CloudWatch
469
- # Logs. For more information, see [Amazon EKS Cluster Control Plane
470
- # Logs][2] in the <i> <i>Amazon EKS User Guide</i> </i>.
471
615
  #
472
- # <note markdown="1"> CloudWatch Logs ingestion, archive storage, and data scanning rates
473
- # apply to exported control plane logs. For more information, see
474
- # [Amazon CloudWatch Pricing][3].
475
- #
476
- # </note>
477
- #
478
- # Cluster creation typically takes between 10 and 15 minutes. After you
479
- # create an Amazon EKS cluster, you must configure your Kubernetes
480
- # tooling to communicate with the API server and launch worker nodes
481
- # into your cluster. For more information, see [Managing Cluster
482
- # Authentication][4] and [Launching Amazon EKS Worker Nodes][5] in the
483
- # *Amazon EKS User Guide*.
484
616
  #
485
- #
486
- #
487
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html
488
- # [2]: https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html
489
- # [3]: http://aws.amazon.com/cloudwatch/pricing/
490
- # [4]: https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html
491
- # [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
492
619
  #
493
620
  # @option params [required, String] :name
494
621
  # The unique name to give to your cluster.
@@ -804,8 +931,8 @@ module Aws::EKS
804
931
  req.send_request(options)
805
932
  end
806
933
 
807
- # Creates a managed worker node group for an Amazon EKS cluster. You can
808
- # 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
809
936
  # Kubernetes version for the cluster. All node groups are created with
810
937
  # the latest AMI release version for the respective minor Kubernetes
811
938
  # version of the cluster, unless you deploy a custom AMI using a launch
@@ -876,7 +1003,7 @@ module Aws::EKS
876
1003
  #
877
1004
  #
878
1005
  #
879
- # [1]: https://docs.aws.amazon.com/managed-node-groups.html#managed-node-group-capacity-types
1006
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types
880
1007
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
881
1008
  #
882
1009
  # @option params [String] :ami_type
@@ -907,16 +1034,16 @@ module Aws::EKS
907
1034
  # @option params [required, String] :node_role
908
1035
  # The Amazon Resource Name (ARN) of the IAM role to associate with your
909
1036
  # node group. The Amazon EKS worker node `kubelet` daemon makes calls to
910
- # AWS APIs on your behalf. Worker nodes receive permissions for these
911
- # API calls through an IAM instance profile and associated policies.
912
- # Before you can launch worker nodes and register them into a cluster,
913
- # you must create an IAM role for those worker nodes to use when they
914
- # are launched. For more information, see [Amazon EKS Worker Node IAM
915
- # Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>. If you specify
916
- # `launchTemplate`, then don't specify [ `IamInstanceProfile` ][2] in
917
- # your launch template, or the node group deployment will fail. For more
918
- # information about using launch templates with Amazon EKS, see [Launch
919
- # 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.
920
1047
  #
921
1048
  #
922
1049
  #
@@ -1104,7 +1231,7 @@ module Aws::EKS
1104
1231
  # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1105
1232
  # resp.addon.addon_version #=> String
1106
1233
  # resp.addon.health.issues #=> Array
1107
- # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1234
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
1108
1235
  # resp.addon.health.issues[0].message #=> String
1109
1236
  # resp.addon.health.issues[0].resource_ids #=> Array
1110
1237
  # resp.addon.health.issues[0].resource_ids[0] #=> String
@@ -1367,7 +1494,7 @@ module Aws::EKS
1367
1494
  # resp.addon.status #=> String, one of "CREATING", "ACTIVE", "CREATE_FAILED", "UPDATING", "DELETING", "DELETE_FAILED", "DEGRADED"
1368
1495
  # resp.addon.addon_version #=> String
1369
1496
  # resp.addon.health.issues #=> Array
1370
- # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1497
+ # resp.addon.health.issues[0].code #=> String, one of "AccessDenied", "InternalFailure", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
1371
1498
  # resp.addon.health.issues[0].message #=> String
1372
1499
  # resp.addon.health.issues[0].resource_ids #=> Array
1373
1500
  # resp.addon.health.issues[0].resource_ids[0] #=> String
@@ -1623,6 +1750,56 @@ module Aws::EKS
1623
1750
  req.send_request(options)
1624
1751
  end
1625
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
+
1626
1803
  # Returns descriptive information about an Amazon EKS node group.
1627
1804
  #
1628
1805
  # @option params [required, String] :cluster_name
@@ -1738,13 +1915,13 @@ module Aws::EKS
1738
1915
  #
1739
1916
  # resp.update.id #=> String
1740
1917
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
1741
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
1918
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
1742
1919
  # resp.update.params #=> Array
1743
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
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"
1744
1921
  # resp.update.params[0].value #=> String
1745
1922
  # resp.update.created_at #=> Time
1746
1923
  # resp.update.errors #=> Array
1747
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
1924
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
1748
1925
  # resp.update.errors[0].error_message #=> String
1749
1926
  # resp.update.errors[0].resource_ids #=> Array
1750
1927
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -1758,6 +1935,63 @@ module Aws::EKS
1758
1935
  req.send_request(options)
1759
1936
  end
1760
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", "AdmissionRequestDenied"
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
+
1761
1995
  # Lists the available add-ons.
1762
1996
  #
1763
1997
  # @option params [required, String] :cluster_name
@@ -1940,6 +2174,61 @@ module Aws::EKS
1940
2174
  req.send_request(options)
1941
2175
  end
1942
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
+
1943
2232
  # Lists the Amazon EKS managed node groups associated with the specified
1944
2233
  # cluster in your AWS account in the specified Region. Self-managed node
1945
2234
  # groups are not listed.
@@ -2108,7 +2397,7 @@ module Aws::EKS
2108
2397
  # you create for Amazon EKS resources do not propagate to any other
2109
2398
  # resources associated with the cluster. For example, if you tag a
2110
2399
  # cluster with this operation, that tag does not automatically propagate
2111
- # to the subnets and worker nodes associated with the cluster.
2400
+ # to the subnets and nodes associated with the cluster.
2112
2401
  #
2113
2402
  # @option params [required, String] :resource_arn
2114
2403
  # The Amazon Resource Name (ARN) of the resource to which to add tags.
@@ -2237,13 +2526,13 @@ module Aws::EKS
2237
2526
  #
2238
2527
  # resp.update.id #=> String
2239
2528
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2240
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2529
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2241
2530
  # resp.update.params #=> Array
2242
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
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"
2243
2532
  # resp.update.params[0].value #=> String
2244
2533
  # resp.update.created_at #=> Time
2245
2534
  # resp.update.errors #=> Array
2246
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2535
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
2247
2536
  # resp.update.errors[0].error_message #=> String
2248
2537
  # resp.update.errors[0].resource_ids #=> Array
2249
2538
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2357,13 +2646,13 @@ module Aws::EKS
2357
2646
  #
2358
2647
  # resp.update.id #=> String
2359
2648
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2360
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2649
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2361
2650
  # resp.update.params #=> Array
2362
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
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"
2363
2652
  # resp.update.params[0].value #=> String
2364
2653
  # resp.update.created_at #=> Time
2365
2654
  # resp.update.errors #=> Array
2366
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2655
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
2367
2656
  # resp.update.errors[0].error_message #=> String
2368
2657
  # resp.update.errors[0].resource_ids #=> Array
2369
2658
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2421,13 +2710,13 @@ module Aws::EKS
2421
2710
  #
2422
2711
  # resp.update.id #=> String
2423
2712
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2424
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2713
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2425
2714
  # resp.update.params #=> Array
2426
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
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"
2427
2716
  # resp.update.params[0].value #=> String
2428
2717
  # resp.update.created_at #=> Time
2429
2718
  # resp.update.errors #=> Array
2430
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2719
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
2431
2720
  # resp.update.errors[0].error_message #=> String
2432
2721
  # resp.update.errors[0].resource_ids #=> Array
2433
2722
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2497,13 +2786,13 @@ module Aws::EKS
2497
2786
  #
2498
2787
  # resp.update.id #=> String
2499
2788
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2500
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2789
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2501
2790
  # resp.update.params #=> Array
2502
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
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"
2503
2792
  # resp.update.params[0].value #=> String
2504
2793
  # resp.update.created_at #=> Time
2505
2794
  # resp.update.errors #=> Array
2506
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2795
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
2507
2796
  # resp.update.errors[0].error_message #=> String
2508
2797
  # resp.update.errors[0].resource_ids #=> Array
2509
2798
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2628,13 +2917,13 @@ module Aws::EKS
2628
2917
  #
2629
2918
  # resp.update.id #=> String
2630
2919
  # resp.update.status #=> String, one of "InProgress", "Failed", "Cancelled", "Successful"
2631
- # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AddonUpdate"
2920
+ # resp.update.type #=> String, one of "VersionUpdate", "EndpointAccessUpdate", "LoggingUpdate", "ConfigUpdate", "AssociateIdentityProviderConfig", "DisassociateIdentityProviderConfig", "AssociateEncryptionConfig", "AddonUpdate"
2632
2921
  # resp.update.params #=> Array
2633
- # resp.update.params[0].type #=> String, one of "Version", "PlatformVersion", "EndpointPrivateAccess", "EndpointPublicAccess", "ClusterLogging", "DesiredSize", "LabelsToAdd", "LabelsToRemove", "MaxSize", "MinSize", "ReleaseVersion", "PublicAccessCidrs", "AddonVersion", "ServiceAccountRoleArn", "ResolveConflicts"
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"
2634
2923
  # resp.update.params[0].value #=> String
2635
2924
  # resp.update.created_at #=> Time
2636
2925
  # resp.update.errors #=> Array
2637
- # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict"
2926
+ # resp.update.errors[0].error_code #=> String, one of "SubnetNotFound", "SecurityGroupNotFound", "EniLimitReached", "IpNotAvailable", "AccessDenied", "OperationNotPermitted", "VpcIdNotFound", "Unknown", "NodeCreationFailure", "PodEvictionFailure", "InsufficientFreeAddresses", "ClusterUnreachable", "InsufficientNumberOfReplicas", "ConfigurationConflict", "AdmissionRequestDenied"
2638
2927
  # resp.update.errors[0].error_message #=> String
2639
2928
  # resp.update.errors[0].resource_ids #=> Array
2640
2929
  # resp.update.errors[0].resource_ids[0] #=> String
@@ -2661,7 +2950,7 @@ module Aws::EKS
2661
2950
  params: params,
2662
2951
  config: config)
2663
2952
  context[:gem_name] = 'aws-sdk-eks'
2664
- context[:gem_version] = '1.46.0'
2953
+ context[:gem_version] = '1.51.0'
2665
2954
  Seahorse::Client::Request.new(handlers, context)
2666
2955
  end
2667
2956