aws-sdk-eks 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,21 @@
8
8
  module Aws::EKS
9
9
  module Types
10
10
 
11
+ # An AutoScaling group that is associated with an Amazon EKS managed
12
+ # node group.
13
+ #
14
+ # @!attribute [rw] name
15
+ # The name of the AutoScaling group associated with an Amazon EKS
16
+ # managed node group.
17
+ # @return [String]
18
+ #
19
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AutoScalingGroup AWS API Documentation
20
+ #
21
+ class AutoScalingGroup < Struct.new(
22
+ :name)
23
+ include Aws::Structure
24
+ end
25
+
11
26
  # This exception is thrown if the request contains a semantic error. The
12
27
  # precise meaning will depend on the API, and will be documented in the
13
28
  # error message.
@@ -47,6 +62,9 @@ module Aws::EKS
47
62
  # The Amazon EKS cluster associated with the exception.
48
63
  # @return [String]
49
64
  #
65
+ # @!attribute [rw] nodegroup_name
66
+ # @return [String]
67
+ #
50
68
  # @!attribute [rw] message
51
69
  # @return [String]
52
70
  #
@@ -54,6 +72,7 @@ module Aws::EKS
54
72
  #
55
73
  class ClientException < Struct.new(
56
74
  :cluster_name,
75
+ :nodegroup_name,
57
76
  :message)
58
77
  include Aws::Structure
59
78
  end
@@ -134,7 +153,8 @@ module Aws::EKS
134
153
  # @!attribute [rw] tags
135
154
  # The metadata that you apply to the cluster to assist with
136
155
  # categorization and organization. Each tag consists of a key and an
137
- # optional value, both of which you define.
156
+ # optional value, both of which you define. Cluster tags do not
157
+ # propagate to any other resources associated with the cluster.
138
158
  # @return [Hash<String,String>]
139
159
  #
140
160
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Cluster AWS API Documentation
@@ -277,6 +297,166 @@ module Aws::EKS
277
297
  include Aws::Structure
278
298
  end
279
299
 
300
+ # @note When making an API call, you may pass CreateNodegroupRequest
301
+ # data as a hash:
302
+ #
303
+ # {
304
+ # cluster_name: "String", # required
305
+ # nodegroup_name: "String", # required
306
+ # scaling_config: {
307
+ # min_size: 1,
308
+ # max_size: 1,
309
+ # desired_size: 1,
310
+ # },
311
+ # disk_size: 1,
312
+ # subnets: ["String"], # required
313
+ # instance_types: ["String"],
314
+ # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU
315
+ # remote_access: {
316
+ # ec2_ssh_key: "String",
317
+ # source_security_groups: ["String"],
318
+ # },
319
+ # node_role: "String", # required
320
+ # labels: {
321
+ # "labelKey" => "labelValue",
322
+ # },
323
+ # tags: {
324
+ # "TagKey" => "TagValue",
325
+ # },
326
+ # client_request_token: "String",
327
+ # version: "String",
328
+ # release_version: "String",
329
+ # }
330
+ #
331
+ # @!attribute [rw] cluster_name
332
+ # The name of the cluster to create the node group in.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] nodegroup_name
336
+ # The unique name to give your node group.
337
+ # @return [String]
338
+ #
339
+ # @!attribute [rw] scaling_config
340
+ # The scaling configuration details for the AutoScaling group that is
341
+ # created for your node group.
342
+ # @return [Types::NodegroupScalingConfig]
343
+ #
344
+ # @!attribute [rw] disk_size
345
+ # The root device disk size (in GiB) for your node group instances.
346
+ # The default disk size is 20 GiB.
347
+ # @return [Integer]
348
+ #
349
+ # @!attribute [rw] subnets
350
+ # The subnets to use for the AutoScaling group that is created for
351
+ # your node group. These subnets must have the tag key
352
+ # `kubernetes.io/cluster/CLUSTER_NAME` with a value of `shared`, where
353
+ # `CLUSTER_NAME` is replaced with the name of your cluster.
354
+ # @return [Array<String>]
355
+ #
356
+ # @!attribute [rw] instance_types
357
+ # The instance type to use for your node group. Currently, you can
358
+ # specify a single instance type for a node group. The default value
359
+ # for this parameter is `t3.medium`. If you choose a GPU instance
360
+ # type, be sure to specify the `AL2_x86_64_GPU` with the `amiType`
361
+ # parameter.
362
+ # @return [Array<String>]
363
+ #
364
+ # @!attribute [rw] ami_type
365
+ # The AMI type for your node group. GPU instance types should use the
366
+ # `AL2_x86_64_GPU` AMI type, which uses the Amazon EKS-optimized Linux
367
+ # AMI with GPU support; non-GPU instances should use the `AL2_x86_64`
368
+ # AMI type, which uses the Amazon EKS-optimized Linux AMI.
369
+ # @return [String]
370
+ #
371
+ # @!attribute [rw] remote_access
372
+ # The remote access (SSH) configuration to use with your node group.
373
+ # @return [Types::RemoteAccessConfig]
374
+ #
375
+ # @!attribute [rw] node_role
376
+ # The IAM role associated with your node group. The Amazon EKS worker
377
+ # node `kubelet` daemon makes calls to AWS APIs on your behalf. Worker
378
+ # nodes receive permissions for these API calls through an IAM
379
+ # instance profile and associated policies. Before you can launch
380
+ # worker nodes and register them into a cluster, you must create an
381
+ # IAM role for those worker nodes to use when they are launched. For
382
+ # more information, see [Amazon EKS Worker Node IAM Role][1] in the
383
+ # <i> <i>Amazon EKS User Guide</i> </i>.
384
+ #
385
+ #
386
+ #
387
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
388
+ # @return [String]
389
+ #
390
+ # @!attribute [rw] labels
391
+ # The Kubernetes labels to be applied to the nodes in the node group
392
+ # when they are created.
393
+ # @return [Hash<String,String>]
394
+ #
395
+ # @!attribute [rw] tags
396
+ # The metadata to apply to the node group to assist with
397
+ # categorization and organization. Each tag consists of a key and an
398
+ # optional value, both of which you define. Node group tags do not
399
+ # propagate to any other resources associated with the node group,
400
+ # such as the Amazon EC2 instances or subnets.
401
+ # @return [Hash<String,String>]
402
+ #
403
+ # @!attribute [rw] client_request_token
404
+ # Unique, case-sensitive identifier that you provide to ensure the
405
+ # idempotency of the request.
406
+ #
407
+ # **A suitable default value is auto-generated.** You should normally
408
+ # not need to pass this option.
409
+ # @return [String]
410
+ #
411
+ # @!attribute [rw] version
412
+ # The Kubernetes version to use for your managed nodes. By default,
413
+ # the Kubernetes version of the cluster is used, and this is the only
414
+ # accepted specified value.
415
+ # @return [String]
416
+ #
417
+ # @!attribute [rw] release_version
418
+ # The AMI version of the Amazon EKS-optimized AMI to use with your
419
+ # node group. By default, the latest available AMI version for the
420
+ # node group's current Kubernetes version is used. For more
421
+ # information, see [Amazon EKS-Optimized Linux AMI Versions][1] in the
422
+ # *Amazon EKS User Guide*.
423
+ #
424
+ #
425
+ #
426
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
427
+ # @return [String]
428
+ #
429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroupRequest AWS API Documentation
430
+ #
431
+ class CreateNodegroupRequest < Struct.new(
432
+ :cluster_name,
433
+ :nodegroup_name,
434
+ :scaling_config,
435
+ :disk_size,
436
+ :subnets,
437
+ :instance_types,
438
+ :ami_type,
439
+ :remote_access,
440
+ :node_role,
441
+ :labels,
442
+ :tags,
443
+ :client_request_token,
444
+ :version,
445
+ :release_version)
446
+ include Aws::Structure
447
+ end
448
+
449
+ # @!attribute [rw] nodegroup
450
+ # The full description of your new node group.
451
+ # @return [Types::Nodegroup]
452
+ #
453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroupResponse AWS API Documentation
454
+ #
455
+ class CreateNodegroupResponse < Struct.new(
456
+ :nodegroup)
457
+ include Aws::Structure
458
+ end
459
+
280
460
  # @note When making an API call, you may pass DeleteClusterRequest
