aws-sdk-eks 1.45.0 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,157 @@
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
+
13
164
  # An Auto Scaling group that is associated with an Amazon EKS managed
14
165
  # node group.
15
166
  #
@@ -71,6 +222,9 @@ module Aws::EKS
71
222
  # The Amazon EKS managed node group associated with the exception.
72
223
  # @return [String]
73
224
  #
225
+ # @!attribute [rw] addon_name
226
+ # @return [String]
227
+ #
74
228
  # @!attribute [rw] message
75
229
  # @return [String]
76
230
  #
@@ -79,6 +233,7 @@ module Aws::EKS
79
233
  class ClientException < Struct.new(
80
234
  :cluster_name,
81
235
  :nodegroup_name,
236
+ :addon_name,
82
237
  :message)
83
238
  SENSITIVE = []
84
239
  include Aws::Structure
@@ -127,7 +282,7 @@ module Aws::EKS
127
282
  # @return [Types::VpcConfigResponse]
128
283
  #
129
284
  # @!attribute [rw] kubernetes_network_config
130
- # Network configuration settings for your cluster.
285
+ # The Kubernetes network configuration for the cluster.
131
286
  # @return [Types::KubernetesNetworkConfigResponse]
132
287
  #
133
288
  # @!attribute [rw] logging
@@ -195,6 +350,133 @@ module Aws::EKS
195
350
  include Aws::Structure
196
351
  end
197
352
 
353
+ # Compatibility information.
354
+ #
355
+ # @!attribute [rw] cluster_version
356
+ # The supported Kubernetes version of the cluster.
357
+ # @return [String]
358
+ #
359
+ # @!attribute [rw] platform_versions
360
+ # The supported compute platform.
361
+ # @return [Array<String>]
362
+ #
363
+ # @!attribute [rw] default_version
364
+ # The supported default version.
365
+ # @return [Boolean]
366
+ #
367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Compatibility AWS API Documentation
368
+ #
369
+ class Compatibility < Struct.new(
370
+ :cluster_version,
371
+ :platform_versions,
372
+ :default_version)
373
+ SENSITIVE = []
374
+ include Aws::Structure
375
+ end
376
+
377
+ # @note When making an API call, you may pass CreateAddonRequest
378
+ # data as a hash:
379
+ #
380
+ # {
381
+ # cluster_name: "ClusterName", # required
382
+ # addon_name: "String", # required
383
+ # addon_version: "String",
384
+ # service_account_role_arn: "RoleArn",
385
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
386
+ # client_request_token: "String",
387
+ # tags: {
388
+ # "TagKey" => "TagValue",
389
+ # },
390
+ # }
391
+ #
392
+ # @!attribute [rw] cluster_name
393
+ # The name of the cluster to create the add-on for.
394
+ # @return [String]
395
+ #
396
+ # @!attribute [rw] addon_name
397
+ # The name of the add-on. The name must match one of the names
398
+ # returned by [ `ListAddons` ][1].
399
+ #
400
+ #
401
+ #
402
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
403
+ # @return [String]
404
+ #
405
+ # @!attribute [rw] addon_version
406
+ # The version of the add-on. The version must match one of the
407
+ # versions returned by [ `DescribeAddonVersions` ][1].
408
+ #
409
+ #
410
+ #
411
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
412
+ # @return [String]
413
+ #
414
+ # @!attribute [rw] service_account_role_arn
415
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to
416
+ # the add-on's service account. The role must be assigned the IAM
417
+ # permissions required by the add-on. If you don't specify an
418
+ # existing IAM role, then the add-on uses the permissions assigned to
419
+ # the node IAM role. For more information, see [Amazon EKS node IAM
420
+ # role][1] in the *Amazon EKS User Guide*.
421
+ #
422
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
423
+ # (OIDC) provider created for your cluster. For more information, see
424
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
425
+ # *Amazon EKS User Guide*.
426
+ #
427
+ # </note>
428
+ #
429
+ #
430
+ #
431
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
432
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
433
+ # @return [String]
434
+ #
435
+ # @!attribute [rw] resolve_conflicts
436
+ # How to resolve parameter value conflicts when migrating an existing
437
+ # add-on to an Amazon EKS add-on.
438
+ # @return [String]
439
+ #
440
+ # @!attribute [rw] client_request_token
441
+ # A unique, case-sensitive identifier that you provide to ensure the
442
+ # idempotency of the request.
443
+ #
444
+ # **A suitable default value is auto-generated.** You should normally
445
+ # not need to pass this option.
446
+ # @return [String]
447
+ #
448
+ # @!attribute [rw] tags
449
+ # The metadata to apply to the cluster to assist with categorization
450
+ # and organization. Each tag consists of a key and an optional value,
451
+ # both of which you define.
452
+ # @return [Hash<String,String>]
453
+ #
454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddonRequest AWS API Documentation
455
+ #
456
+ class CreateAddonRequest < Struct.new(
457
+ :cluster_name,
458
+ :addon_name,
459
+ :addon_version,
460
+ :service_account_role_arn,
461
+ :resolve_conflicts,
462
+ :client_request_token,
463
+ :tags)
464
+ SENSITIVE = []
465
+ include Aws::Structure
466
+ end
467
+
468
+ # @!attribute [rw] addon
469
+ # An Amazon EKS add-on.
470
+ # @return [Types::Addon]
471
+ #
472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddonResponse AWS API Documentation
473
+ #
474
+ class CreateAddonResponse < Struct.new(
475
+ :addon)
476
+ SENSITIVE = []
477
+ include Aws::Structure
478
+ end
479
+
198
480
  # @note When making an API call, you may pass CreateClusterRequest
