aws-sdk-eks 1.39.0 → 1.44.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a5a7ce6dd7bc21c388bbd0714cde7596ea1081af87aa1d7ff6b7c79b681620d
4
- data.tar.gz: b613e224f572b20d98b35e419b4ebecd65fcfccee4cbd43cd9d10991af9a7066
3
+ metadata.gz: 849696b1e9413006ad5beb42b6604035413415d25d1f12fec76573ca4bdef7d2
4
+ data.tar.gz: a1e2a182b26d0f1cdee95ab08be94840c3f07a7fb5c0f771fef51d57bb6ce066
5
5
  SHA512:
6
- metadata.gz: 4d64bfa6e95f6009d39853b8c10b342219a746d0729421ff88edf6fbcd28991202f65054c0f841045614e46b60c4f27bc460caee114dd63ff2f7e0f6fa262943
7
- data.tar.gz: e9b7050f2d7f9df6999d26fc5aa3157a783ef6429a7083258891d4bfb33d2aa5136b9a9c20746635ca3e32128518724a9fd8dee7fb6b4a0b76bdde6d269a092c
6
+ metadata.gz: 47561f2b89fdafb2d393e02042c7b13006d32005e6c2b47b0aca29478686e3e77a905f50cd19c442b7a309ee99f11dd2ac166f5b752fb4116371b10b01359fe3
7
+ data.tar.gz: b71d69eb6d3b2fcd3ec4f6bc4726c7dcca2567f075e638b17fa3c896fb5486f8e9e758cc70841f39e8c632af66e460b0e8f3dba4cbec017742b1c2a2bf73c5e3
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -45,9 +46,9 @@ require_relative 'aws-sdk-eks/customizations'
45
46
  #
46
47
  # See {Errors} for more information.
47
48
  #
48
- # @service
49
+ # @!group service
49
50
  module Aws::EKS
50
51
 
51
- GEM_VERSION = '1.39.0'
52
+ GEM_VERSION = '1.44.0'
52
53
 
53
54
  end
@@ -85,13 +85,28 @@ module Aws::EKS
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::EKS
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -375,9 +390,9 @@ module Aws::EKS
375
390
  #
376
391
  # @option params [required, String] :role_arn
377
392
  # The Amazon Resource Name (ARN) of the IAM role that provides
378
- # permissions for Amazon EKS to make calls to other AWS API operations
379
- # on your behalf. For more information, see [Amazon EKS Service IAM
380
- # Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
393
+ # permissions for the Kubernetes control plane to make calls to AWS API
394
+ # operations on your behalf. For more information, see [Amazon EKS
395
+ # Service IAM Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
381
396
  #
382
397
  #
383
398
  #
@@ -397,6 +412,9 @@ module Aws::EKS
397
412
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html
398
413
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
399
414
  #
415
+ # @option params [Types::KubernetesNetworkConfigRequest] :kubernetes_network_config
416
+ # The Kubernetes network configuration for the cluster.
417
+ #
400
418
  # @option params [Types::Logging] :logging
401
419
  # Enable or disable exporting the Kubernetes control plane logs for your
402
420
  # cluster to CloudWatch Logs. By default, cluster control plane logs
@@ -472,6 +490,9 @@ module Aws::EKS
472
490
  # endpoint_private_access: false,
473
491
  # public_access_cidrs: ["String"],
474
492
  # },
493
+ # kubernetes_network_config: {
494
+ # service_ipv_4_cidr: "String",
495
+ # },
475
496
  # logging: {
476
497
  # cluster_logging: [
477
498
  # {
@@ -512,6 +533,7 @@ module Aws::EKS
512
533
  # resp.cluster.resources_vpc_config.endpoint_private_access #=> Boolean
513
534
  # resp.cluster.resources_vpc_config.public_access_cidrs #=> Array
514
535
  # resp.cluster.resources_vpc_config.public_access_cidrs[0] #=> String
536
+ # resp.cluster.kubernetes_network_config.service_ipv_4_cidr #=> String
515
537
  # resp.cluster.logging.cluster_logging #=> Array
516
538
  # resp.cluster.logging.cluster_logging[0].types #=> Array
517
539
  # resp.cluster.logging.cluster_logging[0].types[0] #=> String, one of "api", "audit", "authenticator", "controllerManager", "scheduler"
@@ -677,17 +699,20 @@ module Aws::EKS
677
699
  # only create a node group for your cluster that is equal to the current
678
700
  # Kubernetes version for the cluster. All node groups are created with
679
701
  # the latest AMI release version for the respective minor Kubernetes
680
- # version of the cluster.
702
+ # version of the cluster, unless you deploy a custom AMI using a launch
703
+ # template. For more information about using launch templates, see
704
+ # [Launch template support][1].
681
705
  #
682
706
  # An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group
683
707
  # and associated Amazon EC2 instances that are managed by AWS for an
684
708
  # Amazon EKS cluster. Each node group uses a version of the Amazon
685
709
  # EKS-optimized Amazon Linux 2 AMI. For more information, see [Managed
686
- # Node Groups][1] in the *Amazon EKS User Guide*.
710
+ # Node Groups][2] in the *Amazon EKS User Guide*.
687
711
  #
688
712
  #
689
713
  #
690
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html
714
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
715
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html
691
716
  #
692
717
  # @option params [required, String] :cluster_name
693
718
  # The name of the cluster to create the node group in.
@@ -701,28 +726,68 @@ module Aws::EKS
701
726
  #
702
727
  # @option params [Integer] :disk_size
703
728
  # The root device disk size (in GiB) for your node group instances. The
704
- # default disk size is 20 GiB.
729
+ # default disk size is 20 GiB. If you specify `launchTemplate`, then
730
+ # don't specify `diskSize`, or the node group deployment will fail. For
731
+ # more information about using launch templates with Amazon EKS, see
732
+ # [Launch template support][1] in the Amazon EKS User Guide.
733
+ #
734
+ #
735
+ #
736
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
705
737
  #
706
738
  # @option params [required, Array<String>] :subnets
707
739
  # The subnets to use for the Auto Scaling group that is created for your
708
740
  # node group. These subnets must have the tag key
709
741
  # `kubernetes.io/cluster/CLUSTER_NAME` with a value of `shared`, where
710
- # `CLUSTER_NAME` is replaced with the name of your cluster.
742
+ # `CLUSTER_NAME` is replaced with the name of your cluster. If you
743
+ # specify `launchTemplate`, then don't specify [ `SubnetId` ][1] in
744
+ # your launch template, or the node group deployment will fail. For more
745
+ # information about using launch templates with Amazon EKS, see [Launch
746
+ # template support][2] in the Amazon EKS User Guide.
747
+ #
748
+ #
749
+ #
750
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html
751
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
711
752
  #
