aws-sdk-eks 1.44.0 → 1.49.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,286 @@
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 AssociateEncryptionConfigRequest
165
+ # data as a hash:
166
+ #
167
+ # {
168
+ # cluster_name: "String", # required
169
+ # encryption_config: [ # required
170
+ # {
171
+ # resources: ["String"],
172
+ # provider: {
173
+ # key_arn: "String",
174
+ # },
175
+ # },
176
+ # ],
177
+ # client_request_token: "String",
178
+ # }
179
+ #
180
+ # @!attribute [rw] cluster_name
181
+ # The name of the cluster that you are associating with encryption
182
+ # configuration.
183
+ # @return [String]
184
+ #
185
+ # @!attribute [rw] encryption_config
186
+ # The configuration you are using for encryption.
187
+ # @return [Array<Types::EncryptionConfig>]
188
+ #
189
+ # @!attribute [rw] client_request_token
190
+ # The client request token you are using with the encryption
191
+ # configuration.
192
+ #
193
+ # **A suitable default value is auto-generated.** You should normally
194
+ # not need to pass this option.
195
+ # @return [String]
196
+ #
197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateEncryptionConfigRequest AWS API Documentation
198
+ #
199
+ class AssociateEncryptionConfigRequest < Struct.new(
200
+ :cluster_name,
201
+ :encryption_config,
202
+ :client_request_token)
203
+ SENSITIVE = []
204
+ include Aws::Structure
205
+ end
206
+
207
+ # @!attribute [rw] update
208
+ # An object representing an asynchronous update.
209
+ # @return [Types::Update]
210
+ #
211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateEncryptionConfigResponse AWS API Documentation
212
+ #
213
+ class AssociateEncryptionConfigResponse < Struct.new(
214
+ :update)
215
+ SENSITIVE = []
216
+ include Aws::Structure
217
+ end
218
+
219
+ # @note When making an API call, you may pass AssociateIdentityProviderConfigRequest
220
+ # data as a hash:
221
+ #
222
+ # {
223
+ # cluster_name: "String", # required
224
+ # oidc: { # required
225
+ # identity_provider_config_name: "String", # required
226
+ # issuer_url: "String", # required
227
+ # client_id: "String", # required
228
+ # username_claim: "String",
229
+ # username_prefix: "String",
230
+ # groups_claim: "String",
231
+ # groups_prefix: "String",
232
+ # required_claims: {
233
+ # "requiredClaimsKey" => "requiredClaimsValue",
234
+ # },
235
+ # },
236
+ # tags: {
237
+ # "TagKey" => "TagValue",
238
+ # },
239
+ # client_request_token: "String",
240
+ # }
241
+ #
242
+ # @!attribute [rw] cluster_name
243
+ # The name of the cluster to associate the configuration to.
244
+ # @return [String]
245
+ #
246
+ # @!attribute [rw] oidc
247
+ # An object that represents an OpenID Connect (OIDC) identity provider
248
+ # configuration.
249
+ # @return [Types::OidcIdentityProviderConfigRequest]
250
+ #
251
+ # @!attribute [rw] tags
252
+ # The metadata to apply to the configuration to assist with
253
+ # categorization and organization. Each tag consists of a key and an
254
+ # optional value, both of which you define.
255
+ # @return [Hash<String,String>]
256
+ #
257
+ # @!attribute [rw] client_request_token
258
+ # Unique, case-sensitive identifier that you provide to ensure the
259
+ # idempotency of the request.
260
+ #
261
+ # **A suitable default value is auto-generated.** You should normally
262
+ # not need to pass this option.
263
+ # @return [String]
264
+ #
265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfigRequest AWS API Documentation
266
+ #
267
+ class AssociateIdentityProviderConfigRequest < Struct.new(
268
+ :cluster_name,
269
+ :oidc,
270
+ :tags,
271
+ :client_request_token)
272
+ SENSITIVE = []
273
+ include Aws::Structure
274
+ end
275
+
276
+ # @!attribute [rw] update
277
+ # An object representing an asynchronous update.
278
+ # @return [Types::Update]
279
+ #
280
+ # @!attribute [rw] tags
281
+ # The tags for the resource.
282
+ # @return [Hash<String,String>]
283
+ #
284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfigResponse AWS API Documentation
285
+ #
286
+ class AssociateIdentityProviderConfigResponse < Struct.new(
287
+ :update,
288
+ :tags)
289
+ SENSITIVE = []
290
+ include Aws::Structure
291
+ end
292
+
13
293
  # An Auto Scaling group that is associated with an Amazon EKS managed
14
294
  # node group.
15
295
  #
@@ -71,6 +351,9 @@ module Aws::EKS
71
351
  # The Amazon EKS managed node group associated with the exception.
72
352
  # @return [String]
73
353
  #
354
+ # @!attribute [rw] addon_name
355
+ # @return [String]
356
+ #
74
357
  # @!attribute [rw] message
75
358
  # @return [String]
76
359
  #
@@ -79,6 +362,7 @@ module Aws::EKS
79
362
  class ClientException < Struct.new(
80
363
  :cluster_name,
81
364
  :nodegroup_name,
365
+ :addon_name,
82
366
  :message)
83
367
  SENSITIVE = []
84
368
  include Aws::Structure
@@ -127,7 +411,7 @@ module Aws::EKS
127
411
  # @return [Types::VpcConfigResponse]
128
412
  #
129
413
  # @!attribute [rw] kubernetes_network_config
130
- # Network configuration settings for your cluster.
414
+ # The Kubernetes network configuration for the cluster.
131
415
  # @return [Types::KubernetesNetworkConfigResponse]
132
416
  #
133
417
  # @!attribute [rw] logging
@@ -195,6 +479,133 @@ module Aws::EKS
195
479
  include Aws::Structure
196
480
  end
197
481
 
482
+ # Compatibility information.
483
+ #
484
+ # @!attribute [rw] cluster_version
485
+ # The supported Kubernetes version of the cluster.
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] platform_versions
489
+ # The supported compute platform.
490
+ # @return [Array<String>]
491
+ #
492
+ # @!attribute [rw] default_version
493
+ # The supported default version.
494
+ # @return [Boolean]
495
+ #
496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Compatibility AWS API Documentation
497
+ #
498
+ class Compatibility < Struct.new(
499
+ :cluster_version,
500
+ :platform_versions,
501
+ :default_version)
502
+ SENSITIVE = []
503
+ include Aws::Structure
504
+ end
505
+
506
+ # @note When making an API call, you may pass CreateAddonRequest
507
+ # data as a hash:
508
+ #
509
+ # {
510
+ # cluster_name: "ClusterName", # required
511
+ # addon_name: "String", # required
512
+ # addon_version: "String",
513
+ # service_account_role_arn: "RoleArn",
514
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
515
+ # client_request_token: "String",
516
+ # tags: {
517
+ # "TagKey" => "TagValue",
518
+ # },
519
+ # }
520
+ #
521
+ # @!attribute [rw] cluster_name
522
+ # The name of the cluster to create the add-on for.
523
+ # @return [String]
524
+ #
525
+ # @!attribute [rw] addon_name
526
+ # The name of the add-on. The name must match one of the names
527
+ # returned by [ `ListAddons` ][1].
528
+ #
529
+ #
530
+ #
531
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
532
+ # @return [String]
533
+ #
534
+ # @!attribute [rw] addon_version
535
+ # The version of the add-on. The version must match one of the
536
+ # versions returned by [ `DescribeAddonVersions` ][1].
537
+ #
538
+ #
539
+ #
540
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
541
+ # @return [String]
542
+ #
543
+ # @!attribute [rw] service_account_role_arn
544
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to
545
+ # the add-on's service account. The role must be assigned the IAM
546
+ # permissions required by the add-on. If you don't specify an
547
+ # existing IAM role, then the add-on uses the permissions assigned to
548
+ # the node IAM role. For more information, see [Amazon EKS node IAM
549
+ # role][1] in the *Amazon EKS User Guide*.
550
+ #
551
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
552
+ # (OIDC) provider created for your cluster. For more information, see
553
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
554
+ # *Amazon EKS User Guide*.
555
+ #
556
+ # </note>
557
+ #
558
+ #
559
+ #
560
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
561
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
562
+ # @return [String]
563
+ #
564
+ # @!attribute [rw] resolve_conflicts
565
+ # How to resolve parameter value conflicts when migrating an existing
566
+ # add-on to an Amazon EKS add-on.
567
+ # @return [String]
568
+ #
569
+ # @!attribute [rw] client_request_token
570
+ # A unique, case-sensitive identifier that you provide to ensure the
571
+ # idempotency of the request.
572
+ #
573
+ # **A suitable default value is auto-generated.** You should normally
574
+ # not need to pass this option.
575
+ # @return [String]
576
+ #
577
+ # @!attribute [rw] tags
578
+ # The metadata to apply to the cluster to assist with categorization
579
+ # and organization. Each tag consists of a key and an optional value,
580
+ # both of which you define.
581
+ # @return [Hash<String,String>]
582
+ #
583
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddonRequest AWS API Documentation
584
+ #
585
+ class CreateAddonRequest < Struct.new(
586
+ :cluster_name,
587
+ :addon_name,
588
+ :addon_version,
589
+ :service_account_role_arn,
590
+ :resolve_conflicts,
591
+ :client_request_token,
592
+ :tags)
593
+ SENSITIVE = []
594
+ include Aws::Structure
595
+ end
596
+
597
+ # @!attribute [rw] addon
598
+ # An Amazon EKS add-on.
599
+ # @return [Types::Addon]
600
+ #
601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddonResponse AWS API Documentation
602
+ #
603
+ class CreateAddonResponse < Struct.new(
604
+ :addon)
605
+ SENSITIVE = []
606
+ include Aws::Structure
607
+ end
608
+
198
609
  # @note When making an API call, you may pass CreateClusterRequest