199
481
  # data as a hash:
200
482
  #
@@ -470,6 +752,7 @@ module Aws::EKS
470
752
  # version: "String",
471
753
  # id: "String",
472
754
  # },
755
+ # capacity_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
473
756
  # version: "String",
474
757
  # release_version: "String",
475
758
  # }
@@ -516,25 +799,31 @@ module Aws::EKS
516
799
  # @return [Array<String>]
517
800
  #
518
801
  # @!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
802
+ # Specify the instance types for a node group. If you specify a GPU
803
+ # instance type, be sure to specify `AL2_x86_64_GPU` with the
804
+ # `amiType` parameter. If you specify `launchTemplate`, then you can
805
+ # specify zero or one instance type in your launch template *or* you
806
+ # can specify 0-20 instance types for `instanceTypes`. If however, you
807
+ # specify an instance type in your launch template *and* specify any
808
+ # `instanceTypes`, the node group deployment will fail. If you don't
809
+ # specify an instance type in a launch template or for
810
+ # `instanceTypes`, then `t3.medium` is used, by default. If you
811
+ # specify `Spot` for `capacityType`, then we recommend specifying
812
+ # multiple values for `instanceTypes`. For more information, see
813
+ # [Managed node group capacity types][1] and [Launch template
814
+ # support][2] in the *Amazon EKS User Guide*.
815
+ #
816
+ #
817
+ #
818
+ # [1]: https://docs.aws.amazon.com/managed-node-groups.html#managed-node-group-capacity-types
819
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
531
820
  # @return [Array<String>]
532
821
  #
533
822
  # @!attribute [rw] ami_type
534
823
  # The AMI type for your node group. GPU instance types should use the
535
824
  # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
536
825
  # `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
826
+ # type. All types use the Amazon EKS optimized Amazon Linux 2 AMI. If
538
827
  # you specify `launchTemplate`, and your launch template uses a custom
539
828
  # AMI, then don't specify `amiType`, or the node group deployment
540
829
  # will fail. For more information about using launch templates with
@@ -608,6 +897,10 @@ module Aws::EKS
608
897
  # meets the requirements in `launchTemplateSpecification`.
609
898
  # @return [Types::LaunchTemplateSpecification]
610
899
  #
900
+ # @!attribute [rw] capacity_type
901
+ # The capacity type for your node group.
902
+ # @return [String]
903
+ #
611
904
  # @!attribute [rw] version
612
905
  # The Kubernetes version to use for your managed nodes. By default,
613
906
  # the Kubernetes version of the cluster is used, and this is the only
@@ -623,15 +916,15 @@ module Aws::EKS
623
916
  # @return [String]
624
917
  #
625
918
  # @!attribute [rw] release_version
626
- # The AMI version of the Amazon EKS-optimized AMI to use with your
919
+ # The AMI version of the Amazon EKS optimized AMI to use with your
627
920
  # node group. By default, the latest available AMI version for the
628
921
  # 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.
922
+ # information, see [Amazon EKS optimized Amazon Linux 2 AMI
923
+ # versions][1] in the *Amazon EKS User Guide*. If you specify
924
+ # `launchTemplate`, and your launch template uses a custom AMI, then
925
+ # don't specify `releaseVersion`, or the node group deployment will
926
+ # fail. For more information about using launch templates with Amazon
927
+ # EKS, see [Launch template support][2] in the Amazon EKS User Guide.
635
928
  #