281
461
  # data as a hash:
282
462
  #
@@ -306,6 +486,42 @@ module Aws::EKS
306
486
  include Aws::Structure
307
487
  end
308
488
 
489
+ # @note When making an API call, you may pass DeleteNodegroupRequest
490
+ # data as a hash:
491
+ #
492
+ # {
493
+ # cluster_name: "String", # required
494
+ # nodegroup_name: "String", # required
495
+ # }
496
+ #
497
+ # @!attribute [rw] cluster_name
498
+ # The name of the Amazon EKS cluster that is associated with your node
499
+ # group.
500
+ # @return [String]
501
+ #
502
+ # @!attribute [rw] nodegroup_name
503
+ # The name of the node group to delete.
504
+ # @return [String]
505
+ #
506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroupRequest AWS API Documentation
507
+ #
508
+ class DeleteNodegroupRequest < Struct.new(
509
+ :cluster_name,
510
+ :nodegroup_name)
511
+ include Aws::Structure
512
+ end
513
+
514
+ # @!attribute [rw] nodegroup
515
+ # The full description of your deleted node group.
516
+ # @return [Types::Nodegroup]
517
+ #
518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroupResponse AWS API Documentation
519
+ #
520
+ class DeleteNodegroupResponse < Struct.new(
521
+ :nodegroup)
522
+ include Aws::Structure
523
+ end
524
+
309
525
  # @note When making an API call, you may pass DescribeClusterRequest
310
526
  # data as a hash:
311
527
  #
@@ -335,27 +551,68 @@ module Aws::EKS
335
551
  include Aws::Structure
336
552
  end
337
553
 
554
+ # @note When making an API call, you may pass DescribeNodegroupRequest
555
+ # data as a hash:
556
+ #
557
+ # {
558
+ # cluster_name: "String", # required
559
+ # nodegroup_name: "String", # required
560
+ # }
561
+ #
562
+ # @!attribute [rw] cluster_name
563
+ # The name of the Amazon EKS cluster associated with the node group.
564
+ # @return [String]
565
+ #
566
+ # @!attribute [rw] nodegroup_name
567
+ # The name of the node group to describe.
568
+ # @return [String]
569
+ #
570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroupRequest AWS API Documentation
571
+ #
572
+ class DescribeNodegroupRequest < Struct.new(
573
+ :cluster_name,
574
+ :nodegroup_name)
575
+ include Aws::Structure
576
+ end
577
+
578
+ # @!attribute [rw] nodegroup
579
+ # The full description of your node group.
580
+ # @return [Types::Nodegroup]
581
+ #
582
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroupResponse AWS API Documentation
583
+ #
584
+ class DescribeNodegroupResponse < Struct.new(
585
+ :nodegroup)
586
+ include Aws::Structure
587
+ end
588
+
338
589
  # @note When making an API call, you may pass DescribeUpdateRequest
