Skip to content

Commit b0d06c3

Browse files
author
Bob Strahan
committed
Merge branch 'develop' v0.4.7
2 parents b8aa853 + 9a7a86c commit b0d06c3

File tree

3 files changed

+97
-11
lines changed

3 files changed

+97
-11
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ SPDX-License-Identifier: MIT-0
2929
- **User-Friendly Error Messages**: Created `BedrockErrorMessageHandler` to convert technical errors into clear, actionable messages for service unavailable (503), throttling (429), access denied (403), validation errors (400), timeouts (408), and quota exceeded scenarios
3030
- **Sub-Agent Error Handling**: When sub-agents (Analytics, Error Analyzer, Code Intelligence) encounter Bedrock errors, the orchestrator continues gracefully without crashing, only displaying the first error to avoid duplicates while allowing other sub-agents to complete
3131

32+
- **GovCloud Template Generation - Missing AppSync and MCP Resource Removal**
33+
- Fixed CloudFormation deployment error "Unresolved resource dependencies [DeleteDocumentResolverFunction]" when deploying GovCloud templates
34+
- **Test Studio Resources Added (36 resources)**: Added all Test Studio Lambda functions, AppSync resolvers, data sources, and supporting infrastructure to removal list (DeleteTestsResolver, TestRunnerResolver, TestResultsResolver, TestSetResolver, and all related functions, queues, and policies)
35+
- **MCP/AgentCore Gateway Resources Added (7 resources)**: Added MCP integration resources that depend on Cognito UserPool to removal list (AgentCoreAnalyticsLambdaFunction, AgentCoreGatewayManagerFunction, AgentCoreGatewayExecutionRole, AgentCoreGateway, ExternalAppClient)
36+
- **MCP Outputs Removed (8 outputs)**: Removed MCP-related outputs that reference deleted resources (MCPServerEndpoint, MCPClientId, MCPClientSecret, MCPUserPool, MCPTokenURL, MCPAuthorizationURL, DynamoDBAgentTableName, DynamoDBAgentTableConsoleURL)
37+
- **EnableMCP Default Changed**: Set `EnableMCP` parameter default to 'false' for GovCloud since MCP integration requires Cognito authentication infrastructure
38+
- **Impact**: GovCloud templates now deploy successfully without dependency errors, maintaining core document processing functionality in headless mode
39+
40+
3241
### Templates
3342
- us-west-2: `https://s3.us-west-2.amazonaws.com/aws-ml-blog-us-west-2/artifacts/genai-idp/idp-main_0.4.7.yaml`
3443
- us-east-1: `https://s3.us-east-1.amazonaws.com/aws-ml-blog-us-east-1/artifacts/genai-idp/idp-main_0.4.7.yaml`

docs/govcloud-deployment.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,24 @@ aws cloudformation deploy \
7676

7777
The following services are automatically removed from the GovCloud template:
7878

79-
### Web UI Components (22 resources removed)
79+
### Web UI Components (11 resources removed)
8080

8181
- CloudFront distribution and origin access identity
8282
- WebUI S3 bucket and build pipeline
8383
- CodeBuild project for UI deployment
8484
- Security headers policy
8585

86-
### API Layer (20+ resources removed)
86+
### API Layer (136 resources removed)
8787

8888
- AppSync GraphQL API and schema
89-
- All GraphQL resolvers and data sources
90-
- 10+ Lambda resolver functions
89+
- All GraphQL resolvers and data sources (50+ resolvers)
90+
- Lambda resolver functions (20+ functions)
91+
- **Test Studio Resources (36 resources)**: All test management Lambda functions, AppSync resolvers, data sources, SQS queues, and supporting infrastructure added in v0.4.6
9192
- API authentication and authorization
93+
- Chat infrastructure (ChatMessagesTable, ChatSessionsTable)
94+
- Agent chat processors and resolvers
9295

93-
### Authentication (8 resources removed)
96+
### Authentication (14 resources removed)
9497

9598
- Cognito User Pool and Identity Pool
9699
- User pool client and domain
@@ -103,18 +106,23 @@ The following services are automatically removed from the GovCloud template:
103106
- IP set updater functions
104107
- CloudFront protection rules
105108

106-
### Analytics Features (8 resources removed)
109+
### Agent & Analytics Features (14 resources removed)
107110

108-
- Analytics processing functions
111+
- AgentTable and agent job tracking
112+
- Agent request handler and processor functions
113+
- **MCP/AgentCore Gateway Resources (7 resources)**: MCP integration components that depend on Cognito authentication (AgentCoreAnalyticsLambdaFunction, AgentCoreGatewayManagerFunction, AgentCoreGatewayExecutionRole, AgentCoreGateway, ExternalAppClient, and log groups)
114+
- External MCP agent credentials secret
109115
- Knowledge base query functions
110116
- Chat with document features
111117
- Text-to-SQL query capabilities
112118

113-
### HITL Support
119+
### HITL Support (11 resources removed)
114120

115121
- SageMaker A2I Human-in-the-Loop
116122
- Private workforce configuration
117123
- Human review workflows
124+
- A2I flow definition and human task UI
125+
- Cognito client for A2I integration
118126