636
929
  #
637
930
  #
@@ -655,6 +948,7 @@ module Aws::EKS
655
948
  :tags,
656
949
  :client_request_token,
657
950
  :launch_template,
951
+ :capacity_type,
658
952
  :version,
659
953
  :release_version)
660
954
  SENSITIVE = []
@@ -673,6 +967,48 @@ module Aws::EKS
673
967
  include Aws::Structure
674
968
  end
675
969
 
970
+ # @note When making an API call, you may pass DeleteAddonRequest
971
+ # data as a hash:
972
+ #
973
+ # {
974
+ # cluster_name: "ClusterName", # required
975
+ # addon_name: "String", # required
976
+ # }
977
+ #
978
+ # @!attribute [rw] cluster_name
979
+ # The name of the cluster to delete the add-on from.
980
+ # @return [String]
981
+ #
982
+ # @!attribute [rw] addon_name
983
+ # The name of the add-on. The name must match one of the names
984
+ # returned by [ `ListAddons` ][1].
985
+ #
986
+ #
987
+ #
988
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
989
+ # @return [String]
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddonRequest AWS API Documentation
992
+ #
993
+ class DeleteAddonRequest < Struct.new(
994
+ :cluster_name,
995
+ :addon_name)
996
+ SENSITIVE = []
997
+ include Aws::Structure
998
+ end
999
+
1000
+ # @!attribute [rw] addon
1001
+ # An Amazon EKS add-on.
1002
+ # @return [Types::Addon]
1003
+ #
1004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddonResponse AWS API Documentation
1005
+ #
1006
+ class DeleteAddonResponse < Struct.new(
1007
+ :addon)
1008
+ SENSITIVE = []
1009
+ include Aws::Structure
1010
+ end
1011
+
676
1012
  # @note When making an API call, you may pass DeleteClusterRequest
677
1013
  # data as a hash:
678
1014
  #
@@ -780,6 +1116,128 @@ module Aws::EKS
780
1116
  include Aws::Structure
781
1117
  end
782
1118
 
1119
+ # @note When making an API call, you may pass DescribeAddonRequest
1120
+ # data as a hash:
1121
+ #
1122
+ # {
1123
+ # cluster_name: "ClusterName", # required
1124
+ # addon_name: "String", # required
1125
+ # }
1126
+ #
1127
+ # @!attribute [rw] cluster_name
1128
+ # The name of the cluster.
1129
+ # @return [String]
1130
+ #
1131
+ # @!attribute [rw] addon_name
1132
+ # The name of the add-on. The name must match one of the names
1133
+ # returned by [ `ListAddons` ][1].
1134
+ #
1135
+ #
1136
+ #
1137
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1138
+ # @return [String]
1139
+ #
1140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonRequest AWS API Documentation
1141
+ #
1142
+ class DescribeAddonRequest < Struct.new(
1143
+ :cluster_name,
1144
+ :addon_name)
1145
+ SENSITIVE = []
1146
+ include Aws::Structure
1147
+ end
1148
+
1149
+ # @!attribute [rw] addon
1150
+ # An Amazon EKS add-on.
1151
+ # @return [Types::Addon]
1152
+ #
1153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonResponse AWS API Documentation
1154
+ #
1155
+ class DescribeAddonResponse < Struct.new(
1156
+ :addon)
1157
+ SENSITIVE = []
1158
+ include Aws::Structure
1159
+ end
1160
+
1161
+ # @note When making an API call, you may pass DescribeAddonVersionsRequest
1162
+ # data as a hash:
1163
+ #
1164
+ # {
1165
+ # kubernetes_version: "String",
1166
+ # max_results: 1,
1167
+ # next_token: "String",
1168
+ # addon_name: "String",
1169
+ # }
1170
+ #
1171
+ # @!attribute [rw] kubernetes_version
1172
+ # The Kubernetes versions that the add-on can be used with.
1173
+ # @return [String]
1174
+ #
1175
+ # @!attribute [rw] max_results
1176
+ # The maximum number of results to return.
1177
+ # @return [Integer]
1178
+ #
1179
+ # @!attribute [rw] next_token
1180
+ # The `nextToken` value returned from a previous paginated
1181
+ # `DescribeAddonVersionsRequest` where `maxResults` was used and the
1182
+ # results exceeded the value of that parameter. Pagination continues
1183
+ # from the end of the previous results that returned the `nextToken`
1184
+ # value.
1185
+ #
1186
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1187
+ # only to retrieve the next items in a list and not for other
1188
+ # programmatic purposes.
1189
+ #
1190
+ # </note>
1191
+ # @return [String]
1192
+ #
1193
+ # @!attribute [rw] addon_name
1194
+ # The name of the add-on. The name must match one of the names
1195
+ # returned by [ `ListAddons` ][1].
1196
+ #
1197
+ #
1198
+ #
1199
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1200
+ # @return [String]
1201
+ #
1202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersionsRequest AWS API Documentation
1203
+ #
1204
+ class DescribeAddonVersionsRequest < Struct.new(
1205
+ :kubernetes_version,
1206
+ :max_results,
1207
+ :next_token,
1208
+ :addon_name)
1209
+ SENSITIVE = []
1210
+ include Aws::Structure
1211
+ end
1212
+
1213
+ # @!attribute [rw] addons
1214
+ # The list of available versions with Kubernetes version
1215
+ # compatibility.
1216
+ # @return [Array<Types::AddonInfo>]
1217
+ #
1218
+ # @!attribute [rw] next_token
1219
+ # The `nextToken` value returned from a previous paginated
1220
+ # `DescribeAddonVersionsResponse` where `maxResults` was used and the
1221
+ # results exceeded the value of that parameter. Pagination continues
1222
+ # from the end of the previous results that returned the `nextToken`
1223
+ # value.
1224
+ #
1225
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1226
+ # only to retrieve the next items in a list and not for other
1227
+ # programmatic purposes.
1228
+ #
1229
+ # </note>
1230
+ # @return [String]
1231
+ #
1232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersionsResponse AWS API Documentation
1233
+ #
1234
+ class DescribeAddonVersionsResponse < Struct.new(
1235
+ :addons,
1236
+ :next_token)
1237
+ SENSITIVE = []
1238
+ include Aws::Structure
1239
+ end
1240
+
783
1241
  # @note When making an API call, you may pass DescribeClusterRequest