339
590
  # data as a hash:
340
591
  #
341
592
  # {
342
593
  # name: "String", # required
343
594
  # update_id: "String", # required
595
+ # nodegroup_name: "String",
344
596
  # }
345
597
  #
346
598
  # @!attribute [rw] name
347
- # The name of the Amazon EKS cluster to update.
599
+ # The name of the Amazon EKS cluster associated with the update.
348
600
  # @return [String]
349
601
  #
350
602
  # @!attribute [rw] update_id
351
603
  # The ID of the update to describe.
352
604
  # @return [String]
353
605
  #
606
+ # @!attribute [rw] nodegroup_name
607
+ # The name of the Amazon EKS node group associated with the update.
608
+ # @return [String]
609
+ #
354
610
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdateRequest AWS API Documentation
355
611
  #
356
612
  class DescribeUpdateRequest < Struct.new(
357
613
  :name,
358
- :update_id)
614
+ :update_id,
615
+ :nodegroup_name)
359
616
  include Aws::Structure
360
617
  end
361
618
 
@@ -442,6 +699,9 @@ module Aws::EKS
442
699
  # The Amazon EKS cluster associated with the exception.
443
700
  # @return [String]
444
701
  #
702
+ # @!attribute [rw] nodegroup_name
703
+ # @return [String]
704
+ #
445
705
  # @!attribute [rw] message
446
706
  # @return [String]
447
707
  #
@@ -449,6 +709,7 @@ module Aws::EKS
449
709
  #
450
710
  class InvalidParameterException < Struct.new(
451
711
  :cluster_name,
712
+ :nodegroup_name,
452
713
  :message)
453
714
  include Aws::Structure
454
715
  end
@@ -460,6 +721,9 @@ module Aws::EKS
460
721
  # The Amazon EKS cluster associated with the exception.
461
722
  # @return [String]
462
723
  #
724
+ # @!attribute [rw] nodegroup_name
725
+ # @return [String]
726
+ #
463
727
  # @!attribute [rw] message
464
728
  # @return [String]
465
729
  #
@@ -467,10 +731,79 @@ module Aws::EKS
467
731
  #
468
732
  class InvalidRequestException < Struct.new(
469
733
  :cluster_name,
734
+ :nodegroup_name,
470
735
  :message)
471
736
  include Aws::Structure
472
737
  end
473
738
 
739
+ # An object representing an issue with an Amazon EKS resource.
740
+ #
741
+ # @!attribute [rw] code
742
+ # A brief description of the error.
743
+ #
744
+ # * **AutoScalingGroupNotFound**\: We couldn't find the Auto Scaling
745
+ # group associated with the managed node group. You may be able to
746
+ # recreate an Auto Scaling group with the same settings to recover.
747
+ #
748
+ # * **Ec2SecurityGroupNotFound**\: We couldn't find the cluster
749
+ # security group for the cluster. You must recreate your cluster.
750
+ #
751
+ # * **Ec2SecurityGroupDeletionFailure**\: We could not delete the
752
+ # remote access security group for your managed node group. Remove
753
+ # any dependencies from the security group.
754
+ #
755
+ # * **Ec2LaunchTemplateNotFound**\: We couldn't find the Amazon EC2
756
+ # launch template for your managed node group. You may be able to
757
+ # recreate a launch template with the same settings to recover.
758
+ #
759
+ # * **Ec2LaunchTemplateVersionMismatch**\: The Amazon EC2 launch
760
+ # template version for your managed node group does not match the
761
+ # version that Amazon EKS created. You may be able to revert to the
762
+ # Amazon EKS-created version to recover.
763
+ #
764
+ # * **IamInstanceProfileNotFound**\: We couldn't find the IAM
765
+ # instance profile for your managed node group. You may be able to
766
+ # recreate an instance profile with the same settings to recover.
767
+ #
768
+ # * **IamNodeRoleNotFound**\: We couldn't find the IAM role for your
769
+ # managed node group. You may be able to recreate an IAM role with
770
+ # the same settings to recover.
771
+ #
772
+ # * **AsgInstanceLaunchFailures**\: Your Auto Scaling group is
773
+ # experiencing failures while attempting to launch instances.
774
+ #
775
+ # * **InstanceLimitExceeded**\: Your AWS account is unable to launch
776
+ # any more instances of the specified instance type. You may be able
777
+ # to request an Amazon EC2 instance limit increase to recover.
778
+ #
779
+ # * **InsufficientFreeAddresses**\: One or more of the subnets
780
+ # associated with your managed node group does not have enough
781
+ # available IP addresses for new nodes.
782
+ #
783
+ # * **AccessDenied**\: Amazon EKS and or one or more of your managed
784
+ # nodes is unable to communicate with your cluster API server.
785
+ #
786
+ # * **InternalFailure**\: These errors are usually caused by an Amazon
787
+ # EKS server-side issue.
788
+ # @return [String]
789
+ #
790
+ # @!attribute [rw] message
791
+ # The error message associated with the issue.
792
+ # @return [String]
793
+ #
794
+ # @!attribute [rw] resource_ids
795
+ # The AWS resources that are afflicted by this issue.
796
+ # @return [Array<String>]
797
+ #
798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Issue AWS API Documentation
799
+ #
800
+ class Issue < Struct.new(
801
+ :code,
802
+ :message,
803
+ :resource_ids)
804
+ include Aws::Structure
805
+ end
806
+
474
807
  # @note When making an API call, you may pass ListClustersRequest
475
808
  # data as a hash:
476
809
  #
@@ -531,6 +864,69 @@ module Aws::EKS
531
864
  include Aws::Structure
532
865
  end
533
866
 
867
+ # @note When making an API call, you may pass ListNodegroupsRequest
868
+ # data as a hash:
869
+ #
870
+ # {
871
+ # cluster_name: "String", # required
872
+ # max_results: 1,
873
+ # next_token: "String",
874
+ # }
875
+ #
876
+ # @!attribute [rw] cluster_name
877
+ # The name of the Amazon EKS cluster that you would like to list node
878
+ # groups in.
879
+ # @return [String]
880
+ #
881
+ # @!attribute [rw] max_results
882
+ # The maximum number of node group results returned by
883
+ # `ListNodegroups` in paginated output. When you use this parameter,
884
+ # `ListNodegroups` returns only `maxResults` results in a single page
885
+ # along with a `nextToken` response element. You can see the remaining
886
+ # results of the initial request by sending another `ListNodegroups`
887
+ # request with the returned `nextToken` value. This value can be
888
+ # between 1 and 100. If you don't use this parameter,
889
+ # `ListNodegroups` returns up to 100 results and a `nextToken` value
890
+ # if applicable.
891
+ # @return [Integer]
892
+ #
893
+ # @!attribute [rw] next_token
894
+ # The `nextToken` value returned from a previous paginated
895
+ # `ListNodegroups` request where `maxResults` was used and the results
896
+ # exceeded the value of that parameter. Pagination continues from the
897
+ # end of the previous results that returned the `nextToken` value.
898
+ # @return [String]
899
+ #
900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListNodegroupsRequest AWS API Documentation
901
+ #
902
+ class ListNodegroupsRequest < Struct.new(
903
+ :cluster_name,
904
+ :max_results,
905
+ :next_token)
906
+ include Aws::Structure
907
+ end
908
+
909
+ # @!attribute [rw] nodegroups
910
+ # A list of all of the node groups associated with the specified
911
+ # cluster.
912
+ # @return [Array<String>]
913
+ #
914
+ # @!attribute [rw] next_token
915
+ # The `nextToken` value to include in a future `ListNodegroups`
916
+ # request. When the results of a `ListNodegroups` request exceed
917
+ # `maxResults`, you can use this value to retrieve the next page of
918
+ # results. This value is `null` when there are no more results to
919
+ # return.
920
+ # @return [String]
921
+ #
922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListNodegroupsResponse AWS API Documentation
923
+ #
924
+ class ListNodegroupsResponse < Struct.new(
925
+ :nodegroups,
926
+ :next_token)
927
+ include Aws::Structure
928
+ end
929
+
534
930
  # @note When making an API call, you may pass ListTagsForResourceRequest
535
931
  # data as a hash:
536
932
  #
@@ -541,7 +937,7 @@ module Aws::EKS
541
937
  # @!attribute [rw] resource_arn
542
938
  # The Amazon Resource Name (ARN) that identifies the resource for
543
939
  # which to list the tags. Currently, the supported resources are
544
- # Amazon EKS clusters.
940
+ # Amazon EKS clusters and managed node groups.
545
941
  # @return [String]
546
942
  #
547
943
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListTagsForResourceRequest AWS API Documentation
@@ -567,6 +963,7 @@ module Aws::EKS
567
963
  #
568
964
  # {
569
965
  # name: "String", # required
966
+ # nodegroup_name: "String",
570
967
  # next_token: "String",
571
968
  # max_results: 1,
572
969
  # }
@@ -575,6 +972,10 @@ module Aws::EKS
575
972
  # The name of the Amazon EKS cluster to list updates for.
576
973
  # @return [String]
577
974
  #
975
+ # @!attribute [rw] nodegroup_name
976
+ # The name of the Amazon EKS managed node group to list updates for.
977
+ # @return [String]
978
+ #
578
979
  # @!attribute [rw] next_token
579
980
  # The `nextToken` value returned from a previous paginated
580
981
  # `ListUpdates` request where `maxResults` was used and the results
@@ -597,6 +998,7 @@ module Aws::EKS
597
998
  #
598
999
  class ListUpdatesRequest < Struct.new(
599
1000
  :name,
1001
+ :nodegroup_name,
600
1002
  :next_token,
601
1003
  :max_results)
602
1004
  include Aws::Structure
@@ -677,6 +1079,221 @@ module Aws::EKS
677
1079
  include Aws::Structure
678
1080
  end
679
1081
 
1082
+ # An object representing an Amazon EKS managed node group.
1083
+ #
1084
+ # @!attribute [rw] nodegroup_name
1085
+ # The name associated with an Amazon EKS managed node group.
1086
+ # @return [String]
1087
+ #
1088
+ # @!attribute [rw] nodegroup_arn
1089
+ # The Amazon Resource Name (ARN) associated with the managed node
1090
+ # group.
1091
+ # @return [String]
1092
+ #
1093
+ # @!attribute [rw] cluster_name
1094
+ # The name of the cluster that the managed node group resides in.
1095
+ # @return [String]
1096
+ #
1097
+ # @!attribute [rw] version
1098
+ # The Kubernetes version of the managed node group.
1099
+ # @return [String]
1100
+ #
1101
+ # @!attribute [rw] release_version
1102
+ # The AMI version of the managed node group. For more information, see
1103
+ # [Amazon EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS
1104
+ # User Guide*.
1105
+ #
1106
+ #
1107
+ #
1108
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
1109
+ # @return [String]
1110
+ #
1111
+ # @!attribute [rw] created_at
1112
+ # The Unix epoch timestamp in seconds for when the managed node group
1113
+ # was created.
1114
+ # @return [Time]
1115
+ #
1116
+ # @!attribute [rw] modified_at
1117
+ # The Unix epoch timestamp in seconds for when the managed node group
1118
+ # was last modified.
1119
+ # @return [Time]
1120
+ #
1121
+ # @!attribute [rw] status
1122
+ # The current status of the managed node group.
1123
+ # @return [String]
1124
+ #
1125
+ # @!attribute [rw] scaling_config
1126
+ # The scaling configuration details for the AutoScaling group that is
1127
+ # associated with your node group.
1128
+ # @return [Types::NodegroupScalingConfig]
1129
+ #
1130
+ # @!attribute [rw] instance_types
1131
+ # The instance types associated with your node group.
1132
+ # @return [Array<String>]
1133
+ #
1134
+ # @!attribute [rw] subnets
1135
+ # The subnets allowed for the AutoScaling group that is associated
1136
+ # with your node group. These subnets must have the following tag:
1137
+ # `kubernetes.io/cluster/CLUSTER_NAME`, where `CLUSTER_NAME` is
1138
+ # replaced with the name of your cluster.
1139
+ # @return [Array<String>]
1140
+ #
1141
+ # @!attribute [rw] remote_access
1142
+ # The remote access (SSH) configuration that is associated with the
1143
+ # node group.
1144
+ # @return [Types::RemoteAccessConfig]
1145
+ #
1146
+ # @!attribute [rw] ami_type
1147
+ # The AMI type associated with your node group. GPU instance types
1148
+ # should use the `AL2_x86_64_GPU` AMI type, which uses the Amazon
1149
+ # EKS-optimized Linux AMI with GPU support; non-GPU instances should
1150
+ # use the `AL2_x86_64` AMI type, which uses the Amazon EKS-optimized
1151
+ # Linux AMI.
1152
+ # @return [String]
1153
+ #
1154
+ # @!attribute [rw] node_role
1155
+ # The IAM role associated with your node group. The Amazon EKS worker
1156
+ # node `kubelet` daemon makes calls to AWS APIs on your behalf. Worker
1157
+ # nodes receive permissions for these API calls through an IAM
1158
+ # instance profile and associated policies. Before you can launch
1159
+ # worker nodes and register them into a cluster, you must create an
1160
+ # IAM role for those worker nodes to use when they are launched. For
1161
+ # more information, see [Amazon EKS Worker Node IAM Role][1] in the
1162
+ # <i> <i>Amazon EKS User Guide</i> </i>.
1163
+ #
1164
+ #
1165
+ #
1166
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
1167
+ # @return [String]
1168
+ #
1169
+ # @!attribute [rw] labels
1170
+ # The Kubernetes labels applied to the nodes in the node group.
1171
+ #
1172
+ # <note markdown="1"> Only labels that are applied with the Amazon EKS API are shown here.
1173
+ # There may be other Kubernetes labels applied to the nodes in this
1174
+ # group.
1175
+ #
1176
+ # </note>
1177
+ # @return [Hash<String,String>]
1178
+ #
1179
+ # @!attribute [rw] resources
1180
+ # The resources associated with the nodegroup, such as AutoScaling
1181
+ # groups and security groups for remote access.
1182
+ # @return [Types::NodegroupResources]
1183
+ #
1184
+ # @!attribute [rw] disk_size
1185
+ # The root device disk size (in GiB) for your node group instances.
1186
+ # The default disk size is 20 GiB.
1187
+ # @return [Integer]
1188
+ #
1189
+ # @!attribute [rw] health
1190
+ # The health status of the node group. If there are issues with your
1191
+ # node group's health, they are listed here.
1192
+ # @return [Types::NodegroupHealth]
1193
+ #
1194
+ # @!attribute [rw] tags
1195
+ # The metadata applied the node group to assist with categorization
1196
+ # and organization. Each tag consists of a key and an optional value,
1197
+ # both of which you define. Node group tags do not propagate to any
1198
+ # other resources associated with the node group, such as the Amazon
1199
+ # EC2 instances or subnets.
1200
+ # @return [Hash<String,String>]
1201
+ #
1202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Nodegroup AWS API Documentation
1203
+ #
1204
+ class Nodegroup < Struct.new(
1205
+ :nodegroup_name,
1206
+ :nodegroup_arn,
1207
+ :cluster_name,
1208
+ :version,
1209
+ :release_version,
1210
+ :created_at,
1211
+ :modified_at,
1212
+ :status,
1213
+ :scaling_config,
1214
+ :instance_types,
1215
+ :subnets,
1216
+ :remote_access,
1217
+ :ami_type,
1218
+ :node_role,
1219
+ :labels,
1220
+ :resources,
1221
+ :disk_size,
1222
+ :health,
1223
+ :tags)
1224
+ include Aws::Structure
1225
+ end
1226
+
1227
+ # An object representing the health status of the node group.
1228
+ #
1229
+ # @!attribute [rw] issues
1230
+ # Any issues that are associated with the node group.
1231
+ # @return [Array<Types::Issue>]
1232
+ #
1233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupHealth AWS API Documentation
1234
+ #
1235
+ class NodegroupHealth < Struct.new(
1236
+ :issues)
1237
+ include Aws::Structure
1238
+ end
1239
+
1240
+ # An object representing the resources associated with the nodegroup,
1241
+ # such as AutoScaling groups and security groups for remote access.
1242
+ #
1243
+ # @!attribute [rw] auto_scaling_groups
1244
+ # The autoscaling groups associated with the node group.
1245
+ # @return [Array<Types::AutoScalingGroup>]
1246
+ #
1247
+ # @!attribute [rw] remote_access_security_group
1248
+ # The remote access security group associated with the node group.
1249
+ # This security group controls SSH access to the worker nodes.
1250
+ # @return [String]
1251
+ #
1252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupResources AWS API Documentation
1253
+ #
1254
+ class NodegroupResources < Struct.new(
1255
+ :auto_scaling_groups,
1256
+ :remote_access_security_group)
1257
+ include Aws::Structure
1258
+ end
1259
+
1260
+ # An object representing the scaling configuration details for the
1261
+ # AutoScaling group that is associated with your node group.
1262
+ #
1263
+ # @note When making an API call, you may pass NodegroupScalingConfig
1264
+ # data as a hash:
1265
+ #
1266
+ # {
1267
+ # min_size: 1,
1268
+ # max_size: 1,
1269
+ # desired_size: 1,
1270
+ # }
1271
+ #
1272
+ # @!attribute [rw] min_size
1273
+ # The minimum number of worker nodes that the managed node group can
1274
+ # scale in to. This number must be greater than zero.
1275
+ # @return [Integer]
1276
+ #
1277
+ # @!attribute [rw] max_size
1278
+ # The maximum number of worker nodes that the managed node group can
1279
+ # scale out to. Managed node groups can support up to 100 nodes by
1280
+ # default.
1281
+ # @return [Integer]
1282
+ #
1283
+ # @!attribute [rw] desired_size
1284
+ # The current number of worker nodes that the managed node group
1285
+ # should maintain.
1286
+ # @return [Integer]
1287
+ #
1288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupScalingConfig AWS API Documentation
1289
+ #
1290
+ class NodegroupScalingConfig < Struct.new(
1291
+ :min_size,
1292
+ :max_size,
1293
+ :desired_size)
1294
+ include Aws::Structure
1295
+ end
1296
+
680
1297
  # A service resource associated with the request could not be found.
681
1298
  # Clients should not retry such requests.
682
1299
  #
@@ -708,12 +1325,58 @@ module Aws::EKS
708
1325
  include Aws::Structure
709
1326
  end
710
1327
 
1328
+ # An object representing the remote access configuration for the managed
1329
+ # node group.
1330
+ #
1331
+ # @note When making an API call, you may pass RemoteAccessConfig
1332
+ # data as a hash:
1333
+ #
1334
+ # {
1335
+ # ec2_ssh_key: "String",
1336
+ # source_security_groups: ["String"],
1337
+ # }
1338
+ #
1339
+ # @!attribute [rw] ec2_ssh_key
1340
+ # The Amazon EC2 SSH key that provides access for SSH communication
1341
+ # with the worker nodes in the managed node group. For more
1342
+ # information, see [Amazon EC2 Key Pairs][1] in the *Amazon Elastic
1343
+ # Compute Cloud User Guide for Linux Instances*.
1344
+ #
1345
+ #
1346
+ #
1347
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
1348
+ # @return [String]
1349
+ #
1350
+ # @!attribute [rw] source_security_groups
1351
+ # The security groups to allow SSH access (port 22) from on the worker
1352
+ # nodes. If you specify an Amazon EC2 SSH key, but you do not specify
1353
+ # a source security group when you create a managed node group, port
1354
+ # 22 on the worker nodes is opened to the internet (0.0.0.0/0). For
1355
+ # more information, see [Security Groups for Your VPC][1] in the
1356
+ # *Amazon Virtual Private Cloud User Guide*.
1357
+ #
1358
+ #
1359
+ #
1360
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html
1361
+ # @return [Array<String>]
1362
+ #
1363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/RemoteAccessConfig AWS API Documentation
1364
+ #
1365
+ class RemoteAccessConfig < Struct.new(
1366
+ :ec2_ssh_key,
1367
+ :source_security_groups)
1368
+ include Aws::Structure
1369
+ end
1370
+
711
1371
  # The specified resource is in use.
712
1372
  #
713
1373
  # @!attribute [rw] cluster_name
714
1374
  # The Amazon EKS cluster associated with the exception.
715
1375
  # @return [String]
716
1376
  #
1377
+ # @!attribute [rw] nodegroup_name
1378
+ # @return [String]
1379
+ #
717
1380
  # @!attribute [rw] message
718
1381
  # @return [String]
719
1382
  #
@@ -721,6 +1384,7 @@ module Aws::EKS
721
1384
  #
722
1385
  class ResourceInUseException < Struct.new(
723
1386
  :cluster_name,
1387
+ :nodegroup_name,
724
1388
  :message)
725
1389
  include Aws::Structure
726
1390
  end
@@ -731,6 +1395,9 @@ module Aws::EKS
731
1395
  # The Amazon EKS cluster associated with the exception.
732
1396
  # @return [String]
733
1397
  #
1398
+ # @!attribute [rw] nodegroup_name
1399
+ # @return [String]
1400
+ #
734
1401
  # @!attribute [rw] message
735
1402
  # @return [String]
736
1403
  #
@@ -738,17 +1405,23 @@ module Aws::EKS
738
1405
  #
739
1406
  class ResourceLimitExceededException < Struct.new(
740
1407
  :cluster_name,
1408
+ :nodegroup_name,
741
1409
  :message)
742
1410
  include Aws::Structure
743
1411
  end
744
1412
 
745
1413
  # The specified resource could not be found. You can view your available
746
- # clusters with ListClusters. Amazon EKS clusters are Region-specific.
1414
+ # clusters with ListClusters. You can view your available managed node
1415
+ # groups with ListNodegroups. Amazon EKS clusters and node groups are
1416
+ # Region-specific.
747
1417
  #