712
753
  # @option params [Array<String>] :instance_types
713
- # The instance type to use for your node group. Currently, you can
714
- # specify a single instance type for a node group. The default value for
715
- # this parameter is `t3.medium`. If you choose a GPU instance type, be
716
- # sure to specify the `AL2_x86_64_GPU` with the `amiType` parameter.
754
+ # The instance type to use for your node group. You can specify a single
755
+ # instance type for a node group. The default value for `instanceTypes`
756
+ # is `t3.medium`. If you choose a GPU instance type, be sure to specify
757
+ # `AL2_x86_64_GPU` with the `amiType` parameter. If you specify
758
+ # `launchTemplate`, then don't specify `instanceTypes`, or the node
759
+ # group deployment will fail. For more information about using launch
760
+ # templates with Amazon EKS, see [Launch template support][1] in the
761
+ # Amazon EKS User Guide.
762
+ #
763
+ #
764
+ #
765
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
717
766
  #
718
767
  # @option params [String] :ami_type
719
768
  # The AMI type for your node group. GPU instance types should use the
720
- # `AL2_x86_64_GPU` AMI type, which uses the Amazon EKS-optimized Linux
721
- # AMI with GPU support. Non-GPU instances should use the `AL2_x86_64`
722
- # AMI type, which uses the Amazon EKS-optimized Linux AMI.
769
+ # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
770
+ # `AL2_x86_64` AMI type. Arm instances should use the `AL2_ARM_64` AMI
771
+ # type. All types use the Amazon EKS-optimized Amazon Linux 2 AMI. If
772
+ # you specify `launchTemplate`, and your launch template uses a custom
773
+ # AMI, then don't specify `amiType`, or the node group deployment will
774
+ # fail. For more information about using launch templates with Amazon
775
+ # EKS, see [Launch template support][1] in the Amazon EKS User Guide.
776
+ #
777
+ #
778
+ #
779
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
723
780
  #
724
781
  # @option params [Types::RemoteAccessConfig] :remote_access
725
- # The remote access (SSH) configuration to use with your node group.
782
+ # The remote access (SSH) configuration to use with your node group. If
783
+ # you specify `launchTemplate`, then don't specify `remoteAccess`, or
784
+ # the node group deployment will fail. For more information about using
785
+ # launch templates with Amazon EKS, see [Launch template support][1] in
786
+ # the Amazon EKS User Guide.
787
+ #
788
+ #
789
+ #
790
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
726
791
  #
727
792
  # @option params [required, String] :node_role
728
793
  # The Amazon Resource Name (ARN) of the IAM role to associate with your
@@ -732,11 +797,17 @@ module Aws::EKS
732
797
  # Before you can launch worker nodes and register them into a cluster,
733
798
  # you must create an IAM role for those worker nodes to use when they
734
799
  # are launched. For more information, see [Amazon EKS Worker Node IAM
735
- # Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
800
+ # Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>. If you specify
801
+ # `launchTemplate`, then don't specify [ `IamInstanceProfile` ][2] in
802
+ # your launch template, or the node group deployment will fail. For more
803
+ # information about using launch templates with Amazon EKS, see [Launch
804
+ # template support][3] in the Amazon EKS User Guide.
736
805
  #
737
806
  #
738
807
  #
739
808
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
809
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html
810
+ # [3]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
740
811
  #
741
812
  # @option params [Hash<String,String>] :labels
742
813
  # The Kubernetes labels to be applied to the nodes in the node group
@@ -756,21 +827,40 @@ module Aws::EKS
756
827
  # **A suitable default value is auto-generated.** You should normally
757
828
  # not need to pass this option.**
758
829
  #
830
+ # @option params [Types::LaunchTemplateSpecification] :launch_template
831
+ # An object representing a node group's launch template specification.
832
+ # If specified, then do not specify `instanceTypes`, `diskSize`, or
833
+ # `remoteAccess` and make sure that the launch template meets the
834
+ # requirements in `launchTemplateSpecification`.
835
+ #
759
836
  # @option params [String] :version
760
837
  # The Kubernetes version to use for your managed nodes. By default, the
761
838
  # Kubernetes version of the cluster is used, and this is the only
762
- # accepted specified value.
839
+ # accepted specified value. If you specify `launchTemplate`, and your
840
+ # launch template uses a custom AMI, then don't specify `version`, or
841
+ # the node group deployment will fail. For more information about using
842
+ # launch templates with Amazon EKS, see [Launch template support][1] in
843
+ # the Amazon EKS User Guide.
844
+ #
845
+ #
846
+ #
847
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
763
848
  #
764
849
  # @option params [String] :release_version
765
850
  # The AMI version of the Amazon EKS-optimized AMI to use with your node
766
851
  # group. By default, the latest available AMI version for the node
767
852
  # group's current Kubernetes version is used. For more information, see
768
853
  # [Amazon EKS-Optimized Linux AMI Versions][1] in the *Amazon EKS User
769
- # Guide*.
854
+ # Guide*. If you specify `launchTemplate`, and your launch template uses
855
+ # a custom AMI, then don't specify `releaseVersion`, or the node group
856
+ # deployment will fail. For more information about using launch
857
+ # templates with Amazon EKS, see [Launch template support][2] in the
858
+ # Amazon EKS User Guide.
770
859
  #
771
860
  #
772
861
  #
773
862
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
863
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
774
864
  #
775
865
  # @return [Types::CreateNodegroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
776
866
  #
@@ -789,7 +879,7 @@ module Aws::EKS
789
879
  # disk_size: 1,
790
880
  # subnets: ["String"], # required
791
881
  # instance_types: ["String"],
792
- # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU
882
+ # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64
793
883
  # remote_access: {
794
884
  # ec2_ssh_key: "String",
795
885
  # source_security_groups: ["String"],
@@ -802,6 +892,11 @@ module Aws::EKS
802
892
  # "TagKey" => "TagValue",
803
893
  # },
804
894
  # client_request_token: "String",
895
+ # launch_template: {
896
+ # name: "String",
897
+ # version: "String",
898
+ # id: "String",
899
+ # },
805
900
  # version: "String",
806
901
  # release_version: "String",
807
902
  # })
@@ -826,7 +921,7 @@ module Aws::EKS
826
921
  # resp.nodegroup.remote_access.ec2_ssh_key #=> String
827
922
  # resp.nodegroup.remote_access.source_security_groups #=> Array
828
923
  # resp.nodegroup.remote_access.source_security_groups[0] #=> String
