aws-sdk-eks 1.43.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,6 +79,11 @@ module Aws::EKS
79
79
  @data[:nodegroup_name]
80
80
  end
81
81
 
82
+ # @return [String]
83
+ def addon_name
84
+ @data[:addon_name]
85
+ end
86
+
82
87
  # @return [String]
83
88
  def message
84
89
  @message || @data[:message]
@@ -109,6 +114,11 @@ module Aws::EKS
109
114
  @data[:fargate_profile_name]
110
115
  end
111
116
 
117
+ # @return [String]
118
+ def addon_name
119
+ @data[:addon_name]
120
+ end
121
+
112
122
  # @return [String]
113
123
  def message
114
124
  @message || @data[:message]
@@ -134,6 +144,11 @@ module Aws::EKS
134
144
  @data[:nodegroup_name]
135
145
  end
136
146
 
147
+ # @return [String]
148
+ def addon_name
149
+ @data[:addon_name]
150
+ end
151
+
137
152
  # @return [String]
138
153
  def message
139
154
  @message || @data[:message]
@@ -174,6 +189,11 @@ module Aws::EKS
174
189
  @data[:nodegroup_name]
175
190
  end
176
191
 
192
+ # @return [String]
193
+ def addon_name
194
+ @data[:addon_name]
195
+ end
196
+
177
197
  # @return [String]
178
198
  def message
179
199
  @message || @data[:message]
@@ -229,6 +249,11 @@ module Aws::EKS
229
249
  @data[:fargate_profile_name]
230
250
  end
231
251
 
252
+ # @return [String]
253
+ def addon_name
254
+ @data[:addon_name]
255
+ end
256
+
232
257
  # @return [String]
233
258
  def message
234
259
  @message || @data[:message]
@@ -254,6 +279,11 @@ module Aws::EKS
254
279
  @data[:nodegroup_name]
255
280
  end
256
281
 
282
+ # @return [String]
283
+ def addon_name
284
+ @data[:addon_name]
285
+ end
286
+
257
287
  # @return [String]
258
288
  def message
259
289
  @message || @data[:message]
@@ -10,6 +10,231 @@
10
10
  module Aws::EKS
11
11
  module Types
12
12
 
13
+ # An Amazon EKS add-on.
14
+ #
15
+ # @!attribute [rw] addon_name
16
+ # The name of the add-on.
17
+ # @return [String]
18
+ #
19
+ # @!attribute [rw] cluster_name
20
+ # The name of the cluster.
21
+ # @return [String]
22
+ #
23
+ # @!attribute [rw] status
24
+ # The status of the add-on.
25
+ # @return [String]
26
+ #
27
+ # @!attribute [rw] addon_version
28
+ # The version of the add-on.
29
+ # @return [String]
30
+ #
31
+ # @!attribute [rw] health
32
+ # An object that represents the health of the add-on.
33
+ # @return [Types::AddonHealth]
34
+ #
35
+ # @!attribute [rw] addon_arn
36
+ # The Amazon Resource Name (ARN) of the add-on.
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] created_at
40
+ # The date and time that the add-on was created.
41
+ # @return [Time]
42
+ #
43
+ # @!attribute [rw] modified_at
44
+ # The date and time that the add-on was last modified.
45
+ # @return [Time]
46
+ #
47
+ # @!attribute [rw] service_account_role_arn
48
+ # The Amazon Resource Name (ARN) of the IAM role that is bound to the
49
+ # Kubernetes service account used by the add-on.
50
+ # @return [String]
51
+ #
52
+ # @!attribute [rw] tags
53
+ # The metadata that you apply to the cluster to assist with
54
+ # categorization and organization. Each tag consists of a key and an
55
+ # optional value, both of which you define. Cluster tags do not
56
+ # propagate to any other resources associated with the cluster.
57
+ # @return [Hash<String,String>]
58
+ #
59
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Addon AWS API Documentation
60
+ #
61
+ class Addon < Struct.new(
62
+ :addon_name,
63
+ :cluster_name,
64
+ :status,
65
+ :addon_version,
66
+ :health,
67
+ :addon_arn,
68
+ :created_at,
69
+ :modified_at,
70
+ :service_account_role_arn,
71
+ :tags)
72
+ SENSITIVE = []
73
+ include Aws::Structure
74
+ end
75
+
76
+ # The health of the add-on.
77
+ #
78
+ # @!attribute [rw] issues
79
+ # An object that represents the add-on's health issues.
80
+ # @return [Array<Types::AddonIssue>]
81
+ #
82
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AddonHealth AWS API Documentation
83
+ #
84
+ class AddonHealth < Struct.new(
85
+ :issues)
86
+ SENSITIVE = []
87
+ include Aws::Structure
88
+ end
89
+
90
+ # Information about an add-on.
91
+ #
92
+ # @!attribute [rw] addon_name
93
+ # The name of the add-on.
94
+ # @return [String]
95
+ #
96
+ # @!attribute [rw] type
97
+ # The type of the add-on.
98
+ # @return [String]
99
+ #
100
+ # @!attribute [rw] addon_versions
101
+ # An object that represents information about available add-on
102
+ # versions and compatible Kubernetes versions.
103
+ # @return [Array<Types::AddonVersionInfo>]
104
+ #
105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AddonInfo AWS API Documentation
106
+ #
107
+ class AddonInfo < Struct.new(
108
+ :addon_name,
109
+ :type,
110
+ :addon_versions)
111
+ SENSITIVE = []
112
+ include Aws::Structure
113
+ end
114
+
115
+ # An issue related to an add-on.
116
+ #
117
+ # @!attribute [rw] code
118
+ # A code that describes the type of issue.
119
+ # @return [String]
120
+ #
121
+ # @!attribute [rw] message
122
+ # A message that provides details about the issue and what might cause
123
+ # it.
124
+ # @return [String]
125
+ #
126
+ # @!attribute [rw] resource_ids
127
+ # The resource IDs of the issue.
128
+ # @return [Array<String>]
129
+ #
130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AddonIssue AWS API Documentation
131
+ #
132
+ class AddonIssue < Struct.new(
133
+ :code,
134
+ :message,
135
+ :resource_ids)
136
+ SENSITIVE = []
137
+ include Aws::Structure
138
+ end
139
+
140
+ # Information about an add-on version.
141
+ #
142
+ # @!attribute [rw] addon_version
143
+ # The version of the add-on.
144
+ # @return [String]
145
+ #
146
+ # @!attribute [rw] architecture
147
+ # The architectures that the version supports.
148
+ # @return [Array<String>]
149
+ #
150
+ # @!attribute [rw] compatibilities
151
+ # An object that represents the compatibilities of a version.
152
+ # @return [Array<Types::Compatibility>]
153
+ #
154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AddonVersionInfo AWS API Documentation
155
+ #
156
+ class AddonVersionInfo < Struct.new(
157
+ :addon_version,
158
+ :architecture,
159
+ :compatibilities)
160
+ SENSITIVE = []
161
+ include Aws::Structure
162
+ end
163
+
164
+ # @note When making an API call, you may pass AssociateIdentityProviderConfigRequest
165
+ # data as a hash:
166
+ #
167
+ # {
168
+ # cluster_name: "String", # required
169
+ # oidc: { # required
170
+ # identity_provider_config_name: "String", # required
171
+ # issuer_url: "String", # required
172
+ # client_id: "String", # required
173
+ # username_claim: "String",
174
+ # username_prefix: "String",
175
+ # groups_claim: "String",
176
+ # groups_prefix: "String",
177
+ # required_claims: {
178
+ # "requiredClaimsKey" => "requiredClaimsValue",
179
+ # },
180
+ # },
181
+ # tags: {
182
+ # "TagKey" => "TagValue",
183
+ # },
184
+ # client_request_token: "String",
185
+ # }
186
+ #
187
+ # @!attribute [rw] cluster_name
188
+ # The name of the cluster to associate the configuration to.
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] oidc
192
+ # An object that represents an OpenID Connect (OIDC) identity provider
193
+ # configuration.
194
+ # @return [Types::OidcIdentityProviderConfigRequest]
195
+ #
196
+ # @!attribute [rw] tags
197
+ # The metadata to apply to the configuration to assist with
198
+ # categorization and organization. Each tag consists of a key and an
199
+ # optional value, both of which you define.
200
+ # @return [Hash<String,String>]
201
+ #
202
+ # @!attribute [rw] client_request_token
203
+ # Unique, case-sensitive identifier that you provide to ensure the
204
+ # idempotency of the request.
205
+ #
206
+ # **A suitable default value is auto-generated.** You should normally
207
+ # not need to pass this option.
208
+ # @return [String]
209
+ #
210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfigRequest AWS API Documentation
211
+ #
212
+ class AssociateIdentityProviderConfigRequest < Struct.new(
213
+ :cluster_name,
214
+ :oidc,
215
+ :tags,
216
+ :client_request_token)
217
+ SENSITIVE = []
218
+ include Aws::Structure
219
+ end
220
+
221
+ # @!attribute [rw] update
222
+ # An object representing an asynchronous update.
223
+ # @return [Types::Update]
224
+ #
225
+ # @!attribute [rw] tags
226
+ # The tags for the resource.
227
+ # @return [Hash<String,String>]
228
+ #
229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfigResponse AWS API Documentation
230
+ #
231
+ class AssociateIdentityProviderConfigResponse < Struct.new(
232
+ :update,
233
+ :tags)
234
+ SENSITIVE = []
235
+ include Aws::Structure
236
+ end
237
+
13
238
  # An Auto Scaling group that is associated with an Amazon EKS managed
