@aws-sdk/client-eks 3.825.0 → 3.828.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.
package/dist-cjs/index.js CHANGED
@@ -1323,10 +1323,12 @@ var se_CreatePodIdentityAssociationCommand = /* @__PURE__ */ __name(async (input
1323
1323
  body = JSON.stringify(
1324
1324
  (0, import_smithy_client.take)(input, {
1325
1325
  clientRequestToken: [true, (_) => _ ?? (0, import_uuid.v4)()],
1326
+ disableSessionTags: [],
1326
1327
  namespace: [],
1327
1328
  roleArn: [],
1328
1329
  serviceAccount: [],
1329
- tags: /* @__PURE__ */ __name((_) => (0, import_smithy_client._json)(_), "tags")
1330
+ tags: /* @__PURE__ */ __name((_) => (0, import_smithy_client._json)(_), "tags"),
1331
+ targetRoleArn: []
1330
1332
  })
1331
1333
  );
1332
1334
  b.m("POST").h(headers).b(body);
@@ -1972,7 +1974,9 @@ var se_UpdatePodIdentityAssociationCommand = /* @__PURE__ */ __name(async (input
1972
1974
  body = JSON.stringify(
1973
1975
  (0, import_smithy_client.take)(input, {
1974
1976
  clientRequestToken: [true, (_) => _ ?? (0, import_uuid.v4)()],
1975
- roleArn: []
1977
+ disableSessionTags: [],
1978
+ roleArn: [],
1979
+ targetRoleArn: []
1976
1980
  })
1977
1981
  );
1978
1982
  b.m("POST").h(headers).b(body);
@@ -3316,12 +3320,15 @@ var de_PodIdentityAssociation = /* @__PURE__ */ __name((output, context) => {
3316
3320
  associationId: import_smithy_client.expectString,
3317
3321
  clusterName: import_smithy_client.expectString,
3318
3322
  createdAt: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "createdAt"),
3323
+ disableSessionTags: import_smithy_client.expectBoolean,
3324
+ externalId: import_smithy_client.expectString,
3319
3325
  modifiedAt: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "modifiedAt"),
3320
3326
  namespace: import_smithy_client.expectString,
3321
3327
  ownerArn: import_smithy_client.expectString,
3322
3328
  roleArn: import_smithy_client.expectString,
3323
3329
  serviceAccount: import_smithy_client.expectString,
3324
- tags: import_smithy_client._json
3330
+ tags: import_smithy_client._json,
3331
+ targetRoleArn: import_smithy_client.expectString
3325
3332
  });
3326
3333
  }, "de_PodIdentityAssociation");
3327
3334
  var de_Update = /* @__PURE__ */ __name((output, context) => {
@@ -199,10 +199,12 @@ export const se_CreatePodIdentityAssociationCommand = async (input, context) =>
199
199
  let body;
200
200
  body = JSON.stringify(take(input, {
201
201
  clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],
202
+ disableSessionTags: [],
202
203
  namespace: [],
203
204
  roleArn: [],
204
205
  serviceAccount: [],
205
206
  tags: (_) => _json(_),
207
+ targetRoleArn: [],
206
208
  }));
207
209
  b.m("POST").h(headers).b(body);
208
210
  return b.build();
@@ -822,7 +824,9 @@ export const se_UpdatePodIdentityAssociationCommand = async (input, context) =>
822
824
  let body;
823
825
  body = JSON.stringify(take(input, {
824
826
  clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],
827
+ disableSessionTags: [],
825
828
  roleArn: [],
829
+ targetRoleArn: [],
826
830
  }));
827
831
  b.m("POST").h(headers).b(body);
828
832
  return b.build();
@@ -2177,12 +2181,15 @@ const de_PodIdentityAssociation = (output, context) => {
2177
2181
  associationId: __expectString,
2178
2182
  clusterName: __expectString,
2179
2183
  createdAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
2184
+ disableSessionTags: __expectBoolean,
2185
+ externalId: __expectString,
2180
2186
  modifiedAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
2181
2187
  namespace: __expectString,
2182
2188
  ownerArn: __expectString,
2183
2189
  roleArn: __expectString,
2184
2190
  serviceAccount: __expectString,
2185
2191
  tags: _json,
2192
+ targetRoleArn: __expectString,
2186
2193
  });
2187
2194
  };
