Skip to content

Commit 3f28e7b

Browse files
refactor: adds removal policies for resource recreation
1 parent e4dfa6b commit 3f28e7b

File tree

4 files changed

+10
-5
lines changed

4 files changed

+10
-5
lines changed

packages/cdk/resources/OpenSearchResources.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import {
44
VectorCollection,
55
VectorCollectionStandbyReplicas
66
} from "@cdklabs/generative-ai-cdk-constructs/lib/cdk-lib/opensearchserverless"
7+
import {RemovalPolicy} from "aws-cdk-lib"
78

89
export interface OpenSearchResourcesProps {
910
readonly stackName: string
1011
readonly bedrockExecutionRole: Role
1112
readonly region: string
12-
readonly commitId: string
1313
}
1414

1515
export class OpenSearchResources extends Construct {
@@ -18,17 +18,17 @@ export class OpenSearchResources extends Construct {
1818
constructor(scope: Construct, id: string, props: OpenSearchResourcesProps) {
1919
super(scope, id)
2020

21-
const commitShort = props.commitId.substring(0, 4)
22-
2321
// Create the OpenSearch Serverless collection using L2 construct
2422
this.collection = new VectorCollection(this, "Collection", {
25-
collectionName: `${props.stackName}-${commitShort}-vector-db`,
23+
collectionName: `${props.stackName}-vector-db`,
2624
description: "EPS Assist Vector Store",
2725
standbyReplicas: VectorCollectionStandbyReplicas.DISABLED
2826
})
2927

3028
// Grant access to the Bedrock execution role
3129
this.collection.grantDataAccess(props.bedrockExecutionRole)
3230

31+
this.collection.applyRemovalPolicy(RemovalPolicy.DESTROY)
32+
3333
}
3434
}

packages/cdk/resources/VectorIndex.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {Construct} from "constructs"
22
import {CfnIndex} from "aws-cdk-lib/aws-opensearchserverless"
33
import {VectorCollection} from "@cdklabs/generative-ai-cdk-constructs/lib/cdk-lib/opensearchserverless"
4+
import {RemovalPolicy} from "aws-cdk-lib"
45

56
export interface VectorIndexProps {
67
readonly indexName: string
@@ -64,5 +65,7 @@ export class VectorIndex extends Construct {
6465
})
6566

6667
this.cfnIndex = cfnIndex
68+
69+
this.cfnIndex.applyRemovalPolicy(RemovalPolicy.DESTROY)
6770
}
6871
}

packages/cdk/resources/VectorKnowledgeBaseResources.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
ManagedWordFilterType,
1111
PIIType
1212
} from "@cdklabs/generative-ai-cdk-constructs/lib/cdk-lib/bedrock"
13+
import {RemovalPolicy} from "aws-cdk-lib"
1314

1415
// Amazon Titan embedding model for vector generation
1516
const EMBEDDING_MODEL = "amazon.titan-embed-text-v2:0"
@@ -134,6 +135,8 @@ export class VectorKnowledgeBaseResources extends Construct {
134135
}
135136
})
136137

138+
knowledgeBase.applyRemovalPolicy(RemovalPolicy.DESTROY)
139+
137140
// Create S3 data source for knowledge base documents
138141
const dataSource = new CfnDataSource(this, "S3DataSource", {
139142
knowledgeBaseId: knowledgeBase.attrKnowledgeBaseId,

packages/cdk/stacks/EpsAssistMeStack.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ export class EpsAssistMeStack extends Stack {
8080
const openSearchResources = new OpenSearchResources(this, "OpenSearchResources", {
8181
stackName: props.stackName,
8282
bedrockExecutionRole: bedrockExecutionRole.role,
83-
commitId: props.commitId,
8483
region
8584
})
8685

0 commit comments

Comments
 (0)