14
239
  # node group.
15
240
  #
@@ -71,6 +296,9 @@ module Aws::EKS
71
296
  # The Amazon EKS managed node group associated with the exception.
72
297
  # @return [String]
73
298
  #
299
+ # @!attribute [rw] addon_name
300
+ # @return [String]
301
+ #
74
302
  # @!attribute [rw] message
75
303
  # @return [String]
76
304
  #
@@ -79,6 +307,7 @@ module Aws::EKS
79
307
  class ClientException < Struct.new(
80
308
  :cluster_name,
81
309
  :nodegroup_name,
310
+ :addon_name,
82
311
  :message)
83
312
  SENSITIVE = []
84
313
  include Aws::Structure
@@ -127,7 +356,7 @@ module Aws::EKS
127
356
  # @return [Types::VpcConfigResponse]
128
357
  #
129
358
  # @!attribute [rw] kubernetes_network_config
130
- # Network configuration settings for your cluster.
359
+ # The Kubernetes network configuration for the cluster.
131
360
  # @return [Types::KubernetesNetworkConfigResponse]
132
361
  #
133
362
  # @!attribute [rw] logging
@@ -195,6 +424,133 @@ module Aws::EKS
195
424
  include Aws::Structure
196
425
  end
197
426
 
427
+ # Compatibility information.
428
+ #
429
+ # @!attribute [rw] cluster_version
430
+ # The supported Kubernetes version of the cluster.
431
+ # @return [String]
432
+ #
433
+ # @!attribute [rw] platform_versions
434
+ # The supported compute platform.
435
+ # @return [Array<String>]
436
+ #
437
+ # @!attribute [rw] default_version
438
+ # The supported default version.
439
+ # @return [Boolean]
440
+ #
441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Compatibility AWS API Documentation
442
+ #
443
+ class Compatibility < Struct.new(
444
+ :cluster_version,
445
+ :platform_versions,
446
+ :default_version)
447
+ SENSITIVE = []
448
+ include Aws::Structure
449
+ end
450
+
451
+ # @note When making an API call, you may pass CreateAddonRequest
452
+ # data as a hash:
453
+ #
454
+ # {
455
+ # cluster_name: "ClusterName", # required
456
+ # addon_name: "String", # required
457
+ # addon_version: "String",
458
+ # service_account_role_arn: "RoleArn",
459
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
460
+ # client_request_token: "String",
461
+ # tags: {
462
+ # "TagKey" => "TagValue",
463
+ # },
464
+ # }
465
+ #
466
+ # @!attribute [rw] cluster_name
467
+ # The name of the cluster to create the add-on for.
468
+ # @return [String]
469
+ #
470
+ # @!attribute [rw] addon_name
471
+ # The name of the add-on. The name must match one of the names
472
+ # returned by [ `ListAddons` ][1].
473
+ #
474
+ #
475
+ #
476
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] addon_version
480
+ # The version of the add-on. The version must match one of the
481
+ # versions returned by [ `DescribeAddonVersions` ][1].
482
+ #
483
+ #
484
+ #
485
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] service_account_role_arn
489
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to
490
+ # the add-on's service account. The role must be assigned the IAM
491
+ # permissions required by the add-on. If you don't specify an
492
+ # existing IAM role, then the add-on uses the permissions assigned to
493
+ # the node IAM role. For more information, see [Amazon EKS node IAM
494
+ # role][1] in the *Amazon EKS User Guide*.
495
+ #
496
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
497
+ # (OIDC) provider created for your cluster. For more information, see
498
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
499
+ # *Amazon EKS User Guide*.
500
+ #
501
+ # </note>
502
+ #
503
+ #
504
+ #
505
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
506
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
507
+ # @return [String]
508
+ #
509
+ # @!attribute [rw] resolve_conflicts
510
+ # How to resolve parameter value conflicts when migrating an existing
511
+ # add-on to an Amazon EKS add-on.
512
+ # @return [String]
513
+ #
514
+ # @!attribute [rw] client_request_token
515
+ # A unique, case-sensitive identifier that you provide to ensure the
516
+ # idempotency of the request.
517
+ #
518
+ # **A suitable default value is auto-generated.** You should normally
519
+ # not need to pass this option.
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] tags
523
+ # The metadata to apply to the cluster to assist with categorization
524
+ # and organization. Each tag consists of a key and an optional value,
525
+ # both of which you define.
526
+ # @return [Hash<String,String>]
527
+ #
528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddonRequest AWS API Documentation
529
+ #
530
+ class CreateAddonRequest < Struct.new(
531
+ :cluster_name,
532
+ :addon_name,
533
+ :addon_version,
534
+ :service_account_role_arn,
535
+ :resolve_conflicts,
536
+ :client_request_token,
537
+ :tags)
538
+ SENSITIVE = []
539
+ include Aws::Structure
540
+ end
541
+
542
+ # @!attribute [rw] addon
543
+ # An Amazon EKS add-on.
544
+ # @return [Types::Addon]
545
+ #
546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddonResponse AWS API Documentation
547
+ #
548
+ class CreateAddonResponse < Struct.new(
549
+ :addon)
550
+ SENSITIVE = []
551
+ include Aws::Structure
552
+ end
553
+
198
554
  # @note When making an API call, you may pass CreateClusterRequest
199
555
  # data as a hash:
200
556
  #
@@ -470,6 +826,7 @@ module Aws::EKS
470
826
  # version: "String",
471
827
  # id: "String",
472
828
  # },
829
+ # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
473
830
  # version: "String",
474
831
  # release_version: "String",
475
832
  # }
@@ -516,25 +873,31 @@ module Aws::EKS
516
873
  # @return [Array<String>]
517
874
  #
518
875
  # @!attribute [rw] instance_types
519
- # The instance type to use for your node group. You can specify a
520
- # single instance type for a node group. The default value for
521
- # `instanceTypes` is `t3.medium`. If you choose a GPU instance type,
522
- # be sure to specify `AL2_x86_64_GPU` with the `amiType` parameter. If
523
- # you specify `launchTemplate`, then don't specify `instanceTypes`,
524
- # or the node group deployment will fail. For more information about
525
- # using launch templates with Amazon EKS, see [Launch template
526
- # support][1] in the Amazon EKS User Guide.
527
- #
528
- #
529
- #
530
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
876
+ # Specify the instance types for a node group. If you specify a GPU
877
+ # instance type, be sure to specify `AL2_x86_64_GPU` with the
878
+ # `amiType` parameter. If you specify `launchTemplate`, then you can
879
+ # specify zero or one instance type in your launch template *or* you
880
+ # can specify 0-20 instance types for `instanceTypes`. If however, you
881
+ # specify an instance type in your launch template *and* specify any
882
+ # `instanceTypes`, the node group deployment will fail. If you don't
883
+ # specify an instance type in a launch template or for
884
+ # `instanceTypes`, then `t3.medium` is used, by default. If you
885
+ # specify `Spot` for `capacityType`, then we recommend specifying
886
+ # multiple values for `instanceTypes`. For more information, see
887
+ # [Managed node group capacity types][1] and [Launch template
888
+ # support][2] in the *Amazon EKS User Guide*.
889
+ #
890
+ #
891
+ #
892
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types
893
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
531
894
  # @return [Array<String>]
532
895
  #
533
896
  # @!attribute [rw] ami_type
534
897
  # The AMI type for your node group. GPU instance types should use the
535
898
  # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
536
899
  # `AL2_x86_64` AMI type. Arm instances should use the `AL2_ARM_64` AMI
537
- # type. All types use the Amazon EKS-optimized Amazon Linux 2 AMI. If
900
+ # type. All types use the Amazon EKS optimized Amazon Linux 2 AMI. If
538
901
  # you specify `launchTemplate`, and your launch template uses a custom
539
902
  # AMI, then don't specify `amiType`, or the node group deployment
540
903
  # will fail. For more information about using launch templates with
@@ -561,17 +924,16 @@ module Aws::EKS
561
924
  # @!attribute [rw] node_role
562
925
  # The Amazon Resource Name (ARN) of the IAM role to associate with
563
926
  # your node group. The Amazon EKS worker node `kubelet` daemon makes
564
- # calls to AWS APIs on your behalf. Worker nodes receive permissions
565
- # for these API calls through an IAM instance profile and associated
566
- # policies. Before you can launch worker nodes and register them into
567
- # a cluster, you must create an IAM role for those worker nodes to use
568
- # when they are launched. For more information, see [Amazon EKS Worker
569
- # Node IAM Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>. If
570
- # you specify `launchTemplate`, then don't specify [
571
- # `IamInstanceProfile` ][2] in your launch template, or the node group
572
- # deployment will fail. For more information about using launch
573
- # templates with Amazon EKS, see [Launch template support][3] in the
574
- # Amazon EKS User Guide.
927
+ # calls to AWS APIs on your behalf. Nodes receive permissions for
928
+ # these API calls through an IAM instance profile and associated
929
+ # policies. Before you can launch nodes and register them into a
930
+ # cluster, you must create an IAM role for those nodes to use when
931
+ # they are launched. For more information, see [Amazon EKS node IAM
932
+ # role][1] in the <i> <i>Amazon EKS User Guide</i> </i>. If you
933
+ # specify `launchTemplate`, then don't specify [ `IamInstanceProfile`
934
+ # ][2] in your launch template, or the node group deployment will
935
+ # fail. For more information about using launch templates with Amazon
936
+ # EKS, see [Launch template support][3] in the Amazon EKS User Guide.
575
937
  #
576
938
  #
577
939
  #