784
1242
  # data as a hash:
785
1243
  #
@@ -893,6 +1351,7 @@ module Aws::EKS
893
1351
  # name: "String", # required
894
1352
  # update_id: "String", # required
895
1353
  # nodegroup_name: "String",
1354
+ # addon_name: "String",
896
1355
  # }
897
1356
  #
898
1357
  # @!attribute [rw] name
@@ -907,12 +1366,22 @@ module Aws::EKS
907
1366
  # The name of the Amazon EKS node group associated with the update.
908
1367
  # @return [String]
909
1368
  #
1369
+ # @!attribute [rw] addon_name
1370
+ # The name of the add-on. The name must match one of the names
1371
+ # returned by [ `ListAddons` ][1].
1372
+ #
1373
+ #
1374
+ #
1375
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
1376
+ # @return [String]
1377
+ #
910
1378
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdateRequest AWS API Documentation
911
1379
  #
912
1380
  class DescribeUpdateRequest < Struct.new(
913
1381
  :name,
914
1382
  :update_id,
915
- :nodegroup_name)
1383
+ :nodegroup_name,
1384
+ :addon_name)
916
1385
  SENSITIVE = []
917
1386
  include Aws::Structure
918
1387
  end
@@ -1140,6 +1609,9 @@ module Aws::EKS
1140
1609
  # The Fargate profile associated with the exception.
1141
1610
  # @return [String]
1142
1611
  #
1612
+ # @!attribute [rw] addon_name
1613
+ # @return [String]
1614
+ #
1143
1615
  # @!attribute [rw] message
1144
1616
  # @return [String]
1145
1617
  #
@@ -1149,6 +1621,7 @@ module Aws::EKS
1149
1621
  :cluster_name,
1150
1622
  :nodegroup_name,
1151
1623
  :fargate_profile_name,
1624
+ :addon_name,
1152
1625
  :message)
1153
1626
  SENSITIVE = []
1154
1627
  include Aws::Structure
@@ -1165,6 +1638,9 @@ module Aws::EKS
1165
1638
  # The Amazon EKS managed node group associated with the exception.
1166
1639
  # @return [String]
1167
1640
  #
1641
+ # @!attribute [rw] addon_name
1642
+ # @return [String]
1643
+ #
1168
1644
  # @!attribute [rw] message
1169
1645
  # @return [String]
1170
1646
  #
@@ -1173,6 +1649,7 @@ module Aws::EKS
1173
1649
  class InvalidRequestException < Struct.new(
1174
1650
  :cluster_name,
1175
1651
  :nodegroup_name,
1652
+ :addon_name,
1176
1653
  :message)
