From bee0162a825c1561809df426fc14df91d87b935b Mon Sep 17 00:00:00 2001 From: Yuki Matsuda <13781813+mazyu36@users.noreply.github.com> Date: Fri, 3 Oct 2025 12:24:11 +0900 Subject: [PATCH 1/2] feat(opensearchservice): add I8G instance type support for local storage --- packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts | 1 + .../aws-cdk-lib/aws-opensearchservice/test/domain.test.ts | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts b/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts index a466b8d4bd83f..9f8ef7c872270 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts +++ b/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts @@ -1649,6 +1649,7 @@ export class Domain extends DomainBase implements IDomain, ec2.IConnectable { ec2.InstanceClass.R6GD, ec2.InstanceClass.I4G, ec2.InstanceClass.I4I, + ec2.InstanceClass.I8G, ec2.InstanceClass.IM4GN, ec2.InstanceClass.R7GD, ]; diff --git a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts index e9e66e4503b1c..9a35732c16c2c 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts +++ b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts @@ -2004,6 +2004,7 @@ each(testedOpenSearchVersions).describe('custom error responses', (engineVersion 'im4gn.2xlarge.search', 'i4g.large.search', 'i4i.xlarge.search', + 'i8g.4xlarge.search', 'r7gd.xlarge.search', ])('error when %s instance type is specified with EBS enabled', (dataNodeInstanceType) => { expect(() => new Domain(stack, 'Domain2', { @@ -2015,7 +2016,7 @@ each(testedOpenSearchVersions).describe('custom error responses', (engineVersion volumeSize: 100, volumeType: EbsDeviceVolumeType.GENERAL_PURPOSE_SSD, }, - })).toThrow(/I3, R6GD, I4G, I4I, IM4GN and R7GD instance types do not support EBS storage volumes./); + })).toThrow(/I3, R6GD, I4G, I4I, I8G, IM4GN and R7GD instance types do not support EBS storage volumes./); }); test.each([ @@ -2056,7 +2057,7 @@ each(testedOpenSearchVersions).describe('custom error responses', (engineVersion capacity: { masterNodeInstanceType, }, - })).toThrow(/EBS volumes are required when using instance types other than R3, I3, R6GD, I4G, I4I, IM4GN or R7GD./); + })).toThrow(/EBS volumes are required when using instance types other than R3, I3, R6GD, I4G, I4I, I8G, IM4GN or R7GD./); }); test('can use compatible master instance types that does not have local storage when data node type is i3 or r6gd', () => { From 55508ac834097f5d05414d9dcf22653e45b5d875 Mon Sep 17 00:00:00 2001 From: Yuki Matsuda <13781813+mazyu36@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:19:09 +0900 Subject: [PATCH 2/2] add uni tests --- .../aws-opensearchservice/test/domain.test.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts index 9a35732c16c2c..f15bdfd368d7a 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts +++ b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts @@ -2019,6 +2019,24 @@ each(testedOpenSearchVersions).describe('custom error responses', (engineVersion })).toThrow(/I3, R6GD, I4G, I4I, I8G, IM4GN and R7GD instance types do not support EBS storage volumes./); }); + test.each([ + 'i3.2xlarge.search', + 'r6gd.large.search', + 'im4gn.2xlarge.search', + 'i4g.large.search', + 'i4i.xlarge.search', + 'i8g.4xlarge.search', + 'r7gd.xlarge.search', + ])('should not throw when %s instance type is specified without EBS enabled', (dataNodeInstanceType) => { + expect(() => new Domain(stack, 'Domain2', { + version: engineVersion, + capacity: { + dataNodeInstanceType, + }, + ebs: { enabled: false }, + })).not.toThrow(); + }); + test.each([ 'm3.2xlarge.search', 'r3.2xlarge.search',