@@ -608,6 +970,10 @@ module Aws::EKS
608
970
  # meets the requirements in `launchTemplateSpecification`.
609
971
  # @return [Types::LaunchTemplateSpecification]
610
972
  #
973
+ # @!attribute [rw] capacity_type
974
+ # The capacity type for your node group.
975
+ # @return [String]
976
+ #
611
977
  # @!attribute [rw] version
612
978
  # The Kubernetes version to use for your managed nodes. By default,
613
979
  # the Kubernetes version of the cluster is used, and this is the only
@@ -623,15 +989,15 @@ module Aws::EKS
623
989
  # @return [String]
624
990
  #
625
991
  # @!attribute [rw] release_version
626
- # The AMI version of the Amazon EKS-optimized AMI to use with your
992
+ # The AMI version of the Amazon EKS optimized AMI to use with your
627
993
  # node group. By default, the latest available AMI version for the
628
994
  # node group's current Kubernetes version is used. For more
629
- # information, see [Amazon EKS-Optimized Linux AMI Versions][1] in the
630
- # *Amazon EKS User Guide*. If you specify `launchTemplate`, and your
631
- # launch template uses a custom AMI, then don't specify
632
- # `releaseVersion`, or the node group deployment will fail. For more
633
- # information about using launch templates with Amazon EKS, see
634
- # [Launch template support][2] in the Amazon EKS User Guide.
995
+ # information, see [Amazon EKS optimized Amazon Linux 2 AMI
996
+ # versions][1] in the *Amazon EKS User Guide*. If you specify
997
+ # `launchTemplate`, and your launch template uses a custom AMI, then
998
+ # don't specify `releaseVersion`, or the node group deployment will
999
+ # fail. For more information about using launch templates with Amazon
1000
+ # EKS, see [Launch template support][2] in the Amazon EKS User Guide.
635
1001
  #
636
1002
  #
637
1003
  #
@@ -655,6 +1021,7 @@ module Aws::EKS
655
1021
  :tags,
656
1022
  :client_request_token,
657
1023
  :launch_template,
1024
+ :capacity_type,
658
1025
  :version,
659
1026
  :release_version)
660
1027
  SENSITIVE = []
@@ -673,6 +1040,48 @@ module Aws::EKS
673
1040
  include Aws::Structure
674
1041
  end
675
1042
 
1043
+ # @note When making an API call, you may pass DeleteAddonRequest
1044
+ # data as a hash:
1045
+ #
1046
+ # {
1047
+ # cluster_name: "ClusterName", # required
1048
+ # addon_name: "String", # required
1049
+ # }
1050
+ #
1051
+ # @!attribute [rw] cluster_name
1052
+ # The name of the cluster to delete the add-on from.
1053
+ # @return [String]
1054
+ #
1055
+ # @!attribute [rw] addon_name
1056
+ # The name of the add-on. The name must match one of the names
1057
+ # returned by [ `ListAddons` ][1].
1058
+ #
1059
+ #
1060
+ #
1061
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1062
+ # @return [String]
1063
+ #
1064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddonRequest AWS API Documentation
1065
+ #
1066
+ class DeleteAddonRequest < Struct.new(
1067
+ :cluster_name,
1068
+ :addon_name)
1069
+ SENSITIVE = []
1070
+ include Aws::Structure
1071
+ end
1072
+
1073
+ # @!attribute [rw] addon
1074
+ # An Amazon EKS add-on.
1075
+ # @return [Types::Addon]
1076
+ #
1077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddonResponse AWS API Documentation
1078
+ #
1079
+ class DeleteAddonResponse < Struct.new(
1080
+ :addon)
1081
+ SENSITIVE = []
1082
+ include Aws::Structure
1083
+ end
1084
+
676
1085
  # @note When making an API call, you may pass DeleteClusterRequest
677
1086
  # data as a hash:
678
1087
  #
@@ -780,6 +1189,128 @@ module Aws::EKS
780
1189
  include Aws::Structure
781
1190
  end
782
1191
 
1192
+ # @note When making an API call, you may pass DescribeAddonRequest
1193
+ # data as a hash:
1194
+ #
1195
+ # {
1196
+ # cluster_name: "ClusterName", # required
1197
+ # addon_name: "String", # required
1198
+ # }
1199
+ #
1200
+ # @!attribute [rw] cluster_name
1201
+ # The name of the cluster.
1202
+ # @return [String]
1203
+ #
1204
+ # @!attribute [rw] addon_name
1205
+ # The name of the add-on. The name must match one of the names
1206
+ # returned by [ `ListAddons` ][1].
1207
+ #
1208
+ #
1209
+ #
1210
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1211
+ # @return [String]
1212
+ #
1213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonRequest AWS API Documentation
1214
+ #
1215
+ class DescribeAddonRequest < Struct.new(
1216
+ :cluster_name,
1217
+ :addon_name)
1218
+ SENSITIVE = []
1219
+ include Aws::Structure
1220
+ end
1221
+
1222
+ # @!attribute [rw] addon
1223
+ # An Amazon EKS add-on.
1224
+ # @return [Types::Addon]
1225
+ #
1226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonResponse AWS API Documentation
1227
+ #
1228
+ class DescribeAddonResponse < Struct.new(
1229
+ :addon)
1230
+ SENSITIVE = []
1231
+ include Aws::Structure
1232
+ end
1233
+
1234
+ # @note When making an API call, you may pass DescribeAddonVersionsRequest
1235
+ # data as a hash:
1236
+ #
1237
+ # {
1238
+ # kubernetes_version: "String",
1239
+ # max_results: 1,
1240
+ # next_token: "String",
1241
+ # addon_name: "String",
1242
+ # }
1243
+ #
1244
+ # @!attribute [rw] kubernetes_version
1245
+ # The Kubernetes versions that the add-on can be used with.
1246
+ # @return [String]
1247
+ #
1248
+ # @!attribute [rw] max_results
1249
+ # The maximum number of results to return.
1250
+ # @return [Integer]
1251
+ #
1252
+ # @!attribute [rw] next_token
1253
+ # The `nextToken` value returned from a previous paginated
1254
+ # `DescribeAddonVersionsRequest` where `maxResults` was used and the
1255
+ # results exceeded the value of that parameter. Pagination continues
1256
+ # from the end of the previous results that returned the `nextToken`
1257
+ # value.
1258
+ #
1259
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1260
+ # only to retrieve the next items in a list and not for other
1261
+ # programmatic purposes.
1262
+ #
1263
+ # </note>
1264
+ # @return [String]
1265
+ #
1266
+ # @!attribute [rw] addon_name
1267
+ # The name of the add-on. The name must match one of the names
1268
+ # returned by [ `ListAddons` ][1].
1269
+ #
1270
+ #
1271
+ #
1272
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1273
+ # @return [String]
1274
+ #
1275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersionsRequest AWS API Documentation
1276
+ #
1277
+ class DescribeAddonVersionsRequest < Struct.new(
1278
+ :kubernetes_version,
1279
+ :max_results,
1280
+ :next_token,
1281
+ :addon_name)
1282
+ SENSITIVE = []
1283
+ include Aws::Structure
1284
+ end
1285
+
1286
+ # @!attribute [rw] addons
1287
+ # The list of available versions with Kubernetes version
1288
+ # compatibility.
1289
+ # @return [Array<Types::AddonInfo>]
1290
+ #
1291
+ # @!attribute [rw] next_token
1292
+ # The `nextToken` value returned from a previous paginated
1293
+ # `DescribeAddonVersionsResponse` where `maxResults` was used and the
1294
+ # results exceeded the value of that parameter. Pagination continues
1295
+ # from the end of the previous results that returned the `nextToken`
1296
+ # value.
1297
+ #
1298
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1299
+ # only to retrieve the next items in a list and not for other
1300
+ # programmatic purposes.
1301
+ #
1302
+ # </note>
1303
+ # @return [String]
1304
+ #
1305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersionsResponse AWS API Documentation
1306
+ #
1307
+ class DescribeAddonVersionsResponse < Struct.new(
1308
+ :addons,
1309
+ :next_token)
1310
+ SENSITIVE = []
1311
+ include Aws::Structure
1312
+ end
1313
+
783
1314
  # @note When making an API call, you may pass DescribeClusterRequest
784
1315
  # data as a hash:
785
1316
  #
@@ -849,6 +1380,48 @@ module Aws::EKS
849
1380
  include Aws::Structure
850
1381
  end
851
1382
 
1383
+ # @note When making an API call, you may pass DescribeIdentityProviderConfigRequest
1384
+ # data as a hash:
1385
+ #
1386
+ # {
1387
+ # cluster_name: "String", # required
1388
+ # identity_provider_config: { # required
1389
+ # type: "String", # required
1390
+ # name: "String", # required
1391
+ # },
1392
+ # }
1393
+ #
1394
+ # @!attribute [rw] cluster_name
1395
+ # The cluster name that the identity provider configuration is
1396
+ # associated to.
1397
+ # @return [String]
1398
+ #
1399
+ # @!attribute [rw] identity_provider_config
1400
+ # An object that represents an identity provider configuration.
1401
+ # @return [Types::IdentityProviderConfig]
1402
+ #
1403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfigRequest AWS API Documentation
1404
+ #
1405
+ class DescribeIdentityProviderConfigRequest < Struct.new(
1406
+ :cluster_name,
1407
+ :identity_provider_config)
1408
+ SENSITIVE = []
1409
+ include Aws::Structure
1410
+ end
1411
+
1412
+ # @!attribute [rw] identity_provider_config
1413
+ # The object that represents an OpenID Connect (OIDC) identity
1414
+ # provider configuration.
1415
+ # @return [Types::IdentityProviderConfigResponse]
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfigResponse AWS API Documentation
1418
+ #
1419
+ class DescribeIdentityProviderConfigResponse < Struct.new(
1420
+ :identity_provider_config)
1421
+ SENSITIVE = []
1422
+ include Aws::Structure
1423
+ end
1424
+
852
1425
  # @note When making an API call, you may pass DescribeNodegroupRequest