748
1418
  # @!attribute [rw] cluster_name
749
1419
  # The Amazon EKS cluster associated with the exception.
750
1420
  # @return [String]
751
1421
  #
1422
+ # @!attribute [rw] nodegroup_name
1423
+ # @return [String]
1424
+ #
752
1425
  # @!attribute [rw] message
753
1426
  # @return [String]
754
1427
  #
@@ -756,6 +1429,7 @@ module Aws::EKS
756
1429
  #
757
1430
  class ResourceNotFoundException < Struct.new(
758
1431
  :cluster_name,
1432
+ :nodegroup_name,
759
1433
  :message)
760
1434
  include Aws::Structure
761
1435
  end
@@ -766,6 +1440,9 @@ module Aws::EKS
766
1440
  # The Amazon EKS cluster associated with the exception.
767
1441
  # @return [String]
768
1442
  #
1443
+ # @!attribute [rw] nodegroup_name
1444
+ # @return [String]
1445
+ #
769
1446
  # @!attribute [rw] message
770
1447
  # @return [String]
771
1448
  #
@@ -773,6 +1450,7 @@ module Aws::EKS
773
1450
  #
774
1451
  class ServerException < Struct.new(
775
1452
  :cluster_name,
1453
+ :nodegroup_name,
776
1454
  :message)
777
1455
  include Aws::Structure
778
1456
  end
@@ -801,7 +1479,8 @@ module Aws::EKS
801
1479
  #
802
1480
  # @!attribute [rw] resource_arn
803
1481
  # The Amazon Resource Name (ARN) of the resource to which to add tags.
804
- # Currently, the supported resources are Amazon EKS clusters.
1482
+ # Currently, the supported resources are Amazon EKS clusters and
1483
+ # managed node groups.
805
1484
  # @return [String]
806
1485
  #
807
1486
  # @!attribute [rw] tags
@@ -833,6 +1512,9 @@ module Aws::EKS
833
1512
  # The Amazon EKS cluster associated with the exception.
834
1513
  # @return [String]
835
1514
  #
1515
+ # @!attribute [rw] nodegroup_name
1516
+ # @return [String]
1517
+ #
836
1518
  # @!attribute [rw] valid_zones
837
1519
  # The supported Availability Zones for your account. Choose subnets in
838
1520
  # these Availability Zones for your cluster.
@@ -843,6 +1525,7 @@ module Aws::EKS
843
1525
  class UnsupportedAvailabilityZoneException < Struct.new(
844
1526
  :message,
845
1527
  :cluster_name,
1528
+ :nodegroup_name,
846
1529
  :valid_zones)
847
1530
  include Aws::Structure
848
1531
  end
@@ -857,7 +1540,8 @@ module Aws::EKS
857
1540
  #
858
1541
  # @!attribute [rw] resource_arn
859
1542
  # The Amazon Resource Name (ARN) of the resource from which to delete
860
- # tags. Currently, the supported resources are Amazon EKS clusters.
1543
+ # tags. Currently, the supported resources are Amazon EKS clusters and
1544
+ # managed node groups.
861
1545
  # @return [String]
862
1546
  #
863
1547
  # @!attribute [rw] tag_keys
@@ -1039,6 +1723,184 @@ module Aws::EKS
1039
1723
  include Aws::Structure
1040
1724
  end
1041
1725
 
1726
+ # An object representing a Kubernetes label change for a managed node
1727
+ # group.
1728
+ #
1729
+ # @note When making an API call, you may pass UpdateLabelsPayload
1730
+ # data as a hash:
1731
+ #
1732
+ # {
1733
+ # add_or_update_labels: {
1734
+ # "labelKey" => "labelValue",
1735
+ # },
1736
+ # remove_labels: ["String"],
1737
+ # }
1738
+ #
1739
+ # @!attribute [rw] add_or_update_labels
1740
+ # Kubernetes labels to be added or updated.
1741
+ # @return [Hash<String,String>]
1742
+ #
1743
+ # @!attribute [rw] remove_labels
1744
+ # Kubernetes labels to be removed.
1745
+ # @return [Array<String>]
1746
+ #
1747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateLabelsPayload AWS API Documentation
1748
+ #
1749
+ class UpdateLabelsPayload < Struct.new(
1750
+ :add_or_update_labels,
1751
+ :remove_labels)
1752
+ include Aws::Structure
1753
+ end
1754
+
1755
+ # @note When making an API call, you may pass UpdateNodegroupConfigRequest
1756
+ # data as a hash:
1757
+ #
1758
+ # {
1759
+ # cluster_name: "String", # required
1760
+ # nodegroup_name: "String", # required
1761
+ # labels: {
1762
+ # add_or_update_labels: {
1763
+ # "labelKey" => "labelValue",
1764
+ # },
1765
+ # remove_labels: ["String"],
1766
+ # },
1767
+ # scaling_config: {
1768
+ # min_size: 1,
1769
+ # max_size: 1,
1770
+ # desired_size: 1,
1771
+ # },
1772
+ # client_request_token: "String",
1773
+ # }
1774
+ #
1775
+ # @!attribute [rw] cluster_name
1776
+ # The name of the Amazon EKS cluster that the managed node group
1777
+ # resides in.
1778
+ # @return [String]
1779
+ #
1780
+ # @!attribute [rw] nodegroup_name
1781
+ # The name of the managed node group to update.
1782
+ # @return [String]
1783
+ #
1784
+ # @!attribute [rw] labels
1785
+ # The Kubernetes labels to be applied to the nodes in the node group
1786
+ # after the update.
1787
+ # @return [Types::UpdateLabelsPayload]
1788
+ #
1789
+ # @!attribute [rw] scaling_config
1790
+ # The scaling configuration details for the AutoScaling group after
1791
+ # the update.
1792
+ # @return [Types::NodegroupScalingConfig]
1793
+ #
1794
+ # @!attribute [rw] client_request_token
1795
+ # Unique, case-sensitive identifier that you provide to ensure the
1796
+ # idempotency of the request.
1797
+ #
1798
+ # **A suitable default value is auto-generated.** You should normally
1799
+ # not need to pass this option.
1800
+ # @return [String]
1801
+ #
1802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupConfigRequest AWS API Documentation
1803
+ #
1804
+ class UpdateNodegroupConfigRequest < Struct.new(
1805
+ :cluster_name,
1806
+ :nodegroup_name,
1807
+ :labels,
1808
+ :scaling_config,
1809
+ :client_request_token)
1810
+ include Aws::Structure
1811
+ end
1812
+
1813
+ # @!attribute [rw] update
1814
+ # An object representing an asynchronous update.
1815
+ # @return [Types::Update]
1816
+ #
1817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupConfigResponse AWS API Documentation
1818
+ #
1819
+ class UpdateNodegroupConfigResponse < Struct.new(
1820
+ :update)
1821
+ include Aws::Structure
1822
+ end
1823
+
1824
+ # @note When making an API call, you may pass UpdateNodegroupVersionRequest
1825
+ # data as a hash:
1826
+ #
1827
+ # {
1828
+ # cluster_name: "String", # required
1829
+ # nodegroup_name: "String", # required
1830
+ # version: "String",
1831
+ # release_version: "String",
1832
+ # force: false,
1833
+ # client_request_token: "String",
1834
+ # }
1835
+ #
1836
+ # @!attribute [rw] cluster_name
1837
+ # The name of the Amazon EKS cluster that is associated with the
1838
+ # managed node group to update.
1839
+ # @return [String]
1840
+ #
1841
+ # @!attribute [rw] nodegroup_name
1842
+ # The name of the managed node group to update.
1843
+ # @return [String]
1844
+ #
1845
+ # @!attribute [rw] version
1846
+ # The Kubernetes version to update to. If no version is specified,
1847
+ # then the Kubernetes version of the node group does not change. You
1848
+ # can specify the Kubernetes version of the cluster to update the node
1849
+ # group to the latest AMI version of the cluster's Kubernetes
1850
+ # version.
1851
+ # @return [String]
1852
+ #
1853
+ # @!attribute [rw] release_version
1854
+ # The AMI version of the Amazon EKS-optimized AMI to use for the
1855
+ # update. By default, the latest available AMI version for the node
1856
+ # group's Kubernetes version is used. For more information, see
1857
+ # [Amazon EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS
1858
+ # User Guide*.
1859
+ #
1860
+ #
1861
+ #
1862
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
1863
+ # @return [String]
1864
+ #
1865
+ # @!attribute [rw] force
1866
+ # Force the update if the existing node group's pods are unable to be
1867
+ # drained due to a pod disruption budget issue. If a previous update
1868
+ # fails because pods could not be drained, you can force the update
1869
+ # after it fails to terminate the old node regardless of whether or
1870
+ # not any pods are running on the node.
1871
+ # @return [Boolean]
1872
+ #
1873
+ # @!attribute [rw] client_request_token
1874
+ # Unique, case-sensitive identifier that you provide to ensure the
1875
+ # idempotency of the request.
1876
+ #
1877
+ # **A suitable default value is auto-generated.** You should normally
1878
+ # not need to pass this option.
1879
+ # @return [String]
1880
+ #
1881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupVersionRequest AWS API Documentation
1882
+ #
1883
+ class UpdateNodegroupVersionRequest < Struct.new(
1884
+ :cluster_name,
1885
+ :nodegroup_name,
1886
+ :version,
1887
+ :release_version,
1888
+ :force,
1889
+ :client_request_token)
1890
+ include Aws::Structure
1891
+ end
1892
+
1893
+ # @!attribute [rw] update
1894
+ # An object representing an asynchronous update.
1895
+ # @return [Types::Update]
1896
+ #
1897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupVersionResponse AWS API Documentation
1898
+ #
1899
+ class UpdateNodegroupVersionResponse < Struct.new(
1900
+ :update)
1901
+ include Aws::Structure
1902
+ end
1903
+
1042
1904
  # An object representing the details of an update request.
1043
1905
  #
1044
1906
  # @!attribute [rw] type
@@ -1136,6 +1998,12 @@ module Aws::EKS
1136
1998
  # worker nodes and the Kubernetes control plane.
1137
1999
  # @return [Array<String>]
1138
2000
  #
2001
+ # @!attribute [rw] cluster_security_group_id
2002
+ # The cluster security group that was created by Amazon EKS for the
2003
+ # cluster. Managed node groups use this security group for control
2004
+ # plane to data plane communication.
2005
+ # @return [String]
2006
+ #
1139
2007
  # @!attribute [rw] vpc_id
1140
2008
  # The VPC associated with your cluster.
1141
2009
  # @return [String]
@@ -1160,6 +2028,7 @@ module Aws::EKS
1160
2028
  class VpcConfigResponse < Struct.new(
1161
2029
  :subnet_ids,
1162
2030
  :security_group_ids,
2031
+ :cluster_security_group_id,
1163
2032
  :vpc_id,
1164
2033
  :endpoint_public_access,
1165
2034
  :endpoint_private_access)