199
610
  # data as a hash:
200
611
  #
@@ -470,6 +881,7 @@ module Aws::EKS
470
881
  # version: "String",
471
882
  # id: "String",
472
883
  # },
884
+ # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
473
885
  # version: "String",
474
886
  # release_version: "String",
475
887
  # }
@@ -516,25 +928,31 @@ module Aws::EKS
516
928
  # @return [Array<String>]
517
929
  #
518
930
  # @!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
931
+ # Specify the instance types for a node group. If you specify a GPU
932
+ # instance type, be sure to specify `AL2_x86_64_GPU` with the
933
+ # `amiType` parameter. If you specify `launchTemplate`, then you can
934
+ # specify zero or one instance type in your launch template *or* you
935
+ # can specify 0-20 instance types for `instanceTypes`. If however, you
936
+ # specify an instance type in your launch template *and* specify any
937
+ # `instanceTypes`, the node group deployment will fail. If you don't
938
+ # specify an instance type in a launch template or for
939
+ # `instanceTypes`, then `t3.medium` is used, by default. If you
940
+ # specify `Spot` for `capacityType`, then we recommend specifying
941
+ # multiple values for `instanceTypes`. For more information, see
942
+ # [Managed node group capacity types][1] and [Launch template
943
+ # support][2] in the *Amazon EKS User Guide*.
944
+ #
945
+ #
946
+ #
947
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types
948
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
531
949
  # @return [Array<String>]
532
950
  #
533
951
  # @!attribute [rw] ami_type
534
952
  # The AMI type for your node group. GPU instance types should use the
535
953
  # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
536
954
  # `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
955
+ # type. All types use the Amazon EKS optimized Amazon Linux 2 AMI. If
538
956
  # you specify `launchTemplate`, and your launch template uses a custom
539
957
  # AMI, then don't specify `amiType`, or the node group deployment
540
958
  # will fail. For more information about using launch templates with
@@ -561,17 +979,16 @@ module Aws::EKS
561
979
  # @!attribute [rw] node_role
562
980
  # The Amazon Resource Name (ARN) of the IAM role to associate with
563
981
  # 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.
982
+ # calls to AWS APIs on your behalf. Nodes receive permissions for
983
+ # these API calls through an IAM instance profile and associated
984
+ # policies. Before you can launch nodes and register them into a
985
+ # cluster, you must create an IAM role for those nodes to use when
986
+ # they are launched. For more information, see [Amazon EKS node IAM
987
+ # role][1] in the <i> <i>Amazon EKS User Guide</i> </i>. If you
988
+ # specify `launchTemplate`, then don't specify [ `IamInstanceProfile`
989
+ # ][2] in your launch template, or the node group deployment will
990
+ # fail. For more information about using launch templates with Amazon
991
+ # EKS, see [Launch template support][3] in the Amazon EKS User Guide.
575
992
  #
576
993
  #
577
994
  #
@@ -608,6 +1025,10 @@ module Aws::EKS
608
1025
  # meets the requirements in `launchTemplateSpecification`.
609
1026
  # @return [Types::LaunchTemplateSpecification]
610
1027
  #
1028
+ # @!attribute [rw] capacity_type
1029
+ # The capacity type for your node group.
1030
+ # @return [String]
1031
+ #
611
1032
  # @!attribute [rw] version
612
1033
  # The Kubernetes version to use for your managed nodes. By default,
613
1034
  # the Kubernetes version of the cluster is used, and this is the only
@@ -623,15 +1044,15 @@ module Aws::EKS
623
1044
  # @return [String]
624
1045
  #
625
1046
  # @!attribute [rw] release_version
626
- # The AMI version of the Amazon EKS-optimized AMI to use with your
1047
+ # The AMI version of the Amazon EKS optimized AMI to use with your
627
1048
  # node group. By default, the latest available AMI version for the
628
1049
  # 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.
1050
+ # information, see [Amazon EKS optimized Amazon Linux 2 AMI
1051
+ # versions][1] in the *Amazon EKS User Guide*. If you specify
1052
+ # `launchTemplate`, and your launch template uses a custom AMI, then
1053
+ # don't specify `releaseVersion`, or the node group deployment will
1054
+ # fail. For more information about using launch templates with Amazon
1055
+ # EKS, see [Launch template support][2] in the Amazon EKS User Guide.
635
1056
  #
636
1057
  #
637
1058
  #
@@ -655,6 +1076,7 @@ module Aws::EKS
655
1076
  :tags,
656
1077
  :client_request_token,
657
1078
  :launch_template,
1079
+ :capacity_type,
658
1080
  :version,
659
1081
  :release_version)
660
1082
  SENSITIVE = []
@@ -673,6 +1095,48 @@ module Aws::EKS
673
1095
  include Aws::Structure
674
1096
  end
675
1097
 
1098
+ # @note When making an API call, you may pass DeleteAddonRequest
1099
+ # data as a hash:
1100
+ #
1101
+ # {
1102
+ # cluster_name: "ClusterName", # required
1103
+ # addon_name: "String", # required
1104
+ # }
1105
+ #
1106
+ # @!attribute [rw] cluster_name
1107
+ # The name of the cluster to delete the add-on from.
1108
+ # @return [String]
1109
+ #
1110
+ # @!attribute [rw] addon_name
1111
+ # The name of the add-on. The name must match one of the names
1112
+ # returned by [ `ListAddons` ][1].
1113
+ #
1114
+ #
1115
+ #
1116
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1117
+ # @return [String]
1118
+ #
1119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddonRequest AWS API Documentation
1120
+ #
1121
+ class DeleteAddonRequest < Struct.new(
1122
+ :cluster_name,
1123
+ :addon_name)
1124
+ SENSITIVE = []
1125
+ include Aws::Structure
1126
+ end
1127
+
1128
+ # @!attribute [rw] addon
1129
+ # An Amazon EKS add-on.
1130
+ # @return [Types::Addon]
1131
+ #
1132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddonResponse AWS API Documentation
1133
+ #
1134
+ class DeleteAddonResponse < Struct.new(
1135
+ :addon)
1136
+ SENSITIVE = []
1137
+ include Aws::Structure
1138
+ end
1139
+
676
1140
  # @note When making an API call, you may pass DeleteClusterRequest
677
1141
  # data as a hash:
678
1142
  #
@@ -780,6 +1244,128 @@ module Aws::EKS
780
1244
  include Aws::Structure
781
1245
  end
782
1246
 