853
1426
  # data as a hash:
854
1427
  #
@@ -893,6 +1466,7 @@ module Aws::EKS
893
1466
  # name: "String", # required
894
1467
  # update_id: "String", # required
895
1468
  # nodegroup_name: "String",
1469
+ # addon_name: "String",
896
1470
  # }
897
1471
  #
898
1472
  # @!attribute [rw] name
@@ -907,12 +1481,22 @@ module Aws::EKS
907
1481
  # The name of the Amazon EKS node group associated with the update.
908
1482
  # @return [String]
909
1483
  #
1484
+ # @!attribute [rw] addon_name
1485
+ # The name of the add-on. The name must match one of the names
1486
+ # returned by [ `ListAddons` ][1].
1487
+ #
1488
+ #
1489
+ #
1490
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1491
+ # @return [String]
1492
+ #
910
1493
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdateRequest AWS API Documentation
911
1494
  #
912
1495
  class DescribeUpdateRequest < Struct.new(
913
1496
  :name,
914
1497
  :update_id,
915
- :nodegroup_name)
1498
+ :nodegroup_name,
1499
+ :addon_name)
916
1500
  SENSITIVE = []
917
1501
  include Aws::Structure
918
1502
  end
@@ -929,6 +1513,56 @@ module Aws::EKS
929
1513
  include Aws::Structure
930
1514
  end
931
1515
 
1516
+ # @note When making an API call, you may pass DisassociateIdentityProviderConfigRequest
1517
+ # data as a hash:
1518
+ #
1519
+ # {
1520
+ # cluster_name: "String", # required
1521
+ # identity_provider_config: { # required
1522
+ # type: "String", # required
1523
+ # name: "String", # required
1524
+ # },
1525
+ # client_request_token: "String",
1526
+ # }
1527
+ #
1528
+ # @!attribute [rw] cluster_name
1529
+ # The name of the cluster to disassociate an identity provider from.
1530
+ # @return [String]
1531
+ #
1532
+ # @!attribute [rw] identity_provider_config
1533
+ # An object that represents an identity provider configuration.
1534
+ # @return [Types::IdentityProviderConfig]
1535
+ #
1536
+ # @!attribute [rw] client_request_token
1537
+ # A unique, case-sensitive identifier that you provide to ensure the
1538
+ # idempotency of the request.
1539
+ #
1540
+ # **A suitable default value is auto-generated.** You should normally
1541
+ # not need to pass this option.
1542
+ # @return [String]
1543
+ #
1544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfigRequest AWS API Documentation
1545
+ #
1546
+ class DisassociateIdentityProviderConfigRequest < Struct.new(
1547
+ :cluster_name,
1548
+ :identity_provider_config,
1549
+ :client_request_token)
1550
+ SENSITIVE = []
1551
+ include Aws::Structure
1552
+ end
1553
+
1554
+ # @!attribute [rw] update
1555
+ # An object representing an asynchronous update.
1556
+ # @return [Types::Update]
1557
+ #
1558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfigResponse AWS API Documentation
1559
+ #
1560
+ class DisassociateIdentityProviderConfigResponse < Struct.new(
1561
+ :update)
1562
+ SENSITIVE = []
1563
+ include Aws::Structure
1564
+ end
1565
+
932
1566
  # The encryption configuration for the cluster.
933
1567
  #
934
1568
  # @note When making an API call, you may pass EncryptionConfig
@@ -1105,12 +1739,11 @@ module Aws::EKS
1105
1739
  include Aws::Structure
1106
1740
  end
1107
1741
 
1108
- # An object representing an identity provider for authentication
1109
- # credentials.
1742
+ # An object representing an identity provider.
1110
1743
  #
1111
1744
  # @!attribute [rw] oidc
1112
- # The [OpenID Connect][1] identity provider information for the
1113
- # cluster.
1745
+ # An object representing the [OpenID Connect][1] identity provider
1746
+ # information.
1114
1747
  #
1115
1748
  #
1116
1749
  #
@@ -1125,6 +1758,48 @@ module Aws::EKS
1125
1758
  include Aws::Structure
1126
1759
  end
1127
1760
 
1761
+ # An object representing an identity provider configuration.
1762
+ #
1763
+ # @note When making an API call, you may pass IdentityProviderConfig
1764
+ # data as a hash:
1765
+ #
1766
+ # {
1767
+ # type: "String", # required
1768
+ # name: "String", # required
1769
+ # }
1770
+ #
1771
+ # @!attribute [rw] type
1772
+ # The type of the identity provider configuration.
1773
+ # @return [String]
1774
+ #
1775
+ # @!attribute [rw] name
1776
+ # The name of the identity provider configuration.
1777
+ # @return [String]
1778
+ #
1779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/IdentityProviderConfig AWS API Documentation
1780
+ #
1781
+ class IdentityProviderConfig < Struct.new(
1782
+ :type,
1783
+ :name)
1784
+ SENSITIVE = []
1785
+ include Aws::Structure
1786
+ end
1787
+
1788
+ # An object that represents an identity configuration.
1789
+ #
1790
+ # @!attribute [rw] oidc
1791
+ # An object that represents an OpenID Connect (OIDC) identity provider
1792
+ # configuration.
1793
+ # @return [Types::OidcIdentityProviderConfig]
1794
+ #
1795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/IdentityProviderConfigResponse AWS API Documentation
1796
+ #
1797
+ class IdentityProviderConfigResponse < Struct.new(
1798
+ :oidc)
1799
+ SENSITIVE = []
1800
+ include Aws::Structure
1801
+ end
1802
+
1128
1803
  # The specified parameter is invalid. Review the available parameters
1129
1804
  # for the API request.
1130
1805
  #
@@ -1140,6 +1815,9 @@ module Aws::EKS
1140
1815
  # The Fargate profile associated with the exception.
1141
1816
  # @return [String]
1142
1817
  #
1818
+ # @!attribute [rw] addon_name
1819
+ # @return [String]
1820
+ #
1143
1821
  # @!attribute [rw] message
1144
1822
  # @return [String]
1145
1823
  #
@@ -1149,6 +1827,7 @@ module Aws::EKS
1149
1827
  :cluster_name,
1150
1828
  :nodegroup_name,
1151
1829
  :fargate_profile_name,
1830
+ :addon_name,
1152
1831
  :message)
1153
1832
  SENSITIVE = []
1154
1833
  include Aws::Structure
@@ -1165,6 +1844,9 @@ module Aws::EKS
1165
1844
  # The Amazon EKS managed node group associated with the exception.
1166
1845
  # @return [String]
1167
1846
  #
1847
+ # @!attribute [rw] addon_name
1848
+ # @return [String]
1849
+ #
1168
1850
  # @!attribute [rw] message
1169
1851
  # @return [String]
1170
1852
  #
@@ -1173,6 +1855,7 @@ module Aws::EKS
1173
1855
  class InvalidRequestException < Struct.new(
1174
1856
  :cluster_name,
1175
1857
  :nodegroup_name,
1858
+ :addon_name,
1176
1859
  :message)
1177
1860
  SENSITIVE = []
1178
1861
  include Aws::Structure
@@ -1183,16 +1866,21 @@ module Aws::EKS
1183
1866
  # @!attribute [rw] code
1184
1867
  # A brief description of the error.
1185
1868
  #
1869
+ # * **AccessDenied**\: Amazon EKS or one or more of your managed nodes
1870
+ # is failing to authenticate or authorize with your Kubernetes
1871
+ # cluster API server.
1872
+ #
1873
+ # * **AsgInstanceLaunchFailures**\: Your Auto Scaling group is
1874
+ # experiencing failures while attempting to launch instances.
1875
+ #
1186
1876
  # * **AutoScalingGroupNotFound**\: We couldn't find the Auto Scaling
1187
1877
  # group associated with the managed node group. You may be able to
1188
1878
  # recreate an Auto Scaling group with the same settings to recover.
1189
1879
  #
1190
- # * **Ec2SecurityGroupNotFound**\: We couldn't find the cluster
1191
- # security group for the cluster. You must recreate your cluster.
1192
- #
1193
- # * **Ec2SecurityGroupDeletionFailure**\: We could not delete the
1194
- # remote access security group for your managed node group. Remove
1195
- # any dependencies from the security group.
1880
+ # * **ClusterUnreachable**\: Amazon EKS or one or more of your managed
1881
+ # nodes is unable to to communicate with your Kubernetes cluster API
1882
+ # server. This can happen if there are network disruptions or if API
1883
+ # servers are timing out processing requests.
1196
1884
  #
1197
1885
  # * **Ec2LaunchTemplateNotFound**\: We couldn't find the Amazon EC2
1198
1886
  # launch template for your managed node group. You may be able to
@@ -1203,6 +1891,13 @@ module Aws::EKS
1203
1891
  # version that Amazon EKS created. You may be able to revert to the
1204
1892
  # version that Amazon EKS created to recover.
1205
1893
  #
1894
+ # * **Ec2SecurityGroupDeletionFailure**\: We could not delete the
1895
+ # remote access security group for your managed node group. Remove
1896
+ # any dependencies from the security group.
1897
+ #
1898
+ # * **Ec2SecurityGroupNotFound**\: We couldn't find the cluster
1899
+ # security group for the cluster. You must recreate your cluster.
1900
+ #
1206
1901
  # * **Ec2SubnetInvalidConfiguration**\: One or more Amazon EC2 subnets
