Skip to content

Commit 43b58b2

Browse files
authored
Merge branch 'main' into fix/exclude-bah-dxb-regions
2 parents 00541df + bb49c68 commit 43b58b2

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer.test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ test('it generates expected resources', () => {
233233
ElasticsearchVersion: '7.10',
234234
DomainEndpointOptions: {
235235
EnforceHTTPS: true,
236+
TLSSecurityPolicy: 'Policy-Min-TLS-1-2-2019-07',
236237
},
237238
});
238239
Template.fromJSON(searchableStack).hasResource('AWS::Elasticsearch::Domain', {
@@ -466,6 +467,29 @@ describe('nodeToNodeEncryption transformParameter', () => {
466467
});
467468
});
468469

470+
describe('TLS security policy', () => {
471+
const schema = /* GraphQL */ `
472+
type Todo @model @searchable {
473+
content: String!
474+
}
475+
`;
476+
477+
it('synthesizes w/ TLS 1.2 security policy on the OpenSearch domain', () => {
478+
const out = testTransform({
479+
schema,
480+
transformers: [new ModelTransformer(), new SearchableModelTransformer()],
481+
});
482+
expect(out).toBeDefined();
483+
const searchableStack = out.stacks.SearchableStack;
484+
Template.fromJSON(searchableStack).hasResourceProperties('AWS::Elasticsearch::Domain', {
485+
DomainEndpointOptions: {
486+
EnforceHTTPS: true,
487+
TLSSecurityPolicy: 'Policy-Min-TLS-1-2-2019-07',
488+
},
489+
});
490+
});
491+
});
492+
469493
describe('auth', () => {
470494
const schema = /* GraphQL */ `
471495
type Todo @model @searchable {

packages/amplify-graphql-searchable-transformer/src/cdk/create-searchable-domain.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
22
import { EbsDeviceVolumeType } from 'aws-cdk-lib/aws-ec2';
3-
import { CfnDomain, Domain, ElasticsearchVersion } from 'aws-cdk-lib/aws-elasticsearch';
3+
import { CfnDomain, Domain, ElasticsearchVersion, TLSSecurityPolicy } from 'aws-cdk-lib/aws-elasticsearch';
44
import { IRole, Role, ServicePrincipal } from 'aws-cdk-lib/aws-iam';
55
import { CfnParameter, Fn, RemovalPolicy } from 'aws-cdk-lib';
66
import { Construct } from 'constructs';
@@ -24,6 +24,7 @@ export const createSearchableDomain = (
2424
const domain = new Domain(stack, OpenSearchDomainLogicalID, {
2525
version: { version: '7.10' } as ElasticsearchVersion,
2626
enforceHttps: true,
27+
tlsSecurityPolicy: TLSSecurityPolicy.TLS_1_2,
2728
ebs: {
2829
enabled: true,
2930
volumeType: EbsDeviceVolumeType.GP2,

0 commit comments

Comments
 (0)