1177
1654
  SENSITIVE = []
1178
1655
  include Aws::Structure
@@ -1183,16 +1660,21 @@ module Aws::EKS
1183
1660
  # @!attribute [rw] code
1184
1661
  # A brief description of the error.
1185
1662
  #
1663
+ # * **AccessDenied**\: Amazon EKS or one or more of your managed nodes
1664
+ # is failing to authenticate or authorize with your Kubernetes
1665
+ # cluster API server.
1666
+ #
1667
+ # * **AsgInstanceLaunchFailures**\: Your Auto Scaling group is
1668
+ # experiencing failures while attempting to launch instances.
1669
+ #
1186
1670
  # * **AutoScalingGroupNotFound**\: We couldn't find the Auto Scaling
1187
1671
  # group associated with the managed node group. You may be able to
1188
1672
  # recreate an Auto Scaling group with the same settings to recover.
1189
1673
  #
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.
1674
+ # * **ClusterUnreachable**\: Amazon EKS or one or more of your managed
1675
+ # nodes is unable to to communicate with your Kubernetes cluster API
1676
+ # server. This can happen if there are network disruptions or if API
1677
+ # servers are timing out processing requests.
1196
1678
  #
1197
1679
  # * **Ec2LaunchTemplateNotFound**\: We couldn't find the Amazon EC2
1198
1680
  # launch template for your managed node group. You may be able to
@@ -1203,6 +1685,13 @@ module Aws::EKS
1203
1685
  # version that Amazon EKS created. You may be able to revert to the
1204
1686
  # version that Amazon EKS created to recover.
1205
1687
  #
1688
+ # * **Ec2SecurityGroupDeletionFailure**\: We could not delete the
1689
+ # remote access security group for your managed node group. Remove
1690
+ # any dependencies from the security group.
1691
+ #
1692
+ # * **Ec2SecurityGroupNotFound**\: We couldn't find the cluster
1693
+ # security group for the cluster. You must recreate your cluster.
1694
+ #
1206
1695
  # * **Ec2SubnetInvalidConfiguration**\: One or more Amazon EC2 subnets
1207
1696
  # specified for a node group do not automatically assign public IP
1208
1697
  # addresses to instances launched into it. If you want your
@@ -1219,14 +1708,6 @@ module Aws::EKS
1219
1708
  # managed node group. You may be able to recreate an IAM role with
1220
1709
  # the same settings to recover.
1221
1710
  #
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
1711
  # * **InstanceLimitExceeded**\: Your AWS account is unable to launch
1231
1712
  # any more instances of the specified instance type. You may be able
1232
1713
  # to request an Amazon EC2 instance limit increase to recover.
@@ -1235,12 +1716,14 @@ module Aws::EKS
1235
1716
  # associated with your managed node group does not have enough
1236
1717
  # available IP addresses for new nodes.
1237
1718
  #
1238
- # * **AccessDenied**\: Amazon EKS or one or more of your managed nodes
1239
- # is unable to communicate with your cluster API server.
1240
- #
1241
1719
  # * **InternalFailure**\: These errors are usually caused by an Amazon
1242
1720
  # EKS server-side issue.
1243
1721
  #
1722
+ # * **NodeCreationFailure**\: Your launched instances are unable to
1723
+ # register with your Amazon EKS cluster. Common causes of this
1724
+ # failure are insufficient [worker node IAM role][2] permissions or
1725
+ # lack of outbound internet access for the nodes.
1726
+ #
1244
1727
  #
1245
1728
  #
1246
1729
  # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip
@@ -1306,10 +1789,11 @@ module Aws::EKS
1306
1789
  #
1307
1790
  # @!attribute [rw] service_ipv_4_cidr
1308
1791
  # 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.
1792
+ # from. If you didn't specify a CIDR block when you created the
1793
+ # cluster, then Kubernetes assigns addresses from either the
1794
+ # 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. If this was specified,
1795
+ # then it was specified when the cluster was created and it cannot be
1796
+ # changed.
1313
1797
  # @return [String]
1314
1798
  #
1315
1799
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/KubernetesNetworkConfigResponse AWS API Documentation
@@ -1374,6 +1858,80 @@ module Aws::EKS
1374
1858
  include Aws::Structure
1375
1859
  end
1376
1860
 