119127
## Core Services Retained
120128

scripts/generate_govcloud_template.py

Lines changed: 72 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,54 @@ def __init__(self, verbose: bool = False):
148148
'AgentChatProcessorFunction',
149149
'AgentChatProcessorLogGroup',
150150
'AgentChatResolverFunction',
151-
'AgentChatResolverLogGroup'
151+
'AgentChatResolverLogGroup',
152+
# Test Studio Resources (added for GovCloud compatibility)
153+
'DeleteTestsResolverFunction',
154+
'DeleteTestsResolverFunctionLogGroup',
155+
'DeleteTestsDataSource',
156+
'DeleteTestsResolver',
157+
'TestRunnerFunction',
158+
'TestRunnerFunctionLogGroup',
159+
'TestRunnerDataSource',
160+
'TestRunnerResolver',
161+
'TestResultsResolverFunction',
162+
'TestResultsResolverFunctionLogGroup',
163+
'TestResultsDataSource',
164+
'GetTestRunsResolver',
165+
'CompareTestRunsResolver',
166+
'GetTestRunResolver',
167+
'GetTestRunStatusResolver',
168+
'TestSetResolverFunction',
169+
'TestSetResolverFunctionLogGroup',
170+
'TestSetDataSource',
171+
'AddTestSetResolver',
172+
'AddTestSetFromUploadResolver',
173+
'DeleteTestSetsResolver',
174+
'GetTestSetsResolver',
175+
'ListBucketFilesResolver',
176+
'ValidateTestFileNameResolver',
177+
'TestResultCacheUpdateQueue',
178+
'TestFileCopierFunction',
179+
'TestFileCopierFunctionLogGroup',
180+
'TestFileCopierFunctionDLQ',
181+
'TestFileCopyQueue',
182+
'TestFileCopyQueueDLQ',
183+
'TestFileCopyQueuePolicy',
184+
'TestFileCopyQueueDLQPolicy',
185+
'TestSetFileCopierFunction',
186+
'TestSetFileCopierFunctionLogGroup',
187+
'TestSetFileCopierFunctionDLQ',
188+
'TestSetFileCopyQueue',
189+
'TestSetFileCopyQueueDLQ',
190+
'TestSetFileCopyQueuePolicy',
191+
'TestSetFileCopyQueueDLQPolicy',
192+
'TestSetZipExtractorFunction',
193+
'TestSetZipExtractorFunctionLogGroup',
194+
'TestSetZipExtractorFunctionInvokePermission',
195+
'TestSetZipExtractorS3Policy',
196+
'TestSetBucketNotificationFunction',
197+
'TestSetBucketNotificationConfiguration',
198+
'TestSetResolverS3Policy'
152199
}
153200

154201
self.auth_resources = {
@@ -185,7 +232,15 @@ def __init__(self, verbose: bool = False):
185232
'AgentProcessorLogGroup',
186233
'ExternalMCPAgentsSecret',
187234
'ListAvailableAgentsFunction',
188-
'ListAvailableAgentsLogGroup'
235+
'ListAvailableAgentsLogGroup',
236+
# MCP/AgentCore Gateway Resources (depend on Cognito UserPool)
237+
'AgentCoreAnalyticsLambdaFunction',
238+
'AgentCoreAnalyticsLambdaLogGroup',
239+
'AgentCoreGatewayManagerFunction',
240+
'AgentCoreGatewayManagerLogGroup',
241+
'AgentCoreGatewayExecutionRole',
242+
'AgentCoreGateway',
243+
'ExternalAppClient'
189244
}
190245

191246
self.hitl_resources = {
@@ -233,7 +288,16 @@ def __init__(self, verbose: bool = False):
233288
'SageMakerA2IReviewPortalURL',
234289
'LabelingConsoleURL',
235290
'ExternalMCPAgentsSecretName',
236-
'PrivateWorkteamArn'
291+
'PrivateWorkteamArn',
292+
# MCP/AgentCore Gateway Outputs (depend on Cognito UserPool)
293+
'MCPServerEndpoint',
294+
'MCPClientId',
295+
'MCPClientSecret',
296+
'MCPUserPool',
297+
'MCPTokenURL',
298+
'MCPAuthorizationURL',
299+
'DynamoDBAgentTableName',
300+
'DynamoDBAgentTableConsoleURL'
237301
}
238302

239303
def setup_logging(self):
@@ -440,6 +504,11 @@ def remove_parameters(self, template: Dict[str, Any]) -> Dict[str, Any]:
440504
}
441505
self.logger.info("Modified IDPPattern parameter to only support Pattern-2")
442506

507+
# Set EnableMCP default to false for GovCloud (MCP integration depends on Cognito/AgentCore)
508+
if 'EnableMCP' in parameters:
509+
parameters['EnableMCP']['Default'] = 'false'
510+
self.logger.info("Modified EnableMCP parameter default to 'false' for GovCloud")
511+
443512
self.logger.info(f"Removed {len(removed_parameters)} UI-related parameters")
444513
self.logger.debug(f"Removed parameters: {', '.join(removed_parameters)}")
445514

0 commit comments

Comments
 (0)