829
- # resp.nodegroup.ami_type #=> String, one of "AL2_x86_64", "AL2_x86_64_GPU"
924
+ # resp.nodegroup.ami_type #=> String, one of "AL2_x86_64", "AL2_x86_64_GPU", "AL2_ARM_64"
830
925
  # resp.nodegroup.node_role #=> String
831
926
  # resp.nodegroup.labels #=> Hash
832
927
  # resp.nodegroup.labels["labelKey"] #=> String
@@ -839,6 +934,9 @@ module Aws::EKS
839
934
  # resp.nodegroup.health.issues[0].message #=> String
840
935
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
841
936
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
937
+ # resp.nodegroup.launch_template.name #=> String
938
+ # resp.nodegroup.launch_template.version #=> String
939
+ # resp.nodegroup.launch_template.id #=> String
842
940
  # resp.nodegroup.tags #=> Hash
843
941
  # resp.nodegroup.tags["TagKey"] #=> String
844
942
  #
@@ -912,6 +1010,7 @@ module Aws::EKS
912
1010
  # resp.cluster.resources_vpc_config.endpoint_private_access #=> Boolean
913
1011
  # resp.cluster.resources_vpc_config.public_access_cidrs #=> Array
914
1012
  # resp.cluster.resources_vpc_config.public_access_cidrs[0] #=> String
1013
+ # resp.cluster.kubernetes_network_config.service_ipv_4_cidr #=> String
915
1014
  # resp.cluster.logging.cluster_logging #=> Array
916
1015
  # resp.cluster.logging.cluster_logging[0].types #=> Array
917
1016
  # resp.cluster.logging.cluster_logging[0].types[0] #=> String, one of "api", "audit", "authenticator", "controllerManager", "scheduler"
@@ -1033,7 +1132,7 @@ module Aws::EKS
1033
1132
  # resp.nodegroup.remote_access.ec2_ssh_key #=> String
1034
1133
  # resp.nodegroup.remote_access.source_security_groups #=> Array
1035
1134
  # resp.nodegroup.remote_access.source_security_groups[0] #=> String
1036
- # resp.nodegroup.ami_type #=> String, one of "AL2_x86_64", "AL2_x86_64_GPU"
1135
+ # resp.nodegroup.ami_type #=> String, one of "AL2_x86_64", "AL2_x86_64_GPU", "AL2_ARM_64"
1037
1136
  # resp.nodegroup.node_role #=> String
1038
1137
  # resp.nodegroup.labels #=> Hash
1039
1138
  # resp.nodegroup.labels["labelKey"] #=> String
@@ -1046,6 +1145,9 @@ module Aws::EKS
1046
1145
  # resp.nodegroup.health.issues[0].message #=> String
1047
1146
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1048
1147
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
1148
+ # resp.nodegroup.launch_template.name #=> String
1149
+ # resp.nodegroup.launch_template.version #=> String
1150
+ # resp.nodegroup.launch_template.id #=> String
1049
1151
  # resp.nodegroup.tags #=> Hash
1050
1152
  # resp.nodegroup.tags["TagKey"] #=> String
1051
1153
  #
@@ -1140,6 +1242,7 @@ module Aws::EKS
1140
1242
  # resp.cluster.resources_vpc_config.endpoint_private_access #=> Boolean
1141
1243
  # resp.cluster.resources_vpc_config.public_access_cidrs #=> Array
1142
1244
  # resp.cluster.resources_vpc_config.public_access_cidrs[0] #=> String
1245
+ # resp.cluster.kubernetes_network_config.service_ipv_4_cidr #=> String
1143
1246
  # resp.cluster.logging.cluster_logging #=> Array
1144
1247
  # resp.cluster.logging.cluster_logging[0].types #=> Array
1145
1248
  # resp.cluster.logging.cluster_logging[0].types[0] #=> String, one of "api", "audit", "authenticator", "controllerManager", "scheduler"
@@ -1256,7 +1359,7 @@ module Aws::EKS
1256
1359
  # resp.nodegroup.remote_access.ec2_ssh_key #=> String
1257
1360
  # resp.nodegroup.remote_access.source_security_groups #=> Array
1258
1361
  # resp.nodegroup.remote_access.source_security_groups[0] #=> String
1259
- # resp.nodegroup.ami_type #=> String, one of "AL2_x86_64", "AL2_x86_64_GPU"
1362
+ # resp.nodegroup.ami_type #=> String, one of "AL2_x86_64", "AL2_x86_64_GPU", "AL2_ARM_64"
1260
1363
  # resp.nodegroup.node_role #=> String
1261
1364
  # resp.nodegroup.labels #=> Hash
1262
1365
  # resp.nodegroup.labels["labelKey"] #=> String
@@ -1269,6 +1372,9 @@ module Aws::EKS
1269
1372
  # resp.nodegroup.health.issues[0].message #=> String
1270
1373
  # resp.nodegroup.health.issues[0].resource_ids #=> Array
1271
1374
  # resp.nodegroup.health.issues[0].resource_ids[0] #=> String
1375
+ # resp.nodegroup.launch_template.name #=> String
1376
+ # resp.nodegroup.launch_template.version #=> String
1377
+ # resp.nodegroup.launch_template.id #=> String
1272
1378
  # resp.nodegroup.tags #=> Hash
1273
1379
  # resp.nodegroup.tags["TagKey"] #=> String
1274
1380
  #
@@ -1949,12 +2055,20 @@ module Aws::EKS
1949
2055
  # Updates the Kubernetes version or AMI version of an Amazon EKS managed
1950
2056
  # node group.
1951
2057
  #
1952
- # You can update to the latest available AMI version of a node group's
1953
- # current Kubernetes version by not specifying a Kubernetes version in
1954
- # the request. You can update to the latest AMI version of your
1955
- # cluster's current Kubernetes version by specifying your cluster's
1956
- # Kubernetes version in the request. For more information, see [Amazon
1957
- # EKS-Optimized Linux AMI Versions][1] in the *Amazon EKS User Guide*.
2058
+ # You can update a node group using a launch template only if the node
2059
+ # group was originally deployed with a launch template. If you need to
2060
+ # update a custom AMI in a node group that was deployed with a launch
2061
+ # template, then update your custom AMI, specify the new ID in a new
2062
+ # version of the launch template, and then update the node group to the
2063
+ # new version of the launch template.
2064
+ #
2065
+ # If you update without a launch template, then you can update to the
2066
+ # latest available AMI version of a node group's current Kubernetes
2067
+ # version by not specifying a Kubernetes version in the request. You can
2068
+ # update to the latest AMI version of your cluster's current Kubernetes
2069
+ # version by specifying your cluster's Kubernetes version in the
2070
+ # request. For more information, see [Amazon EKS-Optimized Linux AMI
2071
+ # Versions][1] in the *Amazon EKS User Guide*.
1958
2072
  #