1207
1902
  # specified for a node group do not automatically assign public IP
1208
1903
  # addresses to instances launched into it. If you want your
@@ -1219,28 +1914,22 @@ module Aws::EKS
1219
1914
  # managed node group. You may be able to recreate an IAM role with
1220
1915
  # the same settings to recover.
1221
1916
  #
1222
- # * **AsgInstanceLaunchFailures**\: Your Auto Scaling group is
1223
- # experiencing failures while attempting to launch instances.
1224
- #
1225
- # * **NodeCreationFailure**\: Your launched instances are unable to
1226
- # register with your Amazon EKS cluster. Common causes of this
1227
- # failure are insufficient [worker node IAM role][2] permissions or
1228
- # lack of outbound internet access for the nodes.
1229
- #
1230
1917
  # * **InstanceLimitExceeded**\: Your AWS account is unable to launch
1231
1918
  # any more instances of the specified instance type. You may be able
1232
1919
  # to request an Amazon EC2 instance limit increase to recover.
1233
1920
  #
1234
1921
  # * **InsufficientFreeAddresses**\: One or more of the subnets
1235
1922
  # associated with your managed node group does not have enough
1236
- # available IP addresses for new nodes.
1237
- #
1238
- # * **AccessDenied**\: Amazon EKS or one or more of your managed nodes
1239
- # is unable to communicate with your cluster API server.
1923
+ # available IP addresses for new nodes.
1240
1924
  #
1241
1925
  # * **InternalFailure**\: These errors are usually caused by an Amazon
1242
1926
  # EKS server-side issue.
1243
1927
  #
1928
+ # * **NodeCreationFailure**\: Your launched instances are unable to
1929
+ # register with your Amazon EKS cluster. Common causes of this
1930
+ # failure are insufficient [node IAM role][2] permissions or lack of
1931
+ # outbound internet access for the nodes.
1932
+ #
1244
1933
  #
1245
1934
  #
1246
1935
  # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip
@@ -1306,10 +1995,11 @@ module Aws::EKS
1306
1995
  #
1307
1996
  # @!attribute [rw] service_ipv_4_cidr
1308
1997
  # The CIDR block that Kubernetes service IP addresses are assigned
1309
- # from. If you didn't specify a CIDR block, then Kubernetes assigns
1310
- # addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR
1311
- # blocks. If this was specified, then it was specified when the
1312
- # cluster was created and it cannot be changed.
1998
+ # from. If you didn't specify a CIDR block when you created the
1999
+ # cluster, then Kubernetes assigns addresses from either the
2000
+ # 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. If this was specified,
2001
+ # then it was specified when the cluster was created and it cannot be
2002
+ # changed.
1313
2003
  # @return [String]
1314
2004
  #
1315
2005
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/KubernetesNetworkConfigResponse AWS API Documentation
@@ -1374,6 +2064,80 @@ module Aws::EKS
1374
2064
  include Aws::Structure
1375
2065
  end
1376
2066
 
2067
+ # @note When making an API call, you may pass ListAddonsRequest
2068
+ # data as a hash:
2069
+ #
2070
+ # {
2071
+ # cluster_name: "ClusterName", # required
2072
+ # max_results: 1,
2073
+ # next_token: "String",
2074
+ # }
2075
+ #
2076
+ # @!attribute [rw] cluster_name
2077
+ # The name of the cluster.
2078
+ # @return [String]
2079
+ #
2080
+ # @!attribute [rw] max_results
2081
+ # The maximum number of add-on results returned by `ListAddonsRequest`
2082
+ # in paginated output. When you use this parameter,
2083
+ # `ListAddonsRequest` returns only `maxResults` results in a single
2084
+ # page along with a `nextToken` response element. You can see the
2085
+ # remaining results of the initial request by sending another
2086
+ # `ListAddonsRequest` request with the returned `nextToken` value.
2087
+ # This value can be between 1 and 100. If you don't use this
2088
+ # parameter, `ListAddonsRequest` returns up to 100 results and a
2089
+ # `nextToken` value, if applicable.
2090
+ # @return [Integer]
2091
+ #
2092
+ # @!attribute [rw] next_token
2093
+ # The `nextToken` value returned from a previous paginated
2094
+ # `ListAddonsRequest` where `maxResults` was used and the results
2095
+ # exceeded the value of that parameter. Pagination continues from the
2096
+ # end of the previous results that returned the `nextToken` value.
2097
+ #
2098
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
2099
+ # only to retrieve the next items in a list and not for other
2100
+ # programmatic purposes.
2101
+ #
2102
+ # </note>
2103
+ # @return [String]
2104
+ #
2105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddonsRequest AWS API Documentation
2106
+ #
2107
+ class ListAddonsRequest < Struct.new(
2108
+ :cluster_name,
2109
+ :max_results,
2110
+ :next_token)
2111
+ SENSITIVE = []
2112
+ include Aws::Structure
2113
+ end
2114
+
2115
+ # @!attribute [rw] addons
2116
+ # A list of available add-ons.
2117
+ # @return [Array<String>]
2118
+ #
2119
+ # @!attribute [rw] next_token
2120
+ # The `nextToken` value returned from a previous paginated
2121
+ # `ListAddonsResponse` where `maxResults` was used and the results
2122
+ # exceeded the value of that parameter. Pagination continues from the
2123
+ # end of the previous results that returned the `nextToken` value.
2124
+ #
2125
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
2126
+ # only to retrieve the next items in a list and not for other
2127
+ # programmatic purposes.
2128
+ #
2129
+ # </note>
2130
+ # @return [String]
2131
+ #
2132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddonsResponse AWS API Documentation
2133
+ #
2134
+ class ListAddonsResponse < Struct.new(
2135
+ :addons,
2136
+ :next_token)
2137
+ SENSITIVE = []
2138
+ include Aws::Structure
2139
+ end
2140
+
1377
2141
  # @note When making an API call, you may pass ListClustersRequest
1378
2142
  # data as a hash:
1379
2143
  #
@@ -1502,6 +2266,71 @@ module Aws::EKS
1502
2266
  include Aws::Structure
1503
2267
  end
1504
2268
 
2269
+ # @note When making an API call, you may pass ListIdentityProviderConfigsRequest
2270
+ # data as a hash:
2271
+ #
2272
+ # {
2273
+ # cluster_name: "String", # required
2274
+ # max_results: 1,
2275
+ # next_token: "String",
2276
+ # }
2277
+ #
2278
+ # @!attribute [rw] cluster_name
2279
+ # The cluster name that you want to list identity provider
2280
+ # configurations for.
2281
+ # @return [String]
2282
+ #
2283
+ # @!attribute [rw] max_results
2284
+ # The maximum number of identity provider configurations returned by
2285
+ # `ListIdentityProviderConfigs` in paginated output. When you use this
2286
+ # parameter, `ListIdentityProviderConfigs` returns only `maxResults`
2287
+ # results in a single page along with a `nextToken` response element.
2288
+ # You can see the remaining results of the initial request by sending
2289
+ # another `ListIdentityProviderConfigs` request with the returned
2290
+ # `nextToken` value. This value can be between 1 and 100. If you
2291
+ # don't use this parameter, `ListIdentityProviderConfigs` returns up
2292
+ # to 100 results and a `nextToken` value, if applicable.
2293
+ # @return [Integer]
2294
+ #
2295
+ # @!attribute [rw] next_token
2296
+ # The `nextToken` value returned from a previous paginated
2297
+ # `IdentityProviderConfigsRequest` where `maxResults` was used and the
2298
+ # results exceeded the value of that parameter. Pagination continues
2299
+ # from the end of the previous results that returned the `nextToken`
2300
+ # value.
2301
+ # @return [String]
2302
+ #
2303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigsRequest AWS API Documentation
2304
+ #
2305
+ class ListIdentityProviderConfigsRequest < Struct.new(
2306
+ :cluster_name,
2307
+ :max_results,
2308
+ :next_token)
2309
+ SENSITIVE = []
2310
+ include Aws::Structure
2311
+ end
2312
+
2313
+ # @!attribute [rw] identity_provider_configs
2314
+ # The identity provider configurations for the cluster.
2315
+ # @return [Array<Types::IdentityProviderConfig>]
2316
+ #
2317
+ # @!attribute [rw] next_token
2318
+ # The `nextToken` value returned from a previous paginated
2319
+ # `ListIdentityProviderConfigsResponse` where `maxResults` was used
2320
+ # and the results exceeded the value of that parameter. Pagination
2321
+ # continues from the end of the previous results that returned the
2322
+ # `nextToken` value.
2323
+ # @return [String]
2324
+ #
2325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigsResponse AWS API Documentation
2326
+ #
2327
+ class ListIdentityProviderConfigsResponse < Struct.new(
2328
+ :identity_provider_configs,
2329
+ :next_token)
2330
+ SENSITIVE = []
2331
+ include Aws::Structure
2332
+ end
2333
+
1505
2334
  # @note When making an API call, you may pass ListNodegroupsRequest
1506
2335
  # data as a hash:
1507
2336
  #
@@ -1606,6 +2435,7 @@ module Aws::EKS
1606
2435
  # {
1607
2436
  # name: "String", # required
1608
2437
  # nodegroup_name: "String",
2438
+ # addon_name: "String",
1609
2439
  # next_token: "String",
1610
2440
  # max_results: 1,
