aws-sdk-eks 1.46.0 → 1.51.0

Sign up to get free protection for your applications and to get access to all the features.
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