diff --git a/packages/@aws-cdk/aws-elasticsearch/lib/domain.ts b/packages/@aws-cdk/aws-elasticsearch/lib/domain.ts index a712e6091fbf4..e8808958929fc 100644 --- a/packages/@aws-cdk/aws-elasticsearch/lib/domain.ts +++ b/packages/@aws-cdk/aws-elasticsearch/lib/domain.ts @@ -1218,7 +1218,7 @@ export class Domain extends DomainBase implements IDomain, ec2.IConnectable { return new class extends DomainBase { public readonly domainArn = domainArn; public readonly domainName = domainName; - public readonly domainEndpoint = domainEndpoint; + public readonly domainEndpoint = domainEndpoint.replace(/^https?:\/\//, ''); constructor() { super(scope, id); } }; diff --git a/packages/@aws-cdk/aws-elasticsearch/test/domain.test.ts b/packages/@aws-cdk/aws-elasticsearch/test/domain.test.ts index 4b1a935800d42..5fc9035dc92f7 100644 --- a/packages/@aws-cdk/aws-elasticsearch/test/domain.test.ts +++ b/packages/@aws-cdk/aws-elasticsearch/test/domain.test.ts @@ -928,11 +928,13 @@ describe('import', () => { test('static fromDomainEndpoint(endpoint) allows importing an external/existing domain', () => { const domainName = 'test-domain-2w2x2u3tifly'; - const domainEndpoint = `https://${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpointWithoutHttps = `${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpoint = `https://${domainEndpointWithoutHttps}`; const imported = Domain.fromDomainEndpoint(stack, 'Domain', domainEndpoint); expect(imported.domainName).toEqual(domainName); expect(imported.domainArn).toMatch(RegExp(`es:testregion:1234:domain/${domainName}$`)); + expect(imported.domainEndpoint).toEqual(domainEndpointWithoutHttps); expect(stack).not.toHaveResource('AWS::Elasticsearch::Domain'); }); @@ -940,7 +942,8 @@ describe('import', () => { test('static fromDomainAttributes(attributes) allows importing an external/existing domain', () => { const domainName = 'test-domain-2w2x2u3tifly'; const domainArn = `arn:aws:es:testregion:1234:domain/${domainName}`; - const domainEndpoint = `https://${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpointWithoutHttps = `${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpoint = `https://${domainEndpointWithoutHttps}`; const imported = Domain.fromDomainAttributes(stack, 'Domain', { domainArn, domainEndpoint, @@ -948,6 +951,7 @@ describe('import', () => { expect(imported.domainName).toEqual(domainName); expect(imported.domainArn).toEqual(domainArn); + expect(imported.domainEndpoint).toEqual(domainEndpointWithoutHttps); expect(stack).not.toHaveResource('AWS::Elasticsearch::Domain'); }); diff --git a/packages/@aws-cdk/aws-opensearchservice/lib/domain.ts b/packages/@aws-cdk/aws-opensearchservice/lib/domain.ts index 8ac9ace6ba0de..aadf9e011b827 100644 --- a/packages/@aws-cdk/aws-opensearchservice/lib/domain.ts +++ b/packages/@aws-cdk/aws-opensearchservice/lib/domain.ts @@ -1148,7 +1148,7 @@ export class Domain extends DomainBase implements IDomain, ec2.IConnectable { public readonly domainArn = domainArn; public readonly domainName = domainName; public readonly domainId = domainName; - public readonly domainEndpoint = domainEndpoint; + public readonly domainEndpoint = domainEndpoint.replace(/^https?:\/\//, ''); constructor() { super(scope, id); } }; diff --git a/packages/@aws-cdk/aws-opensearchservice/test/domain.test.ts b/packages/@aws-cdk/aws-opensearchservice/test/domain.test.ts index f714fade3f4e5..2389c30ab7c29 100644 --- a/packages/@aws-cdk/aws-opensearchservice/test/domain.test.ts +++ b/packages/@aws-cdk/aws-opensearchservice/test/domain.test.ts @@ -930,11 +930,13 @@ describe('import', () => { test('static fromDomainEndpoint(endpoint) allows importing an external/existing domain', () => { const domainName = 'test-domain-2w2x2u3tifly'; - const domainEndpoint = `https://${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpointWithoutHttps = `${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpoint = `https://${domainEndpointWithoutHttps}`; const imported = Domain.fromDomainEndpoint(stack, 'Domain', domainEndpoint); expect(imported.domainName).toEqual(domainName); expect(imported.domainArn).toMatch(RegExp(`es:testregion:1234:domain/${domainName}$`)); + expect(imported.domainEndpoint).toEqual(domainEndpointWithoutHttps); expect(stack).not.toHaveResource('AWS::OpenSearchService::Domain'); }); @@ -942,7 +944,8 @@ describe('import', () => { test('static fromDomainAttributes(attributes) allows importing an external/existing domain', () => { const domainName = 'test-domain-2w2x2u3tifly'; const domainArn = `arn:aws:es:testregion:1234:domain/${domainName}`; - const domainEndpoint = `https://${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpointWithoutHttps = `${domainName}-jcjotrt6f7otem4sqcwbch3c4u.testregion.es.amazonaws.com`; + const domainEndpoint = `https://${domainEndpointWithoutHttps}`; const imported = Domain.fromDomainAttributes(stack, 'Domain', { domainArn, domainEndpoint, @@ -950,6 +953,7 @@ describe('import', () => { expect(imported.domainName).toEqual(domainName); expect(imported.domainArn).toEqual(domainArn); + expect(imported.domainEndpoint).toEqual(domainEndpointWithoutHttps); expect(stack).not.toHaveResource('AWS::OpenSearchService::Domain'); });