1861
+ # @note When making an API call, you may pass ListAddonsRequest
1862
+ # data as a hash:
1863
+ #
1864
+ # {
1865
+ # cluster_name: "ClusterName", # required
1866
+ # max_results: 1,
1867
+ # next_token: "String",
1868
+ # }
1869
+ #
1870
+ # @!attribute [rw] cluster_name
1871
+ # The name of the cluster.
1872
+ # @return [String]
1873
+ #
1874
+ # @!attribute [rw] max_results
1875
+ # The maximum number of add-on results returned by `ListAddonsRequest`
1876
+ # in paginated output. When you use this parameter,
1877
+ # `ListAddonsRequest` returns only `maxResults` results in a single
1878
+ # page along with a `nextToken` response element. You can see the
1879
+ # remaining results of the initial request by sending another
1880
+ # `ListAddonsRequest` request with the returned `nextToken` value.
1881
+ # This value can be between 1 and 100. If you don't use this
1882
+ # parameter, `ListAddonsRequest` returns up to 100 results and a
1883
+ # `nextToken` value, if applicable.
1884
+ # @return [Integer]
1885
+ #
1886
+ # @!attribute [rw] next_token
1887
+ # The `nextToken` value returned from a previous paginated
1888
+ # `ListAddonsRequest` where `maxResults` was used and the results
1889
+ # exceeded the value of that parameter. Pagination continues from the
1890
+ # end of the previous results that returned the `nextToken` value.
1891
+ #
1892
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1893
+ # only to retrieve the next items in a list and not for other
1894
+ # programmatic purposes.
1895
+ #
1896
+ # </note>
1897
+ # @return [String]
1898
+ #
1899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddonsRequest AWS API Documentation
1900
+ #
1901
+ class ListAddonsRequest < Struct.new(
1902
+ :cluster_name,
1903
+ :max_results,
1904
+ :next_token)
1905
+ SENSITIVE = []
1906
+ include Aws::Structure
1907
+ end
1908
+
1909
+ # @!attribute [rw] addons
1910
+ # A list of available add-ons.
1911
+ # @return [Array<String>]
1912
+ #
1913
+ # @!attribute [rw] next_token
1914
+ # The `nextToken` value returned from a previous paginated
1915
+ # `ListAddonsResponse` where `maxResults` was used and the results
1916
+ # exceeded the value of that parameter. Pagination continues from the
1917
+ # end of the previous results that returned the `nextToken` value.
1918
+ #
1919
+ # <note markdown="1"> This token should be treated as an opaque identifier that is used
1920
+ # only to retrieve the next items in a list and not for other
1921
+ # programmatic purposes.
1922
+ #
1923
+ # </note>
1924
+ # @return [String]
1925
+ #
1926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddonsResponse AWS API Documentation
1927
+ #
1928
+ class ListAddonsResponse < Struct.new(
1929
+ :addons,
1930
+ :next_token)
1931
+ SENSITIVE = []
1932
+ include Aws::Structure
1933
+ end
1934
+
1377
1935
  # @note When making an API call, you may pass ListClustersRequest
1378
1936
  # data as a hash:
1379
1937
  #
@@ -1606,6 +2164,7 @@ module Aws::EKS
1606
2164
  # {
1607
2165
  # name: "String", # required
1608
2166
  # nodegroup_name: "String",
2167
+ # addon_name: "String",
1609
2168
  # next_token: "String",
1610
2169
  # max_results: 1,
1611
2170
  # }
@@ -1618,6 +2177,10 @@ module Aws::EKS
1618
2177
  # The name of the Amazon EKS managed node group to list updates for.
1619
2178
  # @return [String]
1620
2179
  #
2180
+ # @!attribute [rw] addon_name
2181
+ # The names of the installed add-ons that have available updates.
2182
+ # @return [String]
2183
+ #
1621
2184
  # @!attribute [rw] next_token
1622
2185
  # The `nextToken` value returned from a previous paginated
1623
2186
  # `ListUpdates` request where `maxResults` was used and the results
@@ -1641,6 +2204,7 @@ module Aws::EKS
1641
2204
  class ListUpdatesRequest < Struct.new(
1642
2205
  :name,
1643
2206
  :nodegroup_name,
2207
+ :addon_name,
1644
2208
  :next_token,
1645
2209
  :max_results)
1646
2210
  SENSITIVE = []
@@ -1748,7 +2312,7 @@ module Aws::EKS
1748
2312
  # If the node group was deployed using a launch template with a custom
1749
2313
  # AMI, then this is the AMI ID that was specified in the launch
1750
2314
  # template. For node groups that weren't deployed using a launch