1611
2441
  # }
@@ -1618,6 +2448,10 @@ module Aws::EKS
1618
2448
  # The name of the Amazon EKS managed node group to list updates for.
1619
2449
  # @return [String]
1620
2450
  #
2451
+ # @!attribute [rw] addon_name
2452
+ # The names of the installed add-ons that have available updates.
2453
+ # @return [String]
2454
+ #
1621
2455
  # @!attribute [rw] next_token
1622
2456
  # The `nextToken` value returned from a previous paginated
1623
2457
  # `ListUpdates` request where `maxResults` was used and the results
@@ -1641,6 +2475,7 @@ module Aws::EKS
1641
2475
  class ListUpdatesRequest < Struct.new(
1642
2476
  :name,
1643
2477
  :nodegroup_name,
2478
+ :addon_name,
1644
2479
  :next_token,
1645
2480
  :max_results)
1646
2481
  SENSITIVE = []
@@ -1748,7 +2583,7 @@ module Aws::EKS
1748
2583
  # If the node group was deployed using a launch template with a custom
1749
2584
  # AMI, then this is the AMI ID that was specified in the launch
1750
2585
  # template. For node groups that weren't deployed using a launch
1751
- # template, this is the version of the Amazon EKS-optimized AMI that
2586
+ # template, this is the version of the Amazon EKS optimized AMI that
1752
2587
  # the node group was deployed with.
1753
2588
  # @return [String]
1754
2589
  #
@@ -1766,6 +2601,10 @@ module Aws::EKS
1766
2601
  # The current status of the managed node group.
1767
2602
  # @return [String]
1768
2603
  #
2604
+ # @!attribute [rw] capacity_type
2605
+ # The capacity type of your managed node group.
2606
+ # @return [String]
2607
+ #
1769
2608
  # @!attribute [rw] scaling_config
1770
2609
  # The scaling configuration details for the Auto Scaling group that is
1771
2610
  # associated with your node group.
@@ -1797,10 +2636,10 @@ module Aws::EKS
1797
2636
  # @return [String]
1798
2637
  #
1799
2638
  # @!attribute [rw] node_role
1800
- # The IAM role associated with your node group. The Amazon EKS worker
1801
- # node `kubelet` daemon makes calls to AWS APIs on your behalf. Worker
1802
- # nodes receive permissions for these API calls through an IAM
1803
- # instance profile and associated policies.
2639
+ # The IAM role associated with your node group. The Amazon EKS node
2640
+ # `kubelet` daemon makes calls to AWS APIs on your behalf. Nodes
2641
+ # receive permissions for these API calls through an IAM instance
2642
+ # profile and associated policies.
1804
2643
  # @return [String]
1805
2644
  #
1806
2645
  # @!attribute [rw] labels
@@ -1853,6 +2692,7 @@ module Aws::EKS
1853
2692
  :created_at,
1854
2693
  :modified_at,
1855
2694
  :status,
2695
+ :capacity_type,
1856
2696
  :scaling_config,
1857
2697
  :instance_types,
1858
2698
  :subnets,
@@ -1892,7 +2732,7 @@ module Aws::EKS
1892
2732
  #
1893
2733
  # @!attribute [rw] remote_access_security_group
1894
2734
  # The remote access security group associated with the node group.
1895
- # This security group controls SSH access to the worker nodes.
2735
+ # This security group controls SSH access to the nodes.
1896
2736
  # @return [String]
1897
2737
  #
1898
2738
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupResources AWS API Documentation
@@ -1919,19 +2759,24 @@ module Aws::EKS
1919
2759
  # }
1920
2760
  #
1921
2761
  # @!attribute [rw] min_size
1922
- # The minimum number of worker nodes that the managed node group can
1923
- # scale in to. This number must be greater than zero.
2762
+ # The minimum number of nodes that the managed node group can scale in
2763
+ # to. This number must be greater than zero.
1924
2764
  # @return [Integer]
1925
2765
  #
1926
2766
  # @!attribute [rw] max_size
1927
- # The maximum number of worker nodes that the managed node group can
1928
- # scale out to. Managed node groups can support up to 100 nodes by
1929
- # default.
2767
+ # The maximum number of nodes that the managed node group can scale
2768
+ # out to. For information about the maximum number that you can
2769
+ # specify, see [Amazon EKS service quotas][1] in the *Amazon EKS User
2770
+ # Guide*.
2771
+ #
2772
+ #
2773
+ #
2774
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html
1930
2775
  # @return [Integer]
1931
2776
  #
1932
2777
  # @!attribute [rw] desired_size
1933
- # The current number of worker nodes that the managed node group
1934
- # should maintain.
2778
+ # The current number of nodes that the managed node group should
2779
+ # maintain.
1935
2780
  # @return [Integer]
1936
2781
  #
1937
2782
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupScalingConfig AWS API Documentation
@@ -1958,15 +2803,15 @@ module Aws::EKS
1958
2803
  include Aws::Structure
1959
2804
  end
1960
2805
 
1961
- # An object representing the [OpenID Connect][1] identity provider
1962
- # information for the cluster.
2806
+ # An object representing the [OpenID Connect][1] (OIDC) identity
2807
+ # provider information for the cluster.
1963
2808
  #
1964
2809
  #
1965
2810
  #
1966
2811
  # [1]: https://openid.net/connect/
1967
2812
  #
1968
2813
  # @!attribute [rw] issuer
1969
- # The issuer URL for the OpenID Connect identity provider.
2814
+ # The issuer URL for the OIDC identity provider.
1970
2815
  # @return [String]
1971
2816
  #
1972
2817
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/OIDC AWS API Documentation
@@ -1977,6 +2822,187 @@ module Aws::EKS
1977
2822
  include Aws::Structure
1978
2823
  end
1979
2824
 