1959
2073
  # You cannot roll back a node group to an earlier Kubernetes version or
1960
2074
  # AMI version.
@@ -1980,17 +2094,36 @@ module Aws::EKS
1980
2094
  # The Kubernetes version to update to. If no version is specified, then
1981
2095
  # the Kubernetes version of the node group does not change. You can
1982
2096
  # specify the Kubernetes version of the cluster to update the node group
1983
- # to the latest AMI version of the cluster's Kubernetes version.
2097
+ # to the latest AMI version of the cluster's Kubernetes version. If you
2098
+ # specify `launchTemplate`, and your launch template uses a custom AMI,
2099
+ # then don't specify `version`, or the node group update will fail. For
2100
+ # more information about using launch templates with Amazon EKS, see
2101
+ # [Launch template support][1] in the Amazon EKS User Guide.
2102
+ #
2103
+ #
2104
+ #
2105
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
1984
2106
  #
1985
2107
  # @option params [String] :release_version
1986
2108
  # The AMI version of the Amazon EKS-optimized AMI to use for the update.
1987
2109
  # By default, the latest available AMI version for the node group's
1988
2110
  # Kubernetes version is used. For more information, see [Amazon
1989
2111
  # EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS User Guide*.
2112
+ # If you specify `launchTemplate`, and your launch template uses a
2113
+ # custom AMI, then don't specify `releaseVersion`, or the node group
2114
+ # update will fail. For more information about using launch templates
2115
+ # with Amazon EKS, see [Launch template support][2] in the Amazon EKS
2116
+ # User Guide.
1990
2117
  #
1991
2118
  #
1992
2119
  #
1993
2120
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
2121
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
2122
+ #
2123
+ # @option params [Types::LaunchTemplateSpecification] :launch_template
2124
+ # An object representing a node group's launch template specification.
2125
+ # You can only update a node group using a launch template if the node
2126
+ # group was originally deployed with a launch template.
1994
2127
  #
1995
2128
  # @option params [Boolean] :force
1996
2129
  # Force the update if the existing node group's pods are unable to be
@@ -2017,6 +2150,11 @@ module Aws::EKS
2017
2150
  # nodegroup_name: "String", # required
2018
2151
  # version: "String",
2019
2152
  # release_version: "String",
2153
+ # launch_template: {
2154
+ # name: "String",
2155
+ # version: "String",
2156
+ # id: "String",
2157
+ # },
2020
2158
  # force: false,
2021
2159
  # client_request_token: "String",
2022
2160
  # })
@@ -2058,7 +2196,7 @@ module Aws::EKS
2058
2196
  params: params,
2059
2197
  config: config)
2060
2198
  context[:gem_name] = 'aws-sdk-eks'
2061
- context[:gem_version] = '1.39.0'
2199
+ context[:gem_version] = '1.44.0'
2062
2200
  Seahorse::Client::Request.new(handlers, context)
2063
2201
  end
2064
2202
 
@@ -62,6 +62,9 @@ module Aws::EKS
62
62
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
63
63
  Issue = Shapes::StructureShape.new(name: 'Issue')
64
64
  IssueList = Shapes::ListShape.new(name: 'IssueList')
65
+ KubernetesNetworkConfigRequest = Shapes::StructureShape.new(name: 'KubernetesNetworkConfigRequest')
66
+ KubernetesNetworkConfigResponse = Shapes::StructureShape.new(name: 'KubernetesNetworkConfigResponse')
67
+ LaunchTemplateSpecification = Shapes::StructureShape.new(name: 'LaunchTemplateSpecification')
65
68
  ListClustersRequest = Shapes::StructureShape.new(name: 'ListClustersRequest')
66
69
  ListClustersRequestMaxResults = Shapes::IntegerShape.new(name: 'ListClustersRequestMaxResults')
67
70
  ListClustersResponse = Shapes::StructureShape.new(name: 'ListClustersResponse')
@@ -152,6 +155,7 @@ module Aws::EKS
152
155
  Cluster.add_member(:endpoint, Shapes::ShapeRef.new(shape: String, location_name: "endpoint"))
153
156
  Cluster.add_member(:role_arn, Shapes::ShapeRef.new(shape: String, location_name: "roleArn"))
154
157
  Cluster.add_member(:resources_vpc_config, Shapes::ShapeRef.new(shape: VpcConfigResponse, location_name: "resourcesVpcConfig"))
158
+ Cluster.add_member(:kubernetes_network_config, Shapes::ShapeRef.new(shape: KubernetesNetworkConfigResponse, location_name: "kubernetesNetworkConfig"))
155
159
  Cluster.add_member(:logging, Shapes::ShapeRef.new(shape: Logging, location_name: "logging"))
156
160
  Cluster.add_member(:identity, Shapes::ShapeRef.new(shape: Identity, location_name: "identity"))
157
161
  Cluster.add_member(:status, Shapes::ShapeRef.new(shape: ClusterStatus, location_name: "status"))
@@ -166,6 +170,7 @@ module Aws::EKS
166
170
  CreateClusterRequest.add_member(:version, Shapes::ShapeRef.new(shape: String, location_name: "version"))
167
171
  CreateClusterRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "roleArn"))
168
172
  CreateClusterRequest.add_member(:resources_vpc_config, Shapes::ShapeRef.new(shape: VpcConfigRequest, required: true, location_name: "resourcesVpcConfig"))
173
+ CreateClusterRequest.add_member(:kubernetes_network_config, Shapes::ShapeRef.new(shape: KubernetesNetworkConfigRequest, location_name: "kubernetesNetworkConfig"))
169
174
  CreateClusterRequest.add_member(:logging, Shapes::ShapeRef.new(shape: Logging, location_name: "logging"))
170
175
  CreateClusterRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
171
176
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
@@ -199,6 +204,7 @@ module Aws::EKS
199
204
  CreateNodegroupRequest.add_member(:labels, Shapes::ShapeRef.new(shape: labelsMap, location_name: "labels"))
200
205
  CreateNodegroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
201
206
  CreateNodegroupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
207
+ CreateNodegroupRequest.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate"))
202
208
  CreateNodegroupRequest.add_member(:version, Shapes::ShapeRef.new(shape: String, location_name: "version"))
203
209
  CreateNodegroupRequest.add_member(:release_version, Shapes::ShapeRef.new(shape: String, location_name: "releaseVersion"))
204
210
  CreateNodegroupRequest.struct_class = Types::CreateNodegroupRequest
@@ -308,6 +314,17 @@ module Aws::EKS
308
314
 
