aws-sdk-eks 1.45.0 → 1.50.0

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