2825
+ # An object that represents the configuration for an OpenID Connect
2826
+ # (OIDC) identity provider.
2827
+ #
2828
+ # @!attribute [rw] identity_provider_config_name
2829
+ # The name of the configuration.
2830
+ # @return [String]
2831
+ #
2832
+ # @!attribute [rw] identity_provider_config_arn
2833
+ # The ARN of the configuration.
2834
+ # @return [String]
2835
+ #
2836
+ # @!attribute [rw] cluster_name
2837
+ # The cluster that the configuration is associated to.
2838
+ # @return [String]
2839
+ #
2840
+ # @!attribute [rw] issuer_url
2841
+ # The URL of the OIDC identity provider that allows the API server to
2842
+ # discover public signing keys for verifying tokens.
2843
+ # @return [String]
2844
+ #
2845
+ # @!attribute [rw] client_id
2846
+ # This is also known as *audience*. The ID of the client application
2847
+ # that makes authentication requests to the OIDC identity provider.
2848
+ # @return [String]
2849
+ #
2850
+ # @!attribute [rw] username_claim
2851
+ # The JSON Web token (JWT) claim that is used as the username.
2852
+ # @return [String]
2853
+ #
2854
+ # @!attribute [rw] username_prefix
2855
+ # The prefix that is prepended to username claims to prevent clashes
2856
+ # with existing names. The prefix can't contain `system:`
2857
+ # @return [String]
2858
+ #
2859
+ # @!attribute [rw] groups_claim
2860
+ # The JSON web token (JWT) claim that the provider uses to return your
2861
+ # groups.
2862
+ # @return [String]
2863
+ #
2864
+ # @!attribute [rw] groups_prefix
2865
+ # The prefix that is prepended to group claims to prevent clashes with
2866
+ # existing names (such as `system:` groups). For example, the value`
2867
+ # oidc:` creates group names like `oidc:engineering` and `oidc:infra`.
2868
+ # The prefix can't contain `system:`
2869
+ # @return [String]
2870
+ #
2871
+ # @!attribute [rw] required_claims
2872
+ # The key-value pairs that describe required claims in the identity
2873
+ # token. If set, each claim is verified to be present in the token
2874
+ # with a matching value.
2875
+ # @return [Hash<String,String>]
2876
+ #
2877
+ # @!attribute [rw] tags
2878
+ # The metadata to apply to the provider configuration to assist with
2879
+ # categorization and organization. Each tag consists of a key and an
2880
+ # optional value, both of which you defined.
2881
+ # @return [Hash<String,String>]
2882
+ #
2883
+ # @!attribute [rw] status
2884
+ # The status of the OIDC identity provider.
2885
+ # @return [String]
2886
+ #
2887
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/OidcIdentityProviderConfig AWS API Documentation
2888
+ #
2889
+ class OidcIdentityProviderConfig < Struct.new(
2890
+ :identity_provider_config_name,
2891
+ :identity_provider_config_arn,
2892
+ :cluster_name,
2893
+ :issuer_url,
2894
+ :client_id,
2895
+ :username_claim,
2896
+ :username_prefix,
2897
+ :groups_claim,
2898
+ :groups_prefix,
2899
+ :required_claims,
2900
+ :tags,
2901
+ :status)
2902
+ SENSITIVE = []
2903
+ include Aws::Structure
2904
+ end
2905
+
2906
+ # An object representing an OpenID Connect (OIDC) configuration. Before
2907
+ # associating an OIDC identity provider to your cluster, review the
2908
+ # considerations in [Authenticating users for your cluster from an
2909
+ # OpenID Connect identity provider][1] in the *Amazon EKS User Guide*.
2910
+ #
2911
+ #
2912
+ #
2913
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/authenticate-oidc-identity-provider.html
2914
+ #
2915
+ # @note When making an API call, you may pass OidcIdentityProviderConfigRequest
2916
+ # data as a hash:
2917
+ #
2918
+ # {
2919
+ # identity_provider_config_name: "String", # required
2920
+ # issuer_url: "String", # required
2921
+ # client_id: "String", # required
2922
+ # username_claim: "String",
2923
+ # username_prefix: "String",
2924
+ # groups_claim: "String",
2925
+ # groups_prefix: "String",
2926
+ # required_claims: {
2927
+ # "requiredClaimsKey" => "requiredClaimsValue",
2928
+ # },
2929
+ # }
2930
+ #
2931
+ # @!attribute [rw] identity_provider_config_name
2932
+ # The name of the OIDC provider configuration.
2933
+ # @return [String]
2934
+ #
2935
+ # @!attribute [rw] issuer_url
2936
+ # The URL of the OpenID identity provider that allows the API server
2937
+ # to discover public signing keys for verifying tokens. The URL must
2938
+ # begin with `https://` and should correspond to the `iss` claim in
2939
+ # the provider's OIDC ID tokens. Per the OIDC standard, path
2940
+ # components are allowed but query parameters are not. Typically the
2941
+ # URL consists of only a hostname, like `https://server.example.org`
2942
+ # or `https://example.com`. This URL should point to the level below
2943
+ # `.well-known/openid-configuration` and must be publicly accessible
2944
+ # over the internet.
2945
+ # @return [String]
2946
+ #
2947
+ # @!attribute [rw] client_id
2948
+ # This is also known as *audience*. The ID for the client application
2949
+ # that makes authentication requests to the OpenID identity provider.
2950
+ # @return [String]
2951
+ #
2952
+ # @!attribute [rw] username_claim
2953
+ # The JSON Web Token (JWT) claim to use as the username. The default
2954
+ # is `sub`, which is expected to be a unique identifier of the end
2955
+ # user. You can choose other claims, such as `email` or `name`,
2956
+ # depending on the OpenID identity provider. Claims other than `email`
2957
+ # are prefixed with the issuer URL to prevent naming clashes with
2958
+ # other plug-ins.
2959
+ # @return [String]
2960
+ #
2961
+ # @!attribute [rw] username_prefix
2962
+ # The prefix that is prepended to username claims to prevent clashes
2963
+ # with existing names. If you do not provide this field, and
2964
+ # `username` is a value other than `email`, the prefix defaults to
2965
+ # `issuerurl#`. You can use the value `-` to disable all prefixing.
2966
+ # @return [String]
2967
+ #
2968
+ # @!attribute [rw] groups_claim
2969
+ # The JWT claim that the provider uses to return your groups.
2970
+ # @return [String]
2971
+ #
2972
+ # @!attribute [rw] groups_prefix
2973
+ # The prefix that is prepended to group claims to prevent clashes with
2974
+ # existing names (such as `system:` groups). For example, the value`
2975
+ # oidc:` will create group names like `oidc:engineering` and
2976
+ # `oidc:infra`.
2977
+ # @return [String]
2978
+ #
2979
+ # @!attribute [rw] required_claims
2980
+ # The key value pairs that describe required claims in the identity
2981
+ # token. If set, each claim is verified to be present in the token
2982
+ # with a matching value. For the maximum number of claims that you can
2983
+ # require, see [Amazon EKS service quotas][1] in the *Amazon EKS User
2984
+ # Guide*.
2985
+ #
2986
+ #
2987
+ #
2988
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html
2989
+ # @return [Hash<String,String>]
2990
+ #
2991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/OidcIdentityProviderConfigRequest AWS API Documentation
2992
+ #
2993
+ class OidcIdentityProviderConfigRequest < Struct.new(
2994
+ :identity_provider_config_name,
2995
+ :issuer_url,
2996
+ :client_id,
2997
+ :username_claim,
2998
+ :username_prefix,
2999
+ :groups_claim,
3000
+ :groups_prefix,
3001
+ :required_claims)
3002
+ SENSITIVE = []
3003
+ include Aws::Structure
3004
+ end
3005
+
1980
3006
  # Identifies the AWS Key Management Service (AWS KMS) customer master
1981
3007
  # key (CMK) used to encrypt the secrets.
1982
3008
  #
@@ -2021,9 +3047,9 @@ module Aws::EKS
2021
3047
  #
2022
3048
  # @!attribute [rw] ec2_ssh_key
2023
3049
  # The Amazon EC2 SSH key that provides access for SSH communication
2024
- # with the worker nodes in the managed node group. For more
2025
- # information, see [Amazon EC2 Key Pairs][1] in the *Amazon Elastic
2026
- # Compute Cloud User Guide for Linux Instances*.
3050
+ # with the nodes in the managed node group. For more information, see
3051
+ # [Amazon EC2 Key Pairs][1] in the *Amazon Elastic Compute Cloud User
3052
+ # Guide for Linux Instances*.
2027
3053
  #
2028
3054
  #
2029
3055
  #
@@ -2032,11 +3058,11 @@ module Aws::EKS
2032
3058
  #
2033
3059
  # @!attribute [rw] source_security_groups
2034
3060
  # The security groups that are allowed SSH access (port 22) to the
2035
- # worker nodes. If you specify an Amazon EC2 SSH key but do not
2036
- # specify a source security group when you create a managed node
2037
- # group, then port 22 on the worker nodes is opened to the internet
2038
- # (0.0.0.0/0). For more information, see [Security Groups for Your
2039
- # VPC][1] in the *Amazon Virtual Private Cloud User Guide*.
3061
+ # nodes. If you specify an Amazon EC2 SSH key but do not specify a
3062
+ # source security group when you create a managed node group, then
3063
+ # port 22 on the nodes is opened to the internet (0.0.0.0/0). For more
3064
+ # information, see [Security Groups for Your VPC][1] in the *Amazon
3065
+ # Virtual Private Cloud User Guide*.
2040
3066
  #
2041
3067
  #
2042
3068
  #
@@ -2062,6 +3088,9 @@ module Aws::EKS
2062
3088
  # The Amazon EKS managed node group associated with the exception.
2063
3089
  # @return [String]
2064
3090
  #
3091
+ # @!attribute [rw] addon_name
3092
+ # @return [String]
3093
+ #
2065
3094
  # @!attribute [rw] message
2066
3095
  # @return [String]
2067
3096
  #
@@ -2070,6 +3099,7 @@ module Aws::EKS
2070
3099
  class ResourceInUseException < Struct.new(
2071
3100
  :cluster_name,
2072
3101
  :nodegroup_name,
3102
+ :addon_name,
2073
3103
  :message)
2074
3104
  SENSITIVE = []
2075
3105
  include Aws::Structure
@@ -2115,6 +3145,9 @@ module Aws::EKS
2115
3145
  # The Fargate profile associated with the exception.
2116
3146
  # @return [String]
2117
3147
  #
3148
+ # @!attribute [rw] addon_name
3149
+ # @return [String]
3150
+ #
2118
3151
  # @!attribute [rw] message
2119
3152
  # @return [String]
2120
3153
  #
@@ -2124,6 +3157,7 @@ module Aws::EKS
2124
3157
  :cluster_name,
2125
3158
  :nodegroup_name,
2126
3159
  :fargate_profile_name,
3160
+ :addon_name,
2127
3161
  :message)
2128
3162
  SENSITIVE = []
2129
3163
  include Aws::Structure
@@ -2139,6 +3173,9 @@ module Aws::EKS
2139
3173
  # The Amazon EKS managed node group associated with the exception.
2140
3174
  # @return [String]
2141
3175
  #
3176
+ # @!attribute [rw] addon_name
3177
+ # @return [String]
3178
+ #
2142
3179
  # @!attribute [rw] message
2143
3180
  # @return [String]
2144
3181
  #
@@ -2147,6 +3184,7 @@ module Aws::EKS
2147
3184
  class ServerException < Struct.new(
2148
3185
  :cluster_name,
2149
3186
  :nodegroup_name,
3187
+ :addon_name,
2150
3188
  :message)
2151
3189
  SENSITIVE = []
2152
3190
  include Aws::Structure
@@ -2302,6 +3340,99 @@ module Aws::EKS
2302
3340
  include Aws::Structure
2303
3341
  end
2304
3342
 