309
315
  IssueList.member = Shapes::ShapeRef.new(shape: Issue)
310
316
 
317
+ KubernetesNetworkConfigRequest.add_member(:service_ipv_4_cidr, Shapes::ShapeRef.new(shape: String, location_name: "serviceIpv4Cidr"))
318
+ KubernetesNetworkConfigRequest.struct_class = Types::KubernetesNetworkConfigRequest
319
+
320
+ KubernetesNetworkConfigResponse.add_member(:service_ipv_4_cidr, Shapes::ShapeRef.new(shape: String, location_name: "serviceIpv4Cidr"))
321
+ KubernetesNetworkConfigResponse.struct_class = Types::KubernetesNetworkConfigResponse
322
+
323
+ LaunchTemplateSpecification.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
324
+ LaunchTemplateSpecification.add_member(:version, Shapes::ShapeRef.new(shape: String, location_name: "version"))
325
+ LaunchTemplateSpecification.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
326
+ LaunchTemplateSpecification.struct_class = Types::LaunchTemplateSpecification
327
+
311
328
  ListClustersRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListClustersRequestMaxResults, location: "querystring", location_name: "maxResults"))
312
329
  ListClustersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location: "querystring", location_name: "nextToken"))
313
330
  ListClustersRequest.struct_class = Types::ListClustersRequest
@@ -379,6 +396,7 @@ module Aws::EKS
379
396
  Nodegroup.add_member(:resources, Shapes::ShapeRef.new(shape: NodegroupResources, location_name: "resources"))
380
397
  Nodegroup.add_member(:disk_size, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "diskSize"))
381
398
  Nodegroup.add_member(:health, Shapes::ShapeRef.new(shape: NodegroupHealth, location_name: "health"))
399
+ Nodegroup.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate"))
382
400
  Nodegroup.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
383
401
  Nodegroup.struct_class = Types::Nodegroup
384
402
 
@@ -499,6 +517,7 @@ module Aws::EKS
499
517
  UpdateNodegroupVersionRequest.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "nodegroupName"))
500
518
  UpdateNodegroupVersionRequest.add_member(:version, Shapes::ShapeRef.new(shape: String, location_name: "version"))
501
519
  UpdateNodegroupVersionRequest.add_member(:release_version, Shapes::ShapeRef.new(shape: String, location_name: "releaseVersion"))
520
+ UpdateNodegroupVersionRequest.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate"))
502
521
  UpdateNodegroupVersionRequest.add_member(:force, Shapes::ShapeRef.new(shape: Boolean, location_name: "force"))
503
522
  UpdateNodegroupVersionRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
504
523
  UpdateNodegroupVersionRequest.struct_class = Types::UpdateNodegroupVersionRequest
@@ -126,6 +126,10 @@ module Aws::EKS
126
126
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
127
127
  # @return [Types::VpcConfigResponse]
128
128
  #
129
+ # @!attribute [rw] kubernetes_network_config
130
+ # Network configuration settings for your cluster.
131
+ # @return [Types::KubernetesNetworkConfigResponse]
132
+ #
129
133
  # @!attribute [rw] logging
130
134
  # The logging configuration for your cluster.
131
135
  # @return [Types::Logging]
@@ -178,6 +182,7 @@ module Aws::EKS
178
182
  :endpoint,
179
183
  :role_arn,
180
184
  :resources_vpc_config,
185
+ :kubernetes_network_config,
181
186
  :logging,
182
187
  :identity,
183
188
  :status,
@@ -204,6 +209,9 @@ module Aws::EKS
204
209
  # endpoint_private_access: false,
205
210
  # public_access_cidrs: ["String"],
206
211
  # },
212
+ # kubernetes_network_config: {
213
+ # service_ipv_4_cidr: "String",
214
+ # },
207
215
  # logging: {
208
216
  # cluster_logging: [
209
217
  # {
@@ -238,9 +246,9 @@ module Aws::EKS
238
246
  #
239
247
  # @!attribute [rw] role_arn
240
248
  # The Amazon Resource Name (ARN) of the IAM role that provides
241
- # permissions for Amazon EKS to make calls to other AWS API operations
242
- # on your behalf. For more information, see [Amazon EKS Service IAM
243
- # Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
249
+ # permissions for the Kubernetes control plane to make calls to AWS
250
+ # API operations on your behalf. For more information, see [Amazon EKS
251
+ # Service IAM Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
244
252
  #
245
253
  #
246
254
  #
@@ -262,6 +270,10 @@ module Aws::EKS
262
270
  # [2]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
263
271
  # @return [Types::VpcConfigRequest]
264
272
  #
273
+ # @!attribute [rw] kubernetes_network_config
274
+ # The Kubernetes network configuration for the cluster.
275
+ # @return [Types::KubernetesNetworkConfigRequest]
276
+ #
265
277
  # @!attribute [rw] logging
266
278
  # Enable or disable exporting the Kubernetes control plane logs for
267
279
  # your cluster to CloudWatch Logs. By default, cluster control plane
@@ -306,6 +318,7 @@ module Aws::EKS
306
318
  :version,
307
319
  :role_arn,
308
320
  :resources_vpc_config,
321
+ :kubernetes_network_config,
309
322
  :logging,
310
323
  :client_request_token,
311
324
  :tags,
@@ -439,7 +452,7 @@ module Aws::EKS
439
452
  # disk_size: 1,
440
453
  # subnets: ["String"], # required
441
454
  # instance_types: ["String"],
442
- # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU
455
+ # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64
443
456
  # remote_access: {
444
457
  # ec2_ssh_key: "String",
445
458
  # source_security_groups: ["String"],
@@ -452,6 +465,11 @@ module Aws::EKS
452
465
  # "TagKey" => "TagValue",
453
466
  # },
454
467
  # client_request_token: "String",
468
+ # launch_template: {
469
+ # name: "String",
470
+ # version: "String",
471
+ # id: "String",
472
+ # },
455
473
  # version: "String",
456
474
  # release_version: "String",
457
475
  # }
@@ -471,33 +489,73 @@ module Aws::EKS
471
489
  #
472
490
  # @!attribute [rw] disk_size
473
491
  # The root device disk size (in GiB) for your node group instances.
474
- # The default disk size is 20 GiB.
492
+ # The default disk size is 20 GiB. If you specify `launchTemplate`,
493
+ # then don't specify `diskSize`, or the node group deployment will
494
+ # fail. For more information about using launch templates with Amazon
495
+ # EKS, see [Launch template support][1] in the Amazon EKS User Guide.
496
+ #
497
+ #
498
+ #
499
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
475
500
  # @return [Integer]
476
501
  #