1247
+ # @note When making an API call, you may pass DescribeAddonRequest
1248
+ # data as a hash:
1249
+ #
1250
+ # {
1251
+ # cluster_name: "ClusterName", # required
1252
+ # addon_name: "String", # required
1253
+ # }
1254
+ #
1255
+ # @!attribute [rw] cluster_name
1256
+ # The name of the cluster.
1257
+ # @return [String]
1258
+ #
1259
+ # @!attribute [rw] addon_name
1260
+ # The name of the add-on. The name must match one of the names
1261
+ # returned by [ `ListAddons` ][1].
1262
+ #
1263
+ #
1264
+ #
1265
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1266
+ # @return [String]
1267
+ #
1268
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonRequest AWS API Documentation
1269
+ #
1270
+ class DescribeAddonRequest < Struct.new(
1271
+ :cluster_name,
1272
+ :addon_name)
1273
+ SENSITIVE = []
1274
+ include Aws::Structure
1275
+ end
1276
+
1277
+ # @!attribute [rw] addon
1278
+ # An Amazon EKS add-on.
1279
+ # @return [Types::Addon]
1280
+ #
1281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonResponse AWS API Documentation
1282
+ #
1283
+ class DescribeAddonResponse < Struct.new(
1284
+ :addon)
1285
+ SENSITIVE = []
1286
+ include Aws::Structure
1287
+ end
1288
+
1289
+ # @note When making an API call, you may pass DescribeAddonVersionsRequest
1290
+ # data as a hash:
1291
+ #
1292
+ # {
1293
+ # kubernetes_version: "String",
1294
+ # max_results: 1,
1295
+ # next_token: "String",
1296
+ # addon_name: "String",
1297
+ # }
1298
+ #
1299
+ # @!attribute [rw] kubernetes_version
1300
+ # The Kubernetes versions that the add-on can be used with.
1301
+ # @return [String]
1302
+ #
1303
+ # @!attribute [rw] max_results
1304
+ # The maximum number of results to return.
1305
+ # @return [Integer]
1306
+ #
1307
+ # @!attribute [rw] next_token
1308
+ # The `nextToken` value returned from a previous paginated
1309
+ # `DescribeAddonVersionsRequest` where `maxResults` was used and the
1310
+ # results exceeded the value of that parameter. Pagination continues
1311
+ # from the end of the previous results that returned the `nextToken`
1312
+ # value.
1313
+ #
1314
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1315
+ # only to retrieve the next items in a list and not for other
1316
+ # programmatic purposes.
1317
+ #
1318
+ # </note>
1319
+ # @return [String]
1320
+ #
1321
+ # @!attribute [rw] addon_name
1322
+ # The name of the add-on. The name must match one of the names
1323
+ # returned by [ `ListAddons` ][1].
1324
+ #
1325
+ #
1326
+ #
1327
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1328
+ # @return [String]
1329
+ #
1330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersionsRequest AWS API Documentation
1331
+ #
1332
+ class DescribeAddonVersionsRequest < Struct.new(
1333
+ :kubernetes_version,
1334
+ :max_results,
1335
+ :next_token,
1336
+ :addon_name)
1337
+ SENSITIVE = []
1338
+ include Aws::Structure
1339
+ end
1340
+
1341
+ # @!attribute [rw] addons
1342
+ # The list of available versions with Kubernetes version
1343
+ # compatibility.
1344
+ # @return [Array<Types::AddonInfo>]
1345
+ #
1346
+ # @!attribute [rw] next_token
1347
+ # The `nextToken` value returned from a previous paginated
1348
+ # `DescribeAddonVersionsResponse` where `maxResults` was used and the
1349
+ # results exceeded the value of that parameter. Pagination continues
1350
+ # from the end of the previous results that returned the `nextToken`
1351
+ # value.
1352
+ #
1353
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1354
+ # only to retrieve the next items in a list and not for other
1355
+ # programmatic purposes.
1356
+ #
1357
+ # </note>
1358
+ # @return [String]
1359
+ #
1360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersionsResponse AWS API Documentation
1361
+ #
1362
+ class DescribeAddonVersionsResponse < Struct.new(
1363
+ :addons,
1364
+ :next_token)
1365
+ SENSITIVE = []
1366
+ include Aws::Structure
1367
+ end
1368
+
783
1369
  # @note When making an API call, you may pass DescribeClusterRequest
784
1370
  # data as a hash:
785
1371
  #
@@ -849,6 +1435,48 @@ module Aws::EKS
849
1435
  include Aws::Structure
850
1436
  end
851
1437
 
1438
+ # @note When making an API call, you may pass DescribeIdentityProviderConfigRequest
1439
+ # data as a hash:
1440
+ #
1441
+ # {
1442
+ # cluster_name: "String", # required
1443
+ # identity_provider_config: { # required
1444
+ # type: "String", # required
1445
+ # name: "String", # required
1446
+ # },
1447
+ # }
1448
+ #
1449
+ # @!attribute [rw] cluster_name
1450
+ # The cluster name that the identity provider configuration is
1451
+ # associated to.
1452
+ # @return [String]
1453
+ #
1454
+ # @!attribute [rw] identity_provider_config
1455
+ # An object that represents an identity provider configuration.
1456
+ # @return [Types::IdentityProviderConfig]
1457
+ #
1458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfigRequest AWS API Documentation
1459
+ #
1460
+ class DescribeIdentityProviderConfigRequest < Struct.new(
1461
+ :cluster_name,
1462
+ :identity_provider_config)
1463
+ SENSITIVE = []
1464
+ include Aws::Structure
1465
+ end
1466
+
1467
+ # @!attribute [rw] identity_provider_config
1468
+ # The object that represents an OpenID Connect (OIDC) identity
1469
+ # provider configuration.
1470
+ # @return [Types::IdentityProviderConfigResponse]
1471
+ #
1472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfigResponse AWS API Documentation
1473
+ #
1474
+ class DescribeIdentityProviderConfigResponse < Struct.new(
1475
+ :identity_provider_config)
1476
+ SENSITIVE = []
1477
+ include Aws::Structure
1478
+ end
1479
+
852
1480
  # @note When making an API call, you may pass DescribeNodegroupRequest
853
1481
  # data as a hash:
854
1482
  #
@@ -893,6 +1521,7 @@ module Aws::EKS
893
1521
  # name: "String", # required
894
1522
  # update_id: "String", # required
895
1523
  # nodegroup_name: "String",
1524
+ # addon_name: "String",
896
1525
  # }
897
1526
  #
898
1527
  # @!attribute [rw] name
@@ -907,12 +1536,22 @@ module Aws::EKS
907
1536
  # The name of the Amazon EKS node group associated with the update.
908
1537
  # @return [String]
909
1538
  #
1539
+ # @!attribute [rw] addon_name
1540
+ # The name of the add-on. The name must match one of the names
1541
+ # returned by [ `ListAddons` ][1].
1542
+ #
1543
+ #
1544
+ #
1545
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1546
+ # @return [String]
1547
+ #
910
1548
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdateRequest AWS API Documentation
911
1549
  #
912
1550
  class DescribeUpdateRequest < Struct.new(
913
1551
  :name,
914
1552
  :update_id,
915
- :nodegroup_name)
1553
+ :nodegroup_name,
1554
+ :addon_name)
916
1555
  SENSITIVE = []
917
1556
  include Aws::Structure
918
1557
  end
@@ -929,6 +1568,56 @@ module Aws::EKS
929
1568
  include Aws::Structure
930
1569
  end
931
1570
 
