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..f15bdfd368d7a 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,25 @@ 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([ + '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([ @@ -2056,7 +2075,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', () => {