1751
- # template, this is the version of the Amazon EKS-optimized AMI that
2315
+ # template, this is the version of the Amazon EKS optimized AMI that
1752
2316
  # the node group was deployed with.
1753
2317
  # @return [String]
1754
2318
  #
@@ -1766,6 +2330,10 @@ module Aws::EKS
1766
2330
  # The current status of the managed node group.
1767
2331
  # @return [String]
1768
2332
  #
2333
+ # @!attribute [rw] capacity_type
2334
+ # The capacity type of your managed node group.
2335
+ # @return [String]
2336
+ #
1769
2337
  # @!attribute [rw] scaling_config
1770
2338
  # The scaling configuration details for the Auto Scaling group that is
1771
2339
  # associated with your node group.
@@ -1853,6 +2421,7 @@ module Aws::EKS
1853
2421
  :created_at,
1854
2422
  :modified_at,
1855
2423
  :status,
2424
+ :capacity_type,
1856
2425
  :scaling_config,
1857
2426
  :instance_types,
1858
2427
  :subnets,
@@ -2062,6 +2631,9 @@ module Aws::EKS
2062
2631
  # The Amazon EKS managed node group associated with the exception.
2063
2632
  # @return [String]
2064
2633
  #
2634
+ # @!attribute [rw] addon_name
2635
+ # @return [String]
2636
+ #
2065
2637
  # @!attribute [rw] message
2066
2638
  # @return [String]
2067
2639
  #
@@ -2070,6 +2642,7 @@ module Aws::EKS
2070
2642
  class ResourceInUseException < Struct.new(
2071
2643
  :cluster_name,
2072
2644
  :nodegroup_name,
2645
+ :addon_name,
2073
2646
  :message)
2074
2647
  SENSITIVE = []
2075
2648
  include Aws::Structure
@@ -2115,6 +2688,9 @@ module Aws::EKS
2115
2688
  # The Fargate profile associated with the exception.
2116
2689
  # @return [String]
2117
2690
  #
2691
+ # @!attribute [rw] addon_name
2692
+ # @return [String]
2693
+ #
2118
2694
  # @!attribute [rw] message
2119
2695
  # @return [String]
2120
2696
  #
@@ -2124,6 +2700,7 @@ module Aws::EKS
2124
2700
  :cluster_name,
2125
2701
  :nodegroup_name,
2126
2702
  :fargate_profile_name,
2703
+ :addon_name,
2127
2704
  :message)
2128
2705
  SENSITIVE = []
2129
2706
  include Aws::Structure
@@ -2139,6 +2716,9 @@ module Aws::EKS
2139
2716
  # The Amazon EKS managed node group associated with the exception.
2140
2717
  # @return [String]
2141
2718
  #
2719
+ # @!attribute [rw] addon_name
2720
+ # @return [String]
2721
+ #
2142
2722
  # @!attribute [rw] message
2143
2723
  # @return [String]
2144
2724
  #
@@ -2147,6 +2727,7 @@ module Aws::EKS
2147
2727
  class ServerException < Struct.new(
2148
2728
  :cluster_name,
2149
2729
  :nodegroup_name,
2730
+ :addon_name,
2150
2731
  :message)
2151
2732
  SENSITIVE = []
2152
2733
  include Aws::Structure
@@ -2302,6 +2883,99 @@ module Aws::EKS
2302
2883
  include Aws::Structure
2303
2884
  end
2304
2885
 