2188
2195
  const de_Update = (output, context) => {
@@ -44,7 +44,9 @@ declare const CreateClusterCommand_base: {
44
44
  * <p>You can use the <code>endpointPublicAccess</code> and
45
45
  * <code>endpointPrivateAccess</code> parameters to enable or disable public and
46
46
  * private access to your cluster's Kubernetes API server endpoint. By default, public access is
47
- * enabled, and private access is disabled. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Amazon EKS Cluster
47
+ * enabled, and private access is disabled. The
48
+ * endpoint domain name and IP address family depends on the value of the
49
+ * <code>ipFamily</code> for the cluster. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Amazon EKS Cluster
48
50
  * Endpoint Access Control</a> in the <i>
49
51
  * <i>Amazon EKS User Guide</i>
50
52
  * </i>. </p>
@@ -29,15 +29,27 @@ declare const CreatePodIdentityAssociationCommand_base: {
29
29
  /**
30
30
  * <p>Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role
31
31
  * with <i>EKS Pod Identity</i>. Use EKS Pod Identity to give temporary IAM credentials to
32
- * pods and the credentials are rotated automatically.</p>
32
+ * Pods and the credentials are rotated automatically.</p>
33
33
  * <p>Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.</p>
34
- * <p>If a pod uses a service account that has an association, Amazon EKS sets environment variables
35
- * in the containers of the pod. The environment variables configure the Amazon Web Services SDKs,
34
+ * <p>If a Pod uses a service account that has an association, Amazon EKS sets environment variables
35
+ * in the containers of the Pod. The environment variables configure the Amazon Web Services SDKs,
36
36
  * including the Command Line Interface, to use the EKS Pod Identity credentials.</p>
37
- * <p>Pod Identity is a simpler method than <i>IAM roles for service
37
+ * <p>EKS Pod Identity is a simpler method than <i>IAM roles for service
38
38
  * accounts</i>, as this method doesn't use OIDC identity providers.
39
- * Additionally, you can configure a role for Pod Identity once, and reuse it across
39
+ * Additionally, you can configure a role for EKS Pod Identity once, and reuse it across
40
40
  * clusters.</p>
41
+ * <p>Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent,
42
+ * and may take several seconds to be effective after the initial API call returns
43
+ * successfully. You must design your applications to account for these potential delays.
44
+ * We recommend that you don’t include association create/updates in the
45
+ * critical, high-availability code paths of your application. Instead, make changes in a
46
+ * separate initialization or setup routine that you run less frequently.</p>
47
+ * <p>You can set a <i>target IAM role</i> in the same or a different
48
+ * account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two
49
+ * role assumptions in sequence: first assuming the role in the association that is in this
50
+ * account, then using those credentials to assume the target IAM role. This process
51
+ * provides your Pod with temporary credentials that have the permissions defined in the
52
+ * target role, allowing secure access to resources in another Amazon Web Services account.</p>
41
53
  * @example
42
54
  * Use a bare-bones client and the command you need to make an API call.
43
55
  * ```javascript
@@ -53,6 +65,8 @@ declare const CreatePodIdentityAssociationCommand_base: {
53
65
  * tags: { // TagMap
54
66
  * "<keys>": "STRING_VALUE",
55
67
  * },
68
+ * disableSessionTags: true || false,
69
+ * targetRoleArn: "STRING_VALUE",
56
70
  * };
57
71
  * const command = new CreatePodIdentityAssociationCommand(input);
58
72
  * const response = await client.send(command);
@@ -70,6 +84,9 @@ declare const CreatePodIdentityAssociationCommand_base: {
70
84
  * // createdAt: new Date("TIMESTAMP"),
71
85
  * // modifiedAt: new Date("TIMESTAMP"),
72
86
  * // ownerArn: "STRING_VALUE",
87
+ * // disableSessionTags: true || false,
88
+ * // targetRoleArn: "STRING_VALUE",
89
+ * // externalId: "STRING_VALUE",
73
90
  * // },
74
91
  * // };
75
92
  *
@@ -55,6 +55,9 @@ declare const DeletePodIdentityAssociationCommand_base: {
55
55
  * // createdAt: new Date("TIMESTAMP"),
56
56
  * // modifiedAt: new Date("TIMESTAMP"),
57
57
  * // ownerArn: "STRING_VALUE",
58
+ * // disableSessionTags: true || false,
59
+ * // targetRoleArn: "STRING_VALUE",
60
+ * // externalId: "STRING_VALUE",
58
61
  * // },
59
62
  * // };
60
63
  *
@@ -58,6 +58,9 @@ declare const DescribePodIdentityAssociationCommand_base: {
58
58
  * // createdAt: new Date("TIMESTAMP"),
59
59
  * // modifiedAt: new Date("TIMESTAMP"),
60
60
  * // ownerArn: "STRING_VALUE",
61
+ * // disableSessionTags: true || false,
62
+ * // targetRoleArn: "STRING_VALUE",
63
+ * // externalId: "STRING_VALUE",
61
64
  * // },
62
65
  * // };
63
66
  *
@@ -47,8 +47,8 @@ declare const UpdateClusterConfigCommand_base: {
47
47
  * <li>
48
48
  * <p>You can also use this API operation to enable or disable public and private
49
49
  * access to your cluster's Kubernetes API server endpoint. By default, public access is
50
- * enabled, and private access is disabled. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Amazon EKS
51
- * cluster endpoint access control</a> in the
50
+ * enabled, and private access is disabled. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">
51
+ * Cluster API server endpoint</a> in the
52
52
  * <i>
53
53
  * <i>Amazon EKS User Guide</i>
54
54
  * </i>.</p>
@@ -27,10 +27,23 @@ declare const UpdatePodIdentityAssociationCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Updates a EKS Pod Identity association. Only the IAM role can be changed; an association can't be moved
30
+ * <p>Updates a EKS Pod Identity association. In an update, you can change the IAM role, the target IAM role, or <code>disableSessionTags</code>.
31
+ * You must change at least one of these in an update. An association can't be moved
31
32
  * between clusters, namespaces, or service accounts. If you need to edit the namespace
32
33
  * or service account, you need to delete the association and then create a new
33
34
  * association with your desired settings.</p>
35
+ * <p>Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent,
36
+ * and may take several seconds to be effective after the initial API call returns
37
+ * successfully. You must design your applications to account for these potential delays.
38
+ * We recommend that you don’t include association create/updates in the
39
+ * critical, high-availability code paths of your application. Instead, make changes in a
40
+ * separate initialization or setup routine that you run less frequently.</p>
41
+ * <p>You can set a <i>target IAM role</i> in the same or a different
42
+ * account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two
43
+ * role assumptions in sequence: first assuming the role in the association that is in this
44
+ * account, then using those credentials to assume the target IAM role. This process
45
+ * provides your Pod with temporary credentials that have the permissions defined in the
46
+ * target role, allowing secure access to resources in another Amazon Web Services account.</p>
34
47
  * @example
35
48
  * Use a bare-bones client and the command you need to make an API call.
36
49
  * ```javascript
@@ -42,6 +55,8 @@ declare const UpdatePodIdentityAssociationCommand_base: {
42
55
  * associationId: "STRING_VALUE", // required
43
56
  * roleArn: "STRING_VALUE",
44
57
  * clientRequestToken: "STRING_VALUE",
58
+ * disableSessionTags: true || false,
59
+ * targetRoleArn: "STRING_VALUE",
45
60
  * };
46
61
  * const command = new UpdatePodIdentityAssociationCommand(input);
47
62
  * const response = await client.send(command);
@@ -59,6 +74,9 @@ declare const UpdatePodIdentityAssociationCommand_base: {
59
74
  * // createdAt: new Date("TIMESTAMP"),
60
75
  * // modifiedAt: new Date("TIMESTAMP"),
61
76
  * // ownerArn: "STRING_VALUE",
77
+ * // disableSessionTags: true || false,
78
+ * // targetRoleArn: "STRING_VALUE",
79
+ * // externalId: "STRING_VALUE",
62
80
  * // },
63
81
  * // };
64
82
  *
@@ -334,10 +334,10 @@ export interface Addon {
334
334
  */
335
335
  configurationValues?: string | undefined;
336
336
  /**
337
- * <p>An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity
338
- * association maps a role to a service account in a namespace in the cluster.</p>
337
+ * <p>An array of EKS Pod Identity associations owned by the add-on. Each association maps a role to a service
338
+ * account in a namespace in the cluster.</p>
339
339
  * <p>For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html">Attach an IAM Role to an Amazon EKS add-on
340
- * using Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
340
+ * using EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
341
341
  * @public
342
342
  */
343
343
  podIdentityAssociations?: string[] | undefined;
@@ -396,7 +396,7 @@ export interface AddonVersionInfo {
396
396
  */
397
397
  architecture?: string[] | undefined;
398
398
  /**
399
- * <p>Indicates the compute type of the addon version.</p>
399
+ * <p>Indicates the compute type of the add-on version.</p>
400
400
  * @public
401
401
  */
402
402
  computeTypes?: string[] | undefined;
@@ -411,7 +411,7 @@ export interface AddonVersionInfo {
411
411
  */
412
412
  requiresConfiguration?: boolean | undefined;
413
413
  /**
414
- * <p>Indicates if the Addon requires IAM Permissions to operate, such as networking
414
+ * <p>Indicates if the add-on requires IAM Permissions to operate, such as networking
415
415
  * permissions.</p>
416
416
  * @public
417
417
  */
@@ -455,11 +455,11 @@ export interface AddonInfo {
455
455
  marketplaceInformation?: MarketplaceInformation | undefined;
456
456
  }
457
457
  /**
458
- * <p>A type of Pod Identity Association owned by an Amazon EKS Add-on.</p>
459
- * <p>Each EKS Pod Identity Association maps a role to a service account in a namespace in
458
+ * <p>A type of EKS Pod Identity association owned by an Amazon EKS add-on.</p>
459
+ * <p>Each association maps a role to a service account in a namespace in
460
460
  * the cluster.</p>
461
461
  * <p>For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html">Attach an IAM Role to an Amazon EKS add-on
462
- * using Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
462
+ * using EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
463
463
  * @public
464
464
  */
465
465
  export interface AddonPodIdentityAssociations {
@@ -475,17 +475,17 @@ export interface AddonPodIdentityAssociations {
475
475
  roleArn: string | undefined;
476
476
  }
477
477
  /**
478
- * <p>Information about how to configure IAM for an Addon.</p>
478
+ * <p>Information about how to configure IAM for an add-on.</p>
479
479
  * @public
480
480
  */
481
481
  export interface AddonPodIdentityConfiguration {
482
482
  /**
483
- * <p>The Kubernetes Service Account name used by the addon.</p>
483
+ * <p>The Kubernetes Service Account name used by the add-on.</p>
484
484
  * @public
485
485
  */
486
486
  serviceAccount?: string | undefined;
487
487
  /**
488
- * <p>A suggested IAM Policy for the addon.</p>
488
+ * <p>A suggested IAM Policy for the add-on.</p>
489
489
  * @public
490
490
  */
491
491
  recommendedManagedPolicies?: string[] | undefined;
@@ -1467,10 +1467,10 @@ export interface CreateAddonRequest {
1467
1467
  */
1468
1468
  configurationValues?: string | undefined;
1469
1469
  /**
1470
- * <p>An array of Pod Identity Assocations to be created. Each EKS Pod Identity association
1471
- * maps a Kubernetes service account to an IAM Role.</p>
1470
+ * <p>An array of EKS Pod Identity associations to be created. Each association maps a Kubernetes service account to
1471
+ * an IAM role.</p>
1472
1472
  * <p>For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html">Attach an IAM Role to an Amazon EKS add-on
1473
- * using Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
1473
+ * using EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
1474
1474
  * @public
1475
1475
  */
1476
1476
  podIdentityAssociations?: AddonPodIdentityAssociations[] | undefined;
@@ -1725,7 +1725,7 @@ export interface OutpostConfigRequest {
1725
1725
  * <ul>
1726
1726
  * <li>
1727
1727
  * <p>Each block must be within an <code>IPv4</code> RFC-1918 network range. Minimum
1728
- * allowed size is /24, maximum allowed size is /8. Publicly-routable addresses
1728
+ * allowed size is /32, maximum allowed size is /8. Publicly-routable addresses
1729
1729
  * aren't supported.</p>
1730
1730
  * </li>
1731
1731
  * <li>
@@ -1764,7 +1764,7 @@ export interface RemoteNodeNetwork {
1764
1764
  * <ul>
1765
1765
  * <li>
1766
1766
  * <p>Each block must be within an <code>IPv4</code> RFC-1918 network range. Minimum
1767
- * allowed size is /24, maximum allowed size is /8. Publicly-routable addresses
1767
+ * allowed size is /32, maximum allowed size is /8. Publicly-routable addresses
1768
1768
  * aren't supported.</p>
1769
1769
  * </li>
1770
1770
  * <li>
@@ -1805,7 +1805,7 @@ export interface RemoteNodeNetwork {
1805
1805
  * <ul>
1806
1806
  * <li>
1807
1807
  * <p>Each block must be within an <code>IPv4</code> RFC-1918 network range. Minimum
1808
- * allowed size is /24, maximum allowed size is /8. Publicly-routable addresses
1808
+ * allowed size is /32, maximum allowed size is /8. Publicly-routable addresses
1809
1809
  * aren't supported.</p>
1810
1810
  * </li>
1811
1811
  * <li>
@@ -1827,7 +1827,7 @@ export interface RemotePodNetwork {
1827
1827
  * <ul>
1828
1828
  * <li>
1829
1829
  * <p>Each block must be within an <code>IPv4</code> RFC-1918 network range. Minimum
1830
- * allowed size is /24, maximum allowed size is /8. Publicly-routable addresses
1830
+ * allowed size is /32, maximum allowed size is /8. Publicly-routable addresses
1831
1831
  * aren't supported.</p>
1832
1832
  * </li>
1833
1833
  * <li>
@@ -1855,7 +1855,7 @@ export interface RemoteNetworkConfigRequest {
1855
1855
  * <ul>
1856
1856
  * <li>
1857
1857
  * <p>Each block must be within an <code>IPv4</code> RFC-1918 network range. Minimum
1858
- * allowed size is /24, maximum allowed size is /8. Publicly-routable addresses
1858
+ * allowed size is /32, maximum allowed size is /8. Publicly-routable addresses
1859
1859
  * aren't supported.</p>
1860
1860
  * </li>
1861
1861
  * <li>
@@ -1896,7 +1896,7 @@ export interface RemoteNetworkConfigRequest {
1896
1896
  * <ul>
1897
1897
  * <li>
1898
1898
  * <p>Each block must be within an <code>IPv4</code> RFC-1918 network range. Minimum
1899
- * allowed size is /24, maximum allowed size is /8. Publicly-routable addresses
1899
+ * allowed size is /32, maximum allowed size is /8. Publicly-routable addresses
1900
1900
  * aren't supported.</p>
1901
1901
  * </li>
1902
1902
  * <li>
@@ -1936,9 +1936,10 @@ export interface VpcConfigRequest {
1936
1936
  * <p>Set this value to <code>false</code> to disable public access to your cluster's Kubernetes
1937
1937
  * API server endpoint. If you disable public access, your cluster's Kubernetes API server can
1938
1938
  * only receive requests from within the cluster VPC. The default value for this parameter
1939
- * is <code>true</code>, which enables public access for your Kubernetes API server. For more
1940
- * information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Amazon EKS cluster endpoint access control</a> in the
1941
- * <i>
1939
+ * is <code>true</code>, which enables public access for your Kubernetes API server. The
1940
+ * endpoint domain name and IP address family depends on the value of the
1941
+ * <code>ipFamily</code> for the cluster. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Cluster API
1942
+ * server endpoint</a> in the <i>
1942
1943
  * <i>Amazon EKS User Guide</i>
1943
1944
  * </i>.</p>
1944
1945
  * @public
@@ -1951,8 +1952,8 @@ export interface VpcConfigRequest {
1951
1952
  * <code>false</code>, which disables private access for your Kubernetes API server. If you
1952
1953
  * disable private access and you have nodes or Fargate pods in the cluster, then
1953
1954
  * ensure that <code>publicAccessCidrs</code> includes the necessary CIDR blocks for
1954
- * communication with the nodes or Fargate pods. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Amazon EKS cluster
1955
- * endpoint access control</a> in the <i>
1955
+ * communication with the nodes or Fargate pods. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Cluster
1956
+ * API server endpoint</a> in the <i>
1956
1957
  * <i>Amazon EKS User Guide</i>
1957
1958
  * </i>.</p>
1958
1959
  * @public
@@ -1961,12 +1962,17 @@ export interface VpcConfigRequest {
1961
1962
  /**
1962
1963
  * <p>The CIDR blocks that are allowed access to your cluster's public Kubernetes API server
1963
1964
  * endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that
1964
- * you specify is denied. The default value is <code>0.0.0.0/0</code>. If you've disabled
1965
- * private endpoint access, make sure that you specify the necessary CIDR blocks for every
1966
- * node and Fargate <code>Pod</code> in the cluster. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Amazon EKS cluster
1967
- * endpoint access control</a> in the <i>
1965
+ * you specify is denied. The default value is <code>0.0.0.0/0</code> and additionally
1966
+ * <code>::/0</code> for dual-stack `IPv6` clusters. If you've disabled private
1967
+ * endpoint access, make sure that you specify the necessary CIDR blocks for every node and
1968
+ * Fargate <code>Pod</code> in the cluster. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Cluster
1969
+ * API server endpoint</a> in the <i>
1968
1970
  * <i>Amazon EKS User Guide</i>
1969
1971
  * </i>.</p>
1972
+ * <p>Note that the public endpoints are dual-stack for only <code>IPv6</code> clusters that
1973
+ * are made after October 2024. You can't add <code>IPv6</code> CIDR blocks to
1974
+ * <code>IPv4</code> clusters or <code>IPv6</code> clusters that were made before
1975
+ * October 2024.</p>
1970
1976
  * @public
1971
1977
  */
1972
1978
  publicAccessCidrs?: string[] | undefined;
@@ -2140,7 +2146,8 @@ export interface CreateClusterRequest {
2140
2146
  /**
2141
2147
  * <p>If you set this value to <code>False</code> when creating a cluster, the default
2142
2148
  * networking add-ons will not be installed.</p>
2143
- * <p>The default networking addons include vpc-cni, coredns, and kube-proxy.</p>
2149
+ * <p>The default networking add-ons include <code>vpc-cni</code>, <code>coredns</code>, and
2150
+ * <code>kube-proxy</code>.</p>
2144
2151
  * <p>Use this option when you plan to install third-party alternative add-ons or
2145
2152
  * self-manage the default networking add-ons.</p>
2146
2153
  * @public
@@ -2489,9 +2496,8 @@ export interface VpcConfigResponse {
2489
2496
  * internet. If this value is disabled and you have nodes or Fargate pods in the
2490
2497
  * cluster, then ensure that <code>publicAccessCidrs</code> includes the necessary CIDR
2491
2498
  * blocks for communication with the nodes or Fargate pods. For more information, see
2492
- * <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Amazon EKS
2493
- * cluster endpoint access control</a> in the
2494
- * <i>
2499
+ * <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Cluster
2500
+ * API server endpoint</a> in the <i>
2495
2501
  * <i>Amazon EKS User Guide</i>
2496
2502
  * </i>.</p>
2497
2503
  * @public
@@ -2499,7 +2505,18 @@ export interface VpcConfigResponse {
2499
2505
  endpointPrivateAccess?: boolean | undefined;
2500
2506
  /**
2501
2507
  * <p>The CIDR blocks that are allowed access to your cluster's public Kubernetes API server
2502
- * endpoint.</p>
2508
+ * endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that
2509
+ * you specify is denied. The default value is <code>0.0.0.0/0</code> and additionally
2510
+ * <code>::/0</code> for dual-stack `IPv6` clusters. If you've disabled private
2511
+ * endpoint access, make sure that you specify the necessary CIDR blocks for every node and
2512
+ * Fargate <code>Pod</code> in the cluster. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Cluster
2513
+ * API server endpoint</a> in the <i>
2514
+ * <i>Amazon EKS User Guide</i>
2515
+ * </i>.</p>
2516
+ * <p>Note that the public endpoints are dual-stack for only <code>IPv6</code> clusters that
2517
+ * are made after October 2024. You can't add <code>IPv6</code> CIDR blocks to
2518
+ * <code>IPv4</code> clusters or <code>IPv6</code> clusters that were made before
2519
+ * October 2024.</p>
2503
2520
  * @public
2504
2521
  */
2505
2522
  publicAccessCidrs?: string[] | undefined;
@@ -3960,13 +3977,13 @@ export interface CreateNodegroupResponse {
3960
3977
  */
3961
3978
  export interface CreatePodIdentityAssociationRequest {
3962
3979
  /**
3963
- * <p>The name of the cluster to create the association in.</p>
3980
+ * <p>The name of the cluster to create the EKS Pod Identity association in.</p>
3964
3981
  * @public
3965
3982
  */
3966
3983
  clusterName: string | undefined;
3967
3984
  /**
3968
- * <p>The name of the Kubernetes namespace inside the cluster to create the association in. The
3969
- * service account and the pods that use the service account must be in this
3985
+ * <p>The name of the Kubernetes namespace inside the cluster to create the EKS Pod Identity association in. The
3986
+ * service account and the Pods that use the service account must be in this
3970
3987
  * namespace.</p>
3971
3988
  * @public
3972
3989
  */
@@ -3980,7 +3997,7 @@ export interface CreatePodIdentityAssociationRequest {
3980
3997
  /**
3981
3998
  * <p>The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity
3982
3999
  * agent manages credentials to assume this role for applications in the containers in the
3983
- * pods that use this service account.</p>
4000
+ * Pods that use this service account.</p>
3984
4001
  * @public
3985
4002
  */
3986
4003
  roleArn: string | undefined;
@@ -4028,6 +4045,40 @@ export interface CreatePodIdentityAssociationRequest {
4028
4045
  * @public
4029
4046
  */
4030
4047
  tags?: Record<string, string> | undefined;
4048
+ /**
4049
+ * <p>Disable the automatic sessions tags that are appended by EKS Pod Identity.</p>
4050
+ * <p>EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You
4051
+ * can use these tags to author a single role that can work across resources by allowing
4052
+ * access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches
4053
+ * six tags, including tags for cluster name, namespace, and service account name. For the
4054
+ * list of tags added by EKS Pod Identity, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/pod-id-abac.html#pod-id-abac-tags">List of session tags
4055
+ * added by EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
4056
+ * <p>Amazon Web Services compresses inline session policies, managed policy ARNs, and session tags into a
4057
+ * packed binary format that has a separate limit. If you receive a
4058
+ * <code>PackedPolicyTooLarge</code> error indicating the packed binary format has
4059
+ * exceeded the size limit, you can attempt to reduce the size by disabling the session
4060
+ * tags added by EKS Pod Identity.</p>
4061
+ * @public
4062
+ */
4063
+ disableSessionTags?: boolean | undefined;
4064
+ /**
4065
+ * <p>The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This role
4066
+ * is assumed by using the EKS Pod Identity association role, then the credentials for this
4067
+ * role are injected into the Pod.</p>
4068
+ * <p>When you run applications on Amazon EKS, your application might need to access Amazon Web Services
4069
+ * resources from a different role that exists in the same or different Amazon Web Services account. For
4070
+ * example, your application running in “Account A” might need to access resources, such as
4071
+ * Amazon S3 buckets in “Account B” or within “Account A” itself. You can create a association
4072
+ * to access Amazon Web Services resources in “Account B” by creating two IAM roles: a role in “Account
4073
+ * A” and a role in “Account B” (which can be the same or different account), each with the
4074
+ * necessary trust and permission policies. After you provide these roles in the
4075
+ * <i>IAM role</i> and <i>Target IAM role</i> fields, EKS
4076
+ * will perform role chaining to ensure your application gets the required permissions.
4077
+ * This means Role A will assume Role B, allowing your Pods to securely access resources
4078
+ * like S3 buckets in the target account.</p>
4079
+ * @public
4080
+ */
4081
+ targetRoleArn?: string | undefined;
4031
4082
  }
4032
4083
  /**
4033
4084
  * <p>Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.</p>
@@ -4041,7 +4092,7 @@ export interface PodIdentityAssociation {
4041
4092
  clusterName?: string | undefined;
4042
4093
  /**
4043
4094
  * <p>The name of the Kubernetes namespace inside the cluster to create the association in. The
4044
- * service account and the pods that use the service account must be in this
4095
+ * service account and the Pods that use the service account must be in this
4045
4096
  * namespace.</p>
4046
4097
  * @public
4047
4098
  */
@@ -4055,7 +4106,7 @@ export interface PodIdentityAssociation {
4055
4106
  /**
4056
4107
  * <p>The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity
4057
4108
  * agent manages credentials to assume this role for applications in the containers in the
4058
- * pods that use this service account.</p>
4109
+ * Pods that use this service account.</p>
4059
4110
  * @public
4060
4111
  */
4061
4112
  roleArn?: string | undefined;
@@ -4113,15 +4164,47 @@ export interface PodIdentityAssociation {
4113
4164
  */
4114
4165
  createdAt?: Date | undefined;
4115
4166
  /**
4116
- * <p>The most recent timestamp that the association was modified at</p>
4167
+ * <p>The most recent timestamp that the association was modified at.</p>
4117
4168
  * @public
4118
4169
  */
4119
4170
  modifiedAt?: Date | undefined;
4120
4171
  /**
4121
- * <p>If defined, the Pod Identity Association is owned by an Amazon EKS Addon.</p>
4172
+ * <p>If defined, the EKS Pod Identity association is owned by an Amazon EKS add-on.</p>
4122
4173
  * @public
4123
4174
  */
4124
4175
  ownerArn?: string | undefined;
4176
+ /**
4177
+ * <p>The state of the automatic sessions tags. The value of <i>true</i>
4178
+ * disables these tags.</p>
4179
+ * <p>EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You
4180
+ * can use these tags to author a single role that can work across resources by allowing
4181
+ * access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches
4182
+ * six tags, including tags for cluster name, namespace, and service account name. For the
4183
+ * list of tags added by EKS Pod Identity, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/pod-id-abac.html#pod-id-abac-tags">List of session tags
4184
+ * added by EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
4185
+ * @public
4186
+ */
4187
+ disableSessionTags?: boolean | undefined;
4188
+ /**
4189
+ * <p>The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This
4190
+ * role is assumed by using the EKS Pod Identity association role, then the credentials for this
4191
+ * role are injected into the Pod.</p>
4192
+ * @public
4193
+ */
4194
+ targetRoleArn?: string | undefined;
4195
+ /**
4196
+ * <p>The unique identifier for this EKS Pod Identity association for a target IAM role. You put this value
4197
+ * in the trust policy of the target role, in a <code>Condition</code> to match the
4198
+ * <code>sts.ExternalId</code>. This ensures that the target role can only be assumed
4199
+ * by this association. This prevents the <i>confused deputy problem</i>. For
4200
+ * more information about the confused deputy problem, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html">The confused deputy
4201
+ * problem</a> in the <i>IAM User Guide</i>.</p>
4202
+ * <p>If you want to use the same target role with multiple associations or
4203
+ * other roles, use independent statements in the trust policy to allow
4204
+ * <code>sts:AssumeRole</code> access from each role.</p>
4205
+ * @public
4206
+ */
4207
+ externalId?: string | undefined;
4125
4208
  }
4126
4209
  /**
4127
4210
  * @public
@@ -4419,8 +4502,8 @@ export interface DescribeAddonConfigurationResponse {
4419
4502
  */
4420
4503
  configurationSchema?: string | undefined;
4421
4504
  /**
4422
- * <p>The Kubernetes service account name used by the addon, and any suggested IAM policies.
4423
- * Use this information to create an IAM Role for the Addon.</p>
4505
+ * <p>The Kubernetes service account name used by the add-on, and any suggested IAM policies.
4506
+ * Use this information to create an IAM Role for the add-on.</p>
4424
4507
  * @public
4425
4508
  */
4426
4509
  podIdentityConfiguration?: AddonPodIdentityConfiguration[] | undefined;
@@ -5978,7 +6061,7 @@ export interface PodIdentityAssociationSummary {
5978
6061
  clusterName?: string | undefined;
5979
6062
  /**
5980
6063
  * <p>The name of the Kubernetes namespace inside the cluster to create the association in. The
5981
- * service account and the pods that use the service account must be in this
6064
+ * service account and the Pods that use the service account must be in this
5982
6065
  * namespace.</p>
5983
6066
  * @public
5984
6067
  */
@@ -6000,7 +6083,7 @@ export interface PodIdentityAssociationSummary {
6000
6083
  */
6001
6084
  associationId?: string | undefined;
6002
6085
  /**
6003
- * <p>If defined, the Pod Identity Association is owned by an Amazon EKS Addon.</p>
6086
+ * <p>If defined, the association is owned by an Amazon EKS add-on.</p>
6004
6087
  * @public
6005
6088
  */
6006
6089
  ownerArn?: string | undefined;
@@ -6426,12 +6509,12 @@ export interface UpdateAddonRequest {
6426
6509
  */
6427
6510
  configurationValues?: string | undefined;
6428
6511
  /**
6429
- * <p>An array of Pod Identity Assocations to be updated. Each EKS Pod Identity association
6430
- * maps a Kubernetes service account to an IAM Role. If this value is left blank, no change.
6431
- * If an empty array is provided, existing Pod Identity Assocations owned by the Addon are
6512
+ * <p>An array of EKS Pod Identity associations to be updated. Each association
6513
+ * maps a Kubernetes service account to an IAM role. If this value is left blank, no change.
6514
+ * If an empty array is provided, existing associations owned by the add-on are
6432
6515
  * deleted.</p>
6433
6516
  * <p>For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html">Attach an IAM Role to an Amazon EKS add-on
6434
- * using Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
6517
+ * using EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
6435
6518
  * @public
6436
6519
  */
6437
6520
  podIdentityAssociations?: AddonPodIdentityAssociations[] | undefined;
@@ -6826,7 +6909,7 @@ export interface UpdatePodIdentityAssociationRequest {
6826
6909
  */
6827
6910
  associationId: string | undefined;
6828
6911
  /**
6829
- * <p>The new IAM role to change the </p>
6912
+ * <p>The new IAM role to change in the association.</p>
6830
6913
  * @public
6831
6914
  */
6832
6915
  roleArn?: string | undefined;
@@ -6836,13 +6919,45 @@ export interface UpdatePodIdentityAssociationRequest {
6836
6919
  * @public
6837
6920
  */
6838
6921
  clientRequestToken?: string | undefined;
6922
+ /**
6923
+ * <p>Disable the automatic sessions tags that are appended by EKS Pod Identity.</p>
6924
+ * <p>EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You
6925
+ * can use these tags to author a single role that can work across resources by allowing
6926
+ * access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches
6927
+ * six tags, including tags for cluster name, namespace, and service account name. For the
6928
+ * list of tags added by EKS Pod Identity, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/pod-id-abac.html#pod-id-abac-tags">List of session tags
6929
+ * added by EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p>
6930
+ * <p>Amazon Web Services compresses inline session policies, managed policy ARNs, and session tags into a
6931
+ * packed binary format that has a separate limit. If you receive a <code>PackedPolicyTooLarge</code> error
6932
+ * indicating the packed binary format has exceeded the size limit, you can attempt to reduce
6933
+ * the size by disabling the session tags added by EKS Pod Identity.</p>
6934
+ * @public
6935
+ */
6936
+ disableSessionTags?: boolean | undefined;
6937
+ /**
6938
+ * <p>The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This
6939
+ * role is assumed by using the EKS Pod Identity association role, then the credentials for this
6940
+ * role are injected into the Pod.</p>
6941
+ * <p>When you run applications on Amazon EKS, your application might need to access Amazon Web Services
6942
+ * resources from a different role that exists in the same or different Amazon Web Services account. For
6943
+ * example, your application running in “Account A” might need to access resources, such as
6944
+ * buckets in “Account B” or within “Account A” itself. You can create a association to
6945
+ * access Amazon Web Services resources in “Account B” by creating two IAM roles: a role in “Account A”
6946
+ * and a role in “Account B” (which can be the same or different account), each with the
6947
+ * necessary trust and permission policies. After you provide these roles in the <i>IAM role</i>
6948
+ * and <i>Target IAM role</i> fields, EKS will perform role chaining to ensure your application
6949
+ * gets the required permissions. This means Role A will assume Role B, allowing your Pods
6950
+ * to securely access resources like S3 buckets in the target account.</p>
6951
+ * @public
6952
+ */
6953
+ targetRoleArn?: string | undefined;
6839
6954
  }
6840
6955
  /**
6841
6956
  * @public
6842
6957
  */
6843
6958
  export interface UpdatePodIdentityAssociationResponse {
6844
6959
  /**
6845
- * <p>The full description of the EKS Pod Identity association that was updated.</p>
6960
+ * <p>The full description of the association that was updated.</p>
6846
6961
  * @public
6847
6962
  */
6848
6963
  association?: PodIdentityAssociation | undefined;
@@ -931,6 +931,8 @@ export interface CreatePodIdentityAssociationRequest {
931
931
  roleArn: string | undefined;
932
932
  clientRequestToken?: string | undefined;
933
933
  tags?: Record<string, string> | undefined;
934
+ disableSessionTags?: boolean | undefined;
935
+ targetRoleArn?: string | undefined;
934
936
  }
935
937
  export interface PodIdentityAssociation {
936
938
  clusterName?: string | undefined;
@@ -943,6 +945,9 @@ export interface PodIdentityAssociation {
943
945
  createdAt?: Date | undefined;
944
946
  modifiedAt?: Date | undefined;
945
947
  ownerArn?: string | undefined;
948
+ disableSessionTags?: boolean | undefined;
949
+ targetRoleArn?: string | undefined;
950
+ externalId?: string | undefined;
946
951
  }
947
952
  export interface CreatePodIdentityAssociationResponse {
948
953
  association?: PodIdentityAssociation | undefined;
@@ -1542,6 +1547,8 @@ export interface UpdatePodIdentityAssociationRequest {
1542
1547
  associationId: string | undefined;
1543
1548
  roleArn?: string | undefined;
1544
1549
  clientRequestToken?: string | undefined;
1550
+ disableSessionTags?: boolean | undefined;
1551
+ targetRoleArn?: string | undefined;
1545
1552
  }
1546
1553
  export interface UpdatePodIdentityAssociationResponse {
1547
1554
  association?: PodIdentityAssociation | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-eks",
3
3
  "description": "AWS SDK for JavaScript Eks Client for Node.js, Browser and React Native",
4
- "version": "3.825.0",
4
+ "version": "3.828.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-eks",
@@ -20,38 +20,38 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.825.0",
24
- "@aws-sdk/credential-provider-node": "3.825.0",
23
+ "@aws-sdk/core": "3.826.0",
24
+ "@aws-sdk/credential-provider-node": "3.828.0",
25
25
  "@aws-sdk/middleware-host-header": "3.821.0",
26
26
  "@aws-sdk/middleware-logger": "3.821.0",
27
27
  "@aws-sdk/middleware-recursion-detection": "3.821.0",
28
- "@aws-sdk/middleware-user-agent": "3.825.0",
28
+ "@aws-sdk/middleware-user-agent": "3.828.0",
29
29
  "@aws-sdk/region-config-resolver": "3.821.0",
30
30
  "@aws-sdk/types": "3.821.0",
31
- "@aws-sdk/util-endpoints": "3.821.0",
31
+ "@aws-sdk/util-endpoints": "3.828.0",
32
32
  "@aws-sdk/util-user-agent-browser": "3.821.0",
33
- "@aws-sdk/util-user-agent-node": "3.825.0",
33
+ "@aws-sdk/util-user-agent-node": "3.828.0",
34
34
  "@smithy/config-resolver": "^4.1.4",
35
- "@smithy/core": "^3.5.2",
35
+ "@smithy/core": "^3.5.3",
36
36
  "@smithy/fetch-http-handler": "^5.0.4",
37
37
  "@smithy/hash-node": "^4.0.4",
38
38
  "@smithy/invalid-dependency": "^4.0.4",
39
39
  "@smithy/middleware-content-length": "^4.0.4",
40
- "@smithy/middleware-endpoint": "^4.1.10",
41
- "@smithy/middleware-retry": "^4.1.11",
40
+ "@smithy/middleware-endpoint": "^4.1.11",
41
+ "@smithy/middleware-retry": "^4.1.12",
42
42
  "@smithy/middleware-serde": "^4.0.8",
43
43
  "@smithy/middleware-stack": "^4.0.4",
44
44
  "@smithy/node-config-provider": "^4.1.3",
45
45
  "@smithy/node-http-handler": "^4.0.6",
46
46
  "@smithy/protocol-http": "^5.1.2",
47
- "@smithy/smithy-client": "^4.4.2",
47
+ "@smithy/smithy-client": "^4.4.3",
48
48
  "@smithy/types": "^4.3.1",
49
49
  "@smithy/url-parser": "^4.0.4",
50
50
  "@smithy/util-base64": "^4.0.0",
51
51
  "@smithy/util-body-length-browser": "^4.0.0",
52
52
  "@smithy/util-body-length-node": "^4.0.0",
53
- "@smithy/util-defaults-mode-browser": "^4.0.18",
54
- "@smithy/util-defaults-mode-node": "^4.0.18",
53
+ "@smithy/util-defaults-mode-browser": "^4.0.19",
54
+ "@smithy/util-defaults-mode-node": "^4.0.19",
55
55
  "@smithy/util-endpoints": "^3.0.6",
56
56
  "@smithy/util-middleware": "^4.0.4",
57
57
  "@smithy/util-retry": "^4.0.5",