477
502
  # @!attribute [rw] subnets
478
503
  # The subnets to use for the Auto Scaling group that is created for
479
504
  # your node group. These subnets must have the tag key
480
505
  # `kubernetes.io/cluster/CLUSTER_NAME` with a value of `shared`, where
481
- # `CLUSTER_NAME` is replaced with the name of your cluster.
506
+ # `CLUSTER_NAME` is replaced with the name of your cluster. If you
507
+ # specify `launchTemplate`, then don't specify [ `SubnetId` ][1] in
508
+ # your launch template, or the node group deployment will fail. For
509
+ # more information about using launch templates with Amazon EKS, see
510
+ # [Launch template support][2] in the Amazon EKS User Guide.
511
+ #
512
+ #
513
+ #
514
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html
515
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
482
516
  # @return [Array<String>]
483
517
  #
484
518
  # @!attribute [rw] instance_types
485
- # The instance type to use for your node group. Currently, you can
486
- # specify a single instance type for a node group. The default value
487
- # for this parameter is `t3.medium`. If you choose a GPU instance
488
- # type, be sure to specify the `AL2_x86_64_GPU` with the `amiType`
489
- # parameter.
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
490
531
  # @return [Array<String>]
491
532
  #
492
533
  # @!attribute [rw] ami_type
493
534
  # The AMI type for your node group. GPU instance types should use the
494
- # `AL2_x86_64_GPU` AMI type, which uses the Amazon EKS-optimized Linux
495
- # AMI with GPU support. Non-GPU instances should use the `AL2_x86_64`
496
- # AMI type, which uses the Amazon EKS-optimized Linux AMI.
535
+ # `AL2_x86_64_GPU` AMI type. Non-GPU instances should use the
536
+ # `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
538
+ # you specify `launchTemplate`, and your launch template uses a custom
539
+ # AMI, then don't specify `amiType`, or the node group deployment
540
+ # will fail. For more information about using launch templates with
541
+ # Amazon EKS, see [Launch template support][1] in the Amazon EKS User
542
+ # Guide.
543
+ #
544
+ #
545
+ #
546
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
497
547
  # @return [String]
498
548
  #
499
549
  # @!attribute [rw] remote_access
500
550
  # The remote access (SSH) configuration to use with your node group.
551
+ # If you specify `launchTemplate`, then don't specify `remoteAccess`,
552
+ # or the node group deployment will fail. For more information about
553
+ # using launch templates with Amazon EKS, see [Launch template
554
+ # support][1] in the Amazon EKS User Guide.
555
+ #
556
+ #
557
+ #
558
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
501
559
  # @return [Types::RemoteAccessConfig]
502
560
  #
503
561
  # @!attribute [rw] node_role
@@ -508,11 +566,18 @@ module Aws::EKS
508
566
  # policies. Before you can launch worker nodes and register them into
509
567
  # a cluster, you must create an IAM role for those worker nodes to use
510
568
  # when they are launched. For more information, see [Amazon EKS Worker
511
- # Node IAM Role][1] in the <i> <i>Amazon EKS User Guide</i> </i>.
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.
512
575
  #
513
576
  #
514
577
  #
515
578
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
579
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html
580
+ # [3]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
516
581
  # @return [String]
517
582
  #
518
583
  # @!attribute [rw] labels
@@ -536,10 +601,25 @@ module Aws::EKS
536
601
  # not need to pass this option.
537
602
  # @return [String]
538
603
  #
604
+ # @!attribute [rw] launch_template
605
+ # An object representing a node group's launch template
606
+ # specification. If specified, then do not specify `instanceTypes`,
607
+ # `diskSize`, or `remoteAccess` and make sure that the launch template
608
+ # meets the requirements in `launchTemplateSpecification`.
609
+ # @return [Types::LaunchTemplateSpecification]
610
+ #
539
611
  # @!attribute [rw] version
540
612
  # The Kubernetes version to use for your managed nodes. By default,
541
613
  # the Kubernetes version of the cluster is used, and this is the only
542
- # accepted specified value.
614
+ # accepted specified value. If you specify `launchTemplate`, and your
615
+ # launch template uses a custom AMI, then don't specify `version`, or
616
+ # the node group deployment will fail. For more information about
617
+ # using launch templates with Amazon EKS, see [Launch template
618
+ # support][1] in the Amazon EKS User Guide.
619
+ #
620
+ #
621
+ #
622
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
543
623
  # @return [String]
544
624
  #
545
625
  # @!attribute [rw] release_version
@@ -547,11 +627,16 @@ module Aws::EKS
547
627
  # node group. By default, the latest available AMI version for the
548
628
  # node group's current Kubernetes version is used. For more
549
629
  # information, see [Amazon EKS-Optimized Linux AMI Versions][1] in the
550
- # *Amazon EKS User Guide*.
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.
551
635
  #
552
636
  #
553
637
  #
554
638
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
639
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
555
640
  # @return [String]
556
641
  #
557
642
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroupRequest AWS API Documentation
@@ -569,6 +654,7 @@ module Aws::EKS
569
654
  :labels,
570
655
  :tags,
571
656
  :client_request_token,
657
+ :launch_template,
572
658
  :version,
573
659
  :release_version)
574
660
  SENSITIVE = []
@@ -1117,6 +1203,14 @@ module Aws::EKS
1117
1203
  # version that Amazon EKS created. You may be able to revert to the
1118
1204
  # version that Amazon EKS created to recover.
1119
1205
  #
1206
+ # * **Ec2SubnetInvalidConfiguration**\: One or more Amazon EC2 subnets
1207
+ # specified for a node group do not automatically assign public IP
1208
+ # addresses to instances launched into it. If you want your
1209
+ # instances to be assigned a public IP address, then you need to
1210
+ # enable the `auto-assign public IP address` setting for the subnet.
1211
+ # See [Modifying the public IPv4 addressing attribute for your
1212
+ # subnet][1] in the Amazon VPC User Guide.
1213
+ #
1120
1214
  # * **IamInstanceProfileNotFound**\: We couldn't find the IAM
1121
1215
  # instance profile for your managed node group. You may be able to
1122
1216
  # recreate an instance profile with the same settings to recover.
@@ -1130,7 +1224,7 @@ module Aws::EKS
1130
1224
  #
1131
1225
  # * **NodeCreationFailure**\: Your launched instances are unable to
1132
1226
  # register with your Amazon EKS cluster. Common causes of this
1133
- # failure are insufficient [worker node IAM role][1] permissions or
1227
+ # failure are insufficient [worker node IAM role][2] permissions or
1134
1228
  # lack of outbound internet access for the nodes.
1135
1229
  #