2886
+ # @note When making an API call, you may pass UpdateAddonRequest
2887
+ # data as a hash:
2888
+ #
2889
+ # {
2890
+ # cluster_name: "ClusterName", # required
2891
+ # addon_name: "String", # required
2892
+ # addon_version: "String",
2893
+ # service_account_role_arn: "RoleArn",
2894
+ # resolve_conflicts: "OVERWRITE", # accepts OVERWRITE, NONE
2895
+ # client_request_token: "String",
2896
+ # }
2897
+ #
2898
+ # @!attribute [rw] cluster_name
2899
+ # The name of the cluster.
2900
+ # @return [String]
2901
+ #
2902
+ # @!attribute [rw] addon_name
2903
+ # The name of the add-on. The name must match one of the names
2904
+ # returned by [ `ListAddons` ][1].
2905
+ #
2906
+ #
2907
+ #
2908
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html
2909
+ # @return [String]
2910
+ #
2911
+ # @!attribute [rw] addon_version
2912
+ # The version of the add-on. The version must match one of the
2913
+ # versions returned by [ `DescribeAddonVersions` ][1].
2914
+ #
2915
+ #
2916
+ #
2917
+ # [1]: https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html
2918
+ # @return [String]
2919
+ #
2920
+ # @!attribute [rw] service_account_role_arn
2921
+ # The Amazon Resource Name (ARN) of an existing IAM role to bind to
2922
+ # the add-on's service account. The role must be assigned the IAM
2923
+ # permissions required by the add-on. If you don't specify an
2924
+ # existing IAM role, then the add-on uses the permissions assigned to
2925
+ # the node IAM role. For more information, see [Amazon EKS node IAM
2926
+ # role][1] in the *Amazon EKS User Guide*.
2927
+ #
2928
+ # <note markdown="1"> To specify an existing IAM role, you must have an IAM OpenID Connect
2929
+ # (OIDC) provider created for your cluster. For more information, see
2930
+ # [Enabling IAM roles for service accounts on your cluster][2] in the
2931
+ # *Amazon EKS User Guide*.
2932
+ #
2933
+ # </note>
2934
+ #
2935
+ #
2936
+ #
2937
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
2938
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
2939
+ # @return [String]
2940
+ #
2941
+ # @!attribute [rw] resolve_conflicts
2942
+ # How to resolve parameter value conflicts when applying the new
2943
+ # version of the add-on to the cluster.
2944
+ # @return [String]
2945
+ #
2946
+ # @!attribute [rw] client_request_token
2947
+ # Unique, case-sensitive identifier that you provide to ensure the
2948
+ # idempotency of the request.
2949
+ #
2950
+ # **A suitable default value is auto-generated.** You should normally
2951
+ # not need to pass this option.
2952
+ # @return [String]
2953
+ #
2954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddonRequest AWS API Documentation
2955
+ #
2956
+ class UpdateAddonRequest < Struct.new(
2957
+ :cluster_name,
2958
+ :addon_name,
2959
+ :addon_version,
2960
+ :service_account_role_arn,
2961
+ :resolve_conflicts,
2962
+ :client_request_token)
2963
+ SENSITIVE = []
2964
+ include Aws::Structure
2965
+ end
2966
+
2967
+ # @!attribute [rw] update
2968
+ # An object representing an asynchronous update.
2969
+ # @return [Types::Update]
2970
+ #
2971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddonResponse AWS API Documentation
2972
+ #
2973
+ class UpdateAddonResponse < Struct.new(
2974
+ :update)
2975
+ SENSITIVE = []
2976
+ include Aws::Structure
2977
+ end
2978
+
2305
2979
  # @note When making an API call, you may pass UpdateClusterConfigRequest
2306
2980
  # data as a hash:
2307
2981
  #
@@ -2575,15 +3249,15 @@ module Aws::EKS
2575
3249
  # @return [String]
2576
3250
  #
2577
3251
  # @!attribute [rw] release_version
2578
- # The AMI version of the Amazon EKS-optimized AMI to use for the
3252
+ # The AMI version of the Amazon EKS optimized AMI to use for the
2579
3253
  # update. By default, the latest available AMI version for the node
2580
3254
  # 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.
3255
+ # [Amazon EKS optimized Amazon Linux 2 AMI versions ][1] in the
3256
+ # *Amazon EKS User Guide*. If you specify `launchTemplate`, and your
3257
+ # launch template uses a custom AMI, then don't specify
3258
+ # `releaseVersion`, or the node group update will fail. For more
3259
+ # information about using launch templates with Amazon EKS, see
3260
+ # [Launch template support][2] in the Amazon EKS User Guide.
2587
3261
  #
2588
3262
  #
2589
3263
  #
@@ -2684,8 +3358,20 @@ module Aws::EKS
2684
3358
  # Specify one or more security groups for the cross-account elastic
2685
3359
  # network interfaces that Amazon EKS creates to use to allow
2686
3360
  # 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.
3361
+ # plane. If you don't specify any security groups, then familiarize
3362
+ # yourself with the difference between Amazon EKS defaults for
3363
+ # clusters deployed with Kubernetes:
3364
+ #
3365
+ # * 1\.14 Amazon EKS platform version `eks.2` and earlier
3366
+ #
3367
+ # * 1\.14 Amazon EKS platform version `eks.3` and later
3368
+ #
3369
+ # For more information, see [Amazon EKS security group
3370
+ # considerations][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
3371
+ #
3372
+ #
3373
+ #
3374
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
2689
3375
  # @return [Array<String>]
2690
3376
  #
2691
3377
  # @!attribute [rw] endpoint_public_access