1571
+ # @note When making an API call, you may pass DisassociateIdentityProviderConfigRequest
1572
+ # data as a hash:
1573
+ #
1574
+ # {
1575
+ # cluster_name: "String", # required
1576
+ # identity_provider_config: { # required
1577
+ # type: "String", # required
1578
+ # name: "String", # required
1579
+ # },
1580
+ # client_request_token: "String",
1581
+ # }
1582
+ #
1583
+ # @!attribute [rw] cluster_name
1584
+ # The name of the cluster to disassociate an identity provider from.
1585
+ # @return [String]
1586
+ #
1587
+ # @!attribute [rw] identity_provider_config
1588
+ # An object that represents an identity provider configuration.
1589
+ # @return [Types::IdentityProviderConfig]
1590
+ #
1591
+ # @!attribute [rw] client_request_token
1592
+ # A unique, case-sensitive identifier that you provide to ensure the
1593
+ # idempotency of the request.
1594
+ #
1595
+ # **A suitable default value is auto-generated.** You should normally
1596
+ # not need to pass this option.
1597
+ # @return [String]
1598
+ #
1599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfigRequest AWS API Documentation
1600
+ #
1601
+ class DisassociateIdentityProviderConfigRequest < Struct.new(
1602
+ :cluster_name,
1603
+ :identity_provider_config,
1604
+ :client_request_token)
1605
+ SENSITIVE = []
1606
+ include Aws::Structure
1607
+ end
1608
+
1609
+ # @!attribute [rw] update
1610
+ # An object representing an asynchronous update.
1611
+ # @return [Types::Update]
1612
+ #
1613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfigResponse AWS API Documentation
1614
+ #
1615
+ class DisassociateIdentityProviderConfigResponse < Struct.new(
1616
+ :update)
1617
+ SENSITIVE = []
1618
+ include Aws::Structure
1619
+ end
1620
+
932
1621
  # The encryption configuration for the cluster.
933
1622
  #
934
1623
  # @note When making an API call, you may pass EncryptionConfig
@@ -1105,12 +1794,11 @@ module Aws::EKS
1105
1794
  include Aws::Structure
1106
1795
  end
1107
1796
 
1108
- # An object representing an identity provider for authentication
1109
- # credentials.
1797
+ # An object representing an identity provider.
1110
1798
  #
1111
1799
  # @!attribute [rw] oidc
1112
- # The [OpenID Connect][1] identity provider information for the
1113
- # cluster.
1800
+ # An object representing the [OpenID Connect][1] identity provider
1801
+ # information.
1114
1802
  #
1115
1803
  #
1116
1804
  #
@@ -1125,6 +1813,48 @@ module Aws::EKS
1125
1813
  include Aws::Structure
1126
1814
  end
1127
1815
 
1816
+ # An object representing an identity provider configuration.
1817
+ #
1818
+ # @note When making an API call, you may pass IdentityProviderConfig
1819
+ # data as a hash:
1820
+ #
1821
+ # {
1822
+ # type: "String", # required
1823
+ # name: "String", # required
1824
+ # }
1825
+ #
1826
+ # @!attribute [rw] type
1827
+ # The type of the identity provider configuration.
1828
+ # @return [String]
1829
+ #
1830
+ # @!attribute [rw] name
1831
+ # The name of the identity provider configuration.
1832
+ # @return [String]
1833
+ #
1834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/IdentityProviderConfig AWS API Documentation
1835
+ #
1836
+ class IdentityProviderConfig < Struct.new(
1837
+ :type,
1838
+ :name)
1839
+ SENSITIVE = []
1840
+ include Aws::Structure
1841
+ end
1842
+
1843
+ # An object that represents an identity configuration.
1844
+ #
1845
+ # @!attribute [rw] oidc
1846
+ # An object that represents an OpenID Connect (OIDC) identity provider
1847
+ # configuration.
1848
+ # @return [Types::OidcIdentityProviderConfig]
1849
+ #
1850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/IdentityProviderConfigResponse AWS API Documentation
1851
+ #
1852
+ class IdentityProviderConfigResponse < Struct.new(
1853
+ :oidc)
1854
+ SENSITIVE = []
1855
+ include Aws::Structure
1856
+ end
1857
+
1128
1858
  # The specified parameter is invalid. Review the available parameters
1129
1859
  # for the API request.
1130
1860
  #
@@ -1140,6 +1870,9 @@ module Aws::EKS
1140
1870
  # The Fargate profile associated with the exception.
1141
1871
  # @return [String]
1142
1872
  #
1873
+ # @!attribute [rw] addon_name
1874
+ # @return [String]
1875
+ #
1143
1876
  # @!attribute [rw] message
1144
1877
  # @return [String]
1145
1878
  #
@@ -1149,6 +1882,7 @@ module Aws::EKS
1149
1882
  :cluster_name,
1150
1883
  :nodegroup_name,
1151
1884
  :fargate_profile_name,
1885
+ :addon_name,
1152
1886
  :message)
1153
1887
  SENSITIVE = []
1154
1888
  include Aws::Structure
@@ -1165,6 +1899,9 @@ module Aws::EKS
1165
1899
  # The Amazon EKS managed node group associated with the exception.
1166
1900
  # @return [String]
1167
1901
  #
1902
+ # @!attribute [rw] addon_name
1903
+ # @return [String]
1904
+ #
1168
1905
  # @!attribute [rw] message
1169
1906
  # @return [String]
1170
1907
  #
@@ -1173,6 +1910,7 @@ module Aws::EKS
1173
1910
  class InvalidRequestException < Struct.new(
1174
1911
  :cluster_name,
1175
1912
  :nodegroup_name,
1913
+ :addon_name,
1176
1914
  :message)
1177
1915
  SENSITIVE = []
1178
1916
  include Aws::Structure
@@ -1183,16 +1921,21 @@ module Aws::EKS
1183
1921
  # @!attribute [rw] code
1184
1922
  # A brief description of the error.
1185
1923
  #
1924
+ # * **AccessDenied**\: Amazon EKS or one or more of your managed nodes
1925
+ # is failing to authenticate or authorize with your Kubernetes
1926
+ # cluster API server.
1927
+ #
1928
+ # * **AsgInstanceLaunchFailures**\: Your Auto Scaling group is
1929
+ # experiencing failures while attempting to launch instances.
1930
+ #
1186
1931
  # * **AutoScalingGroupNotFound**\: We couldn't find the Auto Scaling
1187
1932
  # group associated with the managed node group. You may be able to
1188
1933
  # recreate an Auto Scaling group with the same settings to recover.
1189
1934
  #
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.
1935
+ # * **ClusterUnreachable**\: Amazon EKS or one or more of your managed
1936
+ # nodes is unable to to communicate with your Kubernetes cluster API
1937
+ # server. This can happen if there are network disruptions or if API
1938
+ # servers are timing out processing requests.
1196
1939
  #
1197
1940
  # * **Ec2LaunchTemplateNotFound**\: We couldn't find the Amazon EC2
1198
1941
  # launch template for your managed node group. You may be able to
@@ -1203,6 +1946,13 @@ module Aws::EKS
1203
1946
  # version that Amazon EKS created. You may be able to revert to the
1204
1947
  # version that Amazon EKS created to recover.
1205
1948
  #
1949
+ # * **Ec2SecurityGroupDeletionFailure**\: We could not delete the
1950
+ # remote access security group for your managed node group. Remove
1951
+ # any dependencies from the security group.
1952
+ #
1953
+ # * **Ec2SecurityGroupNotFound**\: We couldn't find the cluster
1954
+ # security group for the cluster. You must recreate your cluster.
1955
+ #
1206
1956
  # * **Ec2SubnetInvalidConfiguration**\: One or more Amazon EC2 subnets
1207
1957
  # specified for a node group do not automatically assign public IP
1208
1958
  # addresses to instances launched into it. If you want your
@@ -1219,28 +1969,22 @@ module Aws::EKS
1219
1969
  # managed node group. You may be able to recreate an IAM role with
1220
1970
  # the same settings to recover.
1221
1971
  #
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
1972
  # * **InstanceLimitExceeded**\: Your AWS account is unable to launch
1231
1973
  # any more instances of the specified instance type. You may be able
1232
1974
  # to request an Amazon EC2 instance limit increase to recover.
1233
1975
  #
1234
1976
  # * **InsufficientFreeAddresses**\: One or more of the subnets
1235
1977
  # 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.
1978
+ # available IP addresses for new nodes.
1240
1979
  #
1241
1980
  # * **InternalFailure**\: These errors are usually caused by an Amazon
1242
1981
  # EKS server-side issue.
1243
1982
  #
1983
+ # * **NodeCreationFailure**\: Your launched instances are unable to
1984
+ # register with your Amazon EKS cluster. Common causes of this
1985
+ # failure are insufficient [node IAM role][2] permissions or lack of
1986
+ # outbound internet access for the nodes.
1987
+ #
1244
1988
  #
1245
1989
  #
1246
1990
  # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip
@@ -1306,10 +2050,11 @@ module Aws::EKS
1306
2050
  #
1307
2051
  # @!attribute [rw] service_ipv_4_cidr
1308
2052
  # 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.
2053
+ # from. If you didn't specify a CIDR block when you created the
2054
+ # cluster, then Kubernetes assigns addresses from either the
2055
+ # 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. If this was specified,
2056
+ # then it was specified when the cluster was created and it cannot be
2057
+ # changed.
1313
2058
  # @return [String]
1314
2059
  #
1315
2060
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/KubernetesNetworkConfigResponse AWS API Documentation
@@ -1374,6 +2119,80 @@ module Aws::EKS
1374
2119
  include Aws::Structure
1375
2120
  end
1376
2121
 
2122
+ # @note When making an API call, you may pass ListAddonsRequest
2123
+ # data as a hash:
2124
+ #
2125
+ # {
2126
+ # cluster_name: "ClusterName", # required
2127
+ # max_results: 1,
2128
+ # next_token: "String",
2129
+ # }
2130
+ #
2131
+ # @!attribute [rw] cluster_name
2132
+ # The name of the cluster.
2133
+ # @return [String]
2134
+ #
2135
+ # @!attribute [rw] max_results
2136
+ # The maximum number of add-on results returned by `ListAddonsRequest`
2137
+ # in paginated output. When you use this parameter,
2138
+ # `ListAddonsRequest` returns only `maxResults` results in a single
2139
+ # page along with a `nextToken` response element. You can see the
2140
+ # remaining results of the initial request by sending another
2141
+ # `ListAddonsRequest` request with the returned `nextToken` value.
2142
+ # This value can be between 1 and 100. If you don't use this
2143
+ # parameter, `ListAddonsRequest` returns up to 100 results and a
2144
+ # `nextToken` value, if applicable.
2145
+ # @return [Integer]
2146
+ #
2147
+ # @!attribute [rw] next_token
2148
+ # The `nextToken` value returned from a previous paginated
2149
+ # `ListAddonsRequest` where `maxResults` was used and the results
2150
+ # exceeded the value of that parameter. Pagination continues from the
2151
+ # end of the previous results that returned the `nextToken` value.
2152
+ #
2153
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
2154
+ # only to retrieve the next items in a list and not for other
2155
+ # programmatic purposes.
2156
+ #
2157
+ # </note>
2158
+ # @return [String]
2159
+ #
2160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddonsRequest AWS API Documentation
2161
+ #
2162
+ class ListAddonsRequest < Struct.new(
2163
+ :cluster_name,
2164
+ :max_results,
2165
+ :next_token)
2166
+ SENSITIVE = []
2167
+ include Aws::Structure
2168
+ end
2169
+
2170
+ # @!attribute [rw] addons
2171
+ # A list of available add-ons.
2172
+ # @return [Array<String>]
2173
+ #
2174
+ # @!attribute [rw] next_token
2175
+ # The `nextToken` value returned from a previous paginated
2176
+ # `ListAddonsResponse` where `maxResults` was used and the results
2177
+ # exceeded the value of that parameter. Pagination continues from the
2178
+ # end of the previous results that returned the `nextToken` value.
2179
+ #
2180
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
2181
+ # only to retrieve the next items in a list and not for other
2182
+ # programmatic purposes.
2183
+ #
2184
+ # </note>
2185
+ # @return [String]
2186
+ #
2187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddonsResponse AWS API Documentation
2188
+ #
2189
+ class ListAddonsResponse < Struct.new(
2190
+ :addons,
2191
+ :next_token)
2192
+ SENSITIVE = []
2193
+ include Aws::Structure
2194
+ end
2195
+
1377
2196
  # @note When making an API call, you may pass ListClustersRequest
1378
2197
  # data as a hash:
1379
2198
  #
@@ -1502,6 +2321,71 @@ module Aws::EKS
1502
2321
  include Aws::Structure
1503
2322
  end
1504
2323
 
2324
+ # @note When making an API call, you may pass ListIdentityProviderConfigsRequest
2325
+ # data as a hash:
2326
+ #
2327
+ # {
2328
+ # cluster_name: "String", # required
2329
+ # max_results: 1,
2330
+ # next_token: "String",
2331
+ # }
2332
+ #
2333
+ # @!attribute [rw] cluster_name
2334
+ # The cluster name that you want to list identity provider
2335
+ # configurations for.
2336
+ # @return [String]
2337
+ #
2338
+ # @!attribute [rw] max_results
2339
+ # The maximum number of identity provider configurations returned by
2340
+ # `ListIdentityProviderConfigs` in paginated output. When you use this
2341
+ # parameter, `ListIdentityProviderConfigs` returns only `maxResults`
2342
+ # results in a single page along with a `nextToken` response element.
2343
+ # You can see the remaining results of the initial request by sending
2344
+ # another `ListIdentityProviderConfigs` request with the returned
2345
+ # `nextToken` value. This value can be between 1 and 100. If you
2346
+ # don't use this parameter, `ListIdentityProviderConfigs` returns up
2347
+ # to 100 results and a `nextToken` value, if applicable.
2348
+ # @return [Integer]
2349
+ #
2350
+ # @!attribute [rw] next_token
2351
+ # The `nextToken` value returned from a previous paginated
2352
+ # `IdentityProviderConfigsRequest` where `maxResults` was used and the
2353
+ # results exceeded the value of that parameter. Pagination continues
2354
+ # from the end of the previous results that returned the `nextToken`
2355
+ # value.
2356
+ # @return [String]
2357
+ #
2358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigsRequest AWS API Documentation
2359
+ #
2360
+ class ListIdentityProviderConfigsRequest < Struct.new(
2361
+ :cluster_name,
2362
+ :max_results,
2363
+ :next_token)
2364
+ SENSITIVE = []
2365
+ include Aws::Structure
2366
+ end
2367
+
2368
+ # @!attribute [rw] identity_provider_configs
2369
+ # The identity provider configurations for the cluster.
2370
+ # @return [Array<Types::IdentityProviderConfig>]
2371
+ #
2372
+ # @!attribute [rw] next_token
2373
+ # The `nextToken` value returned from a previous paginated
2374
+ # `ListIdentityProviderConfigsResponse` where `maxResults` was used
2375
+ # and the results exceeded the value of that parameter. Pagination
2376
+ # continues from the end of the previous results that returned the
2377
+ # `nextToken` value.
2378
+ # @return [String]
2379
+ #
2380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigsResponse AWS API Documentation
2381
+ #
2382
+ class ListIdentityProviderConfigsResponse < Struct.new(
2383
+ :identity_provider_configs,
2384
+ :next_token)
2385
+ SENSITIVE = []
2386
+ include Aws::Structure
2387
+ end
2388
+
1505
2389
  # @note When making an API call, you may pass ListNodegroupsRequest
1506
2390
  # data as a hash:
1507
2391
  #
@@ -1606,6 +2490,7 @@ module Aws::EKS
1606
2490
  # {
1607
2491
  # name: "String", # required
1608
2492
  # nodegroup_name: "String",
2493
+ # addon_name: "String",
1609
2494
  # next_token: "String",
1610
2495
  # max_results: 1,
1611
2496
  # }
@@ -1618,6 +2503,10 @@ module Aws::EKS
1618
2503
  # The name of the Amazon EKS managed node group to list updates for.
1619
2504
  # @return [String]
1620
2505
  #
2506
+ # @!attribute [rw] addon_name
2507
+ # The names of the installed add-ons that have available updates.
2508
+ # @return [String]
2509
+ #
1621
2510
  # @!attribute [rw] next_token
1622
2511
  # The `nextToken` value returned from a previous paginated
1623
2512
  # `ListUpdates` request where `maxResults` was used and the results
@@ -1641,6 +2530,7 @@ module Aws::EKS
1641
2530
  class ListUpdatesRequest < Struct.new(
1642
2531
  :name,
1643
2532
  :nodegroup_name,
2533
+ :addon_name,
1644
2534
  :next_token,
1645
2535
  :max_results)
1646
2536
  SENSITIVE = []
@@ -1748,7 +2638,7 @@ module Aws::EKS
1748
2638
  # If the node group was deployed using a launch template with a custom
1749
2639
  # AMI, then this is the AMI ID that was specified in the launch
1750
2640
  # template. For node groups that weren't deployed using a launch
1751
- # template, this is the version of the Amazon EKS-optimized AMI that
2641
+ # template, this is the version of the Amazon EKS optimized AMI that
1752
2642
  # the node group was deployed with.
1753
2643
  # @return [String]
1754
2644
  #
@@ -1766,6 +2656,10 @@ module Aws::EKS
1766
2656
  # The current status of the managed node group.
1767
2657
  # @return [String]
1768
2658
  #
2659
+ # @!attribute [rw] capacity_type
2660
+ # The capacity type of your managed node group.
2661
+ # @return [String]
2662
+ #
1769
2663
  # @!attribute [rw] scaling_config
1770
2664
  # The scaling configuration details for the Auto Scaling group that is
1771
2665
  # associated with your node group.
@@ -1797,10 +2691,10 @@ module Aws::EKS
1797
2691
  # @return [String]
1798
2692
  #
1799
2693
  # @!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.
2694
+ # The IAM role associated with your node group. The Amazon EKS node
2695
+ # `kubelet` daemon makes calls to AWS APIs on your behalf. Nodes
2696
+ # receive permissions for these API calls through an IAM instance
2697
+ # profile and associated policies.
1804
2698
  # @return [String]
1805
2699
  #
1806
2700
  # @!attribute [rw] labels
@@ -1853,6 +2747,7 @@ module Aws::EKS
1853
2747
  :created_at,
1854
2748
  :modified_at,
1855
2749
  :status,
2750
+ :capacity_type,
1856
2751
  :scaling_config,
1857
2752
  :instance_types,
1858
2753
  :subnets,
@@ -1892,7 +2787,7 @@ module Aws::EKS
1892
2787
  #
1893
2788
  # @!attribute [rw] remote_access_security_group
1894
2789
  # The remote access security group associated with the node group.
1895
- # This security group controls SSH access to the worker nodes.
2790
+ # This security group controls SSH access to the nodes.
1896
2791
  # @return [String]
1897
2792
  #
1898
2793
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupResources AWS API Documentation
@@ -1919,19 +2814,24 @@ module Aws::EKS
1919
2814
  # }
1920
2815
  #
1921
2816
  # @!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.
2817
+ # The minimum number of nodes that the managed node group can scale in
2818
+ # to. This number must be greater than zero.
1924
2819
  # @return [Integer]
1925
2820
  #
1926
2821
  # @!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.
2822
+ # The maximum number of nodes that the managed node group can scale
2823
+ # out to. For information about the maximum number that you can
2824
+ # specify, see [Amazon EKS service quotas][1] in the *Amazon EKS User
2825
+ # Guide*.
2826
+ #
2827
+ #
2828
+ #
2829
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html
1930
2830
  # @return [Integer]
1931
2831
  #
1932
2832
  # @!attribute [rw] desired_size
1933
- # The current number of worker nodes that the managed node group
1934
- # should maintain.
2833
+ # The current number of nodes that the managed node group should
2834
+ # maintain.
1935
2835
  # @return [Integer]
1936
2836
  #
1937
2837
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupScalingConfig AWS API Documentation
@@ -1958,15 +2858,15 @@ module Aws::EKS
1958
2858
  include Aws::Structure
1959
2859
  end
1960
2860
 
1961
- # An object representing the [OpenID Connect][1] identity provider
1962
- # information for the cluster.
2861
+ # An object representing the [OpenID Connect][1] (OIDC) identity
2862
+ # provider information for the cluster.
1963
2863
  #
1964
2864
  #
1965
2865
  #
1966
2866
  # [1]: https://openid.net/connect/
1967
2867
  #
1968
2868
  # @!attribute [rw] issuer
1969
- # The issuer URL for the OpenID Connect identity provider.
2869
+ # The issuer URL for the OIDC identity provider.
1970
2870
  # @return [String]
1971
2871
  #
1972
2872
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/OIDC AWS API Documentation
@@ -1977,6 +2877,187 @@ module Aws::EKS
1977
2877
  include Aws::Structure
1978
2878
  end
1979
2879
 
2880
+ # An object that represents the configuration for an OpenID Connect
2881
+ # (OIDC) identity provider.
2882
+ #
2883
+ # @!attribute [rw] identity_provider_config_name
2884
+ # The name of the configuration.
2885
+ # @return [String]
2886
+ #
2887
+ # @!attribute [rw] identity_provider_config_arn
2888
+ # The ARN of the configuration.
2889
+ # @return [String]
2890
+ #
2891
+ # @!attribute [rw] cluster_name
2892
+ # The cluster that the configuration is associated to.
2893
+ # @return [String]
2894
+ #
2895
+ # @!attribute [rw] issuer_url
2896
+ # The URL of the OIDC identity provider that allows the API server to
2897
+ # discover public signing keys for verifying tokens.
2898
+ # @return [String]
2899
+ #
2900
+ # @!attribute [rw] client_id
2901
+ # This is also known as *audience*. The ID of the client application
2902
+ # that makes authentication requests to the OIDC identity provider.
2903
+ # @return [String]
2904
+ #
2905
+ # @!attribute [rw] username_claim
2906
+ # The JSON Web token (JWT) claim that is used as the username.
2907
+ # @return [String]
2908
+ #
2909
+ # @!attribute [rw] username_prefix
2910
+ # The prefix that is prepended to username claims to prevent clashes
2911
+ # with existing names. The prefix can't contain `system:`
2912
+ # @return [String]
2913
+ #
2914
+ # @!attribute [rw] groups_claim
2915
+ # The JSON web token (JWT) claim that the provider uses to return your
2916
+ # groups.
2917
+ # @return [String]
2918
+ #
2919
+ # @!attribute [rw] groups_prefix
2920
+ # The prefix that is prepended to group claims to prevent clashes with
2921
+ # existing names (such as `system:` groups). For example, the value`
2922
+ # oidc:` creates group names like `oidc:engineering` and `oidc:infra`.
2923
+ # The prefix can't contain `system:`
2924
+ # @return [String]
2925
+ #
2926
+ # @!attribute [rw] required_claims
2927
+ # The key-value pairs that describe required claims in the identity
2928
+ # token. If set, each claim is verified to be present in the token
2929
+ # with a matching value.
2930
+ # @return [Hash<String,String>]
2931
+ #
2932
+ # @!attribute [rw] tags
2933
+ # The metadata to apply to the provider configuration to assist with
2934
+ # categorization and organization. Each tag consists of a key and an
2935
+ # optional value, both of which you defined.
2936
+ # @return [Hash<String,String>]
2937
+ #
2938
+ # @!attribute [rw] status
2939
+ # The status of the OIDC identity provider.
2940
+ # @return [String]
2941
+ #
2942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/OidcIdentityProviderConfig AWS API Documentation
2943
+ #
2944
+ class OidcIdentityProviderConfig < Struct.new(
2945
+ :identity_provider_config_name,
2946
+ :identity_provider_config_arn,
2947
+ :cluster_name,
2948
+ :issuer_url,
2949
+ :client_id,
2950
+ :username_claim,
2951
+ :username_prefix,
2952
+ :groups_claim,
2953
+ :groups_prefix,
2954
+ :required_claims,
2955
+ :tags,
2956
+ :status)
2957
+ SENSITIVE = []
2958
+ include Aws::Structure
2959
+ end
2960
+
2961
+ # An object representing an OpenID Connect (OIDC) configuration. Before
2962
+ # associating an OIDC identity provider to your cluster, review the
2963
+ # considerations in [Authenticating users for your cluster from an
2964
+ # OpenID Connect identity provider][1] in the *Amazon EKS User Guide*.
2965
+ #
2966
+ #
2967
+ #
2968
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/authenticate-oidc-identity-provider.html
2969
+ #
2970
+ # @note When making an API call, you may pass OidcIdentityProviderConfigRequest
2971
+ # data as a hash:
2972
+ #
2973
+ # {
2974
+ # identity_provider_config_name: "String", # required
2975
+ # issuer_url: "String", # required
2976
+ # client_id: "String", # required
2977
+ # username_claim: "String",
2978
+ # username_prefix: "String",
2979
+ # groups_claim: "String",
2980
+ # groups_prefix: "String",
2981
+ # required_claims: {
2982
+ # "requiredClaimsKey" => "requiredClaimsValue",
2983
+ # },
2984
+ # }
2985
+ #
2986
+ # @!attribute [rw] identity_provider_config_name
2987
+ # The name of the OIDC provider configuration.
2988
+ # @return [String]
2989
+ #
2990
+ # @!attribute [rw] issuer_url
2991
+ # The URL of the OpenID identity provider that allows the API server
2992
+ # to discover public signing keys for verifying tokens. The URL must
2993
+ # begin with `https://` and should correspond to the `iss` claim in
2994
+ # the provider's OIDC ID tokens. Per the OIDC standard, path
2995
+ # components are allowed but query parameters are not. Typically the
2996
+ # URL consists of only a hostname, like `https://server.example.org`
2997
+ # or `https://example.com`. This URL should point to the level below
2998
+ # `.well-known/openid-configuration` and must be publicly accessible
2999
+ # over the internet.
3000
+ # @return [String]
3001
+ #
3002
+ # @!attribute [rw] client_id
3003
+ # This is also known as *audience*. The ID for the client application
3004
+ # that makes authentication requests to the OpenID identity provider.
3005
+ # @return [String]
3006
+ #
3007
+ # @!attribute [rw] username_claim
3008
+ # The JSON Web Token (JWT) claim to use as the username. The default
3009
+ # is `sub`, which is expected to be a unique identifier of the end
3010
+ # user. You can choose other claims, such as `email` or `name`,
3011
+ # depending on the OpenID identity provider. Claims other than `email`
3012
+ # are prefixed with the issuer URL to prevent naming clashes with
3013
+ # other plug-ins.
3014
+ # @return [String]
3015
+ #
3016
+ # @!attribute [rw] username_prefix
3017
+ # The prefix that is prepended to username claims to prevent clashes
3018
+ # with existing names. If you do not provide this field, and
3019
+ # `username` is a value other than `email`, the prefix defaults to
3020
+ # `issuerurl#`. You can use the value `-` to disable all prefixing.
3021
+ # @return [String]
3022
+ #
3023
+ # @!attribute [rw] groups_claim
3024
+ # The JWT claim that the provider uses to return your groups.
3025
+ # @return [String]
3026
+ #
3027
+ # @!attribute [rw] groups_prefix
3028
+ # The prefix that is prepended to group claims to prevent clashes with
3029
+ # existing names (such as `system:` groups). For example, the value`
3030
+ # oidc:` will create group names like `oidc:engineering` and
3031
+ # `oidc:infra`.
3032
+ # @return [String]
3033
+ #
3034
+ # @!attribute [rw] required_claims
3035
+ # The key value pairs that describe required claims in the identity
3036
+ # token. If set, each claim is verified to be present in the token
3037
+ # with a matching value. For the maximum number of claims that you can
3038
+ # require, see [Amazon EKS service quotas][1] in the *Amazon EKS User
3039
+ # Guide*.
3040
+ #
3041
+ #
3042
+ #
3043
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html
3044
+ # @return [Hash<String,String>]
3045
+ #
3046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/OidcIdentityProviderConfigRequest AWS API Documentation
3047
+ #
3048
+ class OidcIdentityProviderConfigRequest < Struct.new(
3049
+ :identity_provider_config_name,
3050
+ :issuer_url,
3051
+ :client_id,
3052
+ :username_claim,
3053
+ :username_prefix,
3054
+ :groups_claim,
3055
+ :groups_prefix,
3056
+ :required_claims)
3057
+ SENSITIVE = []
3058
+ include Aws::Structure
3059
+ end
3060
+
1980
3061
  # Identifies the AWS Key Management Service (AWS KMS) customer master
1981
3062
  # key (CMK) used to encrypt the secrets.
1982
3063
  #
@@ -2021,9 +3102,9 @@ module Aws::EKS
2021
3102
  #
2022
3103
  # @!attribute [rw] ec2_ssh_key
2023
3104
  # 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*.
3105
+ # with the nodes in the managed node group. For more information, see
3106
+ # [Amazon EC2 Key Pairs][1] in the *Amazon Elastic Compute Cloud User
3107
+ # Guide for Linux Instances*.
2027
3108
  #
2028
3109
  #
2029
3110
  #
@@ -2032,11 +3113,11 @@ module Aws::EKS
2032
3113
  #
2033
3114
  # @!attribute [rw] source_security_groups
2034
3115
  # 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*.
3116
+ # nodes. If you specify an Amazon EC2 SSH key but do not specify a
3117
+ # source security group when you create a managed node group, then
3118
+ # port 22 on the nodes is opened to the internet (0.0.0.0/0). For more
3119
+ # information, see [Security Groups for Your VPC][1] in the *Amazon
3120
+ # Virtual Private Cloud User Guide*.
2040
3121
  #
2041
3122
  #
2042
3123
  #
@@ -2062,6 +3143,9 @@ module Aws::EKS
2062
3143
  # The Amazon EKS managed node group associated with the exception.
2063
3144
  # @return [String]
2064
3145
  #
3146
+ # @!attribute [rw] addon_name
3147
+ # @return [String]
3148
+ #
2065
3149
  # @!attribute [rw] message
2066
3150
  # @return [String]
2067
3151
  #
@@ -2070,6 +3154,7 @@ module Aws::EKS
2070
3154
  class ResourceInUseException < Struct.new(
2071
3155
  :cluster_name,
2072
3156
  :nodegroup_name,
3157
+ :addon_name,
2073
3158
  :message)
2074
3159
  SENSITIVE = []
2075
3160
  include Aws::Structure
@@ -2115,6 +3200,9 @@ module Aws::EKS
2115
3200
  # The Fargate profile associated with the exception.
2116
3201
  # @return [String]
2117
3202
  #
3203
+ # @!attribute [rw] addon_name
3204
+ # @return [String]
3205
+ #
2118
3206
  # @!attribute [rw] message
2119
3207
  # @return [String]
2120
3208
  #
@@ -2124,6 +3212,7 @@ module Aws::EKS
2124
3212
  :cluster_name,
2125
3213
  :nodegroup_name,
2126
3214
  :fargate_profile_name,
3215
+ :addon_name,
2127
3216
  :message)
2128
3217
  SENSITIVE = []
2129
3218
  include Aws::Structure
@@ -2139,6 +3228,9 @@ module Aws::EKS
2139
3228
  # The Amazon EKS managed node group associated with the exception.
2140
3229
  # @return [String]
2141
3230
  #
3231
+ # @!attribute [rw] addon_name
3232
+ # @return [String]
3233
+ #
2142
3234
  # @!attribute [rw] message
2143
3235
  # @return [String]
2144
3236
  #
@@ -2147,6 +3239,7 @@ module Aws::EKS
2147
3239
  class ServerException < Struct.new(
2148
3240
  :cluster_name,
2149
3241
  :nodegroup_name,
3242
+ :addon_name,
2150
3243
  :message)
2151
3244
  SENSITIVE = []
2152
3245
  include Aws::Structure
@@ -2302,6 +3395,99 @@ module Aws::EKS
2302
3395
  include Aws::Structure
2303
3396
  end
2304
3397
 