1136
1230
  # * **InstanceLimitExceeded**\: Your AWS account is unable to launch
@@ -1149,7 +1243,8 @@ module Aws::EKS
1149
1243
  #
1150
1244
  #
1151
1245
  #
1152
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
1246
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip
1247
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
1153
1248
  # @return [String]
1154
1249
  #
1155
1250
  # @!attribute [rw] message
@@ -1170,6 +1265,115 @@ module Aws::EKS
1170
1265
  include Aws::Structure
1171
1266
  end
1172
1267
 
1268
+ # The Kubernetes network configuration for the cluster.
1269
+ #
1270
+ # @note When making an API call, you may pass KubernetesNetworkConfigRequest
1271
+ # data as a hash:
1272
+ #
1273
+ # {
1274
+ # service_ipv_4_cidr: "String",
1275
+ # }
1276
+ #
1277
+ # @!attribute [rw] service_ipv_4_cidr
1278
+ # The CIDR block to assign Kubernetes service IP addresses from. If
1279
+ # you don't specify a block, Kubernetes assigns addresses from either
1280
+ # the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that
1281
+ # you specify a block that does not overlap with resources in other
1282
+ # networks that are peered or connected to your VPC. The block must
1283
+ # meet the following requirements:
1284
+ #
1285
+ # * Within one of the following private IP address blocks: 10.0.0.0/8,
1286
+ # 172.16.0.0.0/12, or 192.168.0.0/16.
1287
+ #
1288
+ # * Doesn't overlap with any CIDR block assigned to the VPC that you
1289
+ # selected for VPC.
1290
+ #
1291
+ # * Between /24 and /12.
1292
+ #
1293
+ # You can only specify a custom CIDR block when you create a cluster
1294
+ # and can't change this value once the cluster is created.
1295
+ # @return [String]
1296
+ #
1297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/KubernetesNetworkConfigRequest AWS API Documentation
1298
+ #
1299
+ class KubernetesNetworkConfigRequest < Struct.new(
1300
+ :service_ipv_4_cidr)
1301
+ SENSITIVE = []
1302
+ include Aws::Structure
1303
+ end
1304
+
1305
+ # The Kubernetes network configuration for the cluster.
1306
+ #
1307
+ # @!attribute [rw] service_ipv_4_cidr
1308
+ # 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.
1313
+ # @return [String]
1314
+ #
1315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/KubernetesNetworkConfigResponse AWS API Documentation
1316
+ #
1317
+ class KubernetesNetworkConfigResponse < Struct.new(
1318
+ :service_ipv_4_cidr)
1319
+ SENSITIVE = []
1320
+ include Aws::Structure
1321
+ end
1322
+
1323
+ # An object representing a node group launch template specification. The
1324
+ # launch template cannot include [ `SubnetId` ][1], [
1325
+ # `IamInstanceProfile` ][2], [ `RequestSpotInstances` ][3], [
1326
+ # `HibernationOptions` ][4], or [ `TerminateInstances` ][5], or the node
1327
+ # group deployment or update will fail. For more information about
1328
+ # launch templates, see [ `CreateLaunchTemplate` ][6] in the Amazon EC2
1329
+ # API Reference. For more information about using launch templates with
1330
+ # Amazon EKS, see [Launch template support][7] in the Amazon EKS User
1331
+ # Guide.
1332
+ #
1333
+ # Specify either `name` or `id`, but not both.
1334
+ #
1335
+ #
1336
+ #
1337
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html
1338
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html
1339
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html
1340
+ # [4]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_HibernationOptionsRequest.html
1341
+ # [5]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html
1342
+ # [6]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html
1343
+ # [7]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
1344
+ #
1345
+ # @note When making an API call, you may pass LaunchTemplateSpecification
1346
+ # data as a hash:
1347
+ #
1348
+ # {
1349
+ # name: "String",
1350
+ # version: "String",
1351
+ # id: "String",
1352
+ # }
1353
+ #
1354
+ # @!attribute [rw] name
1355
+ # The name of the launch template.
1356
+ # @return [String]
1357
+ #
1358
+ # @!attribute [rw] version
1359
+ # The version of the launch template to use. If no version is
1360
+ # specified, then the template's default version is used.
1361
+ # @return [String]
1362
+ #
1363
+ # @!attribute [rw] id
1364
+ # The ID of the launch template.
1365
+ # @return [String]
1366
+ #
1367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/LaunchTemplateSpecification AWS API Documentation
1368
+ #
1369
+ class LaunchTemplateSpecification < Struct.new(
1370
+ :name,
1371
+ :version,
1372
+ :id)
1373
+ SENSITIVE = []
1374
+ include Aws::Structure
1375
+ end
1376
+
1173
1377
  # @note When making an API call, you may pass ListClustersRequest
1174
1378
  # data as a hash:
1175
1379
  #
@@ -1541,13 +1745,11 @@ module Aws::EKS
1541
1745
  # @return [String]
1542
1746
  #
1543
1747
  # @!attribute [rw] release_version
1544
- # The AMI version of the managed node group. For more information, see
1545
- # [Amazon EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS
1546
- # User Guide*.
1547
- #
1548
- #
1549
- #
1550
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
1748
+ # If the node group was deployed using a launch template with a custom
1749
+ # AMI, then this is the AMI ID that was specified in the launch
1750
+ # template. For node groups that weren't deployed using a launch
1751
+ # template, this is the version of the Amazon EKS-optimized AMI that
1752
+ # the node group was deployed with.
1551
1753
  # @return [String]
1552
1754
  #
1553
1755
  # @!attribute [rw] created_at
@@ -1570,42 +1772,35 @@ module Aws::EKS
1570
1772
  # @return [Types::NodegroupScalingConfig]
1571
1773
  #
1572
1774
  # @!attribute [rw] instance_types
1573
- # The instance types associated with your node group.
1775
+ # If the node group wasn't deployed with a launch template, then this
1776
+ # is the instance type that is associated with the node group. If the
1777
+ # node group was deployed with a launch template, then this is `null`.
1574
1778
  # @return [Array<String>]
1575
1779
  #
1576
1780
  # @!attribute [rw] subnets
1577
- # The subnets allowed for the Auto Scaling group that is associated
1578
- # with your node group. These subnets must have the following tag:
1579
- # `kubernetes.io/cluster/CLUSTER_NAME`, where `CLUSTER_NAME` is
1580
- # replaced with the name of your cluster.
1781
+ # The subnets that were specified for the Auto Scaling group that is
1782
+ # associated with your node group.
1581
1783
  # @return [Array<String>]
1582
1784
  #
1583
1785
  # @!attribute [rw] remote_access