3343
+ # @note When making an API call, you may pass UpdateAddonRequest
3344
+ # data as a hash:
3345
+ #
3346
+ # {
3347
+ # cluster_name: "ClusterName", # required
3348
+ # addon_name: "String", # required
3349
+ # addon_version: "String",
3350
+ # service_account_role_arn: "RoleArn",
3351
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
3352
+ # client_request_token: "String",
3353
+ # }
3354
+ #
3355
+ # @!attribute [rw] cluster_name
3356
+ # The name of the cluster.
3357
+ # @return [String]
3358
+ #
3359
+ # @!attribute [rw] addon_name
3360
+ # The name of the add-on. The name must match one of the names
3361
+ # returned by [ `ListAddons` ][1].
3362
+ #
3363
+ #
3364
+ #
3365
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
3366
+ # @return [String]
3367
+ #
3368
+ # @!attribute [rw] addon_version
3369
+ # The version of the add-on. The version must match one of the
3370
+ # versions returned by [ `DescribeAddonVersions` ][1].
3371
+ #
3372
+ #
3373
+ #
3374
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
3375
+ # @return [String]
3376
+ #
3377
+ # @!attribute [rw] service_account_role_arn
3378
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to
3379
+ # the add-on's service account. The role must be assigned the IAM
3380
+ # permissions required by the add-on. If you don't specify an
3381
+ # existing IAM role, then the add-on uses the permissions assigned to
3382
+ # the node IAM role. For more information, see [Amazon EKS node IAM
3383
+ # role][1] in the *Amazon EKS User Guide*.
3384
+ #
3385
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
3386
+ # (OIDC) provider created for your cluster. For more information, see
3387
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
3388
+ # *Amazon EKS User Guide*.
3389
+ #
3390
+ # </note>
3391
+ #
3392
+ #
3393
+ #
3394
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
3395
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
3396
+ # @return [String]
3397
+ #
3398
+ # @!attribute [rw] resolve_conflicts
3399
+ # How to resolve parameter value conflicts when applying the new
3400
+ # version of the add-on to the cluster.
3401
+ # @return [String]
3402
+ #
3403
+ # @!attribute [rw] client_request_token
3404
+ # Unique, case-sensitive identifier that you provide to ensure the
3405
+ # idempotency of the request.
3406
+ #
3407
+ # **A suitable default value is auto-generated.** You should normally
3408
+ # not need to pass this option.
3409
+ # @return [String]
3410
+ #
3411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddonRequest AWS API Documentation
3412
+ #
3413
+ class UpdateAddonRequest < Struct.new(
3414
+ :cluster_name,
3415
+ :addon_name,
3416
+ :addon_version,
3417
+ :service_account_role_arn,
3418
+ :resolve_conflicts,
3419
+ :client_request_token)
3420
+ SENSITIVE = []
3421
+ include Aws::Structure
3422
+ end
3423
+
3424
+ # @!attribute [rw] update
3425
+ # An object representing an asynchronous update.
3426
+ # @return [Types::Update]
3427
+ #
3428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddonResponse AWS API Documentation
3429
+ #
3430
+ class UpdateAddonResponse < Struct.new(
3431
+ :update)
3432
+ SENSITIVE = []
3433
+ include Aws::Structure
3434
+ end
3435
+
2305
3436
  # @note When making an API call, you may pass UpdateClusterConfigRequest
2306
3437
  # data as a hash:
2307
3438
  #
@@ -2575,15 +3706,15 @@ module Aws::EKS
2575
3706
  # @return [String]
2576
3707
  #
2577
3708
  # @!attribute [rw] release_version
2578
- # The AMI version of the Amazon EKS-optimized AMI to use for the
3709
+ # The AMI version of the Amazon EKS optimized AMI to use for the
2579
3710
  # update. By default, the latest available AMI version for the node
2580
3711
  # group's Kubernetes version is used. For more information, see
2581
- # [Amazon EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS
2582
- # User Guide*. If you specify `launchTemplate`, and your launch
2583
- # template uses a custom AMI, then don't specify `releaseVersion`, or
2584
- # the node group update will fail. For more information about using
2585
- # launch templates with Amazon EKS, see [Launch template support][2]
2586
- # in the Amazon EKS User Guide.
3712
+ # [Amazon EKS optimized Amazon Linux 2 AMI versions ][1] in the
3713
+ # *Amazon EKS User Guide*. If you specify `launchTemplate`, and your
3714
+ # launch template uses a custom AMI, then don't specify
3715
+ # `releaseVersion`, or the node group update will fail. For more
3716
+ # information about using launch templates with Amazon EKS, see
3717
+ # [Launch template support][2] in the Amazon EKS User Guide.
2587
3718
  #
2588
3719
  #
2589
3720
  #
@@ -2674,18 +3805,29 @@ module Aws::EKS
2674
3805
  # }
2675
3806
  #
2676
3807
  # @!attribute [rw] subnet_ids
2677
- # Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates
3808
+ # Specify subnets for your Amazon EKS nodes. Amazon EKS creates
2678
3809
  # cross-account elastic network interfaces in these subnets to allow
2679
- # communication between your worker nodes and the Kubernetes control
2680
- # plane.
3810
+ # communication between your nodes and the Kubernetes control plane.
2681
3811
  # @return [Array<String>]
2682
3812
  #
2683
3813
  # @!attribute [rw] security_group_ids
2684
3814
  # Specify one or more security groups for the cross-account elastic
2685
3815
  # network interfaces that Amazon EKS creates to use to allow
2686
- # communication between your worker nodes and the Kubernetes control
2687
- # plane. If you don't specify a security group, the default security
2688
- # group for your VPC is used.
3816
+ # communication between your nodes and the Kubernetes control plane.
3817
+ # If you don't specify any security groups, then familiarize yourself
3818
+ # with the difference between Amazon EKS defaults for clusters
3819
+ # deployed with Kubernetes:
3820
+ #
3821
+ # * 1\.14 Amazon EKS platform version `eks.2` and earlier
3822
+ #
3823
+ # * 1\.14 Amazon EKS platform version `eks.3` and later
3824
+ #
3825
+ # For more information, see [Amazon EKS security group
3826
+ # considerations][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
3827
+ #
3828
+ #
3829
+ #
3830
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
2689
3831
  # @return [Array<String>]
2690
3832
  #
2691
3833
  # @!attribute [rw] endpoint_public_access
@@ -2708,12 +3850,12 @@ module Aws::EKS
2708
3850
  # access, Kubernetes API requests from within your cluster's VPC use
2709
3851
  # the private VPC endpoint. The default value for this parameter is
2710
3852
  # `false`, which disables private access for your Kubernetes API
2711
- # server. If you disable private access and you have worker nodes or
2712
- # AWS Fargate pods in the cluster, then ensure that
2713
- # `publicAccessCidrs` includes the necessary CIDR blocks for
2714
- # communication with the worker nodes or Fargate pods. For more
2715
- # information, see [Amazon EKS Cluster Endpoint Access Control][1] in
2716
- # the <i> <i>Amazon EKS User Guide</i> </i>.
3853
+ # server. If you disable private access and you have nodes or AWS
3854
+ # Fargate pods in the cluster, then ensure that `publicAccessCidrs`
3855
+ # includes the necessary CIDR blocks for communication with the nodes
3856
+ # or Fargate pods. For more information, see [Amazon EKS Cluster
3857
+ # Endpoint Access Control][1] in the <i> <i>Amazon EKS User Guide</i>
3858
+ # </i>.
2717
3859
  #
2718
3860
  #
2719
3861
  #
@@ -2725,8 +3867,8 @@ module Aws::EKS
2725
3867
  # Kubernetes API server endpoint. Communication to the endpoint from
2726
3868
  # addresses outside of the CIDR blocks that you specify is denied. The
2727
3869
  # default value is `0.0.0.0/0`. If you've disabled private endpoint
2728
- # access and you have worker nodes or AWS Fargate pods in the cluster,
2729
- # then ensure that you specify the necessary CIDR blocks. For more
3870
+ # access and you have nodes or AWS Fargate pods in the cluster, then
3871
+ # ensure that you specify the necessary CIDR blocks. For more
2730
3872
  # information, see [Amazon EKS Cluster Endpoint Access Control][1] in
2731
3873
  # the <i> <i>Amazon EKS User Guide</i> </i>.
2732
3874
  #
@@ -2757,7 +3899,7 @@ module Aws::EKS
2757
3899
  # @!attribute [rw] security_group_ids
2758
3900
  # The security groups associated with the cross-account elastic
2759
3901
  # network interfaces that are used to allow communication between your
2760
- # worker nodes and the Kubernetes control plane.
3902
+ # nodes and the Kubernetes control plane.
2761
3903
  # @return [Array<String>]
2762
3904
  #
2763
3905
  # @!attribute [rw] cluster_security_group_id
@@ -2782,12 +3924,12 @@ module Aws::EKS
2782
3924
  # endpoint is enabled. If the Amazon EKS private API server endpoint
2783
3925
  # is enabled, Kubernetes API requests that originate from within your
2784
3926
  # cluster's VPC use the private VPC endpoint instead of traversing
2785
- # the internet. If this value is disabled and you have worker nodes or
2786
- # AWS Fargate pods in the cluster, then ensure that
2787
- # `publicAccessCidrs` includes the necessary CIDR blocks for
2788
- # communication with the worker nodes or Fargate pods. For more
2789
- # information, see [Amazon EKS Cluster Endpoint Access Control][1] in
2790
- # the <i> <i>Amazon EKS User Guide</i> </i>.
3927
+ # the internet. If this value is disabled and you have nodes or AWS
3928
+ # Fargate pods in the cluster, then ensure that `publicAccessCidrs`
3929
+ # includes the necessary CIDR blocks for communication with the nodes
3930
+ # or Fargate pods. For more information, see [Amazon EKS Cluster
3931
+ # Endpoint Access Control][1] in the <i> <i>Amazon EKS User Guide</i>
3932
+ # </i>.
2791
3933
  #
2792
3934
  #
2793
3935
  #
@@ -2799,10 +3941,10 @@ module Aws::EKS
2799
3941
  # Kubernetes API server endpoint. Communication to the endpoint from
2800
3942
  # addresses outside of the listed CIDR blocks is denied. The default
2801
3943
  # value is `0.0.0.0/0`. If you've disabled private endpoint access
2802
- # and you have worker nodes or AWS Fargate pods in the cluster, then
2803
- # ensure that the necessary CIDR blocks are listed. For more
2804
- # information, see [Amazon EKS Cluster Endpoint Access Control][1] in
2805
- # the <i> <i>Amazon EKS User Guide</i> </i>.
3944
+ # and you have nodes or AWS Fargate pods in the cluster, then ensure
3945
+ # that the necessary CIDR blocks are listed. For more information, see
3946
+ # [Amazon EKS Cluster Endpoint Access Control][1] in the <i> <i>Amazon
3947
+ # EKS User Guide</i> </i>.
2806
3948
  #
2807
3949
  #
2808
3950
  #