3398
+ # @note When making an API call, you may pass UpdateAddonRequest
3399
+ # data as a hash:
3400
+ #
3401
+ # {
3402
+ # cluster_name: "ClusterName", # required
3403
+ # addon_name: "String", # required
3404
+ # addon_version: "String",
3405
+ # service_account_role_arn: "RoleArn",
3406
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
3407
+ # client_request_token: "String",
3408
+ # }
3409
+ #
3410
+ # @!attribute [rw] cluster_name
3411
+ # The name of the cluster.
3412
+ # @return [String]
3413
+ #
3414
+ # @!attribute [rw] addon_name
3415
+ # The name of the add-on. The name must match one of the names
3416
+ # returned by [ `ListAddons` ][1].
3417
+ #
3418
+ #
3419
+ #
3420
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
3421
+ # @return [String]
3422
+ #
3423
+ # @!attribute [rw] addon_version
3424
+ # The version of the add-on. The version must match one of the
3425
+ # versions returned by [ `DescribeAddonVersions` ][1].
3426
+ #
3427
+ #
3428
+ #
3429
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
3430
+ # @return [String]
3431
+ #
3432
+ # @!attribute [rw] service_account_role_arn
3433
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to
3434
+ # the add-on's service account. The role must be assigned the IAM
3435
+ # permissions required by the add-on. If you don't specify an
3436
+ # existing IAM role, then the add-on uses the permissions assigned to
3437
+ # the node IAM role. For more information, see [Amazon EKS node IAM
3438
+ # role][1] in the *Amazon EKS User Guide*.
3439
+ #
3440
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
3441
+ # (OIDC) provider created for your cluster. For more information, see
3442
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
3443
+ # *Amazon EKS User Guide*.
3444
+ #
3445
+ # </note>
3446
+ #
3447
+ #
3448
+ #
3449
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
3450
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
3451
+ # @return [String]
3452
+ #
3453
+ # @!attribute [rw] resolve_conflicts
3454
+ # How to resolve parameter value conflicts when applying the new
3455
+ # version of the add-on to the cluster.
3456
+ # @return [String]
3457
+ #
3458
+ # @!attribute [rw] client_request_token
3459
+ # Unique, case-sensitive identifier that you provide to ensure the
3460
+ # idempotency of the request.
3461
+ #
3462
+ # **A suitable default value is auto-generated.** You should normally
3463
+ # not need to pass this option.
3464
+ # @return [String]
3465
+ #
3466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddonRequest AWS API Documentation
3467
+ #
3468
+ class UpdateAddonRequest < Struct.new(
3469
+ :cluster_name,
3470
+ :addon_name,
3471
+ :addon_version,
3472
+ :service_account_role_arn,
3473
+ :resolve_conflicts,
3474
+ :client_request_token)
3475
+ SENSITIVE = []
3476
+ include Aws::Structure
3477
+ end
3478
+
3479
+ # @!attribute [rw] update
3480
+ # An object representing an asynchronous update.
3481
+ # @return [Types::Update]
3482
+ #
3483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddonResponse AWS API Documentation
3484
+ #
3485
+ class UpdateAddonResponse < Struct.new(
3486
+ :update)
3487
+ SENSITIVE = []
3488
+ include Aws::Structure
3489
+ end
3490
+
2305
3491
  # @note When making an API call, you may pass UpdateClusterConfigRequest
2306
3492
  # data as a hash:
2307
3493
  #
@@ -2575,15 +3761,15 @@ module Aws::EKS
2575
3761
  # @return [String]
2576
3762
  #
2577
3763
  # @!attribute [rw] release_version
2578
- # The AMI version of the Amazon EKS-optimized AMI to use for the
3764
+ # The AMI version of the Amazon EKS optimized AMI to use for the
2579
3765
  # update. By default, the latest available AMI version for the node
2580
3766
  # 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.
3767
+ # [Amazon EKS optimized Amazon Linux 2 AMI versions ][1] in the
3768
+ # *Amazon EKS User Guide*. If you specify `launchTemplate`, and your
3769
+ # launch template uses a custom AMI, then don't specify
3770
+ # `releaseVersion`, or the node group update will fail. For more
3771
+ # information about using launch templates with Amazon EKS, see
3772
+ # [Launch template support][2] in the Amazon EKS User Guide.
2587
3773
  #
2588
3774
  #
2589
3775
  #
@@ -2674,18 +3860,29 @@ module Aws::EKS
2674
3860
  # }
2675
3861
  #
2676
3862
  # @!attribute [rw] subnet_ids
2677
- # Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates
3863
+ # Specify subnets for your Amazon EKS nodes. Amazon EKS creates
2678
3864
  # cross-account elastic network interfaces in these subnets to allow
2679
- # communication between your worker nodes and the Kubernetes control
2680
- # plane.
3865
+ # communication between your nodes and the Kubernetes control plane.
2681
3866
  # @return [Array<String>]
2682
3867
  #
2683
3868
  # @!attribute [rw] security_group_ids
2684
3869
  # Specify one or more security groups for the cross-account elastic
2685
3870
  # 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.
3871
+ # communication between your nodes and the Kubernetes control plane.
3872
+ # If you don't specify any security groups, then familiarize yourself
3873
+ # with the difference between Amazon EKS defaults for clusters
3874
+ # deployed with Kubernetes:
3875
+ #
3876
+ # * 1\.14 Amazon EKS platform version `eks.2` and earlier
3877
+ #
3878
+ # * 1\.14 Amazon EKS platform version `eks.3` and later
3879
+ #
3880
+ # For more information, see [Amazon EKS security group
3881
+ # considerations][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
3882
+ #
3883
+ #
3884
+ #
3885
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
2689
3886
  # @return [Array<String>]
2690
3887
  #
2691
3888
  # @!attribute [rw] endpoint_public_access
@@ -2708,12 +3905,12 @@ module Aws::EKS
2708
3905
  # access, Kubernetes API requests from within your cluster's VPC use
2709
3906
  # the private VPC endpoint. The default value for this parameter is
2710
3907
  # `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>.
3908
+ # server. If you disable private access and you have nodes or AWS
3909
+ # Fargate pods in the cluster, then ensure that `publicAccessCidrs`
3910
+ # includes the necessary CIDR blocks for communication with the nodes
3911
+ # or Fargate pods. For more information, see [Amazon EKS Cluster
3912
+ # Endpoint Access Control][1] in the <i> <i>Amazon EKS User Guide</i>
3913
+ # </i>.
2717
3914
  #
2718
3915
  #
2719
3916
  #
@@ -2725,8 +3922,8 @@ module Aws::EKS
2725
3922
  # Kubernetes API server endpoint. Communication to the endpoint from
2726
3923
  # addresses outside of the CIDR blocks that you specify is denied. The
2727
3924
  # 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
3925
+ # access and you have nodes or AWS Fargate pods in the cluster, then
3926
+ # ensure that you specify the necessary CIDR blocks. For more
2730
3927
  # information, see [Amazon EKS Cluster Endpoint Access Control][1] in
2731
3928
  # the <i> <i>Amazon EKS User Guide</i> </i>.
2732
3929
  #
@@ -2757,7 +3954,7 @@ module Aws::EKS
2757
3954
  # @!attribute [rw] security_group_ids
2758
3955
  # The security groups associated with the cross-account elastic
2759
3956
  # network interfaces that are used to allow communication between your
2760
- # worker nodes and the Kubernetes control plane.
3957
+ # nodes and the Kubernetes control plane.
2761
3958
  # @return [Array<String>]
2762
3959
  #
2763
3960
  # @!attribute [rw] cluster_security_group_id
@@ -2782,12 +3979,12 @@ module Aws::EKS
2782
3979
  # endpoint is enabled. If the Amazon EKS private API server endpoint
2783
3980
  # is enabled, Kubernetes API requests that originate from within your
2784
3981
  # 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>.
3982
+ # the internet. If this value is disabled and you have nodes or AWS
3983
+ # Fargate pods in the cluster, then ensure that `publicAccessCidrs`
3984
+ # includes the necessary CIDR blocks for communication with the nodes
3985
+ # or Fargate pods. For more information, see [Amazon EKS Cluster
3986
+ # Endpoint Access Control][1] in the <i> <i>Amazon EKS User Guide</i>
3987
+ # </i>.
2791
3988
  #
2792
3989
  #
2793
3990
  #
@@ -2799,10 +3996,10 @@ module Aws::EKS
2799
3996
  # Kubernetes API server endpoint. Communication to the endpoint from
2800
3997
  # addresses outside of the listed CIDR blocks is denied. The default
2801
3998
  # 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>.
3999
+ # and you have nodes or AWS Fargate pods in the cluster, then ensure
4000
+ # that the necessary CIDR blocks are listed. For more information, see
4001
+ # [Amazon EKS Cluster Endpoint Access Control][1] in the <i> <i>Amazon
4002
+ # EKS User Guide</i> </i>.
2806
4003
  #
2807
4004
  #
2808
4005
  #