1584
- # The remote access (SSH) configuration that is associated with the
1585
- # node group.
1786
+ # If the node group wasn't deployed with a launch template, then this
1787
+ # is the remote access configuration that is associated with the node
1788
+ # group. If the node group was deployed with a launch template, then
1789
+ # this is `null`.
1586
1790
  # @return [Types::RemoteAccessConfig]
1587
1791
  #
1588
1792
  # @!attribute [rw] ami_type
1589
- # The AMI type associated with your node group. GPU instance types
1590
- # should use the `AL2_x86_64_GPU` AMI type, which uses the Amazon
1591
- # EKS-optimized Linux AMI with GPU support. Non-GPU instances should
1592
- # use the `AL2_x86_64` AMI type, which uses the Amazon EKS-optimized
1593
- # Linux AMI.
1793
+ # If the node group was deployed using a launch template with a custom
1794
+ # AMI, then this is `CUSTOM`. For node groups that weren't deployed
1795
+ # using a launch template, this is the AMI type that was specified in
1796
+ # the node group configuration.
1594
1797
  # @return [String]
1595
1798
  #
1596
1799
  # @!attribute [rw] node_role
1597
1800
  # The IAM role associated with your node group. The Amazon EKS worker
1598
1801
  # node `kubelet` daemon makes calls to AWS APIs on your behalf. Worker
1599
1802
  # nodes receive permissions for these API calls through an IAM
1600
- # instance profile and associated policies. Before you can launch
1601
- # worker nodes and register them into a cluster, you must create an
1602
- # IAM role for those worker nodes to use when they are launched. For
1603
- # more information, see [Amazon EKS Worker Node IAM Role][1] in the
1604
- # <i> <i>Amazon EKS User Guide</i> </i>.
1605
- #
1606
- #
1607
- #
1608
- # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
1803
+ # instance profile and associated policies.
1609
1804
  # @return [String]
1610
1805
  #
1611
1806
  # @!attribute [rw] labels
@@ -1624,8 +1819,9 @@ module Aws::EKS
1624
1819
  # @return [Types::NodegroupResources]
1625
1820
  #
1626
1821
  # @!attribute [rw] disk_size
1627
- # The root device disk size (in GiB) for your node group instances.
1628
- # The default disk size is 20 GiB.
1822
+ # If the node group wasn't deployed with a launch template, then this
1823
+ # is the disk size in the node group configuration. If the node group
1824
+ # was deployed with a launch template, then this is `null`.
1629
1825
  # @return [Integer]
1630
1826
  #
1631
1827
  # @!attribute [rw] health
@@ -1633,6 +1829,11 @@ module Aws::EKS
1633
1829
  # node group's health, they are listed here.
1634
1830
  # @return [Types::NodegroupHealth]
1635
1831
  #
1832
+ # @!attribute [rw] launch_template
1833
+ # If a launch template was used to create the node group, then this is
1834
+ # the launch template that was used.
1835
+ # @return [Types::LaunchTemplateSpecification]
1836
+ #
1636
1837
  # @!attribute [rw] tags
1637
1838
  # The metadata applied to the node group to assist with categorization
1638
1839
  # and organization. Each tag consists of a key and an optional value,
@@ -1662,6 +1863,7 @@ module Aws::EKS
1662
1863
  :resources,
1663
1864
  :disk_size,
1664
1865
  :health,
1866
+ :launch_template,
1665
1867
  :tags)
1666
1868
  SENSITIVE = []
1667
1869
  include Aws::Structure
@@ -1703,7 +1905,9 @@ module Aws::EKS
1703
1905
  end
1704
1906
 
1705
1907
  # An object representing the scaling configuration details for the Auto
1706
- # Scaling group that is associated with your node group.
1908
+ # Scaling group that is associated with your node group. If you specify
1909
+ # a value for any property, then you must specify values for all of the
1910
+ # properties.
1707
1911
  #
1708
1912
  # @note When making an API call, you may pass NodegroupScalingConfig
1709
1913
  # data as a hash:
@@ -2336,6 +2540,11 @@ module Aws::EKS
2336
2540
  # nodegroup_name: "String", # required
2337
2541
  # version: "String",
2338
2542
  # release_version: "String",
2543
+ # launch_template: {
2544
+ # name: "String",
2545
+ # version: "String",
2546
+ # id: "String",
2547
+ # },
2339
2548
  # force: false,
2340
2549
  # client_request_token: "String",
2341
2550
  # }
@@ -2354,7 +2563,15 @@ module Aws::EKS
2354
2563
  # then the Kubernetes version of the node group does not change. You
2355
2564
  # can specify the Kubernetes version of the cluster to update the node
2356
2565
  # group to the latest AMI version of the cluster's Kubernetes
2357
- # version.
2566
+ # version. If you specify `launchTemplate`, and your launch template
2567
+ # uses a custom AMI, then don't specify `version`, or the node group
2568
+ # update will fail. For more information about using launch templates
2569
+ # with Amazon EKS, see [Launch template support][1] in the Amazon EKS
2570
+ # User Guide.
2571
+ #
2572
+ #
2573
+ #
2574
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
2358
2575
  # @return [String]
2359
2576
  #
2360
2577
  # @!attribute [rw] release_version
@@ -2362,13 +2579,25 @@ module Aws::EKS
2362
2579
  # update. By default, the latest available AMI version for the node
2363
2580
  # group's Kubernetes version is used. For more information, see
2364
2581
  # [Amazon EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS
2365
- # User Guide*.
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.
2366
2587
  #
2367
2588
  #
2368
2589
  #
2369
2590
  # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
2591
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
2370
2592
  # @return [String]
2371
2593
  #
2594
+ # @!attribute [rw] launch_template
2595
+ # An object representing a node group's launch template
2596
+ # specification. You can only update a node group using a launch
2597
+ # template if the node group was originally deployed with a launch
2598
+ # template.
2599
+ # @return [Types::LaunchTemplateSpecification]
2600
+ #
2372
2601
  # @!attribute [rw] force
2373
2602
  # Force the update if the existing node group's pods are unable to be
2374
2603
  # drained due to a pod disruption budget issue. If an update fails
@@ -2392,6 +2621,7 @@ module Aws::EKS
2392
2621
  :nodegroup_name,
2393
2622
  :version,
2394
2623
  :release_version,
2624
+ :launch_template,
2395
2625
  :force,
2396
2626
  :client_request_token)
2397
2627
  SENSITIVE = []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-eks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.39.0
4
+ version: 1.44.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-23 00:00:00.000000000 Z
11
+ date: 2020-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.99.0
22
+ version: 3.109.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.99.0
32